Appearance
Transformer模型介绍
Transformer架构由Google研究团队在2017年提出,其核心论文《Attention Is All You Need》首次系统性地阐述了这一基于自注意力机制的深度学习模型。该架构彻底改变了自然语言处理(NLP)领域的技术范式,并逐步扩展至计算机视觉、语音处理等多模态领域。
Transformer不仅是一个模型,更是一种范式, 重塑了AI模型处理信息的方式。
理解了自注意力的核心原理,我们就可以来拼装完整的Transformer积木了。一个标准的 Transformer 由编码器(Encoder)和解码器(Decoder)两大部分组成。
1. 多头注意力机制
多头注意力机制(Multi-Head Attention)
一个注意力头,只相当于从一个角度去审视句子中词与词的关系,但这种关系是复杂的。
- 比如,“The old dog didn't cross the street.....”,it 和 dog 的关系是指代关系。
- 在“make up a story"中, make和 up 是短语搭配关系。
为了让模型能从不同角度理解这些复杂关系,Transformer引入了多头注意力机制。
- 做法: 它不是只做一次Q,K,V的变换和计算,而是并行地做多次(比如8次)。每次都用不同的权重矩阵(Wq,WK,WV),生成不同的Q,K,V“三件套”,这就形成了8个独立的注意力头。
- 效果: 每个头都可以学到一种不同的注意力模式。比如,一个头可能专注于句法结构,另一个头可能专注于语义关联
- 最后: 将8个头得到的8个输出向量拼接起来,再通过一个线性变换整合成一个最终的输出向量,
多头注意力:
就像请了多个不同领域的专家,同时对一句话进行分析,然后汇总他们的意见,得到一个更全面、更深刻的理解。
2. 编码器
编码器(Encoder):理解你输入的句子
编码器的任务是读懂并理解输入的整个句子。一个标准的Transformer编码器由N个(原论文中是6个)相同的编码器层堆叠而成。
每个编码器层(Encoder Layer)包含两个核心子层(Attention和FFN):
编码器层:
- 输入层:主要包括
Embedding(向量化)和位置编码
- a. Embedding: 主要是将token映射为词向量
- b. 位置编码: 为了让Transformer感知词语在句子中的位置信息,我们需要对词语的位置进行编码。比如说:“我爱吃苹果“和“苹果爱吃我“这两句话对于 Transformer 的自注意力机制是一样的。位置编码我们在4里展开聊。
- 输入层:主要包括
- 多头自注意力层(Attention): 就是我们刚刚详述的部分。它负责在输入句子内部建立词与词之间的关联。
- 前馈神经网络层(FFN): 这是一个简单的、由
两个线性变换和一个ReLU激活函数组成的全连接网络。你可以把它理解成一个加工厂对注意力层输出的信息进行进一步的非线性变换和提炼。详细
- 前馈神经网络层(FFN): 这是一个简单的、由
此外,每个子层外面都包裹着两个重要的“辅助件”:
两个重要的“辅助件”:
- 残差连接(Add): 将子层的输入直接加到子层的输出上,
(output = Layer(x) + x )。这就像在信息流动的过程中开了一条绿色通道,保证了原始信息不会在深层网络中丢失,极大缓解了梯度消失问题,让训练更深的网络成为可能。
- 残差连接(Add): 将子层的输入直接加到子层的输出上,
- 层归一化(Norm): 它的作用是对每个子层的输入进行归一化处理,使得模型训练更加稳定。 详细

3. 解码器
解码器(Decoder):创作并输出新的句子
解码器的任务是根据编码器对原文的理解,生成目标句子。它同样由N个解码器层堆叠而成。
解码器层比编码器层要复杂一点,它有三个核心子层:
解码器层:
- 带掩码的多头自注意力层(Masked Multi-Head Self-Attention Layer)
- 这个层的作用和编码器里的自注意力层类似,都是让解码器在生成当前词时,关注它已经生成的前面那些词
- 关键在于
掩码(Masked)。在训练时,我们虽然一次性把整个目标句子都喂给了解码器,但在预测第i个词时,模型是不允许偷看第i个词之后的内容的。这个掩码操作,就是把未来的信息给遮挡起来,模拟真实预测时一步一步生成的情景。 - 详细
- 编码器-解码器注意力层(Encoder-Decoder Attention Layer)
- 这是连接编码器和解码器的桥梁,是整个翻译/生成任务的关键
- 在这一层里,Query(Q)来自于解码器前一层的输出,而Key(K)和 Value(V)则来自于编码器的最终输出
- 这意味着:
- 比如翻译"Je suis étudiant"→“I am a student”。当解码器准备 生成
student时,这一层的注意力会高度集中在编码器输出的 对应于étudiant的向量上。
- 前馈神经网络层(Feed-Forward Network,FFN): 与编码器中的一样,负责对信息进行加工。
同样,解码器的每个子层也都包裹着残差连接和层归一化。
4. 位置编码
位置编码(Positional Encoding)
我们前面提到,Transformer抛弃了RNN的循环结构,所有词都是并行处理的。这带来了一个新问题:模型不知道词的顺序了!“你爱我”和“我爱你“在Transformer看来可能是一样的,因为它们都只是一个词的集合。
为了解决这个问题,Transformer引入了位置编码(PositionalEncoding)
- 做法: 在将词嵌入输入到模型之前,给每个词的嵌入向量加上一个特殊的位置向量。(见下图)
- 效果: 这个位置向量为每个词注入了其独一无二的位置信息。由于三角函数的周期性,模型还能学到词与词之间的相对位置关系

- 所以,
模型的最终输入 = 词嵌入 + 位置编码
5. Transformer 的深远影响
Transformer不仅是一个模型,更是一种范式,它对 AI领域的改变可以说是翻天覆地的。
1.奠定大语言模型的基石
几乎所有你听过的现代大语言模型,都是基于Transformer架构的变体:
- BERT(Bidirectional Encoder Representations from Transformers): 。它通过“完形填空“和“下一句预测“任务进行预训练,成为了一个极强的语言理解模型,在各种NLP下游任务(如分类、问答)上榜。
- GPT(Generative Pre-trained Transformer): 。它通过预测下一个词的任务进行预训练,天生就是一个强大的文本生成模型,ChatGPT就是其登峰造极的代表。
2. 跨界征服,不止于NLP
Transformer的成功思想很快被迁移到了其他领域,最著名的就是计算机视觉(CV)。
- Vision Transformer(ViT): 将一张图片切成一个个小图块(Patches),把每个图块看作一个词,然后把这些“词“序列输入到标准的Transformer编码器中进行图像分类。ViT证明了,在有足够数据的情况下,Transformer架构同样可以在CV领域媲美甚至超越传统的卷积神经网络(CNN)
6. 总结
- Transformer的诞生是为了解决RNN/LSTM的并行计算瓶颈和长期依赖问题。
- 其核心是
自注意力机制,通过Q,K,V的计算,让模型能一步到位地捕捉句子中任意两个词之间的依赖关系,且可以并行计算。
- 其核心是
多头注意力允许模型从不同角度理解句子
位置编码解决了Transformer本身无法感知词序的问题
- 完整的Transformer由
编码器(理解输入)和解码器(生成输出)组成。解码器比编码器多了一个编码器-解码器注意力层,用于“参考’原文。
- 完整的Transformer由
- Transformer架构是
BERT(编码器派)和GPT(解码器派)等所有现代大语言模型的共同基石,并成功跨界到CV等领域。
- Transformer架构是