diff --git a/legacy_courses/README_2023.md b/legacy_courses/README_2023.md new file mode 100644 index 0000000..4e5c677 --- /dev/null +++ b/legacy_courses/README_2023.md @@ -0,0 +1,208 @@ +# Курс "Нейронные сети и глубокое обучение" Самарского университета +Лектор [Артем Владимирович Никоноров](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://ssau.ru/staff/702140902-makarov-andrey-romanovich/edu) + + +Телеграмм группа курса: +https://t.me/DL_SamU_2023 + + +Курс основывается на предыдущих более обзорных лекциях и туториалах по глубокому обучению и его приложениях, в частности, вот [небольшая обзорная лекция](https://youtu.be/Gpq1PFUee88) в Кавказском Математическом Центре. Также во многом этот курс является адаптацией известнейшего курса http://cs231n.stanford.edu/ + +Материалы курса за 2020-21 годы расположены [здесь](https://github.com/da0c/DL_Course_SamU). +Материалы курса за 2022-23 годы расположены [здесь](https://github.com/kvvik/DL_Course_SamU) + +Курс 2023-24 года состоит из трех частей: +**Введение в глубокое обучение:** краткий обзор всех достижений машинного обучения до сверточных нейронных сетей, две лекции. +**Основы глубокого обучения:** собственно основной материал курса, порядка 8 лекций. +**Дополнительные главы глубокого обучения:** новинки и SOTA решения, трансформеры, метаобучение, zero shot learning и другое. + +## График проведения курса 2023-2024 +**Видеозаписи лекций 2020-21 годов можно найти по [ссылке](https://github.com/da0c/DL_Course_SamU).** + +**Лекции раз в неделю по [понедельникам](https://ssau.ru/rasp?staffId=66320001&selectedWeek=4&selectedWeekday=1). +Начало в 18-45 по Самаре. Продолжительность лекции два астрономических часа.** + +Первая лекция: 18.09.22 в 18:45 в Zoom. + +**Следующая лекция: 30.10.23 в 18:45 по Самаре в Zoom.** + +Подключиться к конференции Zoom можно будет по ссылке, которая появится за час до назначенного времени проведения лекции: +[Здесь будет ссылка]() + + +## Лекционный план 2023-2024 + +**Часть первая. Введение в глубокое обучение.** + +**Лекции 1,2. Классификация, основанная на данных** + +Введение в курс. +Задача классификации изображений. +Подходы основанные на данных. +Основные идеи - От MLP до CNN. + +[Видеозапись первой части](https://youtu.be/pruCadZdhmQ) +[Видеозапись второй части](https://youtu.be/bsdpRfQM-O8) +[Презентация к лекциям 1-2](https://github.com/kvvik/DL_Course_SamU/blob/master/lections/Nikonorov-2023.pdf) + + + +**Часть вторая. Основы глубокого обучения.** + +**Лекция 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) + +**Лекция 4. Нейронные сети и обратное распространение ошибки.** + +Классификация с точки зрения нейронной сети. +Многослойный перцептрон. +Представление сети в виде вычислительного графа. +Алгоритм обратного распространения ошибки на вычислительном графе. +Разбор задач к самостоятельной: прямое и обратное распротранение по вычислительному графу. + +[Видеозапись четвертой лекции, первая часть](https://youtu.be/Zx6YggTqTJs) +[Видеозапись четвертой лекции, вторая часть](https://youtu.be/h4mE1AhLvAI) + +[Презентация к лекции 4](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_4_BP_22.pdf) + +**Лекция 5. Сверточные сети (СНС).** +История. +Основные операции СНС. +Применение СНС вне задач машинного зрения. +Разбор задач к самостоятельной: расчет выхода сверточной сети. + +[Презентация к лекции 5](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/Lecture_5_CNN_22.pdf) + +**Лекция 6. Инструментарий глубокого обучения.** +CPU vs GPU vs TPU. +Пакеты глубокого обучения, Tensorflow, Keras и другие. +Вычислительные графы СНС. + +[Видеозапись шестой лекции](https://youtu.be/vSwXdsuDN9A) + +[Презентация к лекции 6](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_6_DL_Tools_22.pdf) + +**Самостоятельня работа.** + +Три задачи из лекций 2-5. +**Внимание:** участие в самостоятельной, как и сдача лабораторных, необходимое условие для допуска к экзамену. + +**Лекция 7. Обучение СНС, часть 1.** + +Активационные функции, обработка данных сетью. +Пакетная нормализация и другие трюки. +Transfer learning. + +[Видеозапись седьмой лекции](https://youtu.be/g0iMdzk5Q-k) + +[Презентация к лекции 7](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_7_Training1_22.pdf) + + +**Лекция 8. Обучение СНС, часть 2.** + +Политики обновления гиперпараметров. +Тюнинг процесса обучения. +Аугментация данных. + +[Видеозапись восьмой лекции](https://youtu.be/X77_BhagkJ0) + +[Презентация к лекции 8](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_8_Training2_22.pdf) + + +**Лекция 9. Архитектуры СНС** + +Базовые архитектуры - AlexNet, VGG, GoogleNet, ResNet, UNET и другие. + +[Видеозапись девятой лекции](https://youtu.be/ihkqOdUQsmo) + +[Презентация к лекции 9](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_9_Arch_22.pdf) + + + +**Часть третья. Дополнительные главы** + +**Лекция 10. Трансформерные архитектуры** + +[Видеозапись десятой лекции](https://youtu.be/LjZxH6jGk-E) + +[Презентация к лекции 10](https://github.com/kvvik/DL_Course_SamU/blob/master/Lectures/lecture_10_Transfomers_22.pdf) + + + +**Лекция 11. Генеративные и рекуррентные модели** + + +1. RNN/LSTM. +Механизм attention. +Обработка естественного языка. + +2. GAN сети. + +3. Детектирование и сегментация. + +**Лекция 12. SOTA модели** +Трансформеры +Zero shot подходы +Метаобучение +Федеративное обучение + + + +## План лабораторных работ + +Списки групп и статус выполнения лабораторных работ можно найти в [гугл-таблице](https://docs.google.com/spreadsheets/d/18BARANelD4i-KCorJnL-MCyX99g12n8lSnQ88uiNLxk/edit#gid=0) . + + + + +## Литература и дополнительные источники + +1. Отличная книга на русском по глубокому обучению - +[С. И. Николенко, А. Кадурин, Е. В. Архангельская, Глубокое обучение. Погружение в мир нейронных сетей. 2018](https://www.ozon.ru/context/detail/id/154415719/) +2. Отличная книга по техническим аспектам реализации на Python - +[Шолле Франсуа, Глубокое обучение на Python](https://www.ozon.ru/context/detail/id/145615583/) + +3. Хорошая современная книга на английском: [Advanced Deep Learning with Python. By Ivan Vasilev](http://neuralnetworksanddeeplearning.com) + +4. [Лекционный курс К.В. Воронцова по машинному обучению](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). + +5. [Видеолекция академика Ю.И. Журавлева](https://www.youtube.com/watch?v=R3CMqrrIWOk) об истоках машинного обучения в СССР и о сочетании эвристики и науки в распознавании образов. +7. Видеолекции С.И. Николенко по GAN сетям [1](https://www.youtube.com/watch?v=SlJgPIOlpiI), [2](https://www.youtube.com/watch?v=w38m5mTrG_M&t=1147s). +Хорошая проверка ваших знаний, на выходе из настоящего курса вы должны полностью понимать то, что говорится в этих лекциях по GAN. + +8. Хорошая вводная книга по питону и базовым библиотекам, таким как numpy, pandas, jupyter. +[Python и анализ данных. Второе издание [2020] Уэс Маккинни](https://www.ozon.ru/product/python-i-analiz-dannyh-vtoroe-izdanie-makkini-ues-285933371) +[Альтернативная ссылка](https://vk.com/wall-51126445_67509) +Важное замечание: первое издание книги содержит в себе короткое введение в python, изъятое из второго издания. Первое издание с руководством по питону можно найти [например здесь](https://t.me/physics_lib). + +## Подборка книг по математике, базовых для машинного обучения +По многочисленным просьбам привожу список книг по направлениям математики, которые составляют базу для машинного и глубокого обучения. +Базу составляют - матанализ, линейная алгебра, методы оптимизации, теория вероятностей и математическая статистика. +Опционально, но полезно, знать цифровую обработку сигналов и теорию случайных процессов, численные методы, и конечно обработку изображений. + +1. Матанализ: Г. М. ФИХТЕНГОЛЬЦ. ОСНОВЫ. МАТЕМАТИЧЕСКОГО. АНАЛИЗА. +2. Линейная алгебра: Г.С. Швецов, Линейная алгебра. теория и прикладные аспекты. +3. Альтернативный, всегда актуальный вариант - Гантмахер, Теория матриц. +4. Методы оптимизации - Советская книга по методам оптимизации в технических задачах. Для тех кто не знает как рашифровывается BFGS))) - +[Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике. Том 1 М.: Мир, 1986. – 348 с.](https://www.studmed.ru/rekleytis-g-reyvindran-a-regsdel-k-optimizaciya-v-tehnike-tom-1_5d310297b68.html) +5. Тервер и матстат: Гмурман В.Е., Теория вероятностей и математическая статистика. +6. Обработка изображений, здесь можно привести целый список, немного классических книг: Э. Прэтт, Цифровая обработка изображений; Гонсалес Р., Вудс Р. Цифровая обработка изображений; +7. Ну и важная тема, формирование и восприятие цвета: М. Домасев, С. Гнатюк, Цвет, управление цветом, цветовые расчеты и измерения + + +[Хороший телеграмм канал с подборкой технических книг](https://t.me/physics_lib) + + +