论文链接: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} xm​∈RD
  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} gi​∈RD
  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​,x2​∈RD,然后我们通过下式得到一个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} gi​∈RD,

那么 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} xiself​∈RD表示的是通过自身的gate vector强调的, x i o t h e r ∈ R D x^{other}_i\in \Bbb{R}^{D} xiother​∈RD表示的是通过一对中其他的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} pij​∈RC是预测的得分向量,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对是怎么产生的呢?我觉得在这个地方处理的时候,应该不是很简单。

Learning Attentive Pairwise Interaction for Fine-Grained Classification论文解读相关推荐

  1. 【论文笔记】API-Net:Learning Attentive Pairwise Interaction for Fine-Grained Classification

    API-Net 简介 创新点 mutual vector learning(互向量学习) gate vector generation(门向量生成器) pairwise interaction(成对交 ...

  2. Convolutional Neural Networks for Sentence Classification论文解读

    本文将CNN和NLP结合: 介绍了一系列的对比实验,实验结果说明了: 一个简单的(单层神经网络)的CNN模型 一点超参数的调节(Filter的个数) static word vector 另外,对cn ...

  3. RGCF:Learning to Denoise Unreliable Interactions forGraph Collaborative Filtering论文解读

    这篇和之前的一篇工作简称是一样的,但是内容完全不同,本文是Robust Graph Collaborative Filtering (RGCF),注意甄别 一.前言 最近,图神经网络(GNN)作为一种 ...

  4. Vocabulary Learning via Optimal Transport for Neural Machine Translation论文解读

    abstract token vocabulary的选择对机器翻译结果的影响比较大 本文研究什么样才是好的词表,并且能不能不通过训练直接找到最优的词表 首先提供一种从信息理论的角度来分析词表的作用 通 ...

  5. 【Machine Learning实验2】 Logistic Regression求解classification问题

    classification问题和regression问题类似,区别在于y值是一个离散值,例如binary classification,y值只取0或1. 方法来自Andrew Ng的Machine ...

  6. [论文翻译] Class-incremental learning: survey and performance evaluation on image classification

    论文地址:https://arxiv.org/abs/2010.15277 代码:https://github.com/mmasana/FACIL 发表于:arXiv Oct 2020 省略了图.表的 ...

  7. 【论文阅读】Learning Semantically Enhanced Feature for Fine-Grained Image Classification

    [论文阅读] Learning Semantically Enhanced Feature for Fine-Grained Image Classification 摘要 具体实现 语义分组模块 特 ...

  8. 【文本分类】ACT: an Attentive Convolutional Transformer for Efficient Text Classification

    ·阅读摘要:   本文在Transformer模型的基础上,提出改进方案,把Transformer里面的自注意力机制,改成CNN. ·参考文献:   [1] ACT: an Attentive Con ...

  9. Fine-grained Classification 论文调研

    目录 细粒度分类综述 论文一 Learning to Navigate for Fine-grained Classification (ECCV2018 from PKU) 1. Abstract ...

最新文章

  1. 面经(一)——5G和物联网的关系
  2. opencv进阶学习笔记5:图像模糊操作,图像锐化,边缘保留滤波EPF(图像滤镜)
  3. AD域机器如何指定时钟服务器,active-directory – 如何让我的域控制器与正确的外部时间源同步?...
  4. AD提高动态的方法(附SNR计算)
  5. 4.4 一个完整的Google Maps应用
  6. VS2010开发应用程序读写注册表
  7. 环境安装_Python教程 Python环境安装
  8. php实现新闻管理系统,PHP基础示范:用PHP+Mysql编写简易新闻管理系统_mysql
  9. C语言编程>第十六周 ① 给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
  10. php 改变图片大小,如何把照片尺寸改小 电子照片尺寸怎么改
  11. MSG360虚拟服务器,H3C MSG360-10:简单设置+多场景结合应用
  12. 人工智能数学基础8:两个重要极限及夹逼定理
  13. thinkphp6事件监听event-listene
  14. 四叶草剧场服务器维修价格,四叶草剧场服务器介绍 服务器选择攻略
  15. flutter小控件备忘
  16. c语言实现图书借阅系统
  17. Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本
  18. Excalidraw:开源趣味画图工具(在线和本地均可)
  19. python数据分析实战之超市零售分析
  20. UltraEdit\UEStudio 的 SSHTelnet 功能教程

热门文章

  1. 1.9.x->main.js
  2. 泵站水闸自动化系统调试方案
  3. 有用没用小技巧之 开发时快速记录内容输入顿号
  4. 用opencv把视频转为图像
  5. 环境与意志:《悲惨世界》第一部《芳汀》摘录
  6. 木瓜移动品牌焕新~2022聚能跨境周诚邀您参与
  7. 计算机专业术语祝福语,社会学院开展10级学生计算机一级辅导交流会
  8. 圆柱属于能滚动的物体吗_由感知到建构 ——从问题“圆柱体容易滚动还是容易推动”说起...
  9. linux基础学习6
  10. MySql:where 子查询