یادگیری ژرف
| مدرس: دکتر حمید بیگی | پیشنیاز: ریاضیات هوش مصنوعی و علم داده |
| ترم: تابستان ۱۴۰۴ | محل برگزاری: کلاس مجازی |
| زمان ارائه: دوشنبه ۱۷:۰۰ تا ۲۰:۰۰ | مشاهده: دریافت لایسنس |
معرفی درس
یادگیری ژرف؛ از مبانی شبکههای عصبی تا معماریهای نوین هوش مصنوعی
یادگیری ژرف (Deep Learning) یکی از شاخههای مهم یادگیری ماشین است که در سالهای اخیر نقش چشمگیری در پیشرفت هوش مصنوعی داشته است. از تشخیص اشیا در تصاویر و فهم زبان طبیعی گرفته تا تولید متن و تصویر و تصمیمگیری هوشمند، بسیاری از دستاوردهای جدید هوش مصنوعی بر پایه شبکههای عصبی ژرف توسعه یافتهاند. آشنایی با اصول این روشها و درک نحوه طراحی و آموزش شبکههای عصبی، زمینهای اساسی برای فعالیت در حوزههای پیشرفته هوش مصنوعی فراهم میکند.
در این درس، ابتدا با مبانی شبکههای عصبی مصنوعی، پرسپترون چندلایه و قدرت مدلسازی آنها آشنا میشوید و نحوه آموزش شبکهها با الگوریتم انتشار رو به عقب خطا (Backpropagation) را میآموزید. سپس روشهای بهینهسازی، از جمله الگوریتمهای مبتنی بر گرادیان، و تکنیکهای بهبود آموزش و تعمیمپذیری شبکهها را بررسی میکنید. این مباحث به شما کمک میکنند منطق پشت آموزش شبکههای ژرف را بهتر درک کنید و با عوامل مؤثر بر عملکرد آنها آشنا شوید.
در ادامه، معماریهای مهم شبکههای عصبی، از جمله شبکههای کانولوشنی (CNN) برای پردازش دادههای تصویری، شبکههای بازگشتی (RNN) برای مدلسازی دادههای دنبالهای و معماری Transformer را مطالعه خواهید کرد. همچنین با مدلهای مولد و روشهای مختلف تولید داده، یادگیری تقویتی ژرف، نمونههای خصمانه و مقاومت شبکهها در برابر آنها آشنا میشوید. در بخش مباحث پیشرفته نیز موضوعاتی مانند یادگیری خودنظارتی، یادگیری دوگان و شبکههای کانولوشنی گرافی بررسی میشوند.
در پایان این درس چه تواناییهایی کسب میکنید؟
- درک اصول شبکههای عصبی مصنوعی و توانایی مدلسازی پرسپترون چندلایه
- شناخت الگوریتم انتشار رو به عقب خطا و نقش آن در آموزش شبکههای عصبی
- آشنایی با روشهای بهینهسازی شبکههای ژرف، از جمله SGD، Momentum، RMSProp و Adam
- شناخت روشهای بهبود آموزش و تعمیمپذیری، مانند منظمسازی، Dropout، افزایش داده و Batch Normalization
- درک ساختار و کاربرد شبکههای کانولوشنی در بینایی کامپیوتر و تحلیل تصاویر
- آشنایی با شبکههای بازگشتی، LSTM و روشهای توجه برای مدلسازی دادههای دنبالهای و مسائل پردازش زبان طبیعی
- شناخت معماری Transformer و نقش آن در مدلهای نوین هوش مصنوعی
- آشنایی با مدلهای مولد، از جمله مدلهای خودرگرسیو، خودکدگذارهای وردشی (VAE)، شبکههای مولد تخاصمی (GAN) و مدلهای مبتنی بر جریان
- درک رویکردهای اصلی یادگیری تقویتی ژرف، شامل روشهای مبتنی بر تابع Q، گرادیان سیاست و بازیگر ـ نقاد
- شناخت نمونههای خصمانه و روشهای بررسی مقاومت شبکههای عصبی در برابر آنها
- آشنایی با موضوعات پیشرفتهای مانند یادگیری خودنظارتی، یادگیری دوگان و شبکههای کانولوشنی گرافی
این درس برای دانشجویان و دانشآموختگان مهندسی کامپیوتر، علوم کامپیوتر، مهندسی برق و رشتههای مرتبط مناسب است. همچنین، برنامهنویسان، پژوهشگران و علاقهمندان به هوش مصنوعی که میخواهند درک عمیقتری از روشها و معماریهای یادگیری ژرف به دست آورند، میتوانند از مباحث این دوره بهره ببرند. گستردگی موضوعات درس، آن را برای افرادی که به حوزههایی مانند بینایی کامپیوتر، پردازش زبان طبیعی، مدلهای مولد و یادگیری تقویتی علاقهمندند، مفید میسازد.
پیشنیاز
آشنایی با مبانی یادگیری ماشین، جبر خطی، حساب دیفرانسیل و انتگرال و احتمال و آمار برای درک بهتر مباحث این درس توصیه میشود. همچنین، تجربه برنامهنویسی و آشنایی با مفاهیم بهینهسازی میتواند به دنبال کردن مباحث آموزش شبکههای عصبی کمک کند.
سرفصلها
- مقدمه و معرفی شبکههای عصبی مصنوعی
- پرسپترون چند لایه (Multi-layer Perceptron)
- MLP به عنوان تقریبزننده عمومی (Universal approximator)
- الگوریتم انتشار رو به عقب خطا (Error back propagation)
- بهینهسازی در شبکههای ژرف
- مروری بر بهینهسازی محدب
- معرفی انواع روشهای SGD، Momentum، RMS Prop، Adams و …
- تکنیکهایی در آموزش، طراحی و تعمیمپذیری شبکههای ژرف
- معرفی تکنیکهای بهبود تعمیمپذیری نظیر regularization، dropout، data augmentation
- هنجارسازی بستهای (Batch Normalization)
- انتخاب توابع فعالیت (activation function)، مقداردهی اولیه وزنها، هنجارسازی ورودی و …
- شبکههای عصبی کانولوشنی (Convolutional Neural Networks)
- لایههای convolution و pooling
- معماریهای معروف شبکههای CNN
- کاربردهای مختلف شبکههای CNN
- شبکههای عصبی بازگردنده (Recurrent Neural Networks)
- مدلسازی دنبالهها
- حافظههای بلند کوتاه مدت (Long Short Term Memories)
- شبکههای توجه (Attention Networks)
- مدلسازی زبانی (Language Modeling) با استفاده از شبکههای RNN
- کاربردهای دیگر شبکههای RNN در زمینههای مختلف نظیر پردازش زبان طبیعی (Natural Language Processing)
- معماری تبدیل کننده (Transformer)
- شبکههای جمع-ضرب (Product-Sum)
- مدلهای مولد (Generative Models)
- مدلهای Autoregressive
- خودکدگذار وردشی (Variational)
- شبکههای مولد حریفانه (Generative Adversarial Networks)
- مدلهای مولد مبتنی بر جریان (Flow based)
- یادگیری تقویتی ژرف (Deep Reinforcement Learning)
- یادگیری تقویتی ژرف با استفاده از توابع Q (Q function)
- رویکرد گرادیان سیاست (Policy Gradient)
- رویکرد بازیگر-نقاد (Actor Critic)
- نمونههای خصمانه (Adversarial) و مقاومت شبکههای ژرف به نمونههای خصمانه
- مباحث پیشرفته
- شبکههای دوگان و یادگیری دوگان (Dual Learning)
- شبکههای کانولوشن گرافی
- یادگیری خودنظارتی (Self-supervised)
ارزیابی
- تمرین: ۳۰٪
- میانترم: ۲۰٪
- پایانترم: ۳۰٪
- آزمونهای کوتاه: ۱۰٪
- پروژه یا کار تحقیقاتی: ۱۰٪
منابع
- Ian Goodfellow, Yoshua Bengio and Aaron Courville, Deep Learning, Book in preparation for MIT Press, 2016.
- Michael Nielsen, Neural networks and deep learning, Preprint, 2016.