其他分享
首页 > 其他分享> > 随机part交换:细粒度识别的增强模型泛化和可解释性

随机part交换:细粒度识别的增强模型泛化和可解释性

作者:互联网

摘要

  学习用于细粒度识别的中级表征很容易被数量有限的区分度模式所控制,从而降低其鲁棒性和泛化能力。为此,我们提出了一种新的随机部分交换(SPS)方案来解决这个问题,对样本之间的部分特征进行元素交换,以在训练期间注入噪声。它具有类似于Dropout(什么是Dropout)的正则化效果,这促进了更多的神经元来表示概念。此外,它还显示出其他优点:1)抑制对某些部件模式的过度激活,以提高特征的代表性;2)丰富模式组合并模拟噪声情况,以增强分类器的泛化能力。我们通过四个网络主干和三个细粒度数据集的综合实验验证了我们方法的有效性。此外,我们还展示了其补充高级表征的能力,允许一个简单的模型实现与细粒度识别、室内场景识别和材料识别等顶级技术相当的性能,同时提高模型的可解释性

1 Introduction

  细粒度识别比普通对象识别更具有挑战性,因为具有区分度的类别差异通常在细微的部分中。传统的对象分类方法在细粒度分类中不适用,因为它们主要关注学习高级特征,忽视了细微的变化。现有的工作尝试通过探索多种方法来补充这样的能力。基于部分的和基于采样的是最受欢迎的解决方法。从前主要的通过强监督检测定位部分区域或弱监督学习框架,提取据有区分度的局部特征作为高级特征的补充。基于采样的方法寻求通过输入图像的注意力采样来丰富表征学习。尽管这两种方法在改善分类表现上都获得了成功,它们需要复杂的训练过程或者大量的运算,这限制了它们的实际应用能力。

  由于其独特的优点,将深层中层模型合并到细粒度识别中已在最近的工作中证明了其潜力[35,22,52,23]。首先,由于深层神经网络的层次结构,中层模型易于获取,且开发灵活其次,它们还表现出捕获局部信息的强大能力,并作为细粒度识别中高级表征方法的重要补充。[22,52]的工作表明,耦合中级和高级分类模型确实可以提高性能。

  尽管取得了令人鼓舞的结果,但以前的方法只是以即插即用的方式采用现成的中层模型,而不是增强中层模型本身。在本文中,我们沿着这条路线向前迈出了一步,并努力学习更好的中间层表示,以便进行细粒度识别。我们观察到中层模型主要基于少量图像区域确定标签。如图1左栏所示,对于CUB-200-2011训练数据集上的基线模型,平均而言,每张图像784个区域中的前35.73个区域实际上占最终预测分数的99%。我们推测,这是因为一些细微的对象部分在训练集中表现出极强的可分辨性,因此神经网络的权重更偏向于这几个模式。例如,如图1的右栏所示,“红-黄斑”图案对于红翅黑鸟来说是非常明显的。在这种情况下,神经网络倾向于学习更多对这种模式有高度反应的神经元,使其在预测中占主导地位。因此,生成的模型将由数量有限的部分模式控制,从而降低其鲁棒性和泛化能力。

图1.左列显示了使用CUB数据集上训练的基线模型时,每个图像对给定预测值做出贡献的平均区域数。实验部分给出了该实验的更详细描述。右栏说明了采用深层中层模型进行细粒度分类的问题。在训练数据中,“红黄色斑块”模式可以将“红翅黑鸟”与大多数鸟类区分开来。在训练过程中,神经网络倾向于通过将其权重偏压到相应的区域,将该部分主要与该标签相关联。由此产生的中级模型将预测一个物体是否是“红翼黑鸟”,主要基于这个模式,而忽略了其他模式的其他作用。 

  为此,我们提出了一种新的随机部分交换(SPS)策略来增强中层模型的泛化能力。交换噪声策略在训练期间随机选择一个样本特征作为噪声源,并将其一些特征单元交换到另一个样本的相应位置。我们提出的方法不同于现有的注入方法,它利用样本特征作为噪声源(如图2所示)。这种策略在学习中级表征方面有几个优势:

  1. 首先,如果交换的元素大部分是不活跃的神经元,我们的方法具有类似的规范化效应,即Dropout,这鼓励更多的神经元进行特征表征。
  2. 其次,我们的方法有助于抑制一些支配预测的神经元。例如,如果一些在预测一个类别时起主导作用的神经元被交换到另一个类别的一个样本特征中,它们可能会导致样本预测失误。在这种情况下,成本函数将惩罚这些神经元的误导性影响。
  3. 最后,该策略具有增强能力,以增强分类器的鲁棒性。例如,在类内样本之间交换部分特征将允许分类器看到更多的类的模式组合。此外,在类间实例之间交换部分神经元会产生一个样本特征,其中包含另一个类别的噪声模式。 

 图2.Dropout技术与SPS之间差异的说明。Dropout或其变体主要将手动设计的噪声注入功能,而SPS则利用样本作为噪声注入源

  我们在三个不同任务的七个数据集上广泛评估了我们的方法。实验表明,我们的方法大大提高了基线的性能。我们学习的中级模型在CUB数据集上获得87.29%的准确率,优于其他正则化方法,甚至优于高级模型。通过结合高级表示,我们的方法简单高效,在CUB-200-2011、飞机、斯坦福汽车、Food101、麻省理工学院室内和GTOS数据集上进一步实现了最先进或类似的性能。

2 相关工作 

细粒度识别、噪声注入方法、基于混合的数据增强

这里只翻译后两个

噪声注入方法:

  由于深度神经网络具有大量的学习参数,因此深度神经网络往往存在过拟合问题,这就需要正则化方法。我们提出的方法与噪声正则化技术有关[50,27,24,1,19,48]。经典的方法,包括Dropout及其变体,主要是在训练过程中通过添加或乘以噪声来注入噪声。例如,Dropout在训练期间随机丢弃神经元,Gaussian Dropout[27]将特征单位乘以Gaussian随机噪声。与这些将人工定义的噪声注入特征向量的方法相比,我们提出的方法通过利用其他样本的部分元素作为噪声源来生成噪声特征,可以有效地抑制某些神经元对特定类别的过度自信。它还提供了一种更合理的方法来模拟真实数据噪声,以提高分类器的鲁棒性。

基于混合的数据增强:

  最近的基于混合的方法通过组合图像和进一步融合标签显示出令人印象深刻的性能。我们的工作在两个方面不同于这些关于混合增强的工作。首先,典型的基于混合的方法(如Mixup和CutMix)通过提供数据点的相邻样本来增强训练数据分布。相比之下,我们提出的方法是为了解决中级表征集中在几个模式上的问题。第二,尽管我们的工作受到样本混合的启发,但由于动机不同,我们的工作在方法设计和工作机制上与这些工作不同。基于混合的方法侧重于生成邻域样本(通过混合图像和混合相应的标签),使输入分布更平滑,以便训练神经网络。相比之下,我们关心的是如何将噪声注入特征(通过交换样本的特征单元)以确保神经元表示在进行预测时包含更多的模式。

3 方法

  在本节中,我们首先描述学习深层中级表征的常见实践,并在下一小节中介绍我们提出的方法SPS。

3.1 学习深度中级表征

  细粒度识别的标准实践是在目标训练集上微调主干网络。结果模型通过在最后一个卷积层上应用全局平均池来提取特征,从而捕获对象的高级信息。然而,最近的工作表明,在细粒度识别中,中级表征与高级表征具有很强的互补能力。尽管他们学习中层模型的方法设计不同,但他们都有一些标准实践。因此,基于这些方法的实现细节,我们总结出一个简单的学习框架作为基线。如图3所示,baseline将中级分类分支插入标准分类框架。这个新分支的特征块包含一个用随机权重初始化的1x1卷积层、一个ReLU激活层和一个全局最大池层。在训练期间,这两个分支机构共同接受训练。还值得一提的是,我们阻止从中级组件到主干层的梯度传播,直到后面的训练阶段。这种训练实践有助于稳定训练过程,并防止中间层学习抽象高级信息。

图3.学习中级表征的baseline框架。在这里ℓg和ℓm分别是中级和高级分类分支的交叉熵损失 

3.2 随机部分交换 

  虽然中级表征法可以补充高级表征法以提高准确性,但单独使用时性能仍不令人满意。这可能是因为学习到的中级模型往往由少数高度区分的模式控制,从而降低了其鲁棒性和泛化能力。解决此问题的一个简单解决方案是将dropout应用于特征层。然而,由于dropout会将某些神经元擦除为零,因此它不会在训练中抑制某些过度自信的神经元(具有高激活值),因为传递到被擦除神经元的梯度将为零。因此,虽然dropout鼓励神经网络激活更多的神经元来表示一个概念,但由此产生的表示可能仍然由一些高度激活的神经元主导。为了纠正这种情况,我们提出了一种随机部分交换(SPS),它对样本之间的部分特征进行元素交换,从而在训练神经网络时注入噪声。与现有的噪声注入方法相比,这种训练策略具有更多的优势。首先,它提供了一种允许梯度抑制过度自信神经元的方法。例如,当一个神经元对一个样本高度激活,但其相应的特征值从不同类别注入另一个实例时,神经网络将在分类注入样本时产生重大错误,并惩罚神经元过度激活。它还可以更好地模拟真实噪声数据来训练分类器,因为它将一个样本的真实激活值注入另一个样本,而不是人工噪声。下面,我们将详细描述我们提出的方法:

噪声注入:

  SPS的主要思想是将一个样本的部分特征注入另一个样本的部分特征。对于小批量中的每个样本(特征向量),我们首先从同一个小批量中随机选择另一个样本作为噪声源,并按元素交换其部分特征元素。给定样本x_{i}和来自同一个小批量的随机选择样本x_{j},噪声注入操作可以表示为:

其中U表示两个参数\alpha,\beta的均匀分布,\bigodot表示元素的乘法,f^{m}(\cdot )表示中级分支的特征提取,M\in\mathbb{R}^{dim(f^{m}(x))}表示一个二元遮罩。这里,我们基于表示被交换的特征元素数目的比例的值\rho来产生M。

  其中k \in [0,dim(f^{m}(x))-1]是维度的索引。

Training loss:

  如上所述,我们通过交换一些特征单元来注入噪声,这有助于防止神经网络过度关注少量的区分模式。此外,该策略还可以提供模拟噪声模式的样本,从而增强分类器对噪声的鲁棒性。为了放大这些特性,我们还多次应用噪声注入操作,以产生小批量内每个样本的更多扰动情况。因此,单个训练实例(xi,yi)的训练损失定义为:

\l (\cdot)是交叉熵损失,T表示噪声注入应用于样本的次数,C(\cdot)表示分类器,f^{g}(\cdot)是高级分支的特征提取器。这里,为了简单起见,省略正则化项。还值得一提的是,测试中将禁用噪声注入操作。

4 实验

 

 

 

 

 

 

 

 

  

 

 

 

 

 

标签:细粒度,训练,样本,噪声,解释性,泛化,方法,神经元
来源: https://blog.csdn.net/weixin_39627422/article/details/121021224