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.

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

相关推荐
AI技术增长2 小时前
Pytorch图像去噪实战(十):Restormer图像去噪实战,用高效Transformer解决高分辨率去噪问题
pytorch·深度学习·机器学习·cnn·transformer
这张生成的图像能检测吗13 小时前
(论文速读)IMSE-IGA-CNN-Transformer
人工智能·深度学习·cnn·transformer·故障诊断·预测模型·时序模型
大连好光景14 小时前
《从函数到大模型速通》
rnn·cnn·transformer
Flying pigs~~15 小时前
LoRA 面试完全指南:低秩分解原理 + Transformer 应用
人工智能·深度学习·lora·大模型·微调·transformer
高洁0116 小时前
大模型部署资源不足?轻量化部署解决方案
python·深度学习·机器学习·数据挖掘·transformer
高洁011 天前
AI项目团队意见分歧?协调与决策方法
人工智能·深度学习·数据挖掘·transformer·知识图谱
我是无敌小恐龙2 天前
Java SE 零基础入门Day06 方法重载+Debug调试+String字符串全套API详解(超全干货)
java·开发语言·人工智能·python·transformer·无人机·量子计算
aidesignplus2 天前
从平方到线性:Mamba如何挑战Transformer的长序列效率瓶颈?
人工智能·python·深度学习·vim·transformer
qcx232 天前
AI 工程知识图谱:从 Transformer 到 Agentic AI 的全景地图
人工智能·transformer·知识图谱