Нейросетевые методы обработки изображений (В.В.Китов)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м (О курсе)
(Практикум)
 
(33 промежуточные версии не показаны)
Строка 3: Строка 3:
==О курсе==
==О курсе==
-
Спецкурс проходит на ф-те ВМиК в весеннем семестре и посвящен задаче автоматической стилизации изображений, в которой входное изображение необходимо отобразить в стиле, задаваемым другим изображением. Например, это может быть стилизация семейной фотографии под стиль известного художника, либо стилизация дневного фото в ночное, либо преобразование фотогрфии в схематичную книжную иллюстрацию. Для решения задачи существуют современные подходы переноса стиля (style transfer) и генеративно-состязательные сети (generative adversarial networks). Эта задача широко используется в индустрии разлечений (например, мобильное приложение Prisma было самым скачиваемым на Android в странах СНГ в течение 10 дней после выхода), при обработке фотографий и дизайне (функции стилизации были добавлены в Adobe Photoshop 2021), может применяться в мультипликации, наложении спецэффектов в фильмах, видеоиграх и средствах дополненной реальности, а также для более точной настройки методов машинного при обучении на одной предметной области, а применении модели к другой (transfer learning). Помимо изображений указанный подход применим для видеопоследовательностей и данных из других предметных областей (текст, речь и музыка). Основные методы стилизации были предложены в последние 7 лет и опираются на глубокие нейронные сети, базовому изучению которых посвящена начальная часть курса.
+
Спецкурс посвящён основам глубокого обучения, а также задачам классификации, сегментации и генерации изображений, используя нейросетевой перенос стиля (neural style transfer) и генеративно-состязательные сети (generative adversarial networks).
-
Занятия проходят в формате лекций. В процессе прохождения курса каждый студент должен сделать презентацию основных идей и подходов одной из недавних статей, посвященных стилизации изображений, а также представить свои идеи улучшений традиционных методов стилизации изображений и их обосновать.
+
Курс самодостаточный, основные понятия и задачи вводятся и подробно разбираются, поэтому спецкурс будет полезен слушателям, не имевшим предварительного знакомства с нейросетями.
-
==Лектор==
+
Спецкурс является практико-ориентированным: помимо теории большое внимание уделяется разбору практической реализации изучаемых архитектур. В этом смысле спецкурс является органичным дополнением обязательного курса “Глубокое машинное обучение”.
-
[[Участник:Victor Kitov|Виктор Владимирович Китов]], к.ф.-м.н., преподаватель кафедры [[Mmp|математических методов прогнозирования]] [http://cmc.msu.ru ВМК МГУ]. Почта: v.v.kitov(at)yandex.ru.
+
-
==Время занятий==
+
В частности, разбираются основы работы с библиотекой PyTorch, реализации многослойного персептрона, автокодировщика, симаских сетей, RBF-сетей, свёрточных и генеративно-состязательных сетей.
-
Занятия проходят в удаленном формате по понедельникам 18-00 - 19-30 по [https://us06web.zoom.us/j/81357650774?pwd=RWZNZzl6VmJGNlo1eDJrZy9XN0xPQT09 ссылке].
+
-
Первое занятие 14 февраля.
+
-
==Лекции==
+
Для прохождения спецкурса необходимо сдать устный экзамен по основным теоретическим темам, а также сдать практикум.
-
[https://disk.yandex.ru/i/X92ZQYaDmJdMSA Нейросети. Многослойный персептрон.]
+
Пройденный спецкурс вы можете позже перезачесть в учебной части на 4м курсе (по учебному плану вам тогда нужно проходить спецкурс по выбору).
-
[https://disk.yandex.ru/i/ebaaTEilmOpmuw Оптимизация методами градиентного и стохастического градиентного спуска.]
+
==Лектор==
 +
[[Участник:Victor Kitov|Виктор Владимирович Китов]], к.ф.-м.н., преподаватель кафедры [[Mmp|математических методов прогнозирования]] [http://cmc.msu.ru ВМК МГУ].
-
[https://disk.yandex.ru/i/UwuewOCgomtK7Q DropOut, Batch-нормализация.]
+
Почта: v.v.kitov(at)yandex.ru.
-
[https://disk.yandex.ru/i/1Myn1D-_A-nxRg Сверточные нейросети.]
+
==Требования к слушателям==
-
[https://disk.yandex.ru/i/x9b8eq_JcWB_KQ Расширение выборки изображений.]
+
Необходимы базовые знания по математическому анализу, линейной алгебре и теории вероятностей. Предварительных знаний по нейронным сетям и методам обработки изображений не требуется.
-
[https://disk.yandex.ru/i/ki9WMCubvdhdGA Архитектуры сверточных нейросетей для задачи классификации.]
+
==Программа курса==
-
[https://disk.yandex.ru/i/lZEK0TYOIg2Dhw Оптимизационный метод переноса стиля.]
+
* Введение в глубокое обучение.
 +
* Многослойный персептрон. Основные функции активации и функции потерь.
 +
* Автокодировщик.
 +
* Работа в среде Jupyter Lab, Jupyter Notebook. Средства отладки кода.
 +
* Методы оптимизации нейросетей.
 +
* Основы работы с PyTorch, автоматическое дифференцирование, реализация простейших нейросетей.
 +
* Операции свёртки и пулинга. Свёрточные нейросети для обработки текстов и изображений.
 +
* Основные свёрточные архитектуры для классификации изображений.
 +
* Реализация свёрточных сетей и использование предобученных сетей в PyTorch.
 +
* Сегментация изображений.
 +
* Реализация задачи супер-разрешения (super-resolution) и сиамских сетей в PyTorch.
 +
* Задача переноса стиля и её практическая реализация.
 +
* Генеративно-состязательные сети.
 +
* Реализация генеративно-состязательных сетей в PyTorch.
-
[https://disk.yandex.ru/i/lLfe3zOC0IX28Q Трансформационный метод переноса стиля.]
+
==Практикум==
 +
В рамках практикума необходимо реализовать улучшенния базовых архитектур, разобранных на практических семинарах. От студентов второго курса дополнительно требуется сделать презентацию научной статьи.
-
[https://disk.yandex.ru/i/9jzeENMDEA3-eA Патчевый метод переноса стиля.]
+
==Прохождение спецкурса==
 +
Для успешной сдачи спецкурса необходимо сдать практикум и устный экзамен.
-
[https://disk.yandex.ru/i/ng48clrTsdE_6w Семантическая сегментация.]
+
==Регистрация на курс==
 +
Регистрация на курс происходит на самом спецкурсе по факту посещения, дополнительные действия не требуются.
-
[https://disk.yandex.ru/i/gN5hPPNT8V8EdQ Детекция объектов.]
+
==Время занятий==
-
 
+
-
[https://disk.yandex.ru/i/4RMfxk1Lg5eC9Q Технические улучшения методов стилизации изображений.]
+
-
 
+
-
[https://disk.yandex.ru/i/GJQPwB02CJXoaA Концептуальные улучшения методов стилизации изображений.]
+
-
 
+
-
[https://disk.yandex.ru/i/f7D9e7dX-iOfjA Мульти-стилевые трансформационные модели.]
+
-
 
+
-
[https://disk.yandex.ru/i/0nxeVzY-misuYw Стилизация видеоданных.]
+
-
 
+
-
[https://disk.yandex.ru/i/ps83_Hr5W_7P-g Генеративно-состязательные сети.]
+
-
[https://disk.yandex.ru/i/PuWnGsJKImCTqg Приложения генеративно-состязательных сетей.]
+
По понедельникам 16:50 - 18:20, ауд. 510.
-
Возможно добавление темы разнообразия результатов стилизации.
+
Первое занятие - 17.02.2025.
-
=Рекомендуемые ресурсы=
+
==Рекомендуемые ресурсы==
-
* Примеры переноса стиля для видео: [https://www.youtube.com/watch?v=Khuj4ASldmU пример 1], [https://www.youtube.com/watch?v=vMyMUNvsGfQ пример 2], [https://www.youtube.com/watch?v=BcflKNzO31A пример 3].
+
* [https://deepmachinelearning.ru Авторсий онлайн-учебник по машинному и глубокому обучению]
-
* [https://arxiv.org/pdf/1705.04058.pdf Обзорная статья по переносу стиля для изображений.]
+
* [https://education.yandex.ru/handbook/ml Учебник школы анализа данных Яндекса по машинному и глубокому обучению]
-
* [https://www.youtube.com/playlist?list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv Лекции курса в Стэнфорде по сверточным нейронным сетям.]
+
* [https://pytorch.org/tutorials/ Образовательные материалы по библиотеке PyTorch]
-
* [http://www.pittnuts.com/2015/07/top-conferences-on-machine-learning-and-computer-vision/ Топовые конференции по машинному обучению и компьютерному зрению] (самые интересные статьи там)
+
* [https://scholar.google.ru/ Поиск google по научным статьям]
-
* [https://scholar.google.ru/ Поиск google по статьям.]
+
-
* [https://pytorch.org/tutorials/ Образовательные материалы по библиотеке глубинного обучения PyTorch.]
+
-
* [http://d2l.ai/index.html Книга по глубинному обучению.]
+

Текущая версия


О курсе

Спецкурс посвящён основам глубокого обучения, а также задачам классификации, сегментации и генерации изображений, используя нейросетевой перенос стиля (neural style transfer) и генеративно-состязательные сети (generative adversarial networks).

Курс самодостаточный, основные понятия и задачи вводятся и подробно разбираются, поэтому спецкурс будет полезен слушателям, не имевшим предварительного знакомства с нейросетями.

Спецкурс является практико-ориентированным: помимо теории большое внимание уделяется разбору практической реализации изучаемых архитектур. В этом смысле спецкурс является органичным дополнением обязательного курса “Глубокое машинное обучение”.

В частности, разбираются основы работы с библиотекой PyTorch, реализации многослойного персептрона, автокодировщика, симаских сетей, RBF-сетей, свёрточных и генеративно-состязательных сетей.

Для прохождения спецкурса необходимо сдать устный экзамен по основным теоретическим темам, а также сдать практикум.

Пройденный спецкурс вы можете позже перезачесть в учебной части на 4м курсе (по учебному плану вам тогда нужно проходить спецкурс по выбору).

Лектор

Виктор Владимирович Китов, к.ф.-м.н., преподаватель кафедры математических методов прогнозирования ВМК МГУ.

Почта: v.v.kitov(at)yandex.ru.

Требования к слушателям

Необходимы базовые знания по математическому анализу, линейной алгебре и теории вероятностей. Предварительных знаний по нейронным сетям и методам обработки изображений не требуется.

Программа курса

  • Введение в глубокое обучение.
  • Многослойный персептрон. Основные функции активации и функции потерь.
  • Автокодировщик.
  • Работа в среде Jupyter Lab, Jupyter Notebook. Средства отладки кода.
  • Методы оптимизации нейросетей.
  • Основы работы с PyTorch, автоматическое дифференцирование, реализация простейших нейросетей.
  • Операции свёртки и пулинга. Свёрточные нейросети для обработки текстов и изображений.
  • Основные свёрточные архитектуры для классификации изображений.
  • Реализация свёрточных сетей и использование предобученных сетей в PyTorch.
  • Сегментация изображений.
  • Реализация задачи супер-разрешения (super-resolution) и сиамских сетей в PyTorch.
  • Задача переноса стиля и её практическая реализация.
  • Генеративно-состязательные сети.
  • Реализация генеративно-состязательных сетей в PyTorch.

Практикум

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

Прохождение спецкурса

Для успешной сдачи спецкурса необходимо сдать практикум и устный экзамен.

Регистрация на курс

Регистрация на курс происходит на самом спецкурсе по факту посещения, дополнительные действия не требуются.

Время занятий

По понедельникам 16:50 - 18:20, ауд. 510.

Первое занятие - 17.02.2025.

Рекомендуемые ресурсы

Личные инструменты