Обратная связь
– Получите опыт подбора архитектуры нейронных сетей и ее быстрой реализации на PyTorch.
– Реализуете классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN.
– Станете реализовывать нейронные сети как «с нуля», так и на библиотеке PyTorch.
– Привыкнете читать научные статьи и сможете самостоятельно проводить научное исследование.
Занятия, кроме зачетных, состоят из двух частей: лекции и семинара. На лекции разбирается новый материал, на семинаре полученные знания закрепляются на практике. К каждому семинарскому занятию выдается шаблон кода, который необходимо дополнить реализацией рассмотренного алгоритма. Такие задания оцениваются в 3 балла. Также в середине и конце семестра проводятся два рубежных контроля, оцениваемые в 15 баллов каждый. На коллоквиумах проверяются теоретические знания. В течение семестра готовите исследовательский проект: в составе команды из 2−4 человек проводите исследование на выбранную тему, от анализа литературы до проведения эксперимента. Эта часть работы оценивается в 30 баллов.
При пересчете в оценки баллы распределяются следующим образом:
– 0−49 «неудовлетворительно»,
– 50−69 «удовлетворительно»,
– 70−79 «хорошо»,
– 80−100 «отлично».
Работа с нейросетями требует не только внимания, но и предварительной подготовки. Потребуется уверенное владение аппаратом линейной алгебры, математического анализа и теории вероятностей. Рекомендуем повторить несколько тем.
Высшая математика:
– Градиент функции многих переменных.
– Матричные и векторные производные: производная вектора по вектору, матрицы по числу и т. д.
– Градиентный спуск для оптимизации функции многих переменных.
– Градиентный спуск для оптимизации функции многих переменных.
Машинное обучение:
– Обучение с учителем и без учителя.
– Задачи регрессии и классификации.
– Линейная и логистическая регрессии.
– Валидация модели: отложенная выборка, k-Fold.
Также следует прочесть следующие тексты:
– Neural networks and deep learning
– Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville
– Pattern Recognition and Machine Learning, Bishop
– K. Murphy, Machine learning: a probabilistic perspective.
Цель курса — изучите нейросетевые алгоритмы и сможете использовать нейронные сети для решения практических задач.
Мы все используем нейронные сети, многие из нас — ежедневно. С их помощью распознаются тексты, изображения, звуки. Благодаря им Shazam узнает и подбирает музыку, Google показывает нужные картинки, а беспилотники заменяют привычный транспорт. Познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Уже к концу семестра реализуете своего чат-бота, обучите нейросеть играть в компьютерную игру и генерировать человеческие лица.
Смешанное занятие №1
Лекция: Нейронные сети. Базовые блоки полносвязных нейронных сетей. Алгоритм обратного распространения ошибки. (Слайды, Видео)
Семинар: Матричное дифференцирование. Обучение линейной и логистической регрессий. Реализация полносвязной нейронной сети. (Задание)
4 часа 2 часа СР
Смешанное занятие №2
Детали обучения нейронных сетей
Лекция: Алгоритм обратного распространения ошибки для ветвящихся структур. Проблемы обучения нейронных сетей. Предобработка данных, аугментация, регуляризация. Стохастический градиентный спуск. Подготовка данных при помощи PyTorch. (Слайды, Видео)
Семинар: Сравнение различных архитектур нейроннх сетей для задачи распознавания цифр (Задание)
4 часа 2 часа СР
Смешанное занятие №3
Библиотеки для глубинного обучения
Лекция: Графы вычислений в PyTorch. Операции с тензорами. Автоматическое дифференцирование. Полносвязные сети. Ветвящиеся архитектуры. Поведение сети при обучении и предсказании: флаги volatile и requires_grad. Сохранение и загрузка модели. (Слайды, Видео)
Семинар: Реализация простейших сетей в библиотеке Pytorch. (Задание)
4 часа 2 часа СР
Смешанное занятие №4
Лекция: Свертка. Пулинг. Светрочные нейронные сети. Примеры использования сверточных сетей. Интерпретация обученных моделей. (Слайды, Видео)
Семинар: Реализация операций свертки и пулинга, обучение сверточной нейронной сети при помощи библиотеки PyTorch. (Задание)
4 часа 2 часа СР
Смешанное занятие №5
Лекция: Инициализация весов: He, Xavier. Регуляризация: Dropout, DropConnect. Нормализация: batch normalization. (Слайды, Видео)
Семинар: Эксперименты с dropout и batch normalization для сверточной нейронной сети. (Задание)
4 часа 2 часа СР
Смешанное занятие №6
Лекция: Современные архитектуры сверточных сетей. Сети Inception и ResNet. Transfer learning. Применение нейронных сетей для задач сегментации и локализации. (Слайды, Видео)
Семинар: Transfer learning для задачи классификации изображений. (Задание)
4 часа 2 часа СР
Смешанное занятие №7
Лекция: Задача оптимизации. SGD, Momentum, NAG, Adagrad, Adadelta, Adam. (Слайды, Видео)
Семинар: Реализация рассмотренных методов и их сравнение. (Задание)
4 часа 2 часа СР
Рубежный контроль №1
Вопросы коллоквиума состоят из двух секций: теоретического минимума и билетов. В билете два вопроса. При подготовке можно пользоваться любыми материалами, в том числе и электронными. После подготовки вы сначала отвечаете теоретический минимум. Если вы не отвечаете на любой вопрос из этой секции, вы отправляетесь на пересдачу. В случае успешного ответа на теоретический минимум, вы рассказываете билет и отвечаете на доп. вопросы.
Коллоквиум оценивается в 15 баллов. Сдача коллоквиума не на 0 является необходимым условием сдачи курса.
Вопросы:
Теоретический минимум
4 часа
Смешанное занятие №8
Лекция: Рекуррентные сети. Обратное распространение ошибки сквозь время. LSTM сети. GRU сети. Многослойные рекуррентные архитектуры. Модификация dropout и батч-нормализации для рекуррентных сетей. (Слайды, Видео)
Семинар: Реализация модуля LSTM. Сравнение написанной реализации с реализацией из PyTorch (Задание)
4 часа 2 часа СР
Смешанное занятие №9
Нейронные сети для обработки естественного языка
Лекция: Примеры задач. Обучение представлений: Word2Vec. Ускорение пары linear+softmax: hierarchical softmax, differentiated softmax. Генерация предложений. Модель Seq2Seq. Beam search для поиска лучшего ответа. Приемы для повышения разнообразности ответов. (Слайды)
Семинар: Обучение Seq2Seq на субтитрах фильмов. (Задание)
4 часа 2 часа СР
Смешанное занятие №10
Лекция: Современные методы обработки языка. Attention, Transformer. BERT-подобные модели. Развитие трансформеров, ELECTRA. (Слайды).
Семинар: Код трансформера и генерация текстов с помощью BERT (Задание)
4 часа 2 часа СР
Смешанное занятие №11
Лекция: Генеративные и дискриминативные модели. Равновесие Нэша. Генеративные конкурирующие сети (GAN). Генеративные автокодировщики (AAE). Техника domain adaptation. Domain adaptation для перевода изображений между доменами. Wasserstein GAN. (Слайды)
Семинар:Реализация архитектуры GAN для генерации лиц. (Семинар)
4 часа 2 часа СР
Смешанное занятие №12
Вариационные автокодировщики (VAE) и Artistic Style
Лекция:Модель вариационного автокодировщика (VAE). Интерпретация обученных моделей: Deep Dream. Перенос стиля: Artistic style. Ускорение стилизации. (Слайды)
Семинар: Реализация Deep Dream и Artistic style. (Ноутбук)
4 часа 2 часа СР
Смешанное занятие №13
Обучение с подкреплением часть 1
Лекция: Основные понятия обучения с подкреплением: агент, среда, стратегия, награда. Value function и Q-function. Уравнения Беллмана. Алгоритм Policy iteration. (Слайды)
Семинар: Реализация агента для прохождения игры. (Семинар)
4 часа 2 часа СР
Смешанное занятие №14
Обучение с подкреплением, часть 2
Лекция: Алгоритм Q-learning. Модельные подходы. Алгоритм DQN. Alpha Go. (Слайды, Видео)
Семинар: Реализация Q-learning и DQN (Задание)
4 часа 2 часа СР
Рубежный контроль №2
Вопросы коллоквиума состоят из двух секций: теоретического минимума и билетов. В билете два вопроса. При подготовке можно пользоваться любыми материалами, в том числе и электронными. После подготовки вы сначала отвечаете теоретический минимум. Если вы не отвечаете на любой вопрос из этой секции, вы отправляетесь на пересдачу. В случае успешного ответа на теоретический минимум, вы рассказываете билет и отвечаете на доп. вопросы.
Коллоквиум оценивается в 15 баллов. Сдача коллоквиума не на 0 является необходимым условием сдачи курса.
Вопросы:
Теоретический минимум
4 часа
Рубежный контроль №3
Защита исследовательского проекта
Защита исследовательского проекта
4 часа 2 часа СР