在AI模型训练中,判断一个分类模型的好坏,往往不能只看它是否答对。两个模型可能都把猫识别成狗,但它们给出的概率结构可能完全不同:一个模型认为猫有40%的可能,另一个模型只给猫1%的可能。若仅用准确率或错误率衡量,这两次错误没有区别;但如果目标是训练一个会估计概率的模型,二者之间的差距就很重要。交叉熵正是用来衡量这种差距的常用工具。
掘金技术社区近日发布的一篇技术文章,从模型训练与评估角度解释了交叉熵在单标签分类任务中的作用。文章以“猫狗分类”为例说明:当真实答案是猫时,模型A给出猫40%、狗60%的概率,模型B给出猫1%、狗99%的概率。若只看最终选择,两者都选了狗,都答错;但从概率预测质量看,模型A至少为正确答案保留了40%的可能性,而模型B几乎完全排除了正确选项。
准确率之外,模型还需要一把概率尺子
文章指出,0/1错误率在统计模型选错次数时很直观,但它无法反映概率分配的变化。例如,当正确答案“猫”的概率从1%提升到40%,而“狗”仍然排在第一时,错误率不会改变。对于需要输出概率的模型而言,这种评分方式会丢失训练过程中的关键信息。
因此,交叉熵提供了一种更细粒度的评价方法。在单标签分类场景中,如果某个类别是确定正确答案,交叉熵损失可简化为对该类别预测概率取负自然对数,即 −ln(p正确)。正确类别获得的概率越低,损失越大;当概率接近1时,损失接近0。
- 正确类别概率越高,交叉熵损失越低。
- 正确类别概率越低,损失越高,且在概率接近0时增长迅速。
- 同样答错的情况下,交叉熵仍能区分“错得较轻”和“错得严重”。
从训练链路看,交叉熵如何参与模型优化
在典型训练流程中,模型首先输出原始分数,也就是logits;Softmax将这些分数转换为概率分布;交叉熵再根据真实标签对预测概率进行评分;随后,反向传播基于计算图得到梯度,优化器再根据梯度更新模型参数。
文章强调,Softmax、交叉熵、反向传播和优化器各自承担不同职责。Softmax负责把分数变成概率,交叉熵负责定义评分目标,反向传播计算梯度,优化器决定参数如何更新。即使在部分工程实现中,概率变换和损失计算会被融合处理,但概念上仍可分开理解。
在多张样本的情况下,交叉熵的优势进一步体现。假设第一张图片真实标签是猫,模型给出正确类别概率0.8;第二张图片真实标签是狗,模型给出正确类别概率0.5。两个样本的损失分别为约0.223144和0.693147,相加后总损失为0.916291,平均损失为0.458145。
文章还提到,若将样本正确概率相乘,0.8 × 0.5 = 0.4,这表示在条件独立假设下,这组给定答案的似然。对似然取负对数,正好等于各样本损失之和。这也解释了为什么负对数形式适合组合多个样本:它把概率乘积转化为可相加的损失,便于训练优化。
软目标、标签错误与低概率样本
交叉熵并不只适用于“正确答案占100%”的硬标签。文章举例称,若目标分布为 [0.8, 0.2],预测分布为 [0.4, 0.6],则需要同时计算两个类别的加权和:−0.8 ln(0.4) − 0.2 ln(0.6),结果约为0.835198。
这种形式在大模型评估和知识蒸馏等场景中具有意义。因为模型面对的未必是非黑即白的标签,有时是教师模型给出的概率分布,或经过平滑处理的目标。交叉熵可以比较目标分布与预测分布之间的差异,而不只是判断模型是否选中了某个答案。
文章同时提醒,交叉熵不能自动发现标签错误。如果真实标签本身被误标,评分目标就会出错,模型可能被迫为错误标签分配更高概率。这属于输入质量问题,无法通过更换损失函数本身解决。
此外,交叉熵对低正确项概率更加敏感。当模型给正确答案的概率很低时,负对数损失会迅速上升。这使它能惩罚过度自信的误判,但也意味着错误标签或异常样本可能带来较大的损失影响。
对大模型评估的意义:不只看答没答对
在分类任务和大模型评估中,准确率、通过率、胜负对比等指标常被使用,但它们往往只记录最终答案。交叉熵的价值在于,它保留了模型对答案确定性的表达。对于需要生成概率、排序候选项、校准置信度或进行风险评估的系统来说,这种信息比单纯的对错更关键。
文章也区分了训练评分与部署决策。交叉熵是训练过程中的损失函数,用于优化模型概率预测;而真实业务中的高风险决策,还需要额外的阈值设定、校准机制和人工核验。负对数可以被理解为一种“意外度”的数学表达,但这并不意味着模型具有惊讶、相信或后悔等情绪。
从模型训练角度看,交叉熵之所以常用,并不是因为它能替代所有指标,而是它能在“同样答错”的情况下继续区分概率质量。对于今天越来越依赖概率输出和置信度判断的AI系统而言,这种区分能力,正是它成为基础训练目标的原因。
原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/mo-xing-da-cuo-ye-you-cheng-du-jiao-cha-shang-wei-he-cheng