Rethinking Confidence Calibration for Failure Prediction
置信度校正论文阅读:Rethinking Confidence Calibration for Failure Prediction;https://github.com/Impression2805/FMFP;ECCV2022
Abstract
- 对预测结果提供可靠的置信度估计对于许多安全关键的应用非常重要
- 现代的深度神经网络往往对其错误预测过于自信
- 最近,许多校准方法已经被提出来缓解过度自信的问题
- 一种校准置信度的初级和实际目的是通过过滤低置信度的预测来检测错误分类(称为失败预测)
- 我们发现一个普遍存在但实际被忽略的现象
- 🚩 即大多数置信度校准方法对失败预测无用或有害
- 揭示 流行的置信度校准方法往往导致正确样本和错误样本之间的置信度分离变得更差, 从而更难以决定是否应该相信一个预测
- 最后,受平坦极小值与置信度分离之间的自然联系启发,我们提出一个简单的假设:平坦极小值有利于失败预测
- 我们通过广泛的实验验证了这一假设,并通过组合两种不同的平坦极小值技术进一步提升了性能
1 Introduction
1. 置信度估计对安全关键应用很重要
- 例如自动驾驶、医疗等
- DNN模型存在过度自信的问题,需要校准置信度
2. 置信度校准目标
- 要使准确率与置信度匹配:
- 完美校准: P ( y ^ = y ∣ p ^ = p ∗ ) = p ∗ , ∀ p ∗ ∈ [ 0 , 1 ] P(\hat{y} = y|\hat{p} = p^*) = p^*, \forall p^* \in [0, 1] P(y^=y∣p^=p∗)=p∗,∀p∗∈[0,1]
- ECE近似误差: ECE = ∑ m = 1 M ∣ B m ∣ n ∣ a c c ( B m ) − a v g C o n f ( B m ) ∣ \text{ECE} = \sum_{m=1}^{M}\frac{|B_m|}{n}|acc(B_m) - avgConf(B_m)| ECE=∑m=1Mn∣Bm∣∣acc(Bm)−avgConf(Bm)∣
- 常用方法
- Training: mixup, label smoothing等
- Post-processing: temperature scaling等
3. 失败预测目标
- 将错误预测与正确预测区分开
- 决策函数: g ( x ) = { accept, if κ ( x ) ≥ δ reject, otherwise g(x) = \begin{cases} \text{accept,} &\text{if } \kappa(x) \geq \delta\\ \text{reject,} &\text{otherwise} \end{cases} g(x)={accept,reject,if κ(x)≥δotherwise
- 常用指标:AURC、AUROC等
- 相关工作较少
4. 问题:校准的置信度对失败预测有用吗?
- 两者目标相关,都关注样本的置信度
- 但实验发现多数校准方法对失败预测无益或有害
2 Problem Formulation and Background
1. 多类分类问题定义
- 样本 ( x , y ) ∼ P ( X , Y ) (x, y) \sim P(X, Y) (x,y)∼P(X,Y),其中 X = R d , Y = { 1 , 2 , . . . , k } X=\mathbb{R}^d, Y=\{1,2,...,k\} X=Rd,Y={1,2,...,k}
- 模型 f : X → Y f:X\rightarrow Y f:X→Y,产生预测概率 p ^ = P ^ ( y ∣ x , θ ) \hat{p} = \hat{P}(y|x, \theta) p^=P^(y∣x,θ)
- 预测:$ \hat{y} = \argmax_{y\in Y} \hat{P}(y|x, \theta) , 置信度 : ,置信度: ,置信度:\hat{p} = \max_{y\in Y} \hat{P}(y|x, \theta)$
2. 置信度校准
- 定义与符号
- 🚩 完美校准: P ( y ^ = y ∣ p ^ = p ∗ ) = p ∗ , ∀ p ∗ ∈ [ 0 , 1 ] P(\hat{y} = y|\hat{p} = p^*) = p^*, \forall p^* \in [0, 1] P(y^=y∣p^=p∗)=p∗,∀p∗∈[0,1]
- 指标
- 🚩 ECE: ECE = ∑ m = 1 M ∣ B m ∣ n ∣ a c c ( B m ) − a v g C o n f ( B m ) ∣ \text{ECE} = \sum_{m=1}^{M}\frac{|B_m|}{n}|acc(B_m) - avgConf(B_m)| ECE=∑m=1Mn∣Bm∣∣acc(Bm)−avgConf(Bm)∣
- 🚩 NLL: N L L = − ∑ i = 1 n log [ p ^ ( y c ∣ x i ) ] NLL = -\sum_{i=1}^{n}\log[\hat{p}(y_c|x_i)] NLL=−∑i=1nlog[p^(yc∣xi)]
- 🚩 Brier分数等
- 改进方法
- 🚩 Training: mixup, label smoothing等
- 🚩 Post-processing: temperature scaling等
3. 失败预测
- 定义与符号
- 🚩 决策函数: g ( x ) = { accept, if κ ( x ) ≥ δ reject, otherwise g(x) = \begin{cases} \text{accept,} &\text{if } \kappa(x) \geq \delta\\ \text{reject,} &\text{otherwise} \end{cases} g(x)={accept,reject,if κ(x)≥δotherwise
- 指标:AURC、E-AURC、AUROC等
- 改进方法:ConfidNet、CRL等
4. 为何重新审视校准对失败预测的作用?
- 两任务目标相关,都关注样本置信度
- 但校准对失败预测影响未被深入研究
3 Does Calibration Help Failure Prediction?
1. 实验设置
- 数据集:CIFAR-10/100,ImageNet等
- 模型:ResNet,WRN,DenseNet等
- 评估方法:mixup, label smoothing, temperature scaling等
- 失败预测指标:AURC, E-AURC, AUROC等
2. 结果与分析
- 流行的校准方法对失败预测有害
- ✅ 例如mixup和LS使AUROC分别下降3.83和9.07百分点
- 这个结论也适用于大规模ImageNet数据集
- TS(温度缩放)几乎不能提高失败预测性能
- 选择性风险分析也显示这些校准方法增加检错风险
选择性风险分析是指作者绘制了风险覆盖曲线(risk-coverage curve)来比较不同方法。其中:
选择性风险(selective risk):指的是trust预测的错误率,即相信模型预测的样本中的错误率。
覆盖率(coverage):指的是预测被接受的样本所占比例。
风险覆盖曲线:横坐标是覆盖率,纵坐标是选择性风险,绘制不同方法下选择性风险随覆盖率变化的曲线。
一个好的失败预测方法,在给定覆盖率下应具有较低的选择性风险。
通过风险覆盖曲线比较,作者发现基准方法baseline相比其他校准方法具有更低的选择性风险。这意味着基于其他校准方法得到的置信度,如果用于过滤低置信度预测,将增加决策风险。
3. 原因分析
- 校准方法简单降低整体置信度,而非区分正确和错误
- 导致正确预测也变得欠置信,降低可区分性
- 最佳校准需正确错误样本以特定方式混合,而非简单对齐
- 所以这些方法降低了正确错误样本间的可分离性
4. 讨论
- 失败预测需最大化正确错误样本置信度差异
- 但校准关注整体统计匹配,可能混合置信度
- 所以一定程度校准未必带来好的失败预测
4 Improving Failure Prediction by Finding Flat Minima
4.1.1 动机
- 动机:
- 置信度可分离性对失败预测很关键
- 正确样本的置信度鲁棒性与模型平坦度相关
- 平坦最小意味更大的参数扰动稳定性
- 可靠过拟合现象:模型末期AUROC反而下降
可靠过拟合(reliable overfitting)是本文中提出的一个现象,指在模型训练后期,分类准确率继续提升,而失败预测性能(如AUROC)却下降的情况。
具体来说,表现为:
模型训练过程中,分类准确率(accuracy)持续提高
而失败预测指标AUROC在模型训练后期反而下降
这种现象使得模型准确率和置信度可靠性之间出现反向的trade-off。如果early stop模型以提高AUROC,又会损害分类准确率。
产生这种现象的原因在于,模型训练过度导致:
正确样本的置信度被进一步提升
而错误样本的置信度分布并没有明显改善
导致正确和错误样本的置信度分离度下降,从而降低了失败预测的性能。
-
方法:
- SWA: 参数均值,用过去n个模型平均
- SAM: 扰动参数寻找平坦区
- L ( θ + ϵ ) + λ max ∣ ∣ ϵ ∣ ∣ p ≤ ρ ∣ ∣ ϵ ∣ ∣ L(\theta + \epsilon) + \lambda\max\limits_{||\epsilon||_p\leq\rho}||\epsilon|| L(θ+ϵ)+λ∣∣ϵ∣∣p≤ρmax∣∣ϵ∣∣
- 直觉上平坦最小值可改善置信度可分离性
- 提出FMFP算法,结合SWA和SAM
-
优势
- SWA和SAM从不同角度寻找平坦区
- 充分利用平坦区置信度可分离性的优势
- 简单有效,易于实现
4.1.2 方法细节
-
如何找到平坦极小值
- SWA
- ✅ 参数均值: θ t S W A = 1 n + 1 ( θ t − 1 S W A × n + θ t ) \theta_{t}^{SWA} = \frac{1}{n+1}(\theta_{t-1}^{SWA}\times n + \theta_{t}) θtSWA=n+11(θt−1SWA×n+θt)
- ✅ 用过去n个checkpoint的参数均值作为最终参数
- SAM
- ✅ 扰动参数寻找平坦区域:
L ( θ + ϵ ) + λ max ∣ ∣ ϵ ∣ ∣ p ≤ ρ ∣ ∣ ϵ ∣ ∣ L(\theta + \epsilon) + \lambda\max\limits_{||\epsilon||_p\leq\rho}||\epsilon|| L(θ+ϵ)+λ∣∣ϵ∣∣p≤ρmax∣∣ϵ∣∣ - ✅ 在loss函数中加入参数扰动项,扰动范数受约束
- ✅ 扰动参数寻找平坦区域:
- FMFP
- ✅ 结合SWA和SAM
- ✅ SWA从均值角度,SAM从扰动角度
- ✅ 两者不同而互补,组合可以发挥各自优势
- SWA
-
方法选择的考量
- SWA和SAM简单高效,易于实现
- SWA通过参数均值,可找到平坦广阔区域
- SAM直接约束参数扰动,可显式搜索平坦区
- 两者相结合,可以更充分利用平坦区域的置信度可分离性
-
算法实现
- 只需要简单修改标准训练流程
- 添加SWA的参数均值步骤
- 引入SAM的参数扰动项
- 易于基于Pytorch等框架实现
4.2. 实验结果与分析
-
平坦极小值方法(SAM/SWA/FMFP)优于基准和SOTA
-
FMFP效果最佳,AUROC提升2-3%
-
显著改善置信度分布、可靠性、风险曲线
-
分布漂移下也保持优势
- CIFAR-10-C通过在CIFAR-10的测试集上添加15种不同类型的图像损坏来模拟分布漂移
- CIFAR-10-C通过在CIFAR-10的测试集上添加15种不同类型的图像损坏来模拟分布漂移
-
减轻了可靠过拟合现象
-
其他结果
4.3. 理解平坦极小值的优势
- 更好的表征学习,抑制无关信息
- 反映参数空间更丰富的后验不确定性
- 充分利用了平坦区的置信度可分离性
5 Concluding Remarks
-
总结
- 流行的置信度校准方法对失败预测无益或有害
- 分析发现这是因为它们降低了正确错误样本的置信度可分离性
- 提出了一种基于平坦极小值的简单而有效的失败预测方法
- 该方法可以同时改善置信度校准和失败预测
-
贡献
- 从失败预测的角度重新审视置信度校准
- 发现流行校准方法的反直觉副作用
- 提出了一种超越SOTA的失败预测方法
- 加深了对置信度可靠性的理解
-
未来工作
- 探索其他改善校准和失败预测的策略
- 更多地理解置信度与模型平坦性的内在关系
- 在更多领域和应用中验证方法