Transformer 架构全景图

一张图看懂注意力机制、位置编码与 Encoder-Decoder 结构

创建时间:2026-09-09 更新时间:2026-09-11 阅读次数:1168 次

整体架构

从输入到输出的完整数据流
graph TD A[输入序列 Input Tokens] --> B["词嵌入 Token Embedding"] B --> C[+ 位置编码 Positional Encoding] C --> D[Encoder 层 xN] D --> E[Decoder 层 xN] F[目标序列 Shifted Output] --> G[词嵌入 + 位置编码] G --> E E --> H[线性层 Linear] H --> I[Softmax] I --> J[输出概率分布] style A fill:#fde6d8,stroke:#c6442c,stroke-width:2px style D fill:#fffaf3,stroke:#c6442c,stroke-width:2px style E fill:#fffaf3,stroke:#c6442c,stroke-width:2px style J fill:#fde6d8,stroke:#c6442c,stroke-width:2px

Encoder 层内部结构

每一层由多头自注意力 + 前馈网络组成,均带残差连接和 LayerNorm
graph TD IN[输入] --> MHA[多头自注意力 Multi-Head Self-Attention] MHA --> AN1[Add & Norm 残差 + LayerNorm] IN -.残差连接.-> AN1 AN1 --> FFN[前馈网络 Feed Forward] FFN --> AN2[Add & Norm 残差 + LayerNorm] AN1 -.残差连接.-> AN2 AN2 --> OUT[输出到下一层] style MHA fill:#fde6d8,stroke:#c6442c,stroke-width:2px style FFN fill:#e8f0fe,stroke:#4285f4,stroke-width:2px style AN1 fill:#fffaf3,stroke:#d8bfa4 style AN2 fill:#fffaf3,stroke:#d8bfa4

Decoder 层内部结构

比 Encoder 多了 Masked 自注意力和交叉注意力(Cross-Attention)
graph TD IN[输入] --> MMHA[Masked 多头自注意力
带因果掩码] MMHA --> AN1[Add & Norm] IN -.残差.-> AN1 AN1 --> CA[交叉注意力
Cross-Attention
Q来自Decoder, K/V来自Encoder] ENC[Encoder输出] --> CA CA --> AN2[Add & Norm] AN1 -.残差.-> AN2 AN2 --> FFN[前馈网络] FFN --> AN3[Add & Norm] AN2 -.残差.-> AN3 AN3 --> OUT[输出] style MMHA fill:#fde6d8,stroke:#c6442c,stroke-width:2px style CA fill:#fce8e6,stroke:#ea4335,stroke-width:2px style FFN fill:#e8f0fe,stroke:#4285f4,stroke-width:2px