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

Stanford Online 16,2 тыс. 1 ч 23 мин 9 мин 06.05.2024
Главное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

💬 Цитаты

«Поскольку константа нормализации зависит от параметров, но одинакова для всех объектов, при дифференцировании по объекту она превращается в ноль.»

Преподаватель Стэнфорда 28:39

«В NCE распределение шума фиксировано, поэтому никакой минимаксной игры нет — происходит стандартная максимизация целевой функции.»

Преподаватель Стэнфорда 1:19:01
👥 Спикер
📖 Термины
Функция разбиения (Partition function)
Константа нормализации в энергетических моделях, обеспечивающая равенство интеграла вероятности единице.
Динамика Ланжевена
Итеративный метод генерации сэмплов с использованием градиента правдоподобия и случайного гауссовского шума.
Функция счета (Score function)
Градиент логарифма плотности вероятности, взятый по пространству входных данных.
Матрица Гессиана
Матрица вторых частных производных многомерной функции.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Energy-Based Models Score Matching Noise Contrastive Estimation Динамика Ланжевена