Теория информации объясняет, почему классификаторы учат на кросс-энтропии, что такое перплексия языковой модели и зачем в 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 и чем отличаются два направления.
- Что такое перплексия и взаимная информация.