OOD检测/开集识别是关于深度学习系统可靠性的重要问题。先前工作大多关注粗粒度的场景而忽视了细粒度情景。细粒度环境中,未知样本可能与已知样本有着极高的视觉/语义相似度。检测这些细粒度未知样本进而变得十分困难。本工作中,我们首先构建了四个大型的针对细粒度OOD检测的测试环境,并发现已有方法对细粒度未知样本检测效果不佳。基于初始实验和分析,我们发现检测的难点在于现有方法不能很好的约束模型对于细粒度未知样本的输出。进而我们提出了MixOE来解决这一问题。MixOE在四个测试环境中均显著提升了细粒度OOD检测精度。我们希望该工作可以帮助未来研究更好地探索细粒度OOD检测这一有挑战性的问题。
本期AI TIME PhD直播间,我们邀请杜克大学电子与计算机工程系博士生——张静阳,为我们带来报告分享《细粒度OOD检测初探》。
我们将首先介绍一下OOD检测与细粒度检测的相关概念,之后揭示一下我们在细粒度OOD检测方面的工作。并且我们根据相应分析提出了一套我们自己的训练算法,最后展示了我们得到的实验结果和结论。
张静阳:本科毕业于清华大学电子工程系,目前是杜克大学电子与计算机工程系三年级博士生,师从李海和陈怡然老师。他的主要研究方向为提升深度学习模型的安全性和可靠性,具体包括对抗攻击/防御,开集识别/OOD检测。
01
OOD detection: Enabling DNNs to operate in the open world
我们以图像识别任务为例,同样的讨论可以泛化到其他一些相似的任务。假设训练好的分类器来识别猫、狗和汽车,该分类器在现实生活中接收到的输入可能会有两类:
? In-distribution (ID) samples: cat/dog/car
? Out-of-distribution (OOD) samples: do not belong to any of the ID categories
如果不加任何处理就将这些OOD样本送入到分类器之中,这个模型就一定会给出某一ID类的预测,但OOD样本语义上并不属于任何ID类别,因此这显然是不合理的。
这就说明了OOD检测的必要性:我们希望有一个OOD检测器来识别样本是否属于模型需要识别/已知的种类。如果是ID样本,我们希望模型给出一个预测。如果是OOD样本,我们希望模型不去给出预测,而是告诉我们它不知道/不确定。
我们可以想象如果深度学习模型具有检测OOD样本的能力,其输出也会变得更加可信。这也是为何近些年OOD检测是比较火热的方向。
02
Representative OOD detection work
● 设计OOD打分机制
- 在分布中(ID)样本和OOD样本之间的分值是多少
- Maximum Softmax Probability (MSP)
- Logits, intermediate feature maps
● 采用更好的DNN训练算法来提升OOD
- Explicitly regularize DNN’s outputs using external OOD data (Outlier Exposure)在训练中显式的引入一组OOD样本来约束模型对于这一类OOD样本的输出。
- 重要的是,训练OOD数据不需要与测试OOD数据重叠
03
Coarse-grained v.s. fine-grained OOD detection
我们接下来看下什么是粗粒度与细粒度的OOD检测。
粒度,表示不同数据之间的相似度。粗粒度场景,ODD样本和ID样本的相似度都比较低。细粒度场景下,情况与之相反。
● 检测细粒度的OOD样本是困难的
- ID和OOD数据具有很高的语义/视觉相似性
● 细粒度设置是常见的/现实的
- 例如,动物物种分类、医学影像、遥感应用
04
Our work: Constructing fine-grained environments
基于上述背景,我们打算针对细粒度场景进行研究。我们在开始构建了4个测试环境,并以鸟类环境为例展示了其中一种环境的大致情况。
? Evaluating existing methods
构建好测试环境之后,我们对已有的测试方法进行输入测试。如下所示:
- TNR95: the higher the better
- Fine-grained OOD is harder to detect
- No methods improve upon the simple MSP against fine-grained OOD
05
Our work: Analyzing the difficulty of fine-grained OOD
? Visualizing data samples in DNN feature space可视化分析
我们把样本传入到一个训练好的DNN模型中,记录下来DNN对于数据提取的特征降维并进行可视化。我们有两个发现:
- 细粒度的OOD样本可以更接近ID集群
- 训练OOD数据只覆盖粗粒度的OOD区域,而不覆盖细粒度的OOD区域
06
Our work: Mixture Outlier Exposure
基于以上发现,我们找出如果想提升细粒度OOD的检测效果,需要相应可以覆盖细粒度OOD样本所属区域的训练样本。我们将其加入到训练集中,可以很好约束模型对于细粒度样本的输出。然而在现实中,我们是很难收集这些真实的细粒度OOD样本。针对很难收集到真实的OOD训练样本,我们希望可以通过生成虚拟样本来覆盖相应区域。
? 生成“虚拟”OOD样本来覆盖细粒度
- 我们可以通过混合ID和OOD数据来实现这一点
生成这些虚拟样本之后,在加入训练后又该如何决定他们的训练标签?由于我们之前是在输入端做了混合,这里我们也将对标签在输出端做内插处理。
? 为虚拟OOD样本分配soft targets软目标
? When λ = 1, ID -> maximum confidence
? When λ = 0, OOD -> minimum confidence
? When 1 > λ > 0, the confidence smoothly decay as the input transitions from ID to OOD
07
Experimental results – OOD detection performance
下表展示了我们方法在4种不同测试环境下OOD检测的表现。
? MixOE在4种数据集上都可以持续改进粗粒度和细粒度检测
? MixOE可以用于多种线性混合或剪切粘贴组合方式
- 未来可以继续探索其他类型的混合操作
08
Experimental results – Classification accuracy
我们还关注了一下原来ID数据上的分类准确率。
? MixOE还略微提高了ID分类的准确率
- 我们才想这要归功于与ID 样本接近的虚拟样本,如下图中的紫色框部分就是还保留了原来ID样本的一部分语义信息。这一部分样本可以被看作是一种数据增广。
09
Conclusions
?为精细OOD检测构建四个测试环境
?分析细粒度OOD样品检测的难点
?提出MixOE——生成虚拟OOD样本的DNN算法,针对细粒度和粗粒度的OOD检测
?在所有四个测试环境都有持续且显著的改进
?取得了更高的识别精度
提醒
论文链接:
https://arxiv.org/abs/2106.03917
论文题目:
Mixture Outlier Exposure: Towards Out-of-Distribution in Fine-grained Environments
本文暂时没有评论,来添加一个吧(●'◡'●)