Генеративные модели на основе диффузии 25/26 — различия между версиями
| (не показано 13 промежуточных версии этого же участника) | |||
| Строка 28: | Строка 28: | ||
== Проект == | == Проект == | ||
| − | Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей. Проект командный. | + | Состоит в реализации и проведении экспериментов с одной из рассмотренных на курсе моделей. |
| + | Проект командный. Команда может включать не более 4 человек, для 3-4 человек в проекте будет дополнительное задание. | ||
Сдача проекта включает в себя github-репозиторий с имплементацией и написанный в pdf отчет. | Сдача проекта включает в себя github-репозиторий с имплементацией и написанный в pdf отчет. | ||
| + | Оценка будет ставиться по трем критериям. Объем работы оценивается из 4 баллов, качество отчета и полученных результатов в 3 балла. | ||
| + | |||
| + | Подробное описание находится [https://disk.yandex.ru/i/cpdl5wvHRcu91w здесь] (нужно будет скачать, чтобы работали ссылки). | ||
| + | |||
| + | Дедлайн: 21 декабря 23:59. | ||
== Домашние задания == | == Домашние задания == | ||
| Строка 35: | Строка 41: | ||
Домашние задания будут выдаваться в день лекции, то есть по средам, на некоторое число недель вперед. Мягкие дедлайны будут по средам. Жесткий дедлайн будет в воскресенье той же недели. За каждый день просрочки коэффициент при оценке уменьшается на 0.1. Таким образом, позднее всего можно сдать домашнее задание в воскресенье с коэффициентом 0.6. | Домашние задания будут выдаваться в день лекции, то есть по средам, на некоторое число недель вперед. Мягкие дедлайны будут по средам. Жесткий дедлайн будет в воскресенье той же недели. За каждый день просрочки коэффициент при оценке уменьшается на 0.1. Таким образом, позднее всего можно сдать домашнее задание в воскресенье с коэффициентом 0.6. | ||
| − | Сдаются в [https:// | + | Сдаются в [https://anytask.org/course/1215 Anytask], инвайт t6bwFj5 |
В курсе будут 5 теоретических и 3 практических домашних задания. Вес у всех задач одинаковый, задачи оцениваются из 1 балла. Если в задачах есть пункты, то будет подписано количество баллов за каждый пункт, иначе баллы между пунктами делятся поровну. | В курсе будут 5 теоретических и 3 практических домашних задания. Вес у всех задач одинаковый, задачи оцениваются из 1 балла. Если в задачах есть пункты, то будет подписано количество баллов за каждый пункт, иначе баллы между пунктами делятся поровну. | ||
| Строка 44: | Строка 50: | ||
[https://disk.yandex.ru/i/CECxe7biFDMM9A ДЗ-2], [https://www.overleaf.com/read/cpknqsqwcgvw#c442e0 ТеХ исходник], мягкий дедлайн 2 октября 23:59 (четверг), жесткий дедлайн 6 октября 23:59 (понедельник). | [https://disk.yandex.ru/i/CECxe7biFDMM9A ДЗ-2], [https://www.overleaf.com/read/cpknqsqwcgvw#c442e0 ТеХ исходник], мягкий дедлайн 2 октября 23:59 (четверг), жесткий дедлайн 6 октября 23:59 (понедельник). | ||
| + | |||
| + | [https://disk.yandex.ru/i/uYK4QfGMdxwMOQ ДЗ-3], [https://www.overleaf.com/read/rmnxbpctnywp#2edc9c ТеХ исходник], мягкий дедлайн 22 октября 23:59 (среда), жесткий дедлайн 2 ноября 23:59 (воскресенье). Сессионные дни 25-31 октября не учитываются при снижении оценки за просрочку. | ||
| + | |||
| + | [https://disk.yandex.ru/i/aGDo5aHbMtakKA ДЗ-4], [https://www.overleaf.com/read/zbdyrbtscqsp#252754 ТеХ исходник], мягкий дедлайн 10 декабря 23:59 (среда), жесткий дедлайн 14 декабря 23:59 (воскресенье). | ||
| + | ===Практика=== | ||
| + | |||
| + | [https://disk.yandex.ru/d/D_7g3UDaYXK4Lg ДЗ-1], мягкий дедлайн 12 ноября 23:59 (среда), жесткий дедлайн 16 ноября 23:59 (воскресенье). | ||
| + | |||
| + | [https://disk.yandex.ru/d/kUzy1q49WP1lCg ДЗ-2], жесткий дедлайн 17 декабря 23:59 (среда). | ||
== Лекции и семинары == | == Лекции и семинары == | ||
| Строка 63: | Строка 78: | ||
Линейные СДУ вида dX_t = f(t) X_t dt + g(t) dW_t: обобщение VE/VP-SDE. Переходные плотности в линейных СДУ такого вида: гауссовское распределение, линейные ОДУ на матожидание и дисперсию, их решение. Визуализация непрерывных процессов зашумления: [https://disk.yandex.ru/d/H0Mbf6w2aL55Tg ноутбук], [https://disk.yandex.ru/d/BTKuym0Kxbzeww заполненный ноутбук]. | Линейные СДУ вида dX_t = f(t) X_t dt + g(t) dW_t: обобщение VE/VP-SDE. Переходные плотности в линейных СДУ такого вида: гауссовское распределение, линейные ОДУ на матожидание и дисперсию, их решение. Визуализация непрерывных процессов зашумления: [https://disk.yandex.ru/d/H0Mbf6w2aL55Tg ноутбук], [https://disk.yandex.ru/d/BTKuym0Kxbzeww заполненный ноутбук]. | ||
| + | |||
| + | '''Лекция / Семинар 4.''' Эволюция плотности частицы, движущейся под действием ОДУ/СДУ: уравнение непрерывности и уравнение Фоккера-Планка. Вывод общего вида законов сохранения (взято из курса [http://wiki.cs.hse.ru/%D0%A3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81_%D1%87%D0%B0%D1%81%D1%82%D0%BD%D1%8B%D0%BC%D0%B8_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D0%BC%D0%B8_(2022-2023) УрЧП]). Интерпретация уравнения непрерывности, | ||
| + | теплопроводности и Фоккера-Планка через законы сохранения. Решение транспортного уравнения с константным сносом. Логарифмическое уравнение непрерывности, его решение методом характеристик. Применение к подсчету правдоподобия модели, заданной ОДУ. | ||
| + | |||
| + | '''Лекция / Семинар 5.''' Диффузионные модели с [https://arxiv.org/abs/2011.13456 непрерывным временем]. Переход от СДУ к ОДУ и обратно. Обращение ОДУ по времени. Обращение СДУ по времени ([https://core.ac.uk/download/pdf/82826666.pdf оригинальная статья]) с помощью схемы СДУ -> ОДУ -> обратное ОДУ -> обратное СДУ. Score функция, ее представление через условное матожидание условной score функции, интерпретация и обучение методом [https://arxiv.org/abs/1907.05600 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.''' Имплементация диффузионных моделей на практике: [https://disk.yandex.ru/d/WWwuJvGdoGlPCQ ноутбук]. Denoising Score Matching для обучения обусловленных диффузионных моделей. Обуславливание безусловных диффузионных моделей с помощью шумного классификатора: [https://arxiv.org/abs/2105.05233 Classifier Guidance], контролирование баланса между правдоподобием и разнообразием семплов. Перенос той же техники на предобученные условные модели: [https://arxiv.org/abs/2207.12598 Classifier-free Guidance]. | ||
| + | |||
| + | '''Лекция / Семинар 7.''' Дистилляция диффузионных моделей. Функциональная дистилляция, состоящая в обучении генератора на повтор траектории ОДУ диффузионной модели: простая дистилляция, [https://arxiv.org/abs/2303.01469 Consistency Models]. Классический способ получить обучающий сигнал для попадания в распределение: Генеративно-состязательные сети ([https://arxiv.org/abs/1406.2661 GANs]), вывод лог-лосса, интерпретация через минимизацию дивергенции Йенсена-Шеннона. Соединение двух парадигм: Consistency Models + GAN loss. Использование предобученной диффузионной модели для выделения признаков, на которых считается GAN loss: [https://arxiv.org/abs/2403.12015 Latent Adversarial Diffusion Distillation (LADD)]. Использование диффузионной модели в качестве обучающего сигнала для произвольного вида генератора: метод [https://arxiv.org/abs/2311.18828 Distribution Matching Distillation] (его прототип [https://arxiv.org/abs/2305.18455 Diff-Instruct], конкурентная работа [https://arxiv.org/abs/2312.05239 SwiftBrush] и улучшенная версия [https://arxiv.org/html/2405.14867v1 Improved DMD]). | ||
| + | |||
| + | '''Лекция / Семинар 8.''' Ускорение генерации из диффузионных моделей с помощью солверов ОДУ. Методы, более точно приближающие ОДУ с помощью промежуточных точек: метод Хойна, методы Рунге-Кутта. Линейные многошаговые методы (linear multi-step, LMS): использование только предыдущих значений векторного поля для разностного приближения производных высших порядков. [https://arxiv.org/abs/2206.00927 DPM-Solver]: использование полу-линейной структуры диффузионных ОДУ и log-SNR замены времени для более точного приближения честного решения. [https://disk.yandex.ru/d/pYjKp72UfX9LPw Семинарский ноутбук.] | ||
| + | |||
| + | Обучение сетки дискретизации с помощью дистилляции многошаговой схемы в малошаговую: [https://arxiv.org/abs/2405.15506 LD3]. Обучение коэффициентов солвера: [https://arxiv.org/abs/2502.17423 S4S]. [https://arxiv.org/abs/2510.17699 Generalized Adversarial Solver (GAS)]: эффективная параметризация для обучения сетки дискретизации и коэффициентов солвера, соединение функционала дистилляции с GAN loss для улучшения деталей сгенерированных изображений. Статья написана коллективом из BayesGroup: [https://github.com/3145tttt/GAS GitHub]. | ||
| + | |||
| + | '''Лекция / Семинар 9.''' Диффузионные модели как процессы интерполяции между шумом и данными. Модель [https://arxiv.org/abs/2210.02747 Flow Matching] (аналоги [https://arxiv.org/abs/2302.00482 Conditional Flow Matching] и [https://arxiv.org/abs/2209.15571 Stochastic Interpolants]): построение ОДУ, порождающего безусловную динамику при известном ОДУ, порождающем условную динамику. Применение к задаче безусловной генерации. Применение к парным задачам переноса стиля: Flow Matching [https://arxiv.org/abs/2209.03003 снижает] транспортную цену. Представление диффузионных моделей в качестве частного случая модели Flow Matching. Статьи про решение парных задач [https://arxiv.org/abs/2310.03725 на основе ОДУ] и [https://arxiv.org/abs/2302.05872 на основе СДУ]. | ||
| + | |||
| + | '''Лекция / Семинар 10.''' Задача оптимального транспорта (ОТ): задача Монжа и Канторовича, их эквивалентность при наличии плотностей у обоих распределений. Применимость модели Flow Matching для непарных задач: снижение транспортной цены не гарантирует хорошего отображения. Алгоритм [https://arxiv.org/abs/2209.03003 Rectified Flow] (теоретическое [https://arxiv.org/abs/2209.14577 дополнение]): повторное обучение Flow Matching (процедуры Rectify) для последовательного снижения транспортной цены отображения. Неподвижные точки Rectify: 4 эквивалентных свойства. Следствие: решение задачи ОТ может быть представлено в виде ОДУ с прямыми траекториями. Задача динамического ОТ, формула Бенаму-Бренье. Интерпретация метода Rectified Flow как чередования проецирования на множество процессов с прямыми траекториями и множество процессов, заданных ОДУ. ОДУ с прямыми траекториями решает задачу ОТ тогда и только тогда, когда векторное поле задается градиентом скалярного. Пример обратного: гауссовское распределение и процесс поворота. | ||
== Материалы прошлых лет == | == Материалы прошлых лет == | ||
Текущая версия на 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 как чередования проецирования на множество процессов с прямыми траекториями и множество процессов, заданных ОДУ. ОДУ с прямыми траекториями решает задачу ОТ тогда и только тогда, когда векторное поле задается градиентом скалярного. Пример обратного: гауссовское распределение и процесс поворота.