请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

快捷登录

搜索

自然言语处理进阶学习-Attention 模型

一、背景

明天打算讲述最近NLP中很火的一个概念,Attention(留意力机制),原意是指机器在做阅读了解、文本分类、翻译等义务时,应该要抓取重点,如阅读了解应该是抓取和成绩相关的句子或者词语,文本分类如情感分析应该是次要将留意力集中在和情感相关的词上,翻译中应该次要翻译出主谓宾等次要句子成分。希望机器不是囫囵吞枣的阅读,而是基于义务针对性的的做语义的了解。有很多论文都表示各种Attention在不同的NLP义务中都有很好的效果,这篇文章次要讲述其中比较有名的两篇,《Attentive Pooling Networks》和《Attention Is All You Need》,第一篇次要是承上启下做同义词的婚配,是对上篇文章(自然言语处理入门学习十)中的CDSSM这个模型的改进,第二篇则是2017年的爆款论文,次要运用于机器翻译。

二、留意力机制在NLP中的运用

CDSSM是用来做句子的婚配的模型,次要是先将句子对运用两个向量来表征(CNN Embedding),然后将余弦函数用作两个句子之间的语义间隔,最后将这个语义间隔函数当做损失函数来不断优化。

2.1 Attentive Pooling Networks

《Attentive Pooling Networks》是一个做问答对婚配的模型,次要是在向量表征和余弦函数的间隔之间添加了Attention层,这样成绩向量表征上就能得到答案的信息,答案向量表征上就能得到成绩的信息。如单独对“How old are you?”和“How are you?”成绩的向量表征能够非常相近,但是理想能够是完全不同的两个成绩。但是假如对“How old are you?“I am 18.”和“How are you?”“I’m fine”,将成绩和答案的信息都思索出去,这样就可以很分明的区分“How old are you?”和“How are you?”这两句话实践是两个成绩。

自然言语处理进阶学习-Attention 模型-1.jpg

图1:Attentive Pooling Networks



文章中很巧妙的构造了Attentive Pooling层G,

自然言语处理进阶学习-Attention 模型-2.jpg



其中Q是成绩的向量表征,A是答案的向量表征,U是参数矩阵,是可以经过神经网络学习得到的。然后分别做基于行的max-pooling和基于列的max-pooling,得到Attention层中重要的信息。

自然言语处理进阶学习-Attention 模型-3.jpg



这样成绩向量中就会存在答案的信息,答案向量中就会存在成绩的信息。然后再分别做softmax归一化之后再乘上末尾成绩和答案的向量表征,表示提取出看过成绩和答案之后,成绩和答案中的重要词语分别做的向量表征。

自然言语处理进阶学习-Attention 模型-4.jpg



Loss函数的计算和CDSSM的Loss函数计算一样。

再来反思这个模型最值得学习的地方,当我们在做问答对的婚配这个义务的时分,不能再单独的对成绩和答案分别停止向量表征,而是得在看过成绩和答案之后,觉得针对这个答案该成绩应该留意哪几个词,针对这个成绩,答案中重要的词又是哪几个,这样才能做出好的成绩对婚配中的句子向量的表征。

着重引见这篇文章的最大的目的是在于承上,是对CDSSM这个模型的改进,启下,是对于下一篇文章GAN在检索中的运用IRGAN做的铺垫。(IRGAN的QA检索中的判别模型和生成模型都是用的Attentive Pooling。)

论文中展现的这个模型的效果:

自然言语处理进阶学习-Attention 模型-5.jpg




三、参考文献

1、Attentive Pooling Networks

2、Attention Is All You Need

原文链接:https://zhuanlan.zhihu.com/p/40006082
回复

使用道具 举报

大神点评4

不日不月 2019-6-9 05:49:19 显示全部楼层
分享了
回复

使用道具 举报

易碎的琉璃 2019-6-9 16:22:13 来自手机 显示全部楼层
赞一个!
回复

使用道具 举报

xiao1521 2019-6-10 14:48:27 显示全部楼层
除了666我无话可说
回复

使用道具 举报

执卓a一生 2019-6-11 14:05:26 显示全部楼层
厉害啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册