Курс "Глубокое обучение"
(2023 г.)

В курсе рассматриваются следующие вопросы (в скобках указано время, на которое рассчитан материал):


Материалы лекций*

Лекция 1. Введение в глубокое обучение.

(Презентация, Текстовое описание)

Лекция 2. Многослойные полностью связанные нейронные сети.

(Презентация, Текстовое описание)

Лекция 3. Сверточные нейронные сети.

(Презентация, Текстовое описание)

Лекция 4. Классификация изображений с большим числом категорий с использованием методов глубокого обучения.

(Презентация, Текстовое описание)

Лекция 5. Обучение без учителя: автокодировщики, ограниченные машины Больцмана.

(Презентация, Текстовое описание)

Лекция 6. Семантическая сегментация изображений с использованием методов глубокого обучения.

(Презентация, Текстовое описание)

Лекция 7. Детектирование объектов на изображениях с использованием методов глубокого обучения.

(Презентация, Текстовое описание)

Лекция 8. Рекуррентные нейронные сети.

(Презентация, Текстовое описание)

Лекция 9. Генерация синтетических данных с использованием генеративных состязательных сетей.

(Презентация, Текстовое описание)


Материалы практических занятий и мастер-классов

Практика 1. Обзор инструментов глубокого обучения с демонстрацией небольших примеров.

(Презентация, Текстовое описание)

Практика 2. Выбор одного инструмента и разбор всех этапов от загрузки данных до тестирования обученной модели.

(Презентация, Текстовое описание)


Перечень практических работ

Практическая работа 1. Разработка сверточной нейронной сети с использованием MXNet или PyTorch на примере задачи классификации изображений (пример постановки задачи для данных Cifar-10 приведен ниже).

Решается задача классификации изображений на наборе данных Cifar-10. Разработайте сверточную нейронную сеть, которая решает поставленную задачу классификации, с использованием библиотеки PyTorch или MXNet в Jupiter notebook. Подберите оптимальную архитектуру и параметры сети, а также параметры алгоритма обучения.


Последовательность действий, которую должен реализовывать скрипт: 


Максимальное количество баллов - 30 баллов:

Практическая работа 2. Перенос обучения. Применение переноса обучения к классификации изображений (пример постановки задачи для данных Cifar-10 приведен ниже).

Решается задача классификации изображений на наборе данных Cifar-10. Примените перенос обучения для решения поставленной задачи классификации с использованием библиотеки PyTorch или MXNet в Jupiter notebook. Выбор библиотеки обусловлен тем, какой инструмент был использован при выполнении предшествующей работы. Подберите оптимальную архитектуру и параметры сети, а также параметры алгоритма обучения. Проведите возможные типы эксперименты по переносу обучения: обучение последних модифицированных слоев, соответствующих классификатору (веса остальных слоев зафиксированы), полное обучение сети (начальная инициализация весов случайная или из обученной сети). 


Последовательность действий, которую должен реализовывать скрипт: 

Этапы 2-4 реализуются несколько раз по числу экспериментов переноса и по количеству моделей. Результаты тестирования моделей накапливаются для последующего сравнения. Для множества выбранных моделей, обученных для решения исходной задачи (для лучших подобранных параметров в каждом эксперименте по переносу обучения) необходимо построить сравнительную гистограмму точностей: по горизонтали - модель и тип эксперимента (кратко указать параметры), по вертикали - точность. В гистограмме должны фигурировать результаты не более 4 моделей, которые показали наиболее высокие показатели точности. В целом гистограмма должна содержать 8 бинов (4 модели * 2 эксперимента). Далее необходимо вывести информацию о модели, для которой получены лучшие результаты решения задачи: название исходной модели, модифицированные слои, тип эксперимента по переносу обучения, параметры обучения (алгоритм оптимизации и его параметры, способ инициализации весов), полученная точность классификации на тестовой выборке.


Максимальное количество баллов - 35 баллов:

Практическая работа 3**. Реализация метода обратного распространения ошибки для двухслойной нейронной сети на примере решения задачи классификации рукописных цифр набора данных MNIST.

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

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

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

Условия успешной сдачи лабораторной работы:


* Некоторые лекции/мастер-классы проводятся приглашенными лекторами, поэтому материалы этих лекций доступны только для слушателей курса. При этом для большинства лекций имеются материалы по соответствующей тематике за авторством разработчика курса.

** Практические работы выполняются слушателями, у которых предусмотрен экзамен по данному курсу.