AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升
论文提出了类似于dropout作用的diversification block,通过抑制特征图的高响应区域来反向提高模型的特征提取能力,在损失函数方面,提出专注于top-k类别的gradient-boosting loss来优化训练过程,模型在ResNet-50上提升3.2%,算法思路巧妙,结构易移植且效果也不错,值得学习
论文:Fine-grained Recognition: Accounting for Subtle Differences between Similar Classes

Introduction
在FGVC(fine-grained visual categorization)上,一般的深度学习模型都是通过学习输入图片到输出标签的映射,这样会导致模型倾向于专注少部分显著区域来同时区分模糊的种群内(inter-class)相似性和种群间(intra-class)的变化

如图1所示,一般的深度学习模型的attention经常密集地集中在小部分区域,因此只会提出有限的特征。因此,论文建议分散attention来构建多样的分布在特征图上的特征。因为在特征层面进行attention分散,在预测时则需要反过来,例如只关注最相似的类别来提高模型的辨别能力。通过关注相似的类别以及分散模型的attention,论文实际是在让模型避免对训练集的overfiting,增加泛化能力。论文的主要贡献如下:
- 提出gradient-boosting loss,通过适当地调整梯度更新的幅度来解决高度相关类别的模糊部分
- 提出diversification block,掩盖显著的特征,从而迫使网络去寻找外观相似的类别的不易察觉的不同点
- 论文提出的方法能够加速模型的收敛以及提高识别的效果
Method

论文提出的方法能简单地接到所有分类网络中,结构如图2所示。使用论文的方法,需要将主干网络的所有global pooling layer和最后的fully conntected layer替换成1x1 convolution,ouput channel等于类别数,模型主要包含两个部分:
- diversification module,用于迫使网络去获取更多不易察觉的特征,而非专注于明显特征
- gradient boosting loss,使模型在训练时专注于容易混淆的类别
Diversification Block
考虑如图2中$C$个类别的多标签分类任务,$I$为训练图片,$l\in J, J={1,2,...,C}$是对应的GT,diversification block的输入是类别特定(category-specific)的特征图$M\in R^{C\times H\times W}$ ,由修改后的主干网络输出。标记$M={M_c : c\in [1,C]}$,其中$M_c\in \mathbb{R}^{H\times W}$是对应类别$c^{th}$的独立特征图。diversification block的核心思想是抑制$M$中的明显区域,从而迫使网络去提取其它区域的特征,主要面临两个问题:1) 抑制哪些特征? 2) 怎么抑制?
Mask Generation
下面解释如何产生用于指明抑制区域的mask,定义$B={B_c : c\in [1, C]}$,$B_c\in \mathbb{R}^{H\times W}$是二值抑制mask对应特征图$M_c$,1表示抑制,0表示不抑制
Peak suppression


首先对特征图的峰值进行随机抑制,因为这是对分类器最显著的部分,$P_c\in \mathbb{R}^{H\times W}$是$M_c$的峰值mask,'*'是element-wise的相乘,而$r_c$是服从伯努利分布的随机值,即有$p_{peak}$的概率为1
Patch suppression

将每个$M_c$分成多个固定大小的patch,定义l行m列的patch为$M_c^{[l,m]}\in \mathbb{R}^{G\times G}$,$G_c$为patch的集合

$B_c^{''}\in \mathbb{R}^{H\times W}$对应$M_c$的抑制mask,跟峰值的mask一样,使用伯努利分布对块进行赋值,随机值为1的块将整块进行抑制,$[0, 1]\in \mathbb{R}^{G\times G}$

由于只考虑非峰值点,因此将峰值点的值设为0

最后将两种mask相加得到最后的抑制mask
Activation Suppression Factor

$M_c^{'}$为抑制后的特征图,$\alpha$为抑制因子,后面的实验设置为0.1

在进行特征抑制后,对特征进行global average pooling来获取最后的置信度$s\in \mathbb{R}^{1\times C}$
Gradient-boosting Cross Entropy Loss
diversification module用于发现更多不易察觉的细微特征,而gradient-boosting loss则是避免容易混淆的类别的误分
Loss Function

论文认为,目前使用最广的交叉熵损失函数平均地考虑了所有的负类别,而在细粒度分类中,模型更应该关注相似的负类别,因此提出gradient-boosting cross entropy(GCE),只专注于top-k个负类别

首先定义$J'$为所有的负类别,$J'={i : i\in [1,C]\land i\neq l }$,$s'={s_i, i\in J'}$为所有负类别的得分,$t_k$为负类别的top-k类别集合,将$J'$分别top-k集合和非top-k集合

对交叉熵进行改造,只考虑top-k类别的计算,k一般设置为15
Gradient Boosting


公式13和公式14分别是交叉熵和GCE的梯度回传公式

根据公式10和公式11的定义,可以发现公式15的包含关系

因此可以推出GCE的梯度是要比交叉熵的梯度要大的,使用GCE能够让模型专注于区分混淆类别
Training and Inference
diversification block仅在训练阶段使用,在测试阶段不再使用,改为将完整的特征图输入到global average pooling中
Experiments

实验在5个最常用的数据机上进行
Quantitative Results


其中两个数据集的结果如表2、表3所示,可以看到,论文提出的方法在效果上的提升还是挺不错的,而且参数量比较小,在另外几个数据集上,论文提出的方法也是比其它方法要出色
Ablation Study
Diversification block (DB)

使用diversification block能让ResNet-50的性能提升0.8%
Gradient-boosting loss
如表4所示,使用gradient-boosting loss能让ResNet-50+DB从86.3%提升到87.7%,提升要比其它损失函数方法要好
Suppressing Factor

从实验看出,抑制因子$\alpha$对实验结果影响挺大的,选择0.1的时候表现最好
Choices of k

top-k的数量选择对结果影响也是比较大的,选择top-15的时候效果最好
Convergence Analysis

从图5可以看出,论文提出的方法收敛速度更快,尽管可以看到原始方法在训练集上的准确率比论文提出的方法要好,但是在测试集的表现不好,这说明原始方法对训练集有点过拟合了
Qualitative Results

从图4可以看出,论文提出的方法提取了更多的特征区域
ImageNet Results

为了进一步验证论文提出的模型的效果,在ImageNet上进行了实验。由于论文的方法专注于难样本,因此在50轮后的训练才进行对比,可以看到论文的方法的效果在ImageNet上还是不错的
Conclusion
论文提出了diversification block以及gradient-boosting loss,diversification block通过随机抑制响应高的区域引导模型学习更多的不易察觉的特征,有点类似dropout的思想,而gradient-boosting loss则让模型专注于top-k个类别的学习,加大对应类别的梯度回传,使得训练收敛更快且提升性能。总体而言,论文的思路清晰,而且效果还是有的,可以实验下,然后当作基本方法加入到平时网络的架构中,特别是后面的gradient-boosting loss
写作不易,未经允许不得转载~
更多内容请关注 微信公众号/知乎专栏【晓飞的算法工程笔记】

AAAI 2020 | 反向R?削弱显著特征为细粒度分类带来提升的更多相关文章
- CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021
论文提出细粒度分类解决方案CAP,通过上下文感知的注意力机制来帮助模型发现细微的特征变化.除了像素级别的注意力机制,还有区域级别的注意力机制以及局部特征编码方法,与以往的视觉方案很不同,值得一看 来源 ...
- Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020)
Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020) 1. Motivation 可见 ...
- 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台
美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...
- AAAI 2020论文分享:通过识别和翻译交互打造更优的语音翻译模型
2月初,AAAI 2020在美国纽约拉开了帷幕.本届大会百度共有28篇论文被收录.本文将对其中的机器翻译领域入选论文<Synchronous Speech Recognition and Spe ...
- Region Normalization for Image Inpainting, AAAI 2020
论文:Region Normalization for Image Inpainting, AAAI 2020 代码:https://github.com/geekyutao/RN 图像修复的目的是重 ...
- ACNet: 特别的想法,腾讯提出结合注意力卷积的二叉神经树进行细粒度分类 | CVPR 2020
论文提出了结合注意力卷积的二叉神经树进行弱监督的细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数来定义从根节点到叶子节点的计算路径,结合所有叶子节点的预测值进行最终的预测,论文的 ...
- AAAI 2020 | DIoU和CIoU:IoU在目标检测中的正确打开方式
论文提出了IoU-based的DIoU loss和CIoU loss,以及建议使用DIoU-NMS替换经典的NMS方法,充分地利用IoU的特性进行优化.并且方法能够简单地迁移到现有的算法中带来性能的提 ...
- Spiking-YOLO : 前沿性研究,脉冲神经网络在目标检测的首次尝试 | AAAI 2020
论文提出Spiking-YOLO,是脉冲神经网络在目标检测领域的首次成功尝试,实现了与卷积神经网络相当的性能,而能源消耗极低.论文内容新颖,比较前沿,推荐给大家阅读 来源:晓飞的算法工程笔记 公众 ...
- 史上最详细的VM虚拟机安装Kali-linux教程(以2020.1版本为例,含下载地址+默认提升为root权限)
一.官方下载 Kali Linux 官方网址:www.Kali.org下载方式分两种:http 下载和 bt 下载(由于是国外网站 http 方式下载会非常慢),选择对应版本点击即可下载. 二.创建新 ...
随机推荐
- SWUST OJ Euclid's Game(0099)
Euclid's Game(0099) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 1855 Accepted: 589 De ...
- poi报表导出4.1.0版本工具类 导出并下载
这一段时间,由于项目上线基于稳定,所以我这边在基于我们一期迭代的分支上优化一部分我们之前没有做的功能,报表导出.本身之前用的是3.5的版本,但是由于同事要写导入,写的代码只有4.1.0的版本支持,所以 ...
- Mysql简单总结
基于Mac OS X系统 MySQL的安装和配置 首先进入 MySQL 官网,选择免费的Community版:MySQL Community Server.MySQL 官网提供了tar.gz和dmg两 ...
- mongodb 修改oplogSize
oplog是local库下的一个固定集合,Secondary就是通过查看Primary的oplog这个集合来进行复制的.每个节点都有oplog,记录从主节点复制过来的信息,这样每个成员都可以作为同步源 ...
- 大厂常问iOS面试题--多线程篇
1.进程与线程 进程: 1.进程是一个具有一定独立功能的程序关于某次数据集合的一次运行活动,它是操作系统分配资源的基本单元. 2.进程是指在系统中正在运行的一个应用程序,就是一段程序的执行过程,我们可 ...
- SpringBoot整合Mybatis对单表的增、删、改、查操作
一.目标 SpringBoot整合Mybatis对单表的增.删.改.查操作 二.开发工具及项目环境 IDE: IntelliJ IDEA 2019.3 SQL:Navicat for MySQL 三. ...
- PostCSS的插件 -- 关于vue rem适配布局方案
PostCSS的插件 作用:用于自动将像素单元生成rem单位 记以下三种 postcss-plugin-px2rem postcss-pxtorem postcss-px2rem 任选一种,最近大家推 ...
- php Rabbitmq扩展安装坑点
pecl install amqp 出现 checking for amqp using pkg-config... configure: error: librabbitmq not found 这 ...
- echarts 图点击事件
有三种方式,介绍一下,大家学习哈 1.利用tooltip记录信息,使用zr 监听事件,进行事件处理. 这种方法是利用showTip方法或者tooltip的formatter函数记录选中的数据信息,并在 ...
- vue iview modal弹出框 form表单验证
一.ref="addApply" :model="addApply" :rules="ruleValidate" 不要忘记prop 二. ...