یادگیری ژرف

Deep learning

شماره درس: ۴۰۷۱۹ تعداد واحد: ۳
مقطع: کارشناسی ارشد نوع درس: نظری
پیش‌نیاز: – هم‌نیاز: –

اهداف درس

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

ریز مواد

  1. مقدمه و معرفی شبکه‌های عصبی مصنوعی
  2. پرسپترون چند لایه (Multi-layer Perceptron)
    • MLP به عنوان تقریب‌زننده عمومی (Universal approximator)
  3. الگوریتم انتشار رو به عقب‌ خطا (Error back propagation)
  4. بهینه‌سازی در شبکه‌های ژرف
    • مروری بر بهینه‌سازی محدب
    • معرفی انواع روشهای SGD، Momentum، RMS Prop، Adams و …
  5. تکنیک‌هایی در آموزش، طراحی و تعمیم‌پذیری شبکه‌های ژرف
    • معرفی تکنیک‌های بهبود تعمیم‌پذیری نظیر regularization، dropout، data augmentation
    • هنجارسازی بسته‌ای (Batch Normalization)
    • انتخاب توابع فعالیت (activation function)، مقداردهی اولیه وزنها، هنجارسازی ورودی و …
  6. شبکه‌های عصبی کانولوشنی (Convolutional Neural Networks)
    • لایه‌های convolution و pooling
    • معماریهای معروف شبکه‌های CNN
    • کاربردهای مختلف شبکه‌های CNN
  7. شبکه‌های عصبی بازگردنده (Recurrent Neural Networks)
    • مدل‌سازی دنباله‌ها
    • حافظه‌های بلند کوتاه مدت (Long Short Term Memories)
    • شبکه‌های توجه (Attention Networks)
    • مدل‌سازی زبانی (Language Modeling) با استفاده از شبکه‌های RNN
    • کاربرد‌های دیگر شبکه‌های RNN در زمینه‌های مختلف نظیر پردازش زبان طبیعی (Natural Language Processing)
  8. معماری تبدیل کننده (Transformer)
  9. شبکه‌های جمع-ضرب (Product-Sum)
  10. مدل‌های مولد (Generative Models)
    • مدلهای Autoregressive
    • خودکدگذار وردشی (Variational)
    • شبکه‌های مولد حریفانه (Generative Adversarial Networks)
    • مدل‌های مولد مبتنی بر جریان (Flow based)
  11. یادگیری تقویتی ژرف (Deep Reinforcement Learning)
    • یادگیری تقویتی ژرف با استفاده از توابع Q (Q function)
    • رویکرد گرادیان سیاست (Policy Gradient)
    • رویکرد بازیگر-نقاد (Actor Critic)
  12. نمونه‌های خصمانه (Adversarial)‌ و مقاومت شبکه‌های ژرف به نمونه‌های خصمانه
  13. مباحث پیشرفته
    • شبکه‌های دوگان و یادگیری دوگان (Dual Learning)
    • شبکه‌های کانولوشن گرافی
    • یادگیری خودنظارتی (Self-supervised)

ارزیابی

  • تمرین: ۳۰٪
  • میان‌ترم: ۲۰٪
  • پایان‌ترم: ۳۰٪
  • آزمون‌های کوتاه: ۱۰٪
  • پروژه یا کار تحقیقاتی: ۱۰٪

مراجع

  1. Ian Goodfellow, Yoshua Bengio and Aaron Courville, Deep Learning, Book in preparation for MIT Press, 2016.
  2. Michael Nielsen, Neural networks and deep learning, Preprint, 2016.