Faramarz Kowsari
Faramarz Kowsari
خواندن ۷ دقیقه·۲ ماه پیش

معماری‌های یادگیری عمیق به زبان ساده (شبکه‌های عصبی پیچشی، شبکه‌های عصبی بازگشتی، شبکه‌های مولد تخاصمی، ترنسفورمرها، معماری‌های انکودر-دیکودر)

این مقاله به‌منظور آشنایی با معماری‌های مختلف یادگیری عمیق از جمله شبکه‌های عصبی پیچشی (CNN)، شبکه‌های عصبی بازگشتی (RNN)، شبکه‌های مولد تخاصمی (GAN)، ترنسفورمرها و معماری‌های انکودر-دیکودر نوشته شده است. بیایید با هم به‌صورت ساده این مفاهیم را بررسی کنیم.

۱. شبکه عصبی پیچشی (CNN)

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

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


اجزای اصلی شبکه عصبی پیچشی:

  • لایه‌های پیچشی (Convolutional Layers): این لایه‌ها فیلترهایی به نام کرنل را به تصویر اعمال می‌کنند. هر فیلتر با حرکت بر روی تصویر، یک محصول نقطه‌ای بین فیلتر و پیکسل‌های تصویر محاسبه می‌کند. این فرآیند نقشه ویژگی جدیدی تولید می‌کند که الگوهای خاصی در تصویر را برجسته می‌سازد.
  • لایه‌های تجمیع (Pooling Layers): این لایه‌ها عملیات پایین‌نمونه‌گیری (downsampling) را بر روی نقشه‌های ویژگی انجام می‌دهند و ابعاد فضایی داده را کاهش می‌دهند، در حالی که ویژگی‌های مهم را حفظ می‌کنند. معمولاً از تجمیع بیشینه (max pooling) استفاده می‌شود که بیشترین مقدار یک ناحیه کوچک از پیکسل‌ها را انتخاب می‌کند.
  • لایه‌های کاملاً متصل (Fully Connected Layers): این لایه‌ها شبیه به لایه‌های شبکه‌های عصبی سنتی هستند. همه نورون‌های یک لایه به همه نورون‌های لایه بعدی متصل می‌شوند. خروجی لایه‌های پیچشی و تجمیع صاف شده و از یک یا چند لایه کاملاً متصل عبور می‌کند تا شبکه پیش‌بینی نهایی را انجام دهد.

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

۲. شبکه عصبی بازگشتی (RNN)

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

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


اجزای اصلی شبکه عصبی بازگشتی:

  • لایه ورودی (Input Layer): این لایه اطلاعات را در هر گام زمانی، مانند یک کلمه در دنباله، دریافت می‌کند.
  • لایه بازگشتی (Recurrent Layer): این لایه اطلاعات را از لایه ورودی پردازش می‌کند و از اتصالات بازگشتی برای به‌خاطر سپردن اطلاعات گام‌های زمانی قبلی استفاده می‌کند. این لایه شامل مجموعه‌ای از نورون‌ها است که هرکدام یک اتصال بازگشتی به خود و یک اتصال به ورودی در گام زمانی فعلی دارند.
  • لایه خروجی (Output Layer): این لایه بر اساس اطلاعات پردازش‌شده توسط لایه بازگشتی، پیش‌بینی می‌کند. در حالت تولید کلمه بعدی، این لایه محتمل‌ترین کلمه را برای ادامه دنباله پیش‌بینی می‌کند.

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

۳. شبکه‌های مولد تخاصمی (GAN)

شبکه‌های مولد تخاصمی نوعی معماری یادگیری عمیق هستند که از دو شبکه عصبی، یکی مولد (Generator) و دیگری تمایزدهنده (Discriminator)، برای ایجاد داده‌های جدید و واقعی استفاده می‌کنند. تصور کنید دو هنرمند رقیب دارید؛ یکی آثار جعلی خلق می‌کند و دیگری سعی می‌کند تفاوت بین آثار واقعی و جعلی را تشخیص دهد.

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


اجزای اصلی GAN:

  • مولد (Generator): این شبکه مسئول ایجاد نمونه‌های جدید است. ورودی آن یک بردار نویز تصادفی است که یک نمونه خروجی مانند تصویر یا جمله تولید می‌کند. مولد با کمینه کردن تابع زیانی که تفاوت بین نمونه‌های تولید شده و داده‌های واقعی را اندازه می‌گیرد، آموزش می‌بیند.
  • تمایزدهنده (Discriminator): این شبکه اصالت نمونه‌های تولید شده را ارزیابی می‌کند. ورودی آن یک نمونه است و خروجی آن یک احتمال است که نشان می‌دهد آیا نمونه واقعی است یا جعلی. تمایزدهنده با بیشینه کردن تابع زیانی که تفاوت بین احتمال نمونه‌های واقعی و تولیدی را اندازه می‌گیرد، آموزش می‌بیند.

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

۴. ترنسفورمرها (Transformers)

ترنسفورمرها نوعی معماری شبکه عصبی هستند که به‌طور گسترده‌ای در وظایف پردازش زبان طبیعی (NLP) مانند ترجمه، دسته‌بندی متن و پاسخ‌گویی به سوالات استفاده می‌شوند. این معماری توسط مقاله معروف “Attention Is All You Need” که در سال ۲۰۱۷ توسط واسوآنی و همکاران ارائه شد، معرفی شد.

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


اجزای اصلی ترنسفورمر:

  • مکانیسم خودتوجهی (Self-Attention Mechanism): این مکانیسم به مدل اجازه می‌دهد تا روابط بین بخش‌های مختلف متن ورودی را تحلیل کند. این مکانیسم با اختصاص وزنی به هر کلمه در دنباله ورودی، اهمیت آن را نسبت به متن کنونی تعیین می‌کند. این ویژگی به مدل اجازه می‌دهد تا بر روی کلمات مهم تمرکز کند و اهمیت کلمات کمتر مهم را کاهش دهد.
  • شبکه‌های عصبی پیش‌خور (Feed-Forward Neural Networks): این شبکه‌ها نوعی پرسپترون چندلایه هستند که خروجی مکانیسم خودتوجهی را پردازش می‌کنند. آن‌ها مسئول یادگیری روابط پیچیده بین کلمات در دنباله ورودی هستند.

نوآوری کلیدی ترنسفورمرها استفاده از مکانیسم‌های خودتوجهی است که به مدل اجازه می‌دهد تا دنباله‌های طولانی متن را به‌صورت کارآمد پردازش کند بدون نیاز به عملیات پیچیده بازگشتی یا پیچشی. این ویژگی باعث می‌شود ترنسفورمرها برای وظایف مختلف NLP از جمله ترجمه، خلاصه‌سازی متن و پاسخ‌گویی به سوالات، کارآمد و مؤثر باشند.

۵. معماری‌های انکودر-دیکودر (Encoder-Decoder Architectures)

معماری‌های انکودر-دیکودر در وظایف پردازش زبان طبیعی (NLP) به‌ویژه برای مسائل دنباله به دنباله مانند ترجمه ماشینی بسیار محبوب هستند. در این مسائل، هدف تبدیل متن ورودی از یک زبان (مبدا) به متن معادل آن در زبان دیگر (مقصد) است.

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


اجزای اصلی معماری انکودر-دیکودر:

  • انکودر (Encoder): انکودر دنباله ورودی (متن مبدا) را به‌صورت ترتیبی پردازش کرده و یک نمایش فشرده تولید می‌کند که به‌عنوان “بردار زمینه‌ای” یا “تعبیر زمینه‌ای” شناخته می‌شود. این نمایش، اطلاعات مربوط به نحو، معنا و زمینه متن ورودی را خلاصه می‌کند. انکودر می‌تواند یک شبکه عصبی بازگشتی (RNN) یا ترنسفورمر باشد، بسته به وظیفه و پیاده‌سازی خاص.
  • دیکودر (Decoder): دیکودر بردار زمینه‌ای تولید شده توسط انکودر را گرفته و دنباله خروجی (متن مقصد) را به‌صورت عنصر به عنصر تولید می‌کند. دیکودر نیز معمولاً یک شبکه عصبی بازگشتی یا ترنسفورمر است، مشابه انکودر. این دیکودر با پیش‌بینی کلمه بعدی در دنباله هدف بر اساس کلمات قبلی و اطلاعات موجود در بردار زمینه‌ای، دنباله خروجی را تولید می‌کند.

در مرحله آموزش، دیکودر دنباله هدف واقعی را دریافت می‌کند و هدف آن پیش‌بینی کلمه بعدی در دنباله است. در مرحله استنتاج (زمانی که مدل پاسخ تولید می‌کند)، دیکودر متن تولید شده تا آن لحظه را دریافت کرده و از آن برای پیش‌بینی کلمه بعدی استفاده می‌کند.

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

شبکه‌های عصبییادگیری عمیقrnncnngan
AI Engineer | Google Project Management, Business Intelligence, Cybersecurity
شاید از این پست‌ها خوشتان بیاید