Диффузия и потоки
Шумоподавление — это и есть score
Одно тождество, из-за которого диффузия обучается простым MSE
Тождество
Урок 040 закончился тупиком: обучать score можно, но след якобиана стоит проходов. Выход такой — если зашумление известно, score условного распределения выписывается явно.
Из урока 010: , то есть . Score гауссианы известен:
Второе равенство — подстановка определения . Проверено численно: при , , обе стороны дают , разность в точности нуль.
Смысл в том, что справа стоит величина, которую мы знаем. Мы сами взяли , когда готовили обучающий пример. Значит регрессия «предскажи по » — это регрессия на score, только со сдвинутым масштабом.
Почему условный score годится вместо безусловного
Здесь легко пропустить главное. Нам нужен — score маргинального распределения, а известен — условного. Это разные вещи.
Тождество Винсента говорит, что минимизация по обеим целям даёт одно и то же решение:
Причина, если убрать выкладки: оптимум квадратичной регрессии — условное среднее (блок 3, урок 050). Обучаясь предсказывать условный score, сеть в оптимуме выдаёт его среднее по всем , совместимым с данным , — а это и есть маргинальный score.
Формулировка, которую стоит запомнить: сеть учится на величине, которую нельзя знать в момент генерации, и в оптимуме выдаёт величину, которую знать можно. Тот же приём, что в блоке 4 с ELBO, и он же — причина, по которой обучение диффузии выглядит подозрительно просто.
Цель обучения
Собираем всё вместе:
Обычный MSE. Ни KL, ни следа якобиана, ни нормировочной константы, ни цепи — одна выборка , один , один прогон сети. Именно эта простота, а не какая-то особая архитектура, объясняет, почему диффузия вытеснила предшественников.
Стоит отметить, что — не совсем ELBO. Точная вариационная нижняя граница содержит веса, зависящие от ; DDPM их выбросил, и получившаяся «упрощённая» цель работает лучше. Интерпретация: веса ELBO переоценивают шаги с малым шумом, где задача проста и почти нечему учиться.
Три эквивалентные параметризации
Одну и ту же функцию можно предсказывать в трёх видах, и они переводятся друг в друга алгеброй:
| предсказываем | обозначение | связь |
|---|---|---|
| шум | базовая | |
| чистые данные | ||
| score |
Математически это одно и то же; численно — нет, и разница практическая:
- при (мало шума) деление на взрывается, и -параметризация численно неудобна;
- при (много шума) деление на взрывается у -параметризации;
- отсюда -параметризация (), которая ведёт себя прилично на обоих концах.
Поставьте время близко к нулю и к единице и посмотрите на и — видно, какое из делений опасно на каком конце.
данные при t
сигнал/шум, log-шкала
- ᾱ
- 0.4938
- √ᾱ
- 0.7027
- √(1−ᾱ)
- 0.7114
- сигнал/шум
- 0.976
- равенство при t
- 0.496
Шум преобладает. В этом режиме предсказание x₀ численно ненадёжно: делить приходится на малое √ᾱ.
Формула Tweedie
Ещё одна запись того же факта, полезная тем, что переводит всё на язык статистики:
Проверено: при , , подстановка score даёт ровно .
Читается так: апостериорное среднее чистых данных выражается через score зашумлённых. То есть score и оптимальный шумоподавитель — одно и то же, записанное разными буквами. Отсюда и название темы: сеть, обученная убирать шум, автоматически оценивает score, даже если её авторы про score не думали.
Итог
- — score условного распределения известен точно, потому что зашумление задали мы.
- Минимизация по условному score даёт в оптимуме маргинальный (тождество Винсента), потому что оптимум MSE — условное среднее.
- Цель обучения — обычный MSE по предсказанию : без следа, без цепи, без .
- Три параметризации (, , score) эквивалентны алгебраически и различаются численной устойчивостью на концах диапазона.
- Формула Tweedie говорит то же самое иначе: оптимальный шумоподавитель и score — один объект.
Источники
- Vincent — A Connection Between Score Matching and Denoising Autoencoders — Тождество denoising score matching, ядро всей темы
- Ho, Jain, Abbeel — Denoising Diffusion Probabilistic Models — Упрощённая цель обучения и почему она работает
- Efron — Tweedie's Formula and Selection Bias — Формула Тweedie, связывающая апостериорное среднее со score
Проверки
0 из 2Почему MSE по шуму — это score matching
Отметьте все верные утверждения о связи шумоподавления и score.
Три параметризации одного объекта
Реализуйте
denoising_forms(alpha_bar, x0, eps). Пусть . Верните[x_t, score, x0_recovered, v]:x_t— зашумлённое состояние по формуле выше;score= — score условного распределения ;x0_recovered= — формула Tweedie. Она обязана вернуть исходное точно;v= — величина -параметризации.
Третье число — проверка всей конструкции: если оно не совпадает с переданным
x0, ошибка в одном из двух предыдущих.Загрузка редактора…
Ctrl/⌘ + Enter