A07 · 第 4 章 · 第二编 注意力机制
多头注意力与位置表示
从批量、多头、查询和键值轴严格跟踪 Q/K/V、缩放点积、掩码与拼接形状,解释多头投影的表达边界,并比较绝对、相对及旋转位置表示和序列长度外推限制。
本章目标
- 从输入、头数和每头维度推导 Q、K、V、分数、权重、头输出与最终输出形状。
- 计算缩放点积和 softmax 权重,并解释除以根号键维度的方差动机。
- 为 padding、因果和交叉注意力构造可广播掩码,防止全遮蔽行。
- 比较学习式或正弦绝对位置、相对偏置与旋转位置表示的作用位置。
- 限定超出训练长度时的位置索引、频率、掩码和模型行为边界。
本页目录
注意力张量的维度
设查询输入 ,键值输入 。 是批量, 是查询长度, 是可读取的键值长度。自注意力中两输入通常相同且 ;交叉注意力中查询和键值来自不同序列,长度可不同。
取 个头,每头键维 、值维 。投影并重排后
实现可为每头存独立矩阵,也可一次线性映射到 或 后 reshape;数学形状相同。reshape 只重新解释内存,transpose 才交换轴。若先 reshape 却漏掉头与序列轴转置,矩阵乘法可能仍运行,却会把不同头或 token 错配。
缩放点积的归一化
每头分数与输出为
softmax 必须沿最后的键轴,使每个批次、头和查询行的可见键权重和为一。若 各坐标近似独立、均值零、方差一,点积方差约为 ;除以 让分数标准差保持常数量级,减少大维度下 softmax 过早饱和。这是初始化近似,不保证训练后分数方差恒定。
单头 ,查询 ,两个键 ,值 。未缩放点积为 ,缩放后为 。
softmax 权重约为
输出为 。两项和不是一,因为值向量不是概率;只有注意力权重在键轴上归一。若误沿查询轴做 softmax,单查询例不易暴露,必须用多个查询检查。
数值实现先减去每行最大有效分数再指数化。被遮蔽位置不能只减一个不够大的常数,否则低精度或大 logit 下仍有非零权重;使用布尔掩码交给稳定内核更可靠。
多头注意力的投影子空间
每个头有自己的 ,可学习不同相似度和信息投影。各头输出 ,沿特征轴拼接为 ,再乘
返回模型宽度。常取 ,但这只是常见设计;不满足时只要投影形状闭合仍可计算。
取 。投影后 为 , 为 ;分数和权重为 。
每头加权输出合在张量中为 ,转回查询在前并拼接后为 ,乘 的输出矩阵仍为 。这里 ,说明是交叉注意力形状;若误假设方阵,mask 与缓存都会错。
多头不保证自动“一个头学语法、一个头学位置”。头可能冗余、平均或被输出投影混合。解释头功能需要干预、消融和多样本稳定性,不能只凭一张权重图。增加头数且总宽固定会减小每头维度,表达分解与数值分辨率存在权衡。
头数与投影参数量
若 ,融合的 Q、K、V 投影各有约 个权重,输出投影再有 ,忽略偏置共约 。把八头改为十六头而保持总宽 ,通常只是每头维度减半,主投影参数量不变;若同时扩大总宽,参数和前馈层成本才显著增加。
自注意力通常对同一输入使用三个独立投影。Q 与 K 用于计算查询和键之间的匹配分数,V 提供加权聚合的值;共享投影会改变模型的假设类。交叉注意力中 Q 投影作用于解码表示,K/V 投影作用于编码表示,来源和缓存生命周期不同。
参数核对还要包含偏置、输出投影和位置参数。学习式绝对位置表增加 个参数,相对偏置可能按头和距离桶增加;正弦位置没有学习参数,旋转位置通常也没有位置表参数。参数少不等于计算少,注意力矩阵仍由序列长度决定。
随机失活与掩码
注意力 dropout 常在 softmax 权重上对有效连接随机失活并按保留概率缩放,输出投影后还可有另一层 dropout。训练时保留下来的权重行不一定再和为一,但条件期望保持原加权输出;推理时关闭随机失活。padding 和因果 mask 必须在随机失活前生效,且被结构遮蔽位置始终为零,不能因缩放重新出现。
梯度检查时要固定 dropout 掩码,缓存重计算也要恢复同一随机状态。若查看注意力图,应说明显示的是失活前概率、失活后权重还是跨头平均;三者含义不同。对长序列,随机删除少数连接的影响也随每行有效键数变化,强度需要按任务验证。
张量轴与不变量检查
第一,每个有效查询、每个头在失活前的可见键权重和应接近一;第二,结构遮蔽位置权重应严格为零;第三,改变某个被遮蔽键的 K 与 V,不应改变该查询输出。再配合 、不同批长度和非对称数值,就能暴露许多广播和转置错误。
反向形状也应闭合: 与头输出同形,乘 得分支梯度,softmax VJP 仍沿键轴耦合。只检查前向权重热图不能证明 Q、K、V 投影梯度正确,应在小张量上做有限差分或方向导数核验。
填充掩码
批内序列补齐后,键 padding mask 常从 reshape 为 ,广播到所有头和查询。它阻止有效查询读取填充键。若查询位置本身是 padding,还需在输出或损失处遮蔽该查询;只遮键不会自动令填充查询输出为零。
mask 的真值语义要核对:有的接口中真表示保留,有的表示遮蔽。加性 mask 通常在遮蔽处加负无穷,在有效处加零。若某查询一整行键都被遮蔽,softmax 得到无定义的零除或非有限值;应保证至少一个合法键,或对该查询走显式零输出路径。
批量二、头数四、查询长度三、键长度五。第二个样本只有前三个键有效,其 mask 为 。reshape 成 后,可广播到分数 ;第二样本所有头、所有查询的最后两列被遮蔽。
若误 reshape 为 ,它会试图作用在查询轴且因长度三不匹配;某些恰好等长场景甚至会静默遮错。测试应使用 与不同样本长度,查看每一行有效权重和是否为一。
因果掩码
自回归位置 只能读取不晚于 的键。长度 的因果 mask 是下三角可见关系:当 时允许查询 读取键 ,否则遮蔽。其基本形状可为 ,再与 padding mask 取逻辑合并。
三位置未遮蔽分数都为零。因果 mask 后,位置一只看键一,权重 ;位置二看键一、二,权重 ;位置三看全部,权重 。
若还有 padding,二者共同遮蔽。训练中整段 token 可并行计算,因为 mask 已阻断未来信息;并行不等于允许未来。检查可把未来 token 内容改变,确认较早位置 logits 完全不变。解码带缓存时,新查询只需看历史键值与自身,不需构造完整方阵。
编码器双向自注意力通常不使用因果 mask,只用 padding。解码器交叉注意力读取完整已编码源序列,通常也只遮源 padding;目标因果性由解码器自注意力负责。把因果 mask 错加到交叉注意力会无依据限制源信息。
位置表示与顺序信息
纯自注意力在不加位置且相应置换输入时,输出按同样方式置换,本身不提供绝对顺序。位置表示把索引或相对位移注入投影与分数。方法不仅影响训练长度内拟合,也决定缓存偏移和超长序列如何定义。
绝对位置向量可与 token 表示相加。学习式表为每个索引保存参数,简单直接,但索引超过表长没有定义,扩展表或插值会改变模型。固定正弦编码用不同频率的正弦余弦对表示位置,任意整数位置在数学上可计算,且相对位移可由三角恒等式关联;这不等于模型训练外长度必然可靠。
取最简单频率一,二维位置向量为 。位置零为 ,位置 为 。点积
只依赖相对差,这是三角恒等式带来的结构。实际编码使用多组频率并按离散整数位置取值。若训练只见长度一百,位置一万虽可计算,其相位组合和模型注意范围仍远离训练分布,需要专门评估。
相对位置编码
相对位置偏置把 或分桶后的 加到查询 、键 的分数。它直接表达“相距多少”与方向,可在平移序列时保持关系。有限表通常裁剪远距离或把它们分桶,因此远处多个距离可能共享一个偏置;所谓外推是由这条共享规则定义,不表示能分辨所有长距离。
相对位置也可进入键和值的表示,而不只加标量偏置。不同形式的缓存需求和计算成本不同,迁移权重时必须匹配公式。若只给绝对位置而训练数据总从索引零开始,模型可能依赖绝对槽位;随机位置偏移可作为训练策略,但也改变数据分布。
旋转位置编码
旋转位置表示把查询和键的相邻维度对按位置相关角度旋转。二维旋转矩阵满足 ,所以旋转后查询键点积显式依赖相对位移。通常旋转 Q 与 K,不必旋转 V;头维需能按成对通道组织,并要记录频率基和位置偏移。
缓存解码中,新 token 的 Q/K 必须使用全局位置而不是缓存内从零重新编号;拼接前缀、滑动窗口或分块时尤其易错。扩展到训练外长度时,旋转公式仍可求值,但高频相位、低频覆盖和注意模式都可能失配。位置缩放或频率重参数化改变了相对几何,需要重新验证,不能只以“不报错”作为外推成功。
长度与成本边界
标准注意力分数张量含 个元素,核心点积计算约为 。自注意力 时对长度呈平方增长。多头在总宽固定时不消除 ,只是重排子空间;显式 materialize mask 也可能额外占平方内存。
长度外推前检查四层边界:位置索引是否定义,因果与 padding mask 是否支持新尺寸,数值内核和缓存位置是否正确,模型是否在新距离上保持任务质量。学习式绝对表越界是硬失败;正弦、相对或旋转表示能计算只是软前提。应按长度分组报告损失、检索距离和延迟,不把训练内平均分外推。
练习
计算一个对称两键注意力。
查看提示
查看解答
写出一组交叉注意力形状。
查看提示
查看解答
说明键padding mask的目标形状。
查看提示
查看解答
构造四位置下三角因果mask。
查看提示
查看解答
比较四类位置表示的外推边界。
查看提示
查看解答
为什么不能让一个查询的所有键都被遮蔽?
查看提示
查看解答
关系与资源
- 注意力机制 提供查询键值与加权汇聚基础。
- 矩阵乘法 支持批量点积和投影形状。
- 三角函数 解释正弦与旋转位置结构。
- 编码器、解码器与Transformer架构 组装多头子层和掩码。
- 视觉Transformer与混合架构 把位置与多头机制用于图像token。
- 长序列、效率与Transformer综合复习 比较长度与缓存边界。
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin · 2017 · Advances in Neural Information Processing Systems 30
打开官方来源Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville · 2016 · MIT Press
打开官方来源《Attention Is All You Need》介绍多头投影、缩放点积注意力、正弦位置编码和 Transformer 的张量结构。《Deep Learning》介绍序列建模、参数共享和反向传播。