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
在训练时控制词可见性