Дивергенция Кульбака–Лейблера

Материал из MachineLearning.

(Перенаправлено с KL-дивергенции)
Перейти к: навигация, поиск
Статья написана с использованием LLM Gemini 3.1 Pro и проверена участником Artem Abdulmanov 19:54, 17 июня 2026 (MSD)

Промпт приводится полностью в Обсуждение:Дивергенция Кульбака–Лейблера


Содержание

Введение

Дивергенция Кульбака–Лейблера (также известная как относительная энтропия или информационная расходимость, англ. Kullback–Leibler divergence, KL divergence) — это асимметричная статистическая мера, оценивающая, насколько одно распределение вероятностей отличается от другого, эталонного распределения.

Фундаментально данная концепция решает проблему количественной оценки информационной потери: она показывает, сколько информации теряется при аппроксимации истинного (сложного) распределения вероятностей некоторым приближённым (более простым) распределением. Важно подчеркнуть, что дивергенция Кульбака–Лейблера не является метрикой в строгом математическом смысле, так как для неё не выполняется свойство симметрии и неравенство треугольника.

Мотивировка и историческая справка

Исторические корни концепции уходят в классическую теорию информации Клода Шеннона, где фундаментальным понятием выступает энтропия — мера неопределённости случайной величины. В 1951 году американские математики Соломон Кульбак и Ричард Лейблер опубликовали работу «On Information and Sufficiency»[1], в которой обобщили идеи Шеннона для измерения «расстояния» между двумя вероятностными моделями.

Со стороны теории кодирования мотивировка предельно прозрачна. Представим, что у нас есть поток данных, сгенерированный из истинного распределения P. Если для сжатия этих данных мы используем оптимальный код, основанный на самом распределении P, средняя длина сообщения будет равна энтропии Шеннона. Однако, если истинное распределение неизвестно, и мы строим код на основе приближённого распределения Q, нам потребуется больше бит для передачи тех же данных. Дивергенция Кульбака–Лейблера в точности равна среднему количеству этих избыточных бит (или нат, если используется натуральный логарифм).

Математический аппарат и свойства

Формальное определение дивергенции Кульбака–Лейблера зависит от того, к какому типу относится исследуемая случайная величина.

Для дискретных случайных величин, заданных на пространстве \mathcal{X}, дивергенция распределения Q относительно истинного распределения P определяется как:

D_{KL}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \frac{P(x)}{Q(x)}

Для непрерывных случайных величин сумма заменяется на интеграл по области определения, а вероятности — на функции плотности вероятности p(x) и q(x):

D_{KL}(P \parallel Q) = \int_{-\infty}^{\infty} p(x) \log \frac{p(x)}{q(x)} dx

Математическое ожидание позволяет записать это в более компактном виде:

D_{KL}(P \parallel Q) = \mathbb{E}_{x \sim P} \left[ \log \frac{P(x)}{Q(x)} \right]

Дивергенцию можно элегантно разложить через кросс-энтропию H(P, Q) и энтропию Шеннона H(P):

D_{KL}(P \parallel Q) = H(P, Q) - H(P)

Связь с оценкой максимального правдоподобия

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

Пусть задана эмпирическая выборка независимых данных из неизвестного истинного распределения P_{\text{data}}, и мы хотим обучить параметрическую нейросетевую модель P_\theta. Мы можем записать дивергенцию между эмпирическим распределением и моделью:

D_{KL}(P_{\text{data}} \parallel P_\theta) = \mathbb{E}_{x \sim P_{\text{data}}}[\log P_{\text{data}}(x)] - \mathbb{E}_{x \sim P_{\text{data}}}[\log P_\theta(x)]

Первое слагаемое — это отрицательная энтропия истинного распределения, которая является константой и не зависит от обучаемых параметров \theta. Следовательно, минимизация D_{KL}(P_{\text{data}} \parallel P_\theta) по параметрам \theta сводится к максимизации второго слагаемого (математического ожидания логарифма правдоподобия модели на данных):

\arg\min_\theta D_{KL}(P_{\text{data}} \parallel P_\theta) = \arg\max_\theta \mathbb{E}_{x \sim P_{\text{data}}}[\log P_\theta(x)]

Таким образом, стандартное обучение моделей машинного обучения через лосс кросс-энтропии — это частный случай минимизации дивергенции Кульбака–Лейблера между реальным миром и прогнозами нейросети[1].

Ключевые математические свойства

Несимметричность: В общем случае D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P). Разница между прямым (Forward KL: D_{KL}(P \parallel Q)) и обратным (Reverse KL: D_{KL}(Q \parallel P)) направлениями имеет колоссальное значение в алгоритмах генерации.

  • Прямой KL (Forward KL) обладает эффектом «размытия» (mean-seeking или mode-covering). Оптимизация Q под эту меру штрафует ситуации, где P(x) > 0, а Q(x) близко к нулю. В результате приближённое распределение вероятностей Q старается покрыть все моды истинного мультимодального распределения P, что часто приводит к оценке среднего значения в областях низкой реальной плотности.
  • Обратный KL (Reverse KL) обладает эффектом фиксации моды (mode-seeking или zero-forcing). Здесь огромный штраф возникает, если Q(x) > 0, но P(x) равно нулю. Поэтому распределение Q сжимается вокруг одной из мод истинного распределения P, игнорируя остальные, но зато гарантируя генерацию только высокореалистичных примеров.

Неотрицательность: D_{KL}(P \parallel Q) \ge 0. Это фундаментальное свойство (также известное как неравенство Гиббса).

Условие равенства нулю: Дивергенция D_{KL}(P \parallel Q) = 0 тогда и только тогда, когда распределения P и Q совпадают почти всюду.

Доказательство неотрицательности

Строгое математическое доказательство опирается на Неравенство Йенсена и тот факт, что функция f(z) = -\log(z) является строго выпуклой.

Распишем дивергенцию через математическое ожидание:

D_{KL}(P \parallel Q) = - \sum_{x} P(x) \log \frac{Q(x)}{P(x)}

Применим неравенство Йенсена \mathbb{E}[f(z)] \ge f(\mathbb{E}[z]):

- \sum_{x} P(x) \log \frac{Q(x)}{P(x)} \ge - \log \left( \sum_{x} P(x) \frac{Q(x)}{P(x)} \right)

Сокращая P(x) внутри логарифма, получаем сумму вероятностей распределения Q(x), которая равна единице:

- \log \left( \sum_{x} Q(x) \right) = - \log(1) = 0

Таким образом, доказано, что D_{KL}(P \parallel Q) \ge 0.

Частный случай: Многомерные гауссовские распределения

В современных алгоритмах часто требуется вычислить аналитическую дивергенцию между двумя многомерными нормальными распределениями \mathcal{N}_0(\mu_0, \Sigma_0) и \mathcal{N}_1(\mu_1, \Sigma_1) размерности k:

D_{KL}(\mathcal{N}_0 \parallel \mathcal{N}_1) = \frac{1}{2} \left( \operatorname{tr}(\Sigma_1^{-1} \Sigma_0) + (\mu_1 - \mu_0)^T \Sigma_1^{-1} (\mu_1 - \mu_0) - k + \ln \left( \frac{\det \Sigma_1}{\det \Sigma_0} \right) \right)

Для работы вариационных автокодировщиков (VAE) критически важен частный случай, когда приближённое апостериорное распределение является диагональным гауссианом \mathcal{N}(\mu, \sigma^2 I), а априорное — стандартным нормальным \mathcal{N}(0, I). Формула предельно упрощается:

D_{KL} = - \frac{1}{2} \sum_{i=1}^k \left( 1 + \ln(\sigma_i^2) - \mu_i^2 - \sigma_i^2 \right)


Схема обучения и рекомендации

Тренировка глубоких нейронных сетей, оптимизирующих дивергенцию Кульбака–Лейблера, сопряжена с рядом инженерных трудностей.

Проблема слабой поддержки (условие абсолютной непрерывности): Если распределение Q не имеет носителя там, где его имеет P (то есть существует точка x, где P(x) > 0, но Q(x) = 0), значение логарифма \log(P(x) / 0) устремляется в бесконечность. Это вызывает появление NaN в градиентах и разрушает веса модели. Практическое решение заключается в применении сглаживания (label smoothing) или принудительном добавлении \epsilon-шума к выходам сети.

Нюансы численной стабильности: Во фреймворке PyTorch при работе с дискретными распределениями настоятельно рекомендуется использовать функцию KLDivLoss, передавая в неё не сами вероятности, а их логарифмы (log-probabilities). На практике это реализуется пропуском логитов через функцию F.log_softmax. Это позволяет избежать катастрофической потери точности при вычислении логарифмов очень малых чисел.

Проблема «взрыва» или затухания KL-компоненты (Posterior Collapse): В генеративных моделях сеть может полностью игнорировать латентные переменные, сводя KL-дивергенцию к нулю (эффект KL Vanishing).

  • KL Annealing: Метод отжига, при котором вес KL-штрафа в функции потерь начинается с нуля и плавно возрастает до единицы в течение первых эпох обучения.
  • Free Bits: Модификация функции потерь, при которой устанавливается минимальный порог дивергенции для каждой латентной компоненты.

Современные подходы и State-of-the-Art (SOTA)

На сегодняшний день концепция дивергенции Кульбака–Лейблера лежит в основе самых передовых архитектур глубокого обучения.

Вариационный вывод и диффузия: В моделях VAE и их модификациях (например, \beta-VAE) минимизация KL-дивергенции является математическим следствием максимизации вариационной нижней границы правдоподобия (ELBO). В диффузионных моделях (DDPM) прямой процесс зашумления и обратный процесс генерации связаны через расчёт дивергенции между марковскими переходами.

Генеративно-состязательные сети (GAN): В классическом виде GAN оптимизируют расстояние Дженсена–Шеннона, которое является симметричной и сглаженной версией KL-дивергенции. Обучение формулируется как сложная седловая задача (минимаксная игра) между генератором и дискриминатором. Более того, обобщённая архитектура f-GAN позволяет напрямую использовать саму дивергенцию Кульбака–Лейблера в качестве целевой метрики, заставляя генератор подстраивать своё распределение под обучающую выборку через поиск равновесия по Нэшу в этой седловой задаче.

Выравнивание больших языковых моделей (LLM Alignment): В алгоритмах RLHF (в частности, алгоритм PPO) и DPO (Direct Preference Optimization) дивергенция используется как критически важный штраф (KL penalty)[1]. В процессе дообучения новая языковая модель («актор») максимизирует функцию награды, но её отклонение от изначальной «замороженной» референсной модели жёстко штрафуется через KL. Это не позволяет модели деградировать, забывать синтаксис языка и «галлюцинировать» ради взлома функции награды.

Метод снижения размерности t-SNE: В задачах визуализации высокоразмерных данных t-SNE строит матрицу вероятностного сходства объектов в исходном многомерном пространстве P и матрицу сходства в целевом (двухмерном или трёхмерном) пространстве Q. Оптимизация координат происходит путём минимизации D_{KL}(P \parallel Q), что заставляет алгоритм с высочайшей точностью сохранять локальную структуру кластеров.

См. также

Примечания


Литература

  • Kullback S., Leibler R. A. On Information and Sufficiency // The Annals of Mathematical Statistics. — 1951. — С. 79-86.
  • Бишоп К. Распознавание образов и машинное обучение. — Москва: Вильямс, 2020.
  • Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение. — Москва: ДМК Пресс, 2018.
Личные инструменты