DEEP LEARNING НА ПАЛЬЦАХ
Если вы давно собирались разобраться
с этими всеми нейросетями - вот он, шанс!
ВВОДНЫЙ КУРС
Лучший способ начать изучать deep learning на русском языке
Курс предназначен для того, чтобы разобраться с современным deep learning с нуля, и не требует знаний ни нейросетей, ни machine learning вообще. Лекции стримами на Youtube, задания на Питоне, обсуждения и помощь в лучших русскоязычных ML-сообществах — ODS.ai и ClosedCircles.

Одновременно и в том же объеме курс читается для магистрантов Новосибирского Государственного Университета, а также студентов CS центра Новосибирска.
ЛЕКЦИИ ЧИТАЕТ
СЕМЕН КОЗЛОВ
ПОМОГАЮТ
Юрий Бабуров
Специалист по анализу текста и распознаванию речи
Павел Петроченко
и Денис Денисенко
Максим Вахрушев
и Кирилл Бродт
Александр Гончаренко
Лена Бручес
ДЛЯ ВОПРОСОВ, ПОМОЩИ И ОБСУЖДЕНИЙ
ЛЕКЦИИ И ЗАДАНИЯ
Лекция 1:
Введение
20 февраля,
8:40 Мск
О чем курс, что такое machine learning и deep learning, основные домены - computer vision, NLP, speech recognition, reinforcement learning. Ресурсы. Видео Слайды
Семинар 1:
Python, numpy, notebooks
Краткий обзор инструментария, необходиомого для курса - Python, Jupyter, numpy. Google Colab как среда выполнения Jupyter Notebooks в облаке. Видео
Материалы
Лекция 2:
Элементы машинного обучения
27 февраля,
8:40 Мск
Обзор задачи supervised learning. K-nearest neighbor как пример простого алгоритма обучения. Тренировочная и тестовые выборки. Гиперпараметры, их подбор с помощью validation set и cross-validation. Общая последовательность действий при тренировке и валидации моделей (Machine Learning Flow). Видео Слайды
Семинар 2:
Установка окружения для заданий
Установка окружения, необходимого для решения заданий. Некоторые детали KNN. Видео
Задание 1, Часть 1:
K-nearest neighbor
Знакомство с Python и numpy, реализация K-nearest neighbor classifier руками. Выбор гиперпараметра с помощью cross-validation. Задание
Лекция 3:
Нейронные сети
6 марта,
8:40 Мск
Линейный классификатор - нейронная сеть с одним слоем. Softmax, функция потерь cross-entropy. Тренировка с помощью стохастического градиентного спуска, регуляризация весов. Многослойные нейронные сети, fully-connected layers. Алгоритм backpropagation. Видео Слайды
Семинар 3:
Вычисление градиентов
Детальный разбор вычисления градиентов softmax и cross-entropy. Видео
Задание 1, Часть 2:
Линейный классификатор
Реализация линейного классификатора, подсчет градиентов и тренировка с помощью SGD своими руками. Задание
Лекция 4:
PyTorch и подробности
13 марта,
8:40 Мск
Backpropagation с матрицами. Введение в PyTorch. Инициализация весов. Улучшенные алгоритмы градиентного спуска (Adam, RMSProp, итд). Видео Слайды
Задание 2, Часть 1:
Нейронные сети
Реализация своей собственной многослойной нейронной сети и ее тренировки. Задание
Лекция 5:
Нейронные сети на практике
20 марта,
8:40 Мск
GPUs. Процесс тренировки и overfitting/underfitting на практике,. Learning rate annealing. Batch Normalization. Ансамбли. Что нового в 2018. Видео Слайды
Задание 2, Часть 2:
PyTorch
Реализация нейросети на PyTorch, практика тренировки и визуализации предсказаний модели. Задание
Лекция 6:
Convolutional Neural Networks
27 марта,
8:40 Мск
Convolution и pooling layers. Эволюция архитектур: LeNet, AlexNet, VGG, ResNet. Transfer learning. Аугментации. Видео Слайды
Задание 3:
Convolutional Neural Networks
Реализация Convolutional Neural Networks руками и на PyTorch. Задание
Лекция 7:
Segmentation и Object Detection
(Владимир Игловиков)
3 апреля,
8:40 Мск
Более сложные задачи компьютерного зрения - сегментация (segmentation) и нахождение объектов на изображении (object detection). Видео Слайды Версия 2017
Задание 4:
Hotdog or Not
Использование методов transfer learning и fine tuning на примере распознавания хотдогов. Задание
Лекция 8:
Metric Learning, Autoencoders, GANs
10 апреля,
8:40 Мск
Metric Learning на примере распознавания лиц, обзор некоторых методов unsupervised learning в DL. Видео Слайды
Лекция 9:
Введение в NLP, word2vec
17 апреля,
8:40 Мск
Краткий обзор области обработки естественного языка и применения deep learning к ней на примере word2vec. Видео Слайды
Задание 5:
Word2Vec
Реализация word2vec на PyTorch на маленьком наборе данных. Задание
Лекция 10:
Recurrent Neural Networks
24 апреля,
8:40 Мск
Применение рекуррентных нейронных сетей (recurrent neural networks) в задачах распознавания естественного языка. Детали архитектуры LSTM. Видео Слайды
Задание 6:
RNNs
Использование LSTM для определения части речи (Part of Speech Tagging). Адаптировано из курса Даниила Анастасьева с разрешения автора. Задание
Лекция 11:
Аудио и распознавание речи
(Юрий Бабуров)
1 мая,
8:40 Мск
Применение методов deep learning к задаче распознавания речи. Краткий обзор других задач, связанных с аудио. Видео Слайды
Лекция 12:
Attention
8 мая,
8:40 Мск
Использование механизма Attention в NLP на примере задачи машинного перевода. Архитектура Transformer, современное развитие. Видео Слайды
Лекция 13:
Reinforcement Learning
15 мая,
8:40 Мск
Введение в обучение с подкреплением (reinforcement learning), использование методов deep learning. Базовые алгоритмы - Policy Gradients и Q-Learning Видео Слайды
Задание 7:
Policy Gradients
Решение модельной задачи RL - Cartpole с помощью алгоритма REINFORCE на основе Policy Gradients. Подготовлено Сергеем Свиридовым Задание
Лекция 14:
Еще о Reinforcement Learning
22 мая,
8:40 Мск
Model-based RL на примере AlphaZero. Критика и некоторые возможные пути развития области. Видео Слайды
Задание:
Написать пост о статье
Прочитайте и опишите в посте одну из современных статей в области deep learning! Инструкции
Лекция 15:
Заключение
22 мая,
8:40 Мск
Итоги. Чем можно заняться после курса, чтобы повысить количество Deep Learning в своей жизни. Видео Слайды
ПРИ ПОДДЕРЖКЕ