9fcb94b879 | 2 years ago | |
---|---|---|
1147 | 2 years ago | |
Exams_2021 | 4 years ago | |
Lectures | 2 years ago | |
lab_1-2 | 4 years ago | |
lab_3 | 4 years ago | |
lab_4 | 4 years ago | |
lections | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 2 years ago | |
lab_schedule_1143.md | 2 years ago | |
lab_schedule_6231_6233.md | 2 years ago |
README.md
Курс "Нейронные сети и глубокое обучение" Самарского университета
Лектор Артем Владимирович Никоноров, д.т.н., artniko@gmail.com
Ассистенты: Виктория Витальевна Евдокимова,
Никита Александрович Фирсов
Телеграмм группа курса: https://t.me/DL_SamU_2022
Курс основывается на предыдущих более обзорных лекциях и туториалах по глубокому обучению и его приложениях, в частности, вот небольшая обзорная лекция в Кавказском Математическом Центре. Также во многом этот курс является адаптацией известнейшего курса http://cs231n.stanford.edu/
Материалы курса за 2020-21 годы расположены здесь.
Курс 2022 года состоит из трех частей:
Введение в глубокое обучение: краткий обзор всех достижений машинного обучения до сверточных нейронных сетей, две лекции.
Основы глубокого обучения: собственно основной материал курса, порядка 8 лекций.
Дополнительные главы глубокого обучения: новинки и SOTA решения, трансформеры, метаобучение, zero shot learning и другое.
График проведения курса 2022-2023
Видеозаписи лекций 2020-21 годов можно найти по ссылке.
Лекции раз в неделю по четвергам. Начало в 19-00 по Самаре. Продолжительность лекции два астрономических часа.
Первая лекция: 10.09.22 в 10:00 в Zoom.
Следующая лекция: 13.10.22 в 19:00 по Самаре в Zoom.
Подключиться к конференции Zoom
https://us02web.zoom.us/j/8366671872?pwd=NS9ZaXNWWG55Y0pESUZIZHlRa0U5dz09
Идентификатор конференции: 836 667 1872
Код доступа: 810019
Лекционный план 2022-2023
Часть первая. Введение в глубокое обучение.
Лекции 1,2. Классификация, основанная на данных
Введение в курс.
Задача классификации изображений.
Подходы основанные на данных.
Основные идеи - От MLP до CNN.
Видеозапись первой части
Видеозапись второй части
Презентация - TBD.
Часть вторая. Основы глубокого обучения.
Лекция 3. Функции потерь и оптимизация.
Мультиклассовый SVM и его функция потерь.
Софтмакс и мультимодальная логистическая регрессия.
Оптимизация функции потерь.
Стохастический градиентный спуск (SGD).
Разбор задач к самостоятельной: функции потерь для SVM и софтмакса.
Видеозапись третьей лекции
Презентация к лекции 3
Python-ноутбук к лекции 3
Лекция 4. Нейронные сети и обратное распространение ошибки.
Классификация с точки зрения нейронной сети.
Многослойный перцептрон.
Представление сети в виде вычислительного графа.
Алгоритм обратного распространения ошибки на вычислительном графе.
Разбор задач к самостоятельной: прямое и обратное распротранение по вычислительному графу.
Видеозапись четвертой лекции, первая часть
Видеозапись четвертой лекции, вторая часть
Лекция 5. Сверточные сети (СНС).
История.
Основные операции СНС.
Применение СНС вне задач машинного зрения.
Разбор задач к самостоятельной: расчет выхода сверточной сети.
Лекция 6. Инструментарий глубокого обучения.
CPU vs GPU vs TPU.
Пакеты глубокого обучения, Tensorflow, Keras и другие.
Вычислительные графы СНС.
Самостоятельня работа.
Три задачи из лекций 2-5.
Внимание: участие в самостоятельной, как и сдача лабораторных, необходимое условие для допуска к экзамену.
Лекция 7. Обучение СНС, часть 1.
Активационные функции, обработка данных сетью.
Пакетная нормализация и другие трюки.
Transfer learning.
Лекция 8. Обучение СНС, часть 2.
Политики обновления гиперпараметров.
Тюнинг процесса обучения.
Аугментация данных.
Лекция 9. Архитектуры СНС
Базовые архитектуры - AlexNet, VGG, GoogleNet, ResNet, UNET и другие.
Часть третья. Дополнительные главы
Лекция 10. Генеративные и рекуррентные модели
-
RNN/LSTM.
Механизм attention. Обработка естественного языка. -
GAN сети.
-
Детектирование и сегментация.
Лекция 11. 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 с.