发布于 

「技术」Transformer 结构分析

Input Embedding

将 token 转化为向量

Positional Encoding

网络结构不包含位置信息,编码引入

Scaled Dot-Product & Multi-Head Attention

\[ Q=W^QX,K=W^KX,V=W^VX \]

Scaled Dot-Product Attention

\[ \text{Attention}(Q, K, V)=\text{softmax}(\frac{QK^T}{\sqrt{d_k}})V \]

Multi-Head Attention

\[ \begin{aligned} \text{MultiHead}(Q, K, V )&=\text{Concat}(\text{head}_1,\text{head}_2,\cdots,\text{head}_h)W^O\\ \text{where}\ \text{head}_i &=\text{Attention}(QW_i^Q,KW_i^K,VW_i^V) \end{aligned} \]

多头注意力中每个自注意力生成 \(d_k=d_{model}/h\) 维的特征, 使用 Concat + 线性层将各特征混合

Add & Norm

  • Add:防止退化
  • Norm:防止梯度消失
  • shortcut

Feed Forward

全连接层 + ReLU + 全连接层, 增强拟合能力

Mask Multi-Head Attention

在训练时控制词可见性