Transformer 架构里关于 Attention 概念的澄清

Transformer 架构里关于 Attention 概念的澄清

flyfish

先分 Encoder Stack 和 Decoder Stack 论文里的图没画

Encoder Stack由 N 个完全相同的 Encoder 层 堆叠而成

Decoder Stack由 N 个完全相同的 Decoder 层 堆叠而成

Encoder Stack = 堆叠 N 层编码器

Decoder Stack = 堆叠 N 层解码器

如果在编程里也可以这样命名

如果是整体叫Encoder Stack,里面堆叠了N个Encoder

如果是整体叫 Encoder, 里面堆叠了N个 Encoder block

这里是术语澄清,所以知道左边Encoder ,右边 Decoder 就行。

再看论文里的图的attention,这里用红色数字标了出来,下面也是按照这个序号说的

看Transformer架构图 里面有三类Attention

这里的Transformer 里只有一种机制:Scaled Dot-Product Attention,但在不同位置/用途上,被拆成三种用法,只有一种 Attention + 三种使用方式。
Self(同源)
Masked(加约束)
Cross(跨源)

Self-Attention(自注意力):Q、K、V 来源完全相同

Cross-Attention(交叉注意力):Q 与 K/V 来源完全不同

所以图中 名字 可以这样叫(看对应的红色箭头指向部分)

cpp 复制代码
(格式效果 前面 加 - )
  • 1 Multi-Head Attention 是 Multi-Head Self-Attention (加Self
  • 2 Masked Multi-Head Attention 是 Masked Multi-Head Self-Attention (加self
  • 3 Multi-Head Attention 是 Multi-Head Cross-Attention (加Cross
    Multi-Head Cross-Attention也叫 Multi-Head Source-Target AttentionCrossSource-Target

先说名词

不同的文献和资料中有不同的名字,其实是一样的意思

    1. 编码器-解码器多头注意力机制(Encoder-Decoder Multi-Head Attention Mechanism)(论文图标注的3)
      其他名字:
      交叉注意力机制(Cross-Attention Mechanism)
      源-目标注意力机制(Source-Target Attention Mechanism)
      解码器-编码器注意力机制(Decoder-Encoder Attention Mechanism)
    1. 遮蔽多头自注意力机制(Masked Multi-Head Self-Attention Mechanism )(论文图标注的2)
      其他名字:
      因果注意力机制(Causal Attention Mechanism)
      未来位置遮蔽注意力机制(Look-Ahead Masking Attention Mechanism)
      遮蔽自注意力机制(Masked Self-Attention Mechanism)
      前向遮蔽注意力机制(Forward Masking Attention Mechanism)

名字很多,意思是一样的

所以表格可以这样写

模块 Attention 类型 Q 来源 K/V 来源 Padding Mask Look-Ahead Mask
Encoder Multi-Head Self-Attention Encoder Encoder
Decoder (1) Masked Multi-Head Self-Attention Decoder Decoder
Decoder (2) Multi-Head Cross-Attention Decoder Encoder 是(作用在 Encoder 输出)

Multi-Head Cross-Attention也是 Multi-Head Source-Target Attention

所以图可以这样画

看Padding Mask 和 Look-Ahead Mask

Padding Mask 填充掩码 指的是屏蔽类似 [PAD]填充掩码 空白填充无效字符

Look-Ahead Mask的理解

向前看(look ahead)在这里指偷看模型接下来要生成的位置,加 mask 把这个向前偷看的行为挡住。

Look-Ahead Mask可以叫未来遮蔽掩码 或者

Look-Ahead Mask → 前瞻掩码

Causal Mask → 因果掩码(和 Look-Ahead Mask 完全等价)

Forward Mask → 前向遮蔽(同义)

  1. 文本序列方向规则

    书写/生成顺序:从左到右 [SOS] 字1 字2 字3 字4 [EOS]
    左边 = 过去(behind / past / already generated)
    右边 = 未来(ahead / forward / not yet generated)

  2. ahead / forward 含义

    日常:ahead = 往前走(如果面向前进方向,ahead 是前面还没走到的地方)
    Transformer :ahead = 序列右侧 = 下一步要生成的内容 = 未来

    因为模型是自回归(autoregressive)一步步向右推进的,所以向前推进(move forward/ahead)的目标区域就是右边还没写的东西。

  3. Look-Ahead Mask
    Look-Ahead = 偷看未来(look into the ahead region)

    所以 Look-Ahead Mask = 禁止偷看未来的遮蔽(或叫 "Don't Look Ahead Mask")

  4. 等价关系

    Look-Ahead Mask ≈ Forward MaskCausal Mask (因果掩码)

    实现上就是下三角矩阵 (lower triangular):位置 i 只能 attend 到 j ≤ ij > i 的注意力分数被设为 -inf(softmax 后为 0)。

序列 [SOS] 2 5 7 9,模型当前在生成/预测 5 的时候:可以看左边 [SOS] 2(过去), 绝对不能看 右边 7 9(未来)。

Look-Ahead Mask = 防止 look-ahead 的 mask,或者直接叫 No-Look-Ahead Mask/ Don't Look Ahead Mask。

这个 mask 的是强制因果关系(causality),当前 token 的表示(representation),只能依赖于它之前 的 tokens(cause),不能依赖之后 的 tokens(effect)。

这符合语言生成的自然时间顺序:说出一个词的时候,后面的词还没说出来。
Causal Mask (因果掩码),三角掩码(triangular mask)在这里也是一个意思

用论文《Attention Is All You Need》的话说就是

We also modify the self-attention sub-layer in the decoder stack to

prevent positions from attending to subsequent positions.

我们同样对解码器堆叠结构中的自注意力子层进行改造,阻止当前位置关注后续位置。

相关推荐
大江东去浪淘尽千古风流人物16 小时前
【VGGT-Ω】前馈式3D重建的规模化之路:Register Attention、自监督训练与10B参数Scaling Law深度解析
深度学习·计算机视觉·transformer·slam·vio·3d重建
大江东去浪淘尽千古风流人物18 小时前
【VGGT】统一3D重建:单网络同时预测相机位姿、深度图、点云与3D轨迹的前馈Transformer架构深度解析
网络·数码相机·3d·transformer·slam·3d重建·cvpr2025
zhangfeng113319 小时前
思维链 ,Anthropic Mythos模型的 Looped Transformer架构解析,claud为什么厉害性能优越的研究
深度学习·架构·transformer
SiYuanFeng19 小时前
大模型 / RAG / Agent 面试高频题
人工智能·面试·transformer·agent·rag
仙女修炼史20 小时前
Transformer思想根源PDP:Parallel Distributed Processing读书笔记
人工智能·深度学习·transformer
zhangfeng113320 小时前
AlphaEvolve 进化式编程智能体 是 Google DeepMind 2025年5月 发布的
人工智能·深度学习·chatgpt·架构·transformer
Lyyaoo.20 小时前
从CNN到RNN再到Transformer的架构理解
rnn·cnn·transformer
高洁0121 小时前
从GPT到开源大模型
python·机器学习·数据挖掘·transformer·知识图谱
王小义笔记1 天前
CUDA 版本下 Transformers 报错排查与解决办法
llm·transformer·cuda