Нейронные сети в машинном обучении

Длительность
  • 18 занятий
  • 72 ак. часов
Курс преподают
  • Кузьма Храбров Кузьма Храбров
  • Всеволод Викулин Всеволод Викулин
  • Данила Байгушев Данила Байгушев
Получаемые навыки

– Получите опыт подбора архитектуры нейронных сетей и ее быстрой реализации на 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

Детали обучения нейронных сетей

4 часа 2 часа СР

Смешанное занятие №3

Библиотеки для глубинного обучения

4 часа 2 часа СР

Смешанное занятие №4

Сверточные нейронные сети

4 часа 2 часа СР

Смешанное занятие №5

Глубинные нейронные сети

4 часа 2 часа СР

Смешанное занятие №6

Архитектуры глубинных сетей

4 часа 2 часа СР

Смешанное занятие №7

Методы оптимизации

4 часа 2 часа СР

Рубежный контроль №1

Коллоквиум 1

  • Произношение слов accuracy, bias, variable, function, Байесовский
  • Функции потерь для классификации и регрессии
  • Проблемы обучения глубинных нейронных сетей
  • Граф вычислений
  • Задачи на подсчет матричных производных
  • Операция свертки
  • Операция пулинга
  • Постановка задачи оптимизации
  • Постановка задачи регрессии
  • Постановка задачи классификации
  • Способы валидации модели
  • Особенности работы с изображениями
  • Идея transfer learning
Билеты
  • Алгоритм обратного распространения ошибки для графов вычислений
  • Модель линейной регрессии и ее решение
  • Сверточные нейронные сети
  • Dropout, Batch normalization
  • GD, SGD, Momentum, NAG
  • Adagrad, RMSprop, Adadelta, Adam
  • Инициализация сетей: Xavier, He, ортогональная инициализация
  • ResNet
  • VGG, Network in Network
  • Inception

4 часа

Смешанное занятие №8

Рекуррентные сети

4 часа 2 часа СР

Смешанное занятие №9

Нейронные сети для обработки естественного языка

4 часа 2 часа СР

Смешанное занятие №10

Современные модели для NLP

4 часа 2 часа СР

Смешанное занятие №11

Соперничающие сети (GAN)

4 часа 2 часа СР

Смешанное занятие №12

Вариационные автокодировщики (VAE) и Artistic Style

4 часа 2 часа СР

Смешанное занятие №13

Обучение с подкреплением часть 1

4 часа 2 часа СР

Смешанное занятие №14

Обучение с подкреплением, часть 2

4 часа 2 часа СР

Рубежный контроль №2

Коллоквиум 2

  • Архитектура LSTM ячейки
  • Attention
  • Self-Attention
  • Идея соперничающих сетей
  • KL дивергенция
  • Основные понятия обучения с подкреплением: агент, среда, стратегия, награда
  • Уравнения Беллмана
  • Обратное распространение ошибки сквозь время
Билеты
  • Рекуррентные сети. Проблемы с прохождением градиента. Обратное распространение ошибки сквозь время
  • LSTM и GRU сети
  • Word2Vec: CBOW и Skip-gram
  • Иерархический и дифференцированный софтмакс
  • Задача обучения языковой модели. Seq2Seq
  • Transformer, BERT
  • Autoencoder и Denoising Autoencoder.
  • Соперничающие сети и генеративные автокодировщики
  • Вариационный автокодировщик. Вариационная нижняя оценка
  • Интерпретация обученных сетей. Saliency map. Deep dream и artistic style
  • Задача обучения с подкреплением. Алгоритм Policy iteration
  • Q-learning. Deep Q-learning.
  • Multi-armed bandits
  • MCTS
  • Policy gradients
  • Alpha go

4 часа

Рубежный контроль №3

Защита исследовательского проекта

4 часа 2 часа СР

Пересдача №1

Пересдача

4 часа


Также в втором семестре:
Многопоточное программирование на языке программирования С/С++

– Изучите классическое создание дочерних процессов (через fork) и использование средств межпроцессного взаимодействия (IPC)
– Освоите различные способы создания многопоточного приложения (pthreads, std::thread, boost::thread), а также и более высокоуровневые средства распараллеливания (OpenMP, Intel TBB).
– Научитесь работать с сетью и контейнерами (STL, boost).
– Реализуете протокол HTTP для будущего веб-сервера.

Информационный поиск

Разберетесь в сфере задач машинного обучения, освоите основные методы и средства решения таких задач, узнаете, как решается одна из самых сложных проблем искусственного интеллекта — понимание потребностей человека и поиск подходящего решения.

© Mail.ru Group, 2011–2020

Обратная связь

Присоединяйся:

Группа ВКонтакте
  • Дизайн:
    Nimax
  • Разработка:
    Лаборатория
    Технопарка
Версия портала - 5.43.1