Master
2020/2021
Deep Learning
Category 'Best Course for Career Development'
Category 'Best Course for Broadening Horizons and Diversity of Knowledge and Skills'
Type:
Elective course (Data Science)
Area of studies:
Applied Mathematics and Informatics
Delivered by:
Big Data and Information Retrieval School
Where:
Faculty of Computer Science
When:
2 year, 1, 2 module
Mode of studies:
distance learning
Instructors:
Fedor Ratnikov
Master’s programme:
Data Science
Language:
English
ECTS credits:
8
Contact hours:
56
Course Syllabus
Abstract
Предлагаемый курс посвящён методам “глубинного обучения” - нового поколения нейросетевых методов машинного обучения, вызвавших бурный всплеск развития в ряде прикладных областей. В первую очередь курс направлен на формирования у студентов навыков решения прикладных задач при помощи глубоких нейронных сетей.
Learning Objectives
- формирование у студента навыков и опыта решения прикладных задач с использованием глубинного обучения
Expected Learning Outcomes
- Знает основные сферы применения методов глубокого обучения, особенности и трюки в каждой такой сфере
- Умеет решать задачи производственной и технологической деятельности с использованием методов глубокого обучения на профессиональном уровне, включая постановку задачи, базовое решение, прототипирование и внедрение
- Имеет углублённое понимание одной из основных сфер применения глубокого обучения
Course Contents
- Введение. Основные абстракции, глубинное обучение. Обучение представлений.Напоминание про линейные модели классификации и регрессии. Модели, функции потерь, алгоритмы обучения, регуляризация. Ограничения линейных моделей. Обучение признаков без учителя (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.
- Отчёт по проектным задачамФинальные презентации решений проектных задач студентов. Обсуждение результатов. Ко всем проектам должен прилагаться код, который воспроизводит его результаты.
Assessment Elements
- Домашние задания
- ПроектПредполагается решение задачи в semi-supervised режиме в течение всего курса с периодическими выступлениями о том, что удалось сделать, что не заработало и обсуждений, как с этим бороться.
Interim Assessment
- Interim assessment (2 module)Итоговая оценка = max(1,min(10,Округление(L/10))), где L - сумма баллов за выполненные домашние задания, проект, а также дополнительные активности (участие в обсуждении проектов однокурсников; статьи, посты, коммиты, доклады, если они публично доступны и опубликованы не раньше начала курса).
Bibliography
Recommended Core Bibliography
- Гудфеллоу Я., Бенджио И., Курвилль А. - Глубокое обучение - Издательство "ДМК Пресс" - 2018 - 652с. - ISBN: 978-5-97060-618-6 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/107901
Recommended Additional Bibliography
- 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