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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Практикум)
 
(77 промежуточных версий не показаны.)
Строка 3: Строка 3:
==О курсе==
==О курсе==
-
Спецкурс проходит на ф-те ВМиК в весеннем семестре и посвящен задаче автоматической стилизации изображений, в которой входное изображение необходимо преобразовать так, чтобы сохранить изображенные на нем предметы, но стилистику их отображения взять из другого изображения или группы изображений. Например, это может быть стилизация семейной фотографии под стиль известного художника, либо стилизация дневного фото в ночное, либо изменение зимней панорамы в летнюю. Эта задача может применяться в мультипликации, наложении спецэффектов в фильмах и видеоиграх, симуляторах и средствах дополненной реальности, а также для более точной настройки методов машинного обучения работе с изображениями за счет расширения обучающей выборки путем вариации стиля и адаптации стиля под целевую предметную область. Помимо отдельных изображений указанный подход применим для видеопоследовательностей и данных из других предметных областей (текст, речь и т.д.). Основные методы стилизации были предложены в последние 5 лет и опираются на глубинные нейронные сети, базовому изучению которых посвящена существенная часть курса.
+
Спецкурс посвящён основам глубокого обучения, а также задачам классификации, сегментации и генерации изображений, используя нейросетевой перенос стиля (neural style transfer) и генеративно-состязательные сети (generative adversarial networks).
-
==Экзамен==
+
Курс самодостаточный, основные понятия и задачи вводятся и подробно разбираются, поэтому спецкурс будет полезен слушателям, не имевшим предварительного знакомства с нейросетями.
-
[https://yadi.sk/i/AdqMYWQ36bh0VA Билеты к экзамену]
+
-
[https://yadi.sk/i/FfPdQOvLP2AAmg Видео-лекция по стилизации видео]
+
Спецкурс является практико-ориентированным: помимо теории большое внимание уделяется разбору практической реализации изучаемых архитектур. В этом смысле спецкурс является органичным дополнением обязательного курса “Глубокое машинное обучение”.
-
==Лектор==
+
В частности, разбираются основы работы с библиотекой PyTorch, реализации многослойного персептрона, автокодировщика, симаских сетей, RBF-сетей, свёрточных и генеративно-состязательных сетей.
-
[[Участник:Victor Kitov|Виктор Владимирович Китов]], к.ф.-м.н., преподаватель кафедры [[Mmp|математических методов прогнозирования]] [http://cmc.msu.ru ВМК МГУ]. Почта: v.v.kitov(at)yandex.ru.
+
-
==Расписание==
+
Для прохождения спецкурса необходимо сдать устный экзамен по основным теоретическим темам, а также сдать практикум.
-
Занятия проходят по четвергам в 18-00 в ауд. 612. Первое занятие - 20.02.2020.
+
-
==Программа==
+
Пройденный спецкурс вы можете позже перезачесть в учебной части на 4м курсе (по учебному плану вам тогда нужно проходить спецкурс по выбору).
-
* Введение в машинное и глубинное обучение
+
-
* Алгоритмы настройки нейросетей. Регуляризация.
+
-
* Основные архитектуры сверточных нейросетей.
+
-
* Методы стилизации, основанные на сближении распределений.
+
-
* Методы стилизации, основанные на сопоставлении участков изображений.
+
-
* Генеративно-состязательные сети и их применения для стилизации и повышения качества изображений.
+
-
=Задание=
+
==Лектор==
-
В рамках спецкурса всем участникам выдается задание - подготовить обзорный доклад по статьям по стилизации изображений и рассказать свои идеи улучшений предложенных методов.
+
[[Участник:Victor Kitov|Виктор Владимирович Китов]], к.ф.-м.н., преподаватель кафедры [[Mmp|математических методов прогнозирования]] [http://cmc.msu.ru ВМК МГУ].
-
 
+
-
=Материалы лекций=
+
-
 
+
-
[https://yadi.sk/i/IfR0TdxpHAhmRA Введение в машинное обучение.]
+
-
 
+
-
[https://yadi.sk/i/H_Oi0oL1tzqBRw Многослойный персептрон.]
+
-
 
+
-
[https://yadi.sk/i/jIbSmgR_2akThg Сверточные нейросети.]
+
-
 
+
-
[https://yadi.sk/i/XnAZ-fLKX9Bpmg Основные архитектуры сверточных нейросетей.]
+
-
 
+
-
[https://yadi.sk/i/fHZUcrVFWFbODw Оптимизационный метод переноса стиля.]
+
-
 
+
-
[https://yadi.sk/i/_6AInrhKcJzl9A Трансформационный метод переноса стиля.]
+
-
 
+
-
[https://yadi.sk/i/dzghc0Ufxi7zMw Перенос стиля, основанный на патчах.]
+
-
 
+
-
[https://yadi.sk/i/TGA1AOP64G1a_Q Технические улучшения.]
+
-
[https://yadi.sk/i/gVypaP4Kmql_rw Концептуальные улучшения.]
+
Почта: v.v.kitov(at)yandex.ru.
-
[https://yadi.sk/i/uiDNs7aAe2-tUw Мульти-стилевые трансформационные модели.]
+
==Требования к слушателям==
-
[https://yadi.sk/i/QwndMEu3to27dg Расширение обучающей выборки.]
+
Необходимы базовые знания по математическому анализу, линейной алгебре и теории вероятностей. Предварительных знаний по нейронным сетям и методам обработки изображений не требуется.
-
[https://yadi.sk/i/MVFsFttnAV_YMg Генеративно-состязательные сети.]
+
==Программа курса==
-
[https://yadi.sk/i/Te1zloUyBE0diQ Перенос стиля для видео.]
+
* Введение в глубокое обучение.
 +
* Многослойный персептрон. Основные функции активации и функции потерь.
 +
* Автокодировщик.
 +
* Работа в среде Jupyter Lab, Jupyter Notebook. Средства отладки кода.
 +
* Методы оптимизации нейросетей.
 +
* Основы работы с PyTorch, автоматическое дифференцирование, реализация простейших нейросетей.
 +
* Операции свёртки и пулинга. Свёрточные нейросети для обработки текстов и изображений.
 +
* Основные свёрточные архитектуры для классификации изображений.
 +
* Реализация свёрточных сетей и использование предобученных сетей в PyTorch.
 +
* Сегментация изображений.
 +
* Реализация задачи супер-разрешения (super-resolution) и сиамских сетей в PyTorch.
 +
* Задача переноса стиля и её практическая реализация.
 +
* Генеративно-состязательные сети.
 +
* Реализация генеративно-состязательных сетей в PyTorch.
-
[https://yadi.sk/i/gwVql6oddlKuQg Компактные представления слов.]
+
==Практикум==
 +
В рамках практикума необходимо реализовать улучшенния базовых архитектур, разобранных на практических семинарах. От студентов второго курса дополнительно требуется сделать презентацию научной статьи.
-
[https://yadi.sk/i/nd48U2atjQKs2Q Сверточные сети для работы с текстами.]
+
==Прохождение спецкурса==
 +
Для успешной сдачи спецкурса необходимо сдать практикум и устный экзамен.
-
[https://yadi.sk/i/by75OE1sDbR4Lg Реккурентные сети для работы с текстами.]
+
==Регистрация на курс==
 +
Регистрация на курс происходит на самом спецкурсе по факту посещения, дополнительные действия не требуются.
-
[https://yadi.sk/i/3vNqPKSwm02PoQ Применения реккурентных сетей.]
+
==Время занятий==
-
==Экзамен==
+
По понедельникам 16:50 - 18:20, ауд. 510.
-
Экзамен будет проходить устно в удаленном формате. 30 минут будет дано на подготовку, можно пользоваться любыми материалами.
+
Первое занятие - 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.

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

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