自注意力机制:Query-Key-Value 与掩码
目录
自注意力让序列里每个词并行与全文算关联度;相关性越高,权重越大——这是 Transformer 捕捉长距离依赖的核心。
自注意力是什么
例如句子「猫坐在垫子上,它很舒服」:处理代词它时,模型分别衡量与「猫」「垫子」「舒服」等的关联,最终重点聚焦「猫」,完成指代理解。
嵌入进 Transformer 的极简串版
文本分词 → 向量 + 位置编码 → 编码器自注意力让每个 token 与全文交互 → 全局记忆供给解码器;解码器先掩码自注意力(不看未来),再交叉注意力对齐原文,循环预测下一 token。
如何工作(三步)
用 Query-Key-Value 理解:
- Query(查询):我想找什么?
- Key(键):我代表什么?
- Value(值):我提供什么信息?
- Query 与所有 Key 点积 → 匹配分数 → Softmax 成权重
- 用权重对所有 Value 加权求和 → 融合上下文的新表示
类比:会议室听五个人发言。你想了解「项目进展」——给相关同事更高权重,综合观点形成理解。这就是自注意力。
多头注意力(Multi-Head Attention):并行多个注意力头,捕捉语法、语义、指代等不同类型依赖,最后拼接结果——像同时从技术 / 商业 / 用户视角看同一问题。
前馈网络与残差连接
注意力层后接 FFN,做非线性变换,增强表达能力。残差连接让深层网络更易训练,加深的同时保持甚至提高准确度。
解码器的掩码自注意力
掩码确保处理当前位置时只能看到之前元素,不能偷看未来。
- 本质:解码器只允许参考自己已经输出过的文字
- 理解:生成第 t 个词时只能看前 t−1 个词;未来位置注意力置为负无穷,Softmax 后权重为 0,保证自回归生成