Кросс энтропия
Материал из MachineLearning.
| | Статья написана с использованием LLM DeepSeek-V3 и проверена участником Bogdan Kormalov 17:30, 18 июля 2026 (MSD) |
Кросс-энтропия (англ. cross-entropy), или перекрёстная энтропия, — фундаментальное понятие в теории информации и машинном обучении, служащее мерой различия между двумя распределениями вероятностей для заданного случайного множества событий. В байесовском контексте она количественно определяет среднюю длину кодового слова (в битах или натах), необходимую для кодирования событий истинного распределения с использованием оптимального кода, сконструированного для оценочного (модельного) распределения
.
В современном глубоком обучении и классической статистике кросс-энтропия повсеместно используется в качестве функции потерь для задач классификации, где она известна как log loss (логарифмическая потеря). Минимизация кросс-энтропии между эмпирическим распределением обучающих меток и прогнозами модели эквивалентна максимизации правдоподобия (Maximum Likelihood Estimation, MLE).
Содержание |
Интуитивное определение и теоретико-информационный смысл
Представим, что у нас есть источник событий, генерирующий символы согласно истинному распределению . Мы строим вероятностную модель, которая аппроксимирует это распределение функцией
. Согласно теории информации, для передачи каждого события по каналу связи нам в среднем требуется количество битов, равное энтропии источника
, если мы знаем истинное распределение.
Однако если мы ошибаемся, и наш код построен на основе неверного распределения , то средняя длина кода будет равна кросс-энтропии
. Эта величина всегда больше или равна истинной энтропии
:
Разница между этими двумя величинами называется расстоянием Кульбака — Лейблера :
Так как истинная энтропия от параметров модели
не зависит, минимизация кросс-энтропии в процессе обучения строго эквивалентна минимизации расхождения Кульбака—Лейблера между истинным и прогнозируемым распределениямиGoodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (Глава 5.5)..
Формальное математическое определение
Для дискретных распределений вероятностей и
, определенных на одном и том же пространстве событий
, кросс-энтропия определяется как:
В случае непрерывных распределений сумма заменяется интегралом, и величина называется дифференциальной кросс-энтропией:
Основание логарифма определяет единицу измерения информации: биты (основание 2), наты (основание ) или баны (основание 10). В библиотеках машинного обучения (PyTorch, TensorFlow) по умолчанию используется натуральный логарифм.
Кросс-энтропия как функция потерь в машинном обучении
В машинном обучении истинное распределение задается обучающей выборкой с «однократным» кодированием меток (one-hot encoding). Цель обучения — подобрать параметры модели так, чтобы выходное распределение
максимально соответствовало
.
Связь с принципом максимального правдоподобия
Минимизация кросс-энтропии математически эквивалентна максимизации логарифмической функции правдоподобия для категориального распределения. Пусть обучающая выборка состоит из пар , где
— one-hot вектор. Условная вероятность принадлежности к правильному классу
есть
.
Отрицательное логарифмическое правдоподобие (Negative Log-Likelihood, NLL) для одного примера:
Поскольку истинное распределение содержит единицу для истинного класса и нули для остальных, кросс-энтропия вырождается в точно такое же выражение. Следовательно, минимизируя кросс-энтропию, мы выполняем оценку методом максимального правдоподобия, что гарантирует состоятельность и асимптотическую эффективность оценок при выполнении условий регулярностиHastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. Springer. (Глава 4.4)..
Бинарная классификация и сигмоидная активация
Для задачи бинарной классификации, когда модель предсказывает единственное число — вероятность положительного класса , — кросс-энтропийная потеря для одного объекта принимает вид:
где — истинная метка.
Выход модели обычно пропускается через сигмоидную функцию активации . Важнейшее численное преимущество возникает при вычислении градиента. Градиент кросс-энтропии по логиту
(до применения сигмоиды) принимает элегантную линейную форму, свободную от насыщения:
Это свойство, доказанное при анализе сигмоидной функции активации в комбинации с логарифмической потерей, обеспечивает стабильное и быстрое обучение логистической регрессии и нейронных сетей, так как градиент большой при больших ошибках и мал вблизи правильного ответаBishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. (Глава 4.3.2)..
Многоклассовая классификация и Softmax-активация
В случае классов модель выдает вектор логитов
. Для превращения их в вероятностное распределение применяется функция Softmax:
Кросс-энтропийная потеря для одного объекта с истинным классом вычисляется как:
Аналогично бинарному случаю, градиент этой функции потерь по логитам имеет простой и интуитивно понятный вид:
где — компонента one-hot вектора. Это означает, что обучение сводится к простому «подтягиванию» вероятности правильного ответа к единице, а вероятностей неверных ответов к нулю пропорционально величине ошибки. Именно это свойство делает комбинацию Softmax + Cross-Entropy де-факто стандартной головой (head) любой современной нейросети-классификатораGoodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (Глава 6.2.2)..
Свойства и практические аспекты
При использовании кросс-энтропии на практике инженеру необходимо учитывать следующие особенности:
Штраф за уверенность. В отличие от интуитивно понятной ошибки доли неверных классификаций (accuracy), кросс-энтропия строго штрафует модель за излишнюю «самоуверенность» в неправильных гипотезах. Например, если истинная вероятность события мала (), а модель предсказала высокую вероятность (
), логарифмическая потеря стремится к бесконечности.
Численная стабильность. Прямое вычисление может привести к переполнению или потере значимости из-за экспоненты. Современные фреймворки предоставляют «слитые» реализации (например, CrossEntropyLoss в PyTorch или softmax_cross_entropy в TensorFlow), которые принимают на вход логиты (не активированные вероятности) и выполняют вычисления с использованием трюка log-sum-exp, вычитая максимум из логитов для стабильности.
Метки классов. Входные метки могут быть представлены как в виде целочисленных индексов классов (Sparse Categorical Cross-Entropy), так и в виде сглаженных one-hot векторов (например, при дистилляции знаний или использовании аугментации меток Label Smoothing).
Связь с другими метриками и потерями
Помимо связи с расстоянием Кульбака—Лейблера, кросс-энтропия является обобщением:
Логистической функции потерь (Log Loss), применяемой для оценки качества вероятностных прогнозов в соревнованиях (например, Kaggle).
Среднеквадратичной ошибки (MSE). В статистической теории оценки, использование MSE для классификации неэффективно, так как приводит к проблемам с затуханием градиентов при использовании сигмоидальных активаций (проблема плоского плато). Кросс-энтропия, будучи proper scoring rule, лишена этого недостатка и гарантирует, что минимум достигается при совпадении прогнозного и истинного распределенийMurphy, K. P. (2022). Probabilistic Machine Learning: An Introduction. MIT Press. (Глава 5).
Литература
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. (Главы 4.3.2, 4.3.4).
Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory. Wiley-Interscience. (Глава 2.3).
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (Глава 5.5, 6.2.2).
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer. (Глава 4.4, 11.3).
Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction. MIT Press. (Глава 5, 10).
Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379-423.

