آیا تابهحال به این فکر کردهاید که چگونه کامپیوترها میتوانند به طور خودکار از تجربیات و دادهها یاد بگیرند؟ انواع یادگیری عمیق، حوزههای روبهرشد در علوم کامپیوتر هستند که به کامپیوترها امکان میدهد از طریق فرایندی شبیه به یادگیری انسان، مدلها و الگوریتمهای پیچیدهای برای تشخیص الگوها و استخراج اطلاعات از دادهها بسازند.
این فناوری مهم در حوزه هوش مصنوعی به طور گستردهای استفاده میشود و در زمینههای گوناگونی از تصویربرداری تا پردازش زبان و ترجمه ماشینی مورداستفاده قرار میگیرد.
در این مطلب، با انواع یادگیری عمیق آشنا خواهید شد. این شبکهها قادرند الگوها و ویژگیهای پنهان در دادهها را شناسایی کنند و اطلاعات ارزشمندی را از آنها استخراج نمایند.
از طریق مثالهای واقعی، ما به شما نشان خواهیم داد که یادگیری عمیق چگونه در حوزههای مختلفی مانند تشخیص تصاویر و ویدئوها، ترجمه ماشینی و حتی تشخیص الفبا مورداستفاده قرار میگیرد. پس همراه ما باشید و با انواع یادگیری عمیق بهعنوان یکی از پرکاربردترین و پیشرفتهترین روشهای هوش مصنوعی آشنا شوید.
یادگیری عمیق چیست؟
دیپلرنینگ بر پایهٔ شاخهای از یادگیری ماشین است که یک زیرمجموعهٔ هوش مصنوعی است. پیشازاین که به تعاریف یادگیری عمیق بپردازیم، توصیه میکنیم برای درک بهتر این مفهوم، مطلب «ماشین لرنینگ» را مطالعه کنید.
چون شبکههای عصبی عملکرد مغز انسان را تقلید میکنند، دیپلرنینگ نیز همین کار را انجام میدهد. در دیپلرنینگ، هیچچیز بهصورت صریح برنامهریزی نمیشود. در واقع، این یک کلاس یادگیری ماشین است که از تعداد زیادی واحد پردازش غیرخطی برای استخراج و تبدیل ویژگی استفاده میکند. خروجی لایهٔ پیشین بهعنوان ورودی توسط هر یک از لایههای بعدی به کار میرود.
مدلهای دیپلرنینگ توانایی تمرکز بر ویژگیهای دقیق را با نیاز به کمک کمی از برنامهنویسی دارند و در حل برخی از مشکلات مفید هستند. الگوریتمهای دیپلرنینگ بهخصوص زمانی استفاده میشوند که تعداد ورودی و خروجی بزرگی داشته باشید.
ازآنجاکه دیپلرنینگ توسط یادگیری ماشین تکاملیافته است که خود یک زیرمجموعهٔ هوش مصنوعی است، و همانطور که ایدهٔ هوش مصنوعی بر پایهٔ تقلید رفتار انسان است، همین ایده در دیپلرنینگ نیز وجود دارد که الگوریتمی بسازد که بتواند رفتار مغز را تقلید کند.
انواع الگوریتمهای یادگیری عمیق
آشنایی با انواع یادگیری عمیق برای هر کسی که ذرهای به زمینه هوش مصنوعی علاقهمند است، لازم خواهد بود. در این زمینه میتواند انواع متفاوتی را مطرح کرد، اما مواردی که در این مطلب معرفی میشوند به نسبت دیگر انواع الگوریتمهای یادگیری عمیق، کاربردهای بیشتری دارند.
1. شبکههای عصبی کانولوشن (CNN)
یکی از انواع یادگیری عمیق، شبکههای عصبی کانولوشنی Convolutional Neural Networks یا CNNs هستند. این شبکهها از چندین لایه تشکیل شدهاند و اصلیترین کاربرد آنها در پردازش تصویر و شناسایی اشیا است.
یان لوکون، CNN اول را در سال ۱۹۸۸ توسعه داد و آن را LeNet نامید. این شبکه برای تشخیص کاراکترهایی مانند کد پستی و اعداد استفاده میشد. شبکههای عصبی کانولوشنی به طور گسترده برای شناسایی تصاویر ماهوارهای، پردازش تصاویر پزشکی، پیشبینی سریهای زمانی و شناسایی ناهنجاریها استفاده میشوند.
عملکرد CNN به این صورت است:
- لایه کانولوشن: CNN یک لایه کانولوشن دارد که شامل چندین فیلتر برای انجام عمل کانولوشن است.
- واحد خطی تصحیح شده ReLU: CNN دارای لایه ReLU است که عملیاتی روی عناصر انجام میدهد. خروجی یک نقشه با ویژگی تصحیح شده است.
- لایه پولینگ: نقشه ویژگی تصحیح شده وارد لایه پولینگ میشود. پولینگ عملیاتی است که ابعاد نقشه ویژگی را کاهش میدهد. سپس لایه پولینگ آرایههای دوبعدی حاصل از نقشه ویژگی پولینگ را به یک بردار خطی تکبعدی تبدیل میکند.
- لایه کاملاً متصل: یک لایه کاملاً متصل شکل میگیرد وقتی ماتریس از لایه پولینگ بهعنوان ورودی وارد میشود، تصاویر را طبقهبندی و شناسایی میکند.
در زمینه تکنولوژی مفهومی با نام “سینگولاریتی” به چشم میخورد که جای بحث بسیار زیادی در موردش وجود دارد. طبق این نظریه زمانی خواهد رسید که هوش مصنوعی درکی فراتر از دانش بشر خواهد داشت، البته این موضوع را نمیتوان به طور دقیق اثبات کرد. پیشنهاد ما این است که برای درک بهتر این موضوع بلاگ « سینگولاریتی چیست » را مطالعه کنید. با درنظرداشتن این موضوع در ادامه با ما همراه باشید تا دیگر انواع یادگیری عمیق را بررسی کنیم.
2. شبکههای حافظه کوتاهمدت – بلندمدت (LSTM)
شبکههای حافظه کوتاهمدت – بلندمدت (LSTMs) یک نوع از شبکههای عصبی بازگشتی (RNN) هستند که قادرند روابط بلندمدت یا کوتاهمدت را یاد بگیرند و در خاطر بسپارند. این شبکهها بهصورت پیشفرض قابلیت یادآوری اطلاعات گذشته برای مدتزمان طولانی را دارند.
شبکههای LSTM قادرند اطلاعات را در طول زمان حفظ کنند. آنها در پیشبینی دادههای سری زمانی مفید هستند؛ زیرا اطلاعات ورودیهای قبلی را به یاد میآورند. شبکههای LSTM معمولاً در شناسایی گفتار، تولید موسیقی و توسعه داروها استفاده میشوند.
چگونگی عملکرد شبکههای LSTM:
- ابتدا، بخشهای غیرمهم و نامربوط حالت قبلی را فراموش میکنند.
- سپس، مقادیر وضعیت سلول را بهصورت انتخابی بهروزرسانی میکنند.
- در نهایت، خروجی برخی از بخشهای وضعیت سلول را تولید میکنند.
بهعنوان یک مثال میتوان کاربرد این الگوریتم را در تحلیل دادههای فروش یک فروشگاه دانست. اگر بخواهید الگوها و روندهای فروش را پیشبینی کنید، بهترین کار استفاده از الگوریتم LSTM خواهد بود.
3. شبکههای عصبی مکرر (RNN)
شبکههای عصبی بازگشتی (RNNs) یکی دیگر از انواع یادگیری عمیق هستند. این شبکهها اتصالاتی دارند که چرخههای جهتدار را تشکیل میدهند و به خروجیهای LSTM امکان میدهند بهعنوان ورودی به فاز فعلی وارد شوند.
خروجی از LSTM بهعنوان ورودی برای فاز فعلی استفاده میشود و به دلیل حافظه داخلی خود قادر به یادآوری ورودیهای قبلی است. RNNها معمولاً برای توصیف تصاویر، تحلیل سریهای زمانی، پردازش زبان طبیعی، تشخیص خطنویسی و ترجمه ماشینی استفاده میشوند.
چگونگی عملکرد RNNs:
- خروجی در زمان t-1 بهعنوان ورودی در زمان t وارد میشود.
- به طریق مشابه، خروجی در زمان t بهعنوان ورودی در زمان t+1 وارد میشود.
- RNNها قادر به پردازش ورودیهای با هر طولی هستند.
- محاسبه شامل اطلاعات تاریخی میشود و اندازه مدل با اندازه ورودی افزایش نمییابد.
در زیر یک مثال از عملکرد ویژگی تکمیل خودکار گوگل آمده است:
وقتی شما در گوگل متنی را تایپ میکنید، شبکههای عصبی بازگشتی بهعنوان پشتیبانی برای ویژگی تکمیل خودکار در گوگل استفاده میشوند. با دریافت متن ورودی شما، مدل به تجزیهوتحلیل متن ورودی میپردازد و بر اساس اطلاعات قبلی که بهخاطر سپرده است، پیشنهاداتی برای تکمیل جمله ارائه میدهد.
بهعنوانمثال، اگر شما “امروز هوا” را تایپ کنید، مدل ممکن است پیشنهاداتی مانند “امروز هوا چطور است” یا “امروز هوا گرم است” را به شما نشان دهد. این اتفاق به دلیل قابلیت یادگیری RNN از وابستگیهای طولانی در دادههای ورودی رخ میدهد. در این راستا توصیه میکنیم حتماً مطلب « یادگیری عمیق چگونه کار می کند ؟ » هم مطالعه کنید.
4. شبکههای یادگیری عمیق مولد (GAN)
شبکههای مولد مقابلهای(GANs) الگوریتمهای یادگیری عمیقی هستند که نمونههای دادههای جدیدی را ایجاد میکنند که شبیه دادههای آموزشی هستند. GAN دارای دو بخش است: مولد که یاد میگیرد دادههای جعلی تولید کند و تمییز دهنده که از آن اطلاعات جعلی یاد میگیرد.
استفاده از GANs در طول زمان افزایشیافته است. آنها میتوانند برای بهبود تصاویر ستارهشناسی و شبیهسازی عدسیهای گرانشی برای تحقیقات مادهٔ تاریک استفاده شوند. توسعهدهندگان بازی ویدئویی از GANs برای ارتقا رزولوشن تکسچرهای 2D باکیفیت پایین در بازیهای ویدئویی قدیمی استفاده کرده و آنها را با استفاده از آموزش تصویر در رزولوشن 4k یا بالاتر بازسازی میکنند.
GANs کمک میکنند تصاویر واقعگرایانه و شخصیتهای کارتونی واقعگرایانه، عکسهای چهرههای انسان و اشیا سهبعدی را رندر کنند.
چگونگی عملکرد GANs:
- تمییز دهنده یاد میگیرد بین دادههای جعلی تولید شده توسط مولد و دادههای واقعی نمونهها را تشخیص دهد.
- در طول آموزش اولیه، مولد دادههای جعلی تولید میکند و تمییز دهنده بهسرعت یاد میگیرد تشخیص دهد که آنها جعلی هستند.
- GAN نتایج را به مولد و تمییز دهنده ارسال کرده و مدل را بهروزرسانی میکند.
5. شبکههای تابع پایه شعاعی (RBFN)
شبکههای تابع پایه شعاعی ((Radial Basis Function Networks یا RBFNs نوعی خاص از شبکههای عصبی یادگیری عمیق هستند که از توابع پایه شعاعی بهعنوان توابع فعالسازی استفاده میکنند. این شبکهها شامل یکلایه ورودی، یک لایه پنهان و یک لایه خروجی هستند و عمدتاً برای دستهبندی، رگرسیون و پیشبینی سریهای زمانی استفاده میشوند.
عملکرد RBFNs چگونه است؟
- RBFNs با اندازهگیری شباهت ورودی به نمونهها از مجموعه آموزش، دستهبندی را انجام میدهند.
- RBFNs یک بردار ورودی دارند که به لایه ورودی وارد میشود. همچنین آنها دارای یک لایه از نورونهای RBF هستند.
- تابع مجموعه وزندار مقادیر ورودی را محاسبه میکند و لایه خروجی یک یا چند گره برای هر دسته یا کلاس داده دارد.
- خروجی شبکه، ترکیبی خطی از توابع پایه شعاعی و پارامترهای نورون است.
6. پرسپترونهای چندلایه (MLP)
شبکههای پرسپترون چندلایه ((Multilayer Perceptrons یا MLPs یکی از انواع یادگیری عمیق در حوزه شبکههای عصبی هستند. این شبکهها شامل لایههای متعددی از پرسپترونها با توابع فعالسازی هستند. مفهوم یادگیری عمیق، موضوعی است که نیاز به تحقیق زیادی دارد و باید برای درک آن مطالعه زیاد داشته باشید. در این راستا توصیه میکنیم که حتماً مطلب « کاربرد یادگیری عمیق » را بررسی کنید.
MLPs شامل یک لایه ورودی و یک لایه خروجی است که بهصورت کامل به یکدیگر متصل هستند. تعداد لایههای ورودی و خروجی یکسان است، اما ممکن است لایههای پنهان متعددی داشته باشند و میتوانند برای ساخت نرمافزارهای تشخیص گفتار، تشخیص تصویر و ترجمه ماشینی استفاده شوند.
MLPs چگونه میکند؟
- MLPs دادهها را به لایه ورودی شبکه میفرستند. لایههای نورونها به گونهای به یکدیگر متصل هستند که سیگنال به یک جهت عبور میکند.
- MLPs ورودی را با بارهای موجود بین لایه ورودی و لایههای پنهان محاسبه میکنند.
- MLPs از توابع فعالسازی برای تعیین کدام گرهها باید فعال شوند استفاده میکنند. توابع فعالسازی شامل ReLU، توابع سیگموئیدی و تانژانت هستند.
- در انتها MLPs با آموزش مدل به درک همبستگی و یادگیری وابستگیها بین متغیرهای مستقل و هدف میپردازند.
7. نقشههای خودسازماندهی (SOM)
Self-Organizing Maps (SOMs) یا نقشههای خودسازماندهی، توسط استاد تووو کوهونن اختراع شدهاند و به وسیله شبکههای عصبی مصنوعی خودکار، به تصویر کشیدن دادهها و کاهش ابعاد آنها را ممکن میسازند.
تصویرسازی دادهها سعی در حل مشکلی دارد که انسانها نمیتوانند بهراحتی آن را انجام دهند.
اما SOMsها چگونه کار میکنند؟
- SOMs مقادیر را برای هر گره مقداردهی اولیه کرده و یک بردار را بهصورت تصادفی از دادههای آموزشی انتخاب میکنند.
- SOMs مقادیر انتخاب شده را به بردار نمونه اختصاص میدهند و هرچه یک گره نزدیکتر به BMU باشد، نوسان مقادیر آن بیشتر میشود.
بهعنوانمثال میتوان کاربرد این الگوریتم را در تشخیص اشتراکات در تصاویر مطرح کرد. فرض کنید که تعداد زیادی تصویر دارید و میخواهید تصاویر مشابه کنار هم قرار گیرند. برای این کار الگوریتمهای خودسازماندهی بهترین گزینه هستند.
8. شبکههای باور عمیق (DBN)
شبکههای باور عمیق ((Deep Belief Networks یا DBNs مدلهای تولیدی هستند که از لایههای چندگانهای و متغیرهای نهان تصادفی تشکیل شدهاند. این متغیرهای نهان مقادیر دو – دویی دارند و به طور معمول واحدهای مخفی نامیده میشوند.
DBNs از ماشینهای بولتزمن با ارتباطات بین لایهها تشکیل میشوند و هر لایه RBM با لایههای قبلی و بعدی ارتباط برقرار میکند. شبکههای باور عمیق (DBNs) برای تشخیص تصویر، تشخیص ویدئو و دادههای ضبط حرکت استفاده میشوند.
بهعنوانمثال میتوان یکی از کاربردهای این الگوریتم یادگیری عمیق را در تشخیص چهره بهصورت حرفهای دانست که این روزها بسیار مورد استقبال است.
نتیجهگیری
انواع یادگیری عمیق بهعنوان یکی از پیشرفتهترین و کاربردیترین روشهای هوش مصنوعی به کامپیوترها این قابلیت را میدهند که بهصورت خودکار و هوشمندانه از دادهها یاد بگیرند و الگوها را تشخیص دهند. با استفاده از شبکههای عصبی مصنوعی، به ویژگیهای پنهان در دادهها دسترسی پیدا کرده و اطلاعات ارزشمندی را استخراج از این طریق به دست آورد.
در این مطلب، با انواع یادگیری عمیق آشنا شدید از جمله شبکههای عصبی کانولوشنال، شبکههای عصبی بازگشتی یا شبکههای عصبی خودسازماندهی که هر کدام از این روشها در حوزههای مختلفی مانند تصویربرداری، پردازش زبان طبیعی و ترجمه ماشینی استفاده میشوند.
در انتهای مطلب هم برای آشنایی بیشتر، میخواهیم پادکست بازیابی دادهمحور را به شما معرفی کنیم. با کمک این پادکست درک بهتری از هوش مصنوعی، یادگیری ماشین و انواع یادگیری عمیق خواهید داشت.