大白话讲解 Transformer

6 阅读7分钟

一、先说说"老前辈"的烦恼

在 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. 1. 已经生成的内容(通过 Masked 自注意力)

  2. 2. 原文的语义向量(通过编码器-解码器注意力)

[!NOTE] Masked 自注意力是解码器的特殊设计:训练时输入整个目标句,但用"遮盖"挡住后面还没生成的词,防止模型"偷看答案",同时还能充分利用并行训练的效率。

Transformer 整体架构图

五、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

论文链接:arxiv.org/abs/1706.03…

欢迎点赞加关注,一起交流学习,迎接AI时代。更多精彩请关注公众号:计算机知识的传播者