You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
9.1 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Курс "Нейронные сети и глубокое обучение" Самарского университета
Лектор [Артем Владимирович Никоноров](https://ssau.ru/staff/66320001-nikonorov-artem-vladimirovich), д.т.н., artniko@gmail.com
Ассистенты: [Виктория Витальевна Евдокимова](https://ssau.ru/staff/304968209-evdokimova-viktoriya-vitalevna/edu),
[Никита Александрович Фирсов](https://ssau.ru/staff/441332557-firsov-nikita-aleksandrovich/edu)
Телеграмм группа курса:
https://t.me/DL_SamU_2022
Курс основывается на предыдущих более обзорных лекциях и туториалах по глубокому обучению и его приложениях, в частности, вот [небольшая обзорная лекция](https://youtu.be/Gpq1PFUee88) в Кавказском Математическом Центре. Также во многом этот курс является адаптацией известнейшего курса http://cs231n.stanford.edu/
Материалы курса за 2020-21 годы расположены [здесь](https://github.com/da0c/DL_Course_SamU).
Курс 2022 года состоит из трех частей:
**Введение в глубокое обучение:** краткий обзор всех достижений машинного обучения до сверточных нейронных сетей, две лекции.
**Основы глубокого обучения:** собственно основной материал курса, порядка 8 лекций.
**Дополнительные главы глубокого обучения:** новинки и SOTA решения, трансформеры, метаобучение, zero shot learning и другое.
## График проведения курса 2022-2023
**Видеозаписи лекций 2020-21 годов можно найти по [ссылке](https://github.com/da0c/DL_Course_SamU).**
Лекции раз в две недели по [четвергам](https://ssau.ru/rasp?staffId=66320001&selectedWeek=3&selectedWeekday=1).
Начало в 19-00 по Самаре. Продолжительность лекции два астрономических часа.
Первая лекция: 10.09.22 в 10:00 в Zoom.
**Следующая лекция: 07.10.22 в 10:00 в Zoom.**
Подключиться к конференции Zoom
https://us02web.zoom.us/j/8366671872?pwd=NS9ZaXNWWG55Y0pESUZIZHlRa0U5dz09
Идентификатор конференции: 836 667 1872
Код доступа: 810019
## Лекционный план 2022-2023
**Часть первая. Введение в глубокое обучение.**
**Лекции 1,2. Классификация, основанная на данных**
Введение в курс.
Задача классификации изображений.
Подходы основанные на данных.
Основные идеи - От MLP до CNN.
[Видеозапись первой части](https://youtu.be/pruCadZdhmQ)
[Видеозапись второй части](https://youtu.be/bsdpRfQM-O8)
Презентация - TBD.
**Часть вторая. Основы глубокого обучения.**
**Лекция 3. Функции потерь и оптимизация.**
Мультиклассовый SVM и его функция потерь.
Софтмакс и мультимодальная логистическая регрессия.
Оптимизация функции потерь.
Стохастический градиентный спуск (SGD).
Разбор задач к самостоятельной: фукции потерь для SVM и софтмакса.
[Видеозапись третьей лекции](https://youtu.be/9nUzJxCeKIc)
[Презентация к лекции 3](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/Lecture_3_SGD_22.pdf)
[Python-ноутбук к лекции 3](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/Lecture_3.ipynb)
**Лекция 3. Нейронные сети и обратное распространение ошибки.**
Классификация с точки зрения нейронной сети.
Многослойный перцептрон.
Представление сети в виде вычислительного графа.
Алгоритм обратного распространения ошибки на вычислительном графе.
Разбор задач к самостоятельной: прямое и обратное распротранение по вычислительному графу.
[Презентация к лекции 4](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_4_BP_22.pdf)
**Лекция 4. Сверточные сети (СНС).**
История.
Основные операции СНС.
Применение СНС вне задач машинного зрения.
Разбор задач к самостоятельной: расчет выхода сверточной сети.
**Лекция 5. Инструментарий глубокого обучения.**
CPU vs GPU vs TPU.
Пакеты глубокого обучения, Tensorflow, Keras и другие.
Вычислительные графы СНС.
**Самостоятельня работа.**
Три задачи из лекций 2-5.
**Внимание:** участие в самостоятельной, как и сдача лабораторных, необходимое условие для допуска к экзамену.
**Лекция 6. Обучение СНС, часть 1.**
Активационные функции, обработка данных сетью.
Пакетная нормализация и другие трюки.
Transfer learning.
**Лекция 7. Обучение СНС, часть 2.**
Политики обновления гиперпараметров.
Тюнинг процесса обучения.
Аугментация данных.
**Лекция 8. Архитектуры СНС**
Базовые архитектуры - AlexNet, VGG, GoogleNet, ResNet, UNET и другие.
**Часть третья. Дополнительные главы**
**Лекция 9. Генеративные и рекуррентные модели**
1. RNN/LSTM.
Механизм attention.
Обработка естественного языка.
2. GAN сети.
3. Детектирование и сегментация.
**Лекция 10. SOTA модели**
Трансформеры
Zero shot подходы
Метаобучение
Федеративное обучение
## План лабораторных работ
Списки групп и статус выполнения лабораторных работ можно найти в [гугл-таблице](https://docs.google.com/spreadsheets/d/1dRMlUIZ1Wf_DmHZBubtRtNbHxteb7ThbJqqZhRCiMEw/edit#gid=0) .
- [для групп 6231, 6233](lab_schedule_6231_6233.md)
- [для группы 1143](lab_schedule_1143.md)
## Литература и дополнительные источники
1. Отличная книга на русском по глубокому обучению -
[С. И. Николенко, А. Кадурин, Е. В. Архангельская, Глубокое обучение. Погружение в мир нейронных сетей. 2018](https://www.ozon.ru/context/detail/id/154415719/)
2. Отличная книга по техническим аспектам реализации на Python -
[Шолле Франсуа, Глубокое обучение на Python](https://www.ozon.ru/context/detail/id/145615583/)
3. [Лекционный курс К.В. Воронцова по машинному обучению](http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2%29).
4. [Видеолекция академика Ю.И. Журавлева](https://www.youtube.com/watch?v=R3CMqrrIWOk) об истоках машинного обучения в СССР и о сочетании эвристики и науки в распознавании образов.
5. Видеолекции С.И. Николенко по GAN сетям [1](https://www.youtube.com/watch?v=SlJgPIOlpiI), [2](https://www.youtube.com/watch?v=w38m5mTrG_M&t=1147s).
Хорошая проверка ваших знаний, на выходе из настоящего курса вы должны полностью понимать то, что говорится в этих лекциях по GAN.