Урок по треку Математика для ML 6 мин

Энтропия, кросс-энтропия и KL за 6 минут

Энтропия, кросс-энтропия, KL-дивергенция, взаимная информация и перплексия.

Теория информации объясняет, почему классификаторы учат на кросс-энтропии, что такое перплексия языковой модели и зачем в VAE, дистилляции и RLHF стоит KL-дивергенция.

Энтропия

H(p) = -Σ pᵢ log pᵢ

Это средняя неопределённость исхода, или средняя длина оптимального кода. С log₂ меряется в битах, с ln в натах.

  • Честная монета: 1 бит.
  • Распределение (0.5, 0.25, 0.25): 0.5·1 + 0.25·2 + 0.25·2 = 1.5 бита.
  • Детерминированный исход: 0.
  • Максимум у равномерного распределения: log₂n. Для 8 исходов 3 бита.

Слагаемые с p = 0 не дают вклада (предел p log p равен нулю), в коде их пропускают явно.

Кросс-энтропия

H(p, q) = -Σ pᵢ log qᵢ

Средняя длина кода, если данные из p, а код построен под модель q. С one-hot меткой сводится к -log q(верный класс), это и есть log loss.

Уверенная ошибка стоит бесконечно: -log 0 = ∞. Поэтому в метриках вероятности обрезают до [ε, 1 - ε], а в обучении считают loss прямо из логитов через log-softmax.

KL-дивергенция

KL(p‖q) = Σ pᵢ log(pᵢ / qᵢ) = H(p, q) - H(p)
  • KL ≥ 0, равна нулю только при p = q.
  • Несимметрична: KL(p‖q) ≠ KL(q‖p), поэтому не метрика.
  • Бесконечна, если q = 0 там, где p > 0.

Так как H(p) от модели не зависит, минимизация кросс-энтропии равна минимизации KL от распределения данных до модели. Это же и MLE.

Направление важно. Приближая бимодальное p одной гауссианой:

  • KL(p‖q) растягивает q, чтобы накрыть обе моды (mass-covering);
  • KL(q‖p) садит q на одну моду (mode-seeking), так ведёт себя вариационный вывод.

Где KL в ML

  • Кросс-энтропия в классификации.
  • VAE: KL(q(z|x)‖p(z)) держит кодировщик близко к приору.
  • Дистилляция: ученик повторяет смягчённое температурой распределение учителя.
  • RLHF: штраф за уход политики от исходной модели.
  • Мониторинг дрейфа: сравнение распределений признака. Там чаще берут PSI или Йенсена-Шеннона, потому что KL несимметрична и бесконечна на пустых бинах.

Взаимная информация

I(X; Y) = H(X) - H(X | Y) = KL(p(x, y) ‖ p(x)p(y))

На сколько знание Y уменьшает неопределённость X. Ноль только при независимости, и в отличие от корреляции ловит любую зависимость. Прирост информации в деревьях решений это взаимная информация признака и класса.

Перплексия

PPL = exp(средняя кросс-энтропия на токен)

Эффективное число равновероятных вариантов, из которых модель выбирает на каждом шаге. Кросс-энтропия ln 20 даёт перплексию 20. Сравнивать можно только модели с одинаковым токенизатором.

Label smoothing

С one-hot целью оптимум кросс-энтропии в q = 1, и модель гонит логиты в бесконечность. Если цель размазать (0.9 верному классу и 0.1 на остальные), оптимум становится неуверенным, модель меньше переуверена.

Частые ошибки

  • Считать KL расстоянием и симметричной.
  • Забывать про обрезку вероятностей в log loss.
  • Путать перплексию с кросс-энтропией.
  • Брать log 0 в коде энтропии.

Что спросят на собесе

  • Посчитать энтропию небольшого распределения, энтропию монеты.
  • Связь кросс-энтропии, энтропии и KL, почему классификаторы учат на кросс-энтропии.
  • Свойства KL и чем отличаются два направления.
  • Что такое перплексия и взаимная информация.

Закрепите за 5 минут

После урока в тренажёре 3-5 проверочных вопросов, дальше модуль уходит в повторения.