# Обучение ИИ без сэмплирования: как укротить энергетические модели?

Источник: https://www.youtube.com/watch?v=Nci1Bepcy0g
Канал: Stanford Online
Опубликовано: 06.05.2024

---

В лекции Стэнфордского университета из курса CS236 подробно рассматриваются энергетические модели (Energy-Based Models, EBM) и продвинутые математические методы их обучения. Преподаватель объясняет, почему традиционные подходы на основе максимального правдоподобия требуют колоссальных вычислительных затрат из-за необходимости постоянного сэмплирования. Основной сюжет лекции разворачивается вокруг революционных альтернатив — методов матчинга счетов (Score Matching) и контрастивной оценки шума (NCE), которые позволяют тренировать гибкие нейросетевые архитектуры без вычисления константы нормализации.

## 🧠 Ограничения классических энергетических моделей и проблема сэмплирования
[[JUMP:0:05]]

Энергетические модели предоставляют исключительно широкий и гибкий способ определения вероятностных распределений. Главное преимущество EBM заключается в том, что лежащая в их основе функция энергии $f_\theta(x)$ может быть представлена абсолютно любой нейросетевой архитектурой. Однако за эту гибкость приходится платить высокую алгоритмическую цену. Вероятность в таких моделях вычисляется через отношение ненормализованной вероятности (в числителе) к так называемой функции разбиения (partition function) или константе нормализации $Z_\theta$ (в знаменателе). Как отмечает лектор, вычисление $Z_\theta$ в многомерных пространствах (например, для изображений с тысячами пикселей) является математически неразрешимой задачей (intractable), поскольку требует интегрирования или суммирования по огромному числу возможных состояний.

По словам преподавателя, архитектура EBM обладает следующими фундаментальными свойствами:

* **Простота сравнения:** Сравнение вероятностей двух конкретных точек данных (например, двух картинок) выполняется тривиально, так как при взятии их отношения константы нормализации взаимно уничтожаются.
* **Дороговизна правдоподобия:** Прямое вычисление правдоподобия для обучения модели стандартным методом максимального правдоподобия требует знания градиента функции разбиения по параметрам модели ($\theta$), что крайне трудоемко.
* **Проблема баланса:** В отличие от авторегрессионных моделей, где функция разбиения по определению равна единице, в EBM приходится постоянно балансировать: увеличивать ненормализованную вероятность обучающей выборки и одновременно уменьшать общую функцию разбиения.

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

## ⚡ Динамика Ланжевена: градиентный поиск в пространстве изображений
[[JUMP:16:24]]

Модификацией классического сэмплирования MCMC для непрерывных пространств является динамика Ланжевена (Langevin dynamics). Этот метод оптимизирует локальный поиск за счет использования информации о градиенте функции правдоподобия. Вместо «слепого» случайного изменения пикселей, как в стандартном MCMC, алгоритм Ланжевена осуществляет шаг зашумленного градиентного восхождения. По словам лектора, процесс обновления состояния $x_t$ выглядит следующим образом: мы сдвигаемся в направлении градиента логарифма правдоподобия по вектору $x$, который указывает путь наиболее быстрого роста вероятности, и добавляем масштабированный гауссовский шум для исследования пространства.



Преподаватель выделяет несколько ключевых нюансов динамики Ланжевена:

* **Роль шума:** Добавление шума критически важно, так как алгоритм не должен быть излишне «жадным» — ему необходимо эффективно исследовать все многообразие возможных конфигураций данных, а не просто застревать в ближайшем локальном максимуме.
* **Баланс параметров:** Размер шага контролируется параметром $\epsilon$, при этом интенсивность добавляемого шума должна быть строго сбалансирована с величиной градиентного шага (пропорционально $\sqrt{2\epsilon}$), чтобы гарантировать сходимость распределения к фиксированной точке.
* **Варианты реализации:** Существует две версии алгоритма: «нескорректированная» (unadjusted), где любой шаг принимается безоговорочно, и «скорректированная» (adjusted), включающая этап принятия-отклонения (accept-reject) для компенсации погрешностей дискретизации при конечных размерах шага.

Хотя использование градиентов делает этот метод значительно более информированным и эффективным по сравнению со стандартным MCMC, динамика Ланжевена все еще остается узким горлышком. По оценкам лектора, если для инференса выполнение 1 000 или 10 000 нейросетевых шагов для генерации миллиона пикселей вполне приемлемо, то запускать такую цепочку во внутреннем цикле каждой эпохи обучения для каждой точки данных абсолютно нереально. Это заставляет исследователей искать методы обучения, полностью исключающие сэмплирование.

## 🎯 Функция счета и концепция матчинга счетов (Score Matching)
[[JUMP:26:06]]

В качестве радикальной альтернативы контраститивной дивергенции лектор вводит понятие функции счета (score function) и основанный на ней подход Score Matching. Этот математический аппарат впоследствии стал фундаментом для современных диффузионных моделей.

Функция счета определяется как градиент логарифма правдоподобия, взятый не по параметрам сети $\theta$, а по самому входному объекту $x$. Как подчеркивает лектор, это принципиальное отличие: функция счета показывает, как меняется вероятность при малейшем изменении самого объекта данных (например, пикселей картинки). Поскольку константа нормализации $Z_\theta$ зависит от параметров $\theta$, но одинакова для всех $x$, при дифференцировании по $x$ она превращается в ноль и полностью исчезает из уравнений.



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

* **Векторное поле вместо скалярного:** Вместо скалярного поля вероятностей (где каждому $x$ сопоставляется высота кривой правдоподобия) мы получаем векторное поле, где в каждой точке стрелка указывает направление к ближайшему модальному максимуму.
* **Уничтожение коэффициентов:** Для простых распределений вроде гауссовского или гамма-распределения взятие функции счета мгновенно уничтожает сложные нормализующие коэффициенты, оставляя простые линейные или дробные зависимости.
* **Физическая аналогия:** Если физически интерпретировать этот подход, то функцию энергии $f_\theta(x)$ можно сравнить с электрическим потенциалом, а функцию счета — с вектором напряженности электрического поля.

Для обучения модели предлагается минимизировать дивергенцию Фишера (Fisher divergence) между истинным распределением данных $p$ и модельным распределением $q$. Она рассчитывается как среднее квадратичное расстояние (L2-норма) между вектором счета данных и вектором счета модели. Если распределения идентичны, дивергенция Фишера строго равна нулю. Поскольку эта функция потерь зависит исключительно от счетов, она идеально подходит для EBM, устраняя нуждую в вычислении константы нормализации.

## 🧮 Трюк с интегрированием по частям и след матрицы Гессиана
[[JUMP:40:53]]

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

Используя классическое интегрирование по частям (или теорему Гаусса в многомерном случае), выражение для функции потерь можно переписать в эквивалентную форму, не содержащую счета данных. При раскрытии квадрата разности в исходном интеграле возникают три слагаемых: синее (зависит только от данных, его можно игнорировать как константу при оптимизации по $\theta$), зеленое (квадрат счета модели) и красное (перекрестное произведение счета данных и счета модели).

По словам преподавателя, именно к красному слагаемому применяется интегрирование по частям. В результате сокращения плотности данных $p_{data}$ и переноса производной, выражение трансформируется в математическое ожидание по распределению данных от вторых производных модели. Главным условием применимости этого трюка является предположение о том, что плотность распределения данных достаточно быстро затухает на бесконечности (стремится к нулю на границах пространства).

В итоге многомерная функция потерь Score Matching (оцениваемая по среднему выборки) приобретает следующий вид:

* **Первый компонент:** Квадрат L2-нормы градиента функции энергии по входу $x$ для каждой точки данных.
* **Второй компонент:** След матрицы Гессиана (trace of the Hessian) логарифма правдоподобия модели, представляющий собой сумму вторых частных производных по диагонали.

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

Вместе с тем, вычисление следа матрицы Гессиана в лоб крайне неэффективно для больших нейросетей, так как требует $n$ проходов обратного распространения ошибки (где $n$ — размерность входа). По словам лектора, на практике для масштабирования этого подхода применяются приближенные методы: Sliced Score Matching (сэмплирование случайных проекций по трюку Хатчинсона) и Denoising Score Matching (добавление небольшого шума к данным с последующим анализом изменения правдоподобия в окрестности).

## 🔄 Контрастивная оценка шума (NCE): игровой подход без минимакса
[[JUMP:57:07]]

Еще одним мощным методом обучения энергетических моделей без вычисления константы нормализации является контрастивная оценка шума (Noise Contrastive Estimation, NCE). Философия NCE близка к генеративно-состязательным сетям (GAN), но имеет ключевые архитектурные отличия.

Идея заключается в том, чтобы превратить задачу генеративного моделирования в задачу бинарной классификации. Мы берем реальное распределение данных и сталкиваем его со специально выбранным распределением шума $p_n$, из которого мы умеем легко сэмплировать и для которого знаем точную аналитическую вероятность. Затем мы обучаем дискриминатор отличать реальные данные от этого шума. Как отмечает лектор, математически оптимальный классификатор, минимизирующий кросс-энтропию, обязан вычислять отношение плотностей данных и шума. Главный трюк NCE состоит в том, что мы жестко задаем структуру этого дискриминатора, зашивая внутрь него нашу энергетическую модель $p_\theta$.

По словам спикера, реализация NCE строится на следующих принципах:

* **Свободный скаляр:** Константа нормализации $Z_\theta$ объявляется обычным дополнительным обучаемым параметром (скаляром $Z$), который никак жестко не привязан к интегралу функции энергии на этапе оптимизации.
* **Автоматическая сходимость:** В пределе бесконечных данных и идеальной оптимизации этот независимый параметр $Z$ автоматически сойдется к истинному значению функции разбиения, поскольку это единственный способ для классификатора минимизировать потери кросс-энтропии и идеально приблизить распределение данных.
* **Стабильность вычислений:** Для вычислительной и численной стабильности при расчете знаменателя классификатора используется стандартный математический трюк Log-Sum-Exp.

Преподаватель подчеркивает явные преимущества NCE перед GAN. В GAN-моделях исследователи сталкиваются со сложной минимаксной (minimax) оптимизацией, порождающей нестабильность обучения и коллапс мод. В NCE распределение шума фиксировано, поэтому никакой минимаксной игры нет — происходит стандартная максимизация стабильной целевой функции по параметрам $\theta$ и $Z$ с помощью стохастического градиентного восхождения. Платой за это является необходимость точно вычислять вероятность сэмплов шума под распределением $p_n$, чего не требуется в GAN. При конечном объеме данных и несовершенной оптимизации некорректно оцененный скаляр $Z$ может приводить к субпоптимальности EBM, однако в асимптотическом пределе метод гарантирует точное восстановление распределения.

## 🌊 Потоковая контрастивная оценка (Flow Contrastive Estimation)
[[JUMP:1:20:14]]

Несмотря на теоретическую изящность базового NCE, на практике его эффективность критически зависит от выбора шумового распределения $p_n$: если шум слишком прост и сильно отличается от реальных данных, классификатор мгновенно научится их разделять, и модель не выучит тонкую структуру данных. Чтобы обойти это ограничение, лектор представляет продвинутую концепцию — Flow Contrastive Estimation (потоковую контрастивную оценку).

В рамках этого подхода распределение шума не фиксируется раз и навсегда, а адаптируется в процессе обучения. В качестве генератора шума используется обучаемая нормализующая потоковая модель (normalizing flow) с параметрами $\phi$. Потоковые модели идеально подходят для этой роли, так как они позволяют одновременно быстро генерировать сэмплы и точно рассчитывать их плотность вероятности.

Обучение в такой системе приобретает игровой состязательный характер:

* **Задача дискриминатора:** Дискриминатор, параметризованный энергетической моделью ($\theta$ и $Z$), обучается стандартным методом кросс-энтропии, пытаясь максимально точно разделить реальные данные и сэмплы из потока.
* **Задача потока:** Потоковая модель ($\phi$) обучается в рамках минимаксной схемы, стремясь генерировать такие примеры, которые запутают дискриминатор сильнее всего. То есть поток пытается сделать задачу классификации максимально трудной, подтягивая свое распределение вплотную к реальным данным.

По словам лектора, на выходе исследователи получают сразу два ценных артефакта: качественную энергетическую модель и обученный нормализующий поток. Эксперименты показывают, что для решения одних задач эффективнее применять полученный EBM, тогда как для других лучше подходит поток. Таким образом, состязательная адаптация шума замыкает эволюционный круг методов обучения EBM, объединяя стабильность энергетического описания с гибкостью генеративных потоков.