transformer模型_预训练模型-Transformer

transformer模型_预训练模型-Transformer_第1张图片

Transformer

1 整体结构

如图所示即为Transformer整体结构,分为Encoder和Decoder:

transformer模型_预训练模型-Transformer_第2张图片

Encoder和Decoder都是由6个Identical Layer子层stack而成,Encoder和Decoder中Identical Layer的构成分别为:

  • Encoder Identical Layer:
    • MHA subLayer(Self Attention)
    • Residual conneation & Layer Normaization
    • Feed-Forward subLayer
    • Residual conneation & Layer Normaization
  • Decoder Identical Layer:
    • Masked MHA subLayer(Self Attention)
    • Residual conneation & Layer Normaization
    • MHA subLayer(Encoder)
    • Residual conneation & Layer Normaization
    • Feed-Forward subLayer
    • Residual conneation & Layer Normaization

transformer模型_预训练模型-Transformer_第3张图片

Transformer的详细构成为:

transformer模型_预训练模型-Transformer_第4张图片

Encoder工作过程图示:

transformer模型_预训练模型-Transformer_第5张图片

Dncoder工作过程图示:

2 多头注意力机制(Multi-Head Attention,MHA)

加入缩放因子的点积注意力机制(Scaled dot product attention)为:

根据

之间的相关性来选择
,缩放

transformer模型_预训练模型-Transformer_第6张图片

多头注意力机制(Multi-Head Attention,MHA)的过程为:

  • 把输入的
    经过一个线性映射之后将维度分为
  • 对每一份进Scaled dot product attention
  • 将各部分结果合并起来,再次经过线性映射得到输出

即为:

transformer模型_预训练模型-Transformer_第7张图片

这样做的好处为:可以允许模型在不同的表示子空间里面学习到相关的信息,如图所示:

transformer模型_预训练模型-Transformer_第8张图片

3 Position-wise Feed-Forward Networks

由两个线性变换和ReLU激活函数构成:

4 Layer Normalization

Batch Normalization和Layer Normalization的区别主要在于数据的归一化维度不同,从下了图示中可以看出

Batch Normalization:

transformer模型_预训练模型-Transformer_第9张图片

Layer Normalization:

transformer模型_预训练模型-Transformer_第10张图片

5 Residual connection

残差连接中增加了一个输入x,使该层网络对x求偏导时,多了一个常数项1,避免层数加深时梯度消失的问题

transformer模型_预训练模型-Transformer_第11张图片

CNN:https://zhuanlan.zhihu.com/p/96962364

6 Positional encoding

Positional encoding是将序列中词语出现的位置Pos编码为d维的向量,在偶数维度使用正弦编码,在奇数维度使用余弦编码

  • 不同的维度对应的波长成等比数列
  • 不同的pos对应不同波长正弦、余弦曲线的拼接

如图为20个词(行),512维(列)的Positional encoding。左半部分由正弦函数生成,右半部分由余弦函数生成,数值范围为[-1,1],进行可视化

transformer模型_预训练模型-Transformer_第12张图片

7 Mask

Padding mask: 每个batch的输入序列长度是不同的,对输入序列进行对齐,在较短的序列后面填充0。在进行Attention机制时,使这些位置变为负无穷,经过Softmax后概率接近于0

Sequence mask: 在time_step为t时,Decoder只取决于t时刻之前的输出,把t时刻之后的信息给隐藏起来。允许的每个目标词(行),查看的位置(列),产生一个上三角矩阵,上三角的值全为1,下三角的值全为0,对角线也是0

transformer模型_预训练模型-Transformer_第13张图片

8 Why Self-Attention

transformer模型_预训练模型-Transformer_第14张图片

9 参考资料

[1] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need [C]//Advances in Neural Information Processing Systems. 2017: 5998-6008.

[2] http://jalammar.github.io/illustrated-transformer

你可能感兴趣的:(transformer模型)