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

  • 时间:
  • 浏览:1
  • 来源:uu快3官方邀请码_uu快3app赚钱_彩神8

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

对于解码器Decoder来说,其任务是根据一段话X的中间语义表示C和之后假使 生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi 

Encoder-Decoder框架能要能 能要能了直观地去理解:能要能 把它看作适合处里由有有一个多一段话(或篇章)生成另外有有一个多一段话(或篇章)的通用处里模型。对于一段话对<X,Y>,我门都的目标是给定输入一段话X,期待通过Encoder-Decoder框架来生成目标一段话Y。X和Y能要能 是同四种 语言,要能要能 是四种 不同的语言。而X和Y分别由各自 的单词序列构成:

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

                            

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

|引言及废话

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

                                                                         图3 Ci的形成过程

                                               

                                    图1. 抽象的Encoder-Decoder框架

最后是广告:关于AM,我门都除了本文,下周时会有续集:从AM来谈谈四种 科研创新模式,请越多转台,继续关注,谢谢。

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

                                     

对于采用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的定义上假使 有所不同。

假设Ci中那个i就说 中间的“汤姆”,能要能了Tx就说 3,代表输入一段话的长度,h1=f(“Tom”),h2=f(“Chase”),h3=f(“Jerry”),对应的注意力模型权值分别是0.6,0.2,0.2,一点一点g函数就说 个加权求和函数。假使 形象表示一段话,翻译中文单词“汤姆”的之后,数学公式对应的中间语义表示Ci的形成过程累似 下图:

|Attention Model

                                                            

真是 吧,淬硬层 学习中间的注意力模型工作机制啊,它跟你看见心动异性时荷尔蒙驱动的注意力分配机制是一样一样的。

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

                                                            图6 一段话生成式摘要例子

在正戏开演前,我门都先来点题外话。

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

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

                                           

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

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

Encoder顾名思义就说 对输入一段话X进行编码,将输入一段话通过非线性变换转化为中间语义表示C:

要提文本处里领域的AM模型,就不得不先谈Encoder-Decoder框架,假使 目前绝大多数文献中冒出的AM模型是附着在Encoder-Decoder框架下的,当然,真是 AM模型能要能 看作四种 通用的思想,四种 越多依赖于Encoder-Decoder模型,这点能要能了注意。

而每个Ci假使 对应着不同的源语一段话单词的注意力分配概率分布,比如对于中间的英汉翻译来说,其对应的信息假使 如下:

中间的例子中,假使 引入AM模型一段话,应该在翻译“杰瑞”的之后,体现出英文单词对于翻译当前中文单词不同的影响程度,比如给出累似 下面有有一个多概率分布值:

                      

你这一 例子中,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是很有帮助作用的。                

你应该常常听到被捉奸在床的男性一个劲感叹地说一段话:男人的女人的女人的第六感通常都很准,当然这里的男人的女人的女人一般是特指这位男性的男人的女人假使 女友,当然也假使 是他的某位具有男人的女人的女人气质的女日本日本外国网友。让你知道你,男人的女人的第六感真是 就说 差(这里的“男人的女人”特指本文作者各自 ,当然非上文所引用的“男性”,为处里混淆特做声明)。当我第一次看后机器学习领域中的Attention Model你这一 名字的之后,我的第一个劲觉就说 :这是从认知心理学中间的人脑注意力模型引入的概念。若干年前,也就说 在我年轻不懂事的花样时空里,曾有一阵子沉迷于人脑的工作机制,少量阅读了认知心理学方面的书籍和论文,而一般注意力模型会作为书籍的单独一章来讲。下面请允许我显摆一下鄙人渊博的知识。

                                           

好,前戏刚现在开使,正戏开场。

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

Encoder-Decoder框架能要能 看作是四种 文本处里领域的研究模式,应用场景异常广泛,四种 就值得非常细致地谈一下,假使 假使 本文的注意力焦点在AM模型,一点一点此处我门都就只谈一点不得不谈的内容,删改的Encoder-Decoder模型之后考虑专文介绍。下图是文本处里领域里常用的Encoder-Decoder框架最抽象的四种 表示:

当然,我真是 从概念上理解一段话,把AM模型理解成影响力模型也是合理的,就说 说生成目标单词的之后,输入一段话每个单词对于生成你这一 单词有多大的影响程度。你这一 想法也是比较好理解AM模型物理意义的四种 思维土最好的办法。



|Encoder-Decoder框架

这里还有有有一个多难题图片:生成目标一段话某个单词,比如“汤姆”的之后,你为什么我么我知道AM模型所能要能了的输入一段话单词注意力分配概率分布值呢?就说 说“汤姆”对应的概率分布:

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

是怎么得到的呢?

   

                                                               

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

扯远了,再拉回来。

上述内容就说 论文中间常常提到的Soft Attention Model的基本思想,你能在文献中间看后的大多数AM模型基本就说 你这一 模型,区别很假使 就说 把你这一 模型用来处里不同的应用难题图片。能要能了为什么我么我理解AM模型的物理含义呢?一般文献里会把AM模型看作是单词对齐模型,这是非常有道理的。目标一段话生成的每个单词对应输入一段话单词的概率分布能要能 理解为输入一段话单词和你这一 目标生成单词的对齐概率,这在机器翻译语境下是非常直观的:传统的统计机器翻译一般在做的过程中会专门有有有一个多短语对齐的步骤,而注意力模型真是 起的是相同的作用。在一点应用中间把AM模型理解成输入一段话和目标一段话单词之间的对齐概率也是很顺畅的想法。

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

本文只谈谈文本处里领域的AM模型,在图片处里假使 (图片-图片标题)生成等任务中时会一点一点场景会应用AM模型,但有你在们此处只谈文本领域的AM模型,真是 图片领域AM的机制也是相同的。

每个yi都依次能要能了产生,能要能了看起来就说 整个系统根据输入一段话X生成了目标一段话Y。

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

                                 

                                        

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

其中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”对于翻译成“杰瑞”更重要,假使 分心模型是无法体现你这一 点的,这就说 为什么我么我说它能要能了引入注意力的由于分析。能要能了引入注意力的模型在输入一段话比较短的之后估计难题图片不大,假使 假使 输入一段话比较长,此时所有语义删改通过有有一个多中间语义向量来表示,单词自身的信息假使 消失,可想而知会丢失一点一点细节信息,这也是为什么我么我要引入注意力模型的重要由于分析。

图1中展示的Encoder-Decoder模型是能要能了体现出“注意力模型”的,一点一点能要能 把它看作是注意力不集中的分心模型。为哪些地方说它注意力不集中呢?请观察下目标一段话Y中每个单词的生成过程如下: