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

在训练时控制词可见性