asp网站和php网站的区别,景德镇网站维护,网站和app的开发成本,沈阳微网站制作转载自 自然语言处理中的Attention Model#xff1a;是什么以及为什么[一]
自然语言处理中的Attention Model#xff1a;是什么以及为什么[一]
1、前言
要是关注深度学习在自然语言处理方面的研究进展#xff0c;我相信你一定听说过Attention Model#xff08;后文有时…转载自 自然语言处理中的Attention Model是什么以及为什么[一]
自然语言处理中的Attention Model是什么以及为什么[一]
1、前言
要是关注深度学习在自然语言处理方面的研究进展我相信你一定听说过Attention Model后文有时会简称AM模型这个词。
AM模型应该说是过去一年来NLP领域中的重要进展之一在很多场景被证明有效。听起来AM很高大上其实它的基本思想是相当直观简洁的。
本文作者可以对灯发誓在你读完这篇啰里啰嗦的文章及其后续文章后一定可以透彻了解AM到底是什么以及轻易看懂任何有关论文看上去复杂的数学公式部分。
怎么样这广告打的挺有吸引力吧尤其是对那些患有数学公式帕金森病的患者。 2、Encoder-Decoder框架
本文只谈谈文本处理领域的AM模型在图片处理或者图片-图片标题生成等任务中也有很多场景会应用AM模型但是我们此处只谈文本领域的AM模型其实图片领域AM的机制也是相同的。
要提文本处理领域的AM模型就不得不先谈Encoder-Decoder框架因为目前绝大多数文献中出现的AM模型是附着在Encoder-Decoder框架下的当然其实AM模型可以看作一种通用的思想本身并不依赖于Encoder-Decoder模型这点需要注意。
Encoder-Decoder框架可以看作是一种文本处理领域的研究模式应用场景异常广泛本身就值得非常细致地谈一下但是因为本文的注意力焦点在AM模型。
所以此处我们就只谈一些不得不谈的内容详细的Encoder-Decoder模型以后考虑专文介绍。下图是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示 Encoder-Decoder框架可以这么直观地去理解可以把它看作适合处理由一个句子或篇章生成另外一个句子或篇章的通用处理模型。
对于句子对X,Y我们的目标是给定输入句子X期待通过Encoder-Decoder框架来生成目标句子Y。
X和Y可以是同一种语言也可以是两种不同的语言。而X和Y分别由各自的单词序列构成 Encoder顾名思义就是对输入句子X进行编码将输入句子通过非线性变换转化为中间语义表示C 对于解码器Decoder来说其任务是根据句子X的中间语义表示C和之前已经生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi 每个yi都依次这么产生那么看起来就是整个系统根据输入句子X生成了目标句子Y。
Encoder-Decoder是个非常通用的计算框架至于Encoder和Decoder具体使用什么模型都是由研究者自己定的常见的比如CNN/RNN/BiRNN/GRU/LSTM/Deep LSTM等这里的变化组合非常多而很可能一种新的组合就能攒篇论文所以有时候科研里的创新就是这么简单。
比如我用CNN作为Encoder用RNN作为Decoder你用BiRNN做为Encoder用深层LSTM作为Decoder那么就是一个创新。所以正准备跳楼的憋着劲想攒论文毕业的同学可以从天台下来了当然是走下来不是让你跳下来。
你可以好好琢磨一下这个模型把各种排列组合都试试只要你能提出一种新的组合并被证明有效那恭喜你施主你可以毕业了。
扯远了再拉回来。 3、总结
Encoder-Decoder是个创新游戏大杀器一方面如上所述可以搞各种不同的模型组合另外一方面它的应用场景多得不得了比如对于机器翻译来说X,Y就是对应不同语言的句子比如X是英语句子Y是对应的中文句子翻译。
再比如对于文本摘要来说X就是一篇文章Y就是对应的摘要
再比如对于对话机器人来说X就是某人的一句话Y就是对话机器人的应答再比如……总之太多了。哎那位施主听老衲的话赶紧从天台下来吧无数创新在等着你发掘呢。 由于篇幅不宜过多后面的内容在自然语言处理中的Attention Model是什么以及为什么[二]中推送。