Генеративные модели на основе диффузии 25/26 — различия между версиями
| (не показана одна промежуточная версия этого же участника) | |||
| Строка 28: | Строка 28: | ||
== Проект == | == Проект == | ||
| − | Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей. Проект командный. | + | Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей. |
| + | Проект командный. Команда может включать не более 4 человек, для 3-4 человек в проекте будет дополнительное задание. | ||
Сдача проекта включает в себя github-репозиторий с имплементацией и написанный в pdf отчет. | Сдача проекта включает в себя github-репозиторий с имплементацией и написанный в pdf отчет. | ||
| + | Оценка будет ставиться по трем критериям. Объем работы оценивается из 4 баллов, качество отчета и полученных результатов в 3 балла. | ||
| + | |||
| + | Подробное описание находится [https://disk.yandex.ru/i/cpdl5wvHRcu91w здесь] (нужно будет скачать, чтобы работали ссылки). | ||
| + | |||
| + | Дедлайн: 21 декабря 23:59. | ||
== Домашние задания == | == Домашние задания == | ||
Текущая версия на 02:42, 5 декабря 2025
Содержание
Общая информация
Курс предназначен для студентов 4 курса ФКН ПМИ, но приглашаются все желающие, уверенно знающие математику младших курсов (в особенности теорию вероятностей), базово ориентирующиеся в глубинном обучении и программировании на PyTorch.
Занятия проходят по средам 13:00-16:00, аудитория R208 (переносы будут сообщаться в чате).
Лектор: Денис Ракитин
Семинарист: Александр Оганов
Ассистент: Александр Зайцев
Оценки
Формула итоговой оценки: Оитог = 0.3 * Отдз + 0.2 * Опдз + 0.2 * Опроект + 0.3 * Оэкз. Округление арифметическое.
Отдз и Опдз обозначают средние оценки за теоретические/практические дз, соответственно.
Экзамен
Программа предыдущего года
Экзамен устный, состоит из билета и двух дополнительных вопросов. Один из дополнительных вопросов — задача, второй — вопрос на усмотрение принимающего (может быть задачей или вопросом по другим билетам). Разбалловка: 4 балла за билет и по 3 балла за доп. вопрос.
Проект
Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей. Проект командный. Команда может включать не более 4 человек, для 3-4 человек в проекте будет дополнительное задание. Сдача проекта включает в себя github-репозиторий с имплементацией и написанный в pdf отчет. Оценка будет ставиться по трем критериям. Объем работы оценивается из 4 баллов, качество отчета и полученных результатов в 3 балла.
Подробное описание находится здесь (нужно будет скачать, чтобы работали ссылки).
Дедлайн: 21 декабря 23:59.
Домашние задания
Домашние задания будут выдаваться в день лекции, то есть по средам, на некоторое число недель вперед. Мягкие дедлайны будут по средам. Жесткий дедлайн будет в воскресенье той же недели. За каждый день просрочки коэффициент при оценке уменьшается на 0.1. Таким образом, позднее всего можно сдать домашнее задание в воскресенье с коэффициентом 0.6.
Сдаются в Anytask, инвайт t6bwFj5
В курсе будут 5 теоретических и 3 практических домашних задания. Вес у всех задач одинаковый, задачи оцениваются из 1 балла. Если в задачах есть пункты, то будет подписано количество баллов за каждый пункт, иначе баллы между пунктами делятся поровну.
Теория
ДЗ-1, TeX исходник, мягкий дедлайн 24 сентября 23:59 (среда), жесткий дедлайн 28 сентября 23:59 (воскресенье).
ДЗ-2, ТеХ исходник, мягкий дедлайн 2 октября 23:59 (четверг), жесткий дедлайн 6 октября 23:59 (понедельник).
ДЗ-3, ТеХ исходник, мягкий дедлайн 22 октября 23:59 (среда), жесткий дедлайн 2 ноября 23:59 (воскресенье). Сессионные дни 25-31 октября не учитываются при снижении оценки за просрочку.
ДЗ-4, ТеХ исходник, мягкий дедлайн 10 декабря 23:59 (среда), жесткий дедлайн 14 декабря 23:59 (воскресенье).
Практика
ДЗ-1, мягкий дедлайн 12 ноября 23:59 (среда), жесткий дедлайн 16 ноября 23:59 (воскресенье).
ДЗ-2, жесткий дедлайн 17 декабря 23:59 (среда).
Лекции и семинары
Лекция / Семинар 1. Генеративное моделирование. Семейства генеративных моделей: вариационные автокодировщики (VAEs), генеративно-состязательные сети (GANs), диффузионные модели. Генеративная трилемма: генеративная модель должна обладать высоким качеством генерации, высоким разнообразием и скоростью генерирования. Повтор теории вероятностей: совместная и условная плотность, формула Байеса, подсчет матожиданий через плотности. Условное матожидание (УМО): определение через интеграл условной плотности. Свойства: линейность, формула полного матожидания, вынос функции от условия за УМО, УМО от независимой величины равна безусловному матожиданию. Условное матожидание как наилучшее предсказание в среднеквадратичном.
Гауссовские векторы/многомерное нормальное распределение. Три эквивалентных определения, формула плотности. Аффинная замена гауссовских векторов, эквивалентность независимости и некоррелированности их компонент, ортогональное разложение, условное распределение компоненты относительно другой компоненты.
Лекция / Семинар 2. Процессы зашумления с дискретным временем: процесс с сохраняющейся (variance preserving, VP) и взрывающейся (variance exploding, VE) дисперсией. Определение марковской цепи. Процессы зашумления являются марковскими цепями. Переходные плотности VP и VE процессов. Обучение диффузионной модели (статья DDPM) через минимизацию КЛ дивергенции между совместным распределением процесса зашумления и процесса, заданного моделью (модель с гауссовскими переходами "назад" по времени, в которой нейросеть предсказывает среднее). Декомпозиция КЛ дивергенции через сумму КЛ дивергенций переходных распределений. Эквивалентность функционала обучению нейросети-денойзера для предсказания чистой картинки по шумной.
Свойства марковских цепей: обращенный по времени марковский процесс является марковским; процесс, обусловленный на конечную точку, также является марковским. Подсчет КЛ дивергенции между многомерными нормальными распределениями.
Лекция / Семинар 3. Обыкновенные дифференциальные уравнения (ОДУ), схема Эйлера. Построение непрерывного аналога процесса удаления картинки, заданного через ОДУ. Определение Винеровского процесса. (Псевдо)-определение стохастических дифференциальных уравнений (СДУ) через схему Эйлера. Построение непрерывных по времени аналогов VP и VE процессов: СДУ с сохраняющейся (VP-SDE) и взрывающейся (VE-SDE) дисперсией. Подсчет переходных распределений VE-SDE и VP-SDE с помощью решения линейных ОДУ.
Линейные СДУ вида dX_t = f(t) X_t dt + g(t) dW_t: обобщение VE/VP-SDE. Переходные плотности в линейных СДУ такого вида: гауссовское распределение, линейные ОДУ на матожидание и дисперсию, их решение. Визуализация непрерывных процессов зашумления: ноутбук, заполненный ноутбук.
Лекция / Семинар 4. Эволюция плотности частицы, движущейся под действием ОДУ/СДУ: уравнение непрерывности и уравнение Фоккера-Планка. Вывод общего вида законов сохранения (взято из курса УрЧП). Интерпретация уравнения непрерывности, теплопроводности и Фоккера-Планка через законы сохранения. Решение транспортного уравнения с константным сносом. Логарифмическое уравнение непрерывности, его решение методом характеристик. Применение к подсчету правдоподобия модели, заданной ОДУ.
Лекция / Семинар 5. Диффузионные модели с непрерывным временем. Переход от СДУ к ОДУ и обратно. Обращение ОДУ по времени. Обращение СДУ по времени (оригинальная статья) с помощью схемы СДУ -> ОДУ -> обратное ОДУ -> обратное СДУ. Score функция, ее представление через условное матожидание условной score функции, интерпретация и обучение методом Denoising Score Matching. Эквивалентность Denoising Score Matching обучению модели, предсказывающей чистое изображение/шум в изображении.
Выражение score функции VP-SDE через score функцию VE-SDE. Применение: имея обученную модель-денойзер, можно семплировать из VP-SDE и VE-SDE без переобучения модели. Предельное распределение однородного СДУ, связь со стационарным распределением, сведение к однородному уравнению Фоккера-Планка (d/dt p_t(x) = 0). Динамика Ланжевена: снос в СДУ, сходящейся к распределению p(x), с точностью до константы совпадает со score функцией. Применение к генерации семплов из распределения p(x) и связь с градиентным подъемом.
Лекция / Семинар 6. Имплементация диффузионных моделей на практике: ноутбук. Denoising Score Matching для обучения обусловленных диффузионных моделей. Обуславливание безусловных диффузионных моделей с помощью шумного классификатора: Classifier Guidance, контролирование баланса между правдоподобием и разнообразием семплов. Перенос той же техники на предобученные условные модели: Classifier-free Guidance.
Лекция / Семинар 7. Дистилляция диффузионных моделей. Функциональная дистилляция, состоящая в обучении генератора на повтор траектории ОДУ диффузионной модели: простая дистилляция, Consistency Models. Классический способ получить обучающий сигнал для попадания в распределение: Генеративно-состязательные сети (GANs), вывод лог-лосса, интерпретация через минимизацию дивергенции Йенсена-Шеннона. Соединение двух парадигм: Consistency Models + GAN loss. Использование предобученной диффузионной модели для выделения признаков, на которых считается GAN loss: Latent Adversarial Diffusion Distillation (LADD). Использование диффузионной модели в качестве обучающего сигнала для произвольного вида генератора: метод Distribution Matching Distillation (его прототип Diff-Instruct, конкурентная работа SwiftBrush и улучшенная версия Improved DMD).
Лекция / Семинар 8. Ускорение генерации из диффузионных моделей с помощью солверов ОДУ. Методы, более точно приближающие ОДУ с помощью промежуточных точек: метод Хойна, методы Рунге-Кутта. Линейные многошаговые методы (linear multi-step, LMS): использование только предыдущих значений векторного поля для разностного приближения производных высших порядков. DPM-Solver: использование полу-линейной структуры диффузионных ОДУ и log-SNR замены времени для более точного приближения честного решения. Семинарский ноутбук.
Обучение сетки дискретизации с помощью дистилляции многошаговой схемы в малошаговую: LD3. Обучение коэффициентов солвера: S4S. Generalized Adversarial Solver (GAS): эффективная параметризация для обучения сетки дискретизации и коэффициентов солвера, соединение функционала дистилляции с GAN loss для улучшения деталей сгенерированных изображений. Статья написана коллективом из BayesGroup: GitHub.
Лекция / Семинар 9. Диффузионные модели как процессы интерполяции между шумом и данными. Модель Flow Matching (аналоги Conditional Flow Matching и Stochastic Interpolants): построение ОДУ, порождающего безусловную динамику при известном ОДУ, порождающем условную динамику. Применение к задаче безусловной генерации. Применение к парным задачам переноса стиля: Flow Matching снижает транспортную цену. Представление диффузионных моделей в качестве частного случая модели Flow Matching. Статьи про решение парных задач на основе ОДУ и на основе СДУ.
Лекция / Семинар 10. Задача оптимального транспорта (ОТ): задача Монжа и Канторовича, их эквивалентность при наличии плотностей у обоих распределений. Применимость модели Flow Matching для непарных задач: снижение транспортной цены не гарантирует хорошего отображения. Алгоритм Rectified Flow (теоретическое дополнение): повторное обучение Flow Matching (процедуры Rectify) для последовательного снижения транспортной цены отображения. Неподвижные точки Rectify: 4 эквивалентных свойства. Следствие: решение задачи ОТ может быть представлено в виде ОДУ с прямыми траекториями. Задача динамического ОТ, формула Бенаму-Бренье. Интерпретация метода Rectified Flow как чередования проецирования на множество процессов с прямыми траекториями и множество процессов, заданных ОДУ. ОДУ с прямыми траекториями решает задачу ОТ тогда и только тогда, когда векторное поле задается градиентом скалярного. Пример обратного: гауссовское распределение и процесс поворота.