
شاید همین ده سال پیش برای بسیاری، تصور اینکه ماشینها بتوانند یاد بگیرند و هر بار کارشان را بهتر از قبل انجام دهند هم ممکن نبود. بسیاری از تکنولوژیهایی که امروز از آنها استفاده میکنیم یا در دنیای اطراف ما وجود دارند چند سال پیش تنها در کتابهای علمی – تخیلی موجود بودند.
تحقق بسیاری از رؤیاهای کتابهای علمی و تخیلی در این روزها مدیون هوش مصنوعی و یادگیری عمیق است؛ ماشینهایی که بدون راننده حرکت میکنند، رباتهایی که جوابهای منطقی به حرفهای آدم میدهند و دستگاههایی که از روی چهره آدمها را میشناسند.
در این مقاله از یادگیری عمیق، تاریخچه و کاربردهایش با شما حرف میزنیم. اولازهمه ببینیم یادگیری عمیق چیست؟
یادگیری عمیق چیست؟
بهصورت خلاصه تعریف یادگیری عمیق را میتوان اینگونه بیان کرد:
روشهایی از یادگیری ماشین بر پایه استفاده از شبکههای عصبی عمیق که از دادههای موجود برای محاسبه رفتارها و خروجیهای آینده استفاده میکند.
اگر به این تعریف نگاه کنیم میفهمیم که در واقع یادگیری عمیق یکی از روشهای یادگیری ماشین است. در این روش ماشینها یاد میگیرند که بر اساس مدلهایی شبیه شبکههای عصبی مغز انسان مفاهیم سطح بالا و انتزاعی را یاد بگیرند. استفاده از یادگیری عمیق کمک میکند که ماشینها بتوانند تصمیمهایی شبیه تصمیمهای انسانی بگیرند.
در یادگیری عمیق از چند لایه مختلف شبکه عصبی استفاده میشود. هرکدام از این لایهها بخشهایی از اطلاعات ورودی را تحلیل میکنند. این لایههای چندگانه امکان پیشبینی را در یادگیری عمیق افزایش میدهند. تعداد این لایههای گاهی میتواند تا ۱۵۰ لایه برسد.
روشهای یادگیری عمیق
در یادگیری عمیق از روشهای متفاوتی استفاده میشود. این روشها بسته به کاربردهای متفاوت یادگیری عمیق و نوع دادههای ورودی و خروجی موردنیاز انتخاب میشود. از میان این انواع یادگیری عمیق ما چند شیوه بسیار مرسوم را در اینجا معرفی میکنیم.
شبکههای عصبی کلاسیک (Classic Neural Networks)
به این روش «شبکه عصبی کاملاً متصل» هم گفته میشود. این روش توسط فرانک روزنبلات و در سال ۱۹۵۸ ابداع شد. این روش را با پرسپترونهای چندلایه میشناسیم. پرسپترون جایی است که این لایههای به یک لایه پیوسته متصل میشود.
شبکههای عصبی پیچشی (Convolutional Neural Networks)
این روش بیشتر از شبکه عصبی چشم گربه الهام گرفته است و بیشتر برای تحلیل دادههای تصویری استفاده میشود. این الگوریتم یادگیری عمیق تصاویر ورودی را دریافت میکند و به هر یک از اشیا یا جنبههای موجود در تصویر وزنهای قابل یادگیری میدهد. به این معنا که مشخص میکند هر کدام از اطلاعات موجود در آن تصویر چه قدر مهم است. این الگوریتم میتواند هرکدام از چیزهای موجود در تصویر را از هم متمایز کند.
شبکههای عصبی برگشتی (Recurrent Neural Networks)
یکی از مهمترین کاربردهای این روش یادگیری ماشین، در نرمافزارهای تشخیص گفتار است. مهمترین ویژگی این روش این است که یک حلقه بازگشتی دارد. این حلقه بازگشتی با استفاده از حافظه داخلی باعث میشود اطلاعاتی را که از لحظات قبلی به دست آمده در شبکه باقی بمانند.
رمزگذار خودکار (Auto Encoders)
این روش یکی از پرکاربردترین روشهای یادگیری عمیق است. در این روش یک شبکه عصبی به شکلی آموزش داده میشود که بتواند ورودیهای خود را بازتولید کند. از این روش در بازسازی تصاویر، رنگی کردن تصاویر سیاهوسفید، رفع نویز از تصاویر، کاهش ابعاد تصاویر استفاده میشود.
کاربرد یادگیری عمیق
یادگیری عمیق در بسیاری از چیزهایی که ما به طور روزمره از آنها استفاده میکنیم کاربرد دارد. بسیاری از ابزارهای هوشمند، رباتها، سامانههای توصیهگر و … از فناوریهای یادگیری عمیق استفاده میکنند. در معرفی روشهای یادگیری عمیق به برخی از کاربردهای این موضوع اشاره کردیم. در ادامه برخی از مشهورترین کاربردهای یادگیری عمیق را معرفی میکنیم.
- دستیارهای صوتی: الکسا، سیری، گوگل اسیستنت و سایر دستیارهای صوتیای که به طور روزمره از آنها استفاده میکنیم از یادگیری عمیق برای درک بهتر دستورات انسان استفاده میکنند.
- ترجمه: زیرنویسهای خودکار ترجمه فیسبوک، تا نرمافزارهای ترجمه همزمان و ابزارهای ترجمهای مثل گوگل ترنسلیت همه از روشهای یادگیری عمیق استفاده میکنند.
- پهپادها و ماشینهای خودران: پهپادهای خودران و یا ماشینهای بدون راننده با استفاده از سنسورهایی محیط اطرافشان را میبینند. آنها برای اینکه بر اساس این مشاهدات تصمیم درست را بگیرند از یادگیری عمیق استفاده میکنند.
- باتهای چت: در بسیاری از گفتگوهایی که روزانه با وبسایتها یا خدماتدهندگان اینترنتی انجام میدهیم یک بات پاسخگوی ماست. این باتها با فناوری یادگیری عمیق کار میکنند.
- تشخیص چهره: کامپیوترها امروز چهره ما را بهخوبی میشناسند، آنقدر که میتوانیم با نشاندادن صورتمان قفل تلفن همراه را باز کنیم یا حتی حساب بانکی باز کنیم. این فناوریهای تشخیص چهره به کمک یادگیری عمیق کار میکنند.
- سامانههای توصیهگر: این سامانهها موقعی که مشغول خرید اینترنتی هستید به شما محصولاتی را پیشنهاد میدهند که دوستشان دارید یا به آنها احتیاج دارید. این سامانهها با کمک یادگیری عمیق این توانایی را پیدا میکنند.
- توصیف عکس: افراد نابینا و کمبینا از نرمافزارهایی استفاده میکنند که عکسها را برای آنها توصیف میکنند. یادگیری عمیق باعث میشود این نرمافزارها بتوانند تصاویر را بهدقت برای انسانها توضیح دهند.
- ویدئوهای تقلبی (Deepfake): اینها یکی از پردردسرترین کاربردها یادگیری عمیق هستند. در این ویدئوها تصویر افراد عمدتاً مشهور و لحن صدای آنها به طور کاملاً تقلبی بازسازی میشود.
یادگیری عمیق چه تفاوتی با یادگیری ماشین دارد؟
پاسخ به این سؤال میتواند بسیار ساده و همزمان بسیار پیچیده باشد. ممکن است پاسخها به این سؤال به نظر پیشپاافتاده و بدیهی بیایند. اما یادگیری ماشین و یادگیری عمیق شباهتها و تفاوتهای مهمی دارند که در ادامه درباره آنها حرف میزنیم.
اولازهمه باید بگوییم که این دو کاملاً چیزهای متضادی از هم نیستند. در واقع یادگیری عمیق یکی از روشهای یادگیری ماشین است. اما این روش با روشهای معمول یادگیری ماشین تفاوتهای مهمی دارد که باعث میشود یادگیری عمیق را بهعنوان دانشی جداگانه بشناسیم.
بهعنوان اولین تفاوت میان این دو میتوان به این نکته اشاره کرد که یادگیری ماشین در واقع روشهایی است که ماشینها از طریق آنها میتوانند کارها را بدون دخالت انسان انجام دهند. اما یادگیری عمیق در مور داین است که بتوانیم کامپیوترها را آموزش دهیم که با مدلی شبیه مغز انسان عمل کنند. به زبان دیگر همانطور که از اسمش برمیآید یادگیری عمیق، کامپیوترها میزان یادگیری عمیقتری از روش یادگیری ماشین خواهند داشت.
تفاوت مهم دیگر بین یادگیری ماشین و یادگیری عمیق تفاوت در مقیاسهاست. یادگیری ماشین معمولاً با تعداد محدودی داده هم کار میکند. اما یادگیری عمیق نیاز به حجم انبوهی از داده دارد. به همین دلیل هم یادگیری ماشین با ابزارهای معمول قابل انجام است اما یادگیری عمیق نیاز به منابع فراوانی برای ذخیره و تحلیل دادهها دارد.
این دو در کاربرد هم تفاوت دارند. یادگیری ماشین معمولاً بهسختی میتواند تصاویر و ویدئوها را تحلیل کند اما یکی از مهمترین کاربردهای یادگیری عمیق تحلیل تصاویر است. تفاوت دیگر در زمینه دادههای ورودی هم مربوط به ساختاریافته یا نیافته بودن دادههاست. دادههای مورداستفاده در یادگیری ماشین معمولاً دادههای ساختاریافتهاند اما در یادگیری عمیق عموماً از دادههای غیرساختاریافته استفاده میشود.
جمعبندی
یادگیری ماشین از جمله دانشهایی است که زندگی و دنیای کسبوکار را تا حد زیادی در دوران ما دگرگون کرده است. در میان این دگرگونیها یادگیری عمیق روشی انقلابی محسوب میشود. اگر یادگیری ماشین میتواند کاری کند که ماشینها بتوانند بهخوبی انسانها کار کنند، یادگیری عمیق ابزاری در دست انسانهاست که میتواند کارها را بهتر از آنها انجام دهد.