论文分享第四期-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. C语言中的nan和inf使用

    本文总结nan和inf在C语言当中的含义.产生和判定方法. C语言当中的nan 表示not a number,等同于 #IND:indeterminate (windows) 产生: 对浮点数进行了未 ...

  2. XtrasReport 标签打印

    var lblList = new List<product_LblPrt_tmp>(); using (JL_MFGEntities ctx = new JL_MFGEntities() ...

  3. css选择器与DOM'匹配的关系

    一道面试题 css 选择器匹配时,只考察是否包含有对应的class,而与class的顺序无关 而css的定义是后面的覆盖前面的定义 原理:http://www.w3.org/html/ig/zh/wi ...

  4. C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. 「CodeChef - SKIRES」Ski Resort

    题目链接 戳我 \(Description\) 给你一个\(n*m\)的网格,以及网格上的两个格子\(A,B\).每个格子有一个高度.每次操作可以选择一个格子(不能是\(A\)或\(B\))并将它的高 ...

  6. 2018年秋PTA乙级回顾

    距离上次我一个人参加PAT考试已经过去快一个学期了,想想上次自己也是搞笑,自己一个人被这个书包就去了ZZ,人生地不熟的,乘坐公交车还坐反了.考完试因为不知道要等到考试结束就可以领取成绩证书,自己连那张 ...

  7. “全栈2019”Java多线程第十五章:当后台线程遇到finally

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  8. P4145 上帝造题的七分钟2

    题目描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列. 第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作. 第三分钟,k说,要能查询,于是便有了求一段 ...

  9. jquery中通过添加readonly或者disabled属性实现行为禁止 / 去除某个属性的方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Python 开发安卓Android及IOS应用库Kivy安装尝试

    Python 开发安卓Android及IOS应用库Kivy安装尝试: 先来看看这货可以用来制作什么应用: Create a package for Windows Create a package f ...