Paper | Residual Attention Network for Image Classification
最近看了些关于attention的文章。Attention是比较好理解的人类视觉机制,但怎么用在计算机问题上并不简单。
实际上15年之前就已经有人将attention用于视觉任务,但为什么17年最简单的SENet取得了空前的成功?其中一个原因是,前人的工作大多考虑空间上的(spatial)注意力,而SENet另辟蹊径,考虑了特征(通道)维度的注意力;第二个是实现方式,SENet本质上只是一个非常简单的结构,但赐予了神经网络更强大的学习能力,并且作者实现得也很好,所以最终性能才爆表(夺得了17年分类任务冠军)。
当然,attention在high-level任务中用得比较多,在low-level任务上主要是以saliency的形式呈现的。
至今没有 在图像分类任务上达到SOTA 且 将attention用于前向网络设计 的工作。因为大家都在关注网络的深度。【那么本文就通过高超的实现手法,做第一个吃螃蟹的人咯】【实际上,之前的SENet实现了突破。只不过SENet不算一个网络,而是一个即插即用的简单插件】
加入attention机制最核心的优势就是一点:可以让网络的鉴别式特征表示能力更强。【查了一下,生成网络+attention已经有很多工作了】
当然,本文因为独特的网络设计,带来了额外的attention优势。这在介绍网络时再说。我们先看看示意图和效果:

如图左,本文的注意力模块就是简单地根据输入特征,生成masks,然后与输入特征综合得到输出。
如图右,不同level的mask有不同的关注点。low-level的mask关注到了背景,比如天空和建筑;high-level的mask只关注气球的底部。
1. 相关工作
[23]证实:注意力机制对人类感知很重要。特别地,人类通过自上而下的信息传递,来指导自下而上的信息处理过程。【博主理解:根据上下文(context)决定attention属于自上而下,而看到字符产生语义理解属于自下而上】
Attention已经被RNN和LSTM广泛使用。在图像分类领域,这种自上而下的attention机制有三种表现形式:
序列化。将图像分类作为一个序列化的决策过程。
Region proposal。由于图像分类问题中的proposals一般没有ground truth,因此通常采用非监督学习。
控制门。如LSTM和Highway Network。
2. Residual Attention Network

图像首先经过\(p=1\)个residual unit的处理,然后分别进入主干分支(上方)和mask分支。
主干分支有\(t=2\)个residual unit。
Mask分支是一个soft attention结构,如图下方所示。\(r=1\)就是两个最大池化层之间的residual unit数量。根据图例,这是一个先降采样、后升采样的网络结构。
Attention计算后,与主干的输出点乘,然后再与主干的输出求和。
以上流程在一个attention module中实现。作者令其重复3次。
作者认为,另设一个mask分支有两个好处:
特征的选择作用。【这一点是attention的好处,与该分支关系其实不大】
对梯度也有控制作用。比如抑制噪声区域的梯度。【作者没有证实这一点,而仅仅展示了对噪声的健壮性】
那么为什么要堆叠这么多attention module呢?一个mask分支[17]不就够了吗?这实际上已经通过Fig1解释了:不同level的注意力是有区别的,因此最好能够分开学习。
2.1 Attention残差学习
仅仅有attention是不行的【原因作者没有很好地解释。个人认为原因和ResNet的动机一样:这种mask分支破坏了梯度传播的通道,导致深度网络训练困难】。
为此,我们再把短连接加上呗~即mask与主干输出相乘后,再与主干输出相加。可以理解为:相乘的结果是对主干输出的微小调整,即作为残差。
设想一种极端情况:此时我们完全不需要对特征进行任何attention调整,则mask为0就行。Mask分支的学习完全没有难度。
2.2 自上而下和自下而上
最后这个概念来源于DBN[21],与本文的区别只在于应用场景。如图:

右侧就是自下而上的快速推导过程,左侧就是缓慢的自上而下的过程。什么是自上而下?由于mask分支在不断降采样(最大池化)以及卷积,因此其感受野越来越大。在最顶层,习得mask是一种相对高层的信息。Mask与右侧相乘,相当于用高层信息指导特征,因此称为自上而下的信息传递。
2.3 正则化Attention
作者还考虑了一下对mask(attention)的正则化。要么是简单的sigmoid正则化,要么是根据所有通道在该点的均值和方差进行正则化然后再sigmoid,要么是除以该通道的均值。实验发现,最简单的(不约束)最好。
其余略。
Paper | Residual Attention Network for Image Classification的更多相关文章
- Residual Attention Network for Image Classification(CVPR 2017)详解
一.Residual Attention Network 简介 这是CVPR2017的一篇paper,是商汤.清华.香港中文和北邮合作的文章.它在图像分类问题上,首次成功将极深卷积神经网络与人类视觉注 ...
- Paper | Residual Dense Network for Image Super-Resolution
目录 Residual dense block & network 和DenseNet的不同 摘要和结论 发表在2018年CVPR. 摘要和结论都在强调方法的优势.我们还是先从RDN的结构看起 ...
- Paper | Dynamic Residual Dense Network for Image Denoising
目录 1. 故事 2. 动机 3. 做法 3.1 DRDB 3.2 训练方法 4. 实验 发表于2019 Sensors.这篇文章的思想可能来源于2018 ECCV的SkipNet[11]. 没开源, ...
- Dual Attention Network for Scene Segmentation
Dual Attention Network for Scene Segmentation 原始文档 https://www.yuque.com/lart/papers/onk4sn 在本文中,我们通 ...
- 语义分割之Dual Attention Network for Scene Segmentation
Dual Attention Network for Scene Segmentation 在本文中,我们通过 基于自我约束机制捕获丰富的上下文依赖关系来解决场景分割任务. 与之前通过多尺 ...
- RAM: Residual Attention Module for Single Image Super-Resolution
1. 摘要 注意力机制是深度神经网络的一个设计趋势,其在各种计算机视觉任务中都表现突出.但是,应用到图像超分辨领域的注意力模型大都没有考虑超分辨和其它高层计算机视觉问题的天然不同. 作者提出了一个新的 ...
- [论文阅读] Residual Attention(Multi-Label Recognition)
Residual Attention 文章: Residual Attention: A Simple but Effective Method for Multi-Label Recognition ...
- 论文解读(FedGAT)《Federated Graph Attention Network for Rumor Detection》
论文信息 论文标题:Federated Graph Attention Network for Rumor Detection论文作者:Huidong Wang, Chuanzheng Bai, Ji ...
- Paper Reading - Attention Is All You Need ( NIPS 2017 ) ★
Link of the Paper: https://arxiv.org/abs/1706.03762 Motivation: The inherently sequential nature of ...
随机推荐
- Geoserver安装
准备内容 安装环境:win10*64位专业版 安装文件:geoserver-2.15.2 安装步骤 安装JDK 1.安装GeoServer是基于Java的环境,所以需要先装Jdk环境. 2.前往官网下 ...
- 一文解读RESTful (转)
01 前言 回归正题,看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严 ...
- Creating a Physical Standby from Primary on Version 12c (Doc ID 1570958.1)
Creating a Physical Standby from Primary on Version 12c (Doc ID 1570958.1) APPLIES TO: Oracle Databa ...
- 数组类的创建——StaticArray.h
创建好的基于顺序存储结构的线性表存在两个方面的问题:1)功能上的问题:数组操作符的重载带来的问题,有可能线性表被无用为数组了,线性表被当做数组来使用了.2)效率方面的问题 本篇博客就要解决功能上的问题 ...
- 54. Spiral Matrix && 59. Spiral Matrix II
Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral ord ...
- 如何解决Sublime text3文件名称中文乱码问题
在sublime text 3中,Preference, Settings-User,最后加上一行 "dpi_scale": 1.0 { "auto_complete_t ...
- 一些常用的 redis 的操作配置(对String、hash)
import java.util.List; import java.util.Map; import org.apache.logging.log4j.LogManager; import org. ...
- MyBatis中@MapKey使用详解
MyBatis中@MapKey使用详解我们在上一篇文章中讲到在Select返回类型中是返回Map时,是对方法中是否存在注解@MapKey,这个注解我也是第一次看到,当时我也以为是纯粹的返回单个数据对象 ...
- C++之指针和引用
指针和引用的异同点总结 异同点 指针 引用 1 指针是一个变量,本身是一个实体,指针中的内容是一个地址值 该值指向内存中的一个存储单元 引用只是一个别名,实质上指向同一对象 系统不为引用分配内存 2 ...
- 织女星开发板RISC-V内核实现微秒级精确延时
前言 收到VEGA织女星开发板也有一段时间了,好久没玩了,想驱动个OLED屏,但是首先要实现IIC协议,而实现IIC协议,最基本的就是需要一个精确的延时函数,所以研究了一下如何来写一个精确的延时函数. ...