摘要
深度网络在各种视觉识别问题上取得了重大进展,导致了高影响力的学术和商业应用。深度网络最近的工作强调,很容易生成人类永远不会将其分类为特定对象类别的图像,然而网络将这些图像分类为给定类别的高置信度-深度网络很容易被人类认为没有意义的图像所愚弄。深度网络的闭集性质迫使它们从导致此类工件的已知类中进行选择。现实世界中的识别是开放集的,即识别系统应该在测试时拒绝未知/未见过的类。我们提出了一种方法来适应深度网络的开放集识别,通过引入一个新的模型层,OpenMax,它估计输入来自未知类的概率。估计未知概率的一个关键因素是将元识别概念应用于网络倒数第二层的激活模式。OpenMax允许拒绝“愚弄”和不相关的开放集图像呈现给系统;OpenMax大大减少了深度网络产生的明显错误的数量。我们证明了OpenMax概念提供了有界的开放空间风险,从而正式提供了一个开放集识别的解决方案。我们使用来自Caffe Model-zoo的预训练网络对ImageNet 2012验证数据以及数千张愚弄和开放集图像进行评估。所提出的OpenMax模型显著优于基本深度网络和具有SoftMax概率阈值的深度网络的开放集识别精度。
Introduction
由于视觉和学习方面的研究进展,计算机视觉数据集已经从几百张图像发展到数百万张图像,从几个类别发展到数千个类别。最近对深度网络的研究已经显著改善了视觉识别的许多方面[26,3,11]。丰富表示的协同进化,可扩展分类方法和大型数据集已经产生了许多商业应用[5,28,16,6]。然而,在动态和不断变化的现实世界中部署识别系统时,会遇到各种各样的操作挑战。绝大多数识别系统都是为静态封闭世界设计的,其中的主要假设是所有类别都是先验的。像许多经典的机器学习工具一样,深度网络被设计用来执行闭集识别。
最近关于开放集识别[20,21]和开放世界识别[1]的工作,已经形式化了在需要在测试期间拒绝未知对象的设置中执行识别的过程。虽然人们总是可以使用“其他”类来训练无趣的类(已知的未知数),但不可能使用未知对象的所有可能示例进行训练。因此,需要设计视觉识别工具来正式解释“未知的未知”[18]。尽管已经开发了一系列算法来解决这个问题[4,20,21,25,2],但使用深度网络执行开放集识别仍然是一个未解决的问题。
在大多数深度网络中[11,26,3],最后一个全连接层的输出被馈送到SoftMax函数,该函数产生N个已知类标签的概率分布。虽然深度网络总是有一个最可能的类,但人们可能希望对于未知输入,所有类的概率都很低,并且不确定性的阈值会拒绝未知类。最近的论文展示了如何产生“愚弄”[14]或“垃圾”[8]图像,这些图像在视觉上与期望的类别相去甚远,但产生高概率/置信度分数。他们强烈认为,不确定性的阈值不足以确定未知的东西。在第3节中,我们展示了将深度网络扩展到阈值SoftMax概率在一定程度上提高了开放集识别,但并没有解决欺骗图像的问题。在深度网络的理论/实践中,即使具有阈值概率,也不满足[20]中提供的开放集识别的正式定义。这就引出了本文要解决的第一个问题:“如何使深度网络支持适应开放集识别?”
SoftMax层是这个问题的一个重要组成部分,因为它的封闭性。我们提出了一个替代方案,OpenMax,它扩展了SoftMax层,使其能够预测未知的类。OpenMax包含了识别系统故障的可能性。这种可能性用于估计给定输入属于未知类的概率。对于这种估计,我们将元识别的概念[22,32,9]应用于深度网络。我们使用深度网络倒数第二层(SoftMax之前的完全连接层,例如FC8)的分数来估计输入是否“远离”已知的训练数据。 我们称 该层中的分数为激活向量(AV)。 该信息被纳入我们的OpenMax模型,并用于表征识别系统的故障。通过取消已知类和为1的概率限制,并拒绝远离已知输入的输入,OpenMax可以在操作期间正式处理未知/未见过的类。 我们的实验表明,OpenMax和Meta-Recognition思想的组合很容易解决深度网络的开放集识别问题,并拒绝高置信度的欺骗图像[14]。
我们开放深度网络的一个关键观点是,“开放空间风险”应该在特征空间中测量,而不是在像素空间中。在之前的工作中,对于大多数问题,开放空间风险不是在像素空间中测量的[20,21,1]。因此,我们问“是否存在一个特征空间,理想情况下是深度网络中的一个层,在这个层中,这些对抗图像远离训练样本,即在一个开放集识别问题中,未知的、愚弄的和对抗的图像成为离群值?”在第2.1节中,我们研究了深度网络中用于测量开放空间风险的特征空间/层的选择。我们表明,在倒数第二层的整体激活模式上,一个极值元识别启发的距离归一化过程为未知图像、愚弄图像甚至许多对抗图像的OpenMax归一化提供了拒绝概率。在图1中,我们展示了我们模型的激活模式,输入图像,愚弄图像,对抗图像(系统可以拒绝)和开放集图像的示例。
综上所述,本文的贡献有:
1.利用激活向量估计深度网络故障概率的多类元识别
2.使用MetaRecognition和OpenMax对开放集深度网络进行形式化,并证明所提出的方法可以管理深度网络的开放空间风险
3.实验分析了开放集深度网络在拒绝未知类别、欺骗图像和来自对抗图像的明显错误,同时保持其在测试图像上的准确性方面的有效性
Open Set Deep Networks开放集深度网络
打开深度网络的一种自然方法是对输出概率应用一个阈值。我们认为这是拒绝不确定的预测,而不是拒绝未知的类。预计来自未知类别的图像都具有低概率,即非常不确定。这只适用于一小部分未知输入。我们在第3节中的实验表明,阈值化不确定输入有帮助,但对于开放集识别来说仍然是相对较弱的工具。Scheirer等人[20]将开放空间风险定义为与标记数据“远离”已知训练样本相关的风险。这项工作只提供了一个一般的定义,没有规定如何测量距离,也没有规定测量这种距离的空间。为了适应深度网络处理开放集识别,我们必须确保它们管理/最小化开放空间风险并具有拒绝未知输入的能力。
基于[21,1]中的概念,我们寻求选择一个层(特征空间),我们可以在其中构建一个紧凑的衰减概率模型,该模型可以设置阈值以限制开放空间风险。我们把这个模型发展成一个基于与学习模型的距离的衰减概率模型。在下一节中,我们详细介绍了用于估计已知训练数据距离的空间和元识别方法,然后是将这种距离纳入深度网络决策函数的方法。我们称我们的方法为OpenMax,这是SoftMax函数作为网络最后一层的替代方案。最后,我们证明了整个模型是一个紧凑的衰减概率模型,因此,它满足开集识别的定义。
2.1 Multi-class Meta-Recognition多类元识别
我们的第一步是确定何时输入可能不是来自已知类,也就是说,我们想要添加一个元识别算法[22,32]来分析分数并识别深度网络在评估中何时可能不正确。先前的元识别工作使用最终系统分数,并基于极值理论(Extreme Value Theory, EVT)分析其分布,发现这些分布遵循韦伯分布。尽管可以独立使用每个类的分数并使用EVT考虑它们的分布,但这不会产生紧凑的衰减概率,因为愚弄图像表明分数本身不是来自接近已知输入训练数据的紧凑空间。此外,对类后识别分数集(SoftMax层)的直接EVT拟合对于深度网络是没有意义的,因为最终的SoftMax层被有意地重新规范化以遵循逻辑分布。因此,我们分析倒数第二层,它通常被视为每个类的估计。每个类的估计被SoftMax函数转换成最终的输出概率。
我们采用的方法是,来自倒数第二层的网络值(以下称为激活向量(AV))并不是独立的每个类的分数估计,而是它们提供了“相关”类的分布。在第2.2节中,我们讨论基于图1的说明性示例。
(算法1:开放集深度网络的EVT元识别校准,每类威布尔拟合η到平均激活向量的最大距离。返回libMR模型ρj,其中包括用于移动数据的参数τi以及威布尔形状和尺度参数:κi, λi。)
我们的整体EVT元识别算法总结在图1中。为了使用自动驾驶识别异常值,我们进行了调整最接近类均值[29,12]或最接近非离群值[1]的概念,并将它们应用于激活向量内的每个类,作为第一近似。虽然更复杂的模型,如最近类多质心(NCMC)[13]或NCM森林[17],可以提供更准确的建模,但为了简单起见,本文只关注使用单个平均值。每个类被表示为一个点,一个平均激活向量(MAV),只在正确分类的训练样本上计算平均值(Alg. 1的第2行)。
给定MAV和输入图像,我们测量它们之间的距离。我们可以直接设置距离阈值,例如,使用[1]的跨类验证方法来确定总体最大距离阈值。在[1]中,对特征进行了度量学习来规范化它们,这使得单个共享阈值可行。然而,不同类别的AV缺乏一致性提出了更大的挑战,因此,我们寻求每个类别的元认知模型。特别是,在Alg. 1的第3行,我们使用libMR [22] fib函数对所有正确的正训练实例与相关μ i之间的最大距离进行威布尔拟合。这就产生了一个参数ρi,用来估计一个输入相对于i类是离群值的概率。
给定 ρ i ρ_i ρi,一个简单的拒绝模型将是用户定义一个阈值,该阈值决定是否应该拒绝输入,例如,确保90%的训练数据作为离群值被拒绝的概率接近于零。虽然很容易实现,但很难校准绝对的元识别阈值,因为它依赖于未知的未知数。因此,我们选择在第2节描述的具有连续调整的OpenMax算法中使用它。
我们注意到我们的校准过程只使用正确分类的数据,其中 j j j类的秩为1。在检验时,对于输入 x x x,假设类 j j j的概率最大,则 ρ j ( x ) ρ_j (x) ρj(x)提供MR估计的 x x x为离群值并应被拒绝的概率。我们使用一个校准高级(例如,前10名),但作为扩展,不同级别的单独校准是可能的。注意,当每个示例有多个通道时,我们计算每个通道每个类的平均向量 µ j , c µ_{j,c} µj,c和威布尔参数 ρ j , c ρ_{j,c} ρj,c。值得记住的是,目标不是确定输入的训练类别,而是一个元识别过程,用于确定给定的输入是否来自未知类别,因此应该被拒绝。
Interpretation of Activation Vectors 激活向量的解释
(图1:示例显示了激活向量模型如何为我们的元识别和深度网络的OpenMax扩展提供足够的信息,以支持开放集识别。OpenMax算法测量输入的激活向量(AV)和前几个类的模型向量之间的距离,调整分数并提供未知概率的估计。左侧为不同图像的激活向量(activation vector, AV),不同的AV以黑线分隔。每个输入图像都成为一个AV,显示为10x450彩色像素,垂直方向为10个深度网络通道激活能量中的每一个像素,水平方向显示前450个ImageNet类的响应。各种类别指数(鲨鱼、鲸鱼、狗、鱼等)的范围在图像的底部被识别出来。对于四种类别(棒球、锤头鲨、大白鲨和潜水者)中的每一种,我们展示了四种类型图像的AV:模型、真实图像、愚弄图像和开放集图像。自动驾驶汽车显示了激活模式,对于真实图像,相关类别经常一起响应,例如,鲨鱼与其他鲨鱼,鲸鱼,大型鱼类共享许多视觉特征,因此相关反应,但与狗或棒球无关。对自动驾驶汽车的视觉检查显示,与真实图像或模型自动驾驶汽车相比,欺骗图像和开放集图像的响应模式存在显著差异。例如,注意许多欺骗图像中的较深(深蓝色)线条和许多开放集图像中的不同绿色模式。底部的AV来自“对抗”图像,其中锤头图像被转换,通过添加几乎不可见的像素变化,被归类为水肺潜水员。右边的两列显示了两个类的相关图像。每个例子都显示了真实图像的SoftMax (SM)和OpenMax (OM)分数,左边显示的是产生AV的愚弄集和开放集图像。红色的OM分数意味着OM算法将图像分类为未知,但为了完整性,我们显示了最初存在混淆的棒球/锤头类的OM概率。右下角显示了敌对图像及其相关分数——尽管网络将其归类为水肺潜水员,但与双髻鲨的视觉相似性显然更强。OpenMax拒绝将自己的敌对形象视为水肺潜水员课程中的异类。作为一个从失败中恢复的例子,我们注意到,如果图像是高斯模糊的,OpenMax将其分类为双髻鲨的概率为0.79 OM。)
在本节中,我们通过基于图1的说明性示例介绍了激活向量和元识别的概念。
封闭集:假设输入是一个有效的输入,比如双髻鲨,即图1中的第二组激活记录。激活向量显示了与大白鲨相关的AV维度的高分。所有的鲨鱼都与其他鲨鱼、鲸鱼和大型鱼类共享许多直接的视觉特征和许多上下文视觉特征,这就是为什么图1显示了这些群体中许多ImageNet类别的多个高激活(亮黄绿色)。我们假设,对于大多数类别,有一个相对一致的模式相关的激活。MAV将该分布作为单个点捕获。AVs提供了一个空间,我们可以根据每个类别的激活来测量与输入图像的距离;如果是大白鲨,我们预计虎鲨、双髻鲨和鲸鱼也会有更高的激活,但鸟类或棒球的激活非常弱或没有。直觉上,这似乎是在训练中测量距离的正确空间。
开放集:首先让我们考虑一个开放集图像,即来自未知类别的真实图像。这些将总是被深度网络映射到SoftMax提供最大响应的类,例如,图1中的岩石图像被映射到棒球,右边的鱼被映射到锤头鱼。有时开放集图像的置信度较低,但最大分数将产生相应的类。对于输入产生最大响应的类别,将输入的激活向量与MAV进行比较,我们观察到它通常远离平均值。然而,对于一些开放集图像,提供的响应接近于AV,但总体上仍然具有较低的激活水平。如果输入是与已知类密切相关的“未知”类,或者对象足够小以至于无法很好地区分,则可能发生这种情况。例如,如果输入来自不同类型的鲨鱼或大型鱼类,它可能会提供低激活,但AV可能不会不同到被拒绝。因此,除了直接估计类别是否未知之外,开放集识别仍然需要阈值不确定性。
愚弄集:考虑一个愚弄输入图像,它是人为构建的,以使特定的类(例如,棒球或锤头)具有高激活分数,因此可以高置信度地被检测到。虽然人工构建增加了感兴趣类的概率,但图像生成过程并没有同时调整所有相关类的分数,导致AV与模型AV“相距甚远”。检查图1中每个类组的第三个元素,它显示了来自愚弄图像的激活。许多愚弄图像在视觉上是完全不同的,它们的激活向量也是如此。许多激活非常低的区域(深蓝色/紫色)可能是因为可以通过减少其他类的激活来增加给定类的SoftMax输出,这反过来又减少了SoftMax计算的分母。
对抗性集:最后,考虑一个对抗性输入图像[8,27,31],它被构造为接近一个类,但被错误地标记为另一个类。在图1的右下角给出一个示例。如果对抗图像被构造为附近的类,例如,从双髻鲨到大白鲨,那么本文提出的方法将无法将其作为一个问题检测出来-细粒度的类别差异无法在MAV中捕获。然而,对抗性图像可以在任何一对图像类之间构建,参见[27]。当目标类别足够远时,例如这里的锤头和水肺例子,或者更远,例如锤头和棒球,对抗性图像在激活分数上会有显著差异,因此可以被拒绝。我们在实验中没有考虑对抗性图像,因为结果更多的是我们选择生成的对抗性图像的函数-我们知道没有有意义的分布。例如,如果我们随机选择类对
(
a
,
b
)
(a,b)
(a,b),并从
a
a
a到
b
b
b生成对抗图像,其中大多数具有较大的层次距离,很可能被拒绝。如果我们选择最接近的对抗图像,可能来自附近的类别,激活将是接近的,它们不会被拒绝。
我们的OpenMax过程的结果是,开放集以及欺骗或对抗图像通常会被拒绝。建立一个不被拒绝的愚弄或敌对形象不仅意味着在感兴趣的类别中获得高分,还意味着在其他999个类别中保持相对分数。至少,由于这些限制,对抗性/欺骗图像的空间大大减少了。希望,任何满足所有约束的输入都是得到人类对类标签支持的图像,就像[14]的图3中的一些愚弄图像一样,正如我们在对弈图像对中看到的那样,细粒度分离的类别,如公牛和大白鲨。
有人可能会想,单个MAV是否足以表示具有不同方面/视图的复杂对象。而未来的工作应该研究更复杂的模型,可以捕获不同的视图/范例,例如,NCMC[13]或NCM森林[17]。如果深度网络实际上已经实现了与视图无关的识别目标,那么倒数第二个激活的分布应该是与视图无关的。虽然鲨鱼的张开下巴和侧面视图在视觉上是完全不同的,而且多样本模型可能更有效地捕捉不同视图中的不同特征,但不同鲨鱼的张开下巴仍然非常相似,它们的侧面视图也是如此。因此,每个视图可能呈现一个相对一致的AV,允许单个MAV捕获两者。直观地说,虽然图像特征可能随着视角的不同而变化很大,但AV所代表的“相关类”的相对强度应该与视角无关。
OpenMax
标准的SoftMax函数是分类概率分布的梯度对数归一化器——这是它通常被用作网络的最后一个完全连接层的主要原因。传统的定义在他们的计算中具有每个节点的权重。基于caffe的深度网络的倒数第二层的分数[10],我们称之为激活向量,在产生它的卷积中执行加权。设
v
(
x
)
=
v
1
(
x
)
,
.
.
.
,
v
N
(
x
)
v(x) = v_1(x),...,v_N (x)
v(x)=v1(x),...,vN(x)为每个类别的激活水平,
y
=
1
,
.
.
.
N
.
y = 1,...N.
y=1,...N.经过深度网络训练,输入图像
x
x
x产生激活向量
v
(
x
)
v(x)
v(x), SoftMax层计算:
P
(
y
=
j
∣
x
)
=
e
v
j
(
x
)
∑
i
=
1
N
e
v
i
(
x
)
(
1
)
P(y=j|\mathbf{x})=\frac{e^{\mathbf{v_j}(\mathbf{x})}}{\sum_{i=1}^Ne^{\mathbf{v_i}(\mathbf{x})}}\quad(1)
P(y=j∣x)=∑i=1Nevi(x)evj(x)(1)
分母对所有类别求和以确保所有类别的概率和为1。然而,在开放集识别中,在测试时间会出现未知的类别,因此,要求概率之和为1是不合适的。
为了使SoftMax适用于开放集,设
ρ
ρ
ρ为由Alg. 1估计的每个类的元认知模型的向量。在图2中,我们总结了OpenMax计算的步骤。为方便起见,我们将未知未知类定义为索引为0的位置。我们在
x
x
x和
µ
i
µ_i
µi之间的距离上使用Weibull CDF概率(图2中的第3行)作为拒绝估计的核心。模型
µ
i
µ_i
µi使用与类别
i
i
i相关的图像计算,类别
i
i
i是在训练过程中正确分类的图像(top-1)。我们期望距离的EVT函数仅对少数顶级秩提供有意义的概率。因此,在Alg. 2的第3行中,我们计算
α
α
α最大激活类的权重,并用它来缩放Weibull CDF概率。然后,我们计算修改后的激活向量与最高分数的变化。我们计算未知未知类的伪激活,保持总激活级别不变。包括未知未知类,新修订的激活计算OpenMax概率如Eq. 2所示。
(算法2:拒绝未知或不确定输入的OpenMax概率估计。)
OpenMax提供了支持显式拒绝的概率,当未知未知类(y = 0)有最大的概率。这种元识别方法是确定未知未知类的第一步,我们的实验表明,单个MAV在检测欺骗图像方面工作得相当好,比不确定性阈值更好。然而,在任何产生确定性估计的系统中,不确定性阈值仍然是一种有效的元识别类型,不应该被忽视。因此,最终的OpenMax方法也拒绝了图2第9行中未知和不确定的输入。
选择超参数
ϵ
,
η
\epsilon,η
ϵ,η和
α
α
α,我们可以使用一组训练图像加上一组开放集图像的采样来进行网格搜索校准过程,在集合上优化Fmeasure。这里的目标是总体尺度/灵敏度选择的基本校准,而不是优化未知未知空间的阈值,这无法在实验中完成。
(图2:来自ImageNet 2012的100个类别的愚弄(三角形)、开放集(正方形)和验证(圆形)的OpenMax概率与SoftMax概率的图。一个点越偏离对角线,OpenMax对概率的改变就越大。对角线下面表示OpenMax估计减少了输入在类中的概率。对于一些输入,OpenMax增加了类的概率,这种情况发生在领先类被部分拒绝的时候,从而降低了它的概率,增加了排名第二或更高的类。基于不确定性的拒绝阈值(
ϵ
\epsilon
ϵ)选择可以在正确分类训练样例和拒绝开集样例之间优化F-measure。(愚弄图像不用于阈值选择。)对角线以下的三角形和正方形的数量意味着OpenMax阈值的不确定性阈值(垂直方向)优于SoftMax阈值(水平方向)。)
请注意,未知未知类概率的计算本质上改变了所有估计的概率。对于一个固定的阈值和有很小机会未知的输入,OpenMax将比SoftMax拒绝更多的输入。图2显示了100张样例图像、50张训练图像和50张开放集图像以及愚弄图像的OpenMax和SoftMax概率。离对角线越远,OpenMax对概率的改变就越大。阈值选择的不确定性为基础的拒绝
ϵ
\epsilon
ϵ,将找到保持训练样例和拒绝开放集样例之间的平衡。欺骗图像不用于阈值选择。
虽然不是我们实验评估的一部分,但请注意,OpenMax也通过其估计概率提供了有意义的排名排序。因此,OpenMax直接支持带有拒绝的top-5类输出。同样重要的是要注意,由于重新校准了激活分数
v
i
^
(
x
)
\hat{v_i}(x)
vi^(x), OpenMax通常不会产生相同的分数排序。
OpenMax Compact衰减特性
虽然阈值不确定性确实提供了拒绝某些输入的能力,但尚未证明它可以正式限制深度网络的开放空间风险。不难看出,就激活向量而言,SoftMax的正标记空间并不局限于靠近训练空间,因为最大类分数的任何增加都会增加其概率,同时降低其他类的概率。随着最大方向的充分增加,即使其他维度的大变化仍然会为领导阶层提供大的激活。虽然理论上有人可能会说深度网络激活是有界的,但[14]的愚弄图像是SoftMax无法管理开放空间风险的令人信服的证据。
定理1(开放集深度网络):使用元识别对激活向量进行扩展的深度网络,如fig . 2所示,SoftMax后来适应了OpenMax,如Eq. 2所示,提供了一个开放集识别函数
证明。元识别概率(Weibull的CDF)是
∣
∣
μ
i
−
x
∣
∣
||μ_i−x||
∣∣μi−x∣∣的单调递增函数,因此
1
−
w
i
(
x
)
1−w_i(x)
1−wi(x)是单调递减的。因此,它们构成了[21]中定义的紧凑衰减概率的基础。由于OpenMax变换是元认知概率的加权单调变换,应用[1]中的定理1和定理2可以得出,对未知的OpenMax概率进行阈值处理可以管理在AV特征空间中测量的开放空间风险。因此它是一个开集识别函数。
参考
1.A. Bendale and T. E. Boult, “Towards Open Set Deep Networks,” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, pp. 1563-1572, doi: 10.1109/CVPR.2016.173. keywords: {Visualization;Sports equipment;Training;Adaptation models;Computational modeling;Whales;Extraterrestrial measurements},
2.OpenMax的理解:https://blog.csdn.net/weixin_42188082/article/details/122009841