Learning Attentive Pairwise Interaction for Fine-Grained Classification论文解读
论文链接:https://arxiv.org/abs/2002.10191
分享的这篇文章来自于AAAI2020,文章的整个思路并不难理解。文章的idea来自于我们人类对相似图像的识别。一般来说,我们识别相似的图像,一方面是去找到图像中特殊的区域来进行识别,另一方面是通过比较图像对来有效地得到对比线索。这篇论文就是从后者获得的灵感。
文章提出了Attentive Pairwise Interaction Network (API-Net),该网络可以通过交互逐步识别一对细粒度的图像。
思维导图
Model
整个的网络如上图所示,简单说一下流程如下:
- 在训练阶段,输入一对图像对到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
- 我们将 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
- 然后再gate vector 的指导下进行成对的交互,交互后的向量放入softmax classifier中得到损失函数。
上图中的黄色部分是网络的核心部分, Attentive Pairwise Interaction(API),它是一个即插即用的模块,只在训练的过程中存在,在测试的时候,单图像进行测试,图像通过backbone提取特征向量之后,直接放入softmax classifier中,得到得分向量用于标签预测。
Attentive Pairwise Interaction(API)
这是网路的核心部分,但是并没有很复杂,它主要由三部分组成。
- Mutual Vector Learning.
- Gate Vector Generation.
- 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论文解读相关推荐
- 【论文笔记】API-Net:Learning Attentive Pairwise Interaction for Fine-Grained Classification
API-Net 简介 创新点 mutual vector learning(互向量学习) gate vector generation(门向量生成器) pairwise interaction(成对交 ...
- Convolutional Neural Networks for Sentence Classification论文解读
本文将CNN和NLP结合: 介绍了一系列的对比实验,实验结果说明了: 一个简单的(单层神经网络)的CNN模型 一点超参数的调节(Filter的个数) static word vector 另外,对cn ...
- RGCF:Learning to Denoise Unreliable Interactions forGraph Collaborative Filtering论文解读
这篇和之前的一篇工作简称是一样的,但是内容完全不同,本文是Robust Graph Collaborative Filtering (RGCF),注意甄别 一.前言 最近,图神经网络(GNN)作为一种 ...
- Vocabulary Learning via Optimal Transport for Neural Machine Translation论文解读
abstract token vocabulary的选择对机器翻译结果的影响比较大 本文研究什么样才是好的词表,并且能不能不通过训练直接找到最优的词表 首先提供一种从信息理论的角度来分析词表的作用 通 ...
- 【Machine Learning实验2】 Logistic Regression求解classification问题
classification问题和regression问题类似,区别在于y值是一个离散值,例如binary classification,y值只取0或1. 方法来自Andrew Ng的Machine ...
- [论文翻译] Class-incremental learning: survey and performance evaluation on image classification
论文地址:https://arxiv.org/abs/2010.15277 代码:https://github.com/mmasana/FACIL 发表于:arXiv Oct 2020 省略了图.表的 ...
- 【论文阅读】Learning Semantically Enhanced Feature for Fine-Grained Image Classification
[论文阅读] Learning Semantically Enhanced Feature for Fine-Grained Image Classification 摘要 具体实现 语义分组模块 特 ...
- 【文本分类】ACT: an Attentive Convolutional Transformer for Efficient Text Classification
·阅读摘要: 本文在Transformer模型的基础上,提出改进方案,把Transformer里面的自注意力机制,改成CNN. ·参考文献: [1] ACT: an Attentive Con ...
- Fine-grained Classification 论文调研
目录 细粒度分类综述 论文一 Learning to Navigate for Fine-grained Classification (ECCV2018 from PKU) 1. Abstract ...
最新文章
- 面经(一)——5G和物联网的关系
- opencv进阶学习笔记5:图像模糊操作,图像锐化,边缘保留滤波EPF(图像滤镜)
- AD域机器如何指定时钟服务器,active-directory – 如何让我的域控制器与正确的外部时间源同步?...
- AD提高动态的方法(附SNR计算)
- 4.4 一个完整的Google Maps应用
- VS2010开发应用程序读写注册表
- 环境安装_Python教程 Python环境安装
- php实现新闻管理系统,PHP基础示范:用PHP+Mysql编写简易新闻管理系统_mysql
- C语言编程>第十六周 ① 给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
- php 改变图片大小,如何把照片尺寸改小 电子照片尺寸怎么改
- MSG360虚拟服务器,H3C MSG360-10:简单设置+多场景结合应用
- 人工智能数学基础8:两个重要极限及夹逼定理
- thinkphp6事件监听event-listene
- 四叶草剧场服务器维修价格,四叶草剧场服务器介绍 服务器选择攻略
- flutter小控件备忘
- c语言实现图书借阅系统
- Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本
- Excalidraw:开源趣味画图工具(在线和本地均可)
- python数据分析实战之超市零售分析
- UltraEdit\UEStudio 的 SSHTelnet 功能教程