基于深度模型Out of Distribution(OOD)基础技术路线研究

本文介绍了基于softmax的OOD检测方法,如MSP和ODIN,以及基于特征的OOD检测方法,如Mahalanobis和NuSA,还探讨了softmax和特征相结合的ViM方法,旨在解决深度学习模型在遇到未见过的数据时的挑战。
摘要由CSDN通过智能技术生成

在工业检测领域,将训练好的模型部署到实际场景时,常会碰到一个问题:如果输入的图片是一个新的类别,模型之前根本没见过,那么,无论模型的预测结果是什么,都必会是错误的。这种情况下,有两种选择:一种是将新出现的类别加入训练集,从新训练一个模型;另一种便是我们将要介绍的OOD检测方法。

问题定义和使用场景

定义:在分类任务中,给定测试图片x_{\text{test}},若模型在训练阶段模型见过或类似的图片,则能正确分类;但如果与训练集完全不相关,也会被强制判定为训练集类别中的一种,这种情况是不合理的。OOD算法希望能判断的分布状况是否与训练集一致,若一致,则称为in-distribution(ID),否则称为out-of-distribution(OOD)。

使用场景举例:在MNIST上训练的一个分类模型,然后,输入一张“马”的图片,会被归类为数字0~9,这是错误的。此时,MNIST数据集就是in-distribution,相对于ID而言,“马”是out-of-distribution。

本文将为大家介绍五种OOD检测方法

1- 基于softmax的OOD检测方法

在分类网络中,对\text{logits}进行\text{softmax}运算,可以得到概率向量。而基于\text{softmax}的OOD检测方法,就是利用了概率向量的特点,直接判定x_{\text{test}}是ID样本还是OOD样本。本节介绍MSP和ODIN,两者都是OOD领域较为经典的方法。

1- 1 - MSP

MSP是Maximum Softmax Probability的缩写。在分类任务中,分类器的输出概率为P=(p_1, ⋯,p_C )=\text{softmax}(\text{logits}),其中,C是预先设定的类别总数。给定x_{\text{test}},若标签y=i,则p_i很大,其余分量很小;而且,实验发现,若x_{\text{test}}为OOD样本,那么P的任意分量都很小,说明模型不确定x_{\text{test}}的类别。如下图所示,使用MNIST数据集训练的模型进行推理,会发现“马”的概率向量的每个分量都很小,而在数字0~9的概率向量中,都有一个特别大的分量。

正是利用了这个特性,MSP定义OOD分数定义为

\text{score}(x_\text{test})=p_{\text{max}}=\text{max}\{p_1, p_2, \cdots , p_C\}. 

 如果分数较大,判定x_{\text{test}}为ID样本,否则判为OOD样本。

MSP的缺点:当ID与OOD区别较大时,效果好;区别较小时,效果较差。在NuSA的介绍中,会看到这是因为从特征到logits会丢失了OOD样本的一些信息。

1 - 2 - ODIN

ODIN代表着Out-of-DIstribution detector for Neural networks,它在MSP的基础上,引入了temperature scaling和input preprocessing,使ID样本和OOD样本之间的区分度变大。

首先,介绍temperature scaling。在MSP中,OOD分数为

\text{score}(x)=\text{max}\{p_1, ⋯,p_C\}=p_\text{max}=\frac{\text{exp}(l_{\text{max}})}{\sum_{j=1}^C \text{exp}(l_j)}

而在ODIN中,引入了一个温度因子T,变成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值