原文链接https://jalammar.github.io/illustrated-transformer/
所需知识储备: RNN, Seq2Seq序列模型,Residual残差计算...
自从Attention is All you need 这篇文章发布后,Transformer火的一塌糊涂,热度不低于Bert。接下来让我们一起领略这个号称可以取代RNN,CNN的结构究竟是什么。
概览:
以机器翻译任务来示例,Transformer有着上述的黑盒结构,里面是多层的encoder和decoder:
其中每一个encoder单元有着完全相同的结构(但是并不互相共享权重),每个encoder单元可以分为两层:
encoder的输入首先流入Self-Attention单元,然后进入feed forward network(FFNN),之后完全相同的FFNN被应用在相同位置。
Decoder 的结构与上面的类似,但是中间又多了一个attention层,这使得解码时能够集中在输入句子的最相关部分(与seq2seq模型中使用attention的方法类似):
在上述模型中加入Tensor:
这一部分看图就行,先是词嵌入的表示,然后词嵌入输入encoder:
在这里,我们开需要注意Transformer