粉色-不懂

前言
深度学习中的Attention,源自于人脑的注意力机制,当人的大脑接受到外部信息,如视觉信息、听觉信息时,往往不会对全部信息进行处理和理解,而只会将注意力集中在部分显著或者感兴趣的信息上,这样有助于滤除不重要的信息,而提升信息处理的效率。

最早将Attention利用在图像处理上的出发点是,希望通过一个类似于人脑注意力的机制,只利用一个很小的感受野去处理图像中Attention的部分,降低了计算的维度。而后来慢慢的,有人发现其实卷积神经网络自带Attention的功能,比方说在分类任务中,高层的feature map所激活的pixel也恰好集中在与分类任务相关的区域,也就是saliency map(图像显著性),常被用在图像检测和分割上。那么如何利用Attention来提升模型在分类任务上的性能呢?本文提供了一种新的思路。

Residual Attention Network
人们看到论文题目时一定会觉得很熟悉,哇靠,这不是模仿大名鼎鼎的ResNet吗,确实,从字面上、结构上、包括使用方法上,本文所提出的模型都和ResNet很相似,可以说是借鉴了ResNet的构造,但是从思路、目的上来看,又和ResNet大有不同,那么不同之处在于何,接下来将会娓娓道来。

首先看作者所说本文的三大贡献:

1.提出了一种可堆叠的网络结构。与ResNet中的Residual Block类似,本文所提出的网络结构也是通过一个Residual

Attention Module的结构进行堆叠,可使网络模型能够很容易的达到很深的层次。
2.提出了一种基于Attention的残差学习方式。与ResNet也一样,本文做提出的模型也是通过一种残差的方式,使得非常深的模型能够容易的优化和学习,并且具有非常好的性能。
3.Bottom-up Top-down的前向Attention机制。其他利用Attention的网络,往往需要在原有网络的基础上新增一个分支来提取Attention,并进行单独的训练,而本文提出的模型能够就在一个前向过程中就提取模型的Attention,使得模型训练更加简单。

从上面前两点依然发现本文所提出的方法和ResNet没多大的区别,但是把1、2、3点融合起来,就成了本文的一个亮点,请看:

上图基本上可以囊括本位的绝大部分内容,对于某一层的输出feature map,

也就是下一层的输入

,对于一个普通的网络,只有右半部分,也就是Trunk Branch,作者在这个基础上增加了左半部分:Soft Mask Branch——一个Bottom-up Top-down的结构。

Bottom-up Top-down的结构首先通过一系列的卷基和pooling,逐渐提取高层特征并增大模型的感受野,之前说过高层特征中所激活的Pixel能够反映Attention所在的区域,于是再通过相同数量的up sample将feature map的尺寸放大到与原始输入一样大

(这里的upsample通过deconvolution(逆卷积)来实现,

可以利用bilinear interpolation 也可以利用deconvolution自己来学习参数,可参考FCN中的deconvolution使用方式),这样就将Attention的区域对应到输入的每一个pixel上,我们称之为Attention map。

Bottom-up Top-down

这种encoder-decoder

的结构在图像分割中用的比较多,如FCN,

也正好是利用了这种结构相当于一个weakly-supervised的定位任务的学习

接下来就要把Soft Mask Branch与Trunk Branch的输出结合起来

,Soft Mask Branch输出的Attention map中的每一个pixel值相当于对原始feature map上每一个pixel值的权重,

它会增强有意义的特征,

而抑制无意义的信息

,因此,

将Soft Mask Branch与Trunk Branch输出的feature map进行element-wised的(每个元素对应相乘)乘法,

就得到了一个weighted Attention map。

但是无法直接将这个weighted Attention map输入到下一层中,

因为Soft Mask Branch的激活函数是Sigmoid,输出值在(0,1)之间

(之所以这么做,我认为是不希望给前后两层的feature map带来太大的差异和扰动

,其次能够进一步的抑制不重要的信息),

因此通过一系列这样的乘法,

将会导致feature map的值越来越小,

并且也可能打破原始网络的特性,当层次极深时,给训练带来了很大的困难。

因此作者在得到了weighted Attention map之后又与原来Trunk Branch的feature map进行了一个element-wised的操作,这就和ResNet有异曲同工之妙,

该层的输出由下面这个式子组成:

其中M(x)为Soft Mask Branch的输出,F(x)为Trunk Branch的输出,那么当M(x)=0时,该层的输入就等于F(x),因此该层的效果不可能比原始的F(x)差,这一点也借鉴了ResNet中恒等映射的思想,同时这样的加法,也使得Trunk Branch输出的feature map中显著的特征更加显著,增加了特征的判别性。这样,优化的问题解决了,性能的问题也解决了,因此通过将这种残差结构进行堆叠,就能够很容易的将模型的深度达到很深的层次,具有非常好的性能。



. 基本原理
??Attention模型最初应用于图像识别,模仿人看图像时,目光的焦点在不同的物体上移动。当神经网络对图像或语言进行识别时,每次集中于部分特征上,识别更加准确。如何衡量特征的重要性呢?最直观的方法就是权重,因此,Attention模型的结果就是在每次识别时,首先计算每个特征的权值,然后对特征进行加权求和,权值越大,该特征对当前识别的贡献就大。
??机器翻译中的Attention模型最直观,易于理解,因为每生成一个单词,找到源句子中与其对应的单词,翻译才准确。此处就以机器翻译为例讲解Attention模型的基本原理。在此之前,需要先介绍一下目前机器翻译领域应用最广泛的模型——Encoder-Decoder结构,谷歌最新发布的机器翻译系统就是基于该框架[1],并且采用了Attention模型。
??Encoder-Decoder框架包括两个步骤,第一步是Encoder,将输入数据(如图像或文本)编码为一系列特征,第二步是Decoder,以编码的特征作为输入,将其解码为目标输出。Encoder和Decoder是两个独立的模型,可以采用神经网络,也可以采用其他模型。机器翻译中的Encoder-Decoder示例如下图(取自[2]):

原文地址:https://www.cnblogs.com/ldphoebe/p/9933983.html

时间: 2024-11-09 04:32:45

粉色-不懂的相关文章

如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】(转)

转载地址:http://blog.jobbole.com/70549/ 要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式.但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝.老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了.(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种

不懂数学也能明白傅里叶分析和感受数学之美 转载

文章链接 : http://zhuanlan.zhihu.com/wille/19763358 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式.但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝.老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了.(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种.所以,不管读到这里的您从事

看了这篇文章你还不懂傅里叶变换,那我就真没办法呢!

首先,请允许小编带着崇高的敬意向牛逼的作者"韩昊"表示感谢.按照原文要求,转载注明出处.内容整理自知乎!发布仅为学习交流!版权归原作者所有!原文地址:https://zhuanlan.zhihu.com/p/19759362 ---好文开始了-- 我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了--于是拖了两年,嗯,我是拖延症患者-- 这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不

转【完整版】如果看了此文你还不懂傅里叶变换,那就过来掐死我吧

作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师. 转载的同学请保留上面这句话,谢谢.如果还能保留文章来源就更感激不尽了. --更新于2014.6.6,想直接看更新的同学可以直接跳到第四章---- 我保证这篇文章和你以前看过的所有文章都不同,这是 12 年还在果壳的时候写的,但是当时没有来得及写完就出国了--于是拖了两年,嗯,我是拖延症患者-- 这篇文章的核心思想就是: 要让读者在

看了此文你还不懂傅里叶变换,那就来掐我吧

我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者…… 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析. 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式.但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝.老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了.(您把教材

架构师米洛:不懂技术的人不要对懂技术的人说这很容易实现

这是一篇很好的文章.在IT滚了好多年的我,面对非技术人员的催问,这东西做起来难不难的时候,如果我做过我会告诉这东西不难.如果我没做过,我不会说什么,可是这根本满足不了非技术人的好奇心. "这个网站相当简单,所有你需要做的就是完成X,Y,Z.你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来." 我时不时的就会收到这样的Email.写这些邮件的人几乎都是跟软件开发技术不沾边的人,或正在研究他们的第一个产品. 起初,当听到人们这样的话,我总是十分的恼怒.他们在跟谁辩

看完《Thinking in Java》后,我觉得自己就是一个不懂编程的小孩子,如何快速摆脱这种自卑感

我虽然不懂java也不懂程序员,但我理解这种心情.当看到自己还算自信的专业领域中一部超越自己水平很多的作品或比自己优秀太多的人,难免会感到震惊,继而进行自我否定. 就像我曾经非常喜欢写作,在杂志和校报上发表了几篇后更是得意,可是加入文学社之后,被一个低年级女生斐然的文采和独特的角度彻底震惊了,同样的题目她能从我们完全想不到的角度去写,还拿过某作文大赛全国冠军,年少的我非常自卑,后面去的越来越少乃至退社.现在我只觉得非常后悔,因为我后面在生活中遇到了更多文字牛逼的人物,我觉得自己放弃的太早了,失去

90网论坛90后赚钱行业领先 如果你不懂技术,那么潜下心来好好学习

胜利路上并不拥堵,由于保持的人不多! 假如你不懂技巧,那么潜下心来好好进修 为代价买单,为常识买单,假如你不懂技巧,那么潜下心来好好进修.天天面临如斯多的人,慢慢的发明世界之大,无奇不有,什么样奇葩的人都有. 有的人只晓得索取,而不违心支付的:有的人支付了,然而一直索取的:另有的人,让处理成绩,然而让供给相干账号却不供给的:乃至有的人不帮他的忙就启齿骂人的,总之奇葩仍是许多的,就不一一例举. 写这篇文章不是批驳某某某,而是为国人的这种本质觉得心塞,肉痛,公民养成的这种只晓得索取,不违心支付的坏习

做了完全看不懂的题之后~

今天做了完全看不懂的题目,最大的感受就是:我太弱了,我以前做的题原来是那么简单:( 作为一名非常弱的新手,我应该以此为基点,开始认真进行自己的提高之路.每天至少一道题,我以后能成为大神一样的人么,哈哈~~ 没课的时候就来两道,闲得无聊来两道,除了美剧英剧之外别的都不看,英语不能弃. 坚持很难,养成习惯之后会容易一些吧.不能再犯以前的错误,任何事情都是认真付出了才会有收获,大神那么多,谁知道我以后不会是其中的一个呢 希望我能够把每天的事情认真完成,不辜负父母,不辜负自己 这是我的第一篇,愿我能不忘