论文分享第四期-2019.04.16

Residual Attention Network for Image Classification,CVPR 2017,RAN

核心:将注意力机制与ResNet结合,用于图像分类。论文设计了一个注意力模块(Attention Module),通过级联该模块(即增加模型深度),网络可以学到细粒度的特征图谱(fined-grained feature maps),因为随着层数的加深,来自不同模块的注意力感知特征可以自适应地改变。

除了注意机制带来的更具判别性的特征RAN还具有其他特性

  1. 增加注意模块数量可以提升性能,因为能广泛地捕捉不同类型的注意力
  2. 以端到端的训练方式与最先进的深层网络结构相结合。显著减少了计算

论文将自己的贡献总结为三点

  1. 堆叠的网络结构(stacked network structure):将多个注意力模块级联,处在不同网络深度的注意力模块捕捉不同类型的注意力
  2. 注意力残差训练(attention residual learning):直接堆叠注意力模块(没有加和的操作)会导致模型性能显著下降。因此提出类似于残差学习的训练方法,注意力模块的输出加上输入的特征,使模型学到具有残差性质的注意力
  3. 自底向上-自顶向下的前馈注意力(bottom-up top-down):即编码-解码的结构得到注意力图谱

注意力模块的网络结构(Attention Module):

如上图所示,是RAN网络的注意里模块的结构。先通过一个残差单元,然后分为主干分支(trunk branch)和掩码分支(mask branch),再将两个分支的输出依通道逐像素点乘,在与主干分支的输出依通道逐像素求和,最后通过一个残差单元,即得到该深度处的、结合了注意力机制的特征图谱。输出公式如公式(1)。

对于论文中自述的贡献2,将此公式与ResNet中残差训练的公式对比(公式2),ResNet中网络学到的是残差函数Fi,c(x),而RAN中的两个分支都是需要学习的,Fi,c(x)是主干分支的输出特征图谱;代表残差概念的是两个分支输出的点乘,也就是两个分支合起来的作用相当于ResNet中的残差函数,所以但就mask分支得到的并不是残差,而是一种掩码。但是mask分支输出的掩码,也有其作用,论文中总结为两点:

  1. 具有前向推理中的特征选择功能;
  2. 在反向传播时还具有梯度更新滤波的作用。掩码分支(mask branch)可以阻止错误的梯度来更新主干分支(trunk branch),使模型对噪声标签具有更好的鲁棒性。

论文中所提到的直接堆叠,应该是指没有上图中加和的操作。简单地直接堆叠注意模块会使性能显著下降,论文中解释的原因:1.在0和1之间不断与mask进行点积,会使更深层的特征数值降低。2.soft mask可能会破坏主干分支的好的特性,如残差单元的恒等映射。

对于论文中自述的贡献3,即mask分支中的编码-解码的结构,在图像分割的全卷积网络FCN、人体姿态估计的沙漏网络中都有体现,这种结构现在看来已经很普遍了,不算是很大的创新点。在本论文中还引入了跳转连接,但是该跳转连接经过了一个残差单元,这在其他一些结构中是没有的。处在网络浅层的注意力模型中,跳转连接较多,随着网络加深,这种跳转连接逐渐减少直至没有。

RAN网络的整体结构(Residual Attention Network):

上述整体结构对应于自述贡献1,处在不同网络深度中的注意力模型,会捕捉不同类型的注意力。

现在就有一个最核心的疑问:这样的卷积网络结构为什么就具有捕捉注意力的能力呢?到底什么是注意力机制,设计带有注意力机制的网络结构,其应该具有什么样的特点?或是说共性

论文分享NO.4(by_xiaojian)的更多相关文章

  1. 论文分享NO.3(by_xiaojian)

    论文分享第三期-2019.03.29 Fully convolutional networks for semantic segmentation,CVPR 2015,FCN 一.全连接层与全局平均池 ...

  2. 论文分享NO.2(by_xiaojian)

    论文分享第二期-2019.03.26 NIPS2015,Spatial Transformer Networks,STN,空间变换网络

  3. 论文分享NO.1(by_xiaojian)

    论文分享第一期-2019.03.14: 1. Non-local Neural Networks  2018 CVPR的论文 2. Self-Attention Generative Adversar ...

  4. [论文分享] DHP: Differentiable Meta Pruning via HyperNetworks

    [论文分享] DHP: Differentiable Meta Pruning via HyperNetworks authors: Yawei Li1, Shuhang Gu, etc. comme ...

  5. 论文分享|《Universal Language Model Fine-tuning for Text Classificatio》

    https://www.sohu.com/a/233269391_395209 本周我们要分享的论文是<Universal Language Model Fine-tuning for Text ...

  6. Graph Transformer Networks 论文分享

    论文地址:https://arxiv.org/abs/1911.06455 实现代码地址:https://github.com/ seongjunyun/Graph_Transformer_Netwo ...

  7. AAAI 2020论文分享:通过识别和翻译交互打造更优的语音翻译模型

    2月初,AAAI 2020在美国纽约拉开了帷幕.本届大会百度共有28篇论文被收录.本文将对其中的机器翻译领域入选论文<Synchronous Speech Recognition and Spe ...

  8. [论文分享]Channel Pruning via Automatic Structure Search

    authors: Mingbao Lin, Rongrong Ji, etc. comments: IJCAL2020 cite: [2001.08565v3] Channel Pruning via ...

  9. DNN论文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering

    前置点评: 这篇文章比较朴素,创新性不高,基本是参照了google的word2vec方法,应用到推荐场景的i2i相似度计算中,但实际效果看还有有提升的.主要做法是把item视为word,用户的行为序列 ...

随机推荐

  1. JAVA内存管理再解

    首先我们要明白一点,我们所使用的变量就是一块一块的内存空间!!   一.内存管理原理:   在java中,有java程序.虚拟机.操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统间交 ...

  2. ZOJ3700 Ever Dream 2017-04-06 23:22 76人阅读 评论(0) 收藏

    Ever Dream Time Limit: 2 Seconds      Memory Limit: 65536 KB  "Ever Dream" played by Nigh ...

  3. Quartus II 软件生成FFT、NCO、FIR等IP核时卡住不动的解决办法

    据网友表示,遇到这个问题时,在任务管理器中手动关闭quartus_map进程就可以了,由于我的电脑最近一直没有出问题,因此也无法验证.欢迎大家针对这个问题讨论,提出肯定.否定的说法. 另外,很多人表示 ...

  4. HDU1412:{A} + {B}

    Problem Description 给你两个集合,要求{A} + {B}. 注:同一个集合中不会有两个相同的元素.   Input 每组输入数据分为三行,第一行有两个数字n,m(0<n,m& ...

  5. [LeetCode 题解]: Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...

  6. Excel2010画动态甘特图

    哈哈!你居然真的看简介点进来啦,我也想八一八Henry gantt本人的故事,可是我查了好些资料,一个槽点都没有发现,不过人生经历还是蛮拼的: 此人活了58年,前半生就是一个中规中距的机械工程师&am ...

  7. DMV--sys.dm_os_ring_buffers

    DMV 'sys.dm_os_ring_buffers' 可以用来诊断数据库连接和数据库内存方面的问题,但MSDN上找不到相应的介绍,网上找到以下相关资料: 1>sys.dm_os_ring_b ...

  8. Hadoopd 单元测试-MPUnit

    Apache 版: 官网:http://mrunit.apache.org 教程:https://cwiki.apache.org/confluence/display/MRUNIT/MRUnit+T ...

  9. WPF 按名称查找控件

    1FrameworkElement类FindName方法 使用过程 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件.FindN ...

  10. SQL 增加列

    -- 判断是否存在该列 if exists(SELECT * FROM syscolumns WHERE id=object_id('@Table') and name='@COLUMN') ALTE ...