“یادگیری عمیق” چیست؟

یادگیری عمیق

بعد از صحبت درباره “یادگیری ماشین” در مقاله گذشته، این بار می خواهم در ارتباط با “یادگیری عمیق” که موضوع داغی در دنیای هوش مصنوعی در سال های اخیر است، صحبت کنم. یادگیری عمیق زیرمجموعه ای از شبکه های عصبی است و شبکه های عصبی نیز خود زیرمجموعه ای از یادگیری ماشین است. در دیاگرام زیر، می توانید ارتباط این موضوعات را با یکدیگر مشاهده کنید:

در واقع یک شبکه یادگیری عمیق، یک شبکه عصبی است که دارای بیش از یک لایه ی مخفی است. در تصویر زیر، یک مقایسه ساده بین شبکه یادگیری عمیق و شبکه عصبی صورت گرفته است.

یادگیری عمیق، برای اولین بار، تقریبا در سال ۲۰۰۶ معرفی گردید، اما مفهوم شبکه های عصبی به شکل فعلی، بسیار قدیمی تر است و به دهه ۱۹۷۰ باز می گردد. عصر طلایی شبکه های عصبی، دهه ۱۹۸۰ بود و خیلی اختراعات مانند ماشین خودکار بدون راننده یا الگوریتم تشخیص ارقام، در آن دهه ایجاد شد. اما شبکه های عصبی برای مدتی از حوزه توجه پژوهشگران دور شد. دلیلی برای این امر، اینست که شبکه های عصبی نیاز به هزینه محاسباتی بالایی داشتند و کامپیوترها در آن دوران خیلی دارای سرعت پردازش بالایی نبودند. در دهه های اخیر، با پیشرفت های حاصله در واحدهای پردازش کامپیوترها و همچنین در GPU ها، یادگیری عمیق و شبکه های عصبی، مجددا مورد توجه محققان قرار گرفتند.

در گذشته، پژوهشگران برای اهداف شبیه سازی، تنها از تولباکس های آماده شبکه عصبی در نرم افزارهایی مانند Matlab استفاده می کردند. اما در سال های اخیر، فریمورک های مختلفی برای یادگیری ماشین و یادگیری عمیق توسعه داده شده اند. به عنوان مثال، کراس، تنسورفلو و پای ترچ، فریمورک های مشهور زبان برنامه نویسی پایتون و “کفه” فریمورک یادگیری عمیق زبان سی پلاس پلاس هستند. برخی از فریمورک ها مانند پای ترچ، به علت نیاز محساباتی بالای مدل های یادگیری عمیق، تنها بر روی GPU که به نوعی سریعتر از CPU است، ران می شوند.

یادگیری عمیق، موجب پیشرفت هایی در زمینه “بینایی کامپیوتر” گردید که این موضوع مقاله بعدی خواهد بود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *