一、先说说"老前辈"的烦恼
在 Transformer 出现之前,处理文字的主流方式是 RNN(循环神经网络)。它就像一个必须从头到尾逐字阅读的人,不读完全文就无法理解句意。
这种设计有两个根本性的硬伤:
硬伤一:不能并行处理
RNN 必须一个词接一个词地处理,前一步没算完,后一步就没法开始。这就像一条只有一个窗口的银行柜台,队伍再长也只能一个一个来,GPU 这种"多核并行"的硬件完全发挥不了优势。
硬伤二:记性太差
句子越长,前面出现的信息就越容易被"遗忘"。专业上叫梯度消失——信息在一步步传递的过程中逐渐衰减,导致模型处理长文本时表现很差。
后来研究者引入了**注意力机制(Attention)**来弥补:让模型在翻译某个词时,能选择性地"回头看"原文最相关的部分。效果大幅提升。
参考:大白话讲解 CNN、RNN、Transformer 三大 AI 基石
但问题来了——既然注意力机制这么好用,RNN 还有必要存在吗?
注意力机制能直接建立序列中任意位置之间的联系,既能并行,又能捕捉长距离依赖。把 RNN 去掉,纯靠注意力,行不行?
2017 年,Google 用一篇论文给出了答案:完全可以! 这就是 Transformer 的诞生。
二、Transformer 是什么?
Transformer 是一种神经网络架构,由**编码器(Encoder)和解码器(Decoder)**两部分组成,延续了翻译模型的基本思路,但把其中的 RNN 全部替换成了注意力机制。
论文的标题也直白宣告了这个理念:
Attention Is All You Need(注意力机制就是你所需要的一切)
| 对比维度 | RNN 旧方案 | Transformer 新方案 | | --- | --- | --- | | 处理方式 | 逐词顺序处理 | 所有词同时并行 | | 训练速度 | 慢,GPU 利用率低 | 快,充分利用并行 | | 长距离依赖 | 容易遗忘,效果差 | 任意位置直接关联 | | 扩展性 | 难以堆叠很深 | 可以叠很多层 |
三、Transformer 的核心组件
3.1 自注意力机制(Self-Attention)—— 核心中的核心
一句话:让每个词都能"扫视"整个句子,判断自己和其他词的关联程度。
生活类比:
读"小狗没有过马路,因为它太累了"——"它"指小狗还是马路?人一眼就能看出来,因为我们会自动把"它"和"小狗"关联起来。自注意力就是让模型学会做同样的事。
具体怎么算?
自注意力计算依赖三个向量:
-
Q(Query,查询):我在找什么?
-
K(Key,键):我是谁?
-
V(Value,值):我能提供什么信息?
每个词用自己的 Q,去跟所有词的 K 做匹配打分,分越高说明越相关,再用这个分数对 V 加权汇总,得到"融合了全局信息"的新表示。
核心公式:
除以 sqrt{dk} 是为了防止点积数值太大,影响 softmax 的稳定性。
3.2 多头注意力(Multi-Head Attention)—— 多角度理解
一句话:用多组 Q/K/V 并行运行,让不同的"头"分别关注不同维度的语义关系。
生活类比:
影评人从「剧情」「画面」「音乐」「表演」四个维度分别打分,综合评价比只看一个角度全面得多。多头注意力就是让模型同时从多个视角理解语言——有的头关注语法关系,有的头关注指代关系,有的头关注语义相似性。
最后把所有头的结果拼接融合,信息更丰富。
3.3 位置编码(Positional Encoding)—— 告诉模型词的顺序
一句话:Transformer 并行处理所有词,天生不知道词的顺序,用正弦/余弦函数生成的向量把位置信息"贴"在每个词上。
生活类比:
把一堆扑克牌打乱后摆在桌上,每张都贴个编号(1号、2号……),即使并行看,你也知道哪张是"第几张"。位置编码就是那个编号。
"猫吃鱼" 和 "鱼吃猫" 词汇完全一样,没有位置信息模型就分不清,加了位置编码就能正确区分。
3.4 前馈神经网络(FFN)+ 残差连接
每个注意力层之后,还有一个前馈神经网络对每个词的表示做非线性"深加工",增强模型的表达能力。
同时,每个子层都有残差连接(把输入直接加到输出上),确保梯度有条稳定的回传通路,这是模型能叠很深的关键保障。
四、编码器和解码器分别干什么?
标准 Transformer 有 6 层编码器 + 6 层解码器,每层结构相同,层层堆叠提取更深的语义。
编码器——"理解"原文
逐层加工输入序列,每个词通过自注意力感知全局上下文,最终输出一组"充分理解后"的语义向量。就像把一篇文章读透后提炼出的精华。
解码器——"生成"译文
接收编码器的输出,一个词一个词地生成目标序列。每生成一个词,都同时参考:
-
1. 已经生成的内容(通过 Masked 自注意力)
-
2. 原文的语义向量(通过编码器-解码器注意力)
[!NOTE] Masked 自注意力是解码器的特殊设计:训练时输入整个目标句,但用"遮盖"挡住后面还没生成的词,防止模型"偷看答案",同时还能充分利用并行训练的效率。
五、Transformer 为什么这么重要?
Transformer 提出后,不仅在机器翻译上超越了所有 RNN 方案,更重要的是,它成为了现代 AI 的"乐高积木":
-
• GPT / ChatGPT:只用解码器,自回归方式生成文本
-
• BERT:只用编码器,深度理解文本语义,用于搜索和问答
-
• T5、BART:完整编码器+解码器,用于翻译、摘要
-
• ViT(图像)、Whisper(语音)、AlphaFold2(蛋白质):跨领域扩展
从 2017 年到今天,Transformer 架构已经彻底统治了 NLP,并向图像、语音、代码、科学计算等几乎所有领域蔓延。
总结
| 核心设计 | 解决的问题 | | --- | --- | | 自注意力替代 RNN | 支持并行训练,捕捉任意距离依赖 | | 多头注意力 | 同时建模多种类型的语义关系 | | 位置编码 | 在并行结构中注入词序信息 | | 残差连接 + 层归一化 | 支持深层堆叠,训练稳定 | | 编码器-解码器结构 | 灵活适配理解和生成两类任务 |
一句话总结:Transformer 用自注意力机制取代了 RNN,让模型能够并行处理整个序列,同时对任意位置之间的依赖关系进行直接建模——既快,又准,还好扩展。
原始论文
📄 Attention Is All You Need
Ashish Vaswani 等 · Google Brain · NeurIPS 2017
欢迎点赞加关注,一起交流学习,迎接AI时代。更多精彩请关注公众号:计算机知识的传播者