Transformer论文原文下载路径:链接: 百度网盘 请输入提取码 提取码: cbvu

一、从“语言理解”问题说起

人类理解语言时,会自动建立词与词之间的关系。

例如:

小明昨天买了一本书,这本书非常有意思。

人脑会自动知道:

“这本书” 指的是前面的 “书”。

这是一种:

跨距离的信息关联能力

传统神经网络(RNN)的问题:

必须按顺序读取:

小 → 明 → 昨 → 天 → 买 → ...

当句子很长时:

信息容易丢失。

这叫:

长距离依赖问题

论文指出:RNN 的顺序计算限制了并行能力


二、Transformer解决问题的核心思想

Transformer 的关键思想:

每个词可以直接“看到”其它所有词

而不是依赖“前一个状态”。

如下图:

输入:

The cat sat on the mat

cat 可以直接关注:

相关性
sat
mat
the

这种机制叫:

Self-Attention(自注意力)

论文描述:

self-attention relates different positions of a sequence


三、Transformer整体结构(工程视角)

Transformer仍然采用:

Encoder-Decoder 架构

结构如下:模型由多个相同结构堆叠而成,论文中:N = 6 层

每一层包含:

1️⃣ Attention
2️⃣ 前馈网络
3️⃣ 残差连接
4️⃣ 归一化


四、从数学角度理解 Attention

注意力机制本质:

向量之间的相似度计算

核心公式:

Attention(Q,K,V)=softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V

我们逐步解释。


五、Q、K、V到底是什么?

Attention 使用三个向量:

符号 含义
Q Query(查询)
K Key(索引)
V Value(内容)

可以类比:

数据库检索:

Query → 查询条件
Key → 索引
Value → 数据


六、简单例子理解 Q、K、V

句子:

Tom likes apples

当模型处理:

likes

模型需要决定:应该关注哪个词?

模型会计算:likes 与其它词的相似度:

相似度
Tom 0.4
apples 0.8

说明:likes 与 apples 更相关。

最终:模型更关注 apples。


七、为什么使用点积?

Attention 使用:

向量点积:

Q·K

原因:点积可以衡量方向相似性。

例如:

两个向量:[1,0] [1,0]

点积:1

说明:方向一致。

如果两个向量:[1,0] [0,1]

点积:0

说明:不相关。

因此:点积可以表示:语义相似度。


八、为什么需要除以 √dk?

公式中:

有一个缩放因子:1 / √dk

原因:维度越高,点积结果越大。

例如:

向量维度:512,随机点积可能很大。

导致:softmax 梯度变小。训练困难。

论文解释:点积过大可能导致梯度过小,因此需要缩放。


九、softmax 的作用

softmax:

将任意数值转换为概率。

例如:

输入:

[2,1,0]

输出:

[0.66,0.24,0.1]

表示:关注程度。


十、加权求和的含义

最后一步:

权重 × Value 向量。

本质:信息融合。

例如:

假设:

模型计算:

权重
apples 0.8
Tom 0.2

则输出:

0.8 × apples向量

  • 0.2 × Tom向量

得到:新的语义表示。


十一、多头注意力的理论意义

多头注意力公式:

MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O

每个 head:

head_i=Attention(QW_i^Q,KW_i^K,VW_i^V)

本质:多个子空间投影。

可以理解为:不同观察角度。

例如:

分析一句话:

The bank is near the river

单词:bank

可能表示:银行 河岸

不同 attention head 会学习:不同语义解释。


十二、位置编码的数学意义

Transformer 没有:

时间结构。

因此需要:加入位置信息。

论文使用正弦函数:

PE(pos,2i)=sin(pos/10000^(2i/d))

PE(pos,2i+1)=cos(pos/10000^(2i/d))

为什么使用 sin/cos?

原因:具有周期性。

可表示:相对位置关系。

例如:pos = 5 pos = 6

两个向量:差值固定。

模型容易学习:顺序关系。


十三、残差连接的作用

每层结构:

Add & Norm

表示:残差连接 + 层归一化。

数学表达:Output = LayerNorm(x + Sublayer(x))

作用:避免梯度消失。让深层网络更容易训练。


十四、前馈网络的理论作用

前馈网络:

FFN(x)=max(0,xW_1+b_1)W_2+b_2

本质:非线性变换。

作用:增强表达能力。

类似:特征提取器。


十五、为什么 Transformer 能捕捉长距离依赖?

论文分析:

Self-attention 的路径长度为 1

什么意思?

在 RNN 中:两个词之间的信息传播:需要经过多个时间步。路径:长。容易衰减。

Transformer:

任意两个词:一步建立连接。路径:最短。更容易学习长距离关系。


十六、复杂度分析(工程角度)

论文给出复杂度比较:

Self-Attention:O(n²)

RNN:O(n)

但是Self-Attention 可并行。

RNN 不可并行。

因此:实际训练速度更快。


十七、一个完整例子理解 Transformer

输入:

I love machine learning

Step 1:

Embedding

将词转换为向量:

I → [0.1,0.3,...]

love → [0.5,0.2,...]


Step 2:

加入位置编码。

模型知道:顺序关系。


Step 3:

Self-attention

计算:love 与其它词的关系。

可能:

权重
I 0.2
machine 0.5
learning 0.8

说明:love 与 learning 更相关。


Step 4:

前馈网络处理。

得到:更抽象语义。


Step 5:

多层堆叠。

逐渐形成:语义理解。


十八、总结(核心理解)

Transformer本质:

一种:全连接的信息加权系统。

核心思想:Attention。

关键模块:

  1. self-attention

  2. multi-head

  3. feed forward

  4. positional encoding

优势:

  • 并行计算

  • 长距离建模能力强

  • 可扩展

  • 统一架构

因此成为:现代 AI 的基础架构。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐