Cross-entropy — функция потерь, измеряющая расхождение между распределением модели и целевым распределением, используемая для обучения генеративных моделей.
Определение
Cross-entropy — базовая функция потерь, применяемая при обучении языковых моделей, классификаторов и других вероятностных моделей. Она измеряет разницу между целевым распределением и распределением, которое предсказывает модель. В языковых моделях cross-entropy используется для оценки того, насколько прогнозируемая моделью вероятность правильного токена соответствует реальному ответу.
При минимизации cross-entropy модель учится назначать более высокую вероятность токенам, которые действительно встречаются в целевых данных, и снижать вероятность неправильных токенов. Это делает функцию потерь ключевым элементом всего процесса обучения.
Как работает
Cross-entropy вычисляется как среднее значение отрицательного логарифма вероятности правильного класса. В задачах языкового моделирования «правильным классом» является целевой токен.
Формально, для токена t:
-log P(t)
Чем выше вероятность правильного токена, тем меньше значение cross-entropy. Если модель уверенно ошибается, значение потерь резко растёт.
Ключевые особенности механизма:
- Работа с вероятностями — функция потерь напрямую использует распределение softmax.
- Чувствительность к ошибкам — неправильные прогнозы сильно увеличивают значение потерь.
- Логарифмический масштаб — помогает стабилизировать обучение.
- Совместимость с градиентным спуском — легко дифференцируется.
Cross-entropy также используется в многоступенчатых системах: при обучении токенов, оценке последовательностей и выборе моделей в ансамблях.
Где применяется
- Обучение языковых моделей на больших корпусах текста.
- Классификация изображений, аудио, текста.
- Дообучение моделей на инструкциях.
- Обучение моделей ранжирования через вероятностные распределения.
- Оценка качества генерации в задачах предсказания токенов.
- Сравнение различных архитектур на этапе валидации.
Практические примеры использования
В языковых моделях cross-entropy используется при обучении предсказывать следующий токен. На каждом шаге модель выдаёт распределение вероятностей по словарю, и cross-entropy отражает, насколько модель приблизилась к правильному токену.
При supervised fine-tuning cross-entropy измеряет качество воспроизведения эталонного ответа. Функция потерь снижается, когда модель начинает структурно и по смыслу соответствовать ожидаемому выводу.
В задачах классификации cross-entropy сравнивает распределение модели с one-hot целевым вектором, обеспечивая мощный градиент для корректировки весов.
В системах предпочтений cross-entropy может использоваться в качестве компонента ранговой функции, если предпочтения выражены вероятностно.
Ключевые свойства cross-entropy
- Стабильная оптимизация — smooth градиенты, устойчивые к шуму.
- Высокая чувствительность к редким событиям — важна при больших словарях.
- Интерпретируемость — напрямую связана с вероятности правильного ответа.
- Совместимость с большим числом архитектур — применяется в Transformer, CNN, RNN и гибридных моделях.
Проблемы и ограничения
- Переуверенные модели — может приводить к чрезмерно уверенным распределениям.
- Высокая чувствительность к шуму — неправильные данные резко увеличивают потери.
- Плохая устойчивость в задачах с дисбалансом классов — требуется корректировка весов.
- Неполное отражение качества генерации — сниженная cross-entropy не всегда означает лучший текст.
Преимущества и ограничения
- Плюс: простая и хорошо изученная функция.
- Плюс: работает с любыми вероятностными моделями.
- Плюс: обеспечивает устойчивые градиенты.
- Плюс: иерархически применима в любых размерах моделей.
- Минус: не отражает структурное качество текста.
- Минус: чувствительна к ошибкам разметки.
- Минус: переоценка вероятностной уверенности.
- Минус: может приводить к низкой разнообразности ответов.
Связанные термины
- Negative log-likelihood
- Softmax
- Supervised fine-tuning
- Perplexity
- Gradient descent
- KL-divergence
- Loss function