叫我如何相信你?聊一聊语言模型的校准

模型校准这个话题可能比较小众,但却真实地困扰了我们很长时间。碰巧最近看到arxiv上这篇论文[1],就决定写一篇文章跟大家交流。论文很新,十天前作者刚更新了一版。

论文截图

什么是校准

在实际的NLP业务场景中,我们经常遇到一个问题就是调阈值。因为我们需要把模型输出层sigmoid函数或者softmax函数给出的连续的预测概率转化成离散输出,所以需要一个阈值来决定你如何相信你的模型。特别是当应对的领域(domain)复杂多样,而训练数据来源比较单一的时候,如何选择一个比较平衡的阈值是一个尤为棘手的问题。

如果模型给出的概率值和经验概率是匹配的,即模型是“已校准的(calibrated)”,则会大大方便模型的使用和部署。举一个直观的例子,如果在2分类任务里取出100个模型预测概率为0.7的样本,其中有70个的真实标签为1,则称为模型的后验概率和经验概率是匹配的。这这个情况下,使用者可以对模型给出的概率值的误判风险有直接的判断。

期望校准误差ECE

对校准程度的度量其实是有一套框架的,这篇文章采用的是称为期望校准误差(expected calibration error, ECE)[2]的指标。这个指标的操作起来很简单,先把0-1概率空间平均分成 个桶,每个桶里置入模型预测概率落在桶区间的样本。然后考察桶里样本的平均预测概率和正确率之间的误差。

ECE的计算公式写在下面,其中 为样本总数, 为第 个桶中的样本。

下图是ECE原论文里的第一张插图,比较直观。随着网络规模越来越大,拟合能力越来越强,网络的概率分布都有集中化的趋势。虽然绝对误差也越来越小,但网络给出概率的含义却对人越来越模糊,ECE(红色面积)也越来越大。

ECE示意图。第一行是模型输出的概率直方图,可以看出更深的网络输出的概率远比浅层网络集中(over confident)。第二行是模型分桶后的ECE。可以看出大网络的总体误差Error是小的,但ECE明显是大的。完美的ECE是灰线表示的对角线。

在上图中,评估的是对单一领域(CIFAR-100)的ECE,这在分类问题中已经比较足够。但在一些特殊的场景,例如NLP的匹配问题上就需要考虑跨域问题。我们希望训练得到的是一个可以评价语义相似度的通用模型,它在不同领域的应该具有类似的表现。

语言模型的ECE

目前使用的语言模型(例如BERT)已经远远超过了resnet级别的卷积神经网络。这篇论文就探究了一下他们的ECE大概是什么情况,以及有哪些方法可以降低ECE。整篇文章选用了下图所示规模从小到大的四个模型,分别是带attention的LSTM(DA),经典匹配模型ESIM,BERT和Roberta。其中后两种是预训练语言模型,前两种模型不经过预训练。

本文选用的四种模型

用来做实验的数据集有三组,第一组是NLI任务的两个著名数据集SNLI[3]和MNLI[4];第二组是语义相似性的著名数据集Quora Question Pairs(QQP)和TwitterPPDB;第三组是常识推理领域的两个数据集Situations with Ad- versarial Generations(SWAG)和HellaSWAG (HSWAG)。在每组任务上,第一个数据集都作为原始领域,划分训练集、验证集和测试集,然后在测试集上考查ECE,这种实验称为in domain(ID);而第二个数据集则作为跨领域(out of domain,OD)评价的依据。

在不做任何额外校准的情况下,四个模型在三组数据上的结果如下。主要的结论有以下几个:

  • 越大的模型精度越好,即Accuracy高

  • 除了NLI任务外,其他任务的ID ECE都是大模型好

  • 除了语义相似度任务外,其他任务的OD ECE也是大模型好

不校准时的结果

综合来看,预训练语言模型有着更好的ECE表现。而且,训练更充分的RoBERTa模型要优于同等规模的BERT模型。这个结果并不令人意外,预训练语言模型的优越性已经在太多场合被印证。另外,大家选模型的时候不要犹豫了,能RoBERTa就不要BERT,万不得已才LSTM。

校准的方法

虽然开箱即用的语言模型已经达到了比较好的校准水平,但还是有一些办法来进一步强化校准。这篇论文提到的校准方法核心都是把标签软化,避免模型产生盲目自信的情况。他们探究的做法有两种

  • 温度放缩

  • 标签平滑

温度放缩我们在Beam Search那一篇有讲到,通过提高softmax的温度,可以让输出概率分布软化。标签平滑比较值得讲一下,如果给出一个硬标签来训练,以分类为例,损失函数通常是(binary) cross entropy,这种训练策略其实是最大似然估计(maximum likelihood estimation,MLE)。而标签软化首先是先选定一个超参数 ,只将 的概率分配给真实标签,而把剩下的 概率平分给其他非真实类别。训练的时候不再优化交叉熵损失函数,而是优化KL散度,来让模型输出概率分布符合平滑后的标签概率分布。

the one-hot target [1, 0, 0] is transformed into [0.9, 0.05, 0.05] when α = 0.1

校准后的结果如下图所示。这个表格稍微有点复杂,首先每组任务分为ID和OD两种类型,每个类型又分为普通MLE训练和标签平滑后的训练两种方式,每种训练方式又分为后处理(post-processed)和不后处理(out-of-the-box)。为了方便大家阅读,作者给单元格图上了颜色,颜色越深说明ECE越小,即模型的校准性越好。

校准后的结果

首先可以看出跟不校准时一样,RoBERTa比BERT好,所以后面我们只分析RoBERTa,需要特别注意的是这两个模型的结论并不完全一致。对于RoBERTa比较重要的结论有:

  • 温度放缩校准是很有效果的,不管是ID还是OD场景,校准后的ECE都有明显下降

  • 标签平滑效果在ID情况下较差,在OD的后两组场景,特别是常识推理场景比较有效

总结

这篇论文很短,但讲的东西对于实际工程还算比较实用,尤其是ECE指标对我们评估模型有一定的指导作用。

参考资料

[1]

Calibration of Pre-trained Transformers: https://arxiv.org/abs/2003.07892

[2]

On Calibration of Modern Neural Networks: https://arxiv.org/pdf/1706.04599.pdf

[3]

SNLI数据集: https://nlp.stanford.edu/pubs/snli_paper.pdf

[4]

MNLI数据集: https://www.aclweb.org/anthology/N18-1101/

往期精彩回顾




适合初学者入门人工智能的路线及资料下载机器学习在线手册深度学习在线手册AI基础下载(pdf更新到25集)本站qq群1003271085,加入微信群请回复“加群”获取一折本站知识星球优惠券,请回复“知识星球”喜欢文章,点个在看
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值