1. 首页
  2. 教育
  3. 深度学习

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

尽管深度学习给工业界带来了一波上线春天,但是总有很多比较难的业务,模型反复迭代后准确率依然达不到预期的产品标准,难以满足用户期望。

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

尽管深度学习给工业界带来了一波上线春天,但是总有很多比较难的业务,模型反复迭代后准确率依然达不到预期的产品标准,难以满足用户期望。

以下为工业界常见讨(si)论(b)场景:

R&D小哥哥一顿调参输出,RoBERTa都用上了,终于将模型从80%准确率提升到了90%,但是PM小姐姐说,“不行!咱们必须要达到95%准确率才能上线!否则就是对用户和产品逼格的伤害!”

怎么办呢?

熟悉工业界上线套路的小伙伴马上就能给出答案,那就是提高模型决策的阈值!PM小姐姐只是根据产品标准定义了模型准确率(或者说精确率,precision),但是并不在乎召回率有多高(毕竟模型只要没上线,就相当于召回率为0)。

那么基于上面的思路:假如模型的softmax输出可靠,比如二分类场景,模型softmax之后1类的输出是0.92,能表征模型有92%的把握说这是个正例,并且模型的这个把握是精准的,那么PM小姐姐说要达到95%准确率,那我们就疯狂提高模型的决策阈值就好了,这样把那些不确定性高的样本砍掉了,模型准确率自然就上来了。

然而,神经网络并不一定这么靠谱,你看模型的测试集输出的话,却常常发现模型要么以99.999的概率输出来判定正例,要么0.0001的概率输出来判定负例,基本没有样本落在0.1~0.9区间内。那么这时候上面的思路就失效了。

那么有没有办法让模型的softmax输出能真实的反映决策的置信度呢?这个问题,就被称为Calibration问题(直译是叫“校准”)。

故事要从一篇发表于2017年的ICML顶会论文开始,目前这篇论文引用量1001。

论文标题:

OnCalibrationofModernNeuralNetworks

链接:

https://arxiv.org/pdf/1706.04599.pdf

神经网络的overconfidence

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

首先,让咱们来思考一个普通图像分类任务。对于一张“koala”的图像,在经过神经网络后会得到logits输出,经过softmax层后得到对各类别的预测的后验概率,接着我们选择概率最大的类别(koala)输出为最后的预测类别。这里,最终的预测类别,其对应的置信度为。在大多情况下,我们只关心类别的预测有多准,根本不care置信度是怎样的。然而,在一些实际应用场景下,置信度的度量也同样重要。例如:

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

如上图,对于自动驾驶中的目标识别任务,车辆的前方出现了一个人,神经网络会将其识别成塑料袋,此时输出的置信度为50%(低于阈值),则可通过其它传感器进行二次的正确识别(识别为人)。但想想看,若神经网络对塑料袋预测的置信度为90%会怎样?再例如:

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

使用Resnet模型简单的对一些图片任务进行训练,收敛后的模型对测试集的平均置信度高达80%-85%,然而只有将近70%的图片能被正确分对(红色代表分错,绿色代表分对)。这意味着啥?训练好的模型好像有点盲目自信,即出现overconfidence现象,或者可以称为模型的准确率和置信度不匹配(miscalibration)。

预期校准误差(ECE)

直观的来看,模型的准确率应当和置信度相匹配。一个完美校准的模型可定义成如下所示:

即,模型置信度等于概率的条件下模型的预测为真实标记的概率同样也为。因此,本文提出一个新的度量方式叫做预期校准误差(ExpectedCalibratedError,ECE)来描述模型学习的匹配程度:

很简单,其实就是将前面那个完美校准模型的等式写成差的期望的形式。我们将期望进一步展开可得到:

其中:

这里的代表着一个个根据置信度区间划分的一个个桶(用来装样本的),如下图所示:

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

例如,我们将置信区间平均划分成5份,然后将样本按照其置信度挨个送到对应的桶中,分别计算每个桶中的平均置信度和准确率,两者的差值(Gap)的期望就是所定义的ECE。

读到这的读者应该能逐步体会本文想干一件啥事了。本文首先引出这样一个问题,深度模型在学习过程中出现准确率和置信度的严重不匹配问题,接着提出了一个合理的评价指标来描述模型学习的匹配程度,所以接下来,它要提出方法来想办法最小化期望校准误差(ECE)。

什么原因导致神经网络出现准确率与置信度不匹配?

然而ECE是没办法直接最小化的,因此本文尝试着做一些探索性的实验来观察啥因素会使得模型的ECE变大。本文分别从三个方面上去进行实验:

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

▲网络复杂度对ECE的影响

网络复杂度对ECE的影响:首先,作者使用两个模型(LeNet和ResNet)分别对CIFAR-100数据集进行了训练,准确率分别为55.1%和69.4%,ResNet在预测性能上完爆LeNet。然而,ResNet置信度(右图蓝色+红色部分)的分布和准确率(右图蓝色部分)出现了严重的不匹配,导致二者的Gap(红色部分)非常大。注意完美校准模型的分布应当是蓝色部分刚好和对角线重合,且没有红色Gap部分。

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

▲网络的宽度和深度对ECE的影响

网络宽度和深度对ECE的影响:在得知模型复杂度会影响模型的ECE后,作者紧接着做了网络宽度和深度对模型ECE和错误率(Error)的影响。可以看到,在控制变量前提下,单方面的增加网络的深度和宽度均会使得模型的Error降低,这是我们所期望的;然而,ECE也会同样的随着上升。换句话来说,一昧的增加模型复杂度能有效的提高模型的预测性能,但同样带来的问题是模型的overconfidence问题愈发严重。

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

▲归一化和权重衰减对ECE的影响

normalization和weightdecay对ECE的影响:接着的实验也是我们为提高模型性能经常使用的batchnormalization和lossregularization。左图:使用batchnormalization会有效的提升模型的性能,但同时也会提升模型的ECE。右图:weightdecay通常用来调节L2正则的权重衰减系数,随着其系数的增加相当于更多的强调模型参数w要尽可能的小,能有效的防止模型过拟合。该现象表明,模型越不过拟合,其ECE是越小的,也就是说模型越不会overconfidence;换句话说,模型对样本的拟合程度和对样本的置信度是息息相关的,拟合得越好,置信度越高,所以ECE越大。(个人理解,欢迎评论区指正~)

我们该如何对模型进行校准呢?

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

作者接下来又做了一个很有意思的实验,在CIFAR-100上训练模型500个epoch,其中在第250个epoch和第375个epoch下调节学习率,观察测试集上的testerror和testNLL的变化情况。TestNLL的定义如图中所示,它其实等价于测试集上的交叉熵。这个实验啥意思呢?我调节了一下学习率后,测试性能得到了提升,但是测试集上的交叉熵却出现了过拟合现象(出现了反常的上升现象)。有意思的点来了!有人肯定会argue不是说好本文研究的是overconfidence嘛?

即模型的置信度太高而准确率过低,这里对NLLoverfitting岂不是好事,因为负对数似然上升了等价于模型的置信度的降低了。注意:这里的是对正确类上的置信度,而前面的实验是对预测类的置信度!其实认真想想,是一个意思,前面之所以confident很高的样本准确率很低,正是因为其在正确类别上的置信度太低导致的!!(这部分卡了很久)

该结果可以表明,模型置信度和准确率的不匹配很大可能的原因来自于模型对NLL的过拟合导致的。所以,咋办呢?最小化NLL呗。

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

此时,本文提出在验证集上对带temperature参数的softmax函数进行校准。即我们训练完模型后,最小化NLL来学习temperature参数,注意到对该项的优化并不会影响模型预测的准确率,只会对模型的confidence进行校准。最终的结果是这样的,详细可参考论文。

Calibration: 一个工业价值极大,学术界却鲜有研究的问题

讨论

上述得实验结果我觉得对很多研究领域都是很有启发意义的。

模型的置信度应当是和准确率匹配的,这样的模型我觉得才是有意义的,否则以很高置信度进行很离谱的预测错误的模型会让人感觉这个模型好像什么都会、又好像什么都不会。

ECE的指标是否能反应样本的一些性质,例如难易程度、是否为噪声等。

该文章是间接的去优化ECE的,能否有直接优化的形式,或者主动学习里面能否考虑这一点来挑选样本?

责任编辑:xj

原文标题:Calibration:一个工业价值极大,学术界却鲜有研究的问题!

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

免责声明:本站旨在传递信息,不代表有传资讯的观点和立场。本站遵循行业规范,如转载您的文章未标注版权,请联系我们(QQ:78799268)改正。本站的原创文章,如若转载,请注明出处:http://www.ainoline.cn/jiaoyu/shenduxuexi/16563.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:78799268@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code