یادگیری عمیق (Deep Learning) یکی از شاخه های هوش مصنوعی و به طور خاص یادگیری ماشین (Machine Learning) است که در واقع نوعی از شبکه های عصبی مصنوعی که معماری آن ساختار و عملکردی شبیه مغز انسان دارد.
یادگیری عمیق چیست؟
به شبکه های عصبی بزرگ، یادگیری عمیق می گویند. هسته ی اصلی یادگیری عمیق بر پایه ی داشتن کامپیوترهای سریع و داده های کافی برای آموزش شبکه های عصبی بزرگ استوار است. در یادگیری عمیق مدل ممکن است به دقتی بیشتر از دقت انسان هم دست یابد.
تئوری یادگیری عمیق برای اولین بار در دهه ی ۱۹۸۰ مطرح شد و به دلایل زیر امروزه به صورت عملیاتی درآمده است:
یادگیری عمیق نیازمند مقادیر زیادی از دادههای برچسب دار است. برای مثال توسعه خودروی بدون سرنشین نیازمند میلیون ها تصویر و هزاران ساعت ویدئو است.
یادگیری عمیق نیازمند قدرت محاسبه بالایی است. GPU ها چون معماری موازی دارند برای یادگیری عمیق مناسب هستند. در واقع توسعه ی پردازنده های گرافیکی راه را برای توسعه ی مدل های یادگیری عمیق هموار کرده است. هم اکنون با وجود این نوع پردازنده ها مدت زمان پردازش از چندین روز به چند ساعت کاهش یافته است.
یادگیری عمیق چگونه کار می کند؟
اغلب مدل های یادگیری عمیق از شبکه های عصبی مصنوعی استفاده می کنند به همین دلیل به این مدل ها، شبکه های عصبی عمیق هم گفته می شود.
اصطلاح “عمیق” به تعداد لایه های مخفی در شبکه ی عصبی اشاره دارد. شبکه های عصبی می توانستند ۲ یا ۳ لایه داشته باشند اما امروزه شبکه های عصبی عمیق می توانند به اندازه ی ۱۵۰ لایه هم داشته باشند.
مدل های یادگیری عمیق نیاز به حجم بالایی از داده های برچسب خورده و معماری شبکه های عصبی دارند. این مدل ها ویژگی ها را به صورت خودکار استخراج می کنند و نیازی به استخراج دستی ویژگی ندارند.
یکی از مدل های رایج شبکه های عصبی عمیق، شبکه ی عصبی کانوولوشن یا پیچشی (convolutional neural networks) که به اختصار CNN یا ConvNet خوانده می شود.
تفاوت یادگیری ماشین و یادگیری عمیق چیست؟
یادگیری عمیق حالت خاص یادگیری ماشین است. در یادگیری ماشین، با استخراج دستی ویژگی ها کار شروع می شود. از این ویژگی ها برای ساخت مدلی استفاده می شود که کار دسته بندی را انجام می دهد. اما در یادگیری عمیق فرایند استخراج ویژگی ها دستی نیست و به صورت خودکار انجام می شود.
تفاوت دیگر این در این است که در یادگیری عمیق با افزایش تعداد داده ها، مدل هم گسترش می یابد ولی در یادگیری ماشینی این گونه نیست و مدل تا یک حد خاصی گسترش پیدا می کند و بعد از آن، با افزایش داده ها تغییری نمی کند. یکی از ویژگی های کلیدی یادگیری عمیق بهبود یافتن آن با افزایش داده هاست.
یادگیری ماشین یا یادگیری عمیق؟
یادگیری ماشین مجموعهای از تکنیکها و مدلهایی را ارایه میدهد که شما بر اساس کاربرد، اندازه دادههایی که پردازش میکنید، و نوع مسئله ای که با آن مواجه هستید از این تکنیک ها استفاده می کنید. یک مدل یادگیری عمیق موفق به مقدار بسیار زیادی داده برای آموزش مدل و GPU (پردازنده های گرافیکی) برای پردازش سریع دادههای شما نیاز دارد.
وقتی که باید بین یادگیری ماشین و یادگیری عمیق یکی را انتخاب کنید، به بررسی وجود پردازنده های گرافیکی و مقدار داده های خود بپردازید. اگر به داده های بسیار و پردازنده ی گرافیکی دسترسی ندارید گزینه ی انتخابی شما می تواند یادگیری ماشین باشد. یادگیری عمیق، فرایندی پیچیده دارد شما نیاز به داده های بسیاری دارید و برای پردازش این داده ها نیاز به پردازنده ی گرافیکی دارید تا کار پردازش این حجم عظیم داده ها با سرعت انجام شود.
چگونه مدل های یادگیری عمیق بسازیم؟
با سه روش می توان از یادگیری عمیق برای دسته بندی (classification) استفاده کرد:
یادگیری عمیق از صفر: برای این کار به یک مجموعه داده ی بسیاری بزرگ برچسب خورده و یک معماری شبکه ای احتیاج دارید. این روش برای برنامه های جدید یا برنامه هایی که تعداد دسته ی خروجی بالایی دارند مناسب است. اما روش رایجی نیست زیرا به زمان زیادی برای آموزش نیاز دارد.
یادگیری انتقالی: یادگیری انتقالی روش رایج یادگیری عمیق است. در این روش از مدل های از پیش آموزش داده شده استفاده می شود. در این روش کار خود را با شبکه های موجود مانند AlexNet و GoogLeNet شروع کرده و داده های بدون برچسب جدیدی را به این شبکه می دهید. در نتیجه با تغییراتی کوچک می توانید این شبکه را برای دسته بندی موارد جدید آماده کنید. در این حالت مقدار داده های مورد نیاز هم کمتر می شود و نیاز به زمان زیادی برای پردازش این داده ها نیست.
استخراج ویژگی ها: یکی از روش های یادگیری عمیق که رواج کمتری دارد، استفاده از شبکه برای استخراج ویژگی هاست. ویژگی ها را می توان از داخل این مدل خارج کرد و از این ویژگی ها در الگوریتم های یادگیری ماشین مانند SVM استفاده کرد.
کاربردهای یادگیری عمیق
ردپای یادگیری عمیق را می توان در صنایع مختلف از ماشین های خودران گرفته تا پزشکی دید. در ادامه مروری بر برخی کاربردهای یادگیری ماشین خواهیم داشت.
رانندگی خودکار
محققان اتومبیل های خودران و بدون سرنشین برای خودکار سازی شناسایی اشیایی مانند چراغ های راهنمایی، هشدارهای توقف، افراد پیاده از یادگیری ماشین استفاده می کنند.
صنایع دفاعی و هوافضا
برای شناسایی اشیا در داخل فضاپیما از یادگیری عمیق استفاده می کنند. بدین وسیله مناطق مورد نظر مشخص شده و همچنین مناطق امن و ناامن شناسایی می شوند.
تحقیقات پزشکی
دانشمندان حوزه ی سرطان از یادگیری عمیق برای تشخیص خودکار سلول های سرطانی استفاده می کنند. تیم هایی در دانشگاه UCLA یک میکروسکوپ پیشرفته ساختند که از دیتاستی با ابعاد بسیار بالا برای آموزش مدل یادگیری عمیق برای شناسایی دقیق سلولهای سرطانی استفاده کند.
اتوماسیون صنایع
یادگیری عمیق به بهبود ایمنی کارگران در اطراف ماشینآلات سنگین به وسیله تشخیص خودکار زمانی که افراد یا اشیا در فاصله نا امنی از ماشینها قرار دارند، کمک میکند.
الکترونیک
دستگاه هایی که در سیستم های پاسخگویی به صدای انسان کاربرد دارند از یادگیری ماشین برای تشخیص صدای انسان و درک منظور و ترجیحات او و پاسخگویی به او استفاده می کنند.
تشخیص و شناسایی گفتار
تشخیص گفتار اولین و موفق ترین نمونه ی بکارگیری یادگیری عمیق است.
پردازش هنرهای تجسمی
کاربرد پردازش تصویر در هنرهای تجسمی روز به روز در حال افزایش است. برای مثال در شناسایی دوره ای که نقاشی متعلق به آن است، مشخص کردن سبک یک کار هنری و اجرای آن بر روی یک تصویر یا ویدئو می تواند توسط مدل های یادگیری عمیق انجام شود.
سیستم های توصیه گر
Netflix، Amazon و Spotify و بسیار برنامه های دیگری وجود دارند که سیستم های توصیه گر خود وابسته هستند تا تجربه ی کاربران را افزایش داده و سرویس بهتری را به آن ها ارائه دهد. موتورهای توصیه گر می توانند با داشتن داده های کاوی از روش های یادگیری عمیق برای بهبود عملکرد خود استفاده کنند.
نظرکاوی
بسیاری از برنامه ها دارای سیستم بررسی نظرات هستند. امروزه می توان تکنیک های پردازش زبان طبیعی را برای استخراج اطلاعات از نظرات بکار گرفت و مثبت و منفی بودن نظرات را نیز مشخص کرد.
فیلتر محتوای غیر اخلاقی
بسیاری از سایت ها با محتوای غیر اخلاقی از سوی کاربران مواجه هستند. فیلتر این محتوا به صورت دستی کار دشواری است. با داشتن داده های کافی و الگوریتم های یادگیری عمیق می توان محتوای غیر اخلاقی را از اخلاقی تشخیص داد.
ترجمه ی ماشینی
در ترجمه ی ماشینی کلمات، عبارت ها و جملات یک زبان به صورت خودکار به زبان دیگر ترجمه می شوند. ترجمه ی ماشینی قبل از ظهور یادگیری عمیق هم انجام می شد اما با بکارگیری این فناوری دقت و درستی افزایش می یابد.
بیوانفورماتیک
در دوره ای که با داده های حجیم (بیگ دیتا) مواجه هستیم، استفاده از الگوریتم های یادگیری عمیق برای تحلیل داده های عظیم موجود در صنعت بیوانفورماتیک می تواند دانش زیادی را کشف کند.
کاربردهای جالب یادگیری عمیق به موارد بالا محدود نمی شود. تبلیغات، بازسازی تصاویر، کشف تقلب و کلاهبرداری، نظامی، پردازش تصویر، پردازش زبان طبیعی، کشف دارو و سم شناسی، مدیریت ارتباط با مشتری، نرم افزار پلاک خوان خودنگار و نرم افزار تشخیص چهره رخ نگار، نرم افزار تبدیل عکس به متن و بسیاری از موارد دیگر از کاربردهای این فناوری هستند.