一、Transformer结构图
从上图可以看到:
Transformer
结构主要由编码和解码两大部分组成:
(1)输入- position embedding - patch embedding
(2)编码器
- 多头注意力机制
Add & Norm
MLP Add & Norm
q,k送入解码器的交叉注意力模块
(3)输出(迭代右移)- position embedding - patch embedding
(4)解码器
- 掩码多头注意力机制
Add & Norm
v送入解码器的交叉注意力模块 - 交叉注意力机制
Add & Norm
MLP Add & Norm
(5)线性连接层
Linear
Softmax
Transformer 流程文字描述
Transformer分为编码器,掩码器两大阶段。
模型输入首先输入进编码器,会进行patch embedding,和位置编码操作。
然后会送入多头注意力机制模块,然后是残差连接和层归一化,接着是送进MLP前馈神经网络,再接残差连接和归一化。输出健向量和值向量到解码模块的交叉注意力机制模块。编码模块重复N次。
解码器模块首先也会对输入进行patch embedding和位置编码操作。
然后会送入掩码多头注意力模块,然后是残差连接和层归一化,接着是将输出的值向量,送入交叉注意力机制模块。
交叉注意力机制模块会接残差连接和层归一化,接着是送进MLP前馈神经网络。解码器模块会重复N次。
解码器的输出结果会送入线性连接层。线性连接层有Linear和softmax组成。
二、代码实现
to becontinue…