BSc: GenerativeModelsAndOptimalTransport

From IU
Revision as of 18:06, 2 April 2024 by V.matiukhin (talk | contribs)
Jump to navigation Jump to search

Введение в генеративные модели

Квалификация выпускника: бакалавр
Направление подготовки:
Направленность (профиль) образовательной программы:
Программу разработал(а): А.А. Коротин

1. Краткая характеристика дисциплины

В курсе «Введение в генеративные модели» рассказывается про одну из самых перспективных областей глубокого обучения - нейросетевое генеративное моделирование (ГМ). За последнее десятилетие прогресс в этой области происходит крайне быстрыми темпами. Большие генеративные нейросети общего назначения (Kandinsky, DALL-E, MidJourney и пр.) уже активно используются на практике для генерации цифрового контента. Вместе с тем возрастает и потребность обучения ГМ узкого назначения для решения конкретных прикладных задач в компьютерном зрении, медицине, геологии и других отраслях. Однако, использование ГМ на практике представляется сложным. Нейросетевые ГМ требуют большого количества данных и вычислительных ресурсов. Кроме того, в их основе лежат нетривиальные математические модели, основы которых и будут рассказываться в курсе.
В рамках курса будут освещены основные классические подходы к построению генеративных моделей. Будут рассмотрены функции потерь, используемые для обучения ГМ для задач синтеза изображений: дивергенция Кульбака-Лейблера, Фишера, Дженсена-Шеннона, метрика оптимального транспорта Канторовича-Вассерштейна, и непосредственно способы их оптимизации, включая подходы на основе вариационных оценок (evidence lower bound), сопоставления скоров (score matching), состязательного обучения (adversarial learning) и др.
Первая часть курса в основном будет посвящена способам построения генеративных моделей данных на основе оптимизации KL дивергенции. Раздел включает в себя такие классические подходы как модели на основе смеси гауссиан (GMM), энергетические модели (EBM), нормализующие потоки (NF), вариационные авто кодировщики (VAE), а также необходимый для их реализации математический инструментарий: нижняя вариационная оценка (ELBO), методы получения выборки из ненормированной плотности (sampling techniques) и др. В заключении данного раздела также будет рассказано про перспективные score-based модели, т.е. обобщения энергетических моделей на основе дивергенции Фишера и техник сопоставления скоров (score-matching).
Вторая часть курса будет посвящена идее построения генеративных моделей на основе состязательного обучения (generative adversarial networks, GANs). Будет рассказано про классические варианты функций потерь (vanilla GAN, Вассерштейн GAN), используемые для обучения таких моделей. Будет также введен необходимый базовый математический инструментарий для работы с такими моделями, в том числе двойственные формулировки дивергенций и задачи оптимального транспорта.
В курсе предусмотрены как теоретические лекции, так и практические семинары и домашние задания, в рамках которых студенты смогут наработать практический опыт имплементации и обучения генеративных моделей на модельных и реальных данных в различных задачах (безусловный и условный синтез данных, перенос модальности, сверхразрешение изображений и др.).
Для данного курса обязательным пре-реквизитом (помимо базовых курсов математического анализа, линейной алгебры, теории вероятностей и программирования на Python) является базовый курс глубинного обучения и нейронных сетей. Сам же текущий курс является важным пре-реквизитом к более сложным элективным курсам по генеративному моделированию (таким как “Диффузионные модели”), так как большинство методик, техник и математических концептов, описываемых в данном курсе необходимы для понимания и реализации продвинутых методов по генеративного моделирования.

2. Перечень планируемых результатов обучения

Целью освоения дисциплины является изучение основных математических инструментов, используемых для построения генеративных моделей данных с использованием глубоких нейронных сетей.
Задачами дисциплины являются являются
  • Ознакомление с различными постановками задач в области генеративного моделирования (условная и безусловная генерация, парный и непарный перенос домена).
  • Изучение основных принципов построения генеративных моделей и используемых функций потерь (дивергенции Кульбака-Лейблера, Фишера, метрика Вассерштейн и пр.).
  • Изучение основных алгоритмов обучения генеративных моделей путем минимизации дивергенций (алгоритмы на основе вариационных оценок, состязательного обучения и др.), их сильных и слабых сторон, областей применимости.
  • Изучение способов практической имплементации алгоритмов генеративного обучения в задачах генеративного моделирования с реальными данными.

Общая характеристика результата обучения по дисциплине

Знания:
  • Хорошее понимание фундаментальных вопросов и проблем генеративного моделирования: постановки задач (условная и безусловная генерация, парный и непарный перенос домена), данные для обучения, модели, архитектуры и пр.).
  • Знание основных математических принципов, используемых для построения генеративных моделей (функции потерь, алгоритмы для их оптимизации на основе вариационных оценок, состязательного обучения и пр.), понимание их сильных и слабых сторон, областей применимости и способов их имплементации на практике для обучения генеративных моделей.
Умения:
  • Разработка, имплементация и обучение алгоритмов построения генеративных моделей на практике, в том числе настройка их гипер-параметров (архитектуры, функции потерь, оптимизаторы и др.) под конкретные задачи.
Навыки (владения):
  • Оперирование базовыми понятиями генеративного моделирования;
  • Оперирование различными постановками задач генеративного моделирования и алгоритмами их решения;
  • Реализация алгоритмов генеративного моделирования с помощью фреймворка Pytorch для глубинного обучения;
  • Реализация специальных модификаций и дополнительных техник для усовершенствования методов построения генеративных моделей;

3. Структура и содержание дисциплины


п/п
Наименование раздела
дисциплины
Содержание дисциплины по темам
1. Методы генеративного моделирования на основе на основе максимизации правдоподобия данных.
  • Идеи явного и неявного моделирования функции плотности распределения. Дивергенция Кульбака-Лейблера (КЛ) и ее основные свойства. Принцип минимизации КЛ дивергенции и эквивалентность максимизации правдоподобия данных. Модель данных на основе смеси гауссиан (Gaussian Mixture Model, GMM). Нижняя вариационная граница (Evidence Lower Bound, ELBO). Идея подхода со скрытыми переменными. Алгоритм ожидания-максимизации (Expectation-Maximization, EM) для GMM.
  • Принцип моделирования распределения с помощью функции энергии. Методы сэмплирования из ненормированной плотности (importance sampling, rejection sampling, langevin dynamic, и др). Градиент функционала КЛ дивергенции в случае моделирования функции энергии (energy-based models, EBM), алгоритм обучения и семплирования EBM.
  • Моделирования распределений с помощью обратимых преобразований с быстро-вычислимым якобианом. Нормализующие потоки, особенности их архитектур и принцип обучения модели.
  • Ограничения моделей на основе функции энергии и нормализующих потоков. Сложность обучения моделей со скрытыми переменными общего вида. Трюк с параметризацией как возможность оптимизировать ELBO. Вариационные авто кодировщики (Variational autoencoders, VAE).
  • Идея сопоставления скоров (градиента логарифма плотности) распределений (score matching). Дивергенция Фишера и её свойства. Ключевые подходы для сопоставления скоров (score-based models).
2. Методы генеративного моделирования на основе состязательного обучения.
  • Идея неявного генеративного моделирования данных. Дивергенция Дженсена-Шеннона (Jensen-Shannon, JS) и ее свойства. Сложность минимизации дивергенции между распределениями данных. Двойственная форма дивергенции Дженсена-Шеннона. Интерпретация через решение задачи классификации. Вариационная оценка JS в задаче оптимизации дивергенции. Идея состязательного обучения. Генеративные состязательные нейросети (vanilla Generative Adversarial Networks, vanilla GAN). Ключевые составные элементы состязательного обучения: оптимизаторы, архитектуры, регуляризации и пр. Non-saturating функция потерь, архитектура StyleGAN. Переход от vanilla GAN к общим f-GAN через двойственную форму f-дивергенций.
  • Адаптация моделей GAN для решения задач переноса домена, например, генерации типа image-to-image. Модель conditional GAN для обучения с учителем на парных данных (Pix2Pix) и циклический GAN для обучения на непарных данных (CycleGAN).
  • Проблемы метрики типа f-дивиргенций. Метрика оптимального транспорта Канторовича и идея ее оптимизации. Двойственная форма для расстояния Васерштейна-1. Алгоритм Wasserstein GAN и его вариации (gradient penalty, weight clipping).

4. Методические и оценочные материалы

Задания для практических занятий:


п/п
Наименование раздела
дисциплины (модуля)
Перечень рассматриваемых тем (вопросов)
1. Методы генеративного моделирования на основе на основе максимизации правдоподобия данных.
  • Имплементация и обучение алгоритмов обучения смеси гауссиан на основе максимизации правдоподобия градиентным спуском и с помощью алгоритма expectation-maximization (EM GMM) на модельных и реальных многомерных данных.
  • Имплементация и обучение модели генерации данных на основе функции энергии (EBM) с разными вариантами сэмплирования (importance, rejection, MCMC) на модельных систематических данных, сравнение подходов. Имплементация и обучение EBM в задаче генерации реальных изображений.
  • Имплементация и обучение модели нормализующего потока (NF) на маломерных синтетических данных и реальных данных изображений.
  • Имплементация и обучение модели на основе вариационного авто кодировщика. Тестирование на маломерных синтетических данных и реальных данных изображений.
  • Имплементация и обучение модели на основе score-matching. Тестирование на маломерных синтетических данных и реальных данных изображений.
2. Методы генеративного моделирования на основе состязательного обучения.
  • Имплементация и обучение модели vanilla GAN с JS функцией потерь, а также её вариациями (non-saturating функция потерь, регуляризации типа R1 и др.) для генерации модельных данных и реальных данных изображений в безусловной и условной постановке задачи генерации, а также для задач переноса домена на парных и непарных данных (Pix2Pix и CycleGAN). Имплементация и обучение модели типа f-GAN с общими f-Divergence функциями потерь, включая KL дивергенцию для задачи генерации модельных данных и реальных данных изображений.
  • Имплементация и обучение модели Wasserstein-GAN (в различных вариациях: weight clipping, gradient penalty и др.) для задач безусловной и условной генерации реальных изображений.

Текущий контроль успеваемости обучающихся по дисциплине:


п/п
Наименование раздела
дисциплины
Форма текущего контроля

Материалы текущего контроля

1. Методы генеративного моделирования на основе на основе максимизации правдоподобия данных. Проверка выполнения домашнего практического задания.
  • Имплементация и обучение алгоритмов обучения смеси гауссиан на основе максимизации правдоподобия градиентным спуском и с помощью алгоритма expectation-maximization (EM GMM) на модельных и реальных многомерных данных.
  • Имплементация и обучение модели генерации данных на основе функции энергии (EBM) с разными вариантами сэмплирования (importance, rejection, MCMC) на модельных систематических данных, сравнение подходов. Имплементация и обучение EBM в задаче генерации реальных изображений.
  • Имплементация и обучение модели нормализующего потока (NF) на маломерных синтетических данных и реальных данных изображений.
  • Имплементация и обучение модели на основе вариационного авто кодировщика. Тестирование на маломерных синтетических данных и реальных данных изображений.
  • Имплементация и обучение модели на основе score-matching. Тестирование на маломерных синтетических данных и реальных данных изображений.
2. Методы генеративного моделирования на основе состязательного обучения. Проверка выполнения домашнего практического задания.
  • Имплементация и обучение модели vanilla GAN с JS функцией потерь, а также её вариациями (non-saturating функция потерь, регуляризации типа R1 и др.) для генерации модельных данных и реальных данных изображений в безусловной и условной постановке задачи генерации, а также для задач переноса домена на парных и непарных данных (Pix2Pix и CycleGAN). Имплементация и обучение модели типа f-GAN с общими f-Divergence функциями потерь, включая KL дивергенцию для задачи генерации модельных данных и реальных данных изображений.
  • Имплементация и обучение модели Wasserstein-GAN (в различных вариациях: weight clipping, gradient penalty и др.) для задач безусловной и условной генерации реальных изображений.

Контрольные вопросы для подготовки к промежуточной аттестации:


п/п
Наименование
раздела дисциплины
Вопросы
1. Методы генеративного моделирования на основе на основе максимизации правдоподобия данных.
  • Идеи явного и неявного моделирования функции плотности распределения. Дивергенция Кульбака-Лейблера (КЛ) и ее основные свойства. Принцип минимизации КЛ дивергенции и эквивалентность максимизации правдоподобия данных. Модель данных на основе смеси гауссиан (Gaussian Mixture Model, GMM). Нижняя вариационная граница (Evidence Lower Bound, ELBO). Идея подхода со скрытыми переменными. Алгоритм ожидания-максимизации (Expectation-Maximization, EM) для GMM.
  • Принцип моделирования распределения с помощью функции энергии. Методы сэмплирования из ненормированной плотности (importance sampling, rejection sampling, langevin dynamic, и др). Градиент функционала КЛ дивергенции в случае моделирования функции энергии (energy-based models, EBM), алгоритм обучения и семплирования EBM.
  • Моделирования распределений с помощью обратимых преобразований с быстро-вычислимым якобианом. Нормализующие потоки, особенности их архитектур и принцип обучения модели.
  • Ограничения моделей на основе функции энергии и нормализующих потоков. Сложность обучения моделей со скрытыми переменными общего вида. Трюк с параметризацией как возможность оптимизировать ELBO. Вариационные авто кодировщики (Variational autoencoders, VAE).
  • Идея сопоставления скоров (градиента логарифма плотности) распределений (score matching). Дивергенция Фишера и её свойства. Ключевые подходы для сопоставления скоров (score-based models).
2. Методы генеративного моделирования на основе состязательного обучения.
  • Идея неявного генеративного моделирования данных. Дивергенция Дженсена-Шеннона (Jensen-Shannon, JS) и ее свойства. Сложность минимизации дивергенции между распределениями данных. Двойственная форма дивергенции Дженсена-Шеннона. Интерпретация через решение задачи классификации. Вариационная оценка JS в задаче оптимизации дивергенции. Идея состязательного обучения. Генеративные состязательные нейросети (vanilla Generative Adversarial Networks, vanilla GAN). Ключевые составные элементы состязательного обучения: оптимизаторы, архитектуры, регуляризации и пр. Non-saturating функция потерь, архитектура StyleGAN. Переход от vanilla GAN к общим f-GAN через двойственную форму f-дивергенций.
  • Адаптация моделей GAN для решения задач переноса домена, например, генерации типа image-to-image. Модель conditional GAN для обучения с учителем на парных данных (Pix2Pix) и циклический GAN для обучения на непарных данных (CycleGAN).
  • Проблемы метрики типа f-дивиргенций. Метрика оптимального транспорта Канторовича и идея ее оптимизации. Двойственная форма для расстояния Васерштейна-1. Алгоритм Wasserstein GAN и его вариации (gradient penalty, weight clipping).

Перечень учебно-методического обеспечения дисциплины

Список основной литературы:

  1. Rezende, D., & Mohamed, S. (2015, June). Variational inference with normalizing flows. In International conference on machine learning (pp. 1530-1538). PMLR.
  2. Marwala, T. (2019). Handbook of machine learning: Volume 1: Foundation of artificial intelligence.
  3. Kingma, D. P., & Welling, M. Auto-encoding variational {Bayes}. In Int. Conf. on Learning Representations.
  4. LeCun, Y., Chopra, S., Hadsell, R., Ranzato, M., & Huang, F. (2006). A tutorial on energy-based learning. Predicting structured data, 1(0).
  5. Song, Y., & Kingma, D. P. (2021). How to train your energy-based models. arXiv preprint arXiv:2101.03288.
  6. Song, Y., & Ermon, S. (2019). Generative modeling by estimating gradients of the data distribution. Advances in neural information processing systems, 32.
  7. Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27.
  8. Arjovsky, M., Chintala, S., & Bottou, L. (2017, July). Wasserstein generative adversarial networks. In International conference on machine learning (pp. 214-223). PMLR.
  9. Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired image-to-image translation using cycle-consistent adversarial networks. In Proceedings of the IEEE international conference on computer vision (pp. 2223-2232).
  10. Isola, P., Zhu, J. Y., Zhou, T., & Efros, A. A. (2017). Image-to-image translation with conditional adversarial networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1125-1134).
  11. Gui, J., Sun, Z., Wen, Y., Tao, D., & Ye, J. (2021). A review on generative adversarial networks: Algorithms, theory, and applications. IEEE transactions on knowledge and data engineering, 35(4), 3313-3332.
  12. Р. Исаченко, П. Мокров, Курс лекций МФТИ по глубоким генеративным моделям, https://intsystems.github.io/course/deep_generative_models/index.html
  13. Ветров Д.П., Курс лекций по байесовским методам в машинном обучении, http://www.machinelearning.ru/wiki/index.php?title=бммо
  14. Ветров Д.П., Курс лекций по байесовским методам в машинном обучении, http://www.machinelearning.ru/wiki/index.php?title=Нейробайесовские_методы_машинного_обучения_(курс_лекций)_/_2022
  15. Фостер, Д. (2020). Генеративное глубокое обучение. Творческий потенциал нейронных сетей." Издательский дом" Питер.

Список дополнительной литературы:

  1. Gui, J., Sun, Z., Wen, Y., Tao, D., & Ye, J. (2021). A review on generative adversarial networks: Algorithms, theory, and applications. IEEE transactions on knowledge and data engineering, 35(4), 3313-3332.
  2. Karras, T., Laine, S., & Aila, T. (2019). A style-based generator architecture for generative adversarial networks. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 4401-4410).
  3. Radford, A., Metz, L., & Chintala, S. (2015). Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434.
  4. Kingma, D. P., & Dhariwal, P. (2018). Glow: Generative flow with invertible 1x1 convolutions. Advances in neural information processing systems, 31.
  5. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. СПб.: Питер, 2018.

Методические указания для обучающихся по освоению дисциплины

Вид учебных
занятий/деятельности
Деятельность обучающегося
Лекция Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
Практическое (семинарское) занятие При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.
Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
Устный/письменный опрос Отвечать, максимально полно, логично и структурировано, на поставленный вопрос. Основная цель – показать всю глубину знаний по конкретной теме или ее части.
Реферат Поиск источников и литературы, составление библиографии. При написании реферата рекомендуется использовать разнообразные источники, монографии и статьи из научных журналов, позволяющие глубже разобраться в различных точках зрения на заданную тему. Изучение литературы следует начинать с наиболее общих трудов, затем следует переходить к освоению специализированных исследований по выбранной теме. Могут быть использованы ресурсы сети «Интернет» с соответствующими ссылками на использованные сайты.
Если тема содержит проблемный вопрос, следует сформулировать разные точки зрения на него. Рекомендуется в выводах указать свое собственное аргументированное мнение по данной проблеме. Подготовить презентацию для защиты реферата.
Эссе Написание прозаического сочинения небольшого объема и свободной композиции, выражающего индивидуальные впечатления и соображения по конкретному поводу или вопросу и заведомо не претендующего на определяющую или исчерпывающую трактовку предмета. При работе над эссе следует четко и грамотно формулировать мысли, структурировать информацию, использовать основные понятия, выделять причинно-следственные связи. Как правило эссе имеет следующую структуру: вступление, тезис и аргументация его, заключение. В качестве аргументов могут выступать исторические факты, явления общественной жизни, события, жизненные ситуации и жизненный опыт, научные доказательства, ссылки на мнение ученых и др.
Подготовка к промежуточной аттестации При подготовке к промежуточной аттестации необходимо проработать вопросы по темам, которые рекомендуются для самостоятельной подготовки. При возникновении затруднений с ответами следует ориентироваться на конспекты лекций, семинаров, рекомендуемую литературу, материалы электронных и информационных справочных ресурсов, статей.
Если тема вызывает затруднение, четко сформулировать проблемный вопрос и задать его преподавателю.
Практические (лабораторные) занятия Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов.
Самостоятельная работа Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка видеопрезентации. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Видеопрезентация Подготовка видеопрезентаций по курсу. Видеопрезентации могут быть сделаны на любую тему, затронутую в ходе курса. Темы должны быть заранее согласованы с преподавателем. Видеопрезентации продолжительностью около 5 минут (300 секунд) должны быть подготовлены в группах, определяемых преподавателем. Несмотря на то, что это групповая работа, должен явно присутствовать вклад каждого члена группы.
Доклад Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Дискуссия Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.
Контрольная работа При подготовке к контрольной работе необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме.
Тестирование (устное/письменное) При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.
Индивидуальная работа При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.