东莞建设通网站,可免费商用的cms建站系统,湛江免费建站平台,网站备案归属地Transformer 是一种革命性的**深度学习架构**#xff0c;由 Google 团队在 2017 年论文《Attention is All You Need》中提出。它彻底改变了自然语言处理#xff08;NLP#xff09;领域#xff0c;并逐渐扩展到计算机视觉、语音识别等多模态任务。其核心创新在于**完全依赖…Transformer 是一种革命性的**深度学习架构**由 Google 团队在 2017 年论文《Attention is All You Need》中提出。它彻底改变了自然语言处理NLP领域并逐渐扩展到计算机视觉、语音识别等多模态任务。其核心创新在于**完全依赖自注意力机制Self-Attention**摒弃了传统的循环RNN/LSTM或卷积CNN结构实现了高效的并行计算与强大的长距离依赖建模能力。 --- ### **一、核心设计目标**
1. **解决 RNN 的瓶颈** - RNN 无法并行处理序列必须逐词计算且难以捕捉长距离依赖。
2. **提升计算效率** - 利用自注意力机制实现序列的全局并行计算。
3. **增强语义理解** - 通过注意力权重动态学习词与词之间的关联强度。 --- ### **二、Transformer 核心架构**
Transformer 由 **编码器Encoder** 和 **解码器Decoder** 堆叠而成原始论文中均为 6 层。以下是其关键组件 #### **1. 输入嵌入Input Embedding** - 将输入词如 apple转换为稠密向量如 512 维。 - **添加位置编码Positional Encoding** - 因为 Transformer 没有循环或卷积结构需显式注入序列顺序信息。 - 公式 $$PE_{(pos,2i)} \sin\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right)$$ $$PE_{(pos,2i1)} \cos\left(\frac{pos}{10000^{2i/d_{\text{model}}}}\right)$$ - 其中 pos 是位置i 是维度索引。 #### **2. 自注意力机制Self-Attention** - **核心思想**每个词通过加权聚合所有词的信息来更新自身表示权重由相似度决定。 - **计算步骤** 1. **生成 Q, K, V 矩阵** - 输入嵌入 $X$ 乘以可训练矩阵 $W^Q, W^K, W^V$得到 **Query查询**、**Key键**、**Value值**。 $$Q X W^Q, \quad K X W^K, \quad V X W^V$$ 2. **计算注意力分数** - $Q$ 与 $K$ 点积衡量词与词之间的相关性。 $$\text{Scores} Q K^T$$ 3. **缩放与 Softmax** - 缩放除以 $\sqrt{d_k}$防止梯度消失再 Softmax 归一化为概率分布。 $$\text{Attention}(Q,K,V) \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$ - **多头注意力Multi-Head Attention** - 并行运行多个自注意力机制如 8 个头捕获不同子空间的语义关系。 - 结果拼接后线性变换 $$\text{MultiHead} \text{Concat}(\text{head}_1, \dots, \text{head}_h) W^O$$ #### **3. 残差连接与层归一化Add Norm** - 每层的输出LayerNorm(X Sublayer(X)) - **残差连接**缓解梯度消失保留原始信息。 - **层归一化**稳定训练过程。 #### **4. 前馈神经网络Feed-Forward Network** - 每个注意力层后接一个全连接网络 $$\text{FFN}(x) \text{ReLU}(xW_1 b_1)W_2 b_2$$ - 作用引入非线性变换增强模型表达能力。 #### **5. 解码器Decoder的特殊设计** - **掩码自注意力Masked Self-Attention** - 预测第 t 个词时只能看到前 t-1 个词防止信息泄露。 - **编码器-解码器注意力Encoder-Decoder Attention** - 解码器的 Q 来自自身K 和 V 来自编码器输出实现跨语言对齐如翻译中对齐源语与目标语。 --- ### **三、Transformer 工作流程示例以机器翻译为例**
1. **编码器处理源序列**如英文句子 - 输入词嵌入 位置编码 → 多头自注意力 → 前馈网络 → 输出上下文向量。
2. **解码器生成目标序列**如中文句子 - 输入已生成词起始符 sos 位置编码。 - **步骤** - **掩码自注意力** → **编码器-解码器注意力**关联源语信息→ **前馈网络** → 线性层 Softmax 输出下一个词概率。 - 重复直至生成结束符 eos。 --- ### **四、为何 Transformer 如此强大**
| **特性** | **优势** |
|-------------------|-------------------------------------------------------------------------|
| **并行计算** | 自注意力可同时处理整个序列大幅提升训练速度远超 RNN。 |
| **长距离依赖** | 任意两个词的关联直接计算不受序列长度限制解决了 RNN 的梯度消失问题。 |
| **多头注意力** | 从不同子空间学习多样化的语义关系如语法结构、指代关系。 |
| **可扩展性** | 通过堆叠更多层和增大隐藏维度构建超大规模模型如 GPT-3、BERT。 | --- ### **五、Transformer 的变体与应用**
1. **仅编码器模型Encoder-Only** - **任务**文本分类、命名实体识别NER。 - **代表**BERT、RoBERTa。
2. **仅解码器模型Decoder-Only** - **任务**文本生成如故事、代码。 - **代表**GPT 系列、LLaMA、ChatGPT。
3. **编码器-解码器模型** - **任务**机器翻译、摘要生成。 - **代表**T5、BART。
4. **视觉 TransformerViT** - 将图像分块为序列直接用 Transformer 处理媲美 CNN。 --- ### **六、图解 Transformer 架构**
mermaid
graph LR
A[输入序列] -- B[嵌入层 位置编码]
B -- C[编码器层 x N]
C --|多头自注意力| D[Add Norm]
D -- E[前馈网络]
E -- F[Add Norm]
F -- G[编码器输出]
G -- H[解码器层 x N]
H --|掩码自注意力| I[Add Norm]
I --|编码器-解码器注意力| J[Add Norm]
J -- K[前馈网络]
K -- L[Add Norm]
L -- M[线性层 Softmax]
M -- N[输出序列] --- ### **总结**
Transformer 的核心是通过**自注意力机制**动态学习序列中元素的依赖关系结合**位置编码**保留顺序信息利用**残差连接**和**层归一化**保障训练稳定性。其设计打破了序列建模的传统范式成为当代大语言模型如 GPT-4、Claude的基石并持续推动 AI 技术的边界。