Генеративные модели на основе диффузии

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Общая информация

Курс предназначен для студентов 4 курса ФКН ПМИ, но приглашаются все желающие, уверенно знающие математику младших курсов (в особенности теорию вероятностей), базово ориентирующиеся в глубинном обучении и программировании на PyTorch.

Занятия проходят по субботам в 13:00-16:00, аудитория будет сообщаться в чате.

Лектор/семинарист: Денис Ракитин

Чат курса

Программа и описание курса

Старый туториал по ODE/SDE моделям, близкий к программе курса

Оценки

Таблица с оценками

Формула итоговой оценки: Оитог = 0.5 * Одз + 0.2 * Опроект + 0.3 * Оэкз. Округление арифметическое.

Домашние задания

Сдаются в классрум. Код курса mzafi45.

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

Теория

ДЗ-1, TeX исходник, дедлайн 6 октября 23:59.

ДЗ-2, ТеХ исходник, дедлайн 3 ноября 23:59.

Практика

ДЗ-1, дедлайн 10 ноября 23:59.

Проект

Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей.

Лекции и семинары

Записи лекций и семинаров

Семинарские задачи

Лекция 1. Генеративное моделирование. Семейства генеративных моделей: вариационные автокодировщики (VAEs), генеративно-состязательные сети (GANs), диффузионные модели. Генеративная трилемма: генеративная модель должна обладать высоким качеством генерации, высоким разнообразием и скоростью генерирования. Повтор теории вероятностей: совместная и условная плотность, формула Байеса, подсчет матожиданий через плотности. Условное матожидание (УМО): определение через интеграл условной плотности. Свойства: линейность, формула полного матожидания, вынос функции от условия за УМО, УМО от независимой величины равна безусловному матожиданию. Условное матожидание как наилучшее предсказание в среднеквадратичном.

Семинар 1. Гауссовские векторы/многомерное нормальное распределение. Три эквивалентных определения, формула плотности. Аффинная замена гауссовских векторов, эквивалентность независимости и некоррелированности их компонент, ортогональное разложение, условное распределение компоненты относительно другой компоненты.

Лекция 2. Процессы зашумления с дискретным временем: процесс с сохраняющейся (variance preserving, VP) и взрывающейся (variance exploding, VE) дисперсией. Определение марковской цепи. Префиксные суммы независимых величин образуют марковскую цепь. Процессы зашумления являются марковскими цепями. Работа с марковскими цепями: обуславливание марковской цепи на начальное состояние эквивалентно построению марковской цепи, стартующей из этого состояния. Переходные плотности VP и VE процессов. Эвристичная схема обращения процесса зашумления по времени [1]. Обучение нейросети-денойзера для предсказания чистой картинки по шумной.

Семинар 2. Обращенная по времени марковская цепь является марковской цепью. Обыкновенные дифференциальные уравнения (ОДУ), схема Эйлера. Построение непрерывного аналога процесса удаления картинки, заданного через ОДУ. Определение Винеровского процесса. (Псевдо)-определение стохастических дифференциальных уравнений (СДУ) через схему Эйлера. Построение непрерывных по времени аналогов VP и VE процессов: СДУ с сохраняющейся (VP-SDE) и взрывающейся (VE-SDE) дисперсией. Подсчет переходных распределений VE-SDE и VP-SDE с помощью решения линейных ОДУ.

Лекция 3. Эволюция плотности частицы, движущейся под действием ОДУ/СДУ: уравнение непрерывности и уравнение Фоккера-Планка. Неформальное утверждение о единственности решения уравнения Фоккера-Планка с начальным условием при выполнении условий регулярности.

Семинар 3. Вывод общего вида законов сохранения (взято из курса УрЧП). Интерпретация уравнения непрерывности, теплопроводности и Фоккера-Планка через законы сохранения. Решение транспортного уравнения с константным сносом. Дорешивание семинара 2: VP-SDE получается шкалированием VE-SDE.

Лекция 4. Диффузионные модели с непрерывным временем [2]. Переход от СДУ к ОДУ и обратно. Обращение ОДУ по времени. Обращение СДУ по времени [3] с помощью схемы СДУ -> ОДУ -> обратное ОДУ -> обратное СДУ. Score функция, ее представление через условное матожидание условной score функции, интерпретация и обучение методом Denoising Score Matching [4]. Эквивалентность Denoising Score Matching обучению модели, предсказывающей чистое изображение/шум в изображении.

Семинар 4. Семплирование из диффузионных моделей с непрерывным временем: дискретизация обратного СДУ по схеме Эйлера. Связь с дискретной схемой обращения процесса по времени из лекции 2. Выражение score функции VP-SDE через score функцию VE-SDE. Применение: имея обученную модель-денойзер, можно семплировать из VP-SDE и VE-SDE без переобучения модели. Предельное распределение однородного СДУ, связь со стационарным распределением, сведение к однородному уравнению Фоккера-Планка (d/dt p_t(x) = 0). Динамика Ланжевена: снос в СДУ, сходящейся к распределению p(x), с точностью до константы совпадает со score функцией. Применение к генерации семплов из распределения p(x) и связь с градиентным подъемом.

Лекция / Семинар 5. Имплементация диффузионных моделей на практике: ноутбук. Denoising Score Matching для обучения обусловленных диффузионных моделей.

Лекция / Семинар 6. Обуславливание безусловных диффузионных моделей с помощью шумного классификатора: Classifier Guidance, контролирование баланса между правдоподобием и разнообразием семплов. Перенос той же техники на предобученные условные модели: Classifier-free Guidance. Дистилляция диффузионных моделей. Первое семейство моделей: обучение генератора на повтор траектории ОДУ диффузионной модели: Progressive Distillation, Consistency Models, BOOT. Использование диффузионной модели в качестве обучающего сигнала для произвольного вида генератора: метод Distribution Matching Distillation (его прототип Diff-Instruct, конкурентная работа SwiftBrush и улучшенная версия Improved DMD).

Материалы прошлых лет

Вики-страница

Видеозаписи лекций