Machine Learning & Recommendation & NLP & DL

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

2019-02-24  本文已影响2人  我的昵称违规了
新建 Microsoft PowerPoint 演示文稿 (2).jpg

这个算是在课程学习之外的探索,不过希望能尽快用到项目实践中。在文章里会引用较多的博客,文末会进行reference。
搜索Transformer机制,会发现高分结果基本上都源于一篇论文Jay Alammar的《The Illustrated Transformer》(图解Transformer),提到最多的Attention是Google的《Attention Is All You Need》。

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。

基于上面的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的方式有三种,


image.png

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

上一篇下一篇

猜你喜欢

热点阅读