Эта серия статей познакомит вас со всей необходимой информацией о самых популярных генеративных моделях современности. (Торжественно клянусь не углубляться в математику, но тем, кому она интересна, я предоставлю ссылки.) Начнем!

После большого успеха других генеративных моделей, таких как GAN, VAE, Normalizing Flows и Transformers, уже более десяти лет, вероятностные модели шумоподавления (или сокращенно DDPM) правят днем. Первоначально предложенные в 2015 году, они получили должное признание после модификаций 2020 года. В этой серии будут рассмотрены следующие темы:

Часть 1: Основополагающие принципы DDPM (Вы здесь!)

Часть 2: Ускорение: скрытая / стабильная диффузия, модели согласованности, диффузионная GAN.

Часть 3: Настройка диффузионных моделей

Часть 4: Приложения и обобщение диффузионных моделей

Основная идея

Статистическое определение: «Распространение — это процесс преобразования сложного распределения в предопределенное более простое».

Для тех, кто любит заниматься вероятностной стороной дела, процесс диффузии можно описать как марковский процесс/цепь Маркова, т. е. стохастический процесс, в котором вероятность текущего состояния/события зависит исключительно на состояние, достигнутое в предыдущем событии. Пример цепи Маркова:

Процесс прямого распространения

Теперь представьте, что переход от одного состояния к другому состоит в добавлении гауссовского шума к совершенно хорошему изображению, пока, в конце концов, не останется только шум. И вуаля — вот наш процесс прямого распространения:

Для тех из вас, кто касался обработки сигналов в какой-то момент своей карьеры, это может показаться пугающе знакомым — формулы отношения шума к сигналу и тому подобное. В этом случае изображение можно условно интерпретировать как сигнал или среднее значение, а шум — это, ну, шум или дисперсию, а β — коэффициент диффузии, или интуитивно скорость, с которой изображение рассеивается в шум. При достаточно малом β (постепенный процесс диффузии) распределение является почти изотропным гауссовым.

Интересно, хотя, возможно, и не очень удивительно, добавление гауссовского шума к изображению много-много раз приводит к… гауссовскому шуму. Математически к этому выводу можно прийти с помощью трюка репараметризации вместе с так называемым Nice Property. Или, говоря более статистически, предположение Гаусса и центральная предельная теорема. Если вы заинтересованы в фактических выводах, стоящих за этим, пожалуйста, проверьте этот замечательный пост в блоге блестящей Лилиан Венг.

На практике это означает, что шум является аддитивным, и мы можем пропустить столько шагов, сколько захотим, продвигаясь вперед, и попасть прямо в скрытое пространство пикселей:

На данный момент нам удалось превратить совершенно хорошее изображение в шум. Поздравляем — прямое распространение завершено!

Процесс обратной диффузии

Так случилось, что интересующий нас процесс на самом деле представляет собой обратную диффузию:

Если бы обратный процесс было легко вычислить, эта проблема была бы математической и не имела бы ничего общего с машинным обучением (ML — это все о приближениях и оптимизации). Но к счастью —

Обратное распространение оказывается неуправляемым. Чтобы спрогнозировать менее зашумленную версию изображения на основе более шумной вероятностно, нам нужно знать истинное распределение всех данных. (Это немного похоже на знание точного положения каждого атома в мире.)

Графическое объяснение прямой диффузии:

Что касается обратной диффузии, если вы действительно хотите собрать Питера Паркера из пыли, вам, вероятно, нужно точно знать, чему именно [каждое значение зашумленного пиксельного пространства соответствует в изображение] как каждая пылинка способствует структурной целостности Питера, на самом деле вам нужно знать, как именно устроены люди-пауки, то есть все распределение вселенной:

Легко видеть, что обратное — гораздо более сложная задача. Теперь о наших Камнях Бесконечности…

Мы не можем вычислить обратную диффузию, но можем аппроксимировать ее с помощью параметрического распределения.

Мы делаем это, обучая U-Net предсказывать один шаг шумоподавления за раз. Повторение этого итеративным образом должно генерировать изображение из зашумленного пиксельного пространства. В приведенной выше формуле p представляет собой параметрическую модель (оценочное параметризованное распределение), U-Net, изображений с меньшим уровнем шума, θявляетсяпараметры такой обученной U-Net,вы также можете думать о µкак о сигнале или образе, который необходимо обнаружить и Σ как шум, который необходимо удалить.

Следовательно, условно один шаг шумоподавления (~1000) выглядит следующим образом:

Таким образом, изначально при обучении, поскольку отрицательная логарифмическая вероятность не может быть рассчитана, нам пришлось бы минимизировать следующую вариационную верхнюю границу:

Однако в дальнейшем было обнаружено, что в реальности гораздо проще предсказать сам шум, чтобы потом вычесть его из зашумленного изображения, поэтому функция потерь теперь имеет другой упрощенный вид:

И последний шаг шумоподавления U-Net выглядит примерно так:

Который повторяется примерно 1000 раз, чтобы «устранить шумы» или более, действительно генерирует изображение. Поздравляем! Мы закончили процесс шумоподавления диффузии.

DDPM против других генеративных моделей

Теперь, когда мы понимаем, как работают DDPM, самое время выяснить, как они соотносятся с другими генеративными моделями.

Как видно из приведенного выше изображения, DDPM, как и нормализующие потоки, по умолчанию не были снабжены узким местом для уменьшения размера самой модели. U-Net частично решил эту проблему. Тем не менее, когда дело доходит до трилеммы генеративной модели, DDPM в основном оказываются на более медленной стороне:

Много усилий было потрачено на их ускорение, и мы собираемся рассказать о некоторых из полученных моделей в следующей статье серии, в том числе о знаменитых Моделях стабильной диффузии.

Спасибо, что прочитали!