注意力机制

作者&投稿:仲娇 (若有异议请与网页底部的电邮联系)
~ 本文大部分的内容来自于 深度学习中的注意力机制

意力机制借鉴了人类注意力的说法,比如我们在阅读过程中,会把注意集中在重要的信息上。在训练过程中,输入的权重也都是不同的,注意力机制就是学习到这些权重。最开始attention机制在CV领域被提出来,但后面广泛应用在NLP领域。

需要注意的是,注意力机制是一种通用的思想和技术,不依赖于任何模型,换句话说,注意力机制可以用于任何模型。只是我们介绍注意力机制的时候更多会用encoder-decoder框架做介绍。

Encoder-Decoder 框架可以看作是一种深度学习领域的研究模式,应用场景异常广泛。下图是文本处理领域里Encoder-Decoder 框架最抽象的一种表示。

在NLP领域,可以把Encoder-Decoder框架看作是:将一个句子(篇章)转换成另一个句子(篇章)。最直观的例子就是机器翻译,将一种语言的表达翻译成另一种语言。对于句子对<source,target>,将给定输入句子
source,通过Encoder-Decoder框架生成目标句子target。其中,source和target都是一组单词序列:

Encoder是对source进行编码,转换成中间语义 :

对于解码器Decoder,其任务是根据中间语义C和当前已经生成的历史信息来生成下一时刻要生成的单词:

我们从最常见的Soft Attention模型开始介绍attention的基本思路。

在上一节介绍的Encoder-Decoder框架是没有体现出“注意力模型”的,为什么这么说呢?我们可以看下target的生成过程:

其中, 是Decoder的非线性变换函数。从上面式子中可以看出,在生成目标句子的单词时,不论生成哪个单词,它们使用的输入句子source的语义编码 都是一样的,没有任何区别。而语义编码 又是通过对source经过Encoder编码产生的,因此对于target中的任何一个单词,source中任意单词对某个目标单词 来说影响力都是相同的,这就是为什么说图1中的模型没有体现注意力的原因。

下面从一个例子入手,具体说明下注意力机制是怎么做的。

比如机器翻译任务,输入source是英文句子:Tom chase Jerry;输出target想得到中文:汤姆 追逐 杰瑞。在翻译“Jerry”这个单词的时候,在普通Encoder-Decoder模型中,source里的每个单词对“杰瑞”的贡献是相同的,很明显这样不太合理,因为“Jerry”对于翻译成“杰瑞”更重要。如果引入Attention模型,在生成“杰瑞”的时候,应该体现出英文单词对于翻译当前中文单词不同的影响程度,比如给出类似下面一个概率分布值:

每个英文单词的概率代表了翻译当前单词“杰瑞”时注意力分配模型分配给不同英文单词的注意力大小。同理,对于target中任意一个单词都应该有对应的source中的单词的注意力分配概率,可以把所有的注意力概率看作 ,其中 表示source长度, 表示target长度。而且,由于注意力模型的加入,原来在生成target单词时候的中间语义 就不再是固定的,而是会根据注意力概率变化的 ,加入了注意力模型的Encoder-Decoder框架就变成了如图2所示。

根据图2,生成target的过程就变成了下面形式:

因为每个 可能对应着不同的注意力分配概率分布,比如对于上面的英汉翻译来说,其对应的信息可能如下:

其中, 表示Encoder对输入英文单词的某种变换函数,比如如果Encoder是用RNN模型的话,这个 函数的结果往往是某个时刻输入 后隐层节点的状态值;g代表Encoder根据单词的中间表示合成整个句子中间语义表示的变换函数,一般的做法中,g函数就是对构成元素加权求和,即:

其中, 代表输入句子Source的长度, 代表在Target输出第 个单词时Source输入句子第 个单词的注意力分配系数,而 则是Source输入句子中第 个单词的语义编码。假设下标 就是上面例子所说的“汤姆”生成如下图:

那另一个问题来了:注意力概率分布是怎么得到的呢?为了便于说明,我们假设图1的Encoder-Decoder框架中,Encoder和Decoder都采用RNN模型,那么图1变成下图4:

那么注意力分配概率分布值的通用计算过程如图5:

上面就是经典的soft Attention模型的基本思想,区别只是函数 会有所不同。

从我的角度看,其实Attention机制可以看作,Target中每个单词是对Source每个单词的加权求和,而权重是Source中每个单词对Target中每个单词的重要程度。因此,Attention的本质思想会表示成下图6:

将Source中的构成元素看作是一系列的<Key, Value>数据对,给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,即权重系数;然后对Value进行加权求和,并得到最终的Attention数值。将本质思想表示成公式如下:

其中, 表示Source的长度。

深度学习中的注意力机制 中提到:

因此,Attention机制的具体计算过程实际上分成了3个阶段,如图7:

第一阶段可以引入不同的函数和计算机制,根据Query和某个 ,计算两者的相似性或者相关性,最常见的方法包括:求两者的向量点积、求两者的向量cosine相似性或者引入额外的神经网络来求值,如下:

第二阶段引入类似SoftMax的计算方式,对第一阶段的得分进行数值转换,一方面可以进行归一化,将原始计算分值整理成所有元素权重之和为1的概率分布;另一方面也可以通过SoftMax的内在机制更加突出重要元素的权重。即一般采用的公式如下:

第三阶段的计算结果 即为 对应的权重系数,然后进行加权求和即可得到Attention数值:

通过如上三个阶段的计算,就可以求出针对Query的Attention数值。

上面介绍的是soft Attention,hard Attention的区别在于soft Attention中 是概率分布,而hard Attention取值为0/1。Hard Attention在图像上有使用,具体可见 引入attention机制 。

这里的global attention其实就是soft Attention,global attention需要考虑encoder中所有的 ;而local Attention直观上理解是只考虑局部的 。

Self-attention是Google在transformer模型中提出的,上面介绍的都是一般情况下Attention发生在Target元素Query和Source中所有元素之间。而Self Attention,指的是Source内部元素之间或者Target内部元素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下的注意力机制。当然,具体的计算过程仍然是一样的,只是计算对象发生了变化而已。

上面内容也有说到,一般情况下Attention本质上是Target和Source之间的一种单词对齐机制。那么如果是Self Attention机制,到底学的是哪些规律或者抽取了哪些特征呢?或者说引入Self Attention有什么增益或者好处呢?仍然以机器翻译为例来说明,如图8和图9:

具体做法是点乘 和 ,然后除以 ,并经过Softmax,以此得到 的权重。也就是说Attention计算过程如下式,其中 是scaled factor:

注意力的计算一般有两种:加性注意力(additive attention)、乘法(点积)注意力(multiplicative attention)。(这里可以和第3部分计算相似度对应)

加性注意力是最经典的注意力机制,它使用了有一个隐藏层的前馈网络(全连接)来计算注意力; 乘法注意力就是Transformer用的方式。这两种注意力在复杂度上是相似的,但是乘法注意力在实践中要更快速、具有高效的存储,因为它可以使用矩阵操作更高效地实现。

Transformer原文:

Multi-Head Attention是用不同的 得到不同的Attention,最后将这些Attention拼接起来作为输出。公式如下:

其中, ;在Transformer模型中, 。

Scaled Dot-Product Attention和Multi-Attention如下图所示:


注意力机制
意力机制借鉴了人类注意力的说法,比如我们在阅读过程中,会把注意集中在重要的信息上。在训练过程中,输入的权重也都是不同的,注意力机制就是学习到这些权重。最开始attention机制在CV领域被提出来,但后面广泛应用在NLP领域。 需要注意的是,注意力机制是一种通用的思想和技术,不依赖于任何模型,换句话说,注意力机制可...

暗黑破坏神4血涌流怎么玩-暗黑破坏神4血涌流压制机制解析
首先,压制机制如下:吃血量、吃强固 吃意力-加算(这个特别蠢。为啥智力是乘算,意力就是加算)100点意力能提升25%压制伤害,说实话除了触发巅峰的bonus,我想不到它有啥其他用。手套上一个满压制伤害词条,就抵得上250意力的加成了 吃牺牲-乘算。带不带牺牲,面板压制差距非常非常大。吃+血系伤害...

一个人的主意力是如何集中的
一般人做事时,以刚开始与快结束时效率最高。在两者之间,将会出现效率低落、缺乏注意力的现象,心理学上称之为“中间松懈”,了维持注意力,可以象马拉松选手一样,设立中间站,更能发挥全力。中途站的时间不能太长也不能太短,否则会带来反效果。2、利用奖惩机制。把繁重的工作分成几段,每段之间达...

宇宙的真相 一 千古的遗憾 一个人,一个观察者,与浩瀚的宇宙相比,只不过...
211、宇宙中有八种力,即:磁力、引力、强力、弱力、构力、斥力、意力、灵力。212、人类生存的世界是xy世界,所谓的鬼魂生存的世界是-x-y世界,神佛生存的世界是xyz世界,妖魔生存的世界是-x-y-z世界,千年界在xy-z世界,万年界在x-y-z世界,仙岛群岛洲在xyz世界。213、宇宙为生命而存在,生命...

餐饮店活动营销方案策划
此外,建立健全一套激励内部促销机制是做好内部促销、树立全员营销意识的制度保证。 1、假期餐厅的气氛。在餐厅消费,很大程度上人们消费的是餐厅的整体服务,而不单单是食品,因此,在整个餐厅的气氛上要做好相应的布置。 餐台。在餐桌上摆一瓶光彩艳丽的插花或盆花,如月季、杜鹃、米兰等。其艳丽的色采,清馥的香昧...

结构功能论是什么意思
教育的负向功能机制可简要地表述为: (1)教育负向功能掩藏于教育本身,且在教育系统活动展开中发生作用,并在教育结果中表现出来。所谓教育的负向功能掩藏于教育本身是指,教育负向功能在一开始并不是显露地存在于教育本身的,教育总是以其夺目的正向功能而展现在人们的意识之中的,教育的负向功能在理论形态的教育中并...

教师学期个人工作总结精选
那就要建立一定学习机制,引导学生自觉主动完成。不能自觉完成的学生,就要家校联系,取得家长的协助,及时转化学生意识。 三、培养学生竞争意识。 如抽检学生背书,一个一个地背和两个学生一起背,效果非常不一样。一个一个地背书,积极的学生会认真准备,很快就完成背书任务。不积极的学生还是会在最后完成。两个学生一起...

前列腺炎的发病原因有哪些?
因无临床症状,常在其他疾病检查时被发现,所以缺乏发病机制的相关研究资料,可能与Ⅲ型前列腺炎的部分病因相同。前列腺炎有哪些诱发因素?不规律的性生活性生活或手淫过度频繁,会引起前列腺处于反复与持续不断的充血和水肿状态;而较长时间性生活中断,会导致前列腺液及代谢产物不能有规律地排出。另外,“忍精不射”或性...

绘声绘色造句
绘声绘色 [ huì shēng huì sè ]详细解析 把人物的声音、神色都描绘出来了。形容叙述或描写生动逼真。出处 清·朱庭珍《筱园诗话》卷一:“必使山情水性,因绘声绘色而曲得其真;务期天巧地灵,借人工人第而华传其妙。”语法 作谓语、定语、状语;用于演讲等。示例 尤其是谈她自己的儿女,...

贵南县19652284769: 注意力机制 - 搜狗百科
封璧吉优: 朋友 你好 无形的烦恼都是由生活和社会带来的 好象你看到什么 想到什么都会有烦恼 想解决这样的办法就是每一天快快乐乐的充实自己 并且每一天都要有不断的事情使自己去完成 这样首先解决了你的生活上的烦恼 而社会上的烦恼就要常常的参加有意义的活动 让自己感到并不是很孤单 让这个社会接受自己 并帮助你身边的每一个人也要如此的生活下去 还要时常的把自己的梦想和目标确定好 建立自己的事业和学业 多找一点有情趣的事情和物品 调节自己的敏感神经和自己的大脑 也要有足够的休息时间 常做一些有理由脑子的锻炼 改变一下对这个世界的看法 正确的对待人生观 社会观 世界观 在这里祝你天天开心 天天幸福吧 ....

贵南县19652284769: 孩子注意力不集中怎么办? -
封璧吉优: 孩子注意力不集中也是因为独立性,自律性和自控力不够,孩子由于受到生理发育,天生气质的影响,个体间的注意力水平是参差不齐的,但是都可以通过提高儿童的自控力来获得改善.目前国内常见的专注力训练,主要分为两个流派,一种纯粹在注意力机制上,通过感觉统合训练,改善生理机能;另一种则着眼于学习表现和学习辅导,帮助儿童改善读写习惯.长沙龅牙兔针对孩子注意力不集中出了《6+专注力训练营》而6+专注力在改善儿童注意力机制的基础上,强调帮助儿童增强内在力量,让他们获得更好的自控力,这种自控力将不仅仅表现在学习和作业上,也同时体现在情绪、人际、目标和问题解决中,更是他们获得成功的保障.

贵南县19652284769: 如何集中注意力 -
封璧吉优: 1、如果你对即将要完成的工作或学习缺乏兴趣,可以设立“期限效果.”.一般人做事时,以刚开始与快结束时效率最高.在两者之间,将会出现效率低落、缺乏注意力的现象,心理学上称之为“中间松懈”,了维持注意力,可以象马拉松选手...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网