Бакалавриат
2020/2021
Глубинное обучение
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Где читается:
Факультет компьютерных наук
Когда читается:
4-й курс, 1, 2 модуль
Формат изучения:
с онлайн-курсом
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
В последние году методы глубинного обучения (нейросети) позволили достигнуть впечатляющих успехов в решении прикладных задач из таких областей как компьтерное зрение, обработка естественного языка, обработка аудио. В рамках данного курса мы рассмотрим основные нейросетевые модели, а также способы их применения и обучения. Студенты получат навыки использования этих технологий в стандартных задачах, а также разработки и модификации методов для новых задач.
Цель освоения дисциплины
- Ознакомление студентов с основными принципами применения методов, основанных на глубоких нейросетях, для решения задач машинного обучения.
- Формирование у студентов практических навыков применения и обучения глубоких нейросетей в прикладных задачах анализа данных из таких областей как компьютерное зрение, обработка текстов, и др.
Планируемые результаты обучения
- знать основные принципы построения моделей на основе нейросетей
- знать стандартные алгоритмы обучения и регуляризации нейросетей
- владеть навыками работы с библиотекой pytorch и ее документацией
- владеть навыками реализации систем для обучения и использования нейросетей
- владеть навыками тестирования и отладки существующих систем
- уметь обучать нейросетевые модели на новых наборах данных
- знать наиболее часто используемые стандартные архитектуры и области их применимости
- знать виды задач, которые уместно решать при помощи методов глубинного обучения
- уметь распознавать задачи, которые потенциально можно решить при помощи методов глубинного обучения
- уметь подбирать наиболее подходящий набор алгоритмов
Содержание учебной дисциплины
- Введение в глубинное обучениеНейронные сети для задачи классификации, оптимизация методом стохастического гради-ента, примеры задач.
- Механика нейросетей и алгоритм обратного распространения ошибокОбратное распространение ошибки как основной способ обучения нейросетей, дифферен-цирование основных операций (полносвязные слой, свёртка), автоматической дифференциро-вание сложных моделей, подходы к реализации нейросетевых библиотек (статический и дина-мический графы вычислений)
- Основные виды нейросетейПовышение эффективности использования параметров, операция свёрки для изображений, основные принципы построения свёрточных сетей, рекуррентные сети для обработки последо-вательностей, основные виды рекуррентных блоков и способов построения рекуррентных мо-делей.
- Обучение и регуляризация нейросетейМетоды регуляризации нейросетей (L2, dropout, batchnorm, data augmentation и др.), методы оптимизации (SGDи его улучшения, подбор длины шага и масштаба каждого из параметров), архитектурные элементы, улучшающие обучение нейросетей (gating, skip connections). Настоящая дисциплина относится к циклу дисциплин по машинному обучению и анализу данных.
- Глубинное обучение для задач компьютерного зренияПримеры построения сложных архитектур для задач компьютерного зрения: поиск объектов на изображении (object detection), сегментация изображений (image segmentation), обучение представлений и поиск изображений (representation learning and image retrieval), и др.
- Глубинное обучение для построения вероятностных моделейПрямые вероятностные модели (NADE, PixelCNN и др.), вероятностные модели со скрыты-ми переменными (вариационный автокодировщик, VAE).
- Непрямые способы использования нейросетейАдаптация нейросетей к новым наборам данных (domain adaptation), противоборствующее обучение (adversarial trainings), построение примеров, на которых нейросети ошибаются (ad-versarial examples).
- Встраивание алгоритмов в слои нейросетейАлгоритм вывода в функции потерь на примере структурного метода опорных векторов, дифференцируемый вывод на примере гауссовского марковского поля, итерационные алгорит-мы как вычислительные графы на примере алгоритма передачи сообщений.
- Недифференцируемые модели и глубинное обучение с подкреплениемВведение в обучение с подкреплением и основные алгоритмы (policy gradients), глубинное обучение с покреплением, байесовские нейросети.
- Глубинное обучение для задач обработки текстовПредставления слов (word embeddings), модели для предсказания последовательностей (se-quence-to-sequence), задачи машинного перевода и генерации подписи к изображениям.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)О_ДЗ1, О_ДЗ2, О_ДЗ3: Итоговые оценки за домашние задания, шкала от 0 до 10.
О_накопл: Накопленная оценка выставляется по итогам работы в семестре по следующей нелинейной формуле, шкала от 0 до 10.
О_накопл := округление( О_ДЗ1 * w_ДЗ1 + О_ДЗ2 * w_ДЗ2 + О_ДЗ3 * w_ДЗ3), где веса w_ДЗ1, w_ДЗ2, w_ДЗ3 вычисляются при помощи взвешенной функции softmin.
w_ДЗ1 := s_ДЗ1 / (s_ДЗ1 + s_ДЗ2 + s_ДЗ3)
w_ДЗ2 := s_ДЗ2 / (s_ДЗ1 + s_ДЗ2 + s_ДЗ3)
w_ДЗ3 := s_ДЗ3 / (s_ДЗ1 + s_ДЗ2 + s_ДЗ3)
s_ДЗ1 := exp( -О_ДЗ1 / T)
s_ДЗ2 := exp( -О_ДЗ2 / T)
s_ДЗ3 := exp( -О_ДЗ3 / T)
Значения параметров: T:= 20
О_Э: оценка за экзамен выставляется в шкале от 0 до 10. По взаимному согласию студента и преподавателя оценка за экзамен может быть выставлена равной накопленной оценке.
Итоговая оценка вычисляется по формуле
О_итог := округление(0.7 * О_накопл + 0.3 * О_Э)
Список литературы
Рекомендуемая основная литература
- Гудфеллоу Я., Бенджио И., Курвилль А. - Глубокое обучение - Издательство "ДМК Пресс" - 2018 - 652с. - ISBN: 978-5-97060-618-6 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/107901
Рекомендуемая дополнительная литература
- Kelleher, J. D. (2019). Deep Learning. Cambridge: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2234376