目录

自注意力机制

自注意力的核心原理:“Query-Key-Value” 机制

1. 生成Query(Q,查询向量),Key(K,键向量),Value(V,值向量)

2. 计算注意力得分(相似度)

3. 归一化得分:Softmax 生成注意力权重

4. 加权求和:生成自注意力输出

多头注意力机制

多头注意力的工作流程

1. 输入向量的线性变换与拆分

        将输入的向量拆分为q, k , v,然后将qkv按维度平均分为n组,每组的维度为d(model)/n 例:(512/8)

2.每个头独立计算自注意力

3. 拼接所有头的输出

4. 最终线性变换

层归一化

位置编码

位置编码的核心作用

Transformer

1.主要特点

1.1 Self-Attention

自注意力机制,Transformer的核心是自注意力机制,它允许模型在处理某个位置的输入时,能够直接与其他位置的输入交互,而不像CNN、RNN只能顺序处理数据。自注意力机制通过计算输入序列中各位置之间的相似度来决定各位置之间的影响力,从而提高了模型的表现力。

1.2 并行化能力

由于Transformer不依赖于序列的顺序处理,它的计算过程可以并行化,这就可以显著提高了训练效率。

1.3 Encoder-Decoder

Transformer 采用了典型的编码器-解码器架构。编码器负责处理输入序列,将其转换为上下文相关的表示;解码器则根据这些表示生成输出序列。

2.模型结构

3. Encoder-Decoder框架

3.1 编码器Encoder

Add&Norm:经过残差连接和层归一化处理,让训练过程更稳定。

Feed Forward:前馈神经网路,就是一个全连接层,用于对每个位置的输出进行非线性变换。

3.2 解码器Decoder

3.2.0 自回归特性

Autoregressive Property,是指模型在生成序列时,每生成一个新的元素,只能依赖前面已经生成的元素,不能依赖未来的信息,而不是一次性生成整个序列。

逐步生成:

模型一次生成一个元素,并将它作为下一次生成的输入。

因果性:

自回归模型是因果的(causal),即当前时刻的输出只依赖于过去时刻的输入,而不依赖于未来的输入。

这种因果性确保了模型在生成序列时不会“偷看”未来的信息。

3.2.1 Masked Multi-Head

Masked Multi-Head Attention 的核心逻辑

Add&Norm


自注意力机制

自注意力机制(Self-Attention Mechanism)是深度学习中一种用于捕捉序列数据(如文本、语音、图像序列)内部元素依赖关系的核心技术,尤其在自然语言处理(NLP)领域(如 Transformer 模型)中发挥着决定性作用。它的核心思想是:让序列中的每个元素 “关注” 自身与其他所有元素的关联程度,通过权重分配突出重要信息、弱化无关信息,从而更精准地理解序列的整体语义或结构

自注意力机制无需按顺序处理,可并行计算;能直接计算序列中任意两个元素的依赖关系,无论距离远近;且通过权重动态分配,精准聚焦关键关联

自注意力的核心原理:“Query-Key-Value” 机制

1. 生成Query(Q,查询向量),Key(K,键向量),Value(V,值向量)
2. 计算注意力得分(相似度)

常用的相似度计算方式是点积(Dot-Product)

其中,根号dk​​ 是 缩放因子(dk​ 是 Key 向量的维度),作用是避免点积结果过大导致 Softmax 输出趋近于 0 或 1(梯度消失),保证计算稳定性

3. 归一化得分:Softmax 生成注意力权重

为了让权重满足 “总和为 1” 的概率性质(便于后续加权求和),对所有注意力得分做 Softmax 归一化

4. 加权求和:生成自注意力输出

多头注意力机制

多头注意力机制(Multi-Head Attention)是自注意力机制的扩展形式,由 Transformer 模型首次提出,其核心思想是通过多个并行的 “注意力头”(Attention Head)捕捉序列中不同维度的依赖关系,从而提升模型对复杂关联的建模能力。

多头注意力的工作流程

1. 输入向量的线性变换与拆分
        将输入的向量拆分为q, k , v,然后将qkv按维度平均分为n组,每组的维度为d(model)/n 例:(512/8)
2.每个头独立计算自注意力

        

3. 拼接所有头的输出

        将n个注意力头的输出按维度拼接

4. 最终线性变换

        

这一步的作用是将多个头的特征进行 “融合与调整”,确保输出向量的表达更符合后续网络层的需求。

层归一化

位置编码

位置编码(Positional Encoding)是 Transformer 模型中用于向模型注入序列位置信息的关键技术。由于 Transformer 完全基于自注意力机制,不依赖 RNN 的时序处理方式,无法像 RNN 那样自然捕捉序列中元素的顺序关系(如文本中 “我吃苹果” 和 “苹果吃我” 的语义差异),因此需要通过位置编码手动为每个元素添加位置特征。

位置编码的核心作用

  • 标识元素位置:明确序列中每个元素的相对 / 绝对位置(如第 1 个、第 5 个元素)。
  • 区分顺序差异:让模型理解 “不同位置的相同元素” 具有不同含义(如 “人咬狗” 和 “狗咬人” 的位置差异)。
  • 保留距离信息:使模型能感知元素间的相对距离(如第 2 个和第 5 个元素的距离是 3)。

Transformer

Transformer不使用卷积和循环网络,是一个完全基于自注意力机制的模型。

1.主要特点

1.1 Self-Attention
自注意力机制,Transformer的核心是自注意力机制,它允许模型在处理某个位置的输入时,能够直接与其他位置的输入交互,而不像CNN、RNN只能顺序处理数据。自注意力机制通过计算输入序列中各位置之间的相似度来决定各位置之间的影响力,从而提高了模型的表现力。
1.2 并行化能力
由于Transformer不依赖于序列的顺序处理,它的计算过程可以并行化,这就可以显著提高了训练效率。
1.3 Encoder-Decoder
Transformer 采用了典型的编码器-解码器架构。编码器负责处理输入序列,将其转换为上下文相关的表示;解码器则根据这些表示生成输出序列。

2.模型结构

3. Encoder-Decoder框架

3.1 编码器Encoder

Encoder由N个相同结构的编码模块堆积而成,原始的Transformer是6个。

模块组成部分:Multi-Head Attention、Feed Forward、Add&Norm。

Multi-Head Attention:多头注意力机制。

Add&Norm:经过残差连接和层归一化处理,让训练过程更稳定。
Feed Forward:前馈神经网路,就是一个全连接层,用于对每个位置的输出进行非线性变换。

Feed Forward 层由两个全连接层组成

  • FFN(x) = max(0,xW1 +b1)W2 +b2

  • 第一层激活函数为 ReLU,第二层不使用激活函数。

  • x是输入,全连接层的输入和输出都是512维,中间隐层维度为 2048。

3.2 解码器Decoder

与编码器相似,由N个相同结构的解码模块堆积而成。它还引入了“掩蔽多头自注意力(Masked Multi-Head Attention)”层。

组成部分:Masked Multi-Head Attention、Add & Norm、Multi-Head Attention、Feed Forward

3.2.0 自回归特性
Autoregressive Property,是指模型在生成序列时,每生成一个新的元素,只能依赖前面已经生成的元素,不能依赖未来的信息,而不是一次性生成整个序列。
  1. 逐步生成
    • 模型一次生成一个元素,并将它作为下一次生成的输入。
  2. 因果性
    • 自回归模型是因果的(causal),即当前时刻的输出只依赖于过去时刻的输入,而不依赖于未来的输入。
    • 这种因果性确保了模型在生成序列时不会“偷看”未来的信息。
3.2.1 Masked Multi-Head

Masked Multi-Head Attention(掩码多头注意力)是 Transformer 解码器(Decoder)的核心组件,专门用于解决 “并行计算” 与 “自回归生成” 的冲突—— 在保证模型并行处理效率的同时,强制模型遵守 “生成时不提前看到未来信息” 的规则

Transformer 的优势是并行计算—— 自注意力机制能同时处理序列中所有元素。若不做限制,计算第 t 个元素的注意力时,会自然关注到所有元素(包括未来元素),违反自回归约束。因此需要通过 “掩码”(Mask)屏蔽未来信息,让模型 “假装看不到未来”。

Masked Multi-Head Attention 的核心逻辑

Masked Multi-Head Attention = 掩码(Mask) + 多头注意力(Multi-Head Attention),即在多头注意力的 “计算注意力得分” 环节,加入一个 “掩码矩阵”,将未来位置的注意力得分强制设为极小值(如 −∞),经过 Softmax 后这些位置的权重会趋近于 0,从而完全不影响最终输出。

Add&Norm

同上:代码实现的时候,先Norm后Add

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐