В лекции Стэнфордского университета подробно рассматривается концепция энергетических генеративных моделей (Energy Based Models), ставшая важной вехой в развитии искусственного интеллекта. Преподаватель курса CS236 анализирует математическую структуру EBM, их преимущества перед классическими архитектурами и ключевые вычислительные сложности. В материале раскрываются алгоритмы обучения через контрастивную дивергенцию и специфика семплирования методами Монте-Карло.
🌐 Пространство генеративных моделей и архитектурные ограничения 0:05
При создании любой генеративной модели исследователи исходят из того, что данные поступают из некоторого неизвестного истинного распределения, от которого у нас есть независимые одинаково распределенные выборки. Главная задача — определить семейство моделей и функцию потерь, которая оценивает близость модели к исходным данным.
Исторически популярным подходом стало использование функции максимального правдоподобия или дивергенции Кульбака — Лейблера (KL-дивергенции). Этот метод органично работает в авторегрессионных моделях, нормализующих потоках и, в определенной степени, в вариационных автокодировщиках (VAE), поскольку они позволяют точно или приближенно оценивать вероятность конкретной точки данных. Однако такой подход накладывает жесткие ограничения: математическая функция не может быть произвольной нейросетью, принимающей объект и возвращающей скаляр. Она обязана представлять собой валидную плотность вероятности. Для этого разработчикам приходится применять правило цепной вероятности, строить обратимые архитектуры или использовать сложные аппроксимации.
Другая крайность — это неявные модели, такие как генеративно-состязательные сети (GAN). Вместо явного вычисления плотности распределения они определяют исключительно процедуру генерации выборки (семплирования). Платой за гибкость архитектуры становится невозможность измерить близость распределений с помощью KL-дивергенции. Нам доступна лишь оценка схожести реальных и сгенерированных объектов через минимаксную оптимизацию, где генератор пытается обмануть дискриминатор. На практике отсутствие функции правдоподобия делает обучение GAN нестабильным: прогресс трудно отслеживать, модели страдают от коллапса моды (mode collapse), а сходимость сложно оценить по значению функции потерь.
🍰 Парадокс пирога: суть нормализационного ограничения 6:45
С математической точки зрения модель представляет собой функцию, которая принимает объект (например, изображение или текст) и возвращает скалярное значение. Чтобы эта функция стала валидной плотностью вероятности, она должна удовлетворять двум условиям:
- Быть неотрицательной для любых входных данных.
- Быть нормализованной — интеграл (или сумма в дискретном случае) по всему пространству возможных значений должен быть равен единице.
Обеспечить неотрицательность функции относительно легко. По словам лектора, достаточно добавить в финальный слой нейросети простую нелинейность. Для этого подходят следующие математические операции:
- Возведение выходного значения в квадрат.
- Применение экспоненциальной функции.
- Взятие модуля числа (абсолютного значения).
Второе условие — фиксированный объем общей массы вероятности — наложить гораздо сложнее. Профессор приводит наглядную аналогию с пирогом: если вы хотите увеличить размер одного куска (вероятность правильного объекта из обучающей выборки), остальные куски неизбежно должны уменьшиться, так как общий объем пирога равен единице.
Если взять произвольную глубокую нейросеть, сумма ее выходов по всему пространству не будет равна единице. Она будет выдавать некоторую величину, зависящую от внутренних параметров $\theta$. Традиционные модели (авторегрессионные или потоковые) вынуждены использовать специфическую внутреннюю алгебру, чтобы гарантировать нормализацию по определению. Энергетические модели (Energy Based Models) предлагают отказаться от этих архитектурных оков и работать с ненормализованными объектами напрямую.
📊 Математика энергетических моделей и экспоненциальное семейство 15:51
В основе Energy Based Models лежит фундаментальная идея: если у нас есть гибкая неотрицательная функция $g_\theta(x)$, мы можем превратить ее в полноценную вероятностную модель, просто разделив на общую площадь «вероятностного пирога». Математически это выражается формулой:
$$p_\theta(x) = \frac{g_\theta(x)}{Z(\theta)}$$
Здесь $Z(\theta)$ — это нормировочная константа, которая в статистической физике и машинном обучении называется статистической суммой или функцией разбиения (partition function). Она представляет собой интеграл от ненормализованной функции по всему пространству возможных входных параметров:
$$Z(\theta) = \int g_\theta(x) dx$$
В простейших случаях, когда функция $g_\theta(x)$ сильно ограничена, этот интеграл можно вычислить аналитически. Лектор иллюстрирует это классическими примерами из теории вероятностей:
- Гауссово распределение: если $g_\theta(x)$ — это возведенная в квадрат экспонента, то интеграл вычисляется в замкнутой форме, а нормировочный коэффициент перед экспонентой равен $\sqrt{2\pi\sigma^2}$.
- Экспоненциальное распределение: для функции $e^{-\lambda x}$ объем пространства равен $\frac{1}{\lambda}$.
Более общим примером является экспоненциальное семейство распределений (куда входят нормальное, пуассоновское, бернуллиевское и другие распределения). Однако, как подчеркивается в лекции, если подставить вместо простых функций глубокую нейросеть со множеством слоев, аналитически вычислить $Z(\theta)$ становится невозможно.
🧩 Алгебра композиции: как устроены авторегрессионные модели и VAE 22:34
Чтобы понять, почему EBM считаются более гибкими, полезно взглянуть на то, какими методами классические архитектуры обходят проблему вычисления интеграла. По сути, они занимаются упорядоченным комбинированием простых нормализованных элементов.
Авторегрессионные модели используют цепное правило теории вероятностей, раскладывая совместное распределение на произведение условных вероятностей. Если каждый отдельный условный шаг нормализован по определению (например, является одномерным Гауссианом, параметры которого — математическое ожидание и дисперсия — вычисляются нейросетью на основе предыдущих шагов), то и все произведение гарантированно интегрируется в единицу.
Вариационные автокодировщики (VAE) и модели на основе скрытых переменных действуют через выпуклые комбинации (смеси) распределений. Формула вида $\alpha p_\theta + (1 - \alpha) p_{\theta'}$ сохраняет свойство нормализации, поскольку интеграл первого компонента дает $\alpha$, а второго — $1 - \alpha$, что в сумме возвращает единицу. Декодер в VAE генерирует простые нормализованные объекты, а итоговое маргинальное распределение формируется за счет их непрерывного смешивания. Энергетические модели сознательно нарушают эти правила композиции ради достижения максимальной свободы в выборе архитектур.
📉 Физика искусственного интеллекта и проклятие размерности 29:24
Классическое уравнение энергетической модели выглядит следующим образом:
$$p_\theta(x) = \frac{\exp(f_\theta(x))}{Z(\theta)}$$
В качестве $f_\theta(x)$ может выступать абсолютно любая нейросетевая архитектура. Использование экспоненты обусловлено двумя ключевыми причинами:
- Масштабируемость вариаций: экспонента позволяет эффективно отражать колоссальные перепады вероятностей между реальными объектами и случайным шумом; небольшие изменения на выходе нейросети $f_\theta(x)$ приводят к масштабным изменениям итоговой плотности.
- Принцип максимальной энтропии: распределения экспоненциальной формы естественным образом возникают при поиске модели, которая минимизирует количество априорных допущений о данных.
Своё название модели получили из статистической физики и второго закона термодинамики, где величина $-f_\theta(x)$ интерпретируется как энергия системы. Физические конфигурации с меньшей энергией (что соответствует высокому значению $f_\theta(x)$) являются наиболее вероятными.
Знакомый всем разработчикам слой Softmax — это не что иное, как дискретный вариант энергетической модели. Однако в задачах классификации Softmax применяется к небольшому числу категорий $k$, поэтому знаменатель легко вычисляется простым суммированием.
В случае генерации высокоразмерных данных (например, изображений) объект $x$ может принимать экспоненциально огромное число значений. Попытка вычислить $Z(\theta)$ «в лоб» числовыми методами натыкается на проклятие размерности: вычислительная сложность растет комбинаторно, делая точный расчет невозможным. В результате в базовой формулировке EBM невозможно точно вычислить вероятность точки или быстро засемплировать новый объект.
⚖️ Жизнь без константы: относительные сравнения и очистка изображений от шума 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'))}$$
Благодаря этому свойству EBM исторически применялись в детекции аномалий, распознавании объектов, разметке последовательностей и реставрации изображений.
Классический пример — олдскульный метод очистки картинок от шума (denoising). Модель оперирует чистым (неизвестным) изображением $y$ и зашумленным (наблюдаемым) изображением $x$. Энергетическая функция кодирует локальные взаимодействия: пиксели $x_i$ должны быть похожи на $y_i$, а соседние пиксели чистого изображения должны иметь близкие значения. Чтобы восстановить картинку, исследователи ищут аргумент $y$, максимизирующий условную вероятность $p(y|x)$. Поскольку для всех кандидатов $y$ знаменатель $Z$ одинаков, он превращается в обычный масштабирующий множитель и никак не влияет на точку оптимума.
Кроме того, энергетический подход позволяет строить «произведение экспертов» (Product of Experts) для ансамблирования моделей. В отличие от обычного смешивания (которое работает как мягкое логическое «ИЛИ»), перемножение вероятностей независимых моделей действует как жесткое логическое «И». Если хотя бы один эксперт считает объект невозможным (вероятность 0), итоговое произведение зануляется. Энергия такого ансамбля тривиально вычисляется как сумма логарифмов правдоподобия отдельных сетей.
🏛️ Исторический триумф: Ограниченные машины Больцмана (RBM) 59:05
В историческом контексте EBM сыграли решающую роль в запуске современной эпохи глубокого обучения. Одной из первых успешных глубоких генеративных моделей стала Ограниченная машина Больцмана (Restricted Boltzmann Machine, RBM).
RBM представляет собой дискретную модель со скрытыми переменными, где как видимый слой $x$ (например, пиксели), так и скрытый слой $z$ (латентные признаки) состоят из бинарных переменных. Энергия системы задается квадратичной формой:
$$E(x, z) = -x^T W z - b^T x - c^T z$$
Модель называется «ограниченной», потому что в ней отсутствуют внутренние связи между элементами внутри одного слоя (нет связей типа $x_i x_j$ или $z_i z_j$) — взаимодействия происходят строго между видимым и скрытым слоями.
В 2009 году исследователи научились эффективно обучать RBM и объединять их в многослойные стеки, создавая Глубокие машины Больцмана (Deep Boltzmann Machines). По словам лектора, в те годы стандартное обучение глубоких сетей с учителем работало крайне плохо. Единственным способом заставить большие нейросети функционировать была предварительная инициализация их весов с помощью ненаправляемого обучения в режиме машины Больцмана. И хотя позже были найдены другие методы стабилизации (например, специфическая инициализация весов и новые функции активации), именно энергетические модели доказали жизнеспособность глубоких архитектур.
⚡ Градиент правдоподобия и алгоритм контрастивной дивергенции 1:07:33
Чтобы обучить энергетическую модель методом максимального правдоподобия, необходимо максимизировать логарифм вероятности объектов из обучающей выборки. Для увеличения значения дроби $\frac{g_\theta(x)}{Z(\theta)}$ алгоритм должен одновременно решать две задачи: увеличивать числитель для правильных объектов и уменьшать знаменатель (общую массу пирога).
Математический вывод градиента функции потерь по параметрам $\theta$ приводит к знаковому уравнению:
$$\nabla_\theta \log p_\theta(x) = \nabla_\theta f_\theta(x) - \mathbb{E}{x \sim p\theta(x)}[\nabla_\theta f_\theta(x)]$$
Первое слагаемое — это градиент ненормализованной функции (энергии) на реальном объекте данных. Его вычисление тривиально и выполняется методом обратного распространения ошибки. Второе слагаемое — это математическое ожидание градиента энергии по текущему распределению самой модели. Оно отражает то, как изменение параметров влияет на общую функцию разбиения.
Для практической реализации этого принципа был разработан алгоритм контрастивной дивергенции (Contrastive Divergence). Вместо честного подсчета матожидания по всему пространству, алгоритм оценивает его с помощью метода Монте-Карло по одной или нескольким выборкам. Процесс устроен следующим образом:
- Берется «положительный пример» (positive sample) из реального датасета, и модель подталкивает параметры так, чтобы увеличить его оценку.
- Генерируется «отрицательный пример» (negative sample) путем семплирования из текущего распределения модели.
- Модель корректирует параметры в противоположную сторону, чтобы снизить оценку этого негативного примера.
Градиентный шаг алгоритма эффективно сдвигает веса, заставляя реальные данные доминировать над типичными конфигурациями, которые генерирует сама модель.
🎲 Блуждание по ландшафту: семплирование методом MCMC 1:18:34
Финальный пазл технологии — как именно получить те самые «негативные примеры» (сгенерировать объекты из модели), если у нас нет простой последовательной структуры шагов, как в авторегрессионных сетях. Для этого применяется локальный стохастический поиск — методы цепей Маркова Монте-Карло (Markov Chain Monte Carlo, MCMC).
Алгоритм генерации объекта выглядит как итерационный цикл локальных возмущений:
- Инициализация: объект $x_0$ заполняется случайным шумом.
- Предложение: на шаге $t$ к текущему состоянию $x_t$ добавляется небольшой случайный шум, формируя потенциальный новый объект $x'$.
- Оценка «в гору»: вычисляется отношение энергий нового и старого состояний. Если у $x'$ ненормализованная вероятность выше, алгоритм гарантированно принимает этот шаг и обновляет состояние ($x_{t+1} = x'$).
- Оценка «под гору»: если у предложенного объекта $x'$ вероятность ниже, алгоритм не отбрасывает его автоматически. Переход в область с меньшей вероятностью принимается с некоторой долей случайности, которая пропорциональна степени ухудшения метрики.
По словам лектора, случайный допуск ухудшения позиций критически важен. Без него алгоритм превратился бы в банальный градиентный спуск, который мгновенно застревает в ближайшем локальном оптимуме и бесконечно выдает один и тот же объект. Случайный шум обеспечивает глобальное исследование (exploration) всего ландшафта распределения. Математически доказано, что при бесконечном числе шагов такая марковская цепь сойдется к генерации чистых объектов из истинного распределения модели. Именно эта концепция легла в основу современных диффузионных моделей, доминирующих в генерации контента.