یادگیری ماشینی در مقابل یادگیری عمیق: تفاوت چیست؟
اصلیترین تفاوت یادگیری ماشینی و یادگیری عمیق به توانایی، میزان پیچیدگی، سرعت عمل، سطح عملکرد و کاربردهای هر دو فناوری مربوط میشود.
یادگیری ماشینی به سیستمهای کامپیوتری کمک میکند تا برای پردازش و انجام وظایف مختلف کمتر به انسان نیاز داشته باشند، اما یادگیری عمیق که از مدلهای ایجادشده بر پایه ساختار مغز انسان استفاده میکند، نحوه فکرکردن را به کامپیوتر میآموزد. در این مقاله شما را بهطور کامل با تفاوتهای یادگیری ماشینی و یادگیری عمیق آشنا میکنیم.
یادگیری عمیق (Deep Learning یا DL) یکی از انواع فناوری یادگیری ماشینی (Machine Learning یا ML)، یادگیری ماشینی و زیرمجموعه هوش مصنوعی است. پس اجازه دهید ابتدا هوش مصنوعی را بهصورت ساده و مختصر تعریف کنیم.
هوش مصنوعی چیست؟
دستگاههای مجهز به هوش مصنوعی یا هوش ماشینی (Artificial Intelligence یا AI) میتوانند مانند انسان فکر کنند و رفتاری مشابه با رفتار انسانی داشته باشند. با استفاده از هوش مصنوعی میتوان سیستمهای کامپیوتری را برای انجام وظایف مختلف آموزش داد. کامپیوترهایی که با این فناوری آموزش دیدهاند، میتوانند در برخی موارد وظایفی را که برای انجام آنها آموزش دیدهاند، تا حدود زیادی مانند انسان انجام دهند. حتی در برخی از مواقع هوش مصنوعی میتواند جایگزین انسان شود.
متخصصان حوزه هوش مصنوعی برای آموزش سیستمهای کامپیوتری و بهرهمندشدن آنها از قابلیتهای هوش مصنوعی، از دو فناوری یادگیری ماشینی و یادگیری عمیق استفاده میکنند.
یادگیری ماشین چیست؟
تمرکز اصلی یادگیری ماشینی، ایجاد توانایی انجام وظایف مختلف توسط کامپیوترها بدون نیاز به برنامهنویسی صریح برای آنهاست.
در بیشتر موارد کامپیوترها با دادههای دارای ساختار یا ساختیافته (structured data)، تغذیه میشوند. کامپیوترهای تغذیهشده با چنین دادههایی یاد میگیرند با گذشت زمان در زمینه ارزیابی و عملکردن براساس دادههای ورودی به آنها، بهبود یابند.
منظور از دادههای دارای ساختار، دادههای ورودی به کامپیوتر بهصورت چند ردیف و ستون است؛ مثلاً زمانی که در نرمافزار اکسل ستونی با عنوان غذا ایجاد کرده و سپس ردیفهای با عنوان میوه و گوشت در آن ستون ایجاد میکنید، دادههای دارای ساختار را وارد کامپیوتر کردهاید.
این نوع از دادههای دارای ساختار بسیار ساده هستند و هر کامپیوتری بهراحتی میتواند با آنها کار کند. پردازش دادههای دارای ساختار بهقدری اهمیت دارد که یکی از مهمترین زبانهای برنامهنویسی، زبان پرسمان دارای ساختار (structured query language یا SQL) نامیده شده است.
کامپیوتر زمانی که برنامهنویسی میشود، میتواند معنا و مفهوم میزان نامحدودی از دادههای جدید را کاملاً درک کند و بدون دخالت انسان دادههای ورودی را دستهبندی و براساس آنها عمل کند.
مثلاً زمانی که دادههای مربوط به غذاهای مختلف را بهتدریج وارد کامپیوتر میکنید، پس از گذشت مدتی کامپیوتر میتواند بفهمد که میوه جزو غذا است؛ حتی اگر برچسبگذاری دادهها را متوقف کنید. ارزیابی دقیق این میزان از «خودمتکی» بودن در دستهبندی یادگیری ماشینی به انواع مختلف براساس میزان کمک مستمر انسان برای آموزش سیستمهای کامپیوتری، اهمیت بسیار زیادی دارد و یک اصل بنیادین محسوب میشود.
مقایسه روشهای مختلف یادگیری ماشین با یکدیگر
روشهای مختلف یادگیری ماشینی شامل یادگیری تحت نظارت (Supervised learning)، یادگیری نیمهنظارتی (semi-supervised learning)، یادگیری بدون نظارت (Unsupervised learning) و یادگیری تقویتشده (Reinforcement learning) میشوند.
یادگیری تحت نظارت
یادگیری تحت نظارت شاخهای از یادگیری ماشینی محسوب میشود که پیادهسازی آن نیازمند بیشترین میزان مشارکت مستمر انسان در آموزش کامپیوترهاست. به همین دلیل برای این شیوه یادگیری از واژه «تحت نظارت یا Supervised» استفاده شده است. در این روش دادههای آموزشی وارد کامپیوتر میشود و یک مدل اختصاصاً جهت آموزش کامپیوتر برای چگونگی واکنش آن به دادههای ورودی، طراحی میشود.
پس از بهکارگیری مدل طراحیشده، دادههای بیشتری وارد کامپیوتر میشود تا عملکرد کامپیوتر در زمینه واکنش به دادههای ورودی ارزیابی شود. پس از انجام این کار، برنامهنویس یا دانشمند داده میتواند پیشبینیهای دقیق را تأیید یا هرگونه واکنش نادرست را تصحیح کند.
تصور کنید برنامهنویسی میخواهد کامپیوتری را برای دستهبندی تصاویر آموزش دهد. او برای انجام این کار باید پس از واردکردن تصاویر در کامپیوتر، دستهبندی هر یک از تصاویر را به آن محول کند. در مرحله بعدی برنامهنویس باید هر مورد از دستهبندیهای انجامشده توسط کامپیوتر را که درحقیقت همان خروجی هستند، تأیید یا تصحیح کند. این سطح از نظارت برنامهنویس کمک میکند عملکرد مدل در زمینه مدیریت دقیق مجموعه دادههای ورودی که الگوهای فراگرفتهشده را دنبال میکنند، با گذشت زمان به میزان بسیار زیادی افزایش یابد.
یادگیری نیمهنظارتی
در روش یادگیری نیمهنظارتی ترکیبی از دادههایی که بهدرستی برچسبگذاری شدهاند همراه با دادههایی برچسبگذاری نشدهاند، وارد کامپیوتر میشوند. پس از انجام این کار، کامپیوتر خودش برای یافتن الگوها جستجو میکند، اما این روش برای حفظ نظارت روی عملکرد کامپیوتر و انجام تنظیمات، کارآمد نیست.
دادههای برچسبگذاریشده بهعنوان یک راهنما از سوی برنامهنویس عمل میکنند؛ اما برنامهنویسان خود را درگیر نظارت مستمر نمیکنند.
یادگیری بدون نظارت
در روش یادگیری بدون نظارت، آموزش با استفاده از دادههای برچسبگذارینشده، یک گام جلوتر میرود. در این روش به کامپیوتر برای یافتن الگوهای مختلف و همتایان آنها که به نظر کامپیوتر با یکدیگر مطابقت دارند، آزادی عمل کامل داده میشود.
معمولاً زمانی که از این روش استفاده میشود، نتایجی بهدست میآید که ممکن است تحلیلگران انسانی متوجه آنها نشده باشند. یکی از موارد متداول آموزش کامپیوتر با استفاده از روش یادگیری بدون نظارت، آموزش برای خوشهبندی دادههاست. خوشهبندی دادهها بهمعنای سازماندهی دادهها براساس موضوعات متداول و لایهبندی آنها بر مبنای شناخت بهدستآمده توسط کامپیوتر است.
فروشگاههای آنلاین و سایتهای تجارت الکترونیک معمولاً برای تصمیمگیری در مورد ارائه پیشنهادهای مناسب به کاربران خاص براساس خریدهایی که قبلاً انجام دادهاند، از این فناوری استفاده میکنند.
یادگیری تقویتشده
در روش یادگیری تحت نظارت و بدون نظارت، موفقنشدن کامپیوتر برای فهم درست یا طبقهبندی در سطح دادهها، هیچ پیامدی بهدنبال ندارد؛ اما اگر کامپیوتر هنگامی کارش را درست انجام دهد، بازخورد مثبت و درصورت انجام کار اشتباه، بازخورد منفی دریافت کند (درست مانند یک کودک دبستانی)، چه میشود؟
احتمالاً کامپیوتر در چنین شرایطی سعی میکند با آزمونوخطا وظایف خاص را درست انجام دهد. همچنین اگر بعد از اینکه کارش را درست انجام دهد، پاداش بگیرد (مثلاً امتیاز بگیرد) میفهمد که کارش را درست انجام داده است. این روش باعث بهبود عملکرد کامپیوتر میشود.
استفاده از روش یادگیری تقویتشده جهت کمک به دستگاهها برای مسلطشدن آنها روی انجام وظایف پیچیدهای که دارای حجم گسترده از دادههای غیرقابل پیشبینی و متغیر هستند، ضروری است. این روش مسیر را برای کامپیوترهایی که درحال تلاش برای انجام کارهای هدفمند مثل جراحی، هدایت خودرو، بازرسی چمدانها برای یافتن وسایل خطرناک و سایر موارد مشابه هستند، هموار میکند.
ما هر روز با ابزارهای یادگیری ماشینی در تعامل هستیم. از میان اینابزارها میتوان به ابزارهای فیلترینگ ایمیلهای اسپم و فیشینگ و همچنین بدافزارها در اینباکس ایمیل اشاره کرد. بانکها و سیستمهایی که کارتهای شتاب شما به آنها متصل هستند نیز از این فناوری برای هشدار در مورد مشاهده تراکنشهای حساب بانکی استفاده میکنند.
هنگام استفاده از دستیارهای صوتی مثل سیری و الکسا نیز از فناوری یادگیری ماشینی در پلتفرمهای تشخیص صدا و گفتار استفاده میشود. همچنین این فناوری به پزشکان برای اسکنکردن نتایج تصاویر رادیولوژی و آزمایش خون برای تشخیص بیماریهای مهلک مثل سرطان کمک میکند.
با رشد روند کشف تواناییهای بالقوه یادگیری ماشینی، استفاده از این فناوری برای انجام وظایفی با پیچیدگیهای فزاینده نیز درحال افزایش است. تقاضا برای استفاده از کامپیوترهای قادر به مدیریت دادههای بدون ساختار مثل تصاویر یا ویدیوها، بسیار زیاد شده و به همین دلیل حرکت بهسمت استفاده از یادگیری عمیق شروع شده است.
یادگیری عمیق چیست؟
همانطور که گفتیم، یادگیری ماشین برای ایجاد توانایی انجام وظایف توسط کامپیوترها بدون برنامهنویسی صریح برای آنها استفاده میشود. اگرچه کامپیوترهایی که از یادگیری ماشینی بهره میبرند، قادر به انجام وظایف هستند، اما هنوز هم طرز تفکر و رفتار ماشینی دارند. توانایی چنین کامپیوترهایی برای انجام برخی از وظایف پیچیده مثل جمعآوری اطلاعات از تصاویر یا ویدیوها، در مقایسه با توانایی انسان برای انجام چنین کارهایی، در سطح بسیار پایینتری است.
مدلهای یادگیری عمیق رویکرد بسیار پیچیدهای برای یادگیری ماشینی ارائه کردهاند و بهمنظور مقابله با چالشهای مدلهای یادگیری ماشین ایجاد شدهاند؛ زیرا مدلسازی این مدلهای یادگیری براساس ساختار مغز انسان بوده است.
شبکههای عصبی عمیق چندلایه پیچیده بهمنظور امکانپذیرکردن انتقال داده بین گرهها با روشهای پیوندخورده به یکدیگر، ایجاد شدهاند (درست مانند اعصاب انسان). نتیجه استفاده از چنین ساختاری، امکانپذیرشدن انتقال خطی دادههایی است که بهطور فزایندهای انتزاعی میشوند. با وجود اینکه ایجاد و تغذیه چنین سیستمی به دادههای زیادی نیاز دارد، اما سریعاً شروع به ایجاد نتیجه میکند. همچنین هنگام استفاده از چنین سیستمی، نیاز کمی به دخالت انسان است.
انواع الگوریتمهای یادگیری عمیق
رشد فزاینده تعداد الگوریتمهای یادگیری عمیق دستیابی به چنین اهدافی را امکانپذیر میکند. در این بخش تنها برای نشاندادن برخی از راههایی که دانشمندان و مهندسان داده قصد دارند از آنها برای بهرهمندی از قابلیتهای یادگیری عمیق استفاده کنند، شما را با دو الگوریتم این فناوری، یعنی شبکه عصبی پیچشی یا همگشتی یا کانولوشن و شبکههای عصبی بازگشتی آشنا میکنیم.
شبکه عصبی پیچشی یا همگشتی (Convolutional Neural Networks)
شبکههای عصبی پیچشی، الگوریتمهایی با ساختار ویژه هستند که برای کار با تصاویر طراحی شدهاند. منظور از واژه «پیچشی یا همگشتی یا کانولوشن» فرایندی است که برای هر عنصر یک تصویر، یک فیلتر وزنی بهکار میگیرد. این فیلتر به کامپیوتر کمک میکند خودش عناصر داخل تصویر را درک کند و به آنها واکنش نشان دهد.
بهرهمندی از این فیلتر زمانی که میخواهد تعداد زیادی از تصاویر را برای یافتن یک آیتم خاص یا ویژگی خاص اسکن کنید، کار را بسیار راحت میکند؛ مثلاً زمانی که میخواهید تصاویر بستر اقیانوس را برای یافتن نشانههای یک کشتی غرقشده یا تصویری از تعداد زیادی از افراد را برای یافتن چهره یک فرد خاص اسکن کنید.
در حوزه کامپیوتر، تحلیل تصاویر یا ویدیوها و درک آنها با کمک کامپیوتر، فناوری دید کامپیوتری یا بینایی کامپیوتری (Computer vision) نام دارد. این فناوری در ۱۰ سال اخیر در حوزه کامپیوتر رشد بسیار زیادی داشته است.
شبکههای عصبی بازگشتی (Recurrent Neural Networks)
شبکههای عصبی بازگشتی در یادگیری ماشینی یک عنصر کلیدی، یعنی حافظه را ارائه کرده است که در الگوریتمهای سادهتر وجود ندارد. کامپیوترهای دارای این شبکهها قادر به نگهداری نقاط داده گذشته و تصمیمات در حافظه هستند و در زمان بررسی دادههای کنونی، دادههای ذخیرهشده حافظه را نیز در نظر میگیرند. بهاینترتیب این شبکهها قدرت تأثیرگذاری در یک محیط را ارائه میدهند.
تمرکز اصلی شبکههای عصبی بازگشتی، پردازش زبان طبیعی است. کامپیوتر هم درست مانند انسان اگر به ساختار یک متن، شیوه انتخاب کلمات آن و علامتگذاری و رسمی یا غیررسمی بودن یک متن و محتوای قبل از آن دسترسی داشته باشد، میتواند آن را بهتر بفهمند. مثلاً اگر سیستمهای مسیریابی بتوانند به یاد بیاورند راه افرادی که مسیر پیشنهادی آنها را برای رسیدن به مقصد موردنظرشان انتخاب کردهاند، دو برابر شده است، دقت خود در مسیریابی را افزایش میدهند!
موارد اساسی تفاوت یادگیری ماشینی و یادگیری عمیق
تعداد موارد تفاوت یادگیری ماشینی و یادگیری عمیقی کم نیست، اما پنج تفاوت اساسی بین این دو فناوری زیرمجموعه هوش مصنوعی به شرح زیر است:
میزان دخالت انسان
درصورت استفاده از یادگیری ماشینی برای کسب نتیجه در مقایسه با زمانی که از یادگیری عمیق استفاده میکنیم، بیشتر نیازمند بهرهگیری از کمک و دخالت مستمر انسان هستیم. نحوه ایجاد سیستمهای یادگیری عمیق پیچیدهتر است، اما در مقابل، پس از راهاندازی تنها نیازمند حداقل میزان دخالت انسان است.
سختافزار
نرمافزارهای یادگیری ماشینی نسبت به الگوریتمهای یادگیری عمیق، پیچیدگی کمتری دارند و به همین دلیل میتوانند روی کامپیوترهای متداول اجرا شوند؛ اما سیستمهای یادگیری عمیق نیازمند استفاده از سختافزاری بسیار قدرتمندتر و منابع بیشتر هستند.
استفاده از چنین سیستمهایی بهدلیل نیازمندبودن آنها به قدرت پردازشی بیشتر، نیاز به استفاده از پردازندههای گرافیکی را بیشتر افزایش داده است. پردازندههای گرافیکی بهدلیل برخورداری از حافظههای دارای پهنای باند بالا و کارآمدبودن در زمینه انجام همزمان تعداد زیادی از عملیات، ابزارهای مفیدی برای استفاده از سیستمهای یادگیری عمیقتر هستند.
مدتزمان لازم برای راهاندازی
سیستمهای یادگیری ماشینی میتوانند سریعتر راهاندازی شوند، اما ممکن است عملکرد آنها ضعیفتر شود. راهاندازی سیستمهای یادگیری عمیق کمی بیشتر طول میکشد، اما نتایج موردنظر را فوراً ارائه میدهند. احتمالاً با ورود اطلاعات به این سیستمها، عملکرد آنها بهتدریج بهتر میشود.
رویکرد
سیستمهای یادگیری ماشینی معمولاً دادههای دارای ساختار را میطلبند و از الگوریتمهای متداول مثل رگرسیون خطی استفاده میکنند. در سیستمهای یادگیری عمیق از شبکههای عصبی استفاده میشود و این سیستمها با هدف پردازش حجم وسیعی از دادههای بدون ساختار ایجاد میشوند.
کاربرد
همانطور که قبلاً گفتیم، یادگیری ماشینی در بخشهایی مثل اینباکس ایمیل، بانک، مطب دکتر و... برای انجام برخی از وظایف استفاده میشود؛ اما با فناوری یادگیری عمیق میتوان نرمافزارهای پیچیدهتر و مستقلتری برای اهداف مختلف مثل هدایت خودروهای خودران یا کمک به رباتهای جراح ایجاد کرد.
سؤالات متداول در مورد تفاوت یادگیری ماشینی و یادگیری عمیق
اصلیترین تفاوت یادگیری ماشینی و یادگیری عمیق به تواناییهای سیستمهای مجهز به این دو فناوری مربوط میشود. سیستمهای یادگیری عمیق میتوانند وظایف پیچیدهتری را انجام دهند و توانایی آنها در تفکر و انجام وظایف خاص، به تواناییهای انسان در این زمینهها نزدیکتر است.
سیستمهای یادگیری عمیق پیچیدهتر هستند و برای استخراج اطلاعات از تصاویر و ویدیوها، ناگزیر به استفاده از آنها هستیم.
سیستمهای یادگیری عمیق پیچیدهتر و هوشمندتر هستند (برای انجام وظایف پیچیده کمتر نیازمند کمک و دخالت انسان هستند). همچنین در مقایسه با سیستمهای یادگیری ماشینی، عملکرد بهتر و سرعت بالاتری دارند؛ اما نیازمند استفاده از سیستمهایی سختافزارهای قدرتمندتر هستند و راهاندازی آنها هم بیشتر طول میکشد.
دیدگاهها و نظرات خود را بنویسید
برای گفتگو با کاربران ثبت نام کنید یا وارد حساب کاربری خود شوید.
متاشفانهدمقاله خوبی بود که انگار فقط توی گوگل ترنسلیت پیست شده و نتیجه رو اینجا منتشر کردین...کاش کمی تایم صرف ویرایش وترجمه متن میکردین بهرحال مرسی
میتونست مقاله ی خیلی خوبی باشه ولی متاسفانه خیلی گُنگ و پیچیده نوشته شده بود! کاربران نیاز به ساده سازی یه مبحث دارن نه مطالب پیچیده!