منابع یادگیری عمیق

بسم الله الرحمن الرحیم

در این بخش من منابع موجود برای دیپ لرنینگ رو قرار میدم . فعلا بخشی از منابعی که خودم خوندم و مسیر خوندن رو اینجا میزارم بعدا توضیحات تکمیلی رو یا اینجا یه تو یه پست جداگانه میدم. این بخش رو هم چند ماه پیش برای یکی از دوستانم نوشته بودم برای همین همه منابع رو در بر نمیگیره اما برای کسایی که میخوان شروع کنن خوبه هر وقت کار شما با این منابع تموم شد به یه درجه ای میرسید که خیلی راحت میتونید مقاله ها و… رو بخونید و متوجه بشید ولی در این بین من هم سعی میکنم مقالات و کنفرانسها دست چین شده ای که خودم خوندم و دیدم و یادم هست رو اینجا بزارم و اگر هر کدوم توضیحاتی لازم دارن بدم.(بخش زیادی از مطالب تو کنفرانسهای چند سال اخیر هست که خیلی خوبن.) اینم بگم این بخش هنوز کامل نیست و این لیست مروبط به آبان ۹۴ هست. از آبان ۹۴ به اینور مطالب دیگه ای هم هست اما چون دسته بندی نکردم خودم بعدا میزارم. و به مرور زمان اینجا قرار میدم

انشاالله سر فرصت اینجا رو کامل میکنم فعلا من همون متن رو بدون ویرایش اینجا میزارم انشاالله ویرایش و صحبتای تکمیلی باشه برای بعد. طبق معمول کسی سوالی داره میتونه بپرسه.

 

گروه تخصصی یادگیری عمیق در تلگرام 

نکته خیلی مهم

  • در گروه که عضو میشید حواستون باشه که خیلی از افراد حرفه ای و غیرحرفه ای وارد گروه شدن. در گروه هم اساتید و هم دانشجویان خارج از کشور و هم کسایی که هیچ چیز از دیپ لرنینگ نمیدونن هستن. قبل از اینکه فایلی به کسی بدید یا اطلاعاتی به کسی بدید اطمینان حاصل کنید که مخاطب شما فرد درستی هست. میتونید از پستهای افراد در گروه و یا ادمینهای گروه در این زمینه کمک بگیرید. 
  • برای پرسش سوال بر اساس قوانین گروه عمل کنید که بعد از عضویت بالای گروه قابل مشاهده اس. اگر درسایت پرسش و پاسخ کسی جوابگو نبود سعی کنید حتما در Quora سوال خودتون رو بپرسید. پایین من برای سوال کردن یکسری سایت معرفی کردم که میتونید ببینید.

 

آموزش های ویديویی یادگیری عمیق

 

سایت ها ,‌ انجمن های مفید :‌

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 این هم برای شروع دیپ لرنینگ برای کسایی که بک گراند پایتون دارن خوبه.

 

پیش نیازها 
در این بخش لینک منابع و سایتهایی که حاوی مطالبی هست که افراد باید بدونن قرار داده میشه . بعنوان مثال یادگیری ماشین یا مباحث ریاضی اگر کسی بلد نیست و میخواد این پیش نیاز رو برطرف کنه میتونه از این منابع زیر هم استفاده کنه: (با تشکر ویژه از جناب سعادتی)


منابع متفرقه :‌
(لیست مربوط به آبان ۹۴)

اطلاعات این بخش همون چیزی هست که بالا توضیح دادم (مسیری که خودم رفته بودم و آبان ماه سال قبل برای یکی از دوستانم نوشته بودم) .

بسم الله الرحمن الرحیم
منابع کانولوشن نتورک
بهترین منبع آموزش شبکه کانولوشن و شبکه عصبی این هست عالیه عااااالی (فیلم آموزشی این بخش هم از اینجا ببینید )
نکته مهم اینه قبل خوندن این باید یه کورس ماشین لرنینگ گذرونده باشی کامپیوتر ویژن هم لازمه بلد باشی البته  (کلاس اندرو ان جی تو کورس ایرا عالیه برای کامیپوتر ویژن هم آموزش دانشگاه جورجیا تک تو udacity خیلی خوبه )
http://cs231n.github.io/

/////////////////////////////////////////////////////////////////////////////////////////////////////
برای پیاده سازی شبکه کانولوشن لینک زیر خیلی خوبه . به جاوا اسکریپت هست اما برای تست و ایده پیاده سازی خوبه.(لازمه اش اینه که قبلش خودتون یه بار یه شبیه ساز شبکه عصبی رو بنویسید تا ایده بگیرد ۹۸درصد مثل هم هستن فقط ۲ درصد تفاوت هست که اونم بخاطر ماهیت کانولوشن و … ایناس. از طرفی یکسری از الگوریتمهای جدید هم توش پیاده شده که آشنایی با نحوه پیاده سازیش خوبه بنظرم.هرچند ضروری نیست و همه رو میشه با خوندن مقالات فهمید ولی خیلی پیشنهاد میشه.)
http://cs.stanford.edu/people/karpathy/convnetjs/docs.html
(برای دانلود سورس میتونی از اینجا بگیری : https://github.com/karpathy/convnetjs )

این هم سه ورژن شبکه کانولوشن رو نوشته با سی ++ هست

Convolutional Neural Networks

این هم یکسری آموزش داره به پایتون و ثیانو که یک شبکه کانولوشن رو پیاده سازی میکنه با توضیحات
http://deeplearning.net/

//////////////////////////////////////////////////////////////////////////////////////////////////////
این یکسری موارد و مفایهم شبکه کانولوشن رو توضیح میده
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 و اینا
چیزایی هست که به وفور دیده میشه و اینا حتما باید بلد باشید
معمولا تو آموزش اندرو ان جی قبل از اینکه مفهومی گفته بشه یه توضیحی میده در مورد اینا که خوبه

من کتابهایی که گفتم مثل کتاب مارتین هاگان و … رو کامنت گذاری کردم و تو بخش اتچمنت پی دی اف ها
آموزش و یادآوری این چیزا رو نوشتم که اگر کسی بلد نیست بخونه یادش بیاد یا بفهمه
=============================================================

یه کورس دیگه هم هست تو کورس ایرا در مورد شبکه های عصبی هست که توسط دانشمند معروف آقا جف هینتون درس داده میشه
اونم بعد از دیدن کلیپهای اندرو ان جی دیده بشه خوبه توصیه میکنم برای شبکه های کانوولوشن دیده بشه
———————————————————————————————————————–

خب چجوری خونده بشه اینا
من اول با کتاب مارتین هاگان شروع کردم
بعد تا فصل ۱۲ رفتم .
از یه جایی به بعد بخاطر اینکه ماشین لرنینگ بلد نبودم گیج میشدم
بعدش بلطف خدا آموزش اندرو ان جی رو دیدم و رفتم جلو
خیلی از مسائل رو برطرف کرد برام
همگام با اندرو ان جی (وقتی تا فصل ۲ و ۳ اون رسیدم )
بر اساس چیزایی که از کتاب مارتین هاگان یاد گرفته بودم و کتاب سیمون هایکن شروع کردم یه شبیه ساز شبکه های عصبی
رو نوشتن .
خوب بود .
بعد با آموزش دانشگاه استفنورد آشنا شدم
وقتی شروع به خوندن کردم دیدم توش ماشین لرنینگ داره برگشتم تمام دوره اندرو ان جی رو دیدم بعد برگشتم اموزش دانشگاه استنفورد رو خوندم
از اول اونو خوندم که عالی بود تازه فهمیدم خیلی چیزها تو کتاب مارتین هاگان و سیمون هایکن نبود
عالی هست این آموزش.

بعد آموزش جف هینتون (شبکه های عصبی) رو پیدا کردم و یکم دیدم و تا الان کامل ندیدمش سر فرصت میرم سرش انشاالله
دیگه بقیه چیزا هم میشه مطالعه آزاد و تقویت ریاضی و امار و حسابان و اینا که اگه کسی ضعف داره جبران کنه ولی ضروری نیست. صرفا یه سری اطلاعات اولیه لازمه برای شروع.
سید حسین حسن پور متی کلایی ۲۵ آبان ۱۳۹۴


نکته :‌کسانی که امکان دانلود فایلهای آموزشی بالا رو ندارن میتونن اونها رو سفارش بدن برای اینکار کافیه از بخش تماس با ما این قضیه رو اعلام کنید. (کامیپوتر ویژن ۱۴ گیگ ماشین لرنینگ ۱٫۶ گیگ و آموزش دانشگاه استنفورد ۱۰ گیگ هست به اضافه کلیپ های متفرقه دیگه)

اگه لینکی مشکل داره اطلاع بدید تا در صورت امکان تصحیح بشه.