مقدمه

فناوری هوش مصنوعی (Artificial Intelligence) که به اختصار AI گفته می‌شود، به دنبال شبیه‌سازی هوش انسانی است و این کار را با استفاده از سیستم‌های کامپیوتری مجهز به الگوریتم‌های پیشرفته‌ی یادگیری ماشین، انجام می‌دهد. این فناوری می‌تواند از پس کارهای مربوط به تشخیص گفتار (speech recognition)، پردازش زبان طبیعی (NLP) و بینایی کامپیوتر (computer vision) که قبلاً فقط توسط انسان قابل انجام بودند، برآید.
در فرایند توسعه‌ی هوش مصنوعی از مهارت‌های برنامه‌نویسی، مهارت‌های مربوط به علوم داده، مجموعه داده‌های عظیم و سخت‌افزار قدرتمند استفاده می‌شود که ماشین‌ها را قادر می‌کند وظایفِ شناختیِ (cognitive tasks) انسان را شبیه‌سازی کنند. در گدشته، راه‌حل‌های هوش مصنوعی تنها قادر به انجام کارهای خاصی بودند اما با پیشرفت‌هایی که به‌واسطه‌ی فعالیت و سرمایه‌گذاری غول‌های فناوری دنیا انجام شده و می‌شود، هوش مصنوعی به سمتی می‌رود که بتواند در هر کاری در حوزه‌ی وظایف شناختی انسان با او رقابت کند.
دو مفهوم کلیدی در فناوری هوش مصنوعی عبارتند از: یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Learning).

  • یادگیری ماشین یا ML شامل مدل‌های یادگیری برای طبقه‌بندی و پیش‌بینی دقیق بر اساس داده‌های ورودی است.
  • یادگیری عمیق یا DL زیرمحموعه‌ای از الگوریتم‌های یادگیری ماشین است که از شبکه‌های مصنوعیِ الهام‌گرفته‌شده از ساختار مغز انسان استفاده می‌کند تا به سیستم‌های کامپیوتری امکان دهد کارهای شناختی پیچیده و فاقد ساختار را انجام دهند.

دلایل اهمیت هوش مصنوعی

هوش مصنوعی به عنوان یک فناوری انقلابی به بسیاری از جنبه‌های زندگی انسانی نفوذ کرده و امروز همه از اهمیت بالای این فناوری آگاهند. این فناوری به برنامه‌های کامپیوتری امکان می‌دهد که مثل انسان فکر کنند و یاد بگیرند. به طور کلی، هوش مصنوعی می‌تواند به هر مشکل یا کاری که برای انجام آن به هوش انسانی نیاز است، مربوط باشد. مهمترین دلایل اهمیت هوش مصنوعی از این قرارند:

  • افزایش کارایی و بهره‌وری: هوش مصنوعی می‌تواند خیلی از کارهای تکراری و خسته‌کننده را خودکار کند و به انسان‌ها امکان دهد روی کارهای پیجیده‌تر و خلاقانه‌تر تمرکز کنند. به علاوه، با تحلیل حجم عظیمی از داده‌ها، به سازمان‌ها و کسب‌وکارها در اتخاذ تصمیمات بهتر کمک می‌کند. همچنین، با بهینه‌سازی فرایندهای مختلف، باعث کاهش هزینه‌ها می‌شود.
  • نوآوری و توسعه: هوش مصنوعی محرک اصلی توسعه‌ی فناوری های جدید مانند اتومبیل‌های خودران، ربات‌ها و واقعیت مجازی است و نقش ویژه‌ای در حل برخی بحران‌ها و چالش‌های جهانی مانند تغییرات آب و هوایی و بیماری‌های مزمن دارد.

در مجموع می‌توان گفت که هوش مصنوعی به عنوان یک فناوری قدرتمند، پتانسیل تغییر جهان را دارد. با افزایش توانایی‌های محاسباتی و توسعه‌ی الگوریتم‌های پیچیده‌تر، هوش مصنوعی به طور فزاینده‌ای در زندگی ما نفوذ خواهد کرد. با درک اهمیت و پتانسیل‌های این فناوری، می‌توانیم از آن برای بهبود زندگی خود و جامعه استفاده کنیم.

یادگیری ماشین و یادگیری عمیق

یادگیری ماشین یا ML زیرمجموعه‌ای از هوش مصنوعی است و یادگیری عمیق یا DL زیرمجموعه‌ای از یادگیری ماشین.

DL ⊂ ML ⊂ AI

ممکن است ML و DL شبیه به هم نظر برسند، چون هر دو به فرایند یادگیری مصنوعی کمک می‌کنند. اما در کنار این شباهت، تفاوت‌های مشخصی با هم دارند.

یادگیری ماشین چیست؟

یادگیری ماشین (ML) از تکنیک‌های بِیزی (Bayesian techniques) برای شناسایی و یادگیری الگو استفاده می‌کند. این تکنیک‌ها از داده‌ها برای یادگیری و پیش‌بینی استفاده می‌کنند. ML ماشین‌ها را قادر می‌کند که داده‌ها را طبقه‌بندی کنند و الگوها را از داده‌ها استخراج کنند.

قضیه بیز و تکنیک‌های بیزی

تکنیک‌های بیزی مجموعه‌ای از روش‌های آماریِ مبتنی بر قضیه‌ی کلاسیک بیز است که در قرن هیجدهم توسط ریاضیدان مشهور انگلیسی Thomas Bayes ارائه شد. فضیه‌ی بیز به احتمالات شرطی و نحوه‌ی محاسبه‌ی احتمال رخ دادن یک رویداد به شرط رخ دادن یک رویداد دیگر، مربوط است. این قضیه و تکنیک‌های منتج از آن، در حوزه‌های متعددی مانند داروسازی، رباتیک و یادگیری ماشین کاربرد دارند.

کد موجود در نرم افزارهای معمولی را می‌توانیم کد قطعی بنامیم، چون این کدها راه حل‌هایی قطعی و ثابت برای مسائل مشخصی ارائه می‌دهند. اما نرم‌افزارهای مبتنی بر ML از داده‌ها برای تولید کد آماری (در مقابل کد قطعی) استفاده می‌کنند و می‌توانند بدون دخالت برنامه‌نویس با موقعیت‌های جدید سازگار شوند. دقت یک مدل ML به کمیت و کیفیت داده‌ها بستگی دارد.

فریمورک‌های یادگیری ماشین

یادگیری ماشین شامل استفاده از الگوریتم‌های پیچیده است و فریمورک‌های یادگیری ماشین ابزارها، کتابخانه‌ها و اینترفیس‌هایی را ارائه می‌دهند که فرایند یادگیری ماشین را ساده‌تر می‌کنند. در اینجا از تعدادی از مهمترین و محبوب‌ترین فریمورک‌های یادگیری ماشین نام می‌بریم.

  • فریمورک TensorFlow: یک پلتفرم یادگیری ماشین متن‌باز و بسیار محبوب است. این فریمورک در سال 2007 توسط تیم Google Brain راه‌اندازی شد و به یک پلتفرم همه‌جانبه (end-to-end) تبدیل شد که از آموزش، آماده‌سازی داده‌ها، ارائه‌ی مدل و مهندسی ویژگی پشتیبانی می‌کند. مدل‌های آموزش دیده شده در TensorFlow را می‌توان روی دسکتاپ، دستگاه‌های لبه، میکروکنترلرها و مرورگرها مستقر کرد.
  • فریمورک PyTorch: یک فریمورک یادگیری عمیق است که توسط فیسبوک توسعه داده می‌شود. یکپارچگی فریمورک PyTorch با کتابخانه‌های محبوب پایتون مانند NumPy و SciPy این فریمورک را به یک گزینه‌ی محبوب برای توسعه‌هندگان پایتون تبدیل کرده است. در سال 2018 فیسبوک PyTorch را با فریمورک Caffe2 ادغام کرد.
  • فریمورک Eclipse Deeplearning4j: مجموعه‌ای از ابزارها را ارائه می‌دهد که برای اجرای یادگیری عمیق در ماشین مجازی جاوا (JVM) طراحی شده‌اند. این فریمورک به صورت تجاری توسط Skymind نگهداری می‌شود و توسط توسعه‌دهندگان یادگیری ماشین مستقر در سان‌فرانسیسکو توسعه یافته است. این فریمورک در سال 2017 به موسسه‌ی Eclipse واگذار شد.
  • فریمورک Scikit-Learn: یک فریمورک یادگیری ماشین متن‌باز است که به عنوان کتابخانه‌ی پایتون در دسترس است و در سال 2007 به عنوان پروژه‌ی تابستانی کد گوگل توسط David Cournpeau توسعه یافت. این فریمورک از الگوریتم‌های یادگیری تحت نظارت و بدون نظارت از جمله یادگیری چندگانه (manifold learning)، مدل‌های ترکیبی گاوسی (Gaussian mixture models)، خوشه‌بندی، آنالیز مولفه‌ اصلی (PCA)، تشخیص نقاط پرت (outlier detection) و خوشه‌بندی دوگانه (biclustering) پشتیبانی می‌کند. این کتابخانه روی یک جعبه‌ابزار متن‌باز به نام SciPy ساخته شده است. این جعبه‌ابزار ازMatplotlib برای مصورسازی (visualization)، از NumPy برای محاسبات ریاضی، از SymPy برای قابلیت‌های جبری و از Pandas برای دستکاری داده‌ها استفاده می‌کند. کتابخانه‌ی Scikit-Learn قابلیت‌های SciPy را از طریق مدل‌سازی و قابلیت‌های یادگیری افزایش می‌دهد.

یادگیری عمیق چیست؟

یادگیری عمیق (DL) زیرمجموعه‌ای از یادگیری ماشین (ML) است که با استفاده از مجموعه‌ای از الگوریتم‌های لایه‌ای، به ماشین‌ها کمک می‌کند که داده‌ها را بهتر درک کنند. در حقیقت، DL به ماشین‌ها امکان می‌دهد که مانند انسان‌ها بتوانند از روی مثال‌ها یاد بگیرند. این تکنولوژی DL است که امکان تولید اتومبیل‌های خودران را ممکن کرده و به آنها امکان می‌دهد که بتوانند علائم راهنمایی را درک کنند و یا انسان را از تیر چراغ برق تشخیص دهند.

الگوریتم‌های DL از مجموعه‌های بزرگی از داده‌های آموزشی برای شناسایی روابط بین عناصری مانند اَشکال، کلمات و رنگ‌ها استفاده می‌کنند. این روابط به الگوریتم‌های DL برای پیش‌بینی کمک می‌کنند. الگوریتم‌های DL می‌توانند بسیاری از روابط (از جمله روابطی که شاید توسط انسان تشخیص داده نشوند) را شناسایی کرده و داده‌های بسیار پیچیده را تفسیر یا پیش‌بینی کنند.

بینایی کامپیوتر چیست؟

computer vision

بینایی کامپیوتر (Computer Vision) سیستم‌ها و کامپیوترها را قادر به درک ورودی‌ها می‌کند. در حقیقت، بینایی کامپیوتر زیرشاخه‌ای از هوش مصنوعی است که روی فعال‌کردن دید مصنوعی در ماشین‌ها متمرکز است. این زیرشاخه شامل آموزش ماشین‌ها برای تشخیص و استخراج معنا از ورودی‌های بصری مانند تصاویر و ویدیوهای دیجیتال است. ماشین‌ها می‌توانند بر اساس این اطلاعات، اقدامی انجام دهند یا توصیه‌ای ارائه دهند.

بینایی کامپیوتر مشابه بینایی انسان عمل می‌کند. به جای استفاده از شبکیه، قشر بینایی و عصب بینایی، ماشین‌ها از دوربین‌ها، الگوریتم‌ها و داده‌ها برای پیاده‌سازی مکانیزم بینایی استفاده می‌کنند. برای مثال، بینایی کامپیوتر، ماشین‌ها را قادر می‌سازد تا بین اجسام تمایز قائل شوند، فاصله‌ی بین آنها را محاسبه کنند و حرکت یا سکون آنها را تشخیص دهند.

پردازش زبان طبیعی چیست؟

پردازش زبان طبیعی (Natural Language Processing) یا NLP کامپیوترها و سیستم‌ها را قادر می‌کند که متن و گفتار را درک کنند. NLP زیرشاخه‌ای از هوش مصنوعی است که ماشین‌ها را آموزش می‌دهد تا زبان انسان را به اَشکال مختلف از جمله متن و صوت پردازش کنند و از این ورودی، معناهایی از قبیل تمایل و احساس را استخراج کنند.

NLP شامل استفاده از زبان‌شناسی محاسباتی (مدل‌سازی مبتنی بر قوانین انسانی) در کنار یادگیری ماشین، یادگیری عمیق و مدل‌های آماری است. برنامه‌های کامپیوتری مجهز به NLP می‌توانند متون را به زبان‌های مختلف ترجمه گنند، داده‌های بزرگ را به سرعت خلاصه کنند و به دستورات گفتاری پاسخ دهند.

مدل‌هخای استقرار هوش مصنوعی

برای استقرار (deployment) الگوریتم‌های هوش مصنوعی چند راه متداول وجود دارد: استقرار از طریق پلتفرم‌های ابری، استقرار در لبه (at the Edge) و از طریق اینترنت اشیاء (IOT).

هوش مصنوعی در فضای ابری

هوش مصنوعی به خودکارسازی کارها در زیرساخت‌های IT کمک کرده و باعث افزایش بهره‌وری می‌شود. ترکیب هوش مصنوعی با پردازش ابری (Cloud Computing) یا CC شبکه‌ای انعطاف‌پذیر تولید می‌کند که می‌تواند داده‌های گسترده‌ای را در خود نگه دارد و به طور مداوم بهبود یابد. شرکت‌های پیشرو در ارائه‌ی خدمات ابری، ابزارهای هوش مصنوعی را برای مشتریان سرویس‌های ابری خود ارائه می‌دهند.
مزایای پیاده‌سازی هوش مصنوعی در فضای ابری عبارتند از:

  • کاهش هزینه‌ها: پردازش ابری، هزینه‌های نگهداری زیرساخت‌های هوش مصنوعی را حذف می‌کند و به شرکت‌ها و کسب‌و‌کارها امکان می‌دهد که به ابزارهای هوش مصنوعی بر اساس مدل پرداخت به ازای میزان استفاده، دسترسی داشته باشند.
  • کارهای خودکار: سرویس‌های ابری مبتنی بر هوش مصنوعی می‌توانند کارهای تکراری را که نسبت به کارهای خودکار سنتی به هوش و پیچیدگی بیشتری نیاز دارند، انجام دهند. این اتوماسیون، بهره‌وری را افزایش داده و در عین حال، نیروی انسانی را کاهش می‌دهد.
  • بهبود امنیت: هوش مصنوعی به ایمن کردن برنامه‌ها و داده‌ها در فضای ابری کمک می‌کند و ابزارهای قدرتمندی برای ردیابی، تجزیه و تحلیل و رسیدگی به مسائل امنیتی ارائه می‌دهد. به عنوان مثال، تجزیه و تحلیل رفتاری می‌تواند رفتار غیرعادی را تشخیص دهد و به تیم‌های امنیتی هشدار دهد.
  • بینش‌های مبتنی بر داده: هوش مصنوعی الگوهای موجود در داده‌های حجیم را شناسایی می‌کند تا بینش عمیق‌تری را در مورد فرایندهای اخیر و قبلی به کارکنان IT ارائه دهد. این امر به کارکنان امکان می‌دهد که سریع‌تر به مشکلات رسیدگی کنند.
  • قابلیت‌های مدیریت پیشرفته: هوش مصنوعی می‌تواند داده‌ها را پردازش، سازماندهی و مدیریت کند تا مدیریت زنجیره تأمین، بازاریابی و سایر داده‌های تجاری ساده‌تر شود.

هوش مصنوعی در لبه

هوش مصنوعی لبه (Edge AI) الگویی برای ایجاد جریان‌های کاری هوش مصنوعی است که هم دیتاسنترهای متمرکز و هم دستگاه‌های مستقر در نزدیکی افراد و اشیاء فیزیکی را در بر می‌گیرد. Edge AI با رویکرد رایج توسعه و اجرای کامل برنامه‌های هوش مصنوعی در فضای ابری متفاوت است و از طرف دیگر با توسعه‌ی سنتی هوش مصنوعی که در آن سازمان‌ها الگوریتم‌های هوش مصنوعی را ایجاد می‌کنند و آنها را روی سرورهای متمرکز مستقر می‌کنند نیز متفاوت است. در Edge AI، الگوریتم‌ها مستقیماً روی دستگاه‌های کاربران نهایی مستقر می‌شوند.

در مدل Edge AI هر دستگاه لبه عملکرد هوش مصنوعی مختص خود را دارد و معمولاً بخش مشخصی از داده‌ها را ذخیره می‌کند. البته دستگاه لبه می‌تواند به خدمات ابری برای عملکردهای خاص دسترسی داشته باشد اما با این حال، قادر است بیشتر عملکردها را به طور مستقل و با تأخیر بسیار کم انجام دهد.

Edge AI پتانسیل فوق‌العاده‌ای برای بهبود عملکرد دستگاه‌هایی مانند تلفن‌ها، وسایل نقلیه‌ی خودران و ربات‌ها دارد. با تزریق هوش مصنوعی به این دستگاه‌های لبه‌ای می‌توان از نوآوری‌های هوش مصنوعی برای کاهش تأخیر، کاهش هزینه‌های ذحیره‌سازی و بهبود امنیت به شکل کارامدتری استفاده کرد.

هوش مصنوعی برای اینترنت اشیاء

هوش مصنوعی برای اینترنت اشیاء (AIOT) فناوری‌های هوش مصنعی (AI) را با زیرساخت اینترنت اشیاء (IOT) ترکیب می‌کند تا عملیات اینترنت اشیاء کارامدتر شده و تعاملات بین انسان و ماشین و مدیریت داده‌ها بهبود داده شود. AI می‌تواند برای تبدیل داده‌های اینترنت اشیاء به اطلاعات کاربردی، بهبود فرایندهای تصمیم‌گیری و بسترسازی برای فناوری‌های جدید به کار رود.

AIOT به AI امکان می‌دهد که از طریق قابلیت‌های یادگیری ماشین به IOT ارزش بیشتری بدهد و در مقابل، IOT از طریق اتصال، سیگنال‌ها و تبادل داده‌ی بلادرنگ (real time) به AI ارزش می‌بخشد.

در مدل استقرار AIOT، هوش مصنوعی در اجزای زیرساخت مستقر در دستگاه‌های IOT که به شبکه اینترنت اشیاء متصل هستند، تعبیه شده و سپس، از APIها برای گسترش قابلیت همکاری بین اجزا در سطوح دستگاه، نرم‌افزار و پلتفرم استفاده می‌شود.