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

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

По результатам курса вы научитесь применять нейронные сети для многих практических задач, а также оценивать целесообразность их применения. Вы получите опыт подбора архитектуры нейронных сетей и ее быстрой реализации на PyTorch.

Контроль знаний

Каждое занятие (кроме зачетных) состоит из двух частей: лекции и семинара. На лекции разбирается новый материал, а на семинаре полученные знания закрепляются на практических примерах. К каждому семинарскому занятию выдается шаблон кода, который необходимо дополнить реализацией рассмотренного алгоритма. Такие задания оцениваются в 3 балла. Также в середине и конце семестра будут проведены два рубежных контроля, оцениваемые в 15 баллов каждый. На коллоквиумах проверяются теоретические знания слушателей. Помимо рубежных контролей и семинаров в курсе предусмотрен исследовательский проект (оценивается в 30 баллов). В течение семестра слушатели в командах 2-4 человека проводят исследование на выбранную тему: от анализа литературы до проведения экспериментов и написания отчета.

По сумме баллов выставляется итоговая оценка: 50+ баллов — "удовлетворительно", 70+ баллов — "хорошо", 80+ баллов — "отлично".

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

Нейронные сети являются лидирующим подходом в распознавании изображений, речи и текстов. В данном курсе вы познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Так как курс ориентирован на практику, вы получите опыт реализации классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN. Студенты получат навык реализации нейронных сетей как "с нуля", так и на библиотеке PyTorch. В курсе вы реализуете своего чат-бота, обучите нейросеть играть в компьютерную игру и генерировать человеческие лица. Вы также получите опыт чтения научных статей и самостоятельного проведения научного исследования.

От студентов требуется уверенное владение аппаратом линейной алгебры, математического анализа и теории вероятностей. Для подготовки к курсу слушателям рекомендуется повторить следующие темы:
Высшая математика:

  1. Градиент функции многих переменных
  2. Матричные и векторные производные: производная вектора по вектору, матрицы по числу и т.д.
  3. Градиентный спуск для оптимизации функции многих переменных
  4. Градиентный спуск для оптимизации функции многих переменных
Машинное обучение:
  1. Обучение с учителем и без учителя
  2. Задачи регрессии и классификации
  3. Линейная и логистическая регрессии
  4. Валидация модели: отложенная выборка, k-Fold
Рекомендуемая литература:
  1. 1. Neural networks and deep learning
  2. 2. Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville
  3. 3. Pattern Recognition and Machine Learning, Bishop
  4. 4. K. Murphy, Machine learning: a probabilistic perspective.

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

Основы нейронных сетей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нейронные сети для снижения размерности

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

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

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

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

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

Коллоквиум 1

Вопросы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Коллоквиум 2

    Вопросы:

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

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

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

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

    Пересдача №1

    Пересдача

    4 часа

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

    В течение семестра студенты реализуют протокол HTTP для будущего веб-сервера, работу по сети, многопоточность.

    Информационный поиск. Часть 1

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

    © Mail.Ru Group, 2011–2018

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

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

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