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

Модели, основанные на количественных показателях, и VAE
В VAE нам необходимо вычислить нижнюю границу доказательства (ELBO), которая включает в себя расчет ожидаемого логарифмического правдоподобия данных в соответствии с моделью и Расхождение Кульбака-Лейблера (KL) между приблизительным и истинным апостериорным распределением. Термин дивергенции KL требует вычисления «доказательства» (предельной вероятности данных), что может быть дорогостоящим в вычислительном отношении или труднообрабатываемым для сложных моделей и многомерных данных.

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

Что такое оценка?
В контексте генеративных моделей, основанных на оценке, «оценка» относится к градиенту (или производной в одном измерении) логарифмической функции плотности вероятности распространение данных. Математически для точки данных x, полученной из распределения вероятностей p(x), оценка определяется как:

s(x) = ∇x log p(x)

где ∇x обозначает градиент по x. Функция оценки s(x) дает нам вектор, указывающий в направлении наискорейшего подъема логарифмической функции плотности вероятности в точке x. Это означает, что если мы будем двигаться от x в направлении счета, мы максимально увеличим логарифмическую плотность вероятности и, следовательно, плотность вероятности.

Чтобы проиллюстрировать это на примере, давайте рассмотрим одномерное гауссово (нормальное) распределение со средним значением μ и стандартным отклонением σ. Функция плотности вероятности (PDF) этого распределения:

p(x) = 1/(sqrt(2π)*σ) * exp(-(x-μ)² / (2σ²))

Тогда логарифмическая вероятность является логарифмом этой функции:

log(p(x)) = -log(sqrt(2π)*σ) — (x-μ)² / (2σ²)

Оценка точки данных x при этом распределении является производной логарифмической функции вероятности по x:

оценка (x) = d / dx log (p (x)) = (μ - x) / σ²

Это говорит нам о том, что оценка точки данных x при распределении Гаусса указывает на среднее значение распределения, а ее величина обратно пропорциональна квадрату стандартного отклонения. Другими словами, если мы движемся от x в направлении счета, мы будем двигаться в сторону области с большей плотностью (ближе к среднему), и скорость увеличения плотности будет больше, если распределение уже (меньше σ).
Эта концепция распространяется на более высокие измерения и более сложные распределения. В генеративной модели на основе оценок глубокая нейронная сеть обучается оценивать оценки на основе данных, что позволяет модели перемещаться в пространстве данных в соответствии с изученным распределением и генерировать новые данные, которые напоминают обучающие данные.

Функция потерь
Функция потерь, используемая в моделях на основе оценок, обычно является формой шумоподавления потерь. Идея состоит в том, чтобы обучить глубокую нейронную сеть прогнозировать исходные данные из искаженной версии данных. Для этого сети необходимо «устранить» повреждение, что требует понимания базовой структуры распределения данных. Эта структура фиксируется оценкой, которая представляет собой направление и скорость изменения логарифмической функции плотности вероятности.

Поскольку у нас нет доступа к фактической оценке распределения, мы используем нейронную сеть, чтобы узнать аппроксимацию функции оценки на основе данных. Нейронная сеть предназначена для получения точки данных в качестве входных данных и вывода вектора той же размерности, который является оценочной оценкой в ​​​​этой точке. Параметры сети изучаются путем оптимизации подходящей функции потерь, которая побуждает сеть производить точные оценки результатов. Один из распространенных подходов к обучению сети основан на идее «шумоподавления». Мы начинаем с добавления некоторого шума к каждой точке данных в нашем обучающем наборе, чтобы создать «зашумленную» версию данных. Затем мы обучаем нашу сеть прогнозировать разницу между зашумленными и исходными точками данных, деленную на уровень шума. Эта разница, деленная на уровень шума, служит косвенным показателем для оценки, основанной на интуитивном понимании, что оценка в точке указывает направление и скорость изменения логарифмической функции плотности вероятности в этой точке.
Математически, если x — это точка данных, а x' = x + εz — зашумленная версия x (где ε — уровень шума, а z — случайный вектор), мы обучаем сеть прогнозировать (x — x')/ε при заданном x'. Сеть обучается путем минимизации среднеквадратичной ошибки между ее прогнозами и этими целевыми значениями с использованием такого метода, как стохастический градиентный спуск.
После обучения сети ее можно использовать для оценки результатов в новых точках данных. Хотя эти оценки не точны, они могут быть достаточно точными, если сеть хорошо обучена и распределение данных достаточно гладкое. Затем эти оценочные баллы можно использовать для создания новых данных и оценки вероятности точек данных, как я описал в предыдущих разделах.

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

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

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

Вывод
Вывод в контексте моделей на основе оценок включает использование обученной модели для создания новых данных или оценки вероятности заданных точек данных. Этот процесс управляется баллами, оцененными моделью, и включает решение стохастического дифференциального уравнения (СДУ). Вот как это работает:
Чтобы создать новые данные, мы начинаем с выборки точки из простого распределения, такого как гауссово распределение. Эта точка служит начальным условием для СДУ, которое мы затем решаем в прямом времени. SDE имеет форму dx = f(x, t) dt + sqrt(2) dW, где x — состояние системы (точка данных), f(x, t) — функция, зависящая от состояния и времени, t, dt — небольшой временной шаг, а dW — стандартная нормальная случайная величина. представляет шум.
Функция f(x, t) обычно выбирается пропорциональной счету в x, что означает, что SDE будет иметь тенденцию двигаться x в направлении счета. Это позволяет нам постепенно преобразовывать исходную точку из простого распределения в точку из распределения данных, эффективно создавая новую точку данных.
Точно так же, если мы хотим оценить вероятность данной точки данных, мы используем аналогичный процесс, но в обратном порядке. Мы начинаем с точки данных и решаем SDE в обратном времени, следуя оценкам, чтобы преобразовать точку данных обратно в точку из простого распределения. Плотность точки данных при изученном распределении затем связана с плотностью преобразованной точки при простом распределении, которую можно легко вычислить.
SDE в обратном времени имеет форму dx = -f(x, t) dt + sqrt(2) dW, что означает, что она имеет тенденцию двигаться x против направления счета. Это позволяет нам «отменить» процесс генерации данных и оценить вероятность точки данных.
На практике решение SDE включает численное интегрирование, которое можно выполнить с помощью таких методов, как метод Эйлера, или более продвинутых методов, таких как метод Рунге. Методы Кутты. Этот процесс включает в себя дискретизацию переменной времени на небольшие шаги и обновление состояния x на каждом шаге в соответствии с SDE.
Вывод в моделях на основе оценок, таким образом, представляет собой динамический процесс, который включает навигацию в пространстве данных в соответствии с оценками и шум. Это позволяет моделям генерировать высококачественные выборки и оценивать вероятности без расчета константы нормализации распределения, что является значительным преимуществом по сравнению с традиционными генеративными моделями.

Применение моделей на основе оценок
1. Генерация данных
После обучения модели на основе оценок ее можно использовать для создания новых данных путем выборки из простого распределения (например, гауссова), а затем преобразовать выборку в распределение данных, следуя баллам. Этот процесс часто называют «выборкой на основе баллов». Оценки обеспечивают способ навигации в пространстве данных в соответствии с изученным распределением, позволяя модели генерировать высококачественные выборки, напоминающие обучающие данные.

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

3. Обнаружение аномалий
Еще одним применением моделей на основе оценок является обнаружение аномалий. Идея состоит в том, чтобы использовать оценки для измерения того, насколько «нормальной» является точка данных в соответствии с изученным распределением. Точки данных с необычно высокими или низкими оценками, вероятно, будут аномалиями, поскольку они лежат в областях пространства данных, где изученное распределение имеет низкую плотность. Это может быть полезно для обнаружения выбросов или необычных закономерностей в данных.

Заключение
Генерационные модели на основе оценок представляют собой многообещающий новый подход к генеративному ИИ. Научившись оценивать баллы вместо плотности вероятности, эти модели могут избежать необходимости вычисления доказательств, что является значительным преимуществом с точки зрения вычислительной эффективности и масштабируемости для данных высокой размерности. Хотя они более сложны и требуют больших вычислительных ресурсов, чем традиционные генеративные модели, их способность генерировать высококачественные выборки и оценивать вероятности делает их мощным инструментом для широкого круга приложений.