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

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

نکته خیلی مهم

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

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

 

منابع متفرقه(این لیست قدیمی هست و من سر فرصت یک مطلب جداگانه و بروز در این زمینه قرار میدم انشاءالله اما موارد زیر هنوز هم مناسب هستند خصوصا پیش نیازها مثل یادگیری ماشین و اموزش شبکه های عصبی و کانولوشن) :‌

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

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

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

———————————————————————————————————————–

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

سید حسین حسن پور متی کلایی ۲۵ آبان ۱۳۹۴


نکته :‌کسانی که امکان دانلود فایلهای آموزشی بالا رو ندارن میتونن اونها رو سفارش بدن این آموزشها و منابع دیگه  رو میتونید از فروشگاه یادگیری عمیق  تهیه کنید.

39 دیدگاه در “منابع یادگیری عمیق

  1. سلام،سایت خیلی خوبی دارین واقعا ممنونم.فقط بنظرم اگر میشه منابعی هم برا یادگیری خود پایتون بزارین ممنون میشم،البته تو اینترنت منابع اموزشی برا هر زبانی زیاده ولی چون پایتون هم مثل زبانهای دیگه گسترده هست منابعی باشه که بیشتر در راستای یادگیری عمیق باشه یعنی مباحثی که در برنامه نویسی یادگیری عمیق استفاده میشه رو صرفا پوشش بده نه همه ی مباحث رو،اینجوری تو وقتمونم صرفه جویی میشه،با سپاس

  2. سلام،سایت خیلی خوبی دارین فقط یه خواهش دارم
    شما که اموزش انواع کتابخانه های کفی و تنسورفلوذ و غیره رو گذاشتین لطفا بنویسین که کدوم کتابخونه ها با هر دو حالت حالت cpu-only یا با کارت گرافیک کار میکنن.چون خیلیا از جمله من شاید کامپیوترشون اونقد قوی نباشه ولی بخوان شبکه کانولوشنی طراحی و اجرا کنن و بهتره قبل از اموزش کتابخانه ها بدونن کدومشون حالت cpu- only رو هم پشتیبانی میکنه و اونو یاد بگیرن

    ممنونم

  3. سلام اقا سید روزتون بخیر
    یه سوال دارم،این پکیج آناکوندا رو اگه نصب کنیم همه ی این کتابخونه هایی که شما بالا شرح دادینو داخلش داره یعنی و نیاز به نصب مجددشون نیس?اگه اینجور باشه عالیه چون نصب اینا قلق داره و مکافاته فک کنم

    1. سلام
      روز شما هم بخیر
      کدوم کتابخونه ها؟‌ آناکوندا تعداد زیادی از کتابخونه های پرکاربرد پایتون رو داره مثل دnumpy یا matplotlib یا scipy و…. که اگرم نصب نباشن نصبشون سخت نیست(برای تازه کارها که پایتون رو نمیشناسن و نمیدونن pip, conda ,… چیه خب سخته برای شروع و اناکوندا محیط توسعه بی دردسری رو فراهم میکنه براشون.)

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

    1. سلام .
      نه اینطور که شما فکر میکنید نیست.
      اینها فریم ورک و کتابخونه های مختلفی هستن که هرکدوم یکسری wrapper به زبونهایی مثل پایتون هم ارائه کردن برای راحتی بیشتر برنامه نویس ها
      برای استفاده از اینها یا شما کل فریم ورک/کتابخونه رو کامپایل باید بکنید و استفاده کنید
      یا اینکه ورژن از قبل آماده رو استفاده کنید.
      برای کفی شما مجبور به کامپایل هستید
      برای تنسورفلو هم میتونید کامپایل کنید هم خیلی راحت از ورژن از پیش اماده اش برای پایتون استفاده کنید.
      آناکوندا صرفا کتابخونه های کلی و پرکاربرد رو داره نه خاص منظوره مثل اینها.

  5. سلام من دانشجوی برق هستم تقریبا ضمینه ای در یادگیری عمیق ندارم چطور شروع کنم ؟ میخواهم یه پروژه ی پردازش تصویر در این زمینه انجام بدم برای یک نوع ربات اگر کارم درست پیش بره ایده مقاله هم دارم به نظرتون برای این بخش از پروژه ام چیکار کنم؟

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

  6. با سلام و وقت به خیر و تشکر از سایت بسیار مفیدتون .من موضوع پایان نامه ارشدم یادگیری عمیق در پردازش زبانهای طبیعی هست و تازه کار تحقیقم رو شروع کردم . ا زسایت شما مطالب مفیدی رو دانلود کردم یکسری فیلم و مقاله هم از دانشگاه استنفورد دارم ولی هنوز مطمئن نیستم از کدوم مطالب شروع کنم به یادگیری . ممنون میشم در صورت امکان یه راهنمایی کلی بفرمایید .

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

    1. سلام. یعنی جی؟
      وقتی آناکوندا رو نصب میکنید (چه ۳۲ بیتی چه ۶۴ بیتی ) هیچ نیازی به نصب جداگانه پایتون ندارید چون اون هم به همراه بقیه پکیج ها نصب میشه .
      شما هم ورژن ۶۴ بیتی اناکوندا رو نصب کنید.
      اگر پایتون هم جداگانه نصب کرده باشید اون مشکلی که بهش برخوردید همین باعثش شده .

  7. سلام
    ببخشید” آموزش یادگیری عمیق دانشگاه استنفورد با رویکرد بینایی ماشین و پردازش تصویر (۲۰۱۷)” که در فروشگاه قرار دادید زیر نویس هم داره؟؟؟ و اینکه بین ۲۰۱۷ و ۲۰۱۶ چه تفاوتی هست؟ اگر ۲۰۱۷ بخریم کافی هست یا نه؟؟

    1. سلام.
      ۲۰۱۶ از ۲۰۱۷ بهتره بنظر من و توضیحات خیلی بیشتری داره . در ۲۰۱۷ یکسری موضوعات جدید مطرح شدن و اونم خوبه
      پیشنهاد میکنم بصورت آنلاین ببینید خودتون تصمیم بگیرید.
      لینک دانلود و همینطور تماشای انلاین هر دو اینها بالا هست

  8. درود بر شما بزرگوار، سپاس فراوان از زحمات شما برادر گرامی
    شما فیلم آموزشی یادگیری عمیق پروفسور Andrew Ng رو دید؟
    نظرتون در بقاره این فیلم آموزشی چیه؟
    منابعی رو که لطف کردید و معرفی کردید رو دانلود کردم و در یک سایت دیگه فیلم آموزشی یادگیری عمیق پروفسور Andrew Ng رو دیدم ، گفتم قبل از دانلود از شما راهنمایی بگیرم.
    بازم تشکر از زحماتتون
    در پناه حق موفق باشید

    1. سلام.
      اون مجموعه آموزش ها هم خیلی عالی هستن و من هم اتفاقا بشدت پیشنهاد میکنم تماشا بشن
      علاوه بر اون باز هم پیشنهاد می کنم آموزش یادگیری عمیق دانشگاه استنفورد سال ۲۰۱۶ حتما تماشا بشه چون اونجا خیلی از موارد به تفصیل توضیح داده میشه.
      پرفسور اندرو ان جی هر چی دادن شما بدون پرسش برید و ببینید چون یکی از بهترین های دنیا هستند بی برو برگرد و شیوه بیان بسیار عالی ای هم دارن که آموزش های ایشون رو فوق العاده میکنه.
      حتما استفاده کنید. (یادتون باشه هر ۵ کورس رو ببینید.فعلا ۳ کورسش اماده شده. شبکه های کانولوشن باید طی امروز و فردا فراهم بشن و بخش مربوط به دنباله ها و Lstm هاو شبکه های بازگشتی هم اواخر ماه اینده در دسترس قرار میگیرند (میتونید از خود سایت coursera‌تماشا کنید)

  9. سلام خسته نباشید
    ۳ تا سوال داشتم:
    ۱- آیا متلب جوابگوی پیاده سازی نیست؟
    ۲- کدوم یکی زیر نویس داره؟
    ۳- برای بازشناسی گفتار کدوم اموزش مناسبه؟
    مرسی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *