Learning Attentive Pairwise Interaction for Fine-Grained Classification论文解读

论文链接:https://arxiv.org/abs/2002.10191

分享的这篇文章来自于AAAI2020,文章的整个思路并不难理解。文章的idea来自于我们人类对相似图像的识别。一般来说,我们识别相似的图像,一方面是去找到图像中特殊的区域来进行识别,另一方面是通过比较图像对来有效地得到对比线索。这篇论文就是从后者获得的灵感。
文章提出了Attentive Pairwise Interaction Network (API-Net),该网络可以通过交互逐步识别一对细粒度的图像。

思维导图
在这里插入图片描述

Model

在这里插入图片描述
整个的网络如上图所示,简单说一下流程如下:

  1. 在训练阶段,输入一对图像对到backbone中,分别提取特征,得到对应的特征向量 x 1 , x 2 x_1,x_2 x1,x2,然后我们得到一个 mutual vector x m ∈ R D x_m\in \Bbb{R}^{D} xmRD
  2. 我们将 x m x_m xm x i x_i xi按通道进行点乘,即用 x m x_m xm查找哪个通道可能包含对比线索,然后再通过sigmoid函数,得到gate vector g i ∈ R D g_i\in \Bbb{R}^{D} giRD
  3. 然后再gate vector 的指导下进行成对的交互,交互后的向量放入softmax classifier中得到损失函数。

上图中的黄色部分是网络的核心部分, Attentive Pairwise Interaction(API),它是一个即插即用的模块,只在训练的过程中存在,在测试的时候,单图像进行测试,图像通过backbone提取特征向量之后,直接放入softmax classifier中,得到得分向量用于标签预测。

Attentive Pairwise Interaction(API)

这是网路的核心部分,但是并没有很复杂,它主要由三部分组成。

  1. Mutual Vector Learning.
  2. Gate Vector Generation.
  3. Pairwise Interaction

下面详细的介绍一下这三个部分,以更好的来理解文章(个人拙见,有不完备的地方还请路过的大佬指教)。

Mutual Vector Learning. 这是一个很简单的部分,输入一对图像到backbone,提取对应的特征向量 x 1 , x 2 ∈ R D x_1,x_2\in \Bbb{R}^{D} x1,x2RD,然后我们通过下式得到一个mutual vector
在这里插入图片描述
其中 f m f_m fm是一个 x 1 , x 2 x_1,x_2 x1,x2的映射函数,一个简单的MLP在实验中就可以产生很好的效果。这个操作,我认为就是将 x 1 , x 2 x_1,x_2 x1,x2中的discriminative domain放入 x m x_m xm中。它的特征通道中通常包含一些 high-level contrastive clues。

Gate Vector Generation. 从其model的图像中,也可以很明显的看出它是怎么产生的,在上一部分,我已经得到了mutual vector x m x_m xm,然后将其与 x i , i ∈ { 1 , 2 } x_i,i\in \{1,2\} xi,i{1,2}按通道进行点乘,再将其添加到sigmoid中,产生gate vector g i ∈ R D g_i \in \Bbb{R}^{D} giRD
在这里插入图片描述
那么 g i g_i gi有什么深层次的含义呢?我觉得它是用每个 x i x_i xi的discriminative attention来强调语义上的不同。
Pairwise Interaction. 我们在肉眼识别细粒度图像的时候,不仅仅是要关注于每个图像中突出的部分,还要观察彼此的不同部分,基于此,论文通过residual attention引入了交互机制。
在这里插入图片描述
x i s e l f ∈ R D x^{self}_i\in \Bbb{R}^{D} xiselfRD表示的是通过自身的gate vector强调的, x i o t h e r ∈ R D x^{other}_i\in \Bbb{R}^{D} xiotherRD表示的是通过一对中其他的gate vector激活的。

Training

API模块最后输出了4个attentive features x i j x_i^{j} xij,然后我们将其输入到softmax分类器中,
在这里插入图片描述
p i j ∈ R C p_i^{j}\in \Bbb{R}^{C} pijRC是预测的得分向量,C是预测类别数。
Loss Function.
在这里插入图片描述
第一个 L c e \mathcal{L}_{ce} Lce是cross entropy loss,第二个 L r k \mathcal{L}_{rk} Lrk是score ranking regularization。

Cross Entropy Loss
在这里插入图片描述
这种损失能够使API-Net在标签 y i y_i yi的监督下逐步的识别出所有的attentive features x i j x_i^{j} xij

Score Ranking Regularization.
在这里插入图片描述
p i j ( c i ) p_i^{j}(c_i) pij(ci)是预测的向量 p i j p_i^{j} pij中获得的分数, c i c_i ci是于image i i i的ground truth label相关的对应索引。这个损失的目的是,让 x i s e l f x_i^{self} xiself仅仅通过它自己的gate vector激活。

论文的设计上的主要内容差不多就是这样,那么有一个问题就是,训练图像的pairs是怎么构建的?
Pair Construction.
在a batch中随机的采样 N c l N_{cl} Ncl个类别,对于每个类别,我们随机的采样 N i m N_{im} Nim个图像,然后将这些图像输入到backbone中去提取特征向量,根据Euclidean distance将其特征与batch中的其他特征进行比较,论文中说的是每张图片能够构建两对,它的特征和batch中最相似的特征,这样的话最后产生的就是 2 × N c l × N i m 2\times N_{cl}\times N_{im} 2×Ncl×Nim个pairs。这个地方不是很明白,两个特征是有顺序的么?有的话那应该的确是两对,如果不是有顺序的话,那这个2对是怎么产生的呢?我觉得在这个地方处理的时候,应该不是很简单。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Attentive Contrastive Learning Network(关注对比学习网络)是一种用于无监督学习的深度学习模型。它的主要目标是从大规模无标签数据中学习到有意义的特征表示,以便在后续任务中获得更好的性能。 该网络的核心概念是关注和对比学习。关注机制能够帮助网络在数据中发现关键的信息,提高对重要特征的注意力。对比学习则通过将数据样本与其他样本进行比较来学习特征表示。这种对比学习方式可以使网络区分不同的样本,从而为模型提供更多的信息。 Attentive Contrastive Learning Network首先通过卷积神经网络(CNN)或其他预训练模型提取原始图像或数据的特征表示。然后,网络利用关注机制,对这些特征进行加权和选择,以便聚焦在最具信息量的特征上。这样可以减少噪声和冗余,提高模型的鲁棒性和泛化能力。 接下来,网络使用对比损失函数来学习特征表示。对于每个样本,网络将其与其他样本进行对比,并计算它们之间的相似度或差异度量。通过最小化相似样本间的距离和最大化差异样本间的距离,网络可以学习到能够区分样本的特征表示。这种对比学习方式激励网络挖掘数据中的隐藏结构和语义信息。 总体而言,Attentive Contrastive Learning Network是一种强大的方法,可以在无监督学习中学习到数据的有效特征表示。通过关注机制和对比学习,网络能够提取并聚焦在数据中的重要特征上,从而提高后续任务的性能。这种方法在计算机视觉、自然语言处理等领域具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值