В лекции курса CS236 Стэнфордского университета, посвященного глубоким генеративным моделям, подробно разбираются энергетические модели (Energy-Based Models, EBM). Этот класс алгоритмов предлагает альтернативный подход к моделированию вероятностных распределений, снимая жесткие архитектурные ограничения, свойственные авторегрессионным моделям и нормализующим потокам. Лектор объясняет математический фундамент EBM, их историческое значение для глубокого обучения и их тесную связь с современными диффузионными моделями.
🌌 Пространство генеративных моделей: Свобода против ограничений 0:05
При создании генеративной модели исследователи работают с неизвестным истинным распределением данных, имея лишь выборку независимых одинаково распределенных (IID) объектов. Традиционный подход заключается в выборе семейства моделей и функции потерь, такой как правдоподобие или дивергенция Кульбака — Лейблера (KL). Авторегрессионные модели, нормализующие потоки и вариационные автокодировщики (VAE) позволяют точно или приближенно оценивать вероятность точки данных, что делает обучение на основе максимизации правдоподобия очень строгим и принципиальным методом. Однако этот подход накладывает серьезные ограничения на архитектуру нейронных сетей: функция должна представлять собой корректную плотность вероятности, что требует применения правила произведения (цепного правила), обратимых структур или сложных аппроксимаций.
На другом полюсе находятся неявные (implicit) модели, такие как генеративно-состязательные сети (GAN), которые определяют распределение через саму процедуру генерации (семплирования). Платой за гибкость архитектуры становится невозможность прямого измерения сходства через KL-дивергенцию; вместо этого используется минимаксная оптимизация и двухвыборочный критерий (two-sample test) с участием дискриминатора. Как подчеркивает лектор, на практике минимаксная оптимизация GAN оказывается крайне нестабильной: прогресс обучения трудно отслеживать, потери (losses) не отражают реальное качество, а модели часто страдают от коллапса мод (mode collapse). Энергетические модели (EBM) призваны совместить гибкость архитектуры GAN со стабильностью обучения на основе правдоподобия.
🍰 Дилемма нормализации: Почему сложно разделить пирог 6:45
С математической точки зрения вероятностная модель — это функция, которая принимает объект $x$ (изображение, текст) и возвращает скаляр. Эта функция должна удовлетворять двум условиям:
- Неотрицательность: для любого входа значение должно быть больше или равно нулю.
- Нормированность: сумма вероятностей (или интеграл плотности) по всему пространству должна быть строго равна единице.
Гарантировать неотрицательность просто. Лектор приводит примеры того, как любую базовую нейросеть $f_\theta(x)$ можно превратить в неотрицательную функцию $g_\theta(x)$:
- Возведением в квадрат: $g_\theta(x) = f_\theta(x)^2$.
- Взятием экспоненты: $g_\theta(x) = \exp(f_\theta(x))$.
- Вычислением абсолютного значения: $g_\theta(x) = |f_\theta(x)|$.
Главная сложность заключается в нормировке. Общий объем вероятностной массы должен быть строго фиксирован. Лектор предлагает аналогию с пирогом: если увеличить размер одного куска (вероятность одного конкретного объекта), остальные куски неизбежно уменьшатся. Это ключевое свойство позволяет модели во время обучения снижать вероятность «плохих» или нереалистичных объектов по мере увеличения вероятности реальных данных из обучающей выборки. В авторегрессионных или потоковых моделях нормированность заложена в саму архитектуру по определению, но если взять произвольную глубокую нейросеть, интеграл ее значений по всему пространству будет зависеть от параметров $\theta$ и не будет равен единице.
В простых аналитических случаях нормировочную константу (статистическую сумму) можно рассчитать вручную. Например:
- Для нормального распределения (Gaussian PDF) функция имеет вид квадратной экспоненты, а нормировочный множитель равен $\sqrt{2\pi\sigma^2}$.
- Для экспоненциального распределения нормировочная константа равна $1/\lambda$.
- Эти и другие распределения (Пуассона, Бернулли) входят в широкое экспоненциальное семейство (exponential family).
Однако, как только вместо простых функций подставляется глубокая нейросеть, аналитическое вычисление этого интеграла становится невозможным.
💥 Энергетический подход и связь с физикой 29:10
Энергетические модели предлагают отказаться от жестких рамок и работать с ненормированными вероятностями напрямую. Формально EBM определяется через уравнение:
$$p_\theta(x) = \frac{\exp(f_\theta(x))}{Z_\theta}$$
где $Z_\theta = \int \exp(f_\theta(x)) dx$ — это функция распределения или нормировочная константа, называемая партиционной функцией (partition function).
Использование экспоненты в числителе лектор объясняет двумя причинами:
- Она позволяет эффективно отражать огромные перепады в вероятностях между реальными объектами и случайным шумом, сглаживая изменения на выходе нейросети.
- Она напрямую заимствована из статистической физики (в частности, из второго начала термодинамики), где величина $-f_\theta(x)$ интерпретируется как энергия состояния. Физические системы стремятся к состояниям с минимальной энергией, что соответствует максимальной вероятности в модели.
Отвечая на вопрос из аудитории о сходстве с функцией Softmax, лектор соглашается, что Softmax представляет собой простейший вариант EBM. Разница заключается в размерности: в Softmax знаменатель представляет собой сумму по фиксированному числу классов $K$, которую легко вычислить точно. В случае же многомерных непрерывных данных (например, изображений высокого разрешения) пространство возможных конфигураций растет комбинаторно и экспоненциально — это проявление проклятия размерности (curse of dimensionality). Из-за этого точный расчет $Z_\theta$ становится практически невозможным, что делает вычисление точной вероятности объектов и генерацию новых семплов крайне медленными процессами.
⚖️ Сила относительных сравнений: Где константа Z не нужна 47:09
Несмотря на вычислительный тупик со знаменателем, существует целый класс практических задач, где знать точное значение партиционной функции $Z_\theta$ не требуется. Если необходимо сравнить два объекта $x$ и $x'$ по их вероятности, математическое отношение принимает вид:
$$\frac{p_\theta(x)}{p_\theta(x')} = \frac{\exp(f_\theta(x)) / Z_\theta}{\exp(f_\theta(x')) / Z_\theta} = \frac{\exp(f_\theta(x))}{\exp(f_\theta(x'))}$$
Константа $Z_\theta$ в числителе и знаменателе полностью сокращается. Используя аналогию с пирогом, можно легко оценить относительный размер двух кусков, не зная точного веса всего пирога. Подобное свойство позволяет использовать EBM для таких задач, как детекция аномалий, распознавание объектов, разметка последовательностей и восстановление изображений.
В качестве классического примера лектор приводит задачу очистки изображений от шума (denoising). Пусть $y$ — исходное чистое изображение, а $x$ — его зашумленная версия. Совместное распределение можно задать через энергетическую функцию:
$$p(x, y) = \frac{1}{Z} \exp(-E(x, y))$$
где энергия $E(x, y)$ включает в себя локальные взаимодействия между пикселями (требование сходства $x_i$ и $y_i$) и пространственные априорные ожидания (соседние пиксели чистого изображения должны быть близки по значению). Поиск наиболее вероятного чистого изображения сводится к максимизации $p(y|x)$, где константа $1/Z$ выступает лишь постоянным масштабирующим множителем и не влияет на точку оптимума.
Еще одно преимущество EBM заключается в возможности гибкого композиционирования моделей через механизм произведения экспертов (Product of Experts, PoE). Если объединить несколько независимых нормированных моделей через произведение, то такое объединение будет работать как логический оператор «И» (AND). Если хотя бы один эксперт сочтет объект невозможным (присвоит нулевую вероятность), то и вся композиция выдаст ноль. Это принципиально отличает PoE от смесей моделей (Mixture Models), которые работают как мягкий оператор «ИЛИ» (OR), усредняя показатели экспертов. Благодаря этому свойству в EBM можно элегантно комбинировать независимые концепты (например, модель, генерирующую молодых людей, и модель, генерирующую женщин), получая на выходе их пересечение. При этом суммарная энергия системы становится просто суммой логарифмов правдоподобия отдельных экспертов.
🏛️ Ограниченные машины Больцмана (RBM) 59:05
Исторически важным примером EBM с латентными переменными является Ограниченная машина Больцмана (Restricted Boltzmann Machine, RBM). В этой модели и видимые переменные $x$ (например, пиксели), и латентные признаки $z$ являются бинарными. Совместное распределение задается квадратичной формой энергии:
$$E(x, z) = -x^T W z - b^T x - c^T z$$
где $W$ — матрица весов, а $b$ и $c$ — векторы смещений. Слово «ограниченная» означает отсутствие связей внутри одного слоя (нет связей между элементами $x$ или между элементами $z$), взаимодействия происходят только между слоями.
По словам лектора, RBM сыграли колоссальную роль в истории искусственного интеллекта. В начале эпохи глубокого обучения исследователи не умели эффективно обучать многослойные сети методом обратного распространения ошибки из-за затухания градиентов. Единственным работающим решением в тот период было послойное ненаправленное предобучение (pre-training) сетей как генеративных моделей на базе RBM. Ученые последовательно обучили слои, объединяя их в Глубокие машины Больцмана (Deep Boltzmann Machines, DBM), и использовали полученные веса в качестве хорошей инициализации для последующего обучения с учителем. Именно этот трюк позволил запустить революцию глубокого обучения в конце 2000-х годов. Однако барьер оставался прежним: точный расчет партиционной функции для RBM требует перебора $2^n \times 2^m$ конфигураций, что вынуждало ученых искать обходные пути аппроксимации.
🧮 Обучение EBM через Контрастивную Дивергенцию 1:07:33
Чтобы обучить энергетическую модель методом максимального правдоподобия, необходимо взять градиент логарифма правдоподобия по параметрам $\theta$. Математический вывод градиента раскрывает важную структуру:
$$\nabla_\theta \log p_\theta(x_{data}) = \nabla_\theta f_\theta(x_{data}) - \mathbb{E}{x \sim p\theta}[\nabla_\theta f_\theta(x)]$$
Этот градиент состоит из двух фаз:
- Положительная фаза (первое слагаемое): вычисляется градиент сети на реальном объекте из обучающей выборки. Это значение тривиально находится методом backpropagation.
- Отрицательная фаза (второе слагаемое): вычисляется математическое ожидание градиента функции по всему текущему распределению модели.
Интуитивно процесс обучения похож на балансировку сил: градиент стремится подтянуть вверх («вытолкнуть») значение функции для правильного ответа (реальных данных) и одновременно придавить вниз значения для всех остальных «неправильных» ответов (семплов самой модели). Если просто максимизировать значение на реальных данных, не контролируя знаменатель, то общая масса пирога вырастет еще сильнее, и относительная вероятность целевой точки упадет.
Поскольку вычислить точное матожидание в отрицательной фазе невозможно, используется алгоритм Контрастивной Дивергенции (Contrastive Divergence, CD). Идея алгоритма заключается в замене точного матожидания его Монте-Карло оценкой по одному или нескольким негативным семплам, сгенерированным текущей моделью. Полученный оценщик является несмещенным и позволяет эффективно корректировать параметры, заставляя относительную вероятность реальных данных расти.
🎲 Семплирование в EBM: Метод Монте-Карло по схеме Марковских цепей (MCMC) 1:18:47
Главный открытый вопрос алгоритма контрастивной дивергенции — как именно получить негативные семплы из модели, если у нас нет явного порядка переменных (как в авторегрессионных сетях) и мы не знаем нормировочную константу. Решением выступают локальные стохастические методы — алгоритмы Монте-Карло по схеме Марковских цепей (MCMC), в частности, алгоритм Метрополиса — Гастингса.
Процедура генерации выглядит следующим образом:
- Инициализация: процесс начинается со случайной точки $x_0$ (например, из чистого шума).
- Возмущение: на каждом шаге к текущему состоянию $x_t$ добавляется небольшой случайный шум, формируя кандидат на замену $x'$.
- Проверка: модель сравнивает ненормированные вероятности $\exp(f_\theta(x'))$ и $\exp(f_\theta(x_t))$, что математически корректно, так как константы $Z$ сокращаются.
- Принятие решений: если предложенный кандидат $x'$ имеет более высокую вероятность (движение «в гору»), алгоритм всегда переходит в эту точку. Если кандидат хуже (движение «под гору»), алгоритм не отбрасывает его сразу, а принимает с определенной вероятностью, пропорциональной степени ухудшения значения.
Отвечая на вопрос из зала, почему нельзя ограничиться исключительно шагами «в гору», лектор объясняет принципиальную разницу между оптимизацией и семплированием. Если всегда выбирать только лучшие варианты, алгоритм быстро застрянет в ближайшем локальном максимуме плотности вероятности и будет выдавать одну и ту же точку. Допущение шагов «под гору» дает системе необходимую стохастическую энергию для выхода из локальных ловушек и позволяет полноценно исследовать все многообразие пространства данных. Теорема гарантирует, что при достаточно большом числе шагов такая Марковская цепь сойдется к истинному распределению модели. Несмотря на высокую вычислительную стоимость на этапе инференса, именно этот математический каркас лег в основу современных сверхуспешных диффузионных моделей.