新闻详情

新闻详情

首页 / 资讯中心 / 详情

0.7 概率校准——ECE 与温度缩放

发布时间:2026/10/2 8:27:51来源:尧图网络
0.7 概率校准——ECE 与温度缩放
文章目录写在前面一、说 87% 就 87% 是ECE给自信记账二、温度缩放一个标量救整个分布三、开箱 LAYA 的温度表那行警告全文解释四、两套置信度到底信哪个五、0.466 → 0.081LAYA 的校准来龙去脉自测十题本文总结写在最后附术语速查表第 7 版累加 9 条下篇预告写在前面第 5 篇跑真模型时屏幕上弹过一条没解释的警告RuntimeWarning: laya: this checkpoint ships invalid temperatures or values outside [0.5, 5]; using choice:110.10058280825614929 - 0.5. Treat confidence from the affected entries as uncalibrated.还有一对没分清的双胞胎confidence和answer_confidence为什么一个 0.47 一个 0.81这两笔账今天全清。本篇是全系列的技术制高点——不是因为公式最难而是因为它离**凭什么信最近第 6 篇讲了训练时怎么罚嘴硬这一篇讲部署后怎么验收**。模型嘴里的 87%怎么变成真的 87%。家当零新增还是pip install laya numpy。今天立第七条军规被 LAYA 自己的出厂状态逼出来的军规七模型的出厂概率先当没校准的看——验证过、修过才信。连 LAYA 这种把校准写进训练方法名RLCD的模型英语版出厂平均 ECE 也有 0.466多语言版更是压根没拟合温度。概率是模型的嘴校准是账本——嘴说了不算账本说了算。一、“说 87% 就 87% 是”ECE给自信记账校准的定义一句话说 80% 的事80% 地发生。具体到模型它报置信度 0.9 的一批判断里九成应该真的对。那怎么量化嘴和账的差距ECEExpected Calibration Error期望校准误差。做法朴素得像查账把所有判断按置信度分桶比如 0.5~0.6 一桶、0.6~0.7 一桶……每桶算两个数说了多少桶内平均置信度和对了多少桶内实际正确率差距加权平均就是 ECE。LAYA 源码里的ece_score就是这么写的我直译成中文注释edgesnp.linspace(0,1,bins1)forlo,hiin桶边界:sel置信度落在这桶里的判断ifsel.any():esel.mean()*abs(conf[sel].mean()-correct[sel].mean())# 桶权重 × 嘴账差距手算一遍10 个判断5 个桶纯 numpy 可自己跑importnumpyasnp confnp.array([0.95,0.90,0.85,0.80,0.75,0.70,0.65,0.60,0.55,0.50])correctnp.array([1,1,0,1,1,0,1,0,1,1],dtypefloat)我的真实输出桶[0.5,0.6]: 3个 | 说了0.550 对了0.667 | 差距0.117 桶[0.6,0.7]: 2个 | 说了0.675 对了0.500 | 差距0.175 桶[0.7,0.8]: 2个 | 说了0.775 对了1.000 | 差距0.225 桶[0.8,0.9]: 2个 | 说了0.875 对了0.500 | 差距0.375 ← 最歪的一桶 桶[0.9,1.0]: 1个 | 说了0.950 对了1.000 | 差距0.050 ECE 0.1950读数0.8~0.9 桶最歪——嘴上说 87.5% 把握实际只对了一半。ECE0.195 就是把这五笔账加权平均后的总差距。ECE 越小嘴越可信ECE0每桶说了对了。注意一个容易忽略的点ECE 只量嘴和账的差距不量对错率本身。一个每次都报 0.55、实际对 55% 的模型ECE 完美但判断力平平——校准的是诚实度不是本事第 6 篇结尾那句药只治嘴硬不治眼瞎这里就是它的数学表达。二、温度缩放一个标量救整个分布发现嘴账不符之后怎么修温度缩放temperature scaling——深度学习里最著名的便宜大补药训练完模型后只调一个标量 T就能把歪掉的置信度掰回来。机制只有一行公式。模型出口的 logits 除以 T 再 softmaxp softmax(logits / T)T 对分布的作用亲手感受logits 固定 [2.2, 1.1, 0.3]T0.5: [0.882, 0.098, 0.020] ← 锐化嘴更硬 T1.0: [0.675, 0.225, 0.101] ← 原样 T2.0: [0.509, 0.294, 0.197] ← 软化嘴收着点三个读数T1 锐化、T1 软化、T1 不动无论 T 怎么变选项排序不变第一名还是第一名变的只有自信程度。所以它只修嘴的松紧不动判断本身——这是它能当最后一道工序的资格。T 怎么定拿一小批带答案的验证数据网格搜索让 NLL第 6 篇的 log 罚分最小的 T。完整实验自己跑我跑的真实结果importnumpyasnp np.random.seed(42)n,K600,3true_probnp.array([0.70,0.20,0.10])# 一个真实分布ynp.random.choice(K,n,ptrue_prob)# 抽真值logitsnp.log(true_prob)*2.6# 嘴硬因子 2.6构造一个过锐的模型# softmax_T(L, T)先 L/T 再 softmaxECE 沿用第一节的分桶函数# 网格Ts np.arange(0.5, 6.01, 0.01)找 NLL 最小的 T三步读数拟合前 T1.0: 平均最高概率 0.957实际正确率 0.690 ← 嘴账差 0.27 网格搜索最优 T 2.72NLL 从 2.4296 降到 0.8233 拟合后 T2.72: 平均最高概率 0.686实际正确率 0.690 ← 嘴账差 0.004ECE 从 0.267 压到 0.006。一个标量把说 95.7% 实际对 69%的嘴硬模型修成说 68.6% 实际对 69%的诚实模型。这就是温度缩放的全部——便宜、只动一个数、不动判断、验收靠 ECE。为什么一个标量就够直觉版解释过度自信通常是全网络性的整体偏差logits 整体过锐或过软一个除数恰好就是整体缩放的旋钮。学术版出处Guo 等 2017 年《On Calibration of Modern Neural Networks》——深度网络的经典结论。三、开箱 LAYA 的温度表那行警告全文解释现在拆第 5 篇的雷。LAYA 模型里真的存着一张温度表——D4 读源码时见过temperature是 3 个数的 bufferchoice/score/noul 各一。真模型里存的是什么实测english checkpointagent.temperature_by_options_raw桶出厂温度作用choice:21.90642 选项的 choice 题软化 1.9 倍choice:3-51.76023~5 选项软化 1.76 倍choice:6-101.00006~10 选项不动choice:110.100611 选项想锐化 10 倍——出厂即违规score:3-51.2514score 题软化 1.25 倍noul:21.9834noul 题软化 1.98 倍四层读数一层比一层有意思第一层温度不是 3 个是分桶的。源码里temp_bucket()按题型×选项数分桶“2”/“3-5”/“6-10”/“11”choice 一个题型就占 4 个桶——因为 2 选项和 20 选项的自信度失真程度本来就不一样。这与 README 的说法对上了“Refitting one temperature per (question type, option count)”。第二层几乎全部 ≥1全是软化方向。六个桶里五个是 T1 的收着点——出厂模型整体嘴硬README 自己承认“Both checkpoints are over-confident as shipped”所以拟合出来的药全是降火的。第三层choice:11 是 0.1006——想锐化 10 倍超出安全范围 [0.5, 5.0] 被钳到 0.5。这就是第 5 篇那行警告的全文解释不是模型坏了是这个桶的温度拟合结果本身不可信。一个把 T 拟合到 0.1 的桶说明它在验证集上找不到自洽的松紧——大选项数场景下模型本来就不该自信第 5 篇 77 选项实测 top 只有 0.25这时候无论锐化还是软化都是硬掰。LAYA 的处理方式很诚实钳到边界、弹警告、并且明说受影响条目的 confidence 当未校准看待。第四层为什么要钳制想想被攻击面温度表是从 checkpoint 文件里读的。一个没钳制的温度值比如 0.01会让 softmax 输出几乎 one-hot——概率全堆到一个选项上。信任文件里的任意浮点数 给文件投毒开大门。钳制 [0.5, 5.0] 非法值回退 1.0 警告明示这是把防呆做全了的三件套。顺带一句那张表里的桶温度优先级高于按题型的 3 个温度temperature_by_options 覆盖 temperature原始值永远可以用agent.temperature_raw和agent.temperature_by_options_raw查到——被钳没被钳一目了然。四、两套置信度到底信哪个第 5 篇的第二个雷同一道题confidence: 0.9267但answer_confidence: 0.9865。现在可以拆了。两者定义不同confidence 1 − 归一化熵量整个分布的集中程度。三个选项 0.98/0.01/0.01 和 0.60/0.35/0.05熵算出来不一样但它不看报的那个答案本身answer_confidence max§报出来的答案的概率。它就是第 2 篇 softmax 出口那个最高概率。信哪个LAYA 源码的 docstring 写得直白answer_confidence注释直译“这是温度缩放所拟合的量也是本仓库每一张校准图所计算的量——两个基准 harness 都先取conf max(probs)再调ece_score。因此它是唯一具有 README 门控属性的那种置信度以置信度 c 返回的答案中约 c 比例是对的。”一句话定音answer_confidence是被校准的那个数。温度缩放修的就是 max§ECE 验收量的也是 max§——修哪个验哪个账才能对上。confidence熵版不是没用它对分布形状敏感但拿它当门控阈值等于拿一个没校准过的尺子量货。还有个跨模型的大坑要提醒README 原话Jev 的 confidence 公式是(n·p_max − 1)/(n − 1)和 LAYA 两套都不同——从 Jev 搬过来的阈值到 LAYA 一个都不能用。这跟第 6 篇军规六是一对缩写别转述阈值别平移。五、0.466 → 0.081LAYA 的校准来龙去脉全篇数字合龙。README 校准段直译数字原样英语版laya按题型×选项数分桶重拟合温度后平均 ECE0.466 → 0.081多语言版laya-multilingual0.314 → 0.106且出厂压根没拟合温度ships with no fitted temperatures at all——直接用它的概率前先自己拟合加载时钳制 [0.5, 5.0]、非法值回退 1.0、桶温度优先于题型温度——第三节全部对上。注意一个细节0.466 是出厂平均 ECE另外 README 在与 Jev 的对比表里还报过raw ECE 0.213 vs 0.144——两个数字都对量的不同基准集前者是跨基准的平均后者是特定基准的出厂原始值。顺带一提那张对比表里 Jev 的 ECE 是 0.246——LAYA 拟合温度后的 0.081 反超了 Jev多花一道拟合工序换三倍校准就是这笔账。一个数字有两个出处就多问一句量的是什么——这是军规一的适用范围。最后把整条流水线串给你看——概率从训练到可用一共四站① RLCD 训练 概率直接对结果负责D6罚嘴硬 ② 温度拟合 按题型×选项数分桶验证集上搜 T ③ 加载钳制 [0.5, 5.0] 防文件投毒非法回退 1.0 ④ 部署验收 ECE 量说 c 是 canswer_confidence 是门控数我们亲手走过的①的罚分D6 实验、②的网格搜索本篇实验、③的警告D5 实测本篇解释、④的 ECE 手算本篇。四站全部实测过——这就是验证过才信的完整含义军规七闭环。自测十题先别翻答案。本篇的数字你都亲手算过一遍了。点开对答案校准的定义一句话—— 说 80% 的事 80% 地发生报置信度 c 的判断里 c 比例真的对。本篇一ECE 的计算三步—— 按置信度分桶 → 每桶算说了多少 vs 对了多少 → 差距加权平均。本篇一ECE 度量的是诚实度还是判断力—— 诚实度嘴账差距ECE0 的模型也可能判断力平平。本篇一温度缩放的公式和 T 的方向—— p softmax(logits/T)T1 锐化、T1 软化、排序不变。本篇二T 怎么定—— 带答案的验证集上网格搜索让 NLL 最小的 T只动一个标量。本篇二LAYA 出厂温度表几个桶、几乎全部什么方向—— 6 个桶choice×4scorenoul五个 ≥1 全软化——出厂整体过度自信。本篇三choice:11 桶的 0.1006 说明什么、怎么处置—— 拟合结果自身不可信验证集上找不到自洽松紧被钳到 0.5 弹警告 标注未校准。本篇三钳制 [0.5, 5.0] 防的是什么—— checkpoint 文件里的任意浮点数投毒面——温度极端值会把概率推向 one-hot。本篇三confidence 和 answer_confidence 信哪个做门控—— answer_confidencemax§温度缩放拟合它、ECE 验收量它。本篇四Jev 的阈值能搬到 LAYA 吗—— 不能公式完全不同(n·p_max−1)/(n−1) vs LAYA 两套都不是。本篇四本文总结ECE 手算分桶对账说了 0.875 对了 0.500的桶最歪ECE 量诚实度不量判断力温度缩放softmax(logits/T) 一个标量只动松紧不动排序网格搜 NLL 最小的 T——实测嘴硬模型0.957 vs 0.690被 T2.72 修到 0.686 vs 0.690ECE 0.267→0.006真模型温度表6 桶 5 软化出厂过自信的实锤choice:110.1006 超界被钳——D5 警告全文解释钳制三件套[0.5,5.0]回退 1.0警告明示防文件投毒两套置信度门控用 answer_confidencemax§——温度缩放修它、ECE 量它Jev 阈值不可搬公式不同校准流水线四站RLCD 罚分 → 分桶拟合 T → 加载钳制 → ECE 验收——四站全部亲手实测军规七闭环0.466→0.081英语版、0.314→0.106多语言版出厂零拟合——README 原文口径。写在最后到这里架构D3/D4、接口D5、训练D6、校准D7——一个判断从进模型到可信出门的整条流水线你每一站都亲手摸过。最后三篇换挡D8 讲怎么把它部署起来多语言路由、延迟细账、Jev 兼容协议——第 5 篇那个 1.5 秒延迟的账也在那边算D9 带你上 Kaggle微调自己的决策头D10 给出能力边界的诚实清单。校准这门手艺值得带走的就一句话模型报的概率是它的嘴校准是你的账本——做生意只认账本。附术语速查表第 7 版累加 9 条术语一句话解释详解在哪篇校准calibration说 80% 的事 80% 地发生本篇ECE分桶对说了 vs 对了的加权平均差距本篇可靠桶bin按置信度切的一段区间查账的单位本篇温度缩放psoftmax(logits/T)一个标量调全分布松紧本篇NLL负对数似然搜 T 时最小化的目标log 罚分本篇6温度桶temp bucket题型×选项数的温度分组2/3-5/6-10/11本篇钳制clamp温度只许 [0.5, 5.0]防文件投毒本篇answer_confidencemax§温度缩放拟合的、该信的门控数本篇5Guo et al. 2017温度缩放的学术出处《On Calibration of Modern Neural Networks》本篇第 1~6 版共 60 条见前六篇此处不重复。下篇预告部署与接口——Router、延迟与 Jev 兼容协议一句印地语进、一句中文出Router 怎么在亚毫秒内决定这句话交给哪个 checkpoint第 5 篇那个CPU 上 1.5 秒的延迟账T4 上 33ms 的官方口径中间差的是什么已经有 Jev 客户端的团队换 LAYA 只要改一行 baseUrl——wire 协议级兼容长什么样下一篇全部实测。下一篇见。读完有收获的话点赞、收藏、关注三连走起——十篇连载跟得住学得完。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenCV指纹识别实战:预处理、特征提取与匹配全链路 2026/10/2 9:17:48

OpenCV指纹识别实战:预处理、特征提取与匹配全链路

简介:这是一套面向计算机、信息安全等专业师生及技术人员的指纹识别实践项目,采用Python结合OpenCV构建完整识别流程,可作为毕业设计参考或图像处理进阶练手素材。资源包共19个文件,约383KB,以11个py源码文件为核心&am…

阅读更多 →
内网横向移动实战详解:从底层逻辑到域渗透核心手法 2026/10/2 9:17:42

内网横向移动实战详解:从底层逻辑到域渗透核心手法

干了这么多年内网渗透和攻防演练,我对横向移动这三个字可以说是又爱又恨。爱它,是因为真正把横向移动玩明白了,你对内网的整体掌控力会上一个大的台阶;恨它,是因为带团队做红队评估时,最怕的就是成员只记住…

阅读更多 →
家政预约系统二次开发实战:订单状态机与佣金结算核心设计 2026/10/2 9:17:42

家政预约系统二次开发实战:订单状态机与佣金结算核心设计

简介:likeshop上门家政系统开源版源码是一套基于likeadmin-php框架开发的上门预约系统,面向需要搭建家政服务平台的开发者与本地生活运营商。系统将用户端与师傅端深度融合,覆盖地图定位、在线预约、自动派单、后台派单、下单支付、核销订单等…

阅读更多 →
Redis 8 原生向量数据库实战:百万级 RAG 应用架构收敛与性能调优 2026/10/2 9:17:42

Redis 8 原生向量数据库实战:百万级 RAG 应用架构收敛与性能调优

1. Redis 接入 AI 这件事,到底在说什么Redis 官方在 2024 年正式发布了 Redis 8,其中最引人注目的变化就是原生集成了向量数据库能力,并且推出了 Redis Query Engine 和 Redis Insight 的 AI 辅助功能。简单说,Redis 不再只是一个…

阅读更多 →
从青少年开源论坛到第一次PR:新手参与开源项目的完整路径 2026/10/2 9:17:42

从青少年开源论坛到第一次PR:新手参与开源项目的完整路径

1. COSCon与青少年开源:这个论坛到底在讲什么 COSCon全称China Open Source Conference,圈子里都叫它“中国开源年会”。这些年每年都参加,现场氛围一直很热闹,但说实话,早几年的议题基本围绕企业级开源、基础设施、云…

阅读更多 →
U-Boot ping不通PC或虚拟机:四层链路与PHY/RGMII排查 2026/10/2 9:17:35

U-Boot ping不通PC或虚拟机:四层链路与PHY/RGMII排查

U-Boot 里敲下ping 192.168.1.10,终端停了几秒,然后甩出一行ping failed; host 192.168.1.10 is not alive。没有中间状态,没有提示,没有分层信息,就一句不通。这个场景几乎每个做 Uboot 网络移植的人都撞过&#xff1…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉