Difference between revisions of "BSc: GenerativeModelsAndOptimalTransport"

From IU
Jump to navigation Jump to search
Line 1: Line 1:
  +
= Введение в генеративные модели =
= «Математический анализ» (второй семестр) =
 
 
: '''Квалификация выпускника''': бакалавр
 
: '''Квалификация выпускника''': бакалавр
: '''Направление подготовки''': 09.03.01 - “Информатика и вычислительная техника”
+
: '''Направление подготовки''':
: '''Направленность (профиль) образовательной программы''': Математические основы ИИ
+
: '''Направленность (профиль) образовательной программы''':
: '''Программу разработал(а)''': О.М.Киселев
+
: '''Программу разработал(а)''': А.А. Коротин
   
 
== 1. Краткая характеристика дисциплины ==
 
== 1. Краткая характеристика дисциплины ==
  +
В курсе «Введение в генеративные модели» рассказывается про одну из самых перспективных областей глубокого обучения - нейросетевое генеративное моделирование (ГМ). За последнее десятилетие прогресс в этой области происходит крайне быстрыми темпами. Большие генеративные нейросети общего назначения (Kandinsky, DALL-E, MidJourney и пр.) уже активно используются на практике для генерации цифрового контента. Вместе с тем возрастает и потребность обучения ГМ узкого назначения для решения конкретных прикладных задач в компьютерном зрении, медицине, геологии и других отраслях. Однако, использование ГМ на практике представляется сложным. Нейросетевые ГМ требуют большого количества данных и вычислительных ресурсов. Кроме того, в их основе лежат нетривиальные математические модели, основы которых и будут рассказываться в курсе.<br>
Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области математического анализа, их применение для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины рассматриваются пределы функций нескольких переменных, частные производные и многомерные интегралы, а также элементы теории векторных полей.
 
  +
В рамках курса будут освещены основные классические подходы к построению генеративных моделей. Будут рассмотрены функции потерь, используемые для обучения ГМ для задач синтеза изображений: дивергенция Кульбака-Лейблера, Фишера, Дженсена-Шеннона, метрика оптимального транспорта Канторовича-Вассерштейна, и непосредственно способы их оптимизации, включая подходы на основе вариационных оценок (evidence lower bound), сопоставления скоров (score matching), состязательного обучения (adversarial learning) и др.<br>
 
  +
Первая часть курса в основном будет посвящена способам построения генеративных моделей данных на основе оптимизации KL дивергенции. Раздел включает в себя такие классические подходы как модели на основе смеси гауссиан (GMM), энергетические модели (EBM), нормализующие потоки (NF), вариационные авто кодировщики (VAE), а также необходимый для их реализации математический инструментарий: нижняя вариационная оценка (ELBO), методы получения выборки из ненормированной плотности (sampling techniques) и др. В заключении данного раздела также будет рассказано про перспективные score-based модели, т.е. обобщения энергетических моделей на основе дивергенции Фишера и техник сопоставления скоров (score-matching).<br>
''Здесь наряду со стандартными разделами, необходимыми для курса математического анализа, важное внимание уделяется методам оптимизации, от задач оптимизации с ограничениями, приводящих к функции Лагранжа, до построения регрессий методом наименьших квадратов и различных вариантов методов спуска. ''
 
  +
Вторая часть курса будет посвящена идее построения генеративных моделей на основе состязательного обучения (generative adversarial networks, GANs). Будет рассказано про классические варианты функций потерь (vanilla GAN, Вассерштейн GAN), используемые для обучения таких моделей. Будет также введен необходимый базовый математический инструментарий для работы с такими моделями, в том числе двойственные формулировки дивергенций и задачи оптимального транспорта.<br>
 
  +
В курсе предусмотрены как теоретические лекции, так и практические семинары и домашние задания, в рамках которых студенты смогут наработать практический опыт имплементации и обучения генеративных моделей на модельных и реальных данных в различных задачах (безусловный и условный синтез данных, перенос модальности, сверхразрешение изображений и др.).<br>
Важную роль в предлагаемом курсе занимает исследование дифференцируемых многообразий, геометрии касательных подпространств. Кроме того в курсе уделяется существенное внимание приложениям анализа – преобразованию Фурье и преобразованию Радона. Рассматривается дискретное преобразование Фурье, которое является важным для дисциплин, изучаемых на старших курсах.
 
  +
Для данного курса обязательным пре-реквизитом (помимо базовых курсов математического анализа, линейной алгебры, теории вероятностей и программирования на Python) является базовый курс глубинного обучения и нейронных сетей. Сам же текущий курс является важным пре-реквизитом к более сложным элективным курсам по генеративному моделированию (таким как “Диффузионные модели”), так как большинство методик, техник и математических концептов, описываемых в данном курсе необходимы для понимания и реализации продвинутых методов по генеративного моделирования.<br>
.
 
   
 
== 2. Перечень планируемых результатов обучения ==
 
== 2. Перечень планируемых результатов обучения ==
  +
: '''Целью освоения дисциплины''' является изучение основных математических инструментов, используемых для построения генеративных моделей данных с использованием глубоких нейронных сетей.
: '''Целью освоения дисциплины''' является обучение студентов методам исследования свойств функций многих переменных. В частности, пределов и частных производных, дифференцируемых многообразий, многомерных интегралов и теории векторных полей.
 
   
  +
: '''Задачами дисциплины''' являются являются
: '''Задачами дисциплины''' являются приобретение студентами навыков исследования естественнонаучных задач методами математического анализа. А именно, применение теоретических знаний в приложениях математического анализа в частности, для анализа кривых, (траекторий) в пространстве, приемов интегрирования для исследования геометрических свойств физических тел, понятия градиента для методов оптимизации, теории аппроксимации степенными рядами и рядами Фурье.
 
  +
*Ознакомление с различными постановками задач в области генеративного моделирования (условная и безусловная генерация, парный и непарный перенос домена).<br>
  +
*Изучение основных принципов построения генеративных моделей и используемых функций потерь (дивергенции Кульбака-Лейблера, Фишера, метрика Вассерштейн и пр.).<br>
  +
*Изучение основных алгоритмов обучения генеративных моделей путем минимизации дивергенций (алгоритмы на основе вариационных оценок, состязательного обучения и др.), их сильных и слабых сторон, областей применимости.<br>
  +
*Изучение способов практической имплементации алгоритмов генеративного обучения в задачах генеративного моделирования с реальными данными.<br>
   
 
=== Общая характеристика результата обучения по дисциплине ===
 
=== Общая характеристика результата обучения по дисциплине ===
  +
: '''Знания: ''' <br>
: '''Знания: ''' после прохождения курса у студентов должны бытьсформированы систематические знания теории пределов функций нескольких переменных, свойств частных производных, свойств дифференцируемых многообразий, методов оптимизации, многомерных интегралов и теории векторных полей.
 
  +
*Хорошее понимание фундаментальных вопросов и проблем генеративного моделирования: постановки задач (условная и безусловная генерация, парный и непарный перенос домена), данные для обучения, модели, архитектуры и пр.).<br>
  +
*Знание основных математических принципов, используемых для построения генеративных моделей (функции потерь, алгоритмы для их оптимизации на основе вариационных оценок, состязательного обучения и пр.), понимание их сильных и слабых сторон, областей применимости и способов их имплементации на практике для обучения генеративных моделей.<br>
   
  +
: '''Умения:'''<br>
: '''Умения:''' сформированы умения сформированы умения вычисления пределов и частных производных функций нескольких переменных, применения частных производных для построения крат дифференцируемых многообразий, поиска минимумов функций с заданными ограничениями, вычисления многомерных интегралов с помощью формул Грина и Остроградского -Гаусса.
 
  +
*Разработка, имплементация и обучение алгоритмов построения генеративных моделей на практике, в том числе настройка их гипер-параметров (архитектуры, функции потерь, оптимизаторы и др.) под конкретные задачи.<br>
   
  +
: '''Навыки (владения):''' <br>
: '''Навыки (владения):''' в результате прохождения курса формируются навыки формализации задач естественных наук в задачи, исследуемых с помощью методов математического анализа нескольких вещественных вещественной переменных. Студенты должны научиться использовать градиенты функций в алгоритмах минимизации, использовать степенные и тригонометрические ряды и оценивать остатки при использовании частичных сумм таких рядов. После окончания курса у студентов должны быть получены навыки использования систем (библиотек) компьютерной алгебры, применяемых для исследования задач математического анализа.
 
  +
*Оперирование базовыми понятиями генеративного моделирования;<br>
  +
*Оперирование различными постановками задач генеративного моделирования и алгоритмами их решения;<br>
  +
*Реализация алгоритмов генеративного моделирования с помощью фреймворка Pytorch для глубинного обучения;<br>
  +
*Реализация специальных модификаций и дополнительных техник для усовершенствования методов построения генеративных моделей;<br>
   
 
== 3. Структура и содержание дисциплины ==
 
== 3. Структура и содержание дисциплины ==
Line 32: Line 43:
 
| style="width:60%" | Содержание дисциплины по темам
 
| style="width:60%" | Содержание дисциплины по темам
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
  +
| style="text-align:center;" | 1. || Методы генеративного моделирования на основе на основе максимизации правдоподобия данных. || *Идеи явного и неявного моделирования функции плотности распределения. Дивергенция Кульбака-Лейблера (КЛ) и ее основные свойства. Принцип минимизации КЛ дивергенции и эквивалентность максимизации правдоподобия данных. Модель данных на основе смеси гауссиан (Gaussian Mixture Model, GMM). Нижняя вариационная граница (Evidence Lower Bound, ELBO). Идея подхода со скрытыми переменными. Алгоритм ожидания-максимизации (Expectation-Maximization, EM) для GMM. <br>
| style="text-align:center;" | 1. || Ряды. || Сумма бесконечного ряда. Признаки сходимости Даламбера, Коши. Интегральный признак сходимости. Знакопеременные ряды. Признаки сходимости Абеля и Дирихле. Теорема Римана о сумме условно сходящегося ряда. Степенные ряды и ряды Фурье. <br>
 
  +
*Принцип моделирования распределения с помощью функции энергии. Методы сэмплирования из ненормированной плотности (importance sampling, rejection sampling, langevin dynamic, и др). Градиент функционала КЛ дивергенции в случае моделирования функции энергии (energy-based models, EBM), алгоритм обучения и семплирования EBM. <br>
  +
*Моделирования распределений с помощью обратимых преобразований с быстро-вычислимым якобианом. Нормализующие потоки, особенности их архитектур и принцип обучения модели. <br>
  +
*Ограничения моделей на основе функции энергии и нормализующих потоков. Сложность обучения моделей со скрытыми переменными общего вида. Трюк с параметризацией как возможность оптимизировать ELBO. Вариационные авто кодировщики (Variational autoencoders, VAE). <br>
  +
*Идея сопоставления скоров (градиента логарифма плотности) распределений (score matching). Дивергенция Фишера и её свойства. Ключевые подходы для сопоставления скоров (score-based models). <br>
  +
 
|- style="background-color:#F8F9FA; color:#202122;"
 
|- style="background-color:#F8F9FA; color:#202122;"
  +
| style="text-align:center;" | 2. || Методы генеративного моделирования на основе состязательного обучения. || *Идея неявного генеративного моделирования данных. Дивергенция Дженсена-Шеннона (Jensen-Shannon, JS) и ее свойства. Сложность минимизации дивергенции между распределениями данных. Двойственная форма дивергенции Дженсена-Шеннона. Интерпретация через решение задачи классификации. Вариационная оценка JS в задаче оптимизации дивергенции. Идея состязательного обучения. Генеративные состязательные нейросети (vanilla Generative Adversarial Networks, vanilla GAN). Ключевые составные элементы состязательного обучения: оптимизаторы, архитектуры, регуляризации и пр. Non-saturating функция потерь, архитектура StyleGAN. Переход от vanilla GAN к общим f-GAN через двойственную форму f-дивергенций.<br>
| style="text-align:center;" | 2. || Многомерный анализ. || Предел функций нескольких переменных. Частные производные. Производная сложной функции. Градиент. Дифференцируемые многообразия. Экстремумы функций многих переменных. Экстремальные задачи на многообразиях и функция Лагранжа. <br>
 
  +
*Адаптация моделей GAN для решения задач переноса домена, например, генерации типа image-to-image. Модель conditional GAN для обучения с учителем на парных данных (Pix2Pix) и циклический GAN для обучения на непарных данных (CycleGAN).<br>
|- style="background-color:#F8F9FA; color:#202122;"
 
  +
*Проблемы метрики типа f-дивиргенций. Метрика оптимального транспорта Канторовича и идея ее оптимизации. Двойственная форма для расстояния Васерштейна-1. Алгоритм Wasserstein GAN и его вариации (gradient penalty, weight clipping). <br>
| style="text-align:center;" | 3. || Кратные интегралы. || Двойной интеграл и повторный интеграл. Двойной интеграл по криволинейной поверхности. Интегралы в полярных координатах, подстановки в двойных интегралах. Интегралы в цилиндрических и сферических координатах Применение двойных и тройных интегралов. <br>
 
|- style="background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 4. || Векторный анализ. || Криволинейные интегралы. Полные дифференциалы. Теорема Грина. Теорема о циркуляции и теорема Стокса. Теорема о потоке и дивергенции. <br>
 
|- style="background-color:#F8F9FA; color:#202122;"
 
 
 
 
   
 
|}
 
|}
Line 54: Line 64:
 
| style="width:60%" | Перечень рассматриваемых тем (вопросов)<br>
 
| style="width:60%" | Перечень рассматриваемых тем (вопросов)<br>
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
| style="text-align:center;" | 1. || Пределы последовательностей и функций. ||
+
| style="text-align:center;" | 1. || Методы генеративного моделирования на основе на основе максимизации правдоподобия данных. ||
  +
*Имплементация и обучение алгоритмов обучения смеси гауссиан на основе максимизации правдоподобия градиентным спуском и с помощью алгоритма expectation-maximization (EM GMM) на модельных и реальных многомерных данных.<br>
1. Найти предел последовательности
 
  +
*Имплементация и обучение модели генерации данных на основе функции энергии (EBM) с разными вариантами сэмплирования (importance, rejection, MCMC) на модельных систематических данных, сравнение подходов. Имплементация и обучение EBM в задаче генерации реальных изображений.<br>
\\[S=\\sum_{n=1}^\\infty \\left(f_n-f_{n+1}\\right)\\]
 
  +
*Имплементация и обучение модели нормализующего потока (NF) на маломерных синтетических данных и реальных данных изображений.<br>
<br>
 
  +
*Имплементация и обучение модели на основе вариационного авто кодировщика. Тестирование на маломерных синтетических данных и реальных данных изображений.<br>
  +
*Имплементация и обучение модели на основе score-matching. Тестирование на маломерных синтетических данных и реальных данных изображений.<br>
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
  +
| style="text-align:center;" | 2. || Методы генеративного моделирования на основе состязательного обучения. || *Имплементация и обучение модели vanilla GAN с JS функцией потерь, а также её вариациями (non-saturating функция потерь, регуляризации типа R1 и др.) для генерации модельных данных и реальных данных изображений в безусловной и условной постановке задачи генерации, а также для задач переноса домена на парных и непарных данных (Pix2Pix и CycleGAN). Имплементация и обучение модели типа f-GAN с общими f-Divergence функциями потерь, включая KL дивергенцию для задачи генерации модельных данных и реальных данных изображений.<br>
| style="text-align:center;" | 2. || ||
 
  +
*Имплементация и обучение модели Wasserstein-GAN (в различных вариациях: weight clipping, gradient penalty и др.) для задач безусловной и условной генерации реальных изображений.<br>
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
  +
| style="text-align:center;" | 3. || ||
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 4. || ||
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 5. || ||
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | ... || ||
 
 
|}
 
|}
 
'''Текущий контроль успеваемости обучающихся по дисциплине:'''
 
'''Текущий контроль успеваемости обучающихся по дисциплине:'''
Line 79: Line 85:
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 1.
 
| style="text-align:center;" | 1.
  +
| Методы генеративного моделирования на основе на основе максимизации правдоподобия данных.
| Пределы последовательностей и функций.
 
  +
| style="text-align:center;" | Проверка выполнения домашнего практического задания.
Отношения порядка и непрерывные функции.
 
  +
| *Имплементация и обучение алгоритмов обучения смеси гауссиан на основе максимизации правдоподобия градиентным спуском и с помощью алгоритма expectation-maximization (EM GMM) на модельных и реальных многомерных данных.<br>
| style="text-align:center;" | Устный опрос, Домашние работы, Письменный тест
 
  +
*Имплементация и обучение модели генерации данных на основе функции энергии (EBM) с разными вариантами сэмплирования (importance, rejection, MCMC) на модельных систематических данных, сравнение подходов. Имплементация и обучение EBM в задаче генерации реальных изображений.<br>
| В домашние работы включаются задачи, нерешенные во время семинарских занятий.
 
  +
*Имплементация и обучение модели нормализующего потока (NF) на маломерных синтетических данных и реальных данных изображений.<br>
Тестирование (письменное или компьютерное):<br>
 
  +
*Имплементация и обучение модели на основе вариационного авто кодировщика. Тестирование на маломерных синтетических данных и реальных данных изображений.<br>
1. Две задачи из разделов «Числовые ряды» которые могут быть исследованы с помощью признаков Даламбера и Коши.<br>
 
  +
*Имплементация и обучение модели на основе score-matching. Тестирование на маломерных синтетических данных и реальных данных изображений.<br>
2. Две задачи из раздела «знакопеременные ряды», для решения первой может быть использован признак Лейбница, для второй — теорема Римана о сумме условно сходящегося ряда.
 
  +
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 2.
 
| style="text-align:center;" | 2.
  +
| Методы генеративного моделирования на основе состязательного обучения.
| Функциональные ряды: степенные ряды и ряды Фурье.
 
| style="text-align:center;" | Домашние работы. Письменный тест.
+
| style="text-align:center;" | Проверка выполнения домашнего практического задания.
  +
|*Имплементация и обучение модели vanilla GAN с JS функцией потерь, а также её вариациями (non-saturating функция потерь, регуляризации типа R1 и др.) для генерации модельных данных и реальных данных изображений в безусловной и условной постановке задачи генерации, а также для задач переноса домена на парных и непарных данных (Pix2Pix и CycleGAN). Имплементация и обучение модели типа f-GAN с общими f-Divergence функциями потерь, включая KL дивергенцию для задачи генерации модельных данных и реальных данных изображений.<br>
Устный опрос по темам разделов
 
  +
*Имплементация и обучение модели Wasserstein-GAN (в различных вариациях: weight clipping, gradient penalty и др.) для задач безусловной и условной генерации реальных изображений.<br>
Коллоквиум
 
  +
| В домашние работы включаются задачи, нерешенные во время семинарских занятий.
 
Письменный тест содержит пять задач из соответствующих разделов:<br>
 
1. Степенные ряды для исследования на сходимость рядов и почленно продифференцированных рядов.<br>
 
2. Задачи разложении в ряд Тейлора элементарных функций и комбинаций элементарных функций.<br>
 
3. Вычисление коэффициентов рядов Фурье для гладких периодических функций.<br>
 
4. Ряды Фурье для четных и нечетных функций.<br>
 
5. Вычисление коэффициентов рядов Фурье разрывных функций.
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 3.
 
| Пределы функций многих переменных, частные производные, градиент. Дифференцируемые многообразия. Экстремумы функций нескольких переменных.
 
| style="text-align:center;" | Домашние работы. Письменный тест.
 
Устный опрос по темам разделов
 
| В домашние работы включаются задачи, нерешенные во время семинарских занятий. Письменный тест содержит пять задач из соответствующих разделов: предел функции двух переменных; частные производные и производные по направлению; Геометрический смысл частных производных и дифференцируемые многообразия; экстремальные точки и условия максима или минимума; Задачи минимизации на многообразиях — функция Ланранжа.
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 4.
 
| Кратные интегралы и Векторный анализ
 
| style="text-align:center;" | Домашние работы. Письменный тест.
 
Устный опрос по темам разделов
 
| В домашние работы включаются задачи, нерешенные во время семинарских занятий. Письменный тест содержит четыре задачи из раздела: Криволинейные интегралы и двумерные интегралы и формула Грина; двумерные и трехмерные интегралы и формула Остроградского-Гаусса; вычисление дивергенции и вычисление ротора для заданных векторных полей.
 
 
|}
 
|}
   
Line 120: Line 109:
 
| style="width:65%" | Вопросы
 
| style="width:65%" | Вопросы
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
  +
| style="text-align:center;" | 1. || Методы генеративного моделирования на основе на основе максимизации правдоподобия данных. || *Идеи явного и неявного моделирования функции плотности распределения. Дивергенция Кульбака-Лейблера (КЛ) и ее основные свойства. Принцип минимизации КЛ дивергенции и эквивалентность максимизации правдоподобия данных. Модель данных на основе смеси гауссиан (Gaussian Mixture Model, GMM). Нижняя вариационная граница (Evidence Lower Bound, ELBO). Идея подхода со скрытыми переменными. Алгоритм ожидания-максимизации (Expectation-Maximization, EM) для GMM.<br>
| style="text-align:center;" | 1. || Числовые ряды, абсолютно сходящиеся ряды, условно сходящиеся ряды. || 1. Определение сходящегося ряда. Определение ряда, сходящегося абсолютно. Определение ряда, сходящегося условно.<br>
 
  +
*Принцип моделирования распределения с помощью функции энергии. Методы сэмплирования из ненормированной плотности (importance sampling, rejection sampling, langevin dynamic, и др). Градиент функционала КЛ дивергенции в случае моделирования функции энергии (energy-based models, EBM), алгоритм обучения и семплирования EBM.<br>
2. Признаки сходимости Даламбера, Коши, интегральный признак сходимости. Геометрический ряд и его использование как мажорирующего ряда. <br>
 
  +
*Моделирования распределений с помощью обратимых преобразований с быстро-вычислимым якобианом. Нормализующие потоки, особенности их архитектур и принцип обучения модели.<br>
3. Перестановка порядка суммирования в условно сходящемся ряду и приведение его суммы к заранее заданному числу.
 
  +
*Ограничения моделей на основе функции энергии и нормализующих потоков. Сложность обучения моделей со скрытыми переменными общего вида. Трюк с параметризацией как возможность оптимизировать ELBO. Вариационные авто кодировщики (Variational autoencoders, VAE).<br>
 
  +
*Идея сопоставления скоров (градиента логарифма плотности) распределений (score matching). Дивергенция Фишера и её свойства. Ключевые подходы для сопоставления скоров (score-based models).<br>
   
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
  +
| style="text-align:center;" | 2. || Методы генеративного моделирования на основе состязательного обучения. ||*Идея неявного генеративного моделирования данных. Дивергенция Дженсена-Шеннона (Jensen-Shannon, JS) и ее свойства. Сложность минимизации дивергенции между распределениями данных. Двойственная форма дивергенции Дженсена-Шеннона. Интерпретация через решение задачи классификации. Вариационная оценка JS в задаче оптимизации дивергенции. Идея состязательного обучения. Генеративные состязательные нейросети (vanilla Generative Adversarial Networks, vanilla GAN). Ключевые составные элементы состязательного обучения: оптимизаторы, архитектуры, регуляризации и пр. Non-saturating функция потерь, архитектура StyleGAN. Переход от vanilla GAN к общим f-GAN через двойственную форму f-дивергенций.<br>
| style="text-align:center;" | 2. || Функциональные ряды: степенные ряды и ряды Фурье. || 1. Определение интервала сходимости степенного ряда.<br>
 
  +
*Адаптация моделей GAN для решения задач переноса домена, например, генерации типа image-to-image. Модель conditional GAN для обучения с учителем на парных данных (Pix2Pix) и циклический GAN для обучения на непарных данных (CycleGAN).<br>
2. Почленное интегрирование и дифференцирование степенных рядов.<br>
 
  +
*Проблемы метрики типа f-дивиргенций. Метрика оптимального транспорта Канторовича и идея ее оптимизации. Двойственная форма для расстояния Васерштейна-1. Алгоритм Wasserstein GAN и его вариации (gradient penalty, weight clipping). <br>
3. Вычисление коэффициентов рядов Фурье. Ряды Фурье для четных и нечетных функций.<br>
 
4. Гладкость функций и асимптотические свойства коэффициентов Фурье.
 
 
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 3. || Пределы функций многих переменных, частные производные, градиент. Дифференцируемые многообразия. Экстремумы функций нескольких переменных || 1. Условие существования предела функции нескольких переменных. <br>
 
2. Условие перестановки пределов функции нескольких переменных. <br>
 
3. Производная по направлению. Градиент. Касательная плоскость. <br>
 
4. Дифференцируемое многообразие, карта, атлас. <br>
 
5. Необходимое условие экстремума функции нескольких переменных. <br>
 
6. Алгоритм определения экстремума функции нескольких переменных на многообразии.
 
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 4. || Кратные интегралы и Векторный анализ. || 1. Определение и примеры вычисления криволинейных интегралов первого и второго рода. <br>
 
2. Вывод и примеры использования формулы Грина. <br>
 
3. Вывод и примеры использования формулы Остроградского-Гаусса. <br>
 
4. Определения ротора и дивергенции векторного поля.
 
 
|}
 
|}
 
'''Вопросы/Задания к промежуточной аттестации в устной/письменной форме:'''
 
 
1. Определения абсолютной и условной сходимости ряда и чем они отличаются? Можете ли вы привести пример ряда, который является условно сходящимся, но не абсолютно сходящимся?<br>
 
2. Признаки сходимости Даламбера, Коши, интегральный признак сходимости.<br>
 
3. Геометрический ряд и его использование как мажорирующего ряда.<br>
 
4. Признаки сходимости Абеля и Дирихле. <br>
 
5. Перестановка порядка суммирования в условно сходящемся ряду и приведение его суммы к заранее заданному числу.<br>
 
6. Что такое степенной ряд и как определяется его радиус сходимости? Можете ли вы привести пример степенного ряда и его радиуса сходимости?<br>
 
7. Что такое дифференциальное уравнение и как построить степенной ряд для заданного дифференциального уравнения.<br>
 
8. Что такое ряд Фурье и как он используется для аппроксимации периодических функций? Можете ли вы привести пример периодической функции и ее ряда Фурье?<br>
 
9. Привести и обосновать формулы для рядов Фурье четных и нечетных функций. Привести примеры.<br>
 
10. Что такое дифференцируемое многообразие и каково его касательное пространство? Можете ли вы привести пример дифференцируемого многообразия и его касательного пространства?<br>
 
11. Что такое градиент функции и как он используется для решения задач оптимизации? Можете ли вы привести пример того, как найти градиент функции и использовать его для решения задачи оптимизации?<br>
 
12. Что такое метод множителя Лагранжа и как он используется для нахождения экстремумов функции на многообразиях? Можете ли вы привести пример того, как использовать этот метод для решения задачи оптимизации?<br>
 
13. Определение двойного интеграла. Суммы Дарбу. Теорема о мере границы.<br>
 
14. Свойства двойных интегралов. Теорема о среднем значении. Примеры.<br>
 
15. Приложения двойного интеграла. Объем, фильтры, масса плоской фигуры, центр масс плоской фигуры. Примеры.<br>
 
16. Теорема Фубини, доказательство. Примеры.<br>
 
17. Геометрический смысл двойных интегралов. Вектор нормали для поверхности. Примеры.<br>
 
18. Критерии Дарбу для существования меры для данного трехмерного тела. Примеры.<br>
 
19. Изменение переменных в двойных интегралах. Якобиан. Полярные координаты в качестве примера.<br>
 
20. Изменение переменных в тройных интегралах. Якобиан. Примеры.<br>
 
21. Сферические координаты и использование сферических координат для вычисления тройных интегралов. Примеры.<br>
 
22. Преобразование Фурье. Определение. Набросок доказательства. Примеры.<br>
 
23. Свойства преобразования Фурье. Гладкие функции и асимптотическое поведение образа Фурье.<br>
 
24. Вычисление двойных интегралов и оценка погрешности.<br>
 
25. Плоская кривая. Касательный вектор, вектор нормали, кривизна, длина кривой. Примеры.<br>
 
26. Кривая в трехмерном пространстве. Бинормаль, плоскость соприкосновения, кручение. Пример.<br>
 
27. Криволинейный интеграл. Работа потенциальной силы вдоль заданной траектории. Центр масс заданной кривой.<br>
 
28. Определение скалярного поля и векторного поля. Дивергенция и ротор векторного поля. Примеры.<br>
 
29. Формы представления криволинейного интеграла. Примеры использования.<br>
 
30. Теорема Гирина. Вывод формулы Грина. Следствие теоремы Грина для кругового интеграла градиента.<br>
 
31. Двумерные многообразия. Ориентированные и неориентированные многообразия. Примеры. Локальные карты и атлас. Примеры<br>
 
32. Интеграл по поверхности для векторного поля. Различные формы поверхностных интегралов, такие как интеграл по проекциям и интегралы по локальной системе координат. Примеры.<br>
 
33. Формула Остроградского-Гаусса. Доказательство формулы. Физическая интерпретация формулы. Примеры.<br>
 
34. Ротор и дивергенция как предел циркуляции потока и обтекания поверхности для данного объема. Теорема о расходимости ротора.<br>
 
   
 
=== Перечень учебно-методического обеспечения дисциплины ===
 
=== Перечень учебно-методического обеспечения дисциплины ===
 
Список основной литературы:<br>
 
Список основной литературы:<br>
  +
#Rezende, D., & Mohamed, S. (2015, June). Variational inference with normalizing flows. In International conference on machine learning (pp. 1530-1538). PMLR.<br>
1. Кудрявцев, Л. Д. Курс математического анализа в 3 т. Том 1 : учебник для бакалавров / Л. Д. Кудрявцев. — 6-е изд. — Москва : Издательство Юрайт, 2023. — 703 с. — ISBN 978-5-9916-1807-6.<br>
 
  +
#Marwala, T. (2019). Handbook of machine learning: Volume 1: Foundation of artificial intelligence.<br>
2. Фихтенгольц Г. М. Основы математического анализа. Т1. Издательство Лань, 2023, --444 с. -- ISBN 978-5-8114-7583-4, 978-5-8114-5337-5<br>
 
  +
#Kingma, D. P., & Welling, M. Auto-encoding variational {Bayes}. In Int. Conf. on Learning Representations.<br>
3. Зорич В.А. Математический анализ, Часть 1, Издательство МЦНМО, 2019, --564 с. --ISBN 978-5-4439-4029-8.<br>
 
  +
#LeCun, Y., Chopra, S., Hadsell, R., Ranzato, M., & Huang, F. (2006). A tutorial on energy-based learning. Predicting structured data, 1(0).<br>
4. Демидович Б. П. . Сборник задач и упражнений по математическому анализу: Учебное пособие для вузов Издательство АСТ, 2005. 558 с.<br>
 
  +
#Song, Y., & Kingma, D. P. (2021). How to train your energy-based models. arXiv preprint arXiv:2101.03288.<br>
  +
#Song, Y., & Ermon, S. (2019). Generative modeling by estimating gradients of the data distribution. Advances in neural information processing systems, 32.<br>
  +
#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.<br>
  +
#Arjovsky, M., Chintala, S., & Bottou, L. (2017, July). Wasserstein generative adversarial networks. In International conference on machine learning (pp. 214-223). PMLR.<br>
  +
#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).<br>
  +
#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).<br>
  +
#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.<br>
  +
#Р. Исаченко, П. Мокров, Курс лекций МФТИ по глубоким генеративным моделям, https://intsystems.github.io/course/deep_generative_models/index.html<br>
  +
#Ветров Д.П., Курс лекций по байесовским методам в машинном обучении, http://www.machinelearning.ru/wiki/index.php?title=бммо<br>
  +
#Ветров Д.П., Курс лекций по байесовским методам в машинном обучении, http://www.machinelearning.ru/wiki/index.php?title=Нейробайесовские_методы_машинного_обучения_(курс_лекций)_/_2022<br>
  +
#Фостер, Д. (2020). Генеративное глубокое обучение. Творческий потенциал нейронных сетей." Издательский дом" Питер.<br>
   
 
Список дополнительной литературы:<br>
 
Список дополнительной литературы:<br>
  +
#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.<br>
1. Пискунов Н.С. Дифференциальное и интегральное исчисление. Т1. Издательство Интеграл-Пресс, 2002, --416 с. --ISBN 5-89602-012-0<br>
 
  +
#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).<br>
2. Лутц М., Изучаем Python: Т. 1, Издательство Диалектика, 2023, --824 c. --ISBN 9785521805532<br>
 
  +
#Radford, A., Metz, L., & Chintala, S. (2015). Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434.<br>
3. Beazley D., Jones B.K. Python Cookbook, 3rd Edition by 2013 Publisher(s): O'Reilly Media, Inc.
 
  +
#Kingma, D. P., & Dhariwal, P. (2018). Glow: Generative flow with invertible 1x1 convolutions. Advances in neural information processing systems, 31.<br>
ISBN: 9781449357351<br>
 
  +
#Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. СПб.: Питер, 2018.<br>
  +
 
=== Методические указания для обучающихся по освоению дисциплины ===
 
=== Методические указания для обучающихся по освоению дисциплины ===
 
{| class="wikitable" style="width:80%;"
 
{| class="wikitable" style="width:80%;"
Line 249: Line 199:
 
| style="vertical-align:middle; text-align:center;" | Выполнение домашних заданий и групповых проектов
 
| style="vertical-align:middle; text-align:center;" | Выполнение домашних заданий и групповых проектов
 
| style="vertical-align:middle; text-align:left;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.
 
| style="vertical-align:middle; text-align:left;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.
|}
 
=== Методы и технологии обучения, способствующие формированию компетенции ===
 
{| class="wikitable"
 
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"
 
| Методы и технологии обучения, способствующие формированию компетенции
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| В курсе планируется использовать несколько технологий обучения. Таких как: <u> интерактивные лекции </u>, поощряющие участие студентов посредством сессий вопросов и ответов, живых демонстраций концепций квантовых вычислений или групповых дискуссий.
 
 
<u> Проблемно-ориентированное обучение </u> – мероприятия по решению проблем, которые побуждают студентов применять концепции квантовых вычислений в практических ситуациях. Этот метод может улучшить навыки критического мышления и закрепления знаний.
 
 
Будут применяться <u> программные библиотеки для аналитических и численных методов: SymPy, NumPy, и SciPy </u>, что позволит использовать компьютер как инструмент для изучения свойств аналитических функции, изучать теорию аппроксимаций и получить опыт использования компьютерных вычислений в задачах математического анализа.
 
 
Планируется предложить <u> совместные проекты </u>, которые требуют применения концепций квантовых вычислений в реальных сценариях или создания новых квантовых алгоритмов. Такой подход может способствовать командной работе, навыкам общения и креативности, одновременно углубляя понимание студентами концепций квантовых вычислений.
 
 
Важный элемент курса – <u> смешанное обучение </u>: сочетание традиционного очного обучения с онлайн-учебными ресурсами, такими как видео, симуляторы или интерактивные викторины. Такой подход может учитывать различные стили обучения и предпочтения, одновременно улучшая понимание учащимися концепций квантовых вычислений.
 
&nbsp;
 
 
|}
 
|}

Revision as of 18:04, 2 April 2024

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

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

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 секунд) должны быть подготовлены в группах, определяемых преподавателем. Несмотря на то, что это групповая работа, должен явно присутствовать вклад каждого члена группы.
Доклад Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Дискуссия Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.
Контрольная работа При подготовке к контрольной работе необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме.
Тестирование (устное/письменное) При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.
Индивидуальная работа При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.