در پایان این فصل میتوانید شبکه های عصبی (neural networks) را tune کنید و از الگوریتم Sequential deep learning ای که توسط Keras (TensorFlow) در اختیار ماست استفاده کنید. در این فصل با بکارگیری deep learning روی دیتاست های tabular numerical پیشبینی های معنا دار میکنیم و سپس به سراغ دیتاست های image-based برای پردازش تصویر میرویم. مهم است که چیزهایی که در این فصل می آموزید را با الگوریتم های machine learning استاندارد فصل قبلی(regression و classification) نیز مقایسه کنید.
در این فصل مدل های Keras را با دستکاری Dense layers ، Hidden layers، Dropout nodes وEarly Stopping به سادگی tune میکنیم تا شبکه های عصبی بهینه بسازیم. در انتهای این فصل هم به سراغ convolutional neural networks برای پردازش تصویر می رویم.
دنیای دیپ لرنینگ بسیار وسیع است و در این دوره تمام نمی شود. اگر از این فصل خوشتان آمد بهتر است به دوره ی یادگیری عمیق نیز سری بزنید:
معرفی فصل
یادگیری عمیق یا Deep learning یک زمینه از machine learning است که به مدل هایی که بر اساس مغز انسان درست شده اند میپردازد. به این مدل ها شبکه های عصبی (neural networks) یا NN نیز میگوییم.
مغز انسان با انتقال دیتای خارجی و تحریک عصبی از طریق شبکه ای از نورون های عصبی پردازش خود را انجام میدهد. این نورون ها با همکاری یکدیگر خروجی مورد نیاز ما را تولید میکنند. وقتی دارید رانندگی میکنید و سر چهارراه به چراغ قرمز برخورد میکنید، نورون های مغز شما مرتبا خروجی درخواست توقف ماشین را برای شما ارسال میکنند. این خروجی با توجه به دیتای قبلی که مغز شما دریافت کرده بهینه (optimized) و تنظیم (tuned) شده است.
پیچیده ترین مغز های انسانی تقریبا 100 میلیارد نورون دارند؛ شبکه ی نورون های مغز بسیار عمیق و پیچیده است. ایده ی اصلی پشت Deep learning است که میتوانیم ارتباط نورون های درون مغز را با یک الگوریتم شبکه ای شبیه سازی کنیم که به دیتای ورودی پاسخ میدهد.
در دنیای machine learning از سال 1958 neural networks معرفی شدند و توانستند با 100% دقت (efficiency) دو linear classifier را بین 2 کلاس دیتای قابل تفکیک پیدا کنند. در آن زمان محاسبات با دست انجام میشد و بسیار زمان بر بود و موفقیت آن تنها در صورتی تضمین بود که دیتای ورودی خیلی پیچیده نباشد.
مطالعه ی بیشتر:
هوش مصنوعی 60 سال زود معرفی شد
در این فصل به سراغ neural networks میرویم و ابتدا آن ها را با مدل های استاندارد فصل قبل مقایسه میکنیم.
سپس به سراغ ساخت اولین مدل های Deep learning خود با استفاده از Keras و TensorFlow میرویم. Keras یک زبان مدلی سطح بالا است که توسط Google توسعه داده شده تا بتوانیم با آن الگوریتم ها را به سادگی پیاده سازی و تست کنیم. در ابتدای این فصل به سراغ Sequential algorithm با لایه های پنهان (Hidden layers) میرویم.
سپس به سراغ مباحث تکمیلی مثل Hidden layer های مختلف و Dropout و Early Stopping میرویم تا مدل خود را optimize و regularize کنیم.
در ادامه به سراغ مسئله classification میرویم و توابع activation و loss برای دیتاست بزرگتر میرویم.
در نهایت به سراغ دیتاست Modified National Institute of Standards and Technology (MNIST) میرویم و از شبکه های عصبی کانولوشنال (convolutional neural networks) یا CNN برای دسته بندی اعداد دیتاست استفاده میکنیم.
به صورت خلاصه و به ترتیب مفاهیم زیر در این فصل بررسی میشوند:
- neural networks
- Regularization – Dropout
- Classification
- Convolutional neural networks