在机器学习,特别是分类任务中,模型的“预测置信度”通常指模型对其预测结果的“确信程度”,这个值一般来源于 Softmax 函数的输出,另外还有一种统计置信度,两种“置信度”有根本区别。
Softmax 函数将模型最后一层的logits转换成一个概率分布。这个概率分布中的最大值,就被通俗地称为“置信度”。
例如,一个图像分类模型对某张图片输出的 Softmax 概率为 [猫: 0.95, 狗: 0.04, 鸟: 0.01],那么模型会预测该图片为“猫”,并给出 95% 的预测置信度。
高置信度 ≠ 高准确率
这是一个至关重要的区别:模型的预测置信度不等于它预测正确的真实概率。它仅仅反映了输入数据在多大程度上符合模型在训练中学到的关于某个类别的模式。
一个模型完全可能非常自信地给出一个完全错误的答案。主要原因有二:
- 模型校准 (Model Calibration) 不佳: 一个“良好校准”的模型,其置信度才能近似反映真实准确率。然而,现代深度神经网络通常是校准得很差的(Poorly Calibrated),它们倾向于对自己的预测过度自信 (Overconfident)。
- 分布外样本 (Out-of-Distribution, OOD): 如果你给一个猫狗分类器输入一张汽车图片,Softmax函数仍然会强制输出一个总和为 1 的概率分布。模型可能会因为汽车的某些特征与它学到的“狗”的特征有微弱相似,而自信地预测它是“狗”,这显然是荒谬的。
解决方案:使用专门的不确定性量化技术
要真正地、可靠地度量模型的不确定性,我们应该采用专门为此设计的技术,而不是依赖于 Softmax 的副产品。
常见的方法包括:
- 蒙特卡洛 Dropout (MC Dropout):通过在推理时多次随机采样,得到一个预测分布,从而计算出预测的方差来量化不确定性。
- 保形预测 (Conformal Prediction):一种更为严谨的统计方法,可以为预测提供一个有数学保障的置信区间。
- 温度缩放 (Temperature Scaling):一种简单的模型校准技术,通过一个可学习的温度参数 T 来平滑 Softmax 的输出,使其更好地反映真实的概率分布,但这主要用于校准,而非提供完整的不确定性信息。
Seealso
Reddit 上有一个关于这个话题的深度讨论,非常有意思