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.

15 KiB

Курс "Нейронные сети и глубокое обучение" Самарского университета

Лектор Артем Владимирович Никоноров, д.т.н., artniko@gmail.com
Ассистенты: Макаров Андрей Романович

Телеграмм группа курса: https://t.me/+Ce9a_zQqPTI5MTJi

Курс основывается на предыдущих более обзорных лекциях и туториалах по глубокому обучению и его приложениях, в частности, вот небольшая обзорная лекция в Кавказском Математическом Центре. Также во многом этот курс является адаптацией известнейшего курса http://cs231n.stanford.edu/

Материалы курса за 2020-21 годы расположены здесь. Материалы курса за 2022-23 годы расположены здесь

Курс 24 года состоит из трех частей:
Введение в глубокое обучение: краткий обзор всех достижений машинного обучения до сверточных нейронных сетей, две лекции.
Основы глубокого обучения: собственно основной материал курса, порядка 8 лекций.
Дополнительные главы глубокого обучения: новинки и SOTA решения, трансформеры, метаобучение, zero shot learning и другое.

График проведения курса 2024

Видеозаписи лекций 2020-21 годов можно найти по ссылке.

Лекции раз в неделю по понедельникам. Начало в 18-45 по Самаре. Продолжительность лекции два астрономических часа.

Первая лекция: После 09.09.24 в Zoom, точная дата первой лекции будет позже.

Следующая лекция: ... в 18:45 по Самаре в Zoom.

Подключиться к конференции Zoom можно будет по ссылке, которая появится за час до назначенного времени проведения лекции: Здесь будет ссылка

Лекционный план 2024

Часть первая. Вводные лекции, в том числе для самостоятельного изучения.

Лекции 1. Введение в искусственные нейронные сети.

Введение в курс и краткая история вопроса.
Примеры решения задач на базе искусственных нейронных сетей.
Подходы основанные на данных.
Задачи технического зрения и предиктивной диагностики БАС.
Дополнительный материал: Основные идеи - От MLP до CNN.

Видеозапись первой части
Видеозапись второй части
Презентация к лекциям 1-2

Часть вторая. Основы глубокого обучения.

Лекция 2. Основы построения и применения искусственных нейронных сетей. Математическая формализация нейросетевого подхода.

Мультиклассовый SVM и его функция потерь.
Софтмакс и мультимодальная логистическая регрессия.
Оптимизация функции потерь.
Стохастический градиентный спуск (SGD).
Разбор задач к самостоятельной: функции потерь для SVM и софтмакса.

Видеозапись третьей лекции
Презентация к лекции 3
Python-ноутбук к лекции 3

Лекция 3. Обучение нейронных сетей на основе обратного распространения ошибки.

Классификация с точки зрения нейронной сети.
Многослойный перцептрон.
Представление сети в виде вычислительного графа. Алгоритм обратного распространения ошибки на вычислительном графе.
Разбор задач к самостоятельной: прямое и обратное распротранение по вычислительному графу.

Видеозапись четвертой лекции, первая часть
Видеозапись четвертой лекции, вторая часть

Презентация к лекции 4

Лекция 4. Сверточные нейронные сети (СНС).
История.
Основные операции СНС.
Применение СНС для решения задач технического зрения и предиктивной диагностики БАС.
Применение СНС вне задач машинного зрения.
Разбор задач к самостоятельной: расчет выхода сверточной сети.

Презентация к лекции 5

Лекция 5. Инструментарий глубокого обучения.
CPU vs GPU vs TPU.
Пакеты глубокого обучения, Tensorflow, Keras и другие.
Вычислительные графы СНС.

Видеозапись шестой лекции

Презентация к лекции 6

Самостоятельня работа.

Три задачи из лекций 2-5.
Внимание: участие в самостоятельной, как и сдача лабораторных, необходимое условие для допуска к экзамену.

Лекция 6.1. Обучение СНС, часть 1.

Активационные функции, обработка данных сетью.
Пакетная нормализация и другие трюки.
Transfer learning.

Видеозапись седьмой лекции

Презентация к лекции 7

Лекция 6.2. Обучение СНС, часть 2.

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

Видеозапись восьмой лекции

Презентация к лекции 8

Лекция 7. Базовые архитектуры СНС

Базовые архитектуры - AlexNet, VGG, GoogleNet, ResNet, UNET и другие. Основные архитектуры для решения задач технического зрения и предиктивной аналитики БАС.

Видеозапись девятой лекции

Презентация к лекции 9

Часть третья. Дополнительные главы

Лекция 8. Трансформерные архитектуры

Сети-трансформеры.
Механизм внимания.
ViT-модели.
Применение в задачах технического зрения, анализа видео, интеллектуальной эксплуатации технических систем в том числе БАС.

Видеозапись десятой лекции

Презентация к лекции 10

Самостоятельное изучение
Лекция 11. Генеративные и рекуррентные модели

  1. RNN/LSTM.
    Механизм attention. Обработка естественного языка.

  2. GAN сети и другие генеративные порходы.

  3. Детектирование и сегментация.

Лекция 12. SOTA модели

Zero shot подходы.
Метаобучение.
Федеративное обучение. Диффузные модели и мосты Шредингера.

План лабораторных работ

Списки групп и статус выполнения лабораторных работ можно найти в гугл-таблице.

Литература и дополнительные источники

  1. Отличная книга на русском по глубокому обучению -
    С. И. Николенко, А. Кадурин, Е. В. Архангельская, Глубокое обучение. Погружение в мир нейронных сетей. 2018

  2. Отличная книга по техническим аспектам реализации на Python -
    Шолле Франсуа, Глубокое обучение на Python

  3. Хорошая современная книга на английском: Advanced Deep Learning with Python. By Ivan Vasilev

  4. Лекционный курс К.В. Воронцова по машинному обучению.

  5. Видеолекция академика Ю.И. Журавлева об истоках машинного обучения в СССР и о сочетании эвристики и науки в распознавании образов.

  6. Видеолекции С.И. Николенко по GAN сетям 1, 2. Хорошая проверка ваших знаний, на выходе из настоящего курса вы должны полностью понимать то, что говорится в этих лекциях по GAN.

  7. Хорошая вводная книга по питону и базовым библиотекам, таким как numpy, pandas, jupyter. Python и анализ данных. Второе издание [2020] Уэс Маккинни
    Альтернативная ссылка
    Важное замечание: первое издание книги содержит в себе короткое введение в python, изъятое из второго издания. Первое издание с руководством по питону можно найти например здесь.

Подборка книг по математике, базовых для машинного обучения

По многочисленным просьбам привожу список книг по направлениям математики, которые составляют базу для машинного и глубокого обучения.
Базу составляют - матанализ, линейная алгебра, методы оптимизации, теория вероятностей и математическая статистика.
Опционально, но полезно, знать цифровую обработку сигналов и теорию случайных процессов, численные методы, и конечно обработку изображений.

  1. Матанализ: Г. М. ФИХТЕНГОЛЬЦ. ОСНОВЫ. МАТЕМАТИЧЕСКОГО. АНАЛИЗА.
  2. Линейная алгебра: Г.С. Швецов, Линейная алгебра. теория и прикладные аспекты.
  3. Альтернативный, всегда актуальный вариант - Гантмахер, Теория матриц.
  4. Методы оптимизации - Советская книга по методам оптимизации в технических задачах. Для тех кто не знает как рашифровывается BFGS))) -
    Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике. Том 1 М.: Мир, 1986. 348 с.
  5. Тервер и матстат: Гмурман В.Е., Теория вероятностей и математическая статистика.
  6. Обработка изображений, здесь можно привести целый список, немного классических книг: Э. Прэтт, Цифровая обработка изображений; Гонсалес Р., Вудс Р. Цифровая обработка изображений;
  7. Ну и важная тема, формирование и восприятие цвета: М. Домасев, С. Гнатюк, Цвет, управление цветом, цветовые расчеты и измерения

Хороший телеграмм канал с подборкой технических книг