初步理解Transformer
Transformer
http://jalammar.github.io/illustrated-transformer/
https://zhuanlan.zhihu.com/p/48508221
Transformer结构图
详细一点的结构图
更详细一点的结构图
如论文中所设置的,编码器由6个编码block组成,同样解码器是6个解码block组成:
Encoder的结构图
Decoder的结构如图所示
它和encoder的不同之处在于Decoder多了一个Encoder-Decoder Attention,两个Attention分别用于计算输入和输出的权值:
- Self-Attention:当前翻译和已经翻译的前文之间的关系;
- Encoder-Decnoder Attention:当前翻译和编码的特征向量之间的关系。
每个结构更加详细的解释:
1、对输入进行Embedding特征化
2、输入在Encoder层
下图为更详细的解释(其实没有区别)
得到 Z Z Z 之后,它会被送到encoder的下一个模块,即Feed Forward Neural Network。这个全连接有两层,第一层的激活函数是ReLU,第二层是一个线性激活函数,可以表示为:
FFN ( Z ) = max ( 0 , Z W 1 + b 1 ) W 2 + b 2 \operatorname{FFN}(Z)=\max \left(0, Z W_{1}+b_{1}\right) W_{2}+b_{2} FFN(Z)=max(0,ZW1+b1)W2+b2