۱۰ الگوریتم برتر یادگیری عمیق در سال ۲۰۲۲

یادگیری عمیق در محاسبات علمی محبوبیت بسیاری پیدا کرده است و الگوریتم هایش به طور وسیعی توسط صنایعی که با مسائل پیچیده سر و کار دارند، مورد استفاده قرار می گیرد.

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

این مقاله به بررسی شبکه های عصبی مصنوعی لازم و مورد نیاز و نحوه کار الگوریتم های یادگیری عمیق برای تقلید از عملکرد مغز انسان می پردازد.

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

یادگیری عمیق از شبکه های عصبی مصنوعی برای انجام محاسبات پیچیده در مورد داده های وسیع استفاده می کند. یادگیری عمیق نوعی ماشین یادگیری است که بر اساس ساختار و عملکرد مغز انسان کار می کند.

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

تعریف شبکه های عصبی

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

  • لایه ورودی
  • لایه های پنهانی
  • لایه خروجی
شبکه عصبی مصنوعی

داده ها به هر یک از این گره ها، اطلاعاتی به عنوان ورودی ارائه می کنند. گره ها داده های ورودی را با استفاده از وزن های تصادفی افزایش می دهد، آن ها را محاسبه می کند و به آن ها بایاس را  اضافه می کنند. در نهایت، توابع غیر خطی، همچنین به عنوان توابع فعال سازی شناخته می شوند و برای تعیین این که کدام یک از نورون ها فعال شود، اعمال می شوند.

الگوریتم های یادگیری عمیق چگونه کار می کنند؟

در حالی که الگوریتم های یادگیری عمیق دارای ویژگی یادگیری خودآموز هستند، این الگوریتم ها وابسته به شبکه های عصبی خودکاری هستند که روش محاسبه اطلاعات مغزی انسان را  بازتاب می دهد. در طول فرایند آموزش، الگوریتم ها از عناصر ناشناخته ای در توزیع داده های ورودی برای استخراج خصوصیات و داده های گروهی استفاده می کنند و الگوی داده های مفید را کشف می کنند. این روند آموزش، بیشتر شبیه آموزش ماشین ها برای یادگیری خودکار است و این اتفاق در چندین مرحله می افتد و برای ساخت مدل ها از الگوریتم ها استفاده می کند.

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

انواع الگوریتم های پر کاربرد در یادگیری عمیق

در این جا فهرستی از  10 الگوریتم برتر یادگیری عمیق را برایتان آورده ایم :

۱-شبکه های عصبی کانولوشنی (CNN)

۲- شبکه های حافظه طولانی کوتاه-مدت (LSTM)

۳- شبکه های عصبی بازگشتی (RNN)

۴- شبکه های مولد تخاصمی (GAN)

۵- شبکه های تابع پایه شعاعی (RBFN)

۶- پرسپترون چند لایه (MLP)

۷- نقشه های خودسازماندهی (SOM)

۸- شبکه های باور عمیق (DBN)

۹- ماشین های بولتزمن محدود (RBMs)

۱۰- خود رمزگذارها (Autoencoders)

الگوریتم های یادگیری عمیق ، تقریبا از هر نوع داده ای استفاده می کند که مستلزم قدرت کلان محاسباتی و اطلاعاتی برای حل مسائل پیچیده است. در ادامه مقاله می خواهیم در مورد این ده نوع الگوریتم برتر یادگیری عمیق برای شما بیشتر توضیح دهیم.

۱- شبکه های عصبی کانولوشنی (CNN)

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

از شبکه های عصبی مصنوعی به طور وسیعی برای شناسایی تصاویر ماهواره ای، پردازش تصاویر پزشکی، پیش بینی سری های زمانی و تشخیص ناهنجاری ها استفاده می شود.

طرز کار شبکه های عصبی کانولوشنی به چه شکل است؟

شبکه های عصبی کانولشنی دارای چندین لایه هستند که مشخصات را از داده ها پردازش و استخراج می کند.

لایه کانولوشنی

شبکه های عصبی کانولوشنی یک لایه کانولوشنی دارند که دارای فیلتر های متعددی برای برای اجرای عملیات کانولوشنی است.

واحد خطی اصلاح شده (ReLU)

شبکه عصبی کانولوشنی دارای یک واحد خطی اصلاح شده برای اجرای عملیات بر روی عناصر است. خروجی آن نیز یک نقشه مختصاتی اصلاح شده است.

لایه پولینگ

در مرحله بعدی، نقشه مختصاتی اصلاح شده ، لایه پولینگ را تغذیه می کند. پولینگ یک عملیات نمونه برداری سطح پایین است که ابعاد نقشه مختصات را کاهش می دهد.

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

لایه کاملا متصل

یک لایه کاملا متصل زمانی تشکیل می شود که ماتریس مسطح شده از لایه پولینگ توسط یک ورودی که تصاویر را طبقه بندی و شناسایی می کند، تغذیه کند.

در شکل زیر، نمونه ای از یک تصویر پردازش شده توسط شبکه عصبی مصنوعی را برایتان آورده ایم:

شبکه عصبی کانولوشنی

۲- شبکه های حافظه طولانی کوتاه-مدت  (LSTM)

LSTM ها نوعی شبکه عصبی بازگشتی هستند که وابستگی های بلند مدت را یادگیری و ذخیره سازی می کنند. در این نوع شبکه ها، یادآوری اطلاعات پیشین برای دراز مدت، یک رفتار پیش فرض است.

LSTM ، اطلاعات را در طول زمان حفظ می کند. این شبکه های عصبی ، برای پیش بینی سری های زمانی بسیار مفید هستند؛ زیرا آن ها  داده های ورودی پیشین را به یاد می آورند. شبکه های حافظه طولانی کوتاه-مدت ، ساختار زنجیره مانندی دارند که در آن چهار لایه تعاملی هر یک به شیوه ای منحصر به فرد ارتباط برقرار می کنند. به علاوه پیش بینی دوره های زمانی، LSTM ها معمولا برای تشخیص گفتمان ها، ترکیب موزیک و توسعه دارویی استفاده می شوند.

LSTM ها چگونه کار می کنند؟

در مرحله اول، آن ها بخش های غیر مرتبط با حالت قبلی را فراموش می کنند.

در مرحله بعد، آن ها به طور گزینشی مقادیر حالت سلول را  به روز می کنند.

در نهایت، نوبت به خروجی حالت سلول می رسد.

در شکل زیر، نحوه عملکرد LSTM ها نشان داده شده است:

 3- شبکه های عصبی بازگشتی (RNN)

شبکه های عصبی بازگشتی دارای اتصالاتی هستند که چرخه های جهت دار را تشکیل می دهند که به خروجی های LSTM این امکان را می دهد تا به عنوان وروردی برای مرحله جاری تغذیه شوند.

خروجی از LSTM تبدیل به یک ورودی برای مرحله جاری می شود و می تواند داده های ورودی پیشین را برای حافظه داخلی خودش ذخیره سازی کند.

شبکه های عصبی بازگشتی ، معمولا به منظور توضیح نویسی برای تصاویر، آنالیز سری زمانی، پردازش زبان طبیعی، شناسایی دستخط و ماشین ترجمه استفاده می شوند.

یک شبکه عصبی بازگشتی باز شده می تواند شبیه به شکل زیر باشد:

دیاگرام شبکه عصبی بازگشتی

طرز کار شبکه های عصبی بازگشتی چگونه است؟

  • خروجی در زمانt-1  در زمان t به عنوان ورودی وارد می شود.
  • به طور مشابه، خروجی در زمانبه عنوان ورودی در زمان  t+1وارد می شود.
  • شبکه عصبی بازگشتی می تواند همه ورودی ها را به هر اندازه ای که باشند، پردازش کند.
  • محاسبات بر روی اطلاعات تاریخی محاسبه می شود و اندازه مدل با اندازه ورودی افزایش نمی یابد.

در این جا مثالی در مورد نحوه عملکرد ویژگی تکمیل خودکار گوگل آورده شده است:

تکمیل خودکار گوگل با شبکه های عصبی

۴- شبکه های مولد تخاصمی (GANs)

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

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

توسعه دهنده های ویدیو گیم  شبکه های مولد تخاصمی را برای بهبود سطح رزولوشن و بافت های قدیمی ۲ بعدی بازی های قدیمی با بازسازی آن ها به شکل ۴ بعدی یا رزولوشن های بالاتر ( به واسطه آموزش تصاویر) استفاده می کنند.

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

طرز کار شبکه های مولد تخاصمی چگونه است؟

بخش متمایز کننده اطلاعات یاد می گیرد که میان داده های تولید شده دروغین و نمونه داده واقعی تمایز قائل شود.

در  طول آموزش اولیه، مولد داده های دروغین تولید می کند و بخش متمایز کننده اطلاعات سریع یاد می گیرد که بگوید کدام یک از داده ها غلط است.

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

در شکل زیر، نموداری از نحوه عملکرد شبکه مولد تخاصمی نشان داده شده است:

طرز کار شبکه مولد تخاصمی

۵- شبکه های تابع پایه شعاعی (RBFNs)

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

RBFN ها چگونه کار می کنند؟

RBFN ها طبقه بندی را با اندازه گیری شباهت ورودی به نمونه هایی از مجموعه آموزشی انجام می دهند.

آن ها دارای یک بردار ورودی هستند که لایه ورودی را تغذیه می کنند. آن ها دارای یک لایه از نورون های تابع پایه شعاع مانند هستند.

تابع، مجموع وزن دار ورودی ها را پیدا می کند و لایه خروجی، در سطح و طبقه بندی از داده دارای گره است.

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

خروجی شبکه، یک ترکیب خطی از توابع ورودی پایه شعاعی و پارامترهای نورونی هستند.

 نمونه ای از یک شبکه های تابع پایه شعاعی را می توانید در شکل زیر مشاهده کنید:

طرز کار شبکه های تابع پایه شعاعی

۶- نورون های پرسپترون چند لایه (MLPs)

نورون های پرسپترون چند لایه ، یک مکان عالی برای شروع یادگیری درباره تکنولوژی یادگیری عمیق است.

نورون های پرسپترون چندلایه، سطحی از شبکه های عصبی پیشخور  و شامل چندین لایه پرسپترون هستند که دارای توابع فعال است.

نورون های پرسپترون چند لایه، شامل یک لایه ورودی و لایه خروجی تماما متصل است. آن ها به میزان یکسانی دارای لایه های ورودی و خروجی هستند؛ اما ممکن است چندین لایه پنهان هم داشته باشند که می تواند در مواردی همچون تشخیص گفتار، شناسایی تصاویر و نرم افزار ماشین ترجمه استفاده شوند.

طرز کار نورون های پرسپترون چند لایه چگونه است؟

نورون های پرسپترون چند لایه ، داده را به لایه ورودی شبکه تغذیه می کند. لایه نورون هارا به یک نمودار متصل می کنند تا سیگنال ها در  یک جهت عبور کند.

نورون های پرسپترون چند لایه ، داده ورودی را با وزن های موجود بین لایه ورودی و لایه های پنهان مقایسه می کند.

نورون های پرسپترون چند لایه ، از  فعال سازی توابع برای تشخیص فعال شدن گره ها استفاده می کند. لایه های فعال سازی شامل واحدهای خطی یک سو شده، توابع پیچیده و تانژانت هذلولی هستند.

نورون های پرسپترون چند لایه ، مدل را برای درک همبستگی و یادگیری وابستگی بین متغیرهای مستقل و گوناگونی های مجموعه داده آموزشی، آموزش می دهد.

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

طرز کار شبکه پرسپترون چند لایه

 7- نقشه های خود سازماندهی (SOMs)

پروفسور تیوو کوهِنِن ، SOM را اختراع کرد که  قادر به تجسم داده ها برای کاهش ابعاد داده به واسطه خودسازماندهی شبکه های عصبی هوش مصنوعی است.

تجسم سازی داده به حل این مشکل که انسان ها نمی توانند به آسانی داده هایی با ابعاد بالا را تجسم کنند. SOM ها ساخته شدند تا به کاربران خود در فهم اطلاعات با ابعاد بالا کمک کند.

طرز کار SOM ها چگونه است؟

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

SOM ها هر گره را برای پیداکردن وزن هایی که بیشترین شباهت را به نمودار ورودی دارد، پیدا می کنند. گره غالب، بهترین واحد اتصال خوانده می شود(BMU).

SOM ها مجاورت بهترین واحد اتصال و میزان مجاورت ها در طول زمان کاهش می یابد.

SOM ها یک وزن غالب را به بردار نمونه اضافه می کنند. گره نزدیکتر به یک BMU است. بیشتر وزن آن تغییر می کند.

علاوه بر این، مجاورت از BMU است. کمتر آن را یاد می گیرد. SOMs ها ، مرحله دوم را برای بازگویی N تکرار می کند.

در شکل زیر، شما یک دیاگرام از یک بردار ورودی رنگ های مختلف مشاهده می کنید. این داده به سوی SOM تغذیه می شود که سپس داده را به ارقام دوبعدیRGB تبدیل می کند. در نهایت، رنگ های مختلف را جداسازی و طبقه بندی می کند.

طرز کار نقشه های خود سازمان دهنده

۸- شبکه های باور عمیق (DBNs)

DBN ها مدل های مولدی هستند که شامل چند لایه متغیرهای پنهان تصادفی هستند که متغیرهای پنهان دارای مقادیر باینری هستند واغلب واحدهای پنهان نامیده می شوند.

DBN ها دسته ای از ماشین های Boltzmann با اتصالات بین لایه ها هستند و هر لایه RBM ، با هر دو لایه های قبلی و بعدی شبکه های باور عمیق که برای تشخیص ویدیو، تشخیص تصویر و داده های ضبط حرکت استفاده می شود.

طرز کار DBN ها چگونه است؟

الگوریتم های یادگیری فزاینده، DBN ها را آموزش می دهد. الگوریتم یادگیری فزاینده، از یک رویه لایه به لایه برای یاددهی از بالا به پایین و وزن های مولد استفاده می کند.

DBN ها ، قدم هایی برای نمونه برداری از گیب ها بر روی دو لایه پنهان بالایی انجام می دهد. این گام، یک نمونه از RBM را ترسیم می کند که توسط دو لایه پنهان بالایی تعریف می شود.

DBN ها ،یک نمونه از واحدهای قابل مشاهده را با استفاده از یک گذر از نمونه برداری اجدادی از طریق بقیه مدل،رسم می کنند.

DBN ها ، یاد می گیرند که مقادیر متغیرهای پنهان در هر لایه را می توان با یک گذرگاه پایین به بالا ترسیم کرد.

در شکل زیر، ساختار DBN را مشاهده می کنید:

طرز کار شبکه باور عمیق

۹- ماشین های بولتزمن محدود (RBMs)

این برنامه توسط  جفری هینتون توسعه داده شد. RBM ها ، شبکه های عصبی تصادفی هستند که می توانند از یک توزیع احتمالی بر روی مجموعه ای از ورودی ها یاد بگیرند.

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

RBM ها از دو لایه تشکیل شده اند:

  • واحدهای آشکار
  • واحدهای پنهانی

هر واحد آشکار و قابل مشاهده ای، با تمام واحدهای پنهانی مرتبط می شود. RBM ها یک واحد پیش داوری دارند که به تمام واحدهای آشکار و پنهان مرتبط می شود و آن ها هیچ گره خروجی ندارند.

طرز کار RBM ها چگونه است؟

RBM ها دارای دو مرحله پس شماری و پیش شماری هستند.

RBM ها ورودی ها را به خود جذب می کنند و آن ها را به صورت مجموعه ای از اعدادی که ورودی ها را در فاز پیش شماری کد گذاری می شود، ترجمه می کند.

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

در مرحله پس شماری، RBM ها مجموعه های از اعداد را می گیرند و آن ها را به شکل ورودی های دوباره بازسازی شده ترجمه می کند.

RBM ها هر فعالیت را با وزن منحصر به فرد و پیش داوری تمام عیار ترکیب می کند و داده خروجی را برای بازسازی مجدد به سوی لایه قابل مشاهده انتقال می دهد.

در لایه  قابل مشاهده،RBM، مرحله بازسازی را به منظور آنالیز میزان کیفیت نتیجه، با ورودی های اصلی مقایسه می کند.

در شکل زیر، نموداری از طرز عمل RBM ها نشان داده شده است:

طرز کار ماشین بولتزمن محدود شده

۱۰- خود رمزگذارها (Autoencoder)

خود رمزگذارها، نوع خاصی از  شبکه های عصبی پیشخور است که در آن، میزان داده های ورودی و خروجی به صورت یکسان است. جفری هینتون، خود رمزگذارها را در سال ۱۹۸۰ و به منظور حل مسائل مربوط به یادگیری بدون نظارت طراحی کرد. آن ها شبکه های عصبی را آموزش دادند که داده ها را از لایه ورودی به سمت لایه خروجی کپی برداری می کند.

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

طرز عمل خود رمزگذارها چگونه است؟

خود رمزگذارها از سه بخش اصلی تشکیل شده است: رمز گذار، رمز و رمز گشا.

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

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

خود رمزگذارها در مرحله اول، تصویر را رمز گشایی می کنند؛ سپس اندازه تصویر ورودی را به یک تصویر کوچکتر تقلیل می دهد.

در نهایت، خود رمزگذارها، تصویر را برای ایجاد یک تصویر بازسازی شده رمزگشایی می کند.

تصویر زیر، طرز کار خود رمزگذارها را نشان می دهد:

طرز کار خود رمزگذار ها

نتیجه گیری

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

می توانید در مورد سوال های مکرر پرسیده شده در مصاحبه ها جستجو و کاوش کنید و وارد حرفه علم داده شوید.

اگر شما بعد از خواندن این مقاله سوالاتی در مورد الگوریتم های یادگیری عمیق برایتان پیش آمده است می توانید در بخش نظرسنجی شرکت کرده و سوالات خود را مطرح کنید.

بیشتر بخوانید :

منبع Simplilearn

درباره‌ی فریبا یزدیان

Faribayazdian1372@gmail.com

همچنین ببینید

نگاهی عمیق به آینده هوش مصنوعی از دید کارشناسان

نگاهی عمیق به آینده هوش مصنوعی از دید کارشناسان

با نگاه به روند رشد تکنولوژی و تغییرات ایجاد شده در زندگی مردم، انتظار می‌رود …

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

نشانی ایمیل شما منتشر نخواهد شد.