Дивергенция Кульбака–Лейблера
Материал из MachineLearning.
(→Введение) |
(→Практика на Python) |
||
| Строка 76: | Строка 76: | ||
::<tex>D_{KL} = - \frac{1}{2} \sum_{i=1}^k \left( 1 + \ln(\sigma_i^2) - \mu_i^2 - \sigma_i^2 \right)</tex> | ::<tex>D_{KL} = - \frac{1}{2} \sum_{i=1}^k \left( 1 + \ln(\sigma_i^2) - \mu_i^2 - \sigma_i^2 \right)</tex> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Схема обучения и рекомендации == | == Схема обучения и рекомендации == | ||
Версия 19:22, 17 июня 2026
| | Статья написана с использованием LLM Gemini 3.1 Pro и проверена участником Artem Abdulmanov 19:54, 17 июня 2026 (MSD)
Промпт приводится полностью в Обсуждение:Дивергенция Кульбака–Лейблера |
|
Введение
Дивергенция Кульбака–Лейблера (также известная как относительная энтропия или информационная расходимость, англ. Kullback–Leibler divergence, KL divergence) — это асимметричная статистическая мера, оценивающая, насколько одно распределение вероятностей отличается от другого, эталонного распределения.
Фундаментально данная концепция решает проблему количественной оценки информационной потери: она показывает, сколько информации теряется при аппроксимации истинного (сложного) распределения вероятностей некоторым приближённым (более простым) распределением. Важно подчеркнуть, что дивергенция Кульбака–Лейблера не является метрикой в строгом математическом смысле, так как для неё не выполняется свойство симметрии и неравенство треугольника.
Мотивировка и историческая справка
Исторические корни концепции уходят в классическую теорию информации Клода Шеннона, где фундаментальным понятием выступает энтропия — мера неопределённости случайной величины. В 1951 году американские математики Соломон Кульбак и Ричард Лейблер опубликовали работу «On Information and Sufficiency»[1], в которой обобщили идеи Шеннона для измерения «расстояния» между двумя вероятностными моделями.
Со стороны теории кодирования мотивировка предельно прозрачна. Представим, что у нас есть поток данных, сгенерированный из истинного распределения . Если для сжатия этих данных мы используем оптимальный код, основанный на самом распределении
, средняя длина сообщения будет равна энтропии Шеннона. Однако, если истинное распределение неизвестно, и мы строим код на основе приближённого распределения
, нам потребуется больше бит для передачи тех же данных. Дивергенция Кульбака–Лейблера в точности равна среднему количеству этих избыточных бит (или нат, если используется натуральный логарифм).
Математический аппарат и свойства
Формальное определение дивергенции Кульбака–Лейблера зависит от того, к какому типу относится исследуемая случайная величина.
Для дискретных случайных величин, заданных на пространстве , дивергенция распределения
относительно истинного распределения
определяется как:
Для непрерывных случайных величин сумма заменяется на интеграл по области определения, а вероятности — на функции плотности вероятности и
:
Математическое ожидание позволяет записать это в более компактном виде:
Дивергенцию можно элегантно разложить через кросс-энтропию и энтропию Шеннона
:
Связь с оценкой максимального правдоподобия
Фундаментальный результат математической статистики заключается в том, что минимизация прямой KL-дивергенции эквивалентна оценке максимального правдоподобия (MLE).
Пусть задана эмпирическая выборка независимых данных из неизвестного истинного распределения , и мы хотим обучить параметрическую нейросетевую модель
. Мы можем записать дивергенцию между эмпирическим распределением и моделью:
Первое слагаемое — это отрицательная энтропия истинного распределения, которая является константой и не зависит от обучаемых параметров . Следовательно, минимизация
по параметрам
сводится к максимизации второго слагаемого (математического ожидания логарифма правдоподобия модели на данных):
Таким образом, стандартное обучение моделей машинного обучения через лосс кросс-энтропии — это частный случай минимизации дивергенции Кульбака–Лейблера между реальным миром и прогнозами нейросети[1].
Ключевые математические свойства
Несимметричность: В общем случае . Разница между прямым (Forward KL:
) и обратным (Reverse KL:
) направлениями имеет колоссальное значение в алгоритмах генерации.
- Прямой KL (Forward KL) обладает эффектом «размытия» (mean-seeking или mode-covering). Оптимизация
под эту меру штрафует ситуации, где
, а
близко к нулю. В результате приближённое распределение вероятностей
старается покрыть все моды истинного мультимодального распределения
, что часто приводит к оценке среднего значения в областях низкой реальной плотности.
- Обратный KL (Reverse KL) обладает эффектом фиксации моды (mode-seeking или zero-forcing). Здесь огромный штраф возникает, если
, но
равно нулю. Поэтому распределение
сжимается вокруг одной из мод истинного распределения
, игнорируя остальные, но зато гарантируя генерацию только высокореалистичных примеров.
Неотрицательность: . Это фундаментальное свойство (также известное как неравенство Гиббса).
Условие равенства нулю: Дивергенция тогда и только тогда, когда распределения
и
совпадают почти всюду.
Доказательство неотрицательности
Строгое математическое доказательство опирается на Неравенство Йенсена и тот факт, что функция является строго выпуклой.
Распишем дивергенцию через математическое ожидание:
Применим неравенство Йенсена :
Сокращая внутри логарифма, получаем сумму вероятностей распределения
, которая равна единице:
Таким образом, доказано, что .
Частный случай: Многомерные гауссовские распределения
В современных алгоритмах часто требуется вычислить аналитическую дивергенцию между двумя многомерными нормальными распределениями и
размерности
:
Для работы вариационных автокодировщиков (VAE) критически важен частный случай, когда приближённое апостериорное распределение является диагональным гауссианом , а априорное — стандартным нормальным
. Формула предельно упрощается:
Схема обучения и рекомендации
Тренировка глубоких нейронных сетей, оптимизирующих дивергенцию Кульбака–Лейблера, сопряжена с рядом инженерных трудностей.
Проблема слабой поддержки (условие абсолютной непрерывности): Если распределение не имеет носителя там, где его имеет
(то есть существует точка
, где
, но
), значение логарифма
устремляется в бесконечность. Это вызывает появление NaN в градиентах и разрушает веса модели. Практическое решение заключается в применении сглаживания (label smoothing) или принудительном добавлении
-шума к выходам сети.
Нюансы численной стабильности: Во фреймворке PyTorch при работе с дискретными распределениями настоятельно рекомендуется использовать функцию KLDivLoss, передавая в неё не сами вероятности, а их логарифмы (log-probabilities). На практике это реализуется пропуском логитов через функцию F.log_softmax. Это позволяет избежать катастрофической потери точности при вычислении логарифмов очень малых чисел.
Проблема «взрыва» или затухания KL-компоненты (Posterior Collapse): В генеративных моделях сеть может полностью игнорировать латентные переменные, сводя KL-дивергенцию к нулю (эффект KL Vanishing).
- KL Annealing: Метод отжига, при котором вес KL-штрафа в функции потерь начинается с нуля и плавно возрастает до единицы в течение первых эпох обучения.
- Free Bits: Модификация функции потерь, при которой устанавливается минимальный порог дивергенции для каждой латентной компоненты.
Современные подходы и State-of-the-Art (SOTA)
На сегодняшний день концепция дивергенции Кульбака–Лейблера лежит в основе самых передовых архитектур глубокого обучения.
Вариационный вывод и диффузия: В моделях VAE и их модификациях (например, -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 строит матрицу вероятностного сходства объектов в исходном многомерном пространстве и матрицу сходства в целевом (двухмерном или трёхмерном) пространстве
. Оптимизация координат происходит путём минимизации
, что заставляет алгоритм с высочайшей точностью сохранять локальную структуру кластеров.
См. также
- Информационная энтропия
- Кросс-энтропия
- Вариационный автокодировщик
- Оценка максимального правдоподобия
- Генеративно-состязательная нейросеть
- Неравенство Йенсена
- Обучение с подкреплением из обратной связи человека (RLHF)
- Выравнивание больших языковых моделей
- Седловая задача
- t-SNE
- Расстояние Дженсена–Шеннона
Примечания
Литература
- Kullback S., Leibler R. A. On Information and Sufficiency // The Annals of Mathematical Statistics. — 1951. — С. 79-86.
- Бишоп К. Распознавание образов и машинное обучение. — Москва: Вильямс, 2020.
- Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение. — Москва: ДМК Пресс, 2018.

