Addressing Failure Prediction by Learning Model Confidence

这是一篇关于置信度的文章。https://arxiv.org/abs/1910.04851

        作者对模型置信度提出了一个新的目标指标。即TCP(true class probability),比起传统的MCP(maximum class probability)更加的合适。MCP即分类器输出最大后验概率作为最终的类别输出。因为在测试时候,真是的类别是未知的,所以我们提出在训练时后学习TCP指标,引入了一个特别的学习框架。

1:引言

        本文主要解决深度神经网络错误误测的问题,模型通过加入置信度的方法,可以决定是否坚持最终的预测。

        在分类问题上,广泛使用的标准就是MCP,通过softmax层输出。但是他仍然有概念上的缺点。sofmax已知是非校准的,对对抗攻击比较敏感,也不足以监测那些out-of-distribution的例子。

为什么softmax不是一个好的不确定测量方法

回答1:因为softmax的类别输出的置信度过高,因为神经网络对他们的预测过于自信。所以softmax输出的概率不等于模型的置信度。

回答2:

 

         在本文要解决的第二个问题,对置信度结果进行排位,对于错误的预测,MCP的排位是不准确的。因为其对于正确的和错误的划分会重叠。模型对于正确的和错误的划分置信度都比较高。

 如下图的a,而b,错误的置信度转移到左边,比较低。

 2:错误的预测通过学习模型置信度

        对于数据集D,里面有N个样本,

 输入x,网络对每一个类别分配一个概率,w是模型参数,模型的输出类别可以计算为:

即第k个类别输出的概率最大值, 即为模型的预测类别。

在训练过程中,我们通过减小预测分布和真实分布之间KL散度,在分类任务中通过更新参数,来最小化交叉熵损失。

 3:置信度指标用于错误的预测

模型的置信度越高,模型对于他的预测就越确定。因此一个合适的置信度标准应该是错误的分类赋予一个低的置信度,正确的分类赋予一个高的置信度。

注:x:输入

y*真实类别

yhat预测类别

对于输入x,MCP:模型误分类的话,真实类别就会赋予一个很低的值。反映给模型让他知道自己误分类了。

 因此我们提出TCP:

 理论保证:

当Y=真实类别的概率大于1/2,我们就推出预测的概率等于真实的概率。模型预测正确。

当Y=真实类别的概率小于1/K,我们就推出预测的概率不等于真实的概率。模型预测错误。

证明:k是标签的数量,x是一个sample,y*是对应的标签。模型正确分类的概率大于1/2。

其中(2)是1减去所有其他分类的结果,就是正确分类的结果。所以y=任何一个概率的值都小于正确概率的值。

公式(4)是错误分类的概率,如果正确的分类概率小于1/k,那么其余的其他种类的概率大于(k-1)/k。

        看最后一句话:至少存在一个k,Y=k的概率大于Y=y*的概率(k不等于y*)会导致预测结果不等于真实结果。即模型分类错误。也就是说如果有一个类别大于真实类别的概率,那么就是误分类。

在[1/k,1/2]范围内,我们没有理论保证正确和错误的预测不会重叠。但是当我们使用深度神经网络,我们发现之间的重叠区域是非常小的。可能的原因是深度神经网络的输出预测过于自信。

我们也提出了归一化的TCP,正确的预测将会赋值为1。错误的会在[0,1]之间。

 4:通过深度神经网络学习TCP

我们提出在训练时候学习TCP,我们引入置信度神经网络,取名confidNet,带有参数o,输出置信度预测c(x,o),在训练时候我们寻找o,类似于c*(x,y*)。

 红色框框通过交叉熵损失学习参数w,他的分类层将会固定。

5:置信度网络设计

开始时候,模型提取复杂的特征输入到分类层,confidnet将提取的特征输送到一系列的dense layer最终由一个sigmoid激活函数,输出C_hat属于[0,1]。

损失函数:使用l2损失训练confidNet,最终我们使用了一个rank loss。

 6:学习策略

训练confidnet开始时候固定整个m,冻结参数w,通过损失函数学习o,下一步fine-tune模型的encoder,因为模型m是固定的,我们解耦特征encoder用来分类,和置信度预测。我们在训练的最后一个阶段会舍弃dropout layer。并且减少学习率。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值