بسم الله الرحمن الرحیم در این بخش من منابع موجود برای دیپ لرنینگ رو قرار میدم . فعلا بخشی از منابعی که خودم خوندم و مسیر خوندن رو اینجا میزارم بعدا توضیحات تکمیلی رو یا اینجا یه تو یه پست جداگانه میدم. این بخش رو هم چند ماه پیش برای یکی از دوستانم نوشته بودم برای همین همه منابع رو در بر نمیگیره اما برای کسایی که میخوان شروع کنن خوبه هر وقت کار شما با این منابع تموم شد به یه درجه ای میرسید که خیلی راحت میتونید مقاله ها و… رو بخونید و متوجه بشید ولی در این بین من هم سعی میکنم مقالات و کنفرانسها دست چین شده ای که خودم خوندم و دیدم و یادم هست رو اینجا بزارم و اگر هر کدوم توضیحاتی لازم دارن بدم.(بخش زیادی از مطالب تو کنفرانسهای چند سال اخیر هست که خیلی خوبن.) اینم بگم این بخش هنوز کامل نیست و این لیست مروبط به آبان ۹۴ هست. از آبان ۹۴ به اینور مطالب دیگه ای هم هست اما چون دسته بندی نکردم خودم بعدا میزارم. و به مرور زمان اینجا قرار میدم انشاالله سر فرصت اینجا رو کامل میکنم فعلا من همون متن رو بدون ویرایش اینجا میزارم انشاالله ویرایش و صحبتای تکمیلی باشه برای بعد. طبق معمول کسی سوالی داره میتونه بپرسه.
گروه تخصصی یادگیری عمیق در تلگرام
- قبل از هرچیزی در گروه یادگیری عمیق در تلگرام عضو شید :Deep Learning Channel (لینک گروه در انتهای کانال بروز میشه. اگه کار نکرد پیام بدید.)
- برای پرسیدن سوال تو حوزه های مختلف یادگیری عمیق میتونید از بخش پرسش و پاسخ سایت استفاده کنید . ( http://qa.deeplearning.ir )
نکته خیلی مهم
- در گروه که عضو میشید حواستون باشه که خیلی از افراد حرفه ای و غیرحرفه ای وارد گروه شدن. در گروه هم اساتید و هم دانشجویان خارج از کشور و هم کسایی که هیچ چیز از دیپ لرنینگ نمیدونن هستن. قبل از اینکه فایلی به کسی بدید یا اطلاعاتی به کسی بدید اطمینان حاصل کنید که مخاطب شما فرد درستی هست. میتونید از پستهای افراد در گروه و یا ادمینهای گروه در این زمینه کمک بگیرید.
- برای پرسش سوال بر اساس قوانین گروه عمل کنید که بعد از عضویت بالای گروه قابل مشاهده اس. اگر درسایت پرسش و پاسخ کسی جوابگو نبود سعی کنید حتما در Quora سوال خودتون رو بپرسید. پایین من برای سوال کردن یکسری سایت معرفی کردم که میتونید ببینید.
سرور رایگان برای اجرای پروژه های یادگیری عمیق :
- سرویس ابری Google Colab:
- برای اشنایی با این سرویس و آموزش اینجا کلیک کنید.
- برای استفاده از سرویس اینجا کلیک کنید.
آموزش های ویديویی یادگیری عمیق
- Deep Learning Summer School, Montreal 2015 , و آخرین ورژن اون ۲۰۱۶ رو از دست ندید
- آموزش دیپ لرنینگ توسط یان لیکان خالق شبکه های کانولوشن و استاد دانشگاه نیویورک (۲۰۱۴ و ۲۰۱۵) :آموزش ویديویی قدم به قدم یادگیری عمیق توسط Yann Lecun خالق شبکه های کانولوشنی ۲۰۱۴ و۲۰۱۵
- آموزش دیپ لرنینگ(شبکه کانولوشن و NLP) دانشگاه استنفورد (۲۰۱۶): آموزش قدم به قدم یادگیری عمیق (ویديو دانشگاه استنفورد ۲۰۱۶) (خیلی عالی-زیرنویس اضافه شد).
- این کانال یوتیوب هم که چند ماهی بیشتر نیست فعال شده یه سری ویدئوی خیلی خوب و کوتاه در مورد اکثر زمینه های یادگیری عمیق داره . مثلا طی ۵ یا ۱۰ دقیقه در مورد مفاهیم مختلف, ابزارهای مختلف (مثل CAffe,torch, و…) توضیح میده و برای شروع فک کنم خوب باشه.
- این آموزش هم هست که میتونید ببینید
سایت ها , انجمن های مفید :
- Google Deep Learning Community سایت فوق العاده ای برای اخرین اخبار این حوزه و همینطور سوال/جواب خیلی خوبه. محققای سراسر دنیا معمولا اینجا جمعن.
- http://networkflow.net ( یه انجمن که توسط بچه های دانشگاه استنفورد راه اندازی شده و توش آموزش ها اسلایدها و سوال جوابها رو میتونید پیدا کنید)
برای پرسش سوالها :
- سایت Quora.com یکی از بهترین سایتها در این زمینه هست فعلا. (شاید چیلتر باشه! برای همین اگر باز نشد از چیلتر شکن استفاده کنید)
- سایت StackOverflow و بصورت خاص CrossValidated که اینجا هم میتونید سوالهاتون رو بپرسید. ولی در حالت کلی Quora بنظر خودم تا الان برای من حداقل بهتر بود و اطلاعات خیلی و خوبی بدست اوردم ازش.
مقالات مرجع :
در حال حاضر بهترین دسته بندی مقالات مرجع حوزه یادگیری عمیق رو میتونید اینجا پیدا کنید. اینجا نه تنها مقالات بلکه کتابها هم معرفی میشه.
کتابها:
- Deep Learning: Methods and Applications هم کتاب خیلی خوبیه برای آشنایی با روشهای مختلف و کاربردهای این حوزه (البته یکم قدیمیه ولی خوبه)
- کتاب Deep learning از انتشارات MIT که هنوز منتشر نشده ولی میتونید مطالبش رو انلاین بخونید : Deeplearningbook.org (سطح پیشرفته اس. برای تازه کارها فک میکنم مناسب نباشه)
- کتاب آنلاین مایکل نیلسن هم کتاب خوبیه (اینجا) (هرچند بنظر من بعضی جاهاش زیاد جالب نیومد وقتی خوندمش. بعضی جاها البته خیلی قشنگ توضیح داده و خیلی خوبه. از شبکه عصبی شروع میکنه قدم به قدم و میرسه به شبکه کانولوشن و یادگیری عمیق در فصل اخرش)
- این هم یه کتاب آنلاین متن باز هست که برای کسایی که تازه میخوان شروع کنن نوشته شده (ادعای نویسنده اشه من شخصا تا حالا این کتاب رو نخوندم) و بر اساس TensorFlow هم هست و پیش میره یعنی مفاهیم مختلف رو با این پیاده سازی میکنه و توضیح میده. لینک کتاب اینه
- سایت Deeplearning.net هم یکسری مطالب جالب داره که حتما سر بزنید اینجا و اینجا مثلا
- این هم ممکنه برای بعضی ها جالب باشه (بخشهای اول انگلیسی هست و بقیه فرانسوی) : دوبخش ممکنه براتون مفید باشه : مقدمه ای بر ماشین لرنینگ و یادگیری عمیقش
- کتاب یادگیری مقدماتی یادگیری عمیق نوشته جف هیتن ( باGeoffrey Hinton معروف اشتباه نگیرید!) انتشار ۲۰۱۵ رو از اینجا دانلود کنید. برای شروع فک کنم خوندنش خوب باشه.
- Deep Learning Tutorial این هم برای شروع دیپ لرنینگ برای کسایی که بک گراند پایتون دارن خوبه.
پیش نیازها برای کسانی که قصد تحقیقات حرفه ای تو این زمینه رو دارن پیشنهاد میشه حتما نگاهی به این لیست پیشنیازها بندازن . اینجا پیش نیاز ها (مثل ریاضیات (جبر و امار…) یادگیری ماشین و….) به همراه آموزش هرکدوم به ترتیب اومده . در این بخش لینک منابع و سایتهایی که حاوی مطالبی هست که افراد باید بدونن قرار داده میشه . بعنوان مثال یادگیری ماشین یا مباحث ریاضی اگر کسی بلد نیست و میخواد این پیش نیاز رو برطرف کنه میتونه از این منابع زیر هم استفاده کنه: (با تشکر ویژه از جناب سعادتی)
- آموزش ماشین لرنینگ توسط دکتر سلیمانی دانشگاه شریف
- سایتی شامل لیستی از کتابهای مرجع آموزش تصویری و جزوات دانشگاه شریف
- برای آشنایی و یا یادگیری زبان پایتون هم من سایت python-course رو پیشنهاد میکنم که خیلی عالی توضیح داده و میتونید گام به گام با بخشهای مختلف و خیلی مهم مثل numpy آشنا بشید و سریع راه بیوفتید.
منابع متفرقه(این لیست قدیمی هست و من سر فرصت یک مطلب جداگانه و بروز در این زمینه قرار میدم انشاءالله اما موارد زیر هنوز هم مناسب هستند خصوصا پیش نیازها مثل یادگیری ماشین و اموزش شبکه های عصبی و کانولوشن) :
(لیست مربوط به آبان ۹۴) اطلاعات این بخش همون چیزی هست که بالا توضیح دادم (مسیری که خودم رفته بودم و آبان ماه سال قبل برای یکی از دوستانم نوشته بودم) .
بسم الله الرحمن الرحیم
منابع کانولوشنال نتورک
بهترین منبع آموزش شبکه کانولوشن و شبکه عصبی این http://cs231n.github.io/ هست عالیه عااااالی (فیلم آموزشی این بخش هم از اینجا ببینید )
نکته مهم اینه قبل خوندن این باید یه کورس ماشین لرنینگ گذرونده باشی کامپیوتر ویژن هم لازمه بلد باشی البته
(کلاس اندرو ان جی تو کورس ایرا عالیه از اینجا میتونید ببینید یا دانلود کنید
برای کامیپوتر ویژن هم آموزش دانشگاه جورجیا تک تو udacity خیلی خوبه
/////////////////////////////////////////////////////////////////////////////////////////////////////
برای پیاده سازی شبکه کانولوشن لینک زیر خیلی خوبه . به جاوا اسکریپت هست اما برای تست و ایده پیاده سازی خوبه.(لازمه اش اینه که قبلش خودتون یه بار یه شبیه ساز شبکه عصبی رو بنویسید تا ایده بگیرد ۹۸درصد مثل هم هستن فقط ۲ درصد تفاوت هست که اونم بخاطر ماهیت کانولوشن و … ایناس. از طرفی یکسری از الگوریتمهای جدید هم توش پیاده شده که آشنایی با نحوه پیاده سازیش خوبه بنظرم.هرچند ضروری نیست و همه رو میشه با خوندن مقالات فهمید ولی خیلی پیشنهاد میشه.) http://cs.stanford.edu/people/karpathy/convnetjs/docs.html
(برای دانلود سورس میتونی از اینجا بگیری : https://github.com/karpathy/convnetjs )
این هم سه ورژن شبکه کانولوشن رو نوشته با سی ++ هست http://eric-yuan.me/cnn/
این هم یکسری آموزش داره به پایتون و ثیانو که یک شبکه کانولوشن رو پیاده سازی میکنه با توضیحات http://deeplearning.net/
//////////////////////////////////////////////////////////////////////////////////////////////////////
این یکسری موارد و مفایهم شبکه کانولوشن و lstm رو توضیح میده http://colah.github.io/ این هم یکسری منابع و مراجع برای کسایی هست که تو زمینه دیپ لرنینگ کار میکنن
اینجا زحمت کشیدن منابع رو گذاشتن کسی میخواد میتونه ببینه awesome-deep-vision
====================================================
کورسهای مورد نیاز قبل از شروع بکار کانولوشن نتورک حتما یک دور کامل این کورس باید خونده باشه یا کورس معادلش
(این یکی از بهترینهاست توضیحاتش عالیه البته بخش شبکه های عصبیش بدرد نمیخوره) آموزش ماشین لرنینگ اندرو ان جی استاد دانشگاه استنفورد: https://class.coursera.org/ml-005/lecture
اینم خوبه : http://info.usherbrooke.ca/hlarochelle/cours/ift725_A2013/contenu.html ویدئو ها و فایلهای پ یدی اف همه انگلیسی هستن
———————————————————————————————————–
بسته به بک گراند فرد و آشنایی اون با یکسری مبانی کامپیوتر ویژن دیدن کورس کامیپوتر ویژن دانشگاه جورجیاتک پیشنهاد میشه : https://www.udacity.com/course/introduction-to-computer-vision–ud810
———————————————————————————————————–
برای خوندن شبکه عصبی اول پیشنهاد میشه که یک دور آموزش ماشین لرنینگ اندرو ان جی دیده بشه بعد کتاب مارتین هاگان ویرایش ۲۰۱۴ اون خونده بشه اسم کتاب هست
(اگه تو دانلود کتاب مشکل داشتید بگید تا آپلود کنم) Martin_T._Hagan Neural Network Design 2ndEdition و بعد اگر جایی گیر داشتید کتاب Neural_Networks_and_Machine Learning 3rd by Simon Haykinفصل ۴ اون خونده بشه . (کتاب Neural Networks – A Comprehensive Foundation هم هست که نوشته همین سیمون هایکین هست ولی قدیمیه . اون ورژن ۳ ورژن جدید کتاب هست که معرفی کردم )
===========================================================
پیش نیازها حسابان جبر خطی آمار و احتمالات اینا درسایی هستن که باید فرد بلد باشه یعنی قبلش یا مرور کنید حدودی یا تسلط داشته باشید مفاهیمی مثل مشتق گیری , مشتق جزئی گیری رسم بردار و عملیاتهای برادری و مختصات برداری ضرب و عملیات های مربوط به ماتریس ها آمار و احتمالا ت و واریانس و standard deviation و … چیزایی هست که به وفور دیده میشه و این موارد رو حتما باید بلد باشید معمولا تو آموزش اندرو ان جی قبل از اینکه مفهومی گفته بشه یه توضیحی ارائه در مورد اینا ارائه میشه که خوبه =============================================================
یه کورس دیگه هم هست تو کورس ایرا در مورد شبکه های عصبی هست که توسط دانشمند معروف آقا جف هینتون درس داده میشه اونم بعد از دیدن کلیپهای اندرو ان جی دیده بشه خوبه توصیه میکنم برای شبکه های کانوولوشن دیده بشه
———————————————————————————————————————–
خب چجوری خونده بشه اینا من (از مهندسی نرم افزار اومدم و از ماشین لرنینگ چیزی نمیدونستم ) اول با کتاب مارتین هاگان شروع کردم فصل ۱۲ اول رو خوندم . از یه جایی به بعد بخاطر اینکه ماشین لرنینگ بلد نبودم گیج میشدم بعدش بلطف خدا آموزش اندرو ان جی رو دیدم و رفتم جلو خیلی از مسائل رو برطرف کرد برام همگام با اندرو ان جی (وقتی تا فصل ۲ و ۳ اون رسیدم ) بر اساس چیزایی که از کتاب مارتین هاگان یاد گرفته بودم و کتاب سیمون هایکن شروع کردم یه شبیه ساز شبکه های عصبی رو نوشتن . خیلی کمک کرد بهم ولی ضروری نیست و انجام بشه بهتره. بعد با آموزش دانشگاه استنفورد آشنا شدم وقتی شروع به خوندن کردم دیدم توش ماشین لرنینگ داره برگشتم تمام دوره اندرو ان جی رو دیدم بعد برگشتم اموزش دانشگاه استنفورد رو خوندم از اول اونو خوندم که عالی بود تازه فهمیدم خیلی چیزها تو کتاب مارتین هاگان و سیمون هایکن نبود عالی هست این آموزش. بعد آموزش جف هینتون (شبکه های عصبی) رو پیدا کردم و یکم دیدم و تا الان کامل ندیدمش سر فرصت میرم سرش انشاالله دیگه بقیه چیزا هم میشه مطالعه آزاد و تقویت ریاضی و امار و حسابان و اینا که اگه کسی ضعف داره جبران کنه ولی ضروری نیست. صرفا یه سری اطلاعات اولیه لازمه برای شروع.
سید حسین حسن پور متی کلایی ۲۵ آبان ۱۳۹۴
نکته :کسانی که امکان دانلود فایلهای آموزشی بالا رو ندارن میتونن اونها رو سفارش بدن این آموزشها و منابع دیگه رو میتونید از فروشگاه یادگیری عمیق تهیه کنید.