把注意力装回原版 Transformer

按数据的依赖顺序播放。这里把重复层折叠,交叉注意力读取的 memory 始终来自编码器。

编码器与解码器的两条数据路径源序列先编码为 H,目标侧的掩码自注意力得到 T,再用 T 查询 H,最后输出下一词的概率。解码器 · 6 层源序列嵌入 + 位置编码
X∈Rn×512X\in\mathbb{R}^{n\times512}
编码器 · 6 层多头自注意力逐位置前馈网络均含 Add & Norm
H∈Rn×512H\in\mathbb{R}^{n\times512}
源句只需编码一次各目标层复用记忆目标前缀嵌入 + 位置编码
Y∈Rm×512Y\in\mathbb{R}^{m\times512}
掩码自注意力仅读取可见前缀
T∈Rm×512T\in\mathbb{R}^{m\times512}
Add & Norm
交叉注意力
Q:  TK,V:  H\begin{gathered}Q:\;T\\K,V:\;H\end{gathered}
Add & Norm前馈网络逐位置处理Add & Norm
下一词概率
p(yt∣y<t,x)p(y_t\mid y_{<t},x)
Linear + softmax
编码器与解码器的两条数据路径源序列先编码为 H,目标侧的掩码自注意力得到 T,再用 T 查询 H,最后输出下一词的概率。解码器 · 6 层源序列嵌入 + 位置编码
X∈Rn×512X\in\mathbb{R}^{n\times512}
编码器 · 6 层多头自注意力逐位置前馈网络均含 Add & Norm
H∈Rn×512H\in\mathbb{R}^{n\times512}
源句只需编码一次各目标层复用记忆目标前缀嵌入 + 位置编码
Y∈Rm×512Y\in\mathbb{R}^{m\times512}
掩码自注意力仅读取可见前缀
T∈Rm×512T\in\mathbb{R}^{m\times512}
Add & Norm
交叉注意力
Q:  TK,V:  H\begin{gathered}Q:\;T\\K,V:\;H\end{gathered}
Add & Norm前馈网络逐位置处理Add & Norm
下一词概率
p(yt∣y<t,x)p(y_t\mid y_{<t},x)
Linear + softmax

读图重点:绿色跨列路径把源侧 H 交给交叉注意力;目标侧沿右列前进。虚线框内三种子层构成一层解码器,整体重复六次。残差细节折叠到各 Add & Norm 标签。

播放控件显示当前步骤。键盘 ← / → 切换步骤,Home / End 查看起点和终点。