Skip to content

算法Algorithm

温度缩放概率校准

Temperature scaling

固定分类 logits 后以一个正温度重新分配概率,证明类别排序不变及逆温度目标的凸性,并算出可修正和无法修正的校准例子。

形式陈述 ​

设已训练模型对输入 x 输出 K≥2 个有限实数 logits:z1(x),…,zK(x)。温度缩放选择一个正数 T,把概率改为

pT(k∣x)=exp⁡(zk(x)/T)∑j=1Kexp⁡(zj(x)/T).

原模型参数保持固定,只在大小 n≥1 的独立校准集 (xi,yi)i=1n 上选择 T,通常最小化负对数似然

(1)L(T)=−1n∑i=1nlog⁡pT(yi∣xi).

这是一个训练后概率映射。它的目标是改善概率含义,但一个参数无法表示任意校准函数;经验 NLL 降低也不等于所有群体或所有概率档都已校准。[1, §4.2]

当 T>0,对每个样本都保持

arg⁡maxkpT(k∣x)=arg⁡maxkzk(x).

所以在同一平票规则下,预测标签和分类准确率都不变。T 不是新增类别阈值,也不把某些类的 logit 单独平移。

直觉

两个类别的概率比满足

pT(j∣x)pT(k∣x)=exp(zj(x)−zk(x)T).

增大温度会压缩这些比值,使分布更平;减小温度会扩大差异,使概率更集中。T→∞ 时所有类别趋于均匀;T→0+ 时概率集中在最大 logit 的类别集合中。

分数排序没有变,报告的把握却变了。因此同一分类器可以在准确率完全不动的情况下,显著改善或者恶化它的概率评分。

例子与边界

一个温度恰好修正过度自信 ​

先看二分类。校准集中四个样本具有相同 logit 差 z1−z0=log⁡9,其中三个为正、一个为负。原温度 T=1 给出的正类概率为 0.9,平均 NLL 为

−34log⁡0.9−14log⁡0.1≈0.654667.

取 T=2,新的概率为

e(log⁡9)/21+e(log⁡9)/2=31+3=34,

平均 NLL 降到

−34log⁡34−14log⁡14≈0.562335.

四个样本的预测类别始终为正,准确率始终是 3/4。对这份数据,Bernoulli 对数损失在经验频率 3/4 最小,而温度族恰好包含它,所以 T=2 是最优解。

多类也不是逐概率直接除以温度。例如 logits 为 (log⁡4,log⁡2,0),在 T=1 时概率为 (4,2,1)/7;在 T=2 时变为

(2,2,1)3+2≈(0.453082,0.320377,0.226541).

分母必须重新归一化,最高类别仍为第一类。

真正凸的是逆温度坐标 ​

令 β=1/T>0。式 (1) 成为

F(β)=1n∑i[log⁡∑keβzik−βzi,yi].

其一阶、二阶导数分别为

F′(β)=1n∑i(∑kpβ(k∣xi)zik−zi,yi),F″(β)=1n∑iVark∼pβ(⋅∣xi)(zik)≥0.

因此它是 β 上的凸函数。这给一维求解提供清楚依据;非线性换元后,不能直接声称 T 坐标中的目标也必然凸。

有限最优温度也并非总存在。若每个校准样本的真实类别都是严格最大 logit,则 β→∞ 可以不断降低 NLL,最优下确界可能只在 T→0+ 达到。若数据更偏好均匀概率,最优又可能落在 β=0 的闭包边界,即 T→∞。实际求解应声明搜索区间或正则化,而非把每次优化器返回的有限值都当成唯一内点最优。

一份会终止的区间求解步骤 ​

预先给定 0<βmin<βmax<∞ 和参数容差 τ>0,在这个闭区间上最小化 F。连续性保证最小值取得,F′ 单调不减,使二分求根可在排除端点最优后用于导数:

  1. 若 F′(βmin)≥0,返回左端点;否则若 F′(βmax)≤0,返回右端点
  2. 其余情形维护导数异号的区间;只要区间宽度大于 τ,就在中点计算 F′;负则保留右半,正则保留左半,恰为零则直接返回
  3. 当区间宽度不超过 τ 时返回中点,并令 T=1/β

两端导数同为零时,目标在区间上为常数,第一步任取左端仍最优。其他情况下,最终区间包含一个极小点,因此返回值到某个区间最优逆温度的距离至多 τ。若初始宽度为 W,至多需要 max{0,⌈log2⁡(W/τ)⌉} 次二分;在指数函数与实数运算按单位成本计的模型中,计算每次导数需 O(nK) 工作,总成本为 O(nK(1+max{0,log⁡(W/τ)}))。浮点实现还应控制导数符号误差,不能把近似为零直接当作精确最优证书。

这给出指定区间内的有限计算保证。区间限制本身属于算法输入;它既不承诺找到整个开半轴上的最优温度,也不把优化精度变成总体校准精度。

同一温度无法解决的信息缺口 ​

假设两个可区分群体都被模型给出同一对 logits,但真实正例率分别为 0.6 和 0.9。无论选择哪个 T,两群体得到的报告仍相同,不可能同时等于这两个不同频率。

若群体等大,报 0.75 可以在总体上校准,却依然在每个群体内失准。这不是求解器还没调好,而是单参数映射没有使用群体信息。扩大为不同群体分别校准,会改变模型与评估目标,需单独选择和验证。

推论与应用

温度缩放适合原模型的排序已有用、主要问题是整体过度自信或不够自信的情况。它对类别排序的保持是数学性质;在某个数据集上改善 NLL 或可靠度则是需要验证的事实。

使用时,先固定模型并保存校准集 logits,再优化逆温度,最后在独立评估集比较 NLL、可靠度及样本量。若需要更灵活的单调概率映射,可以考虑保序校准;若关心多个重叠群体,则应明确多重校准的群组族与容差,而不是期待一个温度自动解决全部要求。

参考资料
  • [1] Chuan Guo, Geoff Pleiss, Yu Sun, Kilian Q. Weinberger, On Calibration of Modern Neural Networks, ICML 2017,§4.2、式 (9),§5。文中提出以单一温度优化验证集 NLL;此处展开逆温度的导数、边界最优与固定 logits 的算例。
关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系