交叉熵损失
交叉熵损失分类任务的标准考卷
亦作、亦称:交叉熵 · Cross Entropy Loss
交叉熵(Cross-Entropy)源自信息论,衡量两个概率分布之间的差异,在机器学习中被广泛用作分类任务和语言模型的损失函数。最小化交叉熵等价于对训练数据做最大似然估计,是神经网络训练的核心数学目标。
概述
交叉熵(Cross-Entropy)源自信息论,衡量两个概率分布之间的差异,在机器学习中被广泛用作分类任务和语言模型的损失函数。最小化交叉熵等价于对训练数据做最大似然估计,是神经网络训练的核心数学目标。
核心定义与信息论基础
交叉熵将信息论中的编码代价转化为可优化的机器学习目标。
- Shannon 熵:$H(p) = -\sum_i p_i \log p_i$,衡量分布自身的不确定性(1948 年由 Claude Shannon 提出)
- 交叉熵:$H(p, q) = -\sum_i p_i \log q_i$,用次优方案 q 代替最优方案 p 时的平均编码长度
- 与 KL 散度的关系:$H(p,q) = H(p) + D_{KL}(p|q)$;真实分布 p 固定时,最小化交叉熵等价于最小化 KL 散度
- 下界:$H(p,q) \geq H(p)$,等号当且仅当 $p = q$,即预测完全准确时成立
- 等价于最大似然:最小化交叉熵在数学上与最大化对数似然函数(MLE)完全等价
计算流程与工程实现
标准分类任务的交叉熵损失计算分三步完成。
- 第一步,得到 logit:模型最后一层输出未归一化的原始分数,形状为 [batch, num_classes]
- 第二步,softmax 归一化:将 logits 转为概率分布,实践中通常用 log-softmax 保证数值稳定
- 第三步,取负对数均值:对真实类别对应的预测概率取负对数后批量求均值得到损失值
- 梯度形式简洁:softmax + 交叉熵联合求导,梯度恰好等于 $\hat{y} - y$,无梯度消失风险
- 框架实现:PyTorch 的
nn.CrossEntropyLoss内部合并 log-softmax 与 NLLLoss,直接接受 logits 以避免精度损失
常见变体
针对不同场景的痛点,研究者在标准交叉熵基础上提出多种改进。
- 二元交叉熵(BCE):用于二分类或多标签任务,每个标签独立经 sigmoid 后计算对数损失,不强制类别互斥
- 标签平滑(Label Smoothing):将 one-hot 目标软化——真实类保留 $(1-\varepsilon)$,其余类均摊 $\varepsilon$;Transformer 原始论文(2017)使用 ε=0.1,改善模型校准性
- Focal Loss:由 Lin 等人随 RetinaNet(2017)提出,引入聚焦参数 γ 对易分类样本动态降权,专注难样本,解决目标检测中的严重类别不平衡问题
- 温度缩放(Temperature Scaling):推理或知识蒸馏时用温度 T 缩放 logits,T>1 使软标签分布更平滑,迁移暗知识
- 序列级交叉熵:语言模型对每个 token 位置分别计算交叉熵后求均值,其指数形式即困惑度(Perplexity)
典型应用场景
交叉熵损失贯穿几乎所有现代深度学习任务。
- 图像分类:ResNet、ViT 等在 ImageNet 上以 softmax + 交叉熵为标准训练目标
- 语言模型预训练:GPT、LLaMA、Mistral 等自回归模型以 next-token 交叉熵为唯一预训练信号
- 指令微调(SFT):在对话数据上只对回答部分计算交叉熵,将预训练模型对齐指令格式
- 知识蒸馏:学生模型对教师软标签概率分布计算交叉熵(等价 KL 散度形式),迁移教师的隐式知识
- 语音识别(CTC):CTC 损失对所有合法对齐路径求和后取交叉熵,实现端到端序列到序列训练
局限与常见误区
即便是事实标准,交叉熵在特定场景下也会失效或被误用。
- 类别不平衡:损失被多数类主导,模型易忽略稀有类;需配合类别权重或改用 Focal Loss
- 过度自信(Overconfidence):未加标签平滑时,模型容易将概率全部压到正确类,概率校准差,影响下游决策
- 标签噪声敏感:对错误标注样本施以同等惩罚,噪声标签显著干扰训练;可用标签平滑或鲁棒损失缓解
- 多标签任务误用:softmax 强制各类互斥,多标签场景须改用 sigmoid + BCE,否则结果错误
- 困惑度跨词表比较:不同词表大小的模型困惑度不可直接横向对比,需统一到相同 token 粒度
发展脉络
交叉熵从信息论走向深度学习核心,经历数十年演进。
- 1948:Claude Shannon 发表《通信的数学理论》,奠定信息熵与交叉熵的理论基础
- 1980 年代:反向传播算法确立,交叉熵 + softmax/sigmoid 组合梯度性质优于 MSE,逐渐成为分类首选损失
- 2014:GoogLeNet 等在 ImageNet 挑战赛中大规模采用 softmax + 交叉熵,确立其视觉分类标准地位
- 2017:Transformer 论文引入标签平滑 ε=0.1;Focal Loss 随 RetinaNet 提出,扩展交叉熵在目标检测中的适用性
- 2018 至今:GPT、BERT 等大规模语言模型以交叉熵为唯一预训练信号,交叉熵损失成为衡量语言模型能力的事实标准
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「分类任务的标准考卷」
- 「语言模型训的就是这个」
- 「预测分布跟真实标签比」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
延伸阅读
从知识库精选 3 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「交叉熵损失」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
