Почему дивергенция KL так часто используется в машинном обучении?

Dec 15 2020

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

По какой причине он так часто используется в машинном обучении? Разве вместо этого нельзя использовать другие статистические расстояния?

Ответы

2 rhdxor Dec 19 2020 at 16:52

Это очень общий вопрос в том смысле, что причина может отличаться в зависимости от рассматриваемой вами области машинного обучения. Ниже приведены две различные области ML, где KL-дивергенция является естественным следствием:

  • Классификация: максимизация логарифмической вероятности (или минимизация отрицательной логарифмической вероятности) эквивалентна минимизации дивергенции KL, как это обычно используется в классификации на основе DL, где в качестве эталона обычно используются одни горячие цели (см.https://stats.stackexchange.com/a/357974). Кроме того, если у вас есть горячий вектор$e_y$ с участием $1$ по индексу $y$, минимизируя кросс-энтропию $\min_{\hat{p}}H(e_y, \hat{p}) = - \sum_y e_y \log \hat{p}_y = - \log \hat{p}$сводится к максимизации логарифмической вероятности. Таким образом, максимизация логарифмической вероятности, возможно, является естественной целью, а KL-дивергенция (с 0 log 0 определенным как 0) возникает из-за ее эквивалентности логарифмической вероятности в типичных условиях, а не из-за явной мотивации в качестве цели.
  • Многорукие бандиты (подобласть обучения с подкреплением): Верхняя доверительная граница (UCB) - это алгоритм, полученный из стандартных неравенств концентрации. Если мы рассмотрим MAB с вознаграждением Бернулли, мы можем применить границу Чернова и оптимизировать по свободному параметру, чтобы получить верхнюю границу, выраженную в терминах дивергенции KL, как указано ниже (см.https://page.mi.fu-berlin.de/mulzer/notes/misc/chernoff.pdf для разных доказательств).

Позволять $X_1, \dots, X_n$ быть iid Бернулли РВ с параметром $p$. $$P(\sum_i X_i \geq (p+t)n) \leq \inf_\lambda M_X (\lambda) e^{-\lambda t} = \exp(-n D_{KL}(p+t||p)).$$

1 ArayKarjauv Dec 19 2020 at 21:11

В машинном обучении мы всегда имеем дело с неизвестными распределениями вероятностей, из которых берутся данные. Самый распространенный способ вычисления расстояния между реальным и модельным распределением -$KL$ расхождение.

Почему расхождение Кульбака – Лейблера?

Хотя есть и другие функции потерь (например, MSE, MAE), $KL$дивергенция естественна, когда мы имеем дело с распределениями вероятностей. Это фундаментальное уравнение теории информации, которое количественно определяет в битах, насколько близки два распределения вероятностей. Его также называют относительной энтропией, и, как следует из названия, он тесно связан с энтропией, которая, в свою очередь, является центральным понятием в теории информации. Напомним определение энтропии для дискретного случая:

$$ H = -\sum_{i=1}^{N} p(x_i) \cdot \text{log }p(x_i) $$

Как вы заметили, энтропия сама по себе является мерой единственного распределения вероятностей. Если немного изменить эту формулу, добавив второе распределение, мы получим$KL$ расхождение:

$$ D_{KL}(p||q) = \sum_{i=1}^{N} p(x_i)\cdot (\text{log }p(x_i) - \text{log }q(x_i)) $$

где $p$ это распределение данных и $q$ это модельное распределение.

Как мы можем видеть, $KL$расхождение - самый естественный способ сравнить 2 распределения. Тем более, что это довольно просто подсчитать. Эта статья дает больше интуиции по этому поводу:

По сути, то, что мы наблюдаем с дивергенцией KL, - это ожидание логарифмической разницы между вероятностью данных в исходном распределении и аппроксимирующим распределением. Опять же, если мы будем думать с точки зрения$log_2$ мы можем интерпретировать это как «сколько бит информации мы ожидаем потерять».

Перекрестная энтропия

Перекрестная энтропия обычно используется в машинном обучении как функция потерь, где у нас есть выходной слой softmax (или сигмоид), поскольку он представляет собой прогнозируемое распределение по классам. Одноразовый вывод представляет собой модельное распределение$q$, а истинные метки представляют собой целевое распределение $p$. Наша цель - подтолкнуть$q$ к $p$как можно ближе. Мы могли бы взять среднеквадратичную ошибку по всем значениям или суммировать абсолютные различия, но единственной мерой, которая мотивируется теорией информации, является кросс-энтропия. Он дает среднее количество битов, необходимых для кодирования выборок, распределенных как$p$, с помощью $q$ как распределение кодировки.

Кросс-энтропия основана на энтропии и обычно вычисляет разницу между двумя распределениями вероятностей и тесно связана с $KL$расхождение. Разница в том, что он вычисляет полную энтропию между распределениями, а$KL$дивергенция представляет собой относительную энтропию. Корсс-энтропию можно определить следующим образом:

$$ H(p, q) = H(p) + D_{KL}(p \parallel q) $$

Первый член в этом уравнении - энтропия истинного распределения вероятностей $p$ который опускается во время оптимизации, поскольку энтропия $p$постоянно. Следовательно, минимизация кросс-энтропии - то же самое, что оптимизация$KL$ расхождение.

Журнал правдоподобия

Также можно показать, что максимизация (log) правдоподобия эквивалентна минимизации перекрестной энтропии.

Ограничения

Как вы упомянули, $KL$расхождение не симметрично. Но в большинстве случаев это не критично, так как мы хотим оценить модельное распределение, подталкивая его к реальному, а не наоборот. Существует также симметричная версия, называемая дивергенцией Дженсена – Шеннона :$$ D_{JS}(p||q)=\frac{1}{2}D_{KL}(p||m)+\frac{1}{2}D_{KL}(q||m) $$ где $m=\frac{1}{2}(p+q)$.

Главный недостаток $KL$состоит в том, что и неизвестное распределение, и модельное распределение должны иметь поддержку. В противном случае$D_{KL}(p||q)$ становится $+\infty$ и $D_{JS}(p||q)$ становится $log2$

Во-вторых, следует отметить, что $KL$не является метрикой, поскольку нарушает неравенство треугольника. То есть в некоторых случаях он не говорит нам, идем ли мы в правильном направлении при оценке распределения нашей модели. Вот пример из этого ответа . Учитывая два дискретных распределения$p$ и $q$, мы рассчитываем $KL$ дивергенция и метрика Вассерштейна:

Как вы видете, $KL$ дивергенция осталась прежней, а показатель Вассерштейна уменьшился.

Но, как упоминалось в комментариях, метрика Вассерштейна очень трудноразрешима в непрерывном пространстве. Мы все еще можем использовать его, применяя двойственность Канторовича-Рубинштейна, используемую в Вассерштейне GAN . Вы также можете найти больше информации по этой теме в этой статье .

2 недостатка $KL$можно уменьшить, добавив шум. Подробнее об этом в этой статье