دوره جامع یادگیری عمیق


دوره جامع یادگیری عمیق تعلیسمتان یکی از جامع ترین دوره های موجود برای یادگیری عمیق میباشد. این دوره شامل 5 بخش اصلی میباشد که در ادامه به صورت جداگانه توضیحاتی درخصوص هریک ارائه شده است.
- آشنایی با یدگیری عمیق
- انتقال یادگیری درشبکه های عصبی عمیق
- پیشبینی سریهای زمانی با استفاده از شبکه های عصبی عمیق
- طبقه بندی تصاویر وبکم با استفاده از شبکه های عصبی عمیق
- آموزش جبر خطی
آشنایی با یادگیری عمیق
به طور تخصصی به شبکه های عصبی عمیق (Deep Neural Networks: DNNs)، مفهوم یادگیری عمیق (Deep Learning) و نحوۀ پیاده سازی و کار با آنها در محیط متلب می پردازد. خلاصۀ محتوای هر یک از درسهای این دوره به صورت زیر است:
- درس اول: مرور مفاهیم مقدماتی و پایه ای
- درس دوم: مفاهیم لایه های مختلف شبکه های عصبی و نحوۀ پیاده سازی آنها در MATLAB (همراه با توضیح مفهوم و نحوۀ مقداردهی به پارامترهای هر لایه)
- توضیح مفاهیم اولیه مانند بردارهای دو بعدی و تنسورها
- لایۀ نرمالیزاسیون ورودی شبکه شامل روشهای zerocenter ،zeroscore ،rescale-symmetric و rescale-zer-one
- لایۀ کانولوشن تنسوری و توضیح مفاهیمی مانند:
- same padding ،zero padding
- گام یا stride
- کانولوشن های متسع شده (dilated)
- مقداردهی اولیه به پارامترهای شبکه توسط الگوریتم هایی مانند خاویر (Xavier)
- انواع توابع فعال سازی (activation functions)
- لایه های max pooling ،average pooling و global average pooling
- لایه های تماماً متصل (fully-connected)
- لایۀ مجموع و لایۀ الحاق
- لایۀ batch normalization، روابط ریاضی آن و نحوۀ تنظیم پارامترهای آن برای داشتن آموزشی سریع
- نحوۀ ساخت شبکه های عصبی گوناگون در محیط MATLAB با استفاده از ترکیب لایه های بررسی شده
- درس سوم: ساخت و مدیریت داده های آموزش در MATLAB
- آموزش نحوۀ ساخت داده های آموزش
- آموزش نحوۀ برچسب زنی داده های آموزش
- آموزش نحوۀ استفاده از توابع datastore جهت مدیریت داده های آموزش، اعتبار سنجی و تست و استفاده از آن در حین آموزش شبکه
- توضیح نحوۀ استفاده از داده های آموزش موجود در MATLAB
- آموزش روشهای بهبود کیفیت و تعداد داده های آموزشی
- آشنایی با معروف ترین دیتاست های موجود
- درس چهارم: توضیح نحوۀ آموزش شبکه های عصبی در MATLAB
- توضیح مرحله به مرحلۀ روند آموزش
- بررسی تفاوت میان مسائل رگرسیون (regression) و دسته بندی (classification)
- انواع توابع هزینه مانند MSE و CrossEntropy، مفاهیم آنها، مواقع استفاده از آنها و نحوۀ پیاده سازی آنها در MATLAB
- آشنایی با مفاهیم آموزش مانند:
- Epoch، Batch و Iteration
- داده های آموزش، اعتبارسنجی و آزمایش و نحوۀ استفاده از آنها
- مفهوم overfitting و نحوۀ جلوگیری از آن (تفاوت بچۀ خرخوان با بچۀ باهوش!)
- مفهوم نرخ یادگیری شبکه (learning rate)، نحوۀ مقدار دهی اولیۀ آن، نحوۀ تغییر دادن آن در حین آموزش شبکه
- زمان مناسب جهت توقف یادگیری
- چگونگی استفاده از نرم 2 یا L2-norm Regularization جهت جلوگیری از overfitting شبکه
- مشاهدۀ مفهوم تعمیم (generalization) در شبکه های عصبی
- درس پنجم: پیاده سازی چندین شبکۀ عصبی و آموزش آنها در MATLAB
- پیاده سازی شبکۀ عصبی پرسپترون تک لایه
- پیاده سازی شبکۀ عصبی پرسپترون چند لایه برای حل مسالۀ رگرسیون
- پیاده سازی شبکه عصبی پرسپترون چند لایه برای حل مسالۀ دسته بندی
- بررسی اثر overfitting
- بررسی اثر نرخ یادگیری بر روی سرعت آموزش شبکه
- بررسی اثر L2-Normalization
- بررسی اثر نحوۀ مقداردهی اولیۀ پارامترها بر سرعت یادگیری
- بررسی اثر لایۀ Dropout بر نحوۀ یادگیری شبکه
- بررسی شکل ساختار شبکه بر کارایی آن
- ……
- پیاده سازی شبکۀ عصبی کانولوشنی برای مسائل classification و بررسی اثر پارامترها و لایه های شبکه بر روی کارایی شبکه
انتقال یادگیری در شبکه های عصبی عمیق
در این درس-پروژه فشردۀ یادگیری عمیق (Deep Learning) با حل دو مسئلۀ برگرفته از راهنمای متلب به توضیح انتقال یادگیری (Transfer Learning) و نحوۀ پیاده سازی آن در محیط متلب می پردازیم. همان طور که می دانیم آموزش دقیق شبکه های عصبی عمیق نیازمند ده ها و شاید صدها کارت گرافیکی (GPU) و صرف هفته ها و یا حتی ماه ها زمان است که با استفاده از مفهوم انتقال یادگیری می توان از اتلاف این حجم عظیم از وقت و هزینه جلوگیری نمود. انتقال یادگیری در شبکه های عصبی به معنی تغییر جزئی یک شبکۀ عمیق آموزش دیده برای حل مسئلۀ A است به گونه ای که بدون نیاز به آموزش دوبارۀ تمام شبکه بتوان از آن برای حل مسئلۀ کاملاً متفاوت B استفاده نمود. در این درس این مفهوم را به طور فشرده و با حل دو مسئله در متلب توضیح خواهیم داد. در مثال اول، شبکۀ کانولوشنی عمیق (Convolutional Neural Network: CNN) آموزش دیده برای دسته بندی تصاویر حاوی اعداد دست نوشته را از طریق انتقال یادگیری به یک شبکۀ جدید برای حل مسائل رگرسیون تبدیل کرده و از طریق آن میزان چرخش اعداد دست نوشته در تصاویر را تخمین می زنیم. در مسئله یا مثال دوم، تمرکز را بر روی شبکه های عمیق تر و پیچیده تر مانند AlexNet، GoogLeNet یا Resnet می گذاریم و نشان می دهیم که چگونه در محیط متلب می توان با اعمال انتقال یادگیری به این شبکه های عمیق (آموزش دیده برای دسته بندی تصاویر داده های آموزشی ImageNet به 1000 کلاس خروجی) از آنها در حل دیگر مسائل رگرسیون یا دسته بندی بدون نیاز به آموزش دوباره تمام شبکه استفاده نمود.
مطالبی که در این پروژه خواهیم دید:
- مفهوم انتقال یادگیری و پیاده سازی آن در متلب
- نحوۀ تغییر لایه های ورودی و خروجی شبکۀ آموزش یافته به لایه هایی منطبق با مسئلۀ خود و آموزش این لایه های جدید
- آشنایی با روش های مختلف آموزش شبکه های عصبی عمیق بعد از انتقال یادگیری
- نحوۀ جلوگیری از آموزش دوبارۀ برخی از لایه های شبکه های عصبی منتقل شده
- پیاده سازی چند مسئله با استفاده از انتقال یادگیری مابین شبکه های عصبی گوناگون
- حل دو مسئلۀ متفاوت با انتقال یادگیری در متلب:
- تغییر شبکۀ دسته بندی به شبکۀ تخمینی (برای سنجش میزان چرخش اعداد در تصاویر و سپس تصحیح چرخش)
- انتقال یادگیری از شبکۀ AlexNet برای حل مسئلۀ جدید دسته بندی
آنچه با خرید این مجموعه دریافت خواهید نمود:
1- کدهای کامنت گذاری شدۀ متلب مثال های ارائه شده در این درس-پروژه
2- ویدئوی توضیح فشردۀ پیاده سازی انتقال یادگیری در متلب از طریق مرور خط به خط دستورهای استفاده شده در کدهای ارائه شده
3- فایل pdf توضیح این درس-پروژه که در بردارندۀ تعریف صورت مسئله، بیان خلاصۀ انتقال یادگیری و نحوۀ حل مثال های ارائه شده در محیط متلب با توضیح کامل دستورات استفاده شده می باشد.
لازم به ذکر است که برای اجرای این درس-پروژه در متلب باید Deep Learning Toolbox نصب شده باشد.
نمونه هایی از خروجی های متلب در مثال اول:
نمونه هایی از خروجی های متلب در مثال دوم:
پیشبینی یرهای زمانی با استفاده از شبکه های عصبی عمیق
در این درس-پروژۀ فشرده برگرفته از راهنمای متلب در ابتدا مروری بر شبکه های عمیق بازگشتی و نحوۀ کارکرد آنها را خواهیم داشت. در ادامه به توضیح نحوۀ استفاده از شبکه های عمیق بازگشتی (Recurrent Neural Networks یا RNN) از نوع LSTM جهت پیش بینی سری های زمانی می پردازیم. سپس به منظور درک بهتر و توجه بیشتر به جنبۀ کاربردی مسئله، نحوۀ پیاده سازی مثال پیش بینی سری زمانی تغییرات بازار بورس در محیط متلب را با یکدیگر مرور خواهیم نمود.
مطالبی که در این پروژه خواهیم دید:
- توضیح مختصری از شبکه های عصبی بازگشتی (Recurrent Neural Networks) و تفاوت آنها با دیگر شبکه های عصبی عمیق
- آشنایی مختصر با ساختار لایه LSTM و نحوۀ پیاده سازی آن در محیط متلب
- پیاده سازی پیش بینی کننده سری های زمانی با استفاده از لایه های LSTM در محیط متلب و استفاده از آن برای پیش بینی تغییرات بازار بورس
- توضیح چگونگی تغییر کارکرد شبکه برای حل مسائل دیگر سری های زمانی
- بررسی نحوۀ استفاده از شبکۀ عمیق بازگشتی آموزش دیده جهت تخمین و پیش بینی مقادیر سیگنال در آینده
- چگونگی از استفاده از مقادیر تخمینی در زمان های آینده برای بهبود کیفیت تخمین زمان های دورتر.
آنچه با خرید این مجموعه دریافت خواهید نمود:
1- کدهای کامنت گذاری شدۀ متلب مثال های ارائه شده در این درس-پروژه
2- ویدئوی توضیح فشردۀ پیاده سازی شبکه های عصبی بازگشتی مبتنی بر لایه های LSTM در متلب از طریق مرور خط به خط دستورهای استفاده شده در کدهای ارائه شده
3- فایل pdf توضیح این درس-پروژه که در بردارندۀ تعریف صورت مسئله، بیان خلاصۀ شبکه های عصبی بازگشتی و نحوۀ حل مثال های ارائه شده در محیط متلب با توضیح کامل دستورات استفاده شده می باشد.
لازم به ذکر است که برای اجرای این درس-پروژه در متلب باید Deep Learning Toolbox نصب شده باشد.
نمونه ای از خروجی های تولیدی کد متلب مورد بررسی:
طبق بندی تصاویر با استفاده از شبکه های عصبی عمیق
در این درس-پروژۀ فشرده برگرفته از راهنمای متلب در ابتدا مروری بر شبکه های عمیق بازگشتی و نحوۀ کارکرد آنها را خواهیم داشت. در ادامه به توضیح نحوۀ استفاده از شبکه های عمیق بازگشتی (Recurrent Neural Networks یا RNN) از نوع LSTM جهت پیش بینی سری های زمانی می پردازیم. سپس به منظور درک بهتر و توجه بیشتر به جنبۀ کاربردی مسئله، نحوۀ پیاده سازی مثال پیش بینی سری زمانی تغییرات بازار بورس در محیط متلب را با یکدیگر مرور خواهیم نمود.
مطالبی که در این پروژه خواهیم دید:
- توضیح مختصری از شبکه های عصبی بازگشتی (Recurrent Neural Networks) و تفاوت آنها با دیگر شبکه های عصبی عمیق
- آشنایی مختصر با ساختار لایه LSTM و نحوۀ پیاده سازی آن در محیط متلب
- پیاده سازی پیش بینی کننده سری های زمانی با استفاده از لایه های LSTM در محیط متلب و استفاده از آن برای پیش بینی تغییرات بازار بورس
- توضیح چگونگی تغییر کارکرد شبکه برای حل مسائل دیگر سری های زمانی
- بررسی نحوۀ استفاده از شبکۀ عمیق بازگشتی آموزش دیده جهت تخمین و پیش بینی مقادیر سیگنال در آینده
- چگونگی از استفاده از مقادیر تخمینی در زمان های آینده برای بهبود کیفیت تخمین زمان های دورتر.
آنچه با خرید این مجموعه دریافت خواهید نمود:
1- کدهای کامنت گذاری شدۀ متلب مثال های ارائه شده در این درس-پروژه
2- ویدئوی توضیح فشردۀ پیاده سازی شبکه های عصبی بازگشتی مبتنی بر لایه های LSTM در متلب از طریق مرور خط به خط دستورهای استفاده شده در کدهای ارائه شده
3- فایل pdf توضیح این درس-پروژه که در بردارندۀ تعریف صورت مسئله، بیان خلاصۀ شبکه های عصبی بازگشتی و نحوۀ حل مثال های ارائه شده در محیط متلب با توضیح کامل دستورات استفاده شده می باشد.
لازم به ذکر است که برای اجرای این درس-پروژه در متلب باید Deep Learning Toolbox نصب شده باشد.
نمونه ای از خروجی های تولیدی کد متلب مورد بررسی:
مباحثی در جبر خطی
جبر خطی قطعا یکی از کاربردی ترین و مفید ترین درسهای ریاضی در تمام علوم می باشد. از جمله مهمترین کاربردهای به روز این درس ریاضی به کاربردهای جدی آن در ماشین لرنینگ، هوش مصنوعی، الگوریتمهای تکاملی، داده کاوی (دیتا ماینیگ) و آمار اشاره کرد. این دوره درس ارائه شده توسط مدرس در دانشگاه بریستول انگلستان می باشد. در این دوره دکتر فرهاد بابائی با بیانی شیوا و مثالهایی ملموس به تدریس جبرخطی و به ویژه مقادیر ویژه و بردارهای می پردازد و در میان این مباحث مهمی که با ** مشخص شده اند مانند تغییر مختصات، یادآوری در مورد نگاشت های خطی نیز برای ملموس بودن گنجانده شده اند. این بخش از دوره به زبان انگلیسی تدریس شده است.
ویژگی های دوره
- عناوین 8
- امتحانات 0
- مدت حدود 11 ساعت
- سطح مهارت تحصیلات تکمیلی
- زبان فارسی و انگلیسی
- دانشجویان 42
- گواهی نه
- ارزیابی ها بله
-
راهنمای استفاده بهینه از دوره
-
یادگیری عمیق
-
انتقال یادگیری
-
پیش بینی سریهای زمانی
-
دسته بندی تصاویر وبکم