C2AE: Class Conditioned Auto-Encoder for Open-set Recognition(CVPR 2019)部分翻译

[1] Oza P , Patel V M . C2AE: Class Conditioned Auto-Encoder for Open-Set Recognition[J]. IEEE, 2019.

C2AE: Class Conditioned Auto-Encoder for Open-Set Recognition

  • 摘要
  • 1 介绍
  • 2 相关工作
  • 3 所提出的方法
    • 3.1 闭集训练(阶段1)
    • 3.2 开集训练(阶段2)
      • 3.2.1条件解码器训练
      • 3.2.2 EVT建模
      • 3.2.3 阈值计算
    • 3.3 open set testing by k-inference(阶段3)
  • 4 实验
  • 5 结论

摘要

为分类而训练的模型通常假设所有的测试类在训练时都是已知的。因此,当在测试过程中遇到一个未知类时,这种闭集假设迫使模型将其分类为一个已知类。然而,在现实世界的场景中,分类模型很可能会遇到这样的样本。因此,将这些示例识别为未知,对模型性能至关重要。克服这个问题的一个潜在解决方案是一类被称为开放集识别的学习问题。它指的是在测试期间识别未知类同时保持对已知类的性能。在本文中,我们提出了一种使用类条件自动编码器的开集识别算法,包含新的训练和测试方法。在该方法中,训练过程被分为两个子任务,1.闭集分类2.开集识别(即识别已知或未知的类)。编码器通过封闭集分类训练来学习第一个任务,而解码器通过基于类身份的重构来学习第二个任务。此外,我们利用统计建模的极值理论对重构误差进行建模,以找到识别已知/未知类样本的阈值。在多个图像分类数据集上进行的实验表明,该方法的性能明显优于现有的方法。源代码可在:github.com/otkupjnoz/c2ae上找到。

1 介绍

计算机视觉的最新进展导致了一些任务的显著改进,如图像分类[16],[24],[17],[48],检测[41],[40],[4],[49],聚类[19],[1],[8],[2]等。具体来说,在分类任务中,深度卷积神经网络的增加导致的错误率远小于人类水平的性能[15]。这些有希望的结果,使它们在许多现实世界中有潜在的应用。但是,当部署在现实世界的场景中,这样的系统很可能观察到训练中没有见过的类样本(即未知类也称为“未知未知”[44])。由于传统的训练方法遵循这种闭集假设,分类系统观察到任何未知类样本但被迫将其识别为已知类之一。因此,它影响了这些系统的性能,Jain等人的[18]用数字识别的例子证明了这一点。因此,正确识别测试样本的已知或未知对分类模型变得至关重要。这种将测试样本识别为已知/未知并同时正确地对所有已知类进行分类的问题设置,称为开放集识别[44]。图1展示了在开放集问题设置中进行分类的一个典型例子。
在开放集问题设置中,由于训练过程中对世界不完全了解(即只有已知类可访问),识别未知样本变得具有挑战性。为了克服这一问题,文献[7]、[45]、[50]、[47]中的许多开集方法都采用了基于识别评分的阈值模型。然而,当使用这些模型时,我们需要处理两个关键问题,1)开放集识别的好分数是什么?(即,将一个类识别为已知的或未知的),并给定一个分数,2)对该模型的一个良好的操作阈值是什么 ?在传统方法的背景下,如支持向量机[44]、[45]、[18]、最近邻[21]、[6]和稀疏表示[50],有许多方法可以探索这些问题。然而,这些问题在深度神经网络的背景下相对未被探索。
尽管深度神经网络在学习有高度区别的表示方面很强大,但它们在开放集设置[7]中仍然存在性能下降。一种简单的方法,人们可以在SoftMax分数上应用一个阈值模型。然而,在[7]中的实验表明,该模型对于开放集识别是次优的。目前已经提出了几种方法来更好地适应SoftMax分数的开放集设置。Bendale等人提出了一种使用极值建模[7]来更新SoftMax分数的校准策略。在其他策略方面,Ge等人[11]和Lawrence等人[29]使用生成对抗网络(GANs)[13]来遵循数据增强技术。GANs用于合成开放集样本,然后用于微调模型,以使SoftMax/OpenMax分数适用于开放集设置。Shu等人[47]引入了一种新的基于sigmoid的损失函数来训练神经网络,以获得更好的开集识别分数。
所有这些方法都修改了SoftMax评分,使其既可以进行开集识别,又可以保持其分类精度。然而,要找到一个可以同时执行这两种功能的单一分数度量是极其具有挑战性的。与这些方法相比,本方法使用类条件自动编码器进行开放集识别,将训练过程分为两个子任务:1.闭集分类和2.开集识别。这些子任务按阶段分别进行训练。实验表明,该方法提供了良好的开放集识别分数,并可以利用所提出的训练和测试策略找到良好的操作阈值

综上所述,综上所述,本文的贡献如下:

  1. 本文提出了一种新的基于类条件自编码器的开集识别训练和测试算法。
  2. 我们证明,将开集问题划分子任务有助于学习更好的开集识别分数。
  3. 在各种图像分类数据集上进行了广泛的实验,并与几种最近的最先进的方法进行了比较。此外,我们还通过消融实验分析了该方法的有效性。

2 相关工作

开放集识别 Open-set Recognition
开放集识别方法可大致分为传统方法和基于神经网络的方法两类传统的方法是基于支持向量机(支持向量机)、最近邻、稀疏表示等分类模型。Scheirer等人[45]通过使用极值分布校准决策分数,扩展了用于开放集识别的SVM。特别是,Scheirer等人[45]使用了两种SVM模型,一种用于识别未知样本(称为CAP模型),另一种用于传统的闭集分类。PRMJunior等[20]提出了一种基于最近邻的开放集识别模型,利用邻居相似度作为开放集识别的评分。PRMJunior等人后来也通过限制偏差项为负值,提出了专门的SVM。在径向基函数核的情况下,该策略产生了一个开集识别模型。Zhang和Patel[50]提出了一种基于稀疏表示的分类(SRC)算法的扩展用于开集识别。具体来说,他们使用广义-Pareto极值分布对来自SRC的残差进行建模,以获得开放集识别的分数。
在基于神经网络的方法中,Bendale等人[7]最早的工作之一引入了一个基于“激活向量”(即网络的倒数第二层)的开放集识别模型。Bendale等人利用极值分布对距离“平均激活向量”的距离进行建模,利用元识别技术进行多类分类。SoftMax分数使用每类的拟合函数进行校准。这些更新后的分数,称为OpenMax,然后用于开放集识别。Ge等人[11]介绍了一种名为G-OpenMax的数据增强方法。他们使用GANs从已知的类训练数据中生成未知样本,并利用它来微调闭集分类模型。这有助于提高基于SoftMax和OpenMax的深度网络的性能。基于类似的动机,Neal等人[29]提出了一种被称为反表面图像生成的数据增强策略。该策略也利用GANs生成类似于已知类图像但属于未知类的图像。在另一种方法中,Shu等人[47]提出了一种基于k-sigmoid的新型损失函数来训练神经网络。此外,他们对最后一层的激活值进行分数分析,以找到一个可操作的阈值,这有助于开放集的识别。异常检测[31]、[32]、[36]、新颖性检测[34]、[39]、[33]、[43]等相关问题,这是开集识别公式的松弛版本。但是,对于本文,我们只关注开集识别问题。
极值理论 Extreme Value Theory
极值建模是统计学的一个分支用于处理统计极值的建模。极值理论在视觉任务中的应用主要涉及识别后得分分析[35],[45]。对于一个给定的识别模型,拒绝/接受的阈值通常位于匹配和非匹配分数分布[46]的极值重叠区域。在这种情况下,将匹配和非匹配识别分数的尾部建模为极值分布之一是有意义的。因此,许多视觉识别方法,包括上述的一些,利用极值模型来进一步提高性能。

3 所提出的方法

该方法将开集识别问题分为“闭集分类”和“开集识别”两个子任务。这些任务的训练过程如图2所示,如阶段1和阶段2。图2中的阶段3提供了所提出方法的推理的概述。接下来,我们将详细介绍这些阶段的细节。
C2AE: Class Conditioned Auto-Encoder for Open-set Recognition(CVPR 2019)部分翻译_第1张图片 图2:该方法的方框图:1) 闭集训练:采用传统的分类损失训练方法,对编码器(F)和分类器©进行训练。2) 开放集训练:为了训练开放集识别模型,权值被冻结的编码器(F)和解码器(G)根据标签条件向量完美或错误地重建图像。然后利用极值分布建模重构误差,求出该方法的操作阈值。3) 开放集测试:开放集识别模型产生分类预测(ypred)和k个重构误差,以每个条件向量为条件。如果最小重构误差低于从EVT模型中得到的阈值,则将测试样本归类为k类之一,否则将其归类为未知类。

3.1 闭集训练(阶段1)

给定一个batch的图片{X1,X2,…,XN}∈K,及其对应的标签{y1,y2,…,yN}。这里N是批处理大小和∀yi∈{1,2,…,k}。编码器(F)和分类器©参数Θf和Θc,分别使用以下交叉熵损失进行训练:
在这里插入图片描述yi是标签yi的指标函数(即独热编码向量),pyi=C(F(Xi))是一个预测的概率得分向量。pyi(j)是第i个样本来自第j个类的概率。

3.2 开集训练(阶段2)

开放集训练有两个主要部分,条件解码器训练,其次是重构误差的EVT建模。在这个阶段,编码器和分类器的权值是固定的,在优化过程中不会改变。

3.2.1条件解码器训练

对于第3.1节中描述的任何batch,F提取潜在向量为{z1、z2、…,zN}。这个潜在向量批次被条件化,通过使用Perez等人的工作称为FiLM。FiLM通过应用基于条件信息的特征级线性调制来影响输入特征图。对于一个包含条件信息的输入特征z和向量lj,我们得到以下方程,
C2AE: Class Conditioned Auto-Encoder for Open-set Recognition(CVPR 2019)部分翻译_第2张图片当以与输入的类身份相匹配的标签条件向量为条件时,这里称为匹配条件向量(lm),解码器(G和参数Θg)被期望去完美地重构原始输入。然而,当以与输入的类标识不匹配的标签条件向量为条件时,这里称为非匹配条件向量(lnm),G被额外训练为不重构原始输入。在3.3.2节中我们描述了当使用EVT建模重建误差时,这一附加约束对解码器的重要性。对于本文的其余部分,我们使用上标m和nm分别表示匹配和非匹配。
。。。。。。(省略公式)
这种条件反射策略在某种程度上模拟了开放集行为(这将在3.2.3中进一步讨论).在这里,当输入图像的类标识与条件向量不匹配时,网络被专门训练以产生较差的重建。因此,当遇到一个未知的类测试样本时,理想情况下没有一个条件向量会与输入的图像类标识相匹配。这将导致对所有条件向量的重建能力都较差。而当遇到已知的测试样本时,有一个条件向量将匹配输入图像类标识,它将对特定的条件向量产生完美的重建。因此,使用非匹配损失的训练有助于网络更好地适应开放集设置。这里,用α∈[0,1]对两个损失进行加权,得到动态训练目标。
C2AE: Class Conditioned Auto-Encoder for Open-set Recognition(CVPR 2019)部分翻译_第3张图片

3.2.2 EVT建模

极值理论。极值理论经常应用于许多视觉识别系统中,是建模训练后分数[45],[46]的有效工具。它已被应用于金融、铁路轨道检查等许多应用领域。[28],[3],[12]以及开放集识别[7],[45],[50]。本文遵循极值定理的Balkema-deHaan公式[38],[5]。它考虑了对基于超过高阈值的随机变量的概率进行建模。

3.2.3 阈值计算

对匹配重构误差集合尾部和非匹配重构误差集合尾部使用EVT进行建模,阈值应该位于两个集合的重叠区域。误差的概率可以表示为阈值τ的函数,

3.3 open set testing by k-inference(阶段3)

本文介绍了所提方法的开集测试算法。测试过程在Alg1中描述,如图2所示。该测试策略调节解码器k次即使用所有可能的条件向量去获得k个重构误差。因此,它被称为k-推理算法。

4 实验

做了3类实验,open set identification,open set recognition和消融实验,前两个实验与同类的开集方法比较,为了显示提出方法在开放度增加的情况下,性能会下降但较平稳且下降少;消融实验用于证明提出方法的每一个组件都对模型有提升作用。

5 结论

提出了一种基于类条件自动编码器的开集识别算法。我们介绍了这些网络的训练和测试策略。研究还表明,将开放集识别划分为子任务有助于学习更好的开放集识别分数。在训练过程中,强制执行条件重构约束,有助于学习近似已知和未知的重构误差的分数分布。后来,这被用来计算模型的操作阈值。由于对单个样本的推理需要k个前向反馈,因此测试时间也会增加。然而,所提出的方法在多个图像分类数据集上表现良好,并比许多最先进的开放集算法有显著的改进。在我们未来的研究中,我们可以探索GAN/VAE/FLOW等生成模型来对该方法进行修改。我们将在结论中如此详细地修改该手稿。

你可能感兴趣的:(开集识别)