
یادگیری عمیق deep learning چیست؟ هرآنچه باید درباره این فناوری بدانید
یادگیری عمیق زیرمجموعهای از یادگیری ماشین است که در اصل یک شبکه عصبی با سه لایه یا بیشتر است. الگوریتمهای شبکههای عصبی مصنوعی تلاش میکنند تا با شبیه سازی ساختار مغز، به ماشینها بیاموزند مانند انسان فکر کنند. رهبران و متخصصان در زمینه چیستی یادگیری عمیق ایدههای دارند که این دیدگاههای خاص و ظریف، نور زیادی را در مورد دیپ لرنینگ روشن میکند. در این مقاله ما پس از بررسی چیستی و تاریخچه یادگیری عمیق، به بررسی اهمیت، اهداف، انواع و کاربردهای آن بعلاوه شبکه عصبی مصنوعی و الگوریتمهای پرکاربرد آن خواهیم پرداخت.
یادگیری عمیق چیست؟
فناوری یادگیری عمیق به زبان ساده یک تکنیک یادگیری ماشین است که به رایانهها میآموزد تا کارهایی را انجام دهند که به طور طبیعی برای انسان اتفاق میافتد تا آنها نیز بتوانند مانند انسان فکر کرده و تصمیم گیری کنند. یادگیری عمیق یک فناوری کلیدی در پشت خودروهای خودران است که به آنها این امکان را میدهد تابلوی ایست و یا عابر پیاده را از تیر چراغ برق تشخیص دهند. یادگیری عمیق در سالهای اخیر به دلایل نتایج حاصل از عملکردش در سادهسازی فرآیندها مورد توجه قرار گرفته است. انسان به کمک دیپ لرنینگ توانسته است به نتایجی دست پیدا کند که قبلاً برایش ممکن نبود.
در یادگیری عمیق، یک مدل کامپیوتری یاد میگیرد که وظایف طبقهبندی را مستقیماً از روی تصاویر، متن یا صدا انجام دهد. مدلهای دیپ لرنینگ میتوانند به دقت پیشرفتهای دست یابند، که گاهی اوقات از عملکرد سطح انسانی فراتر میرود. مدلها با استفاده از مجموعه بزرگی از دادههای برچسبگذاری شده و معماریهای شبکه عصبی که حاوی لایههای زیادی هستند، آموزش داده میشوند. الگوریتمهای یادگیری عمیق دادهها را از طریق چندین «لایه» الگوریتمهای شبکه عصبی مصنوعی اجرا میکنند، که هر کدام یک نمایش ساده از دادهها را به لایه بعدی منتقل میکنند.
اکثر الگوریتم های یادگیری ماشین روی مجموعه دادههایی که تا چند صد ویژگی یا ستون دارند به خوبی کار میکنند. با این حال، یک مجموعه داده بدون ساختار، مانند یک تصویر، دارای تعداد زیادی ویژگی است که این فرآیند دستوپا گیر یا کاملاً غیرقابل اجرا میشود. یک تصویر ۸۰۰ در ۱۰۰۰ پیکسل با رنگ RGB دارای ۲.۴ میلیون ویژگی است که برای الگوریتمهای یادگیری ماشین سنتی بسیار زیاد است. لذا محققین برای بررسی و تحلیل آن، به سراغ فناوری یادگیری عمیق میروند.
الگوریتمهای یادگیری عمیق
الگوریتمهای یادگیری عمیق با عبور از هر لایه شبکه عصبی، به تدریج بیشتر در مورد تصویر یاد میگیرند. لایههای اولیه یاد میگیرند که چگونه ویژگیهای سطح پایین مانند لبهها را شناسایی کنند، و لایههای بعدی ویژگیهای لایههای قبلی را به یک نمایش جامعتر تبدیل میکنند. به عنوان مثال، یک لایه میانی ممکن است لبهها را برای تشخیص بخشهایی از یک شی در عکس مانند یک پا یا یک شاخه شناسایی کند، در حالی که یک لایه عمیق تمام شی مانند یک سگ یا یک درخت را تشخیص میدهد.
تاریخچه
در ادامه این بخش از مقاله ما تصمیم داریم تا مسیر پدید آمدن یادگیری عمیق و اینکه تاریخچه یادگیری عمیق چیست؟ را مطالعه و مورد بررسی قرار دهیم.
سال ۱۹۴۳: کشف
تاریخچه یادگیری عمیق را میتوان در سال ۱۹۴۳ ردیابی کرد، زمانی که والتر پیتز Walter Harry Pitts, Jr و وارن مک کالوچ Warren Sturgis McCulloch یک مدل کامپیوتری بر اساس شبکههای عصبی مغز انسان ایجاد کردند. آنها از ترکیبی از الگوریتم ها و ریاضیات استفاده کردند و نتیجه آن را “منطق آستانه” نامیدند تا فرآیند فکر انسان را تقلید کنند. از آن زمان، Deep Learning یا همان یادگیری عمیق به طور پیوسته تکامل یافته است و در این مسیر تنها دو بار وقفه قابل توجه در توسعه آن دیده شد که هر دو با زمستانهای بدنام هوش مصنوعی مرتبط بودند.
۱۹۶۵ تا ۱۹۷۰: توسعه الگوریتمهای یادگیری عمیق و اولین زمستان هوش مصنوعی
اولین تلاشها در توسعه الگوریتمهای یادگیری عمیق توسط الکسی گریگوریویچ ایواخننکو Alexey Grigoryevich Ivakhnenko (روش گروهی مدیریت دادهها را توسعه داد) و والنتین گریگوریویچ لاپا Valentin Grigorʹevich Lapa (نویسنده سایبرنتیک و تکنیکهای پیش بینی) در سال ۱۹۶۵ انجام شد. آنها از مدلهایی با توابع چندجملهای فعال استفاده و سپس آنها را مورد تجزیه و تحلیل آماری قرار دادند. از هر لایه، بهترین ویژگیهای آماری انتخاب شده و سپس به لایه بعدی (فرآیند آهسته و دستی) منتقل شدند.
در طول دهه ۱۹۷۰، اولین زمستان هوش مصنوعی آغاز شد، و نتیجه آن تحقیقات بسیاری بود که به تعویق افتادند. در آمریکا طی زمستان اول هوش مصنوعی بودجه تحقیقات هوش مصنوعی و یادگیری عمیق محدود شد اما با این وجود خوشبختانه، افرادی بودند که بدون بودجه به تحقیق در این بخشها پرداختند.
انتشار برگشتی، استفاده از خطاها در آموزش مدلهای یادگیری عمیق، به طور قابل توجهی در سال ۱۹۷۰ تکامل یافت. این زمانی بود که Seppo Linnainmaa پایان نامه کارشناسی ارشد خود را نوشت، که شامل یک کد FORTRAN برای انتشار برگشتی بود. متأسفانه، این مفهوم تا سال ۱۹۸۵ برای شبکه های عصبی به کار نرفت.
سال ۱۹۷۹: شبکههای عصبی کانولوشنال
اولین “شبکه های عصبی کانولوشنال” توسط کونیهیکو فوکوشیما Kunihiko Fukushima استفاده شد. فوکوشیما شبکه های عصبی را با لایه های چندگانه ادغام و کانولوشن طراحی کرد. در سال ۱۹۷۹، او یک شبکه عصبی مصنوعی به نام Neocognitron ایجاد کرد که از یک طرح سلسله مراتبی و چند لایه استفاده میکرد. این طراحی به رایانه اجازه داد تا الگوهای بصری را یاد بگیرد. شبکهها شبیه نسخههای مدرن بودند، اما با استراتژی تقویتی فعالسازی مکرر در لایههای چندگانه آموزش دیدند که با گذشت زمان قدرت بیشتری پیدا کرد. علاوه بر این، طراحی فوکوشیما امکان تنظیم ویژگیهای مهم را بهصورت دستی با افزایش «وزن» اتصالات خاص فراهم میکند.
سال ۱۹۸۵ تا ۱۹۹۷: ادامه توسعه الگوریتمهای یادگیری عمیق در کنار زمستان دوم هوش مصنوعی:
در سال ۱۹۸۹، Yann LeCun اولین نمایش روش پس انتشار را در آزمایشگاه Bell ارائه کرد. او شبکههای عصبی کانولوشنال را با انتشار برگشتی برای خواندن ارقام «دستنویس» ترکیب کرد. این سیستم درنهایت برای خواندن اعداد چک های دست نویس مورد استفاده قرار گرفت.
این زمان همچنین زمانی است که دومین زمستان هوش مصنوعی (دهه ۱۹۸۵-۱۹۹۰) آغاز شد. در زمستان دوم هوش مصنوعی افراد بیشازحد خوشبین، پتانسیل “فوری” هوش مصنوعی را اغراق کرده بودند، انتظارات را شکستند و سرمایهگذاران را خشمگین کردند. عصبانیت آنقدر شدید بود که عبارت هوش مصنوعی به جایگاه شبه علم رسید. خوشبختانه، برخی از افراد به کار بر روی هوش مصنوعی یا به اختصار AI و یادگیری عمیق یا همان DL ادامه دادند و پیشرفت های چشمگیری حاصل شد. در سال ۱۹۹۵، دانا کورتس و ولادیمیر واپنیک ماشین بردار پشتیبانی (سیستمی برای نقشه برداری و شناسایی داده های مشابه) را توسعه دادند و همچنین LSTM (حافظه کوتاه مدت طولانی) برای شبکه های عصبی مکرر در سال ۱۹۹۷ توسط Sepp Hochreiter و Juergen Schmidhuber توسعه یافت.
[irp posts=”4970″]سالهای ۱۹۹۹ تا ۲۰۱۱: رشد GPUها و پروژه ImageNet
گام مهم بعدی تکاملی برای یادگیری عمیق در سال ۱۹۹۹ اتفاق افتاد، زمانی که کامپیوترها در پردازش داده ها سریعتر شدند و GPU (واحدهای پردازش گرافیکی) توسعه یافتند. پردازش سریعتر، با پردازشگر گرافیکی تصاویر، سرعت محاسبات را ۱۰۰۰ برابر در یک بازه زمانی ۱۰ ساله افزایش داد. در این مدت، شبکه های عصبی شروع به رقابت با ماشینهای بردار پشتیبان کردند. این در حالی است که یک شبکه عصبی میتواند در مقایسه با یک ماشین بردار پشتیبانی کند باشد، شبکه های عصبی با استفاده از داده های مشابه نتایج بهتری ارائه میدهند
در حدود سال ۲۰۰۰، مسئله گرادیان ناپدید کننده کشف و مشخص شد که ویژگیهایی که در لایههای پایینتر تشکیل شدهاند، توسط لایههای بالایی آموخته نمیشوند، زیرا هیچ سیگنال یادگیری به این لایهها نمیرسد. این یک مشکل اساسی برای همه شبکههای عصبی نبود، فقط برای شبکههایی که روشهای یادگیری مبتنی بر گرادیان دارند. پس از آن منابع مشکل شناسایی و متخصصین تعدادی از توابع فعال سازی ورودی خود را متراکم کردند و به نوبه خود محدوده خروجی را متمرکز ساختند.
در سال ۲۰۰۱، یک گزارش تحقیقاتی توسط گروه متا (که اکنون گارتنر نامیده میشود) چالش ها و فرصت های رشد داده ها را سه بعدی توصیف کرد. این گزارش افزایش حجم داده ها و افزایش سرعت داده ها را افزایش دامنه منابع و انواع داده ها توصیف کرده است. این فراخوانی بود برای آماده شدن برای حجوم بیگ دیتا که تازه شروع شده بود.
در سال ۲۰۰۹، فی فی لی، استاد هوش مصنوعی در استنفورد، ImageNet را راه اندازی کرد و یک پایگاه داده رایگان از بیش از ۱۴ میلیون تصویر برچسب گذاری شده را جمع آوری کرد. اینترنت پر از تصاویر بدون برچسب است و برای آموزش شبکه های عصبی به تصاویر برچسب دار نیاز بود. پروفسور لی گفت: «دیدگاه ما این بود که داده های بزرگ روش کار یادگیری ماشین را تغییر دهد. داده ها باعث یادگیری می شوند.»
تا سال ۲۰۱۱، سرعت GPUها به طور قابل توجهی افزایش یافته بود و امکان آموزش شبکه های عصبی کانولوشنال “بدون” پیش آموزش لایه به لایه را فراهم میکرد. با افزایش سرعت محاسبات، مشخص شد که یادگیری عمیق دارای مزایای قابل توجهی از نظر کارایی و سرعت است.
سالهای ۲۰۱۲ تاکنون: نوآوری و پروژههای توسعه دهنده کنونی
در سال ۲۰۱۲، Google Brain نتایج یک پروژه غیرمعمول به نام The Cat Experiment را منتشر کرد. این پروژه آزادانه مشکلات «یادگیری بدون نظارت» را بررسی کرد. Deep Learning از “یادگیری نظارت شده” استفاده میکند، به این معنی که شبکه عصبی کانولوشنال با استفاده از داده های برچسب دار آموزش داده میشود (تصاویر ImageNet را در نظر بگیرید). با استفاده از یادگیری بدون نظارت، به یک شبکه عصبی کانولوشنال داده های بدون برچسب داده میشود و سپس از آن خواسته میشود تا الگوهای تکرار شونده را جستجو کند.
آزمایش گربه یا همان The Cat Experiment از یک شبکه عصبی که در بیش از ۱۰۰۰ کامپیوتر پخش شده بود استفاده کرد. ده میلیون تصویر “بدون برچسب” به طور تصادفی از یوتیوب گرفته شد، به سیستم نشان داده شد و سپس نرم افزار آموزشی اجازه اجرا یافت. در پایان آموزش، یک نورون در بالاترین لایه مشخص شد که به شدت به تصاویر گربهها پاسخ میدهد. اندرو نگ، بنیانگذار پروژه، گفت: «ما همچنین نورونی را پیدا کردیم که به شدت بهصورت انسان پاسخ میداد. یادگیری بدون نظارت همچنان یک هدف مهم در زمینه دیپ لرنینگ است.
Cat Experiment حدود ۷۰% بهتر از پیشینیان خود در پردازش تصاویر بدون برچسب کار میکند. با این حال، کمتر از ۱۶ درصد از اشیاء مورد استفاده برای تمرین را تشخیص داد و حتی با اجسامی که چرخانده یا حرکت میکردند، عملکرد بدتری داشت.
در حال حاضر، پردازش داده های بزرگ و تکامل هوش مصنوعی هر دو به دیپ لرنینگ وابسته هستند. دیپ لرنینگ هنوز در حال تکامل است و به ایدههای خلاقانه نیاز دارد.
اهمیت یادگیری عمیق
اهمیت یادگیری عمیق در حل مسائل پیچیده و سخت است. درست زمانی که الگوریتم ها و روشهای دیگر نمیتوانند جوابی داشته باشند، یادگیری عمیق بهترین گزینه خواهد بود. توانایی پردازش تعداد زیادی از ویژگیها، نقطه قوت یادگیری عمیق است. این فناوری در هنگام برخورد با داده های بدون ساختار بسیار قدرتمند عمل میکند و میتوانند برای حل مسائل پیچیده مورد استفاده قرار گیرند، زیرا برای مؤثر بودن، به دسترسی به حجم وسیعی از دادهها نیاز دارند. به عنوان مثال، ImageNet، معیار رایج برای آموزش مدل های دیپ لرنینگ برای تشخیص جامع تصویر، به بیش از ۱۴ میلیون تصویر دسترسی دارد.
اگر داده ها خیلی ساده یا ناقص باشند، یک مدل دیپ لرنینگ بیشازحد آن را پردازش کرده و درنهایت به احتمال زیاد نمیتواند پاسخ خوبی ارائه دهد. در نتیجه، مدلهای یادگیری عمیق به اندازه تکنیکهای دیگر (مانند درختهای تصمیم تقویتشده یا مدلهای خطی) برای اکثر مشکلات تجاری کاربردی مانند درک ریزش مشتری، شناسایی تراکنشهای تقلبی و موارد دیگر با مجموعه دادههای کوچکتر و ویژگیهای کمتر مؤثر نیستند. تنها در موارد خاصی مانند طبقه بندی چند کلاسه، یادگیری عمیق میتواند برای مجموعه داده های کوچکتر و ساختار یافته کار کند.
اهداف یادگیری عمیق
مهمترین هدف یادگیری عمیق این است که ماشین ها مانند انسان فکر کنند و نسبت به مسائل و اتفاقات اطرافشان واکنش مناسبی از خود نشان دهند. همچنین یکی از مزایای اصلی یادگیری عمیق در حل مسائل پیچیده ای است که نیازمند کشف الگوهای پنهان در داده ها و یا درک عمیق روابط پیچیده بین تعداد زیادی از متغیرهای وابسته به هم هستند. هدف الگوریتم های یادگیری عمیق کشف الگوهای پنهان از داده ها، ترکیب آنها با هم و کمک به تصمیم گیری بسیار کارآمدتری است.
انواع یادگیری عمیق
در این بخش از مقاله به بررسی انواع شبکههای یادگیری عمیق پرداخته شده است:
شبکه عصبی پیشخور یا Feedforward neural network
- در این شبکه عصبی کنترل جریان از لایه ورودی صورت میگیرد و به سمت لایه خروجی میرود.
- این نوع شبکه ها فقط دارای تک لایه یا فقط ۱ لایه پنهان هستند.
- از آنجایی که دادهها فقط در یک جهت حرکت میکنند، در این شبکه تکنیک پس انتشار وجود ندارد.
- در این شبکه مجموع وزن های موجود به لایه ورودی وارد میشود.
- از این نوع شبکه ها در تشخیص چهره با استفاده از بینایی ماشین استفاده میشود.
شبکه عصبی تابع پایه شعاعی یا Radial basis function neural networks
- این شبکه عصبی معمولاً بیش از ۱ لایه و ترجیحاً دو لایه دارد
- در این نوع شبکه فاصله نسبی از هر نقطه تا مرکز محاسبه شده و به لایه بعدی منتقل میشود.
- شبکههای پایه شعاعی معمولاً در سیستمهای بازیابی برق برای بازیابی برق در کوتاهترین بازه زمانی برای جلوگیری از خاموشی استفاده میشوند.
پرسپترون چند لایه یا Multi-layer perceptron
- این نوع شبکه ها بیش از ۳ لایه دارند و برای طبقه بندی داده های غیر خطی استفاده می شوند.
- این نوع شبکه ها به طور کامل با هر گره متصل هستند.
- پرسپترون چند لایه به طور گسترده برای تشخیص گفتار و سایر فناوری های یادگیری ماشین استفاده می شوند.
شبکه عصبی پیچشی یا Convolution neural network (CNN)
- CNN یکی از تغییرات پرسپترون چند لایه است.
- این شبکه عصبی میتواند بیش از ۱ لایه کانولوشن داشته باشد و از آنجایی که حاوی یک لایه کانولوشن است، شبکه بسیار عمیق با پارامترهای کمتر است.
- CNN برای تشخیص تصویر و شناسایی الگوهای مختلف تصویر بسیار مؤثر است.
شبکه عصبی بازگشتی یا Recurrent neural network (RNN)
- RNN نوعی شبکه عصبی است که در آن خروجی یک نورون خاص به عنوان ورودی به همان گره بازخورد داده میشود.
- این روش به شبکه کمک میکند تا خروجی را پیش بینی کند.
- این نوع شبکه در توسعه چتبات ها و فناوری های متن به گفتار استفاده میشود.
شبکه عصبی مدولار Modular neural network
- این نوع شبکه یک شبکه واحد نیست بلکه ترکیبی از چندین شبکه عصبی کوچک است.
- همه زیرشبکه ها یک شبکه عصبی بزرگ میسازند و همه آنها به طور مستقل برای رسیدن به یک هدف مشترک کار میکنند.
- این شبکه ها در شکستن مشکل به قطعات کوچک و سپس حل آن بسیار مفید هستند.
مدل توالی به توالی Sequence to sequence models
- این نوع شبکه عموماً ترکیبی از دو شبکه RNN است.
- مدل توالی به توالی روی رمزگذاری و رمزگشایی کار میکند، یعنی از رمزگذار تشکیل شده است که برای پردازش ورودی استفاده میشود و یک رمزگشا نیز در آن وجود دارد که خروجی را پردازش میکند.
- معمولاً از این نوع شبکه برای پردازش متن استفاده میشود که طول متن ورودی به اندازه متن خروجی نباشد.
چرا به یادگیری عمیق نیاز داریم؟
وقتی صحبت از کارهای پیچیده میشود، مفهوم یادگیری عمیق واقعاً درخشان است، چراکه اغلب نیازمند پرداختن به بسیاری از داده های بدون ساختار، مانند طبقه بندی تصاویر، پردازش زبان طبیعی، یا تشخیص گفتار، و غیره است. عملکرد برجسته الگوریتمهای یادگیری عمیق با وظایف پیچیدهای که به حجم عظیمی از دادهها نیاز دارند، همراه با افزایش در دسترس بودن مدلهای از پیش آموزشدیده، یادگیری عمیق را به ویژه برای بسیاری از سازمانها در چند سال گذشته جذاب کرده است. با این حال، این بدان معنا نیست که یادگیری عمیق پاسخی برای تمام مشکلات مربوط به یادگیری ماشین (ML) است. به عنوان مثال برای کارهای سادهتر که شامل مهندسی ویژگیهای سادهتر هستند و نیازی به پردازش دادههای بدون ساختار ندارند، یادگیری ماشین کلاسیک ممکن است گزینه بهتری باشد.
اما چگونه تشخیص دهیم که یادگیری عمیق چه زمانی ضروری و چه زمانی لازم نیست؟ از جمله نکاتی که برای انتخاب الگوریتمهای یادگیری عمیق نیاز است توجه شود اهداف تجاری، بلوغ هوش مصنوعی، جدول زمانی، داده ها و منابع و سایر مواردی از این دست است. از جمله کاربرد یادگیری عمیق حل مسائل پیچیده ای است که نیازمند کشف الگوهای پنهان در داده ها و یا درک عمیق روابط پیچیده بین تعداد زیادی از متغیرهای وابسته به هم هستند. الگوریتم های یادگیری عمیق میتوانند الگوهای پنهان از داده ها را نیز به تنهایی یاد بگیرند، آنها را با هم ترکیب و قوانین تصمیم گیری بسیار کارآمدتری بسازند.
نحوه انجام کار یادگیری عمیق
یادگیری عمیق در هوش مصنوعی تلاش میکند تا از طریق ترکیب ورودی دادهها، وزن دهی به آنها و سوگیری از مغز انسان و استفاده از شبکه های عصبی مصنوعی، مسائل را حل کند. این عناصر برای تشخیص دقیق، طبقه بندی و توصیف اشیاء درون داده ها با هم کار میکنند.
شبکههای عصبی عمیق از چندین لایه از گرههای بههمپیوسته تشکیل شدهاند که هر کدام بر روی لایه قبلی برای اصلاح و بهینهسازی پیشبینی یا طبقهبندی ساخته میشوند. این پیشروی محاسبات از طریق شبکه، انتشار روبهجلو نامیده میشود. لایه های ورودی و خروجی یک شبکه عصبی عمیق را لایههای مرئی مینامند. لایه ورودی جایی است که مدل یادگیری عمیق دادهها را برای پردازش جذب میکند و لایه خروجی جایی است که پیش بینی یا طبقه بندی نهایی انجام میشود.
فرآیند دیگری به نام پس انتشار وجود دارد که از الگوریتمهایی مانند نزول گرادیان برای محاسبه خطاها در پیشبینیها استفاده میکند و سپس وزنها و بایاسهای تابع را با حرکت به سمت عقب در لایههای مدل تنظیم میکند. انتشار روبهجلو و پس انتشار به یک شبکه عصبی اجازه میدهد تا پیش بینی کند و هرگونه خطا را بر اساس آن تصحیح کند. با گذشت زمان، الگوریتم به تدریج دقیقتر میشود.
در بالا سادهترین نوع شبکه عصبی عمیق توصیف شد. با این حال، الگوریتم های یادگیری عمیق بسیار پیچیده هستند و انواع مختلفی از شبکه های عصبی برای رسیدگی به مشکلات یا مجموعه داده های خاص وجود دارد. مثلاً، شبکههای عصبی کانولوشنال (CNN) که عمدتاً در برنامههای بینایی ماشین و طبقهبندی تصاویر مورد استفاده قرار میگیرند، میتوانند ویژگیها و الگوهای درون یک تصویر را شناسایی کنند و کارهایی مانند تشخیص اشیا را ممکن میسازند. در سال ۲۰۱۵، یک شبکه کانولوشنال برای اولین بار موفق شد یک انسان را در چالش تشخیص اشیا شکست دهد.
شبکه عصبی بازگشتی (RNN) نیز معمولاً در کاربردهای زبان طبیعی و تشخیص گفتار استفاده میشود، زیرا از دادههای سری زمانی یا ترتیبی استفاده میکند.
کاربردهای یادگیری عمیق
یادگیری عمیق در دنیای واقعی این روزها به بخشی از زندگی روزمره ما تبدیلشده است، اما در بیشتر موارد، آنقدر به خوبی در محصولات و خدمات ادغامشده که کاربران از پردازش داده های پیچیده ای که در پسزمینه انجام میشود بیاطلاع هستند. برخی از این نمونهها شامل موارد زیر است:
کاربرد یادگیری عمیق در دستیاران مجازی
دستیارهای مجازی برنامههای کاربردی مبتنی بر ابر هستند که دستورات صوتی زبان طبیعی را درک میکنند و وظایف خواسته شده توسط کاربر را انجام میدهند. آمازون الکسا، کورتانا، سیری و دستیار گوگل نمونههای معمولی از دستیاران مجازی هستند. آنها برای استفاده از تمامی توانمندیهایشان، نیاز دارند به اینترنت متصل شوند. هر بار که دستوری به دستیار داده میشود، آنها تمایل دارند تجربه کاربری بهتری را بر اساس تجربیات گذشته با استفاده از الگوریتم های یادگیری عمیق ارائه دهند.
کاربرد یادگیری عمیق در چتبات ها
چتبات ها میتوانند مشکلات مشتریان را در چند ثانیه حل کنند. رباتهای سخنگو یک برنامه هوش مصنوعی برای چت آنلاین از طریق متن یا متن به گفتار هستند که توانایی برقراری ارتباط و انجام اعمالی مشابه انسان را دارد. چتبات ها در تعامل با مشتری، بازاریابی در سایت های شبکه های اجتماعی و پیام رسانی فوری به مشتری بسیار استفاده می شوند. پاسخ های خودکار را به ورودی های کاربر ارائه میدهد. محققین از یادگیری ماشین و الگوریتم های یادگیری عمیق برای تولید انواع مختلف واکنش ها در چتبات ها استفاده میکند.
کاربرد یادگیری عمیق در اجرای قوانین
الگوریتمهای یادگیری عمیق میتوانند دادههای تراکنشات ما را تجزیه و تحلیل کنند و از آنها بیاموزند تا الگوهای خطرناکی را که نشاندهنده فعالیتهای احتمالی کلاهبرداری یا مجرمانه هستند، شناسایی کنند. تشخیص گفتار، بینایی کامپیوتر و سایر برنامههای یادگیری عمیق میتوانند با استخراج الگوها و شواهد از ضبطهای صدا و ویدئو، تصاویر و اسناد، کارایی و اثربخشی تجزیه و تحلیل تحقیقاتی را بهبود بخشند، که به مجری قانون کمک میکند تا مقادیر زیادی از دادهها را با سرعت و دقت بیشتری تجزیه و تحلیل کند.
کاربرد یادگیری عمیق در مراقبت های بهداشتی
از زمان دیجیتالی شدن سوابق و تصاویر بیمارستانی، صنعت مراقبت های بهداشتی از قابلیت های یادگیری عمیق بهره برده است و Deep Learning کاربرد خود را در بخش بهداشت و درمان را پیدا کرده است. امروزه با بهره گیری از یادگیری عمیق و الگوریتمهای شبکه عصبی مصنوعی تشخیص بیماری به کمک رایانهها امکان پذیر شده است. همچنین برنامههای تشخیص تصویر میتوانند از متخصصان تصویربرداری پزشکی و رادیولوژیستها پشتیبانی کنند و به آنها در تجزیه و تحلیل و ارزیابی تصاویر بیشتر در زمان کمتر کمک کنند. یادگیری عمیق علاوه بر موارد گفته شده برای تحقیقات پزشکی، کشف دارو، و تشخیص بیماریهای تهدید کننده زندگی مانند سرطان و رتینوپاتی دیابتی از طریق فرآیند تصویربرداری پزشکی استفاده میشود.
کاربرد یادگیری عمیق در بازی و سرگرمی
شرکتهایی مانند نتفلیکس، آمازون، یوتیوب و اسپاتیفای فیلمها، آهنگها و توصیههای ویدیویی مرتبط را برای بهبود تجربه مشتری خود به کمک یادگیری عمیق ارائه میدهند. الگوریتمهای شبکه عصبی مصنوعی بر اساس سابقه مرور، علاقه و رفتار یک شخص و شرکتهای پخش آنلاین موجود، پیشنهاداتی برای کمک به انتخاب محصول و خدمات ارائه میدهند. همچنین از تکنیک های یادگیری عمیق برای افزودن صدا به فیلم های صامت و تولید زیرنویس بهصورت خودکار استفاده میشود.
تجمیع اخبار و تشخیص اخبار جعلی به کمک یادگیری عمیق
Deep Learning به افراد این امکان را میدهد تا اخبار را بسته به شخصیت خوانندگان شخصی سازی کنند. به کمک یادگیری عمیق میتوان اطلاعات خبری را بر اساس پارامترهای اجتماعی، جغرافیایی، اقتصادی و ترجیحات فردی خواننده جمع آوری و فیلتر کرد. شبکههای عصبی به توسعه طبقهبندیکنندههایی کمک میکنند که میتوانند اخبار جعلی را شناسایی کرده و آنها را حذف کنند. آنها همچنین به خوانندگان خبر در مورد نقض احتمالی حریم خصوصی هشدار میدهند.
[irp posts=”18831″]آهنگسازی با یادگیری عمیق
یک ماشین میتواند نتها، ساختارها و الگوهای موسیقی را بیاموزد و به طور مستقل شروع به تولید موسیقی کند. مدل های مولد مبتنی بر یادگیری عمیق مانند WaveNet را میتوان برای توسعه صدای خام استفاده کرد و همچنین شبکه حافظه کوتاه مدت طولانی به تولید خودکار موسیقی کمک میکند. جعبه ابزار پایتون Music21 برای موسیقیشناسی به کمک رایانه استفاده میشود. این به ما اجازه میدهد تا با آموزش مبانی تئوری موسیقی، تولید نمونههای موسیقی و مطالعه موسیقی، سیستمی را برای توسعه موسیقی آموزش دهیم.
رنگ آمیزی تصویر با بادگیری عمیق
یکی از بخشهایی که با استفاده از یادگیری عمیق پیشرفت های قابل توجهی داشته رنگ بندی تصویر است. رنگ آمیزی تصویر گرفتن ورودی از یک تصویر در مقیاس خاکستری و سپس تولید خروجی از یک تصویر رنگی است. ChromaGAN نمونه ای از مدل رنگ آمیزی تصویر است. یک شبکه مولد در یک مدل متخاصم چارچوب بندی میشود که با ترکیب یک درک ادراکی و معنایی از توزیع طبقاتی و رنگ، رنگ آمیزی را می آموزد.
زیرنویس تصویر با یادگیری عمیق
زیرنویسی تصاویر روشی برای ایجاد یک توصیف متنی از یک تصویر است. متخصصین هوش مصنوعی از بینایی ماشین برای درک محتوای تصویر و یک مدل زبان برای تبدیل درک تصویر به کلمات به ترتیب درست، استفاده میکنند. یک شبکه عصبی تکراری مانند LSTM میتواند برای تبدیل برچسبها به یک جمله منسجم استفاده شود. مایکروسافت بهتازگی ربات کپشن خود را توسعه داده است که میتواند یک تصویر یا URL هر تصویر را در آن آپلود و سپس توضیحات متنی تصویر را مشاهده کرد. یکی دیگر از این برنامهها که یک زیرنویس عالی و بهترین هشتگها را برای عکس پیشنهاد میکند، Caption AI است.
یادگیری عمیق در صنعت تبلیغات
در صنعت تبلیغات، یادگیری عمیق امکان بهینهسازی تجربه کاربر را فراهم میکند. یادگیری عمیق به ناشران و تبلیغ کنندگان کمک میکند تا اهمیت تبلیغات را افزایش دهند و کمپین های تبلیغاتی را تقویت کنند. همچنین شبکههای تبلیغاتی را قادر میسازد تا تبلیغات پیش بینی کننده مبتنی بر دادهها، مناقصه زمان واقعی تبلیغات، و تبلیغات نمایشی هدفمند ایجاد کنند.
تفاوت شبکه عصبی و یادگیری عمیق
در حالی که یادگیری عمیق شبکه های عصبی را در معماری خود گنجانده است، تفاوت فاحشی بین یادگیری عمیق و شبکه های عصبی وجود دارد. در اینجا دو تفاوت اصلی بین یادگیری عمیق و شبکه های عصبی بیان شده است:
تعریف
شبکههای عصبی: ساختاری متشکل از الگوریتمهای یادگیری ماشین است که در آن نورونهای مصنوعی واحد محاسباتی هستهای را تشکیل میدهند که بر کشف الگوها یا اتصالات زیربنایی در یک مجموعه داده تمرکز میکند، درست مانند کاری که مغز انسان هنگام تصمیمگیری انجام میدهد
یادگیری عمیق: شاخه ای از یادگیری ماشینی است که از یک سری واحدهای پردازش غیرخطی متشکل از چندین لایه برای تبدیل و استخراج ویژگی استفاده میکند. دارای چندین لایه از شبکه های عصبی مصنوعی است که فرآیند یادگیری ماشین را انجام میدهند. لایه اول شبکه عصبی ورودی داده های خام را پردازش کرده و اطلاعات را به لایه دوم منتقل میکند.
سپس لایه دوم با افزودن اطلاعات اضافی (مثلاً آدرس IP کاربر) آن اطلاعات را بیشتر پردازش کرده و به لایه بعدی ارسال میکند. این روند در تمام لایه های شبکه یادگیری عمیق تا حصول نتیجه مطلوب ادامه می یابد.در حالی که شبکههای عصبی از نورونها برای انتقال دادهها در قالب مقادیر ورودی و مقادیر خروجی از طریق اتصالات استفاده میکنند، یادگیری عمیق با تبدیل و استخراج ویژگیهایی مرتبط است که تلاش میکند بین محرکها و پاسخهای عصبی مرتبط موجود در مغز رابطه برقرار کند.
ساختار
یک شبکه عصبی از اجزای زیر تشکیل شده است:
- نورون ها: نورون یک تابع ریاضی است که برای تقلید از عملکرد یک نورون بیولوژیکی طراحی شده است. میانگین وزنی ورودی داده را محاسبه میکند و اطلاعات را از طریق یک تابع غیرخطی، با نام تابع فعال سازی (به عنوان مثال، سیگموئید) منتقل میکند.
- اتصال و وزن: همانطور که از نام آن پیداست، اتصالات یک نورون را در یک لایه به نورون دیگری در همان لایه یا لایه دیگر متصل میکنند. هر اتصال دارای یک مقدار وزن است که به آن مرتبط است. در اینجا، یک وزن نشان دهنده قدرت اتصال بین واحدها است. هدف کاهش وزن برای کاهش احتمال خطا است.
- تابع انتشار: دو تابع انتشار در یک شبکه عصبی کار میکنند: انتشار به جلو که “مقدار پیش بینی شده” را ارائه میدهد و انتشار به عقب که “مقدار خطا” را ارائه میدهد.
- نرخ یادگیری: شبکه های عصبی با استفاده از Gradient Descent برای بهینهسازی وزن ها آموزش داده می شوند. پس انتشار در هر تکرار برای محاسبه مشتق تابع کاهش با توجه به هر مقدار وزن و کم کردن آن از وزن استفاده میشود. نرخ یادگیری تعیین میکند که چقدر سریع یا آهسته می خواهید مقادیر وزن (پارامتر) مدل را به روز کنید.
یک مدل یادگیری عمیق از اجزای زیر تشکیل شده است:
- مادربرد: چیپست مادربرد مدل معمولاً بر اساس خطوط PCI-e است.
- پردازنده ها: GPU مورد نیاز برای یادگیری عمیق باید با توجه به تعداد هسته ها و هزینه پردازنده تعیین شود.
- RAM: این حافظه فیزیکی و ذخیره سازی است. از آنجایی که الگوریتمهای یادگیری عمیق نیاز به استفاده بیشتر از CPU و فضای ذخیرهسازی بیشتری دارند، RAM باید بزرگ باشد.
- PSU: با افزایش تقاضای حافظه، استفاده از یک PSU بزرگ که میتواند عملکردهای عمیق و پیچیده یادگیری عمیق را انجام دهد بسیار مهم میشود.
تفاوت یادگیری ماشین و یادگیری عمیق
اگر یادگیری عمیق زیرمجموعهای از یادگیری ماشین است، پس تفاوت این دو باهم در چیست؟ در این بخش از مقاله یادگیری عمیق ما قصد داریم تا به بررسی تفاوت این دو نسبت به هم بپردازیم، پس با ما همراه باشید.
الگوریتمهای یادگیری ماشین از دادههای ساختاریافته و برچسبگذاری شده برای پیشبینی استفاده میکنند، به این معنی که ویژگیهای خاصی از دادههای ورودی، برای مدل تعریف شده و در جداول سازماندهی میشوند. این لزوماً به این معنی نیست که از داده های بدون ساختار استفاده نمیشود، بلکه اگر این کار را انجام دهند، معمولاً برخی از پیش پردازش ها را طی میکند تا آن را در قالبی ساختاریافته سازماندهی کند.
در حالی که یادگیری عمیق برخی از پیش پردازش داده ها را که معمولاً با یادگیری ماشین مرتبط هستند را حذف میکند. این الگوریتمها میتوانند دادههای بدون ساختار مانند متن و تصاویر را دریافت و پردازش کنند، و استخراج ویژگیها را خودکار و برخی از وابستگیها به متخصصان انسانی را از بین ببرند.
به عنوان مثال، فرض کنید مجموعهای از عکسهای حیوانات خانگی مختلف داشتیم و میخواستیم بر اساس «گربه»، «سگ»، «همستر» و غیره دستهبندی کنیم. الگوریتمهای یادگیری عمیق میتوانند تعیین کنند که کدام ویژگیها (به عنوان مثال گوش) برای تشخیص هر حیوانی از حیوان دیگر مهمتر هستند. در یادگیری ماشین، این سلسله مراتب ویژگیها بهصورت دستی توسط یک متخصص انسانی ایجاد میشود.
در جدول زیر میتوانید تفاوتهای یادگیری ماشین و یادگیری عمیق را به طور خلاصه و جمعبندی شده مشاهده کنید.
مثال عملی برای یادگیری عمیق
امروزه نمونههای زیادی از حضور یادگیری عمیق و هوش مصنوعی در اطراف ما وجود دارد که سبب راحتی زندگی بشر شدهاند. در ادامه به طور خلاصه به چند نمونه مثال عملی از یادگیری عمیق در زندگی پرداخته شده است.
خودروهای خودران تسلا
تسلا یک قهرمان برجسته برای رویکرد مبتنی بر بینایی ماشین در رانندگی خودران بوده است، و در کنفرانس بینایی کامپیوتری و تشخیص الگو (CVPR) امسال، دانشمند ارشد هوش مصنوعی این شرکت یعنی آندری کارپاتی دلیل آن را توضیح داد.
شبکه های عصبی عمیق یکی از اجزای اصلی پشت فناوری خودران هستند. شبکه های عصبی دوربین های داخل خودرو را برای جاده ها، علائم، ماشین ها، موانع و افراد تجزیه و تحلیل میکنند. تیم تسلا هفت تکرار مهندسی داده را پشت سر گذاشته است. آنها با یک مجموعه داده اولیه شروع کردند که روی آن شبکه عصبی خود را آموزش دادند. سپس یادگیری عمیق را در حالت سایه بر روی خودروهای واقعی به کار بردند و از محرک ها برای تشخیص ناسازگاری ها، خطاها و سناریوهای خاص استفاده کردند.
مترجم گوگل یا همان Google translate
ترجمه ماشینی یا میتوان گفت ترجمه خودکار شاید یکی از دشوارترین کارهای هوش مصنوعی با توجه به روان بودن زبان انسان باشد. اکنون مدلهای شبکه عصبی عمیق در زمینهای که به درستی ترجمه ماشین عصبی نامیده میشود، به نتایج پیشرفتهای دست مییابند. این یک رویکرد یادگیری سرتاسر برای ترجمه خودکار است، با پتانسیل برای غلبه بر بسیاری از نقاط ضعف سیستم های ترجمه مبتنی بر عبارت مرسوم.
در نوامبر ۲۰۱۶، گوگل روش ترجمه خود را به سیستمی به نام ترجمه ماشینی عصبی تغییر داد. از تکنیک های یادگیری عمیق برای ترجمه جملات کامل در یک زمان استفاده میکند که دقت بیشتری را بین انگلیسی و فرانسوی، آلمانی، اسپانیایی و چینی اندازه گیری کرده است.
هفت ابزار برتر یادگیری عمیق در سال ۲۰۲۱
امروزه برنامههای یادگیری عمیق مسئول تغییرات مختلفی در سیاره زمین هستند، که بخش عمدهای از آنها نشانههای گستردهای در حمل و نقل ما در این سیاره دارند. ۷ بهترین ابزار نرم افزار یادگیری عمیق در سال ۲۰۲۱ عبارتاند از:
- Torch
- Neural Designer
- TensorFlow
- Microsoft Cognitive Toolkit
- Pytorch
- ai
- Keras
یادگیری عمیق در متلب
متلب یادگیری عمیق را آسان میکند. MATLAB با ابزارها و عملکردهایی برای مدیریت مجموعه داده های بزرگ، جعبه ابزارهای تخصصی را برای کار با یادگیری ماشین، شبکه های عصبی، بینایی ماشین و رانندگی خودکار ارائه میدهد. MATLAB تنها با چند خط کد به شما این امکان را میدهد بدون متخصص بودن، یادگیری عمیق را انجام دهید. تیم ها با استفاده از متلب برای یادگیری عمیق موفق هستند زیرا به شما امکان میدهد:
- تنها با چند خط کد، مدل ها را ایجاد و تجسم کنید.
متلب این امکان را فراهم میکند تا مدل های یادگیری عمیق را با حداقل کد بتوان ساخت. با متلب، میتوان به سرعت مدلهای از پیش آموزش دیده را وارد کرده و نتایج میانی را با تنظیم پارامترهای آموزشی تجسم و اشکال زدایی نمود.
- یادگیری عمیق را بدون متخصص بودن انجام دهید.
برای یادگیری و کسب تخصص در زمینه یادگیری عمیق میتوانید از متلب استفاده کنید. علاوه بر این شما میتوانید به جای اینکه پروژه خود را به دانشمندان دادهای که ممکن است صنعت یا برنامه شما را نمیشناسند بسپارید، میتوانید خودتان پروژه را به کمک متلب پیاده سازی کنید.
- خودکار کردن برچسبگذاریها:
MATLAB کاربران را قادر می سازد تا بهصورت تعاملی اشیاء درون تصاویر را برچسب گذاری کنند و میتوانند برچسب گذاری در ویدیوها برای آموزش و آزمایش مدل های یادگیری عمیق را نیز خودکار کند. این رویکرد تعاملی و خودکار میتواند منجر به نتایج بهتر در زمان کمتر شود.
یادگیری عمیق در پایتون
یادگیری عمیق جالب ترین و قدرتمندترین تکنیک یادگیری ماشین در حال حاضر است. فناوری یادگیری عمیق تکنیکی است که در آن به شبکه عصبی اجازه میدهید به جای استفاده از تکنیکهای مهندسی ویژگی، مشخص کند که کدام ویژگیها مهم هستند. این بدان معناست که با یادگیری عمیق، میتوانید فرآیند مهندسی ویژگی را دور بزنید. عدم پرداختن به مهندسی ویژگی خوب است زیرا با پیچیدهتر شدن مجموعه دادهها، فرآیند سختتر میشود. برای مثال، چگونه میتوانید دادهها را برای پیشبینی خلقوخوی فردی که تصویری از چهره او دادهاند استخراج کنید؟ با شبکه های عصبی، لازم نیست نگران آن باشید زیرا شبکه ها میتوانند به تنهایی ویژگیها را یاد بگیرند.
یادگیری عمیق در پایتون نیز دارای کتابخانههای قوی و کاربردی بسیاری است که متخصصان میتوانند از آنها استفاده کنند. برترین کتابخانههای یادگیری عمیق در اکوسیستم پایتون مانند Theano و TensorFlow 2 در دسترس هستند. در ادامه میتوانید لیست برترین کتابخانههای یادگیری عمیق در پایتون را مشاهده کنید:
- TensorFlow
- PyTorch
- Apache MXNet
- Theano
- Caffe
- ai
- CNTK
- TFLearn
- Lasagne
- nolearn
- Elephas
- spark-deep-learning
- Distributed Keras
آموزش مدل های یادگیری عمیق
یادگیری عمیق شکل پیشرفتهای از یادگیری ماشین است که سعی میکند روشی را که مغز انسان یاد میگیرد تقلید کند. در مغز شما سلولهای عصبی به نام نورون ها وجود دارد که توسط پسوندهای عصبی به یکدیگر متصل می شوند که سیگنالهای الکتروشیمیایی را از طریق شبکه عبور میدهند.
هنگامیکه اولین نورون در شبکه تحریک میشود، سیگنال ورودی پردازش میشود و اگر از آستانه خاصی فراتر رود، نورون فعال میشود و سیگنال را به نورونهایی که به آنها متصل است منتقل میکند. این نورون ها به نوبه خود ممکن است فعال شوند و سیگنال را از طریق بقیه شبکه منتقل کنند. با گذشت زمان، ارتباط بین نورونها با استفاده مکرر تقویت میشود، زیرا یاد میگیرید چگونه به طور مؤثر پاسخ دهید. به عنوان مثال، اگر کسی توپی را به سمت شما پرتاب کند، اتصالات نورون شما را قادر می سازد تا اطلاعات بصری را پردازش کرده و حرکات خود را برای گرفتن توپ هماهنگ کنید. اگر این عمل را به طور مکرر انجام دهید، شبکه نورونهایی که در گرفتن توپ نقش دارند قویتر میشوند زیرا یاد میگیرید چگونه در گرفتن توپ بهتر عمل کنید.
برای آموزش یادگیری عمیق باید این فرآیند بیولوژیکی را با استفاده از شبکه های عصبی مصنوعی که ورودی های عددی را به جای محرکهای الکتروشیمیایی پردازش میکنند، تقلید کرد. در یادگیری عمیق اتصالات عصبی ورودی با ورودیهای عددی جایگزین میشوند که معمولاً به عنوان x شناخته میشوند. هنگامیکه بیش از یک مقدار ورودی وجود دارد، x یک بردار با عناصر به نامهای x1، x2 و غیره در نظر گرفته میشود. به هر مقدار x یک وزن (w) مربوط میشود که برای تقویت یا تضعیف اثر مقدار x برای شبیه سازی یادگیری استفاده میشود. علاوه بر این، یک ورودی بایاس (b) برای فعال کردن کنترل دقیق روی شبکه اضافهشده است. در طول فرآیند آموزش، مقادیر w و b برای تنظیم شبکه به گونهای تنظیم میشوند که “یاد بگیرد” خروجیهای صحیح تولید کند.
خود نورون تابعی را محصور میکند که مجموع وزنی x، w و b را محاسبه میکند. این تابع به نوبه خود در یک تابع فعال سازی محصور میشود که نتیجه را محدود میکند (اغلب به مقداری بین ۰ و ۱) برای تعیین اینکه آیا نورون خروجی را به لایه بعدی نورونهای شبکه ارسال میکند یا خیر. بدین ترتیب یک مدل یادگیری عمیق با تکرار این فرآیند آموزش داده میشود تا مانند انسان فکر و عمل کند.
الزامات سختافزاری یادگیری عمیق
یادگیری عمیق به قدرت محاسباتی زیادی نیاز دارد. واحدهای پردازش گرافیکی با کارایی بالا (GPU) ایده آل هستند. زیرا میتوانند حجم زیادی از محاسبات را در چندین هسته با حافظه فراوان در دسترس انجام دهند. با این حال، مدیریت چندین GPU در محل میتواند تقاضای زیادی برای منابع داخلی ایجاد کند و این امر هزینه بالایی را میطلبد.
هوش مصنوعی، یادگیری ماشین، شبکه های عصبی و یادگیری عمیق چه ارتباطی با هم دارند؟
شاید سادهترین راه برای فکر کردن به هوش مصنوعی، یادگیری ماشین، شبکه های عصبی و یادگیری عمیق این باشد که آنها را مانند عروسک های تودرتو روسی در نظر بگیرید. هر کدام اساساً جزئی از عبارت قبلی هستند.
یعنی یادگیری ماشین زیر شاخه هوش مصنوعی است. یادگیری عمیق زیر شاخه ای از یادگیری ماشین است و شبکه های عصبی ستون فقرات الگوریتم های دیپ لرنینگ را تشکیل میدهند. در واقع، تعداد لایههای گره یا عمق شبکههای عصبی است که یک شبکه عصبی را از یک الگوریتم یادگیری عمیق متمایز میکند که باید بیش از سه باشد.
زمان و هزینه مورد نیاز برای اجرای یک مدل یادگیری عمیق
با وجود افزایش دسترسی به منابع مختلف، یادگیری عمیق در عمل هنوز یک تلاش پیچیده و پرهزینه باقیمانده است. برای اجرای یک پروژه، به دلیل پیچیدگی ذاتی، تعداد زیاد لایه و مقادیر انبوه داده مورد نیاز است، لذا آموزش مدلهای یادگیری عمیق بسیار کند هستند و به قدرت محاسباتی زیادی نیاز دارند، که باعث میشود آنها بسیار زمانبر و پرهزینه باشند. واحدهای پردازش گرافیکی یا GPUها امروزه عملاً به یک الزام برای اجرای الگوریتم های یادگیری عمیق تبدیلشدهاند. پردازندههای گرافیکی بسیار گران هستند، اما آموزش شبکههای عمیق با عملکرد بالا بدون آنها عملاً امکانپذیر نخواهد بود.
الگوریتمهای کلاسیک ML را میتوان فقط با یک CPU مناسب (واحد پردازش مرکزی)، بدون نیاز به بهترین سختافزار، به خوبی آموزش داد. از آنجایی که آنها از نظر محاسباتی گران نیستند، میتوان سریعتر تکرار کرد و بسیاری از تکنیکهای مختلف را در مدت زمان کوتاهتری امتحان کرد.
چالش های یادگیری عمیق
یادگیری عمیق را بهخودیخود یک الگوی یادگیری در نظر نگیرید. شما هنوز به داده هایی با برچسب مناسب نیاز دارید، و تعداد زیادی از آنها، یکی از نقاط قوت اصلی یادگیری عمیق در توانایی مدیریت داده ها و روابط پیچیدهتر است، اما این بدان معناست که الگوریتم های مورد استفاده در یادگیری عمیق نیز پیچیدهتر خواهند بود. و برای استخراج الگوهای پیچیده به اندازه کافی کلی از داده ها، به تعداد زیادی مثال (بسیار بیشتر از یک مدل ML سنتی) نیاز دارید – معمولاً میلیونها نقطه داده برچسب گذاری شده برای یک کار طبقه بندی نیاز است.
فقدان مجموعه ای به اندازه کافی بزرگ از داده های با کیفیت بالا که دقیقاً برچسب گذاری شدهاند، یکی از دلایل اصلی این است که یادگیری عمیق میتواند نتایج ناامیدکننده ای در برخی موارد تجاری داشته باشد. سازمانها هنگام تمیز کردن، آمادهسازی و برچسبگذاری دادهها با چالشهای بیشماری مواجه هستند و این فرآیندها اغلب حجم عظیمی از زمان و منابع را از تیمها میگیرد که بهتر است برای ساختن مدلهای یادگیری ماشینی بعدی یا تولید مدلها صرف شود.
یکی از راههای پرداختن به کار دشوار برچسبگذاری دادهها از طریق یادگیری فعال است، اما در مواردی که داشتن مقادیر بسیار زیادی از دادههای برچسبگذاری شده کارآمد امکانپذیر نیست (یا ضروری است)، الگوریتمهای کلاسیک ML را انتخاب کنید و مدل ها ممکن است استفاده بهتری از زمان، تلاش و منابع تیم های داده شما باشد.