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. Сверточные нейронные сети (СНС).
История.
Основные операции СНС.
Применение СНС для решения задач технического зрения и предиктивной диагностики БАС.
Применение СНС вне задач машинного зрения.
Разбор задач к самостоятельной: расчет выхода сверточной сети.
Лекция 5. Инструментарий глубокого обучения.
CPU vs GPU vs TPU.
Пакеты глубокого обучения, Tensorflow, Keras и другие.
Вычислительные графы СНС.
Самостоятельня работа.
Три задачи из лекций 2-5.
Внимание: участие в самостоятельной, как и сдача лабораторных, необходимое условие для допуска к экзамену.
Лекция 6.1. Обучение СНС, часть 1.
Активационные функции, обработка данных сетью.
Пакетная нормализация и другие трюки.
Transfer learning.
Лекция 6.2. Обучение СНС, часть 2.
Политики обновления гиперпараметров.
Тюнинг процесса обучения.
Вопросы регуляризации и аугментации данных.
Лекция 7. Базовые архитектуры СНС
Базовые архитектуры - AlexNet, VGG, GoogleNet, ResNet, UNET и другие. Основные архитектуры для решения задач технического зрения и предиктивной аналитики БАС.
Часть третья. Дополнительные главы
Лекция 8. Трансформерные архитектуры
Сети-трансформеры.
Механизм внимания.
ViT-модели.
Применение в задачах технического зрения, анализа видео, интеллектуальной эксплуатации технических систем в том числе БАС.
Самостоятельное изучение
Лекция 11. Генеративные и рекуррентные модели
-
RNN/LSTM.
Механизм attention. Обработка естественного языка. -
GAN сети и другие генеративные порходы.
-
Детектирование и сегментация.
Лекция 12. SOTA модели
Zero shot подходы.
Метаобучение.
Федеративное обучение.
Диффузные модели и мосты Шредингера.
План лабораторных работ
Списки групп и статус выполнения лабораторных работ можно найти в гугл-таблице.
Литература и дополнительные источники
-
Отличная книга на русском по глубокому обучению -
С. И. Николенко, А. Кадурин, Е. В. Архангельская, Глубокое обучение. Погружение в мир нейронных сетей. 2018 -
Отличная книга по техническим аспектам реализации на Python -
Шолле Франсуа, Глубокое обучение на Python -
Хорошая современная книга на английском: Advanced Deep Learning with Python. By Ivan Vasilev
-
Видеолекция академика Ю.И. Журавлева об истоках машинного обучения в СССР и о сочетании эвристики и науки в распознавании образов.
-
Видеолекции С.И. Николенко по GAN сетям 1, 2. Хорошая проверка ваших знаний, на выходе из настоящего курса вы должны полностью понимать то, что говорится в этих лекциях по GAN.
-
Хорошая вводная книга по питону и базовым библиотекам, таким как numpy, pandas, jupyter. Python и анализ данных. Второе издание [2020] Уэс Маккинни
Альтернативная ссылка
Важное замечание: первое издание книги содержит в себе короткое введение в python, изъятое из второго издания. Первое издание с руководством по питону можно найти например здесь.
Подборка книг по математике, базовых для машинного обучения
По многочисленным просьбам привожу список книг по направлениям математики, которые составляют базу для машинного и глубокого обучения.
Базу составляют - матанализ, линейная алгебра, методы оптимизации, теория вероятностей и математическая статистика.
Опционально, но полезно, знать цифровую обработку сигналов и теорию случайных процессов, численные методы, и конечно обработку изображений.
- Матанализ: Г. М. ФИХТЕНГОЛЬЦ. ОСНОВЫ. МАТЕМАТИЧЕСКОГО. АНАЛИЗА.
- Линейная алгебра: Г.С. Швецов, Линейная алгебра. теория и прикладные аспекты.
- Альтернативный, всегда актуальный вариант - Гантмахер, Теория матриц.
- Методы оптимизации - Советская книга по методам оптимизации в технических задачах. Для тех кто не знает как рашифровывается BFGS))) -
Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике. Том 1 М.: Мир, 1986. – 348 с. - Тервер и матстат: Гмурман В.Е., Теория вероятностей и математическая статистика.
- Обработка изображений, здесь можно привести целый список, немного классических книг: Э. Прэтт, Цифровая обработка изображений; Гонсалес Р., Вудс Р. Цифровая обработка изображений;
- Ну и важная тема, формирование и восприятие цвета: М. Домасев, С. Гнатюк, Цвет, управление цветом, цветовые расчеты и измерения