• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2019/2020

Глубинное обучение

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс по выбору (Науки о данных)
Направление: 01.04.02. Прикладная математика и информатика
Когда читается: 2-й курс, 1, 2 модуль
Формат изучения: с онлайн-курсом
Прогр. обучения: Науки о данных
Язык: русский
Кредиты: 8
Контактные часы: 56

Программа дисциплины

Аннотация

Предлагаемый курс посвящён методам “глубинного обучения” - нового поколения нейросетевых методов машинного обучения, вызвавших бурный всплеск развития в ряде прикладных областей. В первую очередь курс направлен на формирования у студентов навыков решения прикладных задач при помощи глубоких нейронных сетей.
Цель освоения дисциплины

Цель освоения дисциплины

  • формирование у студента навыков и опыта решения прикладных задач с использованием глубинного обучения
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает основные сферы применения методов глубокого обучения, особенности и трюки в каждой такой сфере
  • Умеет решать задачи производственной и технологической деятельности с использованием методов глубокого обучения на профессиональном уровне, включая постановку задачи, базовое решение, прототипирование и внедрение
  • Имеет углублённое понимание одной из основных сфер применения глубокого обучения
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение. Основные абстракции, глубинное обучение. Обучение представлений.
    Напоминание про линейные модели классификации и регрессии. Модели, функции потерь, алгоритмы обучения, регуляризация. Ограничения линейных моделей. Обучение признаков без учителя (unsupervised feature learning). Метод главных компонент (PCA), Ограниченные Машины Больцмана (RBM) (без подробного описания CD). DBM и DBN. Использование RBM для классификации лиц (openml-faces). Преимущества и недостатки обучения признаков без учителя. Многослойный персептрон. Абстракция слоя. Полносвязный слой. Нелинейности. Backpropagation (и почему chain rule). Регуляризация (L1-L2; Dropout). Адаптивные стохастические методы оптимизации. Знакомство с theano и lasagne. Описание простой логистической регрессии в Theano. Разработка архитектуры глубокой сети для решения задачи HiggsML.
  • Основные сферы применения глубинного обучения
    Задачи машинного зрения. Классификация, сегментация, генерация изображений. Свёрточные сети, Pooling, Batch Normalization. Стандартный пайплайн решения задачи при помощи нейронных сетей. Решение задачи классификации NotMnist при помощи свёрточных сетей, или, быть может, любых других методов, которыми студент попытается улучшить точность. Задачи автоматической обработки текстов. Классификация, тэгирование, языковые модели, машинный перевод, диалоговые системы, тематическое моделирование. Word Embeddings (w2v, glove, trained embedding), текстовые свёрточные сети. Решение задачи классификации нежелательного контента в объявлениях Avito.ru при помощи свёрточных сетей над обучаемым словарём word embeddings. Другие сферы приложения. Распознавание и синтез речи. Поиск по текстам и изображениям (Information Retrieval, Object Retrieval) Оптимизация стратегии поведения в робототехнике. Задачи на стыках сфер (естественно-языковое описание объектов на изображении). Мини-семинар про Inceptionism и попытки понять, что же прячется в чёрной коробке, и почему нейронка приняла своё решение в той или иной ситуации. Дедлайн выбора тем проектных задач и формирования команд.
  • Практические задачи компьютерного зрения
    Сегментация изображений. Раскрашивание. Предсказание bounding box. Полносвёрточные сети. Deconvolution. Maxout и прочие хитрые нелинейности. Fine-tuning и дообучение сетей. Net2net. Использование сети VGG19, предобученной на ImageNet, для классификации объектов на небольшой выборке изображений. Генеративные сети. Generative adversarial networks (GAN). Gradient reversal trick. LapGAN, DC-GAN. Domain adaptation via gradient reversal. Art Style Transfer — применение «фильтра Ван Гога» к изображению при помощи всё VGG19. Автокодировщики. Sparse autoencoders, denoizing autoencoders. Вариационные автокодировщики (VAE). Использование автокодировщиков для изменения изображения. Прочие применения автокодировщиков. Common Semantic Space Embedding. Имплементация VAE, обучение на лицах. Image Morphing, добавление улыбки.
  • Анализ проектных задач и способов их решения
    В рамках этих занятий студентам предлагается прочитать некоторое количество статей по выбранной задаче, сформировать предположительный план решения и выступить перед коллегами с коротким докладом.
  • Практические задачи обработки последовательностей (текст, речь и т.д.), приёмы для их решения
    Рекуррентные нейронные сети. Backpropagation through time. GRU, LSTM. Gradient clipping. Применение для Language Modelling. Character Level RNN для генерации статей законодательной системы РФ. Encoder-decoder. Машинный перевод и диалоговые системы. Character level Vs word level. Hierarchical softmax & Negative sampling. Pairwise learning functions. Attention. DRAW. Альтернативные структуры рекуррентных сетей. Задачи распознавания и синтеза речи. Архитектуры с долгосрочной памятью. Stack/List augmented RNN. Neural Turing Machines. RAM-machines. Neural programmer-interpreter. Немногие практические юз-кейсы. Реализация GRU и Stack-Augmented RNN, сравнение эффективности на простых задачах. [промежуточный дедлайн по базовому решению проектных задач]
  • Промежуточный отчёт по проектным задачам
    Промежуточный отчёт по проектным задачам, представление базового решения.
  • Deep Reinforcement Learning
    Формализм MDP. POMDP. Классические способы решения. Проблемы классических способов. Deep Q-learning. Автокорреляции и другие проблемы DQN и способы их нивелировать. Experience Replay и асинхронность. Реализация Deep Recurrent Q-learning для игры в Atari. По умолчанию предлагается использовать yandexdataschool.AgentNet + OpenAI.Gym. Advantage Actor-Critic. Континуальное пространство действий в POMDP. DDPG. Сферы применения. Обучение сети оптимальному управлению роботом-манипулятором при помощи DDPG. По умолчанию предлагается использовать yandexdataschool.AgentNet + OpenAI.Gym.MujoCo.
  • Вычислительная оптимизация обученных нейронных сетей. Особенности применения в production
    Оптимизация структуры сети. Optimal Brain Damage. Разложения матриц весов. Softtargets. Битовая магия и float8. Имплементация в железе и BinaryNet.
  • Отчёт по проектным задачам
    Финальные презентации решений проектных задач студентов. Обсуждение результатов. Ко всем проектам должен прилагаться код, который воспроизводит его результаты.
Элементы контроля

Элементы контроля

  • неблокирующий Домашние задания
  • неблокирующий Проект
    Предполагается решение задачи в semi-supervised режиме в течение всего курса с периодическими выступлениями о том, что удалось сделать, что не заработало и обсуждений, как с этим бороться.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    Итоговая оценка = max(1,min(10,Округление(L/10))), где L - сумма баллов за выполненные домашние задания, проект, а также дополнительные активности (участие в обсуждении проектов однокурсников; статьи, посты, коммиты, доклады, если они публично доступны и опубликованы не раньше начала курса).
Список литературы

Список литературы

Рекомендуемая основная литература

  • Гудфеллоу Я., Бенджио И., Курвилль А. - Глубокое обучение - Издательство "ДМК Пресс" - 2018 - 652с. - ISBN: 978-5-97060-618-6 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/107901

Рекомендуемая дополнительная литература

  • Bengio, Y., Courville, A., & Vincent, P. (2012). Representation Learning: A Review and New Perspectives. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsarx&AN=edsarx.1206.5538
  • Graves, A., Fernàndez, S., Gomez, F., & Schmidhuber, J. (2017). Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.163BBE7B
  • Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2017). ImageNet Classification with Deep Convolutional Neural Networks. Communications of the ACM, 60(6), 84–90. https://doi.org/10.1145/3065386