یادگیری ماشین و یادگیری عمیق
در سالهای اخیر نفوذ فناوری به زندگی روزمرۀ ما روزبهروز و لحظهبهلحظه افزایش یافته است. شرکتها و سازمانها نیز برای اینکه بتوانند با این سرعت تغییرات و انتظارات مصرفکنندگان هماهنگ شوند، به استفاده از الگوریتمهای یادگیرنده (learning algorithms) برای آسانکردن کارها روی آوردهاند و برای نمونه میتوانید کاربرد این الگوریتمها را در رسانههای اجتماعی (مثلاً تشخیص اشیاء در عکسها) یا در مکالمه با دستگاهها (مانند دستیار صوتی سیری اپل) ببینید.
این فناوریها معمولاً با هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و شبکههای عصبی مرتبطاند و با اینکه هر کدام از اینها کارکرد متفاوتی دارند، در گفتوگوهای روزمره این اصطلاحات به جای یکدیگر استفاده میشوند و همین امر باعث بروز سردرگمیهایی دربارۀ تفاوتهای ظریف بین آنها میشود. در این مطلب قصد داریم این اصطلاحات را معرفی کنیم و همپوشانیها و تفاوتهای آنها را توضیح دهیم.
هوش مصنوعی، یادگیری ماشین، شبکههای عصبی و یادگیری عمیق چگونه به هم مرتبط هستند؟
شاید سادهترین راه برای توضیح هوش مصنوعی، یادگیری ماشین، شبکههای عصبی و یادگیری عمیق این باشد که آنها را به عروسکهای ماتریوشکا تشبیه کنیم. ماتریوشکا یا همان عروسک تودرتو که نماد و سوغات کشور روسیه محسوب میشود، مجموعهای از عروسکهایی با اندازههای مختلف است که هر کدام درون دیگری قرار میگیرند. با استفاده از این استعاره میتوان گفت که یادگیری ماشین زیر شاخۀ هوش مصنوعی است، یادگیری عمیق زیرشاخۀ یادگیری ماشین است، و شبکههای عصبی هم ستون فقرات الگوریتمهای یادگیری عمیق محسوب میشوند. در واقع، آن چیزی که شبکۀ عصبی را از الگوریتم یادگیری عمیق متمایز میکند، تعداد لایهها یا عمق شبکۀ عصبی است. در ادامه به تعریف و بررسی تفاوت هر کدام از این اصطلاحات میپردازیم.
هوش مصنوعی چیست؟
هوش مصنوعی گستردهترین اصطلاح مورد استفاده برای اشاره به دستگاههایی است که از هوش انسانی تقلید میکنند. از هوش مصنوعی برای پیشبینی، خودکارسازی و بهینهسازی کارهایی استفاده میشود که انسانها در طول تاریخ انجام دادهاند، مانند تشخیص گفتار و چهره، تصمیمگیری، و ترجمه. هوش مصنوعی به سه دستۀ اصلی تقسیم میشود:
- هوش مصنوعی محدود (ANI)
- هوش مصنوعی عمومی (AGI)
- اَبَرهوش مصنوعی (ASI)
هوش مصنوعی محدود یا ANI «ضعیف»، و هوش مصنوعی عمومی و ابرهوش مصنوعی «قوی» قلمداد میشوند. هوش مصنوعی محدود بر انجام یک کار بسیار خاص – مانند پیروزی در بازی شطرنج یا شناسایی فردی خاص در بین عکسها – متمرکز است. در انواع قویتر هوش مصنوعی مانند AGI و ASI، ویژگیهای انسانی مانند توانایی تفسیر لحن و احساسات بیشتر مشاهده میشود. باتهای گفتوگو و دستیاران مجازی (مانند سیری اپل) با اینکه به هوش مصنوعی قوی نزدیک شدهاند، اما همچنان نمونههایی از ANI محسوب میشوند.
هوش مصنوعی قوی در مقایسه با انسان است که تعریف میشود. هوش مصنوعی عمومی (AGI) همتراز با انسان عمل میکند، درحالیکه ابرهوش مصنوعی (ASI) از هوش و توانایی انسان پیشی میگیرد. هیچیک از انواع هوش مصنوعی قوی هنوز وجود خارجی ندارند، اما تحقیقات در این عرصه ادامه دارد. این حوزه از هوش مصنوعی بهسرعت در حال تکامل است و بهترین مثالی که میتوان برایش زد، شخصیت دولورس (Dolores) در سریال وستورلد است.
یادگیری ماشین (Machine Learning) چیست؟
یادگیری ماشین شاخهای از هوش مصنوعی و علوم کامپیوتر است که بر استفاده از دادهها و الگوریتمها برای تقلید از روش یادگیری انسانها تمرکز دارد تا بهتدریج دقتش بهبود یابد. طی دهههای گذشته پیشرفتهای فناورانه در زمینۀ ذخیرهسازی و قدرت پردازش، به ظهور محصولات نوآورانۀ مبتنی بر یادگیری ماشین مانند موتور توصیهگر نتفلیکس و خودروهای خودران منتهی شده است.
یادگیری ماشین یکی از بخشهای پراهمیت از حوزۀ روبهرشد «علم داده» (data science) است که با کمک روشهای آماری، از الگوریتمها برای طبقهبندی، پیشبینی و کشف اطلاعات کلیدی استفاده میکند. سپس از این اطلاعات برای تصمیمگیری در برنامهها و کسبوکارها استفاده میشود. با گسترش و رشد کلانداده، تقاضای بازار برای جذب متخصصان و دانشمندان داده نیز افزایش یافته است.
مدلهای یادگیری ماشین
مدلهای یادگیری ماشین به سه دستۀ اصلی تقسیم میشوند:
یادگیری با نظارت
یادگیری با نظارت یا یادگیری تحت نظارت (supervised learning) استفاده از مجموعه دادههای دارای برچسب بهمنظور آموزش الگوریتمها برای طبقهبندی دادههاست. بگذارید مثالی بزنیم. وقتی وارد میوهفروشی میشوید، میبینید که تمام میوهها کاملاً مجزای از هم مرتب شدهاند. در نتیجه وقتی یک میوه را در دست میگیرید، به نوشتۀ بالای آن نگاه میکنید و میفهمید که مثلاً سیب است. اینجا اصطلاحاً میگویند تمام دادهها تگگذاری یا برچسبگذاری شدهاند و یعنی فردی از قبل دادهها را دستهبندی کرده است. حال اگر از منظر کسی که در حال یادگیری است به ماجرا نگاه کنیم، انتظار داریم او درکی کلی از سیب به دست آورد و در آینده نیز اگر جایی سیبی دید، بتواند آن را تشخیص دهد.
یادگیری بینظارت
در روش دوم، یادگیری بدون نظارت (Unsupervised Learning)، نیازی نیست که کاربران بر مدل نظارت کنند. در عوض، مدل اجازه دارد بهتنهایی بهدنبال کشف الگوها و اطلاعاتی باشد که هنوز کشف نشدهاند، و در این مسیر عمدتاً با دادههای بدون برچسب سروکار دارد. در یادگیری بینظارت، بر خلاف یادگیری بانظارت، دادهها از قبل شناسایی نشدهاند و هدف هم ارتباط بین ورودی و خروجی نیست؛ بلکه دستهبندی دادههاست که اهمیت دارد و الگوریتم باید بهدنبال الگوهای مشابه در بین دادهها باشد.
بیایید مثالش را ببینیم. رابطۀ بین نوزاد و سگ خانواده را در نظر بگیرید. نوزاد سگ خانواده را میشناسد. چند هفته بعد، مهمانی میآید و سگ جدیدی را با خودش به منزل میآورد. این سگ سعی میکند با نوزاد بازی کند. نوزاد این سگ را قبلاً ندیده، اما بسیاری از خصوصیات او را شناسایی میکند (دو گوش بلند دارد، دو چشم دارد، دم دارد، روی چهار پا راه میرود) که مانند سگ خانگی خودش است. اینجاست که نوزاد این حیوان جدید را هم در دستۀ سگها قرار میدهد. این یادگیری بدون نظارت است: به شما آموزش داده نمیشود، بلکه شما از دادهها می آموزید. اگر این یادگیری تحت نظارت بود، مهمان خودش باید به کودک می گفت که این یک سگ است.
یادگیری نیمهنظارتی
یادگیری نیمهنظارتی (semi-supervised learning) ترکیبی از یادگیری تحت نظارت و یادگیری بدون نظارت است. یادگیری نیمهنظارتی از ترکیب مقدار کمی دادۀ برچسبدار و مقدار زیادی دادۀ بدون برچسب برای آموزش الگوریتم استفاده میکند. یادگیری نیمهنظارتی میتواند مشکل فقدان دادههای برچسبدار برای الگوریتم یادگیری بانظارت را برطرف کند. در یادگیری نیمهنظارتی ابتدا برنامهنویس دادههای مشابه را با استفاده از الگوریتم یادگیری بدون نظارت خوشهبندی (clustering) میکند و سپس از این دادههای دارای برچسب برای برچسبگذاری باقی دادهها استفاده میکند.
بگذارید موضوع را با یک مثال روشنتر کنیم. سه نوع الگوریتم یادگیری را اینطور در نظر بگیرید: در یادگیری بانظارت دانشآموز هم در خانه و هم مدرسه تحت نظارت معلم است، در یادگیری بینظارت دانشآموز باید خودش بهتنهایی بهدنبال درک مفاهیم باشد، و در یادگیری نیمهنظارتی معلم مفاهیمی را در کلاس آموزش میدهد و سپس از دانشآموز میخواهد به سؤالاتی مشابه همان مفاهیم آموزشدادهشده جواب دهد.
الگوریتم های یادگیری ماشین
تعدادی از الگوریتمهای پرکاربرد یادگیری ماشین عبارتاند از:
- شبکههای عصبی: شبکههای عصبی با استفاده از تعداد زیادی گرۀ پردازشیِ مرتبط، نحوۀ عملکرد مغز انسان را شبیهسازی میکنند. شبکههای عصبی در تشخیص الگوها عملکرد خوبی دارند و در ترجمۀ طبیعی زبان، تشخیص تصویر و گفتار و نیز تصویرسازی نقش پررنگی ایفا میکنند.
- رگرسیون خطی: از این الگوریتم برای پیشبینی مقادیر عددی بر اساس رابطۀ خطی بین مقادیر مختلف استفاده میشود. برای مثال از این تکنیک میتوان برای پیشبینی قیمت خانه بر اساس سابقۀ خرید و فروش املاک هر منطقه استفاده کرد.
- رگرسیون لجستیک: این الگوریتم یادگیری بانظارت برای پیشبینی متغیرهای دوسویه عمل میکند. منظور از متغیرهای دوسویه، احتمال وقوع رویدادهایی است که دو حالت بیشتر ندارند، مثلاً بیمار/سالم، مرگ/زندگی، خرید/عدمخرید. همچنین میتوان از آن برای طراحی برنامههایی برای کنترل کیفیت در خط تولید استفاده کرد.
- خوشهبندی: این نوع الگوریتمها با استفاده از یادگیری بدون نظارت میتوانند الگوهای موجود در دادهها را شناسایی کنند تا بعداً بتوان آنها را گروهبندی کرد. رایانهها با شناسایی تفاوتهایی که عموماً از چشم انسانها پنهان میمانند، میتوانند به دانشمندان داده کمک کنند.
- درخت تصمیمگیری: از درخت تصمیمگیری میتوان هم برای پیشبینی مقادیر عددی (رگرسیون) و هم برای دستهبندی دادهها استفاده کرد. درخت تصمیمگیری از نوعی دنبالۀ منشعب استفاده میکند که بهصورت نمودار درختی نمایش داده میشود. یکی از مزایای درخت تصمیمگیری این است که بر خلاف شبکۀ عصبی، اعتبارسنجی و ممیزی آن آسان است.
شبکۀ عصبی چیست؟
شبکۀ عصبی که با نامهای شبکۀ عصبی مصنوعی یا شبکۀ عصبی شبیهسازیشده نیز شناخته میشوند، زیرمجموعۀ یادگیری ماشین هستند و در قلب الگوریتمهای یادگیری عمیق قرار دارند. نام و ساختار شبکۀ عصبی از مغز انسان الهام گرفته شده و از روشی که نورونهای سیستم عصبی به یکدیگر پیام میدهند تقلید میکنند.
شبکۀ عصبی مصنوعی از چند لایه گره تشکیل شده: یک لایۀ ورودی، یک یا چند لایۀ پنهان، و یک لایه خروجی . هر گره یا نورون مصنوعی به یک یا چند گره یا نورون دیگر متصل است و میتوان وزن و آستانۀ مشخصی برای آن مشخص کرد. سپس اگر خروجی هر گره بالاتر از مقدار آستانۀ تعیینشده بود، آن گره فعال میشود و دادهها را به لایۀ بعدی شبکه ارسال میکند.
شبکۀ عصبی برای یادگیری و بهبود دقت خود در طول زمان به دادههای آموزشی متکی است. بااینحال، هنگامی که الگوریتمهای یادگیری با دقت مناسب تنظیم شده باشند، ابزار قدرتمندی در علوم کامپیوتر و هوش مصنوعی هستند و به ما امکان میدهند دادهها را با سرعت بالا طبقهبندی و خوشهبندی کنیم. کارهایی مانند تشخیص گفتار یا تشخیص تصویر میتواند ظرف چند دقیقه انجام شود، درحالیکه انجام همین کارها توسط متخصصان انسانی ممکن است ساعتها طول بکشد. یکی از شناختهشدهترین شبکههای عصبی هم الگوریتم جستوجوی گوگل است.
یادگیری عمیق (Deep Learning) چیست؟
یادگیری عمیق در اصل یک شبکۀ عصبی با سه لایه یا بیشتر است. این شبکههای عصبی تلاش میکنند رفتار مغز انسان را شبیهسازی کنند – البته به دور از تطابق با تواناییهایش – و امکان میدهند از مقادیر زیادی داده «یاد بگیرد». شبکۀ عصبی با یک لایه هم میتواند پیشبینیهای تقریبی انجام دهد؛ اما لایههای پنهان اضافی میتوانند به بهینهسازی و بهبود دقت کمک کنند.
یادگیری عمیق بسیاری از برنامهها و خدمات هوش مصنوعی را هدایت میکند که اتوماسیون را بهبود میبخشد و وظایف تحلیلی و فیزیکی را بدون دخالت انسان انجام میدهد. فناوری یادگیری عمیق در بطن محصولات و خدمات روزمره (مانند دستیارهای دیجیتال، کنترل از راه دور تلویزیون با قابلیت صوتی و تشخیص تقلب در کارت اعتباری) و همچنین فناوریهای نوظهور (مانند خودروهای خودران) قرار دارد.
یادگیری عمیق چگونه کار میکند؟
شبکههای عصبی یادگیری عمیق یا شبکههای عصبی مصنوعی، تلاش میکنند از طریق ترکیبی از ورودی دادهها، وزنها و سوگیری از مغز انسان تقلید کنند. این عناصر برای تشخیص دقیق، طبقهبندی و توصیف اشیاء درون دادهها با هم کار میکنند. شبکههای عصبی عمیق شامل چندین لایه از گرههای به هم پیوسته تشکیل شدهاند که هر کدام بر روی لایه قبلی برای اصلاح و بهینهسازی پیشبینی یا طبقهبندی ساخته میشوند. این پیشروی محاسبات از طریق شبکه، انتشار رو به جلو نامیده میشود. لایههای ورودی و خروجی یک شبکه عصبی عمیق را لایههای مرئی مینامند. لایه ورودی جایی است که مدل یادگیری عمیق دادهها را برای پردازش جذب میکند و لایه خروجی جایی است که پیش بینی یا طبقه بندی نهایی انجام میشود.
فرآیند دیگری به نام پس انتشار از الگوریتمهایی مانند نزول گرادیان برای محاسبه خطاها در پیشبینیها استفاده میکند و سپس وزنها و سوگیریهای تابع را با حرکت به سمت عقب در لایهها در تلاش برای آموزش مدل تنظیم میکند. انتشار رو به جلو و پس انتشار به یک شبکه عصبی اجازه میدهد تا پیشبینی کند و هر گونه خطا را بر این اساس تصحیح کند. با گذشت زمان، الگوریتم به تدریج دقیقتر میشود.
کاربردهای یادگیری عمیق
برنامههای یادگیری عمیق در دنیای واقعی بخشی از زندگی روزمره ما هستند، اما در بیشتر موارد، آنها به شکلی در محصولات و خدمات ادغام شدهاند که کاربران از پردازش دادههای پیچیدهای که در پسزمینه انجام میشود، بیاطلاع هستند. طبق نوشتاری از IBM برخی از این نمونهها شامل موارد زیر است:
اجرای قانون
الگوریتمهای یادگیری عمیق میتوانند دادههای تراکنش را تجزیه و تحلیل کنند و از آنها یاد بگیرند تا الگوهای خطرناکی را که نشاندهنده فعالیتهای متقلبانه یا مجرمانه احتمالی هستند، شناسایی کنند. تشخیص گفتار، بینایی کامپیوتر و سایر کاربردهای یادگیری عمیق میتوانند کارایی و اثربخشی تجزیه و تحلیل تحقیقاتی را با استخراج الگوها و شواهد از ضبطهای صدا و ویدئو، تصاویر و اسناد بهبود بخشند، که به مجری قانون کمک میکند تا مقادیر زیادی از دادهها را با سرعت و دقت بیشتری تجزیه و تحلیل کند.
خدمات مالی
موسسات مالی به طور منظم از تجزیه و تحلیل پیش بینی برای هدایت معاملات الگوریتمی سهام، ارزیابی ریسکهای تجاری برای تاییدیههای وام، کشف تقلب و کمک به مدیریت سبدهای اعتباری و سرمایهگذاری برای مشتریان استفاده میکنند.
خدمات مشتری
بسیاری از سازمانها فناوری یادگیری عمیق را در فرآیندهای خدمات مشتری خود گنجانده اند. رباتهای چت – که در انواع برنامهها، خدمات و پورتالهای خدمات مشتری استفاده میشوند – شکل سادهای از هوش مصنوعی هستند. رباتهای سنتی از زبان طبیعی و حتی تشخیص بصری استفاده میکنند که معمولاً در منوهای مرکز تماس یافت میشود. با این حال، راهحلهای پیچیدهتر چتبات تلاش میکنند تا از طریق یادگیری، تعیین کنند که آیا پاسخهای متعددی به سؤالات مبهم وجود دارد یا خیر. ربات چت بر اساس پاسخهایی که دریافت میکند، سعی میکند مستقیماً به این سؤالات پاسخ دهد یا مکالمه را به یک کاربر انسانی هدایت کند. دستیارهای مجازی مانند سیری اپل، آمازون الکسا یا دستیار گوگل با فعال کردن قابلیت تشخیص گفتار، ایده چت بات را گسترش میدهند. این یک روش جدید برای درگیر کردن کاربران به روش شخصی ایجاد میکند.
مراقبتهای بهداشتی
از زمان دیجیتالی شدن سوابق و تصاویر بیمارستانی، صنعت مراقبتهای بهداشتی از قابلیتهای یادگیری عمیق بهره برده است. برنامههای تشخیص تصویر میتوانند به کمک متخصصان تصویربرداری پزشکی و رادیولوژیستها آمده و به آنها در تجزیه و تحلیل و ارزیابی تصاویر بیشتر در زمان کمتر یاری برسانند.
یادگیری عمیق در مقابل یادگیری ماشین
یادگیری عمیق صرفاً زیرمجموعهای از یادگیری ماشینی است. تفاوت اصلی یادگیری ماشین و یادگیری عمیق در نحوۀ یادگیری هر الگوریتم و میزان استفاده از دادههای هر نوع الگوریتم است. یادگیری عمیق بیشتر بخش استخراج ویژگی فرایند را خودکار میکند و برخی از مداخلات دستی انسان را حذف میکند. همچنین کار با کلاندادهها را امکانپذیر میکند. این قابلیت بهویژه زمانی مفید است که بخواهیم از دادههای ساختارنیافته استفاده کنیم. اهمیت این قابلیت از آنجاست که بر اساس پژوهشها تخمین زده میشود ۸۰ تا ۹۰ درصد دادههای سازمانها بدون ساختار هستند.
یادگیری ماشین کلاسیک یا «غیرعمیق» بیشتر به مداخلۀ انسان برای یادگیری وابسته است. متخصصان انسانی سلسلهمراتب ویژگیها را برای درک تفاوتهای بین ورودیهای داده تعیین میکنند، که معمولاً به دادههای ساختاریافتهتری برای یادگیری نیاز دارند. برای مثال، فرض کنید قرار است تعدادی عکس از انواع فست فود – پیتزا، برگر یا تاکو – به شما نشان دهیم. متخصص انسانی در این تصاویر ویژگیهایی را تعیین میکند که هر تصویر را به عنوان یک نوع فست فود خاص متمایز میکند. مثلاً نان هر نوع غذا ممکن است یک ویژگی متمایز کننده در هر تصویر باشد. از طرف دیگر، ممکن است فقط از برچسبهایی مانند «پیتزا»، «برگر» یا «تاکو» برای سادهسازی فرایند یادگیری از طریق یادگیری تحت نظارت استفاده کنید.
یادگیری ماشینی «عمیق» میتواند از مجموعه دادههای برچسبدار، که یادگیری تحت نظارت نیز شناخته میشود، بهعنوان ورودی الگوریتم خود استفاده کند، اما لزوماً به مجموعه دادههای برچسبدار نیاز ندارد. میتواند دادههای بدون ساختار را بهشکل خام (مانند متن و تصویر) دریافت کند و بهطور خودکار مجموعهای از ویژگیهایی را تعیین کند که «پیتزا»، «برگر» و «تاکو» را از یکدیگر متمایز میکند.
با مشاهده الگوها در دادهها، مدل یادگیری عمیق میتواند ورودیها را بهخوبی خوشهبندی کند. با درنظرگرفتن مثال قبلی، میتوانیم تصاویر پیتزا، همبرگر و تاکو را بر اساس شباهتها یا تفاوتهای شناساییشده در تصاویر در دستههای مربوط گروهبندی کنیم. با این تفاصیل، مدل یادگیری عمیق به نقاط دادۀ بیشتری برای بهبود دقت نیاز دارد، درحالیکه مدل یادگیری ماشینی با توجه به ساختار دادۀ زیربنایی به دادههای کمتری متکی است. از یادگیری عمیق در درجۀ اول برای کارهای پیچیدهتری مانند دستیاران مجازی یا تشخیص تقلب استفاده میشود.
جمعبندی
همۀ حوزههای هوش مصنوعی میتوانند به سادهسازی حوزههای کسبوکار و بهبود تجربۀ مشتری کمک کنند؛ هرچند، دستیابی به اهداف هوش مصنوعی میتواند چالشبرانگیز باشد؛ زیرا ابتدا باید مطمئن شوید که سیستمهای مناسبی برای مدیریت دادههایتان بهمنظور ساختن فرایند یادگیری دارید. مسلماً مدیریت دادهها سختتر از ساختن مدلهای واقعی است که برای کسبوکار خود استفاده میکنید. قبل از اینکه بتوانید شروع به ساختن کنید، به مکانی برای ذخیرهسازی دادهها و سازوکارهایی برای پاکسازی و کنترل سوگیری نیاز دارید. برای حل این مسائل و بهرهمندی از قابلیتهای هوش مصنوعی میتوان از محصولات مختلف شرکتهای فعال در این زمینه کمک گرفت تا به شما و کسب و کارتان کمک کند در مسیر درست برای آمادهسازی و مدیریت دادههای دادههای عظیم قرار بگیرید.