مباحث ویژه 2 - یادگیری عمیق پیشرفته (مهر 97)

درس مباحث ویژه 2 با موضوع یادگیری ژرف پیشرفته برای مقطع کارشناسی ورودی های 94 دانشگاه تربیت دبیر شهید رجایی تعریف شده است. این درس در ادامه ی درس سه واحدی مباحث ویژه 1 با موضوع مقدمات بینایی کامپیوتر و یادگیری عمیق تعریف شده است و به عنوان ادامه ی آن مباحث است. در این ترم با مباحثی نظیر شبکه های RNN، شبکه های مولد یا GAN، style transfer و ... آشنا خواهیم شد. همچنین علاوه بر فریم ورک Keras با سایر فریم ورک های یادگیری عمیق نظیر tensorflow، fast.ai و pytorch نیز آشنا خواهیم شد.

رخداد تاریخ توضیحات محتوا
جلسه 0 دوشنبه، ۲ مهر ۱۳۹۷ حضور آقای محمد چناریان نخعی با موضوع آشنایی با چارچوب FastAI
جلسه اول شنبه، ۷ مهر ۱۳۹۷ batch-norm
Learning rate decay
multi-label classification در کراس (قسمت اول)
batch-norm, Learning rate decay multi label classification [pdf] [pptx]
نوت بوک ها:
یادداشت:




جلسه دوم دوشنبه، ۹ مهر ۱۳۹۷ multi-label classification 2
 مقدمات low level API تنسورفلو 
آشنایی با گراف، constant، Tensorو session در تنسورفلو


آشنایی با تنسورفلو [pdf] [pptx]
نوت بوک ها:
جلسه سوم شنبه، ۱۴ مهر ۱۳۹۷ ادامه تنسورفلو مقدماتی - آشنایی با placeholder و Variable در Tensorflow و مفهوم Feed کردن و fetch کردن از گراف
 نوت بوک ها:


 آشنایی با placeholder و Variable در تنسرفلو [pdf] [pptx]
نوت بوک ها:

جلسه چهارم دوشنبه، ۱۶ مهر ۱۳۹۷ پیاده سازی یک شبکه عصبی تمام-متصل و یک شبکه عصبی کانولوشنالی با تنسرفلو برای مجموعه داده mnist نوت بوک ها:

HW1 جمعه، ۲۰ مهر ۱۳۹۷ تمارین تنسرفلو تمرین سری اول
جلسه پنجم شنبه، ۲۱ مهر ۱۳۹۷ در این جلسه مقدمات کتابخانه FastAI مطرح شد و برخی از ایده های آن از جمله پیدا کردن Learning Rate مناسب، Stochastic Gradient Descent with Restarts آشنایی با FastAI مقدماتی [pdf] [pptx]

نوت بوک ها:
39-Intro-FastAi.ipynb

جلسه ششم دوشنبه، ۲۳ مهر ۱۳۹۷ در این جلسه Global Pooling و Adaptive pooling مطرح شد و به ایده آموزش یک شبکه با تصاویر با سایز متفاوت در ایپاک های مختلف در فریم ورک FastAI پرداخته شد. آشنایی با فریم ورک FastAI قسمت دوم [pdf] [pptx]

نوت بوک ها:
40-breeds.ipynb

جلسه هفتم شنبه، ۲۸ مهر ۱۳۹۷ در ابتدای جلسه multi-label classification در کتابخانه fastAI مورد بررسی قرار داده شد. سپس مقدمه ای خیلی کوتاه از RNN ها و لزوم آنها بیان شد. آشنایی با RNN ها [pdf] [pptx]

نوت بوک ها:
41-planet-multi-label-part3.ipynb

کپچلر جلسه هفتم
جلسه هشتم دوشنبه، ۳۰ مهر ۱۳۹۷ در این جلسه مباحث مربوط به شبکه های بازگشتی RNN، Forward propagation و backpropagation در یک RNN ساده. معرفی مدل زیانی و نحوه ایجاد یک جمله جدید با این شبکه ها بیان شد. شبکه های بازگشتی [pdf] [pptx]

نوت بوک ها:
42-text-generation-with-lstm.ipynb

کپچر جلسه هشتم 
ارائه شنبه، ۱۲ آبان ۱۳۹۷ ارائه شبکه های عصبی اسپایکی
جلسه نهم دوشنبه، ۱۴ آبان ۱۳۹۷ در این جلسه در ادامه ی مبحث RNN ها(شبکه های بازگشتی) و مشکل vanishing gradientکه انتهای جلسه‌ی هشتم مطرح گردید دو تغییر از این نوع شبکه ها به ترتیب GRU و LSTM بیان شدند. سپس Bidirectional RNN و Deep RNN به صورت مختصر معرفی شده و در انتهای جلسه یک مدل زبانی character level با Keras پیاده سازی شد.  معرفی شبکه های بازگشتی  GRU و LSTM ا [pdf] [pptx]

نوت بوک ها:
43-basic_text_classification.ipynb

کپچر جلسه نهم
جلسه دهم شنبه، ۱۲ آبان ۱۳۹۷ در این جلسه با پردازش زبان طبیعی(NLP) و Word Embeddings آشنا شدیم. در مورد مفهوم Analogy در embedding کلمات مورد بحث قرار گرفت و در آخر یک مثال ساده در کتابخانه Keras برای طبقه بندی نظرات در وب سایت IMDB را بررسی کردیم.

NLP and Word Embeddings[pdf][pptx]

کپچر جلسه دهم
جلسه یازدهم دوشنبه، ۱۴ آبان ۱۳۹۷
در این جلسه با روش word2vec برای آموزش word embedding آشنا شدیم.
  • Word2Vec
  • Skip-grams
  • Problems with softmax classification
  • Negative Sampling

learning word embeddings - Word2vec [pdf][pptx]


کپچر جلسه یازدهم

جلسه دوازدهم شنبه، ۲۶ آبان ۱۳۹۷
در این جلسه روش GloVe برای آموزش word embedding مطرح شد و سپس مشکل  bias ها مختلف جنسیتی، قومی، نژادی و ... مطرح و راه حل های آن مورد بحث فرار گرفت.
در آخر یک مثال استفاده از بردارهای از قبل آموزش داده شده embedding در کراس را بررسی کردیم.
learning word embeddings - GloVe[pdf][pptx]

نوت بوک ها:

کپچر جلسه دوازدهم

جلسه سیزدهم دوشنبه، ۲۸ آبان ۱۳۹۷
مباحث این جلسه:
-استفاده از word analogy
-حذف بایاس در بردارهای embedding
-طبقه بندی متن
در این جلسه به صورت عملی مباحث جلسات قبل را در پایتون و Keras بررسی کردیم. در ابتدا word analogy را در وزن های از قبل آموزش داده شده بررسی کردیم. سپس مشکل بایاس جنسیتی را رفع کرده و در آخر یک طبقه بند متن یک بار با روش میانگیری embedding و یکبار با شبکه های بازگشتی را پیاده سازی کردیم. در این مثال از دیتاست Emoji استفاده شد و هدف انتخاب خودکار emoji مناسب برای هر جمله بوده است.

Text classification with LSTM[pdf][pptx]

 نوت بوک ها:

45-analogy-using-embeddings.ipynb

46-debiasing-word-vectors.ipynb

47-text-classification-Emojify.ipynb

 کوییز دوم 

کپچر جلسه سیزدهم

HW2 چهارشنبه، ۳۰ آبان ۱۳۹۷ تمرین 2# – LSTM-GRU- Word embedding
تمرین سری 2
جلسه چهاردهم شنبه، ۱۰ آذر ۱۳۹۷ در این جلسه یک مثال Text generation در سطح کاراکتر با شبکه های RNN در تنسرفلو دیدیم و با مجموعه داده شاهنامه آن را آموزش دادیم. در این مثال از لایه embedding در سطح کاراکتر استفاده کردیم و همچنین با Eager Execution تنسرفلو بیشتر آشنا شدیم.

 نوت بوک ها:

48-text-generation-on-shahnameh-tensorflow.ipynb


کپچر جلسه چهاردهم

جلسه پانزدهم دوشنبه، ۱۲ آذر ۱۳۹۷
در این جلسه میزبان آقای مهدی زاده بودیم و ایشان مبحث image captioning را در فریم ورک Keras آموزش دادند.
نوت بوک‌ها:
https://github.com/Alireza-Akhavan/class.vision/tree/master/49-image_captioning

فایلهای مورد نیاز(از جمله اوزان و pickle فایلها و فایل های txt مربوط به اجرای مراحل تمیز کردن مدل و آموزش مدل) در اینجا قرار دارد:

http://deepnn.ir/class.vision/mahdizade/image_captioning.zip

کپچر جلسه پانزدهم
جلسه شانزدهم شنبه، ۱۰ آذر ۱۳۹۷
در این جلسه مبانی مدل های Seq2Seq و machine translation بیان شد.


کپچر جلسه شانزدهم
جلسه هفدهم دوشنبه، ۱۲ آذر ۱۳۹۷
در این جلسه توجه یا attention در پردازش زبان طبیعی با مثال ترجمه ماشینی آموزش داده شد و پیاده سازی در فریم ورک Keras مورد بررسی قرار گرفت.

نوت‌بوک‌ها:
جلسه هجدهم شنبه، ۱۷ آذر ۱۳۹۷
پردازش صوت در RNNها
ابتدا با مفهوم صوت و مفهوم spectogram به عنوان ویژگی با معنی برای صوت آشنا شدیم. سپس برای بازشناسی گفتار دو روش بر پایه attention و CTC loss خلاصه بیان شد. در انتهای جلسه trigger word detection به عنوان یک مساله ساده شده صوت را معرفی کردیم و راهکار آموزش آن بیان شد. در ادامه پیاده سازی یک RNN حساس به کلمه ای خاص را پیاده سازی کردیم.

نوت‌بوک‌ها:
جلسه نوزدهم دوشنبه، ۱۹ آذر ۱۳۹۷
  • مرور  مساله تشخیص کلمه trigger در RNNها و پیاده سازی
  • بررسی و پیاده سازی music generation با RNN ها
  • مساله collaborative filtering و سیستم پیشنهاد دهنده برای کتاب

نوت‌بوک‌ها:
اکسل استفاده شده برای collaborative filtering:
جلسه بیستم شنبه، ۲۴ آذر ۱۳۹۷
  • سیستم توصیه گر کتاب (book recommender systems)
  •  style transfer
نوت‌بوک‌ها:

اسلایدها: