找回密码
 立即注册
搜索

自然言语处理N天-Transformer学习(从seq2seq到Attention02)




这个算是在课程学习之外的探求,不过希望能尽快用到项目实际中。在文章里会援用较多的博客,文末会停止reference。

搜索Transformer机制,会发现高分结果基本上都源于一篇论文Jay Alammar的《The Illustrated Transformer》(图解Transformer),提到最多的Attention是Google的《Attention Is All You Need》。
    对于Transformer的运转机制了解即可,所以会基于这篇论文来学习Transformer,结合《Sklearn+Tensorflow》中Attention留意力机制一章完成基本的概念学习;找一个基于Transformer的项目练手

2.进入Transformer

本节内容学习自《从Seq2seq到Attention模型到Self Attention》

上一节引见了seq2seq和attention model,其中attention model由于运用的是RNN,无法做到平行化处理,导致训练工夫很长,直到2017年Google提出了Transformer模型。

本节中,教程将引见Transformer模型。

Transformer模型次要包括了两大特点:self-attention 和 Multi-head。“The transformer”和Seq2seq模型皆包含两部分:Encoder和Decoder。

比较特别的是,”The transformer”中的Encoder是由6个Encoder堆积而成(paper当中N=6),Deocder异样也是运用6个Decoder堆积而成,这和过去的attention model只运用一个encoder/decoder是不同的。

Query、Key、Value

教程在这里引见了attention model的两种解读方式,同时也阐明了如何从attention model转到Transformer。
    在attention model中context vector(c_{i})是由attention score和input的乘积加权求和得到,hidden state(h_{t})是由输入句产生。context vector(c_{i})hidden state(h_{t})可以计算目的句。在attention is all you need 中运用了另一种说法重新解释输入句中的每个文字是由一系列成对的 <地址Key, 元素Value>所构成,而目的中的每个文字是Query,就可以用Key, Value, Query去重新解释如何计算context vector。 经过计算目的Query和输入句中各个Key的相似性,得到每个Key对应Value的权重(权重代表讯息的重要性,即attention score);Value则是对应的讯息,再对Value停止加权求和,得到最终的context vector。

基于下面的Query、Key、Value,可以将之前attention model的Decoder公式停止重写(这算是重点吧)。

score e_{ij}=Similarity(Query, Key_{i})

运用softmax计算attention score(a_{i})$softmax(sim_{i})=a_{i}$,进一步将attention score a_{i}乘上Value_{i}的序列和加总所得 = Attention(Query, Source)即context vector

好吧,这部分公式推导我没好好看,直接照搬了。有兴味的话可以对比一下。

三种attention类型

Transformer计算attention的方式有三种,
    encoder self attention,在encoder中.decoder self attention,在decoder中,encoder-decoder attention, 这种attention算法和过去的attention model相似。

分割线以下为Transformer的运转机制,最后我真实是看不懂,只能先列出来,找个例子敲出来试试看吧……

这张著名的图了。




encoder





计算encoder self attention

计算Multi-head attention

Residual Connections




Position-wise Feed-Forward Networks




Positional Encoding

decoder





Masked multi-head attention

The Final Linear and Softmax Layer


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评2

宁莹莹 2019-4-28 14:28:28 显示全部楼层
占坑编辑ing
回复

使用道具 举报

emyx 2019-4-29 07:08:29 显示全部楼层
支持,楼下的跟上哈~
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies