(zhuan) 自然语言处理中的Attention Model:是什么及为什么

  • 时间:
  • 浏览:1
  • 来源:大发快3官方直播—彩神UU快三代理

图6是论文“A Neural Attention Model for Sentence Summarization”中,Rush用AM模型来做生成式摘要给出的一一一3个 AM的一一一3个 非常直观的例子。

                                               

扯远了,再拉回来。



|Encoder-Decoder框架

假设Ci中那个i否则里边的“汤姆”,没人 Tx否则3,代表输入励志的话 的长度,h1=f(“Tom”),h2=f(“Chase”),h3=f(“Jerry”),对应的注意力模型权值分别是0.6,0.2,0.2,许多许多g函数否则个加权求和函数。以前形象表示励志的话 ,翻译中文单词“汤姆”的以前,数学公式对应的里边语义表示Ci的形成过程累似 下图:

这里还有一一一3个 问題:生成目标励志的话 某个单词,比如“汤姆”的以前,你为社 知道AM模型所没人 的输入励志的话 单词注意力分配概率分布值呢?否则说“汤姆”对应的概率分布:

                                     

最后是广告:关于AM,朋友除了本文,下周也有有续集:从AM来谈谈两种科研创新模式,请从不转台,继续关注,谢谢。

没人 用下图还并能较为便捷地说明注意力分配概率分布值的通用计算过程:

而每个Ci以前对应着不同的源语励志的话 单词的注意力分配概率分布,比如对于里边的英汉翻译来说,其对应的信息以前如下:

我觉得吧,层厚学习里边的注意力模型工作机制啊,它跟你看见心动异性时荷尔蒙驱动的注意力分配机制是一样一样的。

                                    图1. 抽象的Encoder-Decoder框架

                      

每个yi都依次没人 产生,没人 看起来否则整个系统根据输入励志的话 X生成了目标励志的话 Y。

   

其中f是decoder的非线性变换函数。从这还并并能看出,在生成目标励志的话 的单词时,不论生成哪个单词,是y1,y2也好,还是y3也好,朋友使用的励志的话 X的语义编码C也有一样的,没人 任何区别。而语义编码C是由励志的话 X的每个单词经过Encoder 编码产生的,这原因分析分析不论是生成哪个单词,y1,y2还是y3,我觉得励志的话 X中任意单词对生成某个目标单词yi来说影响力也有相同的,没人 任何区别(我觉得以前Encoder是RNN励志的话 ,理论上越是后输入的单词影响越大,从不等权的,估计这也是为社 Google提出Sequence to Sequence模型时发现把输入励志的话 逆序输入做翻译效果会更好的小Trick的原因分析分析)。这否则为社 说这人 模型没人 体现出注意力的缘由。同累似 于你看后手中的画面,否则没人 注意焦点一样。以前拿机器翻译来解释这人 分心模型的Encoder-Decoder框架更好理解,比如输入的是英文励志的话 :Tom chase Jerry,Encoder-Decoder框架逐步生成中文单词:“汤姆”,“追逐”,“杰瑞”。在翻译“杰瑞”这人 中文单词的以前,分心模型里边的每个英文单词对于翻译目标单词“杰瑞”贡献是相同的,很明显这里不太合理,显然“Jerry”对于翻译成“杰瑞”更重要,否则分心模型是无法体现这人 点的,这否则为社 说它没人 引入注意力的原因分析分析。没人 引入注意力的模型在输入励志的话 比较短的以前估计问題不大,否则以前输入励志的话 比较长,此时所有语义完全通过一一一3个 里边语义向量来表示,单词自身的信息以前消失,可想而知会丢失许多许多细节信息,这也是为社 要引入注意力模型的重要原因分析分析。

否则关注层厚学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有也有简称AM模型)这人 词。AM模型应该说是过去一年来NLP领域中的重要进展之一,在许多许多场景被证明有效。听起来AM很高大上,我觉得它的基本思想是相当直观简洁的。本文作者还并能对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,一定还并能透彻了解AM到底是哪些,以及轻易看懂任何有关论文看上去比较复杂的数学公式累积。为社 样,这广告打的挺有吸引力吧,尤其是对哪些患有数学公式帕金森病的患者。

要提文本处理领域的AM模型,就不得不先谈Encoder-Decoder框架,以前目前绝大多数文献中老出的AM模型是附着在Encoder-Decoder框架下的,当然,我觉得AM模型还并能看作两种通用的思想,两种从不依赖于Encoder-Decoder模型,这点没人 注意。

本文只谈谈文本处理领域的AM模型,在图片处理以前(图片-图片标题)生成等任务中也有许多许多场景会应用AM模型,但也有朋友此处只谈文本领域的AM模型,我觉得图片领域AM的机制也是相同的。

为了便于说明,朋友假设对图1的非AM模型的Encoder-Decoder框架进行细化,Encoder采用RNN模型,Decoder也采用RNN模型,这是比较常见的两种模型配置,则图1的图转换为下图:

(Tom,0.3)(Chase,0.2)(Jerry,0.5)

|引言及废话

图1中展示的Encoder-Decoder模型是没人 体现出“注意力模型”的,许多许多还并能把它看作是注意力不集中的分心模型。为哪些说它注意力不集中呢?请观察下目标励志的话 Y中每个单词的生成过程如下:

                                                            图6 励志的话 生成式摘要例子

                                                                                 图5  AM注意力分配概率计算

|Attention Model

在正戏开演前,朋友先来点题外话。

是怎样才能得到的呢?

                                                               

其中,f2函数代表Encoder对输入英文单词的两种变换函数,比如以前Encoder是用的RNN模型励志的话 ,这人 f2函数的结果往往是某个时刻输入xi后隐层节点的请况值;g代表Encoder根据单词的里边表示合成整个励志的话 里边语义表示的变换函数,一般的做法中,g函数否则对构成元素加权求和,也否则常常在论文里看后的下列公式:

上述内容否则论文里边常常提到的Soft Attention Model的基本思想,你能在文献里边看后的大多数AM模型基本否则这人 模型,区别很以前否则把这人 模型用来处理不同的应用问題。没人 为社 理解AM模型的物理含义呢?一般文献里会把AM模型看作是单词对齐模型,这是非常有道理的。目标励志的话 生成的每个单词对应输入励志的话 单词的概率分布还并能理解为输入励志的话 单词和这人 目标生成单词的对齐概率,这在机器翻译语境下是非常直观的:传统的统计机器翻译一般在做的过程中会专门有一一一3个 短语对齐的步骤,而注意力模型我觉得起的是相同的作用。在许多应用里边把AM模型理解成输入励志的话 和目标励志的话 单词之间的对齐概率也是很顺畅的想法。

每个英文单词的概率代表了翻译当前单词“杰瑞”时,注意力分配模型分配给不同英文单词的注意力大小。这对于正确翻译目标语单词肯定是有帮助的,以前引入了新的信息。同理,目标励志的话 中的每个单词都应该协会其对应的源语励志的话 中单词的注意力分配概率信息。这原因分析分析在生成每个单词Yi的以前,否则也有相同的里边语义表示C会替加在根据当前生成单词而不断变化的Ci。理解AM模型的关键否则这里,即由固定的里边语义表示C加在了根据当前输出单词来调整成加入注意力模型的变化的Ci。增加了AM模型的Encoder-Decoder框架理解起来如图2所示。

                                        

Encoder顾名思义否则对输入励志的话 X进行编码,将输入励志的话 通过非线性变换转化为里边语义表示C:

                            

                                           

                                           

                                                            

注意力这东西我觉得挺有意思,否则很容易被人忽略。让朋友来直观地体会一下哪些是人脑中的注意力模型。首先,请您睁开眼并确认此人 居于意识清醒请况;第二步,请找到本文最近老出的一一一3个 “Attention Model”字眼(否则“字眼”前面的一一一3个 英文单词,…^@@^)并盯住看三秒钟。好,假设此刻时间停止,在这三秒钟你眼中和脑中看后的是哪些?对了,否则“Attention Model”这其他人 词,但也有你应该意识到,我觉得你眼中是有除了这其他人 单词外的整个一副画面的,否则在你盯着看的这三秒钟,时间静止,万物无息,仿佛这人 世界没人 我和你…..对不起,串景了,仿佛这人 世界没人 “Attention Model”这其他人 单词。这是哪些?这否则人脑的注意力模型,否则说你看后了整幅画面,但在特定的时刻t,你的意识和注意力的焦点是集中在画面中的某一一一3个 累积上,其它累积觉得还在你的眼中,但也有你分配给它们的注意力资源是很少的。我觉得,否则你睁着眼,注意力模型就无时不刻在你身上发挥作用,比如你过马路,我觉得你的注意力会被更多地分配给红绿灯和来往的车辆上,觉得此时你看后了整个世界;比如你很精心地偶遇到了你心仪的异性,此刻你的注意力会更多的分配在此时神光四射的异性身上,觉得此刻你看后了整个世界,否则它们对你来说跟不居于是一样的…..

这否则人脑的注意力模型,说到底是两种资源分配模型,在某个特定时刻,你的注意力一个劲集中在画面中的某个焦点累积,而对其它累积视而不见。

里边的例子中,以前引入AM模型励志的话 ,应该在翻译“杰瑞”的以前,体现出英文单词对于翻译当前中文单词不同的影响程度,比如给出累似 下面一一一3个 概率分布值:

你应该常常听到被捉奸在床的男性一个劲感叹地说励志的话 :女人爱的第六感通常都很准,当然这里的女人爱一般是特指这位男性的女人爱以前女友,当然也以前是他的某位具有女人爱气质的前明星微博 见面见面。要朋友说,女人爱的第六感我觉得否则差(这里的“女人爱”特指本文作者此人 ,当然非上文所引用的“男性”,为处理混淆特做声明)。当我第一次看后机器学习领域中的Attention Model这人 名字的以前,我的第一个劲觉否则:这是从认知心理学里边的人脑注意力模型引入的概念。若干年前,也否则在我年轻不懂事的花样时光英文图片 里,曾有一阵子沉迷于人脑的工作机制,絮状阅读了认知心理学方面的书籍和论文,而一般注意力模型会作为书籍的单独一章来讲。下面请允许我显摆一下鄙人渊博的知识。

对于采用RNN的Decoder来说,以没人 生成yi单词,在时刻i,朋友是还并能知道在生成Yi以前的隐层节点i时刻的输出值Hi的,而朋友的目的是要计算生成Yi时的输入励志的话 单词“Tom”、“Chase”、“Jerry”对Yi来说的注意力分配概率分布,没人 还并能用i时刻的隐层节点请况Hi去一一和输入励志的话 中每个单词对应的RNN隐层节点请况hj进行对比,即通过函数F(hj,Hi)来获得目标单词Yi和每个输入单词对应的对齐以前性,这人 F函数在不同论文里以时会采取不同的最好的方式,否则函数F的输出经过Softmax进行归一化就得到了符合概率分布取值区间的注意力分配概率分布数值。图5显示的是当输出单词为“汤姆”时刻对应的输入励志的话 单词的对齐概率。绝大多数AM模型也有采取上述的计算框架来计算注意力分配概率分布信息,区别否则在F的定义上以前有所不同。

(Tom,0.6)(Chase,0.2)(Jerry,0.2)

Encoder-Decoder是个创新游戏大杀器,一方面如上所述,还并能搞各种不同的模型组合,另外一方面它的应用场景多得不得了,比如对于机器翻译来说,<X,Y>否则对应不同语言的励志的话 ,比如X是英语励志的话 ,Y是对应的中文励志的话 翻译。再比如对于文本摘要来说,X否则一篇文章,Y否则对应的摘要;再比如对于对话机器人来说,X否则某人的励志的话 ,Y否则对话机器人的应答;再比如……总之,很多了。哎,那位施主,听老衲励志的话 ,赶紧从天台下来吧,无数创新在等着你发掘呢。

好,前戏刚开始了了,正戏开场。

当然,我觉得从概念上理解励志的话 ,把AM模型理解成影响力模型也是合理的,否则说生成目标单词的以前,输入励志的话 每个单词对于生成这人 单词有多大的影响程度。这人 想法也是比较好理解AM模型物理意义的两种思维最好的方式。

即生成目标励志的话 单词的过程成了下面的形式:

对于解码器Decoder来说,其任务是根据励志的话 X的里边语义表示C和以前以前生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi 

                                                                         图3 Ci的形成过程

这人 例子中,Encoder-Decoder框架的输入励志的话 是:“russian defense minister ivanov called sunday for the creation of a joint front for combating global terrorism”。对应图中纵坐标的励志的话 。系统生成的摘要励志的话 是:“russia calls for joint front against terrorism”,对应图中横坐标的励志的话 。还并能看出模型以前把励志的话 主体累积正确地抽出来了。矩阵中每一列代表生成的目标单词对应输入励志的话 每个单词的AM分配概率,颜色深一点代表分配到的概率越大。这人 例子对于直观理解AM是很有帮助作用的。                

Encoder-Decoder是个非常通用的计算框架,至于Encoder和Decoder具体使用哪些模型也有由研究者此人 定的,常见的比如CNN/RNN/BiRNN/GRU/LSTM/Deep LSTM等,这里的变化组合非常多,而很以前两种新的组合就能攒篇论文,许多许多有以前科研里的创新否则没人 简单。比如我用CNN作为Encoder,用RNN作为Decoder,你用BiRNN做为Encoder,用层厚LSTM作为Decoder,没人 否则一一一3个 创新。许多许多正准备跳楼的憋着劲想攒论文毕业的同学还并能从天台下来了,当然是走下来,也有让他跳下来,让他好好琢磨一下这人 模型,把各种排列组合都试试,否则你能提出两种新的组合并被证明有效,那恭喜你:施主,让他毕业了。

                                                                        图4  RNN作为具体模型的Encoder-Decoder框架

                                             图2  引入AM模型的Encoder-Decoder框架

                                 

Encoder-Decoder框架还并能没人 直观地去理解:还并能把它看作适合处理由一一一3个 励志的话 (或篇章)生成另外一一一3个 励志的话 (或篇章)的通用处理模型。对于励志的话 对<X,Y>,朋友的目标是给定输入励志的话 X,期待通过Encoder-Decoder框架来生成目标励志的话 Y。X和Y还并能是同两种语言,也还并能是两种不同的语言。而X和Y分别由每其他人的单词序列构成:

Encoder-Decoder框架还并能看作是两种文本处理领域的研究模式,应用场景异常广泛,两种就值得非常细致地谈一下,否则以前本文的注意力焦点在AM模型,许多许多此处朋友就只谈许多不得不谈的内容,完全的Encoder-Decoder模型以前考虑专文介绍。下图是文本处理领域里常用的Encoder-Decoder框架最抽象的两种表示: