Шановні друзі! Нарешті я знайшов час написати про свою першу онлайн-спеціалізацію :). Одразу скажу, що це був неймовірно цікавий досвід. Я знав, що Ендрю Ин (Andrew Ng) чудовий лектор, і був упевнений, що спеціалізація мені сподобається, але реальність перевершила всі мої очікування :). Мої facebook-друзі мали змогу спостерігати за прогресом – я регулярно викладав сертифікати окремих онлайн-курсів, що входять до спеціалізації. Але тепер, коли весь матеріал пройдений, я вирішив зробити інтегральний допис.

Структура Deep Learning Specialization:
- Course 1. Neural Networks and Deep Learning – У першому курсі професор Ин дуже просто та зрозуміло розповідає про основи теорії нейронних мереж та глибинного навчання. Вводить позначення основних параметрів, нагадує лінійну алгебру (роботу з матрицями), пояснює механізми навчання нейронних мереж (forward propagation, loss function, chain rule для частинних похідних та backpropagation, activation functions та їх особливості). Також пояснює важливість векторизації та особливості broadcasting у numpy (модулі Python’у). Бонусом до курсу стали два цікавих інтерв’ю з такими авторитетними фахівцями як Geoffrey Hinton (University of Toronto, Canada; a.k.a. “Godfather of Deep Learning”, легендарна особистість, незабаром розкажу вже про його онлайн-курс), Ian Goodfellow (Google AI; a.k.a. “GANfather”, один з авторів відомого підручника “Deep Learning”) та Pieter Abbeel (UC Berkeley).
- Course 2. Improving Deep Neural Networks – Мова йшла про декілька методів регуляризації для запобігання перенавчання (overfitting) та про методи прискорення навчання нейронної мережі. Також професор Ин дав корисні поради щодо вибору так званих гіперпараметрів (hyperparameters) і згадав про фреймворки, окремо розглянувши TensorFlow, один з найпопулярніших та найпотужніших фреймворків для машинного навчання, розроблений компанією Google у 2015 році. Як бонус – інтерв’ю з Yoshua Bengio (Université de Montréal, Canada; ще один автор підручника “Deep Learning”) та Yuanqing Lin (Baidu).
- Course 3. Structured Machine Learning Projects – Найкоротший, але не менш цікавий курс. Основні теми курсу: error analysis, train/dev/test distributions, data-mismatch recognition, multi-task learning, transfer learning. Як бонус – інтерв’ю з Russ Salakhutdinov (Apple) та Andrej Karpathy (Stanford).
- Course 4. Convolutional Neural Networks – Тут все одразу зрозуміло з назви курсу. Дуже добре викладено особливості цього потужного виду нейронних мереж, які зараз домінують у задачах комп’ютерного зору та розпізнавання образів. Як бонус – інтерв’ю з Yann LeCun (Chief AI Scientist у Facebook; один з “батьків” CNN).
- Course 5. Sequence Models – У останньому п’ятому курсі вчив комп’ютер за допомогою Recurrent Neural Network (RNN, рекурентна нейронна мережа) створювати музику у стилі джаз :), писати тексти у стилі Вільяма Шекспіра :), а також опановував особливості машинного перекладу та розпізнавання мовлення.
Завдання:
Окремо варто відзначити дуже цікаві завдання (programming assignments). Всі вони виконуються на мові Python з використанням Jupyter Notebook. А чим ближче до закінчення спеціалізації, тим складнішими стають нейронні мережі та тим більше використовуються фреймворки TensorFlow та Keras. Назви завдань досить промовисті, ось деякі з них:
- Building your deep neural network: Step by Step (Course 1)
- Regularization (Course 2)
- Gradient Checking (Course 2)
- Optimization (Course 2)
- Tensorflow (Course 2)
- Bird recognition in the city of Peacetopia (case study) (Course 3)
- Autonomous driving (case study) (Course 3)
- Convolutional Model: step by step (Course 4)
- Convolutional model: application (Course 4)
- Residual Networks (Course 4)
- Car detection with YOLOv2 (Course 4)
- Art generation with Neural Style Transfer (Course 4)
- Face Recognition for the Happy House (Course 4)
- Building a recurrent neural network – step by step (Course 5)
- Dinosaur Island – Character-Level Language Modeling (Course 5)
- Jazz improvisation with LSTM (Course 5)
- Operations on word vectors – Debiasing (Course 5)
- Emojify (Course 5)
- Neural Machine Translation with Attention (Course 5)
- Trigger word detection (Course 5)
Вартість:
На жаль, платформа Coursera вже не така безумовно безкоштовна, як було декілька років тому. Тепер для безперешкодного доступу до всіх курсів потрібно купити підписку (останній раз бачив вартість $49 на місяць). Проте, все ще залишається можливість скористатись фінансовою допомогою. Для цього потрібно натиснути на посилання “Apply for Financial Aid” під кнопкою запису на певний курс (Enroll). Далі потрібно буде вказати ваш річних дохід у USD, освіту, посаду та дати відповіді на два запитання “Why are you applying for Financial Aid?” та “How will taking this course help you achieve your career goals?” (відповідь на коже з них повинна містити не менше 150 слів). Після відправлення заявки доведеться почекати 15 днів, але після цього ви отримаєте безкоштовний доступ до бажаного онлайн-курсу (принаймні, я ще не знаю випадків, коли комусь відмовили – якщо ви чули про відмови, будь ласка, напишіть про це у коментарі до цього матеріалу). І ще один момент – якщо у спеціалізацію входять п’ять онлайн-курсів, то доведеться подавати заявки на кожний курс окремо.
Висновок:
Однозначно рекомендую всім, хто цікавиться машинним навчання та deep learning зокрема!
На черзі Machine Learning with TensorFlow on Google Cloud Platform Specialization.
Stay tuned! 🙂