跳到主内容
快讯直播
AI智模界
AI 词典

温度缩放(Temperature Scaling)

一句话定义:温度缩放是一种「事后校准」手段——训练好的模型一个参数都不动,只在验证集上学一个温度 T,把输出层的 logits 全部除以 T 再过 softmax,让模型报出来的概率更接近真实命中率。

为什么需要它

神经网络最后一层吐出的是 logits(未归一化的分数),softmax 之后变成概率。问题在于,现代模型普遍过度自信:它标着 0.95 的样本,真实正确率可能只有 0.7 左右。也就是「答得挺对,但概率不能信」。

打个比方:一位阅卷老师习惯把 60 分的卷子打成 90 分。排序大体没错,但分数普遍虚高。温度缩放不改卷面内容,只是给所有分数做一次统一的压缩——名次不动,虚高的部分被拉回来。

它是怎么做的

公式很简单:概率 = softmax(logits / T)。

  • T = 1:原样输出。
  • T > 1:分布被「软化」,概率向中间靠拢,过度自信被削掉(最常见的情况)。
  • T < 1:分布变尖,模型更自信。

T 的取值在验证集上通过最小化负对数似然(NLL,等价于交叉熵)搜出来。因为只有一个参数,一维搜索就够了,几乎不存在过拟合风险。注意别用训练集:训练集上模型更自信,学出来的 T 是偏的。

关键性质:除以一个正数不改变数值大小顺序,所以 argmax 不变,准确率一模一样。它修的是概率的刻度,不是答案本身。

和相邻概念的区别

概念何时介入改的东西能提准确率吗
温度缩放训练后一个全局温度不能,也不该指望
标签平滑训练中目标标签有时间接有
深度集成 / 多模型平均训练多个模型预测求平均通常能
向量缩放 / 矩阵缩放训练后每类一组参数不能
大模型里的「温度」生成采样时采样随机性不适用

二分类里的 Platt 缩放是它的近亲,温度缩放可以看作 Platt 缩放套在多分类 logits 上的一参数版本。

还要把「校准」和「准确率」分开看:校准问的是「说 80% 把握的事,真的对 80% 吗」;准确率问的是「一共答对多少」。两者互不决定——模型可以很准但很狂,也可以很菜但很诚实。

对实际工作的意义

只要概率被拿去做决策,校准就有价值:

  • 设阈值做风控、审核、告警,按置信度排序,或者选择性拒答、转人工。
  • 模型融合、主动学习、不确定性监控,前提都是概率可信。
  • 线上还能顺带监控 T:新数据上最优 T 明显偏离 1 且持续漂移,是分布漂移的一个廉价信号。

两个别忽略的坑:温度缩放只保证整体平均校准,不保证每个置信度分桶、每个子人群都准;它也不改变模型能力上限,别指望靠它涨点。

实现上通常就是几行代码加一次一维优化,成本低到几乎可以默认加上。具体接口和取值范围以官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。