Обратная связь
По результатам курса вы научитесь применять нейронные сети для многих практических задач, а также оценивать целесообразность их применения. Вы получите опыт подбора архитектуры нейронных сетей и ее быстрой реализации на PyTorch.
Каждое занятие (кроме зачетных) состоит из двух частей: лекции и семинара. На лекции разбирается новый материал, а на семинаре полученные знания закрепляются на практических примерах. К каждому семинарскому занятию выдается шаблон кода, который необходимо дополнить реализацией рассмотренного алгоритма. Такие задания оцениваются в 3 балла. Также в середине и конце семестра будут проведены два рубежных контроля, оцениваемые в 20 баллов каждый. На коллоквиумах проверяются теоретические знания слушателей. Помимо рубежных контролей и семинаров в курсе предусмотрен исследовательский проект (оценивается в 20 баллов). В течение семестра слушатели в командах 2-4 человека проводят исследование на выбранную тему: от анализа литературы до проведения экспериментов и написания отчета.
По сумме баллов выставляется итоговая оценка: 50+ баллов — "удовлетворительно", 70+ баллов — "хорошо", 80+ баллов — "отлично".
Цель курса — изучение используемых в различных отраслях нейросетевых алгоритмов, а также отработка всех изученных методов на практических задачах.
Нейронные сети являются лидирующим подходом в распознавании изображений, речи и текстов. В данном курсе вы познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Так как курс ориентирован на практику, вы получите опыт реализации классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN. Студенты получат навык реализации нейронных сетей как "с нуля", так и на библиотеке PyTorch. В курсе вы реализуете своего чат-бота, обучите нейросеть играть в компьютерную игру и генерировать человеческие лица. Вы также получите опыт чтения научных статей и самостоятельного проведения научного исследования.
От студентов требуется уверенное владение аппаратом линейной алгебры, математического анализа и теории вероятностей. Для подготовки к курсу слушателям рекомендуется повторить следующие темы:
Высшая математика:
Смешанное занятие №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
Вопросы коллоквиума состоят из двух секций: теоретического минимума и билетов. В билете два вопроса. При подготовке можно пользоваться любыми материалами, в том числе и электронными. После подготовки вы сначала отвечаете теоретический минимум. Если вы не отвечаете на любой вопрос из этой секции, вы отправляетесь на пересдачу. В случае успешного ответа на теоретический минимум, вы рассказываете билет и отвечаете на доп. вопросы.
Коллоквиум оценивается в 20 баллов. Сдача коллоквиума не на 0 является необходимым условием сдачи курса.
4 часа
Смешанное занятие №8
Нейронные сети для снижения размерности
Лекция: Задача снижения размерности. MDS, Isomap. Метод главных компонент (PCA). Вывод главных компонент и доказательство метода множетелей Лагранжа. Автокодировщики. Denoising и разреженные автокодировщики (Слайды, Видео).
Семинар: Сравнение PCA и автокодировщика (Задание)
4 часа 2 часа СР
Смешанное занятие №9
Лекция: Рекуррентные сети. Обратное распространение ошибки сквозь время. LSTM сети. GRU сети. Многослойные рекуррентные архитектуры. Модификация dropout и батч-нормализации для рекуррентных сетей. (Слайды, Видео)
Семинар: Реализация модуля LSTM. Сравнение написанной реализации с реализацией из PyTorch (Задание)
4 часа 2 часа СР
Смешанное занятие №10
Нейронные сети для обработки естественного языка
Лекция: Примеры задач. Обучение представлений: Word2Vec. Ускорение пары linear+softmax: hierarchical softmax, differentiated softmax. Генерация предложений. Модель Seq2Seq. Beam search для поиска лучшего ответа. Приемы для повышения разнообразности ответов. (Слайды, Видео)
Семинар: Обучение Seq2Seq на субтитрах фильмов. (Задание)
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. (Слайды, Задание)
4 часа 2 часа СР
Рубежный контроль №2
Вопросы коллоквиума состоят из двух секций: теоретического минимума и билетов. В билете два вопроса. При подготовке можно пользоваться любыми материалами, в том числе и электронными. После подготовки вы сначала отвечаете теоретический минимум. Если вы не отвечаете на любой вопрос из этой секции, вы отправляетесь на пересдачу. В случае успешного ответа на теоретический минимум, вы рассказываете билет и отвечаете на доп. вопросы.
Коллоквиум оценивается в 20 баллов. Сдача коллоквиума не на 0 является необходимым условием сдачи курса.
4 часа
Рубежный контроль №3
Защита исследовательского проекта
Защита командами исследовательского проекта
4 часа 2 часа СР