TPAMI 2024 | 你绝对想不到!零样本学习+特征蒸馏器 竟然有奇效!

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

题目:Explanatory Object Part Aggregation for Zero-Shot Learning

对于零样本学习中的解释性对象部分聚合。

作者:Xin Chen; Xiaoling Deng; Yubin Lan; Yongbing Long; Jian Weng; Zhiquan Liu; Qi Tian


摘要

零样本学习(ZSL)旨在仅基于已见过类别的标记图像来识别未见过的类别对象。大多数现有的ZSL方法集中于优化特征空间或生成未见类别的视觉特征,无论是在传统ZSL还是泛化零样本学习(GZSL)中。然而,由于学习到的特征空间是次优的,存在许多虚拟连接,其中视觉特征与语义属性并不对应。为了减少虚拟连接,本文提出了一种通过构建基于卷积特征图的解释图来发现全面和细粒度的对象部分,然后将对象部分聚合以训练一个部分网络以获得预测结果。由于聚合的对象部分包含激活语义属性的全面视觉特征,因此可以在很大程度上减少虚拟连接。由于部分网络旨在提取局部细粒度视觉特征,一些与全局结构相关的属性被忽略了。为了同时利用局部和全局视觉特征,我们设计了一个特征蒸馏器,将局部特征蒸馏到一个主网络中,该网络旨在提取全局特征。在AWA2、CUB、FLO和SUN数据集上的实验结果表明,我们提出的方法在传统ZSL和GZSL任务中明显优于现有技术。

关键词

  • 零样本学习 (Zero-shot learning)

  • 泛化零样本学习 (Generalized zero-shot learning)

  • 虚拟连接 (Virtual connections)

  • 对象部分发现 (Object part discovery)

  • 解释图 (Explanatory graph)

  • 部分聚合 (Part aggregation)

  • 特征蒸馏 (Feature distillation)

1. 引言

随着深度学习的快速发展,具有标记训练样本的图像识别任务已经取得了巨大的进步。然而,在实际应用中,几乎不可能为所有对象类别收集到大量的标记训练样本。一些类别可能只有很少甚至没有训练样本可用于训练。为了识别没有训练样本的类别,提出了零样本学习(ZSL)。在ZSL中,首先在具有标记训练样本的已见过类别上训练一个分类模型,然后使用该识别模型来识别在训练过程中未参与的未见类别。由于已见过和未见类别不重叠,它们通过中间类别级语义属性(例如视觉属性或词向量)进行桥接。

由于已见过和未见类别之间的数据分布不同,从视觉特征到中间语义属性的映射关系在学习已见过类别时往往会有偏差,当转移到未见类别时。为了减少偏差,现有方法可以分为两类。一种类型旨在使学习到的视觉特征包含尽可能多的信息,另一种类型旨在在训练过程中充分利用未见类别的图像。在第一类中,一些工作通过解码器强制学习到的视觉特征恢复输入图像,一些工作从输入图像中学习额外的潜在语义属性,这些属性与注释的语义属性连接,形成最终的中间语义描述符。在这一类中,如果视觉特征更具生成性,它们将具有较低的区分性。如何平衡生成能力和区分能力是一个重要的问题。

在第二类中,大多数工作使用注释的属性通过在已见过类别上训练的GANs生成未见类别的假图像。一个重要的问题是,由于GANs是在已见过类别上训练的,它们倾向于生成偏向已见过类别的假图像,这限制了假图像帮助利用未见类别信息的能力。

从上述描述中,我们可以看到,大多数现有的零样本学习方法集中在如何更好地从已见过类别转移到未见类别的视觉特征与语义属性之间的映射关系。一个重要的问题在很大程度上被忽略了。那就是,学习到的视觉特征与语义属性之间的映射关系不一定对应于真实的语义属性。例如,如图1所示,在特征提取过程中,对于属性‘腿颜色棕色’,‘颈部’区域被赋予了更高的重视(激活值大约是准确‘腿部’的3000倍),即使在其他区域也有低重视的部分特征(激活值仅为0.0001),这意味着其他区域的贡献远小于‘颈部’区域。这种偏差很容易使得‘腿部’相关属性在未见样本上被不准确地激活,从而降低了从已见过类别到未见类别的泛化能力。作为隐喻,我们可以将偏离现实的映射连接定义为虚拟连接。这导致了以下事实:当在已见过类别上学习到的映射关系到未见类别时,由于在未见类别中有许多在训练过程中从未见过的视觉模式,虚拟连接可能导致未见类别的许多视觉特征与混淆的语义属性相对应,这在很大程度上限制了零样本识别性能。171d8059ecb2bdeed9e02ab2e90e38a3.png

为了解决上述问题,一个直观的方法是在已见过类别上学习视觉特征与语义属性之间的映射关系时减少虚拟连接。虚拟连接可以从两个方面减少:减少背景干扰和增加主要对象的语义特征。为了减少背景干扰并增加语义特征,现有工作主要尝试定位区分性区域。Zhu等人提出了一种通过语义注意力定位自动发现对象最具有区分性部分的方法。这种思想在发现区分性对象部分方面很好,但在一定程度上限制了细粒度详细特征的提取能力。Zheng等人提出了一种三线性注意力采样方法,通过建模通道之间的关系生成注意力图,并在细粒度图像识别任务上取得了竞争性能。

在本文中,我们提出基于解释图发现与语义属性相对应的全面对象部分。解释图是通过一个对象类别的所有图像构建的。在图构建过程中,如果一个图像部分在不同卷积层和不同图像中产生一致的共激活和空间关系,那么这个图像部分就被选为全面部分。通过这种方式,不同图像中相似的语义部分被组织成一个图节点。构建一个图后,每个图节点对应于该对象类别的一个语义部分,如头部、眼睛、耳朵、嘴巴等。

与解释图相比,现有的注意力机制在定位关键部分方面主要有两个局限性:1)由于现有的注意力方法基于神经网络中的矩阵操作来定位对象部分,而没有考虑不同卷积层和不同图像之间的结构共激活和空间关系。神经网络是通过反向传播训练的,训练过程旨在最小化损失函数,而不是确保所有图像中的所有属性部分都被发现。即使有些对象部分对应于某些属性没有被激活,或者有些嘈杂部分被高度激活,训练过程仍然可能停止,因为矩阵操作关注数字分布而不是对人类可理解的语义信息。在解释图中,发现的对象部分不仅要在不同卷积层之间具有共激活和空间关系,而且要在不同图像之间保持稳定的共激活和空间关系。这样,嘈杂的对象部分将被过滤掉。2)由于注意力图是基于矩阵操作生成的,并非所有有用的属性区域都考虑在训练过程中。神经网络中的矩阵操作旨在将输入图像映射到嵌入特征空间。有时,仅定位粗略的对象部分(例如头部、颈部、腿部)就足以达到损失函数的最小值,一些细粒度的对象部分(例如眼睛、翅膀斑点、脚趾)容易被忽略。在解释图中,即使一个对象部分的激活度低,它仍然可以被选为属性部分,因为在解释图中推断图节点需要适应所有必需的激活峰值。因此,我们可以看到解释图可以发现更细粒度、更全面、更少噪声的对象部分。一些典型的由注意力机制和解释图发现的对象部分在图2中呈现。我们可以看到,由解释图发现的对象部分包含了比注意力机制更多的详细信息。当更多有用的详细信息被考虑时,虚拟连接将在很大程度上被减少。

081290701fa87590fc48bcec740c363c.png

在发现对象部分后,将图像解耦为一组对象部分。然后如何利用这些对象部分来提高零样本学习的准确性?在本文中,我们设计了一个特征蒸馏器,将对象部分的细粒度信息蒸馏到主分类网络中。这种识别方法主要有两个优点:1)由于图像将在构建解释图后被解耦为无序的图像集,图像旋转或翻转对分类性能的影响很小。尽管这种影响也可以通过数据增强来减少,但仅通过数据增强很难模拟未见类别的所有旋转角度。2)特征蒸馏器可以将由全面对象部分激活的语义属性蒸馏到主分类网络中。由解释图发现的全面图像部分使得建立视觉特征与语义属性之间的关系变得更加容易。发现的图像部分擅长强调局部详细特征,但一些全局结构特征可能受到限制。通过将‘部分网络’的局部特征蒸馏到‘主网络’的全局特征中,可以结合局部和全局特征的优势,使视觉特征与语义属性之间的关系更加完整。然后虚拟连接可以进一步减少。

我们强调我们提出的方法的主要贡献如下:

  • 我们发现虚拟连接是限制ZSL性能的一个重要因素。虚拟连接代表视觉模式和语义属性之间不合理的映射关系。造成虚拟连接的主要原因之一是视觉模式不足。

  • 为了实现足够的视觉模式,我们提出了基于解释图发现全面的对象部分。解释图将图像解耦为一组对象部分。由于解释图充分考虑了不同卷积层和不同图像之间的共激活,发现的对象部分更加全面,噪声更少。

  • 为了聚合发现的对象部分的信息,我们提出了将对象部分的预测属性蒸馏到主分类网络中。这种方法可以充分利用对象部分中存在的丰富视觉模式,并在很大程度上减少虚拟连接。

3. 方法

在本节中,我们介绍我们提出的ZSL方法。所提出方法的框架在图3中展示。本节使用的符号列表在表I中列出。ce6e6197207e4eb93756d66e51dc1389.png155bb449f185c839fdeec7d02ff1aef1.png

动机:现有的ZSL方法主要基于由骨干网络提取的特征图来构建视觉和属性特征之间的映射关系。这种策略有一些可以进一步改进的局限性。(1) 骨干网络中的池化操作很容易导致一些重要特征的丢失。(2) 基于神经网络训练中的反向传播算法,训练目标是最小化所有训练样本的损失值之和。这意味着,一旦损失达到最小值,即使仍然有许多不准确的权重,训练过程仍将停止。不准确的权重可能会使一些有用的对象部分被赋予低重要性,这使得一些重要特征没有在卷积特征图上反映出来。(3) 深度神经网络的卷积特征图还有另一个局限性,只要一个图像区域对训练目标有帮助,该图像部分将被赋予更高的注意力权重,而不考虑语义信息,例如,在包含鸟类图像的Caltech-UCSD Birds 200数据集中,许多鸟类图像包含树叶或树枝,然后深度神经网络很容易错误地认为树叶或树枝属于鸟类特征。上述三个局限性导致一些重要的视觉特征没有贡献给相应的属性特征,使得视觉和属性特征之间的一些映射关系不准确。

在本文中,我们将这些视觉和属性特征之间的不准确映射关系定义为虚拟连接。通过解决上述三个局限性,可以减少虚拟连接。为了解决这三个局限性,我们提出通过构建解释图将图像解耦为全面的部分。这些对象部分能够保持不同层和不同图像之间的稳定空间关系,并且不易受到旋转、物体姿态等图像变化的影响。因此,与原始网络激活相比,不同图像中的同一类别的主要语义概念对人类来说更具解释性。

由于我们将全面部分作为部分网络的输入,每个图像部分将得到比输入原始图像更平衡的关注,减少了丢失重要特征或赋予低重要性的有用对象部分的可能性。此外,由于解释图可以发现在不同卷积层和不同图像之间具有稳定空间关系的图像部分,嘈杂的图像部分将减少。通过这种方式,丢失的、不准确和嘈杂的视觉特征将减少。由解释图发现的全面图像部分使得建立视觉特征与语义属性之间的关系变得更加容易。发现的图像部分擅长强调局部详细特征,但一些全局结构特征可能受到限制。通过将‘部分网络’的局部特征蒸馏到‘主网络’的全局特征中,可以结合局部和全局特征的优势,使视觉特征与语义属性之间的关系更加完整。然后虚拟连接可以进一步减少。

A. 解释图构建

解释图的构建是为了适应所有训练样本的卷积特征图,其中图节点应该在不同的卷积层和不同图像之间保持稳定的空间关系。解释图应该最大化图节点与所有训练图像的特征图之间的兼容性。所有图节点应该适应所有训练图像的特征图。此外,不同对象部分之间的共激活和空间关系在不同图像中是稳定的,即使图像旋转或对象位于不同位置也是如此。通过这种方式,同一类别的不同图像中的主要内容变得更加容易向人类解释,与原始网络激活相比。

  1. 解耦对象部分的要求:为了发现全面的对象部分,我们需要分析一个类别中所有训练图像的部分。如果一个图像的部分满足三个条件,则应将其选为典型部分:1) 该部分可以激活ZSL深度分类网络中的神经元;2) 由该部分激活的神经元在不同卷积层中是一致的;3) 由该部分激活的神经元应在所有训练图像的不同卷积层上保持稳定的空间关系。

上述目标可以通过构建图G来实现。在图G中,一个图节点代表一个对象部分(如头部、喙、腿部等),即代表“头部”的图节点对应于一个类别中所有训练图像的头部部分。图边缘代表不同部分之间的共激活关系,例如,应该在部分“头部”和部分“喙”之间存在一条边缘,因为喙属于头部。

  1. 解释图构建:给定输入图像I的第L层卷积特征图,图节点的数量N是手动定义的,并且等于对象部分的数量。图节点和图边缘可以通过卷积特征图的激活响应来推断。为了模拟不同卷积层之间的共激活和空间关系,需要逐层构建图G。

给定第L层卷积特征图的特征图,图节点的数量N定义为手动设置的值,并且等于对象部分的数量。图节点和图边缘可以通过卷积特征图的激活响应来推断。特征图X可以被视为“神经激活实体”的分布。每个激活单元x的神经响应可以被视为“激活实体”的数量。激活单元x对应于卷积特征图中的一个神经元。特征图中的每个神经激活单元x可以通过其空间位置和通道号d_x来识别。定义用于测量位置处的激活实体数量,其中fx是激活单元x的归一化激活值,β是一个常数。

构建解释图后,每个图节点将在特征图上有一个对应的位置,其坐标为x,并且可以通过在该位置周围切割图像块来获得该位置对应的图像部分。位置x处的相应激活值可以反映相应图像部分的活跃程度。具有高值的图像部分被认为是高度活跃的部分。

图节点集V期望有两个约束:一个是图节点V应很好地适应特征图;另一个是图节点V应与上层的图节点保持稳定和结构化的空间关系。假设图G的参数为,那么学习图G的目标函数为:

其中I ∈ I表示所有训练图像将参与解释图的构建过程。为了简化符号,我们在以下段落中忽略了上标I和下标L。目标函数可以使学习到的图适应特征图X,并与上层的图节点R保持关系。

优化目标函数首先需要计算。特征图X可以被视为神经激活实体的分布。所有图节点V构成了一个混合模型,如高斯混合模型。混合模型可以解释X的激活实体分布:

其中px表示特征图X中一个神经激活单元x的空间位置,是一个常数先验概率。位置px处的激活实体数量由测量,其中fx表示单元x的归一化响应,β是一个常数。

计算(2)中的首先需要计算。术语表示图节点V与位置px处的激活实体之间的兼容性,可以近似为:

其中图节点V被视为一个隐藏变量,以适应特征图中的激活实体,表示上层的图节点,表示的推断位置,λ是一个归一化常数,α是一个常数,以确保。通过这种操作,推断出的图节点将在不同卷积层之间保持稳定的共激活关系,这可以满足发现典型对象部分的一个条件:“由该部分激活的神经元在不同卷积层中是一致的”。

术语在(3)中表示图节点V与位置px处的激活实体之间的兼容性。我们可以看到,术语被分解为V和之间的兼容性,即。由于V和之间的相对位移在不同图像中变化很小,V和之间的位移可以通过位置位移近似。

要计算,我们假设V和之间的空间关系遵循高斯分布,那么:

其中表示在给定图节点的情况下图节点V的先验位置,表示变化。基于(1)、(2)、(3)、(4)中的近似方法,图G是通过期望最大化(EM)算法从高层到低层学习的。详细过程如图4所示。

0bf568f5bf70ce2c776d33440ee29120.png

解耦激活峰值对应于对象部分以构建图的过程如图5所示。我们可以看到,通过构建图,一个对象图像可以被解耦为典型的对象部分,这些部分可以覆盖全面的对象属性。

ff8127f9163b19a1962c0142db5c5080.png

B. 部分网络分支

我们采取以下步骤为一个图像构建一个完整的集合:

步骤1:形成图节点组:为了选择尽可能多的重要对象部分,我们需要估计对象部分的部件标签,并基于估计的部件标签选择对象部分。由于每个图节点在解释图中对应一个部件标签,并且每个图节点被推断为描述一个激活实体,其激活响应为F,那么具有相似激活响应的一组图节点对应相似的部件标签。对象部分对应于图节点的可以按F值排序。“相似部件标签”表示属于同一语义对象部分的部件标签,以“鸟喙”部分为例,无论是喙的尖端区域还是中间区域都属于“喙”的部件标签,那么我们就说,代表尖端区域的对象部分和代表中间区域的部分属于相似的部件标签。在形成图节点组和图节点组与部件标签之间的关系后,可以通过参考对象部分属于哪个图节点组来自动推断对象部分的标签。

图节点组是通过k均值聚类形成的。如图6所示,“top a-top (b)”表示合并(b-a+1)个对象部分,这种合并过程可以使对象部分包含重复的模式。合并过程如图7所示,我们可以看到,合并具有较高a值的图节点形成更广泛的视觉感受野,因为具有较高a值的图节点对应于更分散的对象部分。

436a6fb365a3f23554fc07b82f5e7711.pngfa742be1b41182d4bf4d30520129e09c.png

步骤2:选择图节点:由于每个部件标签属于一个图节点组,我们随机选择一个来自相应图节点组的部分图像,以形成部分图像集。通过这种方式,我们可以获取涵盖所有部件标签的部分图像。在聚合图节点时,顺序是根据图节点的激活值从大到小定义的。当对图节点的激活值从大到小进行排序时,一些对象部分样本在激活排序后的实验结果中呈现,我们可以看到,AWA2数据集的对象部分顺序是:“眼睛、额头、嘴巴、耳朵、头部、腿部、胃部、鼻子”。对于SUN数据集,由于该数据集没有提供注释属性,SUN数据集的对象部分顺序是抽象的,但这不会影响图节点的分组和从图节点组中选择对象部分。

步骤3:连接选定的部分图像。我们将部分图像集中的所有选定部分图像按顺序连接起来,形成一个完整的图像。构建的完整部分集如图8所示。我们可以看到,完整的部分集主要包括多尺度对象部分,并且大部分背景噪声已经被限制。e720e5d138c1de3dd8f81c489626f8f8.png

对象部分可以根据图节点的激活响应值和先验信息进行排列,并非必须使用先验信息。如果数据集具有像CUB这样的规则属性,我们可以根据预定义属性的顺序排列图像部分;如果数据集没有规则属性,我们可以根据相应图节点的激活响应值的顺序排列图像部分。

C. 主网络分支

由于在部分网络中,将图像    输入到部分网络中,图像    将被重新排列为部分标签的顺序,一些有益的对象模式可能会被破坏,例如,在连接过程中,如果我们把“颈部”放在“头部”的右侧,颈部和头部的连接模式将被破坏。为了提取良性视觉模式的特征,我们需要设计一个主网络,它可以提取良性对象特征。为了提取良性对象特征,我们需要定位完整的对象区域以保留全局结构。

在本文中,我们通过合并多个对象部分来获得对象的全局结构。在构建的图中,每个图节点对应于不同图像中的相同语义模式。语义模式在卷积特征图上的位置在图构建过程中被记录。合并多个较小对象部分的位置可以形成一个更大的对象部分。给定卷积特征图上的位置,可以通过逆卷积操作获得原始图像上的相应位置。假设在输入图像平面上获得的位置坐标为   ,期望的语义模式大小为   ,原始图像大小为   ,则对应的语义模式大小计算如下:

给定位置    和裁剪大小   ,语义模式    被裁剪为   。多个语义模式可以合并形成一个更大尺度的语义模式。为了合并多个图节点的图像部分,我们首先按激活值降序排序图节点,然后合并前    个图节点,通过获得覆盖所有    个图节点的边界坐标值,然后根据边界坐标值裁剪图像部分,形成合并图像作为主网络的输入。在我们的实验中,我们发现    可以获得满意的性能。如果    超过一个阈值,裁剪范围将受到图像边缘的限制。因此,改变    对最终性能的影响很小。

如果一个语义模式是由    个较小尺度的语义模式合并而成,我们定义合并后的语义模式的尺度为   。部分合并的效果如图9所示。我们可以看到,合并前50个激活的图节点可以定位整个和准确的对象区域。图9展示了合并多个对象模式以形成更大对象模式的效果。“Top 4”表示对象模式是由前4个激活的图节点合并而成。合并50个模式可以定位整个和准确的对象区域,无论背景多么复杂。356f7fa66c6cb35b5a97c5663f09cd43.pngafc77c4cc6bef29b4897d949fd71cee7.png

D. 模型蒸馏

蒸馏的目的是将通过解释图提取的全面部分信息蒸馏到主网络中,这可以结合局部和全局信息以提高泛化能力。在获得完整的部分集后,我们需要设计一个部分网络,将发现的部分集投影到属性空间,然后通过预定义的映射矩阵将属性空间投影到类标签。对于一个完整的部分集S,集合S中的所有部分图像首先按标签顺序连接形成一个统一的图像I。然后图像I被输入到骨干CNN(例如,Resnet-50)以获得全连接输出。图像I的全连接输出表示为。图像I的fc输出首先通过参数W映射到语义属性空间a,然后语义属性空间a通过归一化属性矩阵A映射到类概率输出,其中表示总类数,即:

对于蒸馏,我们需要产生一个类别上的软概率分布,即:

其中表示软化概率向量,其中一个值指示一个类别上的一个预测概率,T是温度参数,在分类任务中通常设置为1。T应该取一个较大的值以在知识蒸馏中产生软化的概率分布。

全局对象结构图像S可以从多个较小的对象部分合并而成。图像S被输入到主网络以获得fc输出。图像S的fc输出首先通过参数W_S映射到语义属性空间a_S,然后语义属性空间a_S通过归一化属性矩阵A映射到类概率输出,即:

对于蒸馏,我们有:

其中表示软化概率向量。对于主网络,我们采用软目标交叉熵作为:

其中N表示已见过类别的数量。主网络的目标函数为:

其中是主网络的分类损失,y是表示类别标签的独热向量,表示两个项之间的平衡因子。我们可以看到,(11)中的目标函数可以将部分网络中学到的细粒度细节蒸馏到主网络中。当我们输入不同尺度的部分图像到部分网络时,多尺度细粒度细节被蒸馏到主网络中。为了更好地将部分网络的泛化能力蒸馏到主网络,骨干网络参数在部分网络和主网络之间共享。骨干网络包括卷积参数和全连接参数,共享卷积参数对于蒸馏很重要,而共享全连接参数是可选的。参数共享可以减少网络参数的数量并提高蒸馏网络的训练效率。

E. 零样本识别

在训练了所提出的分类网络之后,给定一个测试图像   ,测试输入包括合并和聚合的图像,这与训练输入相同。我们首先获得主网络和部分网络的fc输出    和   ,然后将fc输出映射到语义属性空间,由参数    映射,然后语义属性空间映射到类概率输出    和   ,即:

其中    是类别    的语义向量。然后我们融合主网络和部分网络的预测以获得测试图像    的类别标签。ZSL分类器公式化为:

GZSL分类器公式化为:

其中    和    分别代表主网络和部分网络的类概率输出。

我们将讨论对象部分重叠区域的预测。直观地说,如果对象部分和属性向量有排他性的对应关系,即每个属性元素对应单一的对象部分,并且不同的对象部分对应不同的属性元素,那么对象部分的重叠区域将产生多个预测。例如,部分“喙”和部分“头部”都包含“喙”特征,如果部分“喙”和部分“头部”被映射到不同的属性,那么重叠的“喙”区域将产生多个预测。然而,由于部分网络在语义属性向量之前的最后一层是全连接层,对象部分和属性之间没有排他性对应关系,这意味着单一属性可以被多个对象部分中的图像特征激活。即使在不同的对象部分中存在重叠区域,这些重叠区域仍然可以激活相同的属性元素。因此,重叠区域不一定会导致多个预测。

F. 解释图和蒸馏的必要性分析

在部分网络中,当输入图像    到部分网络时,图像    将通过解释图被解耦为不同的对象部分,每个对象部分对应一个图节点。对象部分将被有序地排列和聚合,通过这种方式,将包括足够的对象部分以覆盖属性区域,并且即使图像    旋转或翻转,聚合的部分图像    也将保持稳定的特征分布。由于部分图像    覆盖了属性预测所需的所有对象部分,语义属性向量中的每个属性值都将拥有其相应的对象部分。然后部分网络中的虚拟连接将减少。

在蒸馏过程中,部分网络首先将聚合的部分图像    投影到软目标空间,软目标被蒸馏到软目标交叉熵损失中,然后软目标交叉熵损失与softmax交叉熵损失结合,通过反向传播优化主网络。在主网络的反向传播过程中,由于由聚合部分图像    激活的软目标标签具有相应的属性区域,部分网络中的虚拟连接已经减少,这种积极效应将通过软目标交叉熵损失的反向传播传播到主网络,然后主网络将尝试激活所有属性区域对应的所有属性,主网络中的虚拟连接也将减少。即使模型的大部分改进来自特征蒸馏组件,特征蒸馏也将图节点聚合的积极效应传播到整个网络,包括部分网络和主网络。然后解释图构建的有效性也很重要。

从上述描述中,我们可以看到图节点聚合可以减少部分网络中从对象部分到属性的虚拟连接,并且减少效应可以传播到主网络以减少从属性到对象部分的虚拟连接。通过这种方式,更全面的属性区域,包括全局和聚合部分图像,将被激活。

4. 实验

在本节中,我们展示了实验结果,并将我们提出的方法与最先进的结果进行了比较。

A. 数据集

我们测试了我们的方法在零样本学习广泛使用的基准测试上:带有属性的动物(AWA2)[39]、加州理工-圣地亚哥鸟类-200-2011(CUB)[40]、牛津花卉(FLO)[41]和SUN属性(SUN)[42]。AWA2 数据集包含 50 个类别和 37,322 张图像,每个类别都带有 85 个属性。CUB 包含 200 个鸟类类别和 11,788 张图像。FLO 包含 102 个细粒度花卉类别和 8,189 张图像。SUN 包含 717 个不同的场景和 14,340 张图像,每个类别都带有 102 个属性。采用 [43] 中提出的分割(PS)将所有类别分为已见过和未见过的类别。采用 [43] 中的评估策略。在传统的 ZSL 设置下,Top-1 准确率在未见过的类别上进行评估。在 GZSL 设置下,分别评估已见过和未见过类别上的 Top-1 准确率。我们将在已见过类别上测试的 Top-1 准确率记为 S,未见过类别上的 Top-1 准确率记为 U。GZSL 的性能通过谐波均值评估: 。

B. 实现细节

提出的框架使用 Pytorch 优化,模型在 4 个 GeForce RTX3080 Ti GPU 上训练。用于构建解释图的 CNN 模型是预训练在 Imagenet [44] 上的 AlexNet。我们选择第九、第十、第十二和第十三卷积层来构建一个四层图。由于图节点是隐藏变量,用于拟合卷积特征图,不同卷积层的特征图将产生不同的效果。通过经验,我们发现在深度网络中,较浅的卷积层倾向于反映更详细的信息(例如颜色、纹理等),而较深的卷积层倾向于反映更高层次的语义信息(例如对象部分)。由于图节点旨在发现全面的对象部分,图节点更容易拟合更深层次的卷积特征图,这使得构建过程更容易收敛。此外,如果我们从更深层次的卷积层开始构建图,更容易在不同卷积层之间构建稳定的空间关系,而较浅的卷积层包含更多无组织的信息。

在我们的实验中,我们从第    层的    个滤波器中提取    个节点,我们将第一和第二卷积层的所有通道的    设置为 40,并将第三和第四卷积层(从深到浅)的所有通道的    设置为 20。多个图节点可以组合成更大尺度的语义模式。我们采用 Resnet50 [45] 作为部分网络和主网络的骨干网络。采用的优化方法是随机梯度下降(SGD)。动量设置为 0.9,权重衰减设置为 0.0005。我们初始化学习率为 0.001,当错误平稳时乘以 0.1。我们使用网格搜索选择超参数。我们将    设置为 0.01。

与注意力机制不同,解释图中发现的对象部分的数量是手动设置的,而注意力机制中发现的对象部分的数量是由激活图的激活分布决定的。这意味着,我们可以使得解释图发现具有低激活值的一个对象部分,而在注意力机制中,低激活的对象部分容易被忽略。根据这一分析,我们可以看到,用于创建等效图的骨干模型对于部分发现结果并不是非常重要的。我们选择 Alexnet 模型是因为它具有简单的网络架构,使得构建解释图的过程在计算上更高效。

如果使用自监督训练的骨干,由于自监督训练的骨干在训练过程中没有看到标签信息,自监督训练的骨干的激活图将反映比监督模型更少的区分信息。然而,自监督训练的骨干仍然能够提取视觉特征并在重要的语义图像区域产生激活。即使自监督训练的骨干提取的视觉特征比监督模型的区分性更小,解释图仍然可以发现全面的对象部分,因为解释图能够充分考虑所有激活区域,而不管自监督模型中的区分信息较少。

C. 图节点组激活响应的效应

我们定量比较了不同激活响应值对应的不同对象部分的性能。结果如表II所示。为了更清楚地比较对象部分的影响,我们仅考虑部分网络。从结果中,我们可以看到,  可以获得最佳性能。如果    太大,视觉感受野将变得过于广泛,详细的部分信息将受到限制;如果    太小,视觉感受野将变得太小,无法反映完整的语义部分标签,例如,仅尖端部分的“喙”部分不足以反映“喙”的主要语义信息。b959fd1d5ce6cee32f36cb2aad2ed1a5.png

D. 解释图的定位性能

为了定量评估合并对象部分的解释图的定位性能,我们将解释图与 YOLOv1 [46] 的定位性能进行了比较,结果如表III所示。YoLov1 和 Faster-RCNN 方法的实验是监督的,这意味着我们已经在当前 GZSL 数据集上使用真实对象框注释对这两种方法进行了微调。使用归一化距离 [47]、[48] 来评估定位性能。较小的归一化距离意味着更高的定位精度。从结果中,我们可以看到,我们的方法优于所有基线,包括使用实际部分注释定位部分位置的监督方法。这表明合并解释图节点是定位图像对象部分的好方法。

22f5d2fa1b773300c881562390b651bb.png

E. 与基于注意力的方法比较

我们在表IV中比较了解释图和基于注意力的部分方法的实验结果。在这个比较中,我们不考虑蒸馏,也就是说,我们只训练部分网络来实现 ZSL 识别精度。“EGSingleResNet101”意味着在每次训练迭代中我们随机选择一个单一的对象部分,而不是聚合所有对象部分来形成一个统一的图像。“EG-RandomResNet101”意味着我们采用 ResNet101 作为骨干网络,对象部分是随机排序的。“EG-HighResNet101”意味着对象部分是按从高到低的顺序排列的,“EG-LowResNet101”意味着对象部分是按从低到高的顺序排列的。AWA2 数据集上 AREN [15] 的 GZSL 精度在表IV中是没有校准堆叠(CS)的。[15] 中报告的带有 CS 的 AWA2 数据集的 GZSL 谐波均值是 64.7%。由于在我们的方法中,我们没有采取 CS,那么我们将我们的结果与没有 CS 策略的结果进行比较。

87008744901d6c3ad5f3ffb475797de3.png

我们提出基于图的部分发现方法在不同实验设置下,包括已见过类别和未见过类别,都实现了比基于注意力的部分方法更高的精度。这表明基于图的方法可以发现比基于注意力的对象部分更全面和细粒度的对象部分。我们的方法优于 DAZLE [50]。原因是,DAZLE 通过等大小的网格单元获得对象部分,这比我们的方法粗糙得多。由于背景区域也参与了图像区域权重计算,许多属性可能被映射到背景区域。不同的图像区域和属性是独立映射的,不同图像区域之间的关系被削弱了。图2比较了基于图的方法和基于注意力的方法发现的一些对象部分,这进一步表明基于注意力的对象部分比基于图的对象部分粗糙得多。

在用于本方法的数据集中,尽管许多图像中的对象位于中心并覆盖了整个图像,但仍有许多图像中对象很小,背景复杂。如果我们不通过解释图发现对象部分,复杂的背景很容易使注意力机制关注不准确的对象区域[50],如图10所示。但在我们的方法中,解释图将发现在不同卷积层和不同图像之间保持稳定空间关系的的对象部分,通过这种方式,背景干扰将在很大程度上被减少。

0e1c9306591fa5c1685c50d79eb29972.png

我们还测试了对象部分排列顺序的影响,如表IV所示。我们可以看到,按激活顺序排列对象部分比随机排列对象部分可以获得更高的识别精度。原因是,随机排列对象部分可能会引入许多混乱的视觉模式,这可能会干扰训练过程中的收敛,并导致训练和测试样本之间的视觉差异。只有当对象部分有序排列时,“头部”或“脚部”的顺序对最终识别性能影响很小。

F. 语义尺度的效应

在本节中,我们测试了主网络中语义尺度的影响。主网络旨在提取全局结构信息。由于输入全局图像是由多个小尺度的部分图像合并而成的,合并了更多尺度的全局图像将包含更全面的结构信息。同时,更多的尺度将引入更多的背景噪声。不同对抗性尺度的影响如表V所示。我们可以看到,较大的语义尺度可以获得更高的识别精度。当语义尺度    时,识别精度趋于饱和,这表明 50 个对象部分可以覆盖几乎所有重要的视觉模式。一些合并的对象部分如图9所示。我们可以看到,合并更多的对象部分可以形成更大的对象部分,当合并的对象部分数量大于一个阈值时,合并的对象部分可以反映全局对象结构。8eaf5786f72e1f319d02d701a7dde544.png

G. 图节点的效应

我们定义每层的图节点数为   ,层数为   ,然后总数是   。每层的图节点数    的影响如图11(a)所示。我们可以看到,较大的    值可以获得更高的精度,因为更多的图节点可以模拟更多的对象部分和更全面的细节。当    时,精度提升速度变慢,这表明 30 个图节点足以模拟大多数必要的语义对象部分以描述整个对象。层数    的影响如图11(b)所示。AlexNet 被选为骨干网络。我们可以看到,更多的层有助于获得更高的精度。但是更多的层需要更高的计算成本。为了平衡精度和效率,我们可以选择 4 层来构建图。图6展示了对应于 Top-k 激活图节点的一些对象部分。我们可以看到,更高激活的图节点可以模拟更细粒度的特征。b3deed56415c83b653c72e0147be4c10.png

发现更多的图节点意味着将发现更多的对象部分。例如,如果我们将图节点数设置为 4,发现的对象部分可能只包括“头部”、“躯干”、“尾部”和“腿部”;而如果我们将图节点数设置为 40,除了上述四个对象部分外,还会发现更多的对象部分,如“喙”、“颈部”、“脚趾”等。更全面的对象部分将使所提出的网络提取更细粒度的图像特征,并有助于提高 ZSL 性能。然而,由于图像的语义信息是有限的,当发现的对象部分数量超过一个阈值(该阈值可能在不同的实验设置中会变化)时,更多的对象部分不会增加更多的语义信息,那么性能将不再进一步提高。在 AWA2、FLO 和 SUN 数据集上的对象部分发现结果如图12所示,每组 5 个对象部分对应一个图节点。我们可以看到,每个图节点可以跨不同图像定位相似的对象部分。96654b4226b7b34e422c290957018b6c.png

H. 计算复杂性分析

在本节中,我们比较了有无部分网络的内存、FLOPs、训练时间和推理时间,如表VI所示。同样,在本节中,我们将部分网络与 APN 方法 [51] 和 MSDN 方法 [52] 中的 Zoom In 模块进行了比较。从结果中,我们可以看到部分网络确实带来了额外的计算负担,但计算负担与 APN 方法中的 Zoom In 模块相当,后者只裁剪一个图像。原因是,尽管对象部分的发现和聚合过程带来了额外的计算成本,但这个过程在训练之前就已经完成,当聚合的图像输入到部分网络时,计算复杂性与只裁剪一个图像相似,这意味着裁剪和聚合过程不会在训练期间带来额外的计算负担。3dcc9e0e51eb0dd8371024e9ad21fec4.png

由于图节点被视为要推断的隐藏变量,收敛速度也受到卷积特征图的激活分布的影响。一个层带来的额外计算成本不是固定的。以 CUB 数据集为例,不同卷积层的计算成本是,从浅到深层,第一层需要大约 12644.037775 秒,第二层需要大约 13247.830206 秒,第三层需要大约 4962.824342 秒,第四层需要大约 2556.754595 秒。

I. 关于虚拟连接的讨论

如果有些属性没有相应的视觉特征,这些视觉特征与属性之间的映射关系被定义为虚拟连接。为了评估虚拟连接问题在多大程度上得到了解决,我们设计了两个用户研究,类似于 [51],对于每个属性,我们可以得到类激活图,如果类激活图中的激活区域覆盖了属性的语义信息,我们可以说这种映射关系不是虚拟连接,否则,映射关系将被视为虚拟连接。用户研究结果如表VII所示。从结果中,我们可以看到,我们提出的方法可以在很大程度上减少虚拟连接的百分比,并且与属性相关的定位区域更准确、更一致,因为通过解释图发现的对象部分更准确、更稳健,能够抵抗对象旋转、翻转或其他姿态变化。

79c1cc73060d02d388272f59ff2800cc.pngc20f7fe87125f2236c853c3c7f1a20e8.png

一些可视化结果如图13所示,我们可以看到,我们提出的方法可以使注意力集中在与不同属性相对应的更准确区域,然后减少属性与视觉特征之间的虚拟连接。

J. 知识蒸馏的效应

在本文提出的方法中,知识蒸馏可以充分利用多尺度对象部分中的细粒度详细信息。表VIII展示了不同输入分辨率下知识蒸馏的有效性。我们可以看到知识蒸馏可以带来显著的性能提升。对于部分网络,更高的分辨率可以提高精度,因为更高的分辨率可以使部分网络从更细粒度的对象部分中学习到更多的详细信息。对于主网络,224输入分辨率下的性能趋于饱和,因为主网络旨在提取对象的全局结构信息,更高的分辨率对全局结构信息的提升作用较小。f0c85cca805957b57ede5d6621e4ed30.png

温度参数 T 通常在分类任务中设置为 1。而在知识蒸馏中,较大的 T 值很重要,因为它可以产生类别上的软概率分布,本文中设置为 T = 5。参数 T 对零样本识别性能的影响如图14所示。我们可以得出结论,较大的 T 值会使类别概率分布变得更软,T = 5 可以获得最佳性能,因为当类别概率分布变得过于软时,类别分布的区分能力将受到抑制。e909163d580b3730997c28e7ad0bad8d.png

K. GZSL设置中的比较

我们在表IX中将我们提出的方法与最先进的结果进行了比较。RFF-GZSL [53]、IZF [54]、TF-VAEGAN [55]、CE-GZSL [25] 包括微调。我们可以看到,我们的方法在广义零样本学习任务中优于其他方法。我们可以看到,许多方法在已见过类别上的精度远高于未见过类别。这种现象表明,在已见过类别上训练的分类网络很容易关注与未见过类别不一致的已见过类别特征,这被称为 GZSL 中的偏差问题。例如,已见过和未见过类别的背景通常不同,如果分类网络在训练过程中记住了太多的背景信息,那么在输入未见过类别的图像时,网络将更多地关注背景信息。在本文提出的方法中,部分聚合方法使分类网络关注有用的对象部分信息,这是已见过和未见过类别之间共同的,因为已见过和未见过类别之间的语义属性空间是共同的。d71875acb2a965d1655d475fecda4dc2.png

与发现对象部分和视觉基础属性的相关工作相比,例如 APN [51] 和 MSDN [52],本文方法与相关工作的主要区别在于,我们的方法通过结构图发现对象部分,而相关工作通过注意力机制发现对象部分。与解释图相比,注意力机制的矩阵优化主要有以下两个局限性:

  1. 矩阵优化旨在最小化损失值,而没有充分利用不同对象部分之间的语义关系。当损失函数达到最小值时,训练过程将停止,即使仍然存在与真实属性区域偏差的注意力权重,或者仍然有许多有用的对象部分被赋予低注意力权重。每个对象部分是独立发现的,而没有考虑与对象部分的空间关系。例如,在 CUB 数据集中,许多图像包含背景中的“天空”,那么许多“天空”区域很容易被赋予高注意力权重,只要这些图像区域有助于最小化损失函数。然而,在解释图中,一个发现的对象部分应该在不同图像中与其他对象部分保持稳定的空间关系,例如,“喙”部分应该在不同图像中与“头部”部分保持稳定的空间关系。即使一个图像区域具有高激活,如果它不能与其他对象部分建立稳定的关系,它也不会被发现为有用的对象部分,通过这种方式,背景中的嘈杂图像区域将不会被发现。

  2. 在注意力机制中,一个可学习的矩阵很难发现足够细粒度的对象部分。在 [51] 中,注意力图是由相似性图表示的,其中每个元素是通过属性原型和每个局部特征之间的点积计算的,属性是通过在相似性图中取最大值来预测的。发现的对象部分不够细粒度。在解释图中,对象部分是在不同卷积层中发现的,每个激活响应都可以参与图构建过程,这可以发现比注意力机制更充分和细粒度的对象部分。通过比较,我们可以看到,解释图可以发现更全面、更细粒度、更少噪声的对象部分。

L. 传统 ZSL设置中的比较

我们在表X中将我们提出的方法与最先进的结果进行了比较。前六种方法是早期的传统 ZSL 方法,随后的方法是最近提出的方法。对于其他方法在实验结果中的报告性能,有些方法是在预训练的深度模型基础上进行微调的,有些则没有。微调的方法包括 APN、Feature Translator [58]、CADA-VAE [61]、f-VAEGAN-D2、LisGAN。没有微调的方法包括 MSDN、DAZLE、TCN、条件视觉分类 [57]、合成示例 [11]、Feature Generating Networks [12]、cycle-CLSWGAN。为了公平比较,对于没有微调的方法,我们报告了它们的微调性能。500842eadb918e3a07c813cabec83076.png

我们可以看到,最近提出的基于 GAN 的方法(f-CLSWGAN [59]、f-VAEGAN-D2 [63]、TF-VAEGAN [55])通常比早期的传统 ZSL 方法表现得更好。这些方法通过将未见类别的语义属性注入预训练的生成器来生成未见类别的特征。由于生成器是通过对已见过类别的视觉特征和语义属性进行编码器和生成器的训练来预先训练的,因此生成的特征仍然很容易产生与真实特征之间的大语义差距。也就是说,生成的特征仍然很容易产生虚拟连接问题。我们提出的方法实现了最高的精度,这证明了对象部分聚合方法的高迁移性。由于部分聚合方法可以覆盖几乎所有与语义属性相对应的视觉特征,并且对象部分是按固定顺序排列的,因此与直接输入全局图像相比,部分聚合更容易将训练在已见过类别上的分类网络迁移到未见过类别上。

V. 结论

在本文中,我们将零样本学习中视觉特征与语义属性之间不一致的映射关系定义为虚拟连接,并发现减少虚拟连接是提高传统 ZSL 和广义零样本学习性能的有效方法。为了减少虚拟连接,我们首先构建解释图来发现全面和细粒度的对象部分,然后将对象部分聚合以生成统一图像。由于聚合的对象部分覆盖了数据集中提到的所有属性类型,因此可以在很大程度上减少虚拟连接。最后,我们设计了一个特征蒸馏器,将对象部分信息蒸馏到一个主网络中,该网络提取全局结构信息。通过这种方式,同时考虑了局部细粒度和全局特征。实验结果表明,我们提出的方法在传统 ZSL 和 GZSL 任务中明显优于现有技术。

声明

本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值