读一句话时,我们不会平均对待每个词——理解"它"指代谁,要回头看前面出现的名词。 注意力机制就是让模型学会"看哪里":每个词(token)生成时,对所有前文词计算一个相关性权重,再按权重把信息加权汇总过来。
Q 和每个 K 做点积得到分数,缩放后过 softmax 变成权重,再对 V 加权求和。公式就是
Attention(Q,K,V) = softmax(QKᵀ/√d)V。除以 √d 是为了防止维度大时点积过大、softmax 梯度消失。
单个注意力头只能学一种"看的方式"。多头注意力把向量切成几份并行做注意力, 有的头关注语法位置,有的头关注指代关系,最后拼接起来。论文里 8 个头是常见配置。
标准注意力的计算量随序列长度平方增长,长文本场景的各种稀疏/线性变体是怎么近似原效果的,下一篇笔记再整理。