Понимание основ шумоподавления вероятностных моделей диффузии

1. Введение

В недавнем прошлом я говорил о GAN и VAE как о двух важных генеративных моделях, добившихся большого успеха и признания. GAN отлично работают для нескольких приложений, однако их трудно обучать, а их выходным данным не хватает разнообразия из-за нескольких проблем, таких как коллапс режима и исчезающие градиенты, и это лишь некоторые из них. Однако, хотя VAE имеют наиболее прочную теоретическую основу, моделирование хорошей функции потерь является проблемой в VAE, что делает их выходные данные неоптимальными.

Существует еще один набор методов, которые происходят из вероятностных методов оценки правдоподобия и черпают вдохновение из физических явлений; она называется «Модели диффузии». Центральная идея, лежащая в основе моделей диффузии, исходит из термодинамики молекул газа, согласно которой молекулы диффундируют из областей с высокой плотностью в области с низкой плотностью. Это движение часто называют в литературе по физике увеличением энтропии или тепловой смертью. В теории информации это приравнивается к потере информации из-за постепенного вмешательства шума.

Ключевая концепция диффузионного моделирования заключается в том, что если бы мы могли построить модель обучения, которая может изучать систематическое затухание информации из-за шума, то должна быть возможность обратить процесс вспять и, следовательно, восстановить информацию обратно из шума. Эта концепция похожа на VAE в том смысле, что она пытается оптимизировать целевую функцию, сначала проецируя данные в скрытое пространство, а затем восстанавливая их обратно в исходное состояние. Однако вместо того, чтобы изучать распределение данных, система стремится смоделировать ряд распределений шума в цепи Маркова и «декодировать» данные, удаляя/удаляя шумы в иерархическом порядке.

2. Модель диффузии шумоподавления

Идея шумоподавляющей диффузионной модели существует уже давно. Он уходит корнями в концепцию диффузионных карт, которая является одним из методов уменьшения размерности, используемых в литературе по машинному обучению. Он также заимствует понятия из вероятностных методов, таких как цепи Маркова, которые использовались во многих приложениях. Оригинальный метод Denoising Diffusion был предложен Sohl-Dickstein et al. [1].

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

3. Процесс переадресации

Мы можем формально определить процесс прямой диффузии как цепь Маркова, и поэтому, в отличие от кодировщика в VAE, он не требует обучения. Начиная с начальной точки данных, мы добавляем гауссовский шум для Tпоследовательных шагов и получаем набор зашумленных выборок.Прогноз плотности вероятности в момент времени tзависит только от непосредственного предшественника в момент времени t-1 и, следовательно, условная плотность вероятности можно вычислить следующим образом:

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

Здесь среднее значение и дисперсия функции плотности зависят от параметра βτ, который является гиперпараметром, значение которого может либо приниматься постоянным на протяжении всего процесса, либо постепенно изменяться на последовательных шагах. Для дифференциального присвоения значения параметра может быть диапазон функций, которые можно использовать для моделирования поведения (например, сигмоидальная, тангенсная, линейная и т. д.).

Вышеупомянутого вывода достаточно, чтобы предсказать последовательные состояния, однако, если мы хотим произвести выборку в любой заданный интервал времени t без прохождения всех промежуточных шагов, что позволяет эффективная реализация, то мы можем переформулировать приведенное выше уравнение, заменив гиперпараметр как ατ = 1 — βτ. Переформулировка вышеизложенного становится следующей:

Чтобы получить выборки на временном шаге t с оценкой плотности вероятности, доступной на временном шаге t-1, мы можем использовать другую концепцию из термодинамики, называемую «динамика Ланжевена». Согласно стохастической градиентной динамике Ланжевена [2] мы можем отбирать новые состояния системы только по градиенту функции плотности в обновлениях цепи Маркова. Выборка новой точки данных в момент времени t для размера шага ε на основе предыдущей точки в момент времени t- 1 можно вычислить следующим образом:

4. Реконструкция

Обратный процесс требует оценки плотности вероятности на более раннем временном шаге с учетом текущего состояния системы. Это означает оценку q(χτ-1 | χτ) при t=T и, таким образом, создание выборки данных из изотропного гауссова шума. Однако, в отличие от прямого процесса, оценка предыдущего состояния из текущего состояния требует знания всех предыдущих градиентов, которые мы не можем получить, не имея модели обучения, которая может предсказывать такие оценки. Следовательно, нам придется обучить модель нейронной сети, которая оценивает ρθ(χτ-1|χτ) на основе изученных весов θ и текущего состояния в момент времени т. Это можно оценить следующим образом:

Параметризация для средней функции была предложена Ho. и др. [3] и может быть вычислено следующим образом:

Авторы в Ho. и другие. [3] предложил использовать фиксированную функцию дисперсии как Σθ = βτ. Затем выборку во время t-1можно рассчитать следующим образом:

5. Обучение и результаты

5.1. Построение модели

Модель, используемая при обучении для модели распространения, следует тем же шаблонам, что и сеть VAE, однако она часто намного проще и прямолинейнее по сравнению с другими сетевыми архитектурами. Входной слой имеет тот же входной размер, что и размеры данных. В зависимости от глубины сетевых требований может быть несколько скрытых слоев. Средние слои представляют собой линейные слои с соответствующими функциями активации. Конечный слой снова имеет тот же размер, что и исходный входной слой, тем самым восстанавливая исходные данные. В Denoising Diffusion Networks последний слой состоит из двух отдельных выходных данных, каждый из которых предназначен для среднего значения и дисперсии прогнозируемой плотности вероятности соответственно.

5.2. Вычисление функции потерь

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

Сокращенная форма этой функции потерь была предложена в Sohl-Dickstein et al.[1], в которой потери представлены в виде линейной комбинации KL-расхождения между двумя гауссовыми распределениями и набором энтропий. Это упрощает вычисления и упрощает реализацию функции потерь. Тогда функция потерь принимает вид:

Дальнейшее упрощение и улучшение было предложено Ho et al. [3] в функции потерь, посредством чего используется параметризация среднего значения, как описано в предыдущем разделе для прямого процесса. Следовательно, функция потерь примет вид:

5.3. Результаты

Результаты для прямого процесса, который добавляет гауссовский шум по цепи Маркова, можно увидеть на следующем рисунке. Общее количество временных шагов составило 100, а на этом рисунке показано 10 выборок из сгенерированного набора последовательностей.

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

6. Выводы

В этой статье мы обсудили основы диффузионных моделей и их реализацию. Хотя диффузионные модели требуют больших вычислительных ресурсов, чем другие архитектуры глубоких сетей, тем не менее, в некоторых приложениях они работают намного лучше. Например, в недавних приложениях к задачам синтеза текста и изображений диффузионные модели превзошли другие архитектуры [4]. Дополнительные сведения о реализации и код можно найти в следующем репозитории github: https://github.com/azad-academy/denoising-diffusion-model.git.

Подпишитесь и следите за дальнейшими обновлениями: azad-wolf.medium.com/

Ссылки

[1] Sohl-Dickstein, J., Weiss, E.A., Maheswaranathan, N., & Ganguli, S. (2015). Глубокое обучение без учителя с использованием неравновесной термодинамики. Препринт arXiv arXiv:1503.03585.

[2] Макс Веллинг и Йи Уай Тех. Байесовское обучение с помощью стохастической градиентной динамики Ланжевена. ICML 2011.

[3] Хо, Дж., Джейн, А., и Аббил, П. (2020). Вероятностные модели диффузии с шумоподавлением. Препринт arXiv arXiv: 2006.11239.

[4] Prafulla Dhariwal, Alex Nichol, Модели диффузии превзошли GAN по синтезу изображений, arXiv: 2105.05233