تفاوت یادگیری ماشین و یادگیری عمیق چیست. یادگیری ماشین و یادگیری عمیق دو زیرمجموعهی هوش مصنوعی هستند که طی چند سال گذشته بسیار به آنها توجه شده است. یادگیری ماشین زیرمجموعهای از هوش مصنوعی است که با دریافت داده و با ایجاد الگوریتمهایی میتواند بدون دخالت انسان خود را تغییر دهد تا خروجی مدنظر را ارائه کند. یادگیری عمیق زیرمجموعهای از یادگیری ماشین است که الگوریتمهایی در آن ایجاد میشوند که عملکردی مشابه با یادگیری ماشین دارند، اما در یادگیری عمیق لایههای زیادی از این الگوریتمها وجود دارد که هر یک تفسیر متفاوتی از دادههای ورودی ارائه میکنند. به چنین شبکهای از الگوریتمها، شبکههای عصبی مصنوعی (ANNs) گفته میشود که تلاشی برای تقلید از عملکرد شبکههای عصبی موجود در مغز انسان هستند.
- 1. آیا یادگیری ماشین و یادگیری عمیق یکی است؟
- 2. یادگیری ماشین (Machine Learning) چیست؟
- 3. یادگیری عمیق (Deep Learning) چیست؟
- 4. تفاوت بین هوشمصنوعی، یادگیری ماشین و یادگیری عمیق چیست؟
- 5. هوش مصنوعی، یادگیری ماشین و یادگیری عمیق چگونه به هم مرتبط هستند؟
- 6. تفاوت یادگیری ماشین و یادگیری عمیق چیست؟
- 7. خلاصهی مطالب
- 8. آموزش دیتا ساینس و ماشین لرنینگ با کلاسهای آنلاین علم داده کافهتدریس
آیا یادگیری ماشین و یادگیری عمیق یکی است؟
پیش از پرداختن به تفاوت یادگیری ماشین و یادگیری عمیق بیایید اندکی به محل نزاع این پرسش بپردازیم. از نظر بیشتر افراد اصطلاحات یادگیری عمیق (Deep Learning) و یادگیری ماشین (Machine Learning) در دنیای هوش مصنوعی (Artificial Intelligence) یکی هستند و میتوان آنها را بهجای هم استفاده کرد؛ بااینحال این موضوع درست نیست؛ از این رو، هر کسی که به دنبال درک بهتر حوزهی هوش مصنوعی است باید ابتدا اصطلاحات رایج آن و تفاوتهایشان را درک کند که البته کار سختی هم نیست.
بهطور کلی، یادگیری ماشین زیرمجموعهای از هوش مصنوعی است و یادگیری عمیق یکی از زیرمجموعههای تخصصی از یادگیری ماشین است که بهنوبهی خود، زیرمجموعهای از هوش مصنوعی محسوب میشود. بهعبارت دیگر، یادگیری عمیق همان یادگیری ماشین است. در این مقاله قصد داریم با یادگیری ماشین و یادگیری عمیق آشنا شویم و تفاوتهای اصلی آنها را بررسی کنیم.
یادگیری ماشین (Machine Learning) چیست؟
یادگیری ماشین درواقع بهمعنای یادگیری کامپیوترهاست از دادههایی که دریافت میکنند. یادگیری ماشین تلفیقی از علوم کامپیوتر (Computer Science) و آمار (Statistics) است که در آن الگوریتمها برای انجامدادن یک کار خاص بدون برنامهریزی مستقیم استفاده میشوند. آنها الگوهای موجود در دادهها را تشخیص میدهند و پس از دریافت دادههای جدید نتایج را پیشبینی میکنند.
برای آشنایی بیشتر با یادگیری ماشین این مطلب را بخوانید:
یادگیری ماشین (Machine Learning) چیست و چگونه کار میکند؟
بهطور کلی، روند یادگیری این الگوریتمها میتواند بسته به دادههایی که دریافت میکنند، باناظر (Supervised) یا بدون ناظر (Unsupervised) و یا نیمهنظارتی (Semi-supervised) باشد.
برای آشنایی بیشتر با یادگیری بدون ناظر و یادگیری با نظر این دو مطلب را مطالعه کنید:
یادگیری بدون ناظر (Unsupervised Learning) چیست؟
یادگیری با ناظر (Supervised Learning) چیست؟
یک مثال: محاسبهی درآمد از روی سطح تحصیلات
برای مثال، یک الگوریتم سنتی یادگیری ماشین میتواند یک رگرسیون خطی (Linear Regression) باشد؛ مثلاً تصور کنیم که میخواهیم درآمد خود را با توجه به سالهای تحصیلات عالی پیشبینی کنیم. در اولین قدم باید یک تابع را تعریف کنیم؛ مثلاً:
درآمد = y + x * سالهای تحصیل
سپس به الگوریتممان مجموعهای از دادههای آموزشی را میدهیم. این دادههای آموزشی میتواند یک جدول ساده با اطلاعات مربوط به سالهای تحصیلات عالی برخی از افراد و درآمد مرتبط با آنها باشد. بعد از آن الگوریتم با استفاده از آن دادههای موجود در جدولی خطی را ترسیم میکند. حال میتوانیم دادههای تست را به الگوریتم بدهیم؛ برای مثال، سالهای تحصیلات عالی شخصی خود، و بعد به الگوریتم اجازه دهیم که درآمدمان را پیشبینی کند.
اگرچه این مثال ساده به نظر میرسد، اما یک نوع یادگیری ماشین محسوب میشود و همانطور که دیدیم، آمار نقش مهمی را در یادگیری ماشین ایفا میکند. در این حالت الگوریتم یاد گرفته است که بدون برنامهریزی صریح، فقط براساس الگوها و استنتاجها، خروجی را پیشبینی کند.
برای آشنایی بیشتر با هوش مصنوعی این مطلب را مطالعه کنید:
هوش مصنوعی چیست و چه کاربردهایی دارد؟
حال که با مفهوم یادگیری ماشین آشنا شدیم، در بخش بعد با یادگیری عمیق آشنا خواهیم شد.
یادگیری عمیق (Deep Learning) چیست؟
الگوریتمهای یادگیری عمیق را میتوان تکامل پیچیدهای از الگوریتمهای یادگیری ماشین در نظر گرفت. یادگیری عمیق امروزه بسیار محل توجه است و دلیل آن را میتوان رسیدن به نتایجی دانست که تا قبل از آن غیرممکن به نظر میرسید.
یادگیری عمیق الگوریتمهایی را توصیف میکند که دادهها را با ساختاری منطقی، شبیه به نحوهی نتیجهگیری انسان، تجزیهوتحلیل میکنند. لازم است بدانیم که این اتفاق میتواند ازطریق یادگیری باناظر یا بدون ناظر رخ دهد. برای دستیابی به این هدف یادگیری عمیق از الگوریتمهایی با ساختار لایهای بهنام شبکههای عصبی مصنوعی (ANN) استفاده میکند. در طراحی چنین الگوریتمهایی از شبکه عصبی بیولوژیکی مغز انسان الهام گرفته شده است که به فرایند یادگیری میانجامد که توانایی آن بسیار بیشتر از مدلهای استاندارد یادگیری ماشین است.
یادگیری ماشین و شبکه عصبی
در تصویر ۱ یک شبکهی عصبی مصنوعی را میبینیم. اولین لایه از سمت چپ، لایهی ورودی و سمت راستترین لایه، لایهی خروجی نامیده میشود. لایههای میانی را لایههای نهان (Hidden Layers) مینامند. درواقع لایههای نهان مقادیری هستند که شبکه در طول آموزش خود آنها را به دست میآورد. هرچه لایههای پنهان یک شبکه، میان لایهی ورودی و خروجی بیشتر باشد، شبکه عمیقتر است. بهطور کلی، هر شبکهی عصبی با دو یا چند لایهی نهان بهعنوان یک شبکهی عصبی عمیق شناخته میشود.
امروزه از یادگیری عمیق در بسیاری از حوزهها استفاده میشود؛ برای مثال، در خودروهای خودران از یادگیری عمیق برای تشخیص اشیا، مانند علائم STOP یا عابران پیاده، استفاده میشود. ارتش از یادگیری عمیق برای شناسایی اشیا در ماهوارهها استفاده میکند تا مثلاً بتواند مکانهای امن یا ناامن را برای نیروهای خود شناسایی کند؛ همچنین دستیاران مجازی مانند Amazon Alexa برای پاسخ به صدای ما و درک درخواستها یا علایق ما به الگوریتمهای یادگیری عمیق وابسته هستند.
برای اینکه بهتر درک کنیم یادگیری عمیق چطور کار میکند، بیایید با هم به یک مثال نگاهی بیندازیم.
بیایید تصور کنیم که شرکت تسلا (Tesla) برای تشخیص علائم STOP در خیابان، از الگوریتم یادگیری عمیق برای اتومبیلهای خود استفاده میکند. در مرحلهی اول، شبکه عصبی خصوصیات مربوط به علامت STOP را که ویژگی (Feature) نامیده میشوند شناسایی میکند. این ویژگیها ممکن است ساختارهای خاصی در تصویر ورودی باشد، مانند نقاط، لبهها یا اشیا.
درحالیکه یک مهندس نرمافزار باید ویژگیهای مربوط را در الگوریتم یادگیری ماشین سنتی انتخاب کند، شبکهی عصبی قادر به مهندسی خودکار ویژگی (automatic feature engineering) است. در این شبکهی عصبی، اولین لایهی نهان ممکن است یاد بگیرد چگونه لبهها را تشخیص دهد، لایهی بعدی یاد میگیرد فرضاً چگونه رنگها را از هم متمایز کند؛ آخرین لایه هم یاد میگیرد که چگونه اشکال پیچیدهتری را که در تشخیص آن جسمی شناسایی کند که میخواهیم تشخیص دهیم. الگوریتمهای یادگیری عمیق با استفاده از دادههای آموزشی که بهعنوان ورودی دریافت میکنند، درنهایت خطاهای خود را تشخیص میدهند و بررسی میکنند آیا پیشبینیای که کردهاند درست است یا اینکه باید آن را بهبود دهند.
بهطور کلی، میتوان گفت که بهدلیل قابلیت مهندسی ویژگی خودکار و قابلیتهای خودیادگیری (Self-learning)، الگوریتمهای یادگیری عمیق به مداخلهی انسانی خیلی کمی نیاز دارند.
برای آشنایی بیشتر با یادگیری عمیق این مطلب را مطالعه کنید:
یادگیری عمیق (Deep Learning) چیست؟
تا اینجا با دو مفهوم یادگیری ماشین و یادگیری عمیق آشنا شدیم. تا الان باید تا حدی تمایز این دو را از هم تشخیص داده باشید، بااینحال در ادامه ابتدا به بررسی تفاوتهای این دو با هوش مصنوعی و سپس به طور مستقیم با یکدیگر خواهیم پرداخت.
تفاوت بین هوشمصنوعی، یادگیری ماشین و یادگیری عمیق چیست؟
در دنیای امروز، فناوری لحظه به لحظه در زندگی روزمره ما گنجانده میشود و به منظور همگام شدن با سرعت انتظارات مصرفکنندگان، شرکتها به شدت به یادگیری الگوریتمها برای آسان کردن کارها متکی هستند. میتوانید کاربرد آن را در رسانههای اجتماعی (از طریق تشخیص اشیا در عکسها) یا در مکالمه مستقیم با دستگاههای مختلف (به طور مثال الکسا یا سیری) ببینید.
این فناوریها معمولاً با هوش مصنوعی (Artificial Intelligence)، یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Learning) مرتبط هستند. مشکلی که در این خصوص وجود دارد این است که این اصطلاحات به جای یکدیگر در مکالمه افراد مورد استفاده قرار میگیرند و منجر به سردرگمی افراد تازهوارد به حوزه هوش مصنوعی در مورد تفاوتهای ظریف بین آنها میشود. ما قصد داریم در این بخش، به روشن شدن برخی از ابهامات و مشخص کردن تفاوت اصلی این سه حوزه، کمک کنیم.
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق چگونه به هم مرتبط هستند؟
شاید سادهترین راه برای فکر کردن به هوش مصنوعی، یادگیری ماشین و یادگیری عمیق این باشد که آنها را مانند عروسکهای تودرتوی روسی در نظر بگیرید. یعنی به این شکل که هر کدام اساساً جزئی از قبلی هستند.
یعنی یادگیری ماشین زیر شاخه هوشمصنوعی است و یادگیری عمیق زیر شاخهای از یادگیری ماشین است. بنابراین، میتوان گفت یادگیری عمیق بخشی از هوشمصنوعی محسوب میشود.
در نهایت به این نکته میرسیم که هوش مصنوعی (AI) حوزه اصلی و دربرگیرنده حوزههای یادگیری ماشین و یادگیری عمیق است. هوش مصنوعی گستردهترین اصطلاحی است که برای طبقهبندی ماشینهایی که هوش انسانی را تقلید میکنند استفاده میشود و برای پیشبینی، خودکارسازی و بهینهسازی کارهایی که انسانها در طول تاریخ انجام دادهاند، مانند تشخیص گفتار و چهره، تصمیمگیری و ترجمه استفاده میشود.
سه دسته اصلی هوش مصنوعی وجود دارد:
- هوش مصنوعی محدود (Artificial Narrow Intellligence / ANI)
- هوش عمومی مصنوعی (Artificial General Intelligence / AGI)
- ابر هوش مصنوعی (Artifiticial Super Intelligence / ASI)
ANI هوش مصنوعی “ضعیف” در نظر گرفته میشود، در حالی که دو نوع دیگر به عنوان هوش مصنوعی “قوی” طبقهبندی میشوند. هوش مصنوعی ضعیف با توانایی آن در انجام یک کار بسیار خاص، مانند برنده شدن در یک بازی شطرنج یا شناسایی یک فرد خاص در یک سری عکس، تعریف میشود. با حرکت به سمت اشکال قویتر هوش مصنوعی، مانند AGI و ASI، ترکیب رفتارهای انسانی بیشتر برجستهتر میشود، مانند توانایی تفسیر لحن و احساسات. چتباتها(Chatbots) و دستیاران مجازی، مانند سیری (Siri)، به نوعی در ابتدای راه هوشمصنوعی قوی هستند، اما به طور کلی همچنان نمونههایی از ANI در نظر گرفته میشوند.
هوش مصنوعی قوی با توانایی آن در مقایسه با انسان تعریف میشود. هوش عمومی مصنوعی (AGI) همتراز با انسان عمل میکند در حالی که ابر هوش مصنوعی (ASI) از هوش و توانایی یک انسان پیشی میگیرد. هیچ یک از انواع هوش مصنوعی قوی هنوز در دنیا وجود ندارد، اما تحقیقات در این زمینه در حال انجام است و همچنان ادامه دارد. از آنجایی که این حوزه از هوش مصنوعی هنوز در حال تکامل است، بهترین مثالی که می توانیم در مورد آنچه ممکن است در آینده به عنوان ابر هوشمصنوعی ببینیم، ارائه کنیم، شخصیت Dolores در فیلم Westworldدر شبکه HBO است.
تفاوت یادگیری ماشین و یادگیری عمیق چیست؟
پرسش دربارهی تفاوت یادگیری ماشین و یادگیری عمیق سؤال رایجی است که ممکن است خیلیها بپرسند. نکته اینجاست که نباید آن را بهاین شکل پرسید؛ زیرا الگوریتمهای یادگیری عمیق، درواقع، همان الگوریتمهای یادگیری ماشین هستند؛ بنابراین، بهتر است به این فکر کنیم که چه چیزهایی یادگیری عمیق را در حوزهی یادگیری ماشین خاص میکند.
و اما پاسخ این سؤال:
- ساختار الگوریتم شبکههای عصبی مصنوعی
- نیاز کمتر به مداخلهی انسان
- نیاز به حجم بیشتر داده
ساختار الگوریتم شبکههای عصبی مصنوعی
اول و مهمترین موضوع این است که درحالیکه الگوریتمهای یادگیری ماشین سنتی ساختار نسبتاً سادهای مانند رگرسیون خطی (Linear Regression) یا درخت تصمیم (Decision Tree) دارند، یادگیری عمیق براساس الگوریتم شبکهی عصبی مصنوعی (ANN) است. این شبکهی عصبی چندلایه، مانند مغز انسان، پیچیده و درهمتنیده است.
نیاز کمتر یادگیری ماشین به مداخلهی انسانی
دوم اینکه الگوریتمهای یادگیری عمیق بسیار کمتر به مداخلهی انسان نیاز دارند. بیایید بار دیگر مثال تسلا (Tesla) را به خاطر بیاوریم؛ اگر برای تشخیص علامت STOP از یک الگوریتم سنتی یادگیری ماشین استفاده میشد، یک مهندس نرمافزار، بهصورت دستی، ویژگیها و یک طبقهبندیکننده را برای مرتبکردن تصاویر انتخاب میکرد؛ سپس بررسی میکرد که آیا خروجی بهاندازهی موردنیاز مطلوب هست یا نه و اگر نبود، تغییراتی در الگوریتم ایجاد میکرد. درحالیکه یک الگوریتم یادگیری عمیق ویژگیها را بهطور خودکار استخراج میکند و از خطاهای موجود در خروجی برای بهبود خود استفاده میکند.
این شکل تمامی چیزهایی را که در این بخش گفته شد نشان میدهد:
نیاز یادگیری عمیق به حجم دادهی بیشتر
مورد سوم این است که یادگیری عمیق برای عملکرد صحیح به دادههای بسیار بیشتری از الگوریتم سنتی یادگیری ماشین نیاز دارد. یادگیری ماشین با هزاران داده کار میکند، اما یادگیری عمیق اغلب با حداقل میلیونها داده. با توجه به ساختار پیچیدهی چندلایهای که یک سیستم یادگیری عمیق دارد، برای ازمیانبردن نوسانها و تفسیرهایی با کیفیت بالا به یک مجموعه داده بزرگ احتیاج دارد.
به طور خلاصه، یادگیری عمیق (Deep Learning) صرفاً زیر مجموعهای از یادگیری ماشین (Machine Learning) است. از اصلیترین تفاوتهای آنها میتوان به نحوه یادگیری هر الگوریتم و میزان استفاده از دادههای هر نوع الگوریتم اشاره کرد. یادگیری عمیق بیشتر فرآیند استخراج ویژگی یا Feature Extraction را خودکار میکند و برخی از مداخلات دستی انسان را حذف میکند. همچنین استفاده از مجموعه دادههای بزرگ را امکان پذیر میکند که عنوان “یادگیری ماشین مقیاس پذیر” را در یک کنفرانس MIT به خود اختصاص میدهد. این قابلیت یادگیری عمیق به شدت جالب است، زیرا ما با وجود چنین قابلیتی میتوانیم شروع به بررسی بیشتر استفاده از دادههای بدون ساختار (Unstractured data) کنیم. به ویژه که ۸۰ تا ۹۰ درصد دادههای یک سازمان بدون ساختار تخمین زده میشوند، این نکته میتواند بسیار اهمیت داشته باشد.
برعکس یادگیری عمیق، یادگیری ماشین کلاسیک یا “غیر عمیق” بیشتر به مداخله انسان برای یادگیری وابسته است. متخصصان انسانی سلسله مراتب فیچرها را برای درک تفاوتهای بین ورودیهای داده تعیین میکنند و نکتهی دیگر این است که این نوع الگوریتمها معمولاً برای یادگیری به دادههای ساختاریافته بیشتری نیاز دارند. برای مثال، فرض کنید که قرار بود یک سری عکس از انواع فست فود، «پیتزا»، «برگر» یا «ساندویچ» به شما نشان دهیم. متخصص انسانی در این تصاویر ویژگیهایی را که میتواند هر تصویر را به عنوان یک نوع فست فود خاص متمایز کند، تعیین میکند. به عنوان مثال، نان هر نوع غذا ممکن است یک ویژگی متمایز در هر تصویر باشد. از طرف دیگر، ممکن است از برچسبهایی مانند «پیتزا»، «برگر» یا «ساندویچ» برای سادهسازی فرآیند یادگیری از طریق یادگیری نظارت شده (Supervised Learning) استفاده کند.
یادگیری عمیق میتواند از مجموعه دادههای برچسبگذاریشده، که به عنوان یادگیری نظارتشده نیز شناخته میشود، برای کمک به شناسایی و درک الگوریتم خود استفاده کند، اما لزوماً به مجموعه داده برچسبگذاریشده نیاز ندارد. این نوع یادگیری، میتواند دادههای بدون ساختار را به شکل خام (مانند متن یا تصاویر) دریافت کند که بهطور خودکار مجموعهای از ویژگیهایی را تعیین کند که «پیتزا»، «برگر» و «ساندویچ» را از یکدیگر متمایز میکند.
با مشاهده الگوها در دادهها، یک مدل یادگیری عمیق میتواند ورودیها را به طور مناسب خوشه بندی (Clustering) کند. با در نظر گرفتن مثال قبلی، میتوانیم تصاویر پیتزا، همبرگر و ساندویچ را بر اساس شباهتها یا تفاوتهای شناساییشده در تصاویر در دستههای مربوطه گروهبندی کنیم. بنابراین با وجود مطلبی که گفته شد، یک مدل یادگیری عمیق به نقاط داده بیشتری برای بهبود دقت مدل نیاز دارد، در حالی که یک مدل یادگیری ماشین با توجه به ساختار داده به دادههای کمتری متکی است. یادگیری عمیق در درجه اول برای موارد استفاده پیچیدهتر، مانند دستیاران مجازی یا تشخیص تقلب (Fraud Detection)، استفاده میشود.
خلاصهی مطالب
در این مقاله بهصورت کوتاه یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Learning) را معرفی و تفاوتهای آنها با هم را بررسی کردیم. در این بخش خلاصهای از مطالب گفتهشده را آوردهایم:
- یادگیری ماشین چیزی میان علوم کامپیوتر (Computer Science) و آمار (Statistics) است. در آن کامپیوترها این توانایی را پیدا میکنند که بدون اینکه مستقیماً برای کاری برنامهریزی شوند، یاد بگیرند آن را انجام دهند.
- یادگیری عمیق زیرمجموعهی خاصی از یادگیری ماشین است.
- یادگیری عمیق مبتنی بر ساختار لایهای الگوریتمهایی موسوم به شبکهی عصبی مصنوعی است.
- برخلاف یادگیری ماشین، یادگیری عمیق به دادههای زیادی احتیاج دارد، اما برای عملکرد صحیح به مداخلههای انسانی کمی نیاز دارد.
آموزش دیتا ساینس و ماشین لرنینگ با کلاسهای آنلاین علم داده کافهتدریس
اگر به مباحث علم داده و یادگیری ماشین علاقهدارید، پیشنهاد ما به شما شرکت در کلاسهای آنلاین آموزش علم داده کافهتدریس است.
کلاسهای آموزش علم داده کافهتدریس بهصورت کاملاً تعاملی و پویا برگزار میشود و مبتنی بر پروژههای واقعی علم داده است.
شما، با شرکت در آن، به جامعترین و بهروزترین آموزش دیتا ساینس دسترسی خواهید داشت.
برای آشنایی با کلاسهای آنلاین آموزش علم داده کافهتدریس و مشاورهی رایگان برای شروع یادگیری دیتا ساینس روی این لینک کلیک کنید: