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

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

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

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

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

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

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

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

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

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

Рубежный контроль №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

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

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–2020

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

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

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