news 2026/4/23 15:14:08

深度学习篇---Transformer交叉注意力机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习篇---Transformer交叉注意力机制

Transformer交叉注意力机制详解

1. 什么是交叉注意力?

交叉注意力(Cross-Attention)是连接编码器(Encoder)和解码器(Decoder)的"桥梁",让解码器在生成每个词时,能够"关注"到输入序列中的相关部分。

生活类比:就像同声传译员,在说中文的同时,要时刻关注 speaker 的英文原话,确保翻译准确。交叉注意力就是让模型在生成每个词时,都能"回头看"原始输入。

2. 交叉注意力的核心思想

2.1 基本概念
  • 查询(Query, Q):来自解码器当前生成位置

  • 键(Key, K):来自编码器输出(输入序列的表示)

  • 值(Value, V):来自编码器输出(输入序列的内容)

通俗理解

  • Q是"我现在想说什么"

  • K是"输入中有哪些关键信息"

  • V是"这些关键信息的具体内容"

2.2 工作原理
解码器位置 → 生成查询 → 在编码器输出中检索 → 获取相关信息 → 生成下一个词

3. 交叉注意力的详细计算过程

3.1 数学公式
Attention(Q, K, V) = softmax(QK^T/√d_k) × V

其中:

  • Q ∈ ℝ^(目标长度 × d_k) # 解码器查询

  • K ∈ ℝ^(源长度 × d_k) # 编码器键

  • V ∈ ℝ^(源长度 × d_v) # 编码器值

3.2 分步理解
# 伪代码:交叉注意力计算过程 def cross_attention(decoder_query, encoder_keys, encoder_values): # 1. 计算相似度:每个解码位置与所有编码位置的匹配程度 similarity = decoder_query @ encoder_keys.T # [目标长度, 源长度] # 2. 缩放并归一化为注意力权重 attention_weights = softmax(similarity / sqrt(d_k)) # [目标长度, 源长度] # 3. 加权求和:根据权重获取编码器信息 context = attention_weights @ encoder_values # [目标长度, d_v] return context, attention_weights

4. 实际工作示例

以英译中"I love China"为例:

第1步:生成"我"
解码器输入:<sos> 查询:<sos>的表示 相似度计算: - 与"I"的相似度:0.8 ← 重点关注 - 与"love"的相似度:0.1 - 与"China"的相似度:0.1 结果:主要从"I"获取信息 → 生成"我"
第2步:生成"爱"
解码器输入:<sos> 我 查询:"我"位置的表示 相似度计算: - 与"I"的相似度:0.2 - 与"love"的相似度:0.7 ← 重点关注 - 与"China"的相似度:0.1 结果:主要从"love"获取信息 → 生成"爱"
第3步:生成"中国"
解码器输入:<sos> 我爱 查询:"爱"位置的表示 相似度计算: - 与"I"的相似度:0.1 - 与"love"的相似度:0.2 - 与"China"的相似度:0.7 ← 重点关注 结果:主要从"China"获取信息 → 生成"中国"

5. Mermaid总结框图

6. 交叉注意力的关键特性

特性说明重要性
不对称性Q和K/V来源不同连接编码器和解码器
动态聚焦每个解码步关注不同源位置灵活对齐
可解释性权重可展示对齐关系理解模型行为
无位置限制可以关注任意距离的源词长距离依赖

7. 与其他注意力机制对比

8. 实际应用中的交叉注意力

8.1 机器翻译中的对齐可视化
源语言: I love China 目标语言: 我 爱 中国 注意力权重热力图: I love China 我 ■■ □ □ 爱 □ ■■ □ 中国 □ □ ■■
8.2 多模态应用
  • 图文生成:文本解码器关注图像区域

  • 语音识别:文本解码器关注音频特征

  • 视频描述:语言解码器关注视频帧

9. 交叉注意力的变体

变体特点优势
多头交叉注意力多个子空间并行捕获不同类型的关系
稀疏交叉注意力只关注部分源位置减少计算量
分层交叉注意力多尺度关注处理长序列

10. 通俗理解总结

把交叉注意力想象成一个"智能对焦系统"

  • 解码器= 正在写作文的学生

  • 编码器= 参考资料书

  • 查询(Q)= 学生当前想写的内容("接下来要写什么?")

  • 键(K)= 参考书的目录("哪些章节相关?")

  • 值(V)= 参考书的具体内容("具体信息是什么?")

  • 注意力权重= 学生看各章节的时长分配

整个过程:学生每写一句话,都会快速浏览参考书,找到最相关的部分,提取信息,然后写出下一句。写完一句,再看下一句需要什么信息,循环直到完成整篇作文。

这种机制让Transformer能够灵活地在输入和输出之间建立联系,是实现序列到序列任务的核心技术。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 21:11:21

深度学习篇---半自回归(Semi-Autoregressive)

半自回归&#xff08;Semi-Autoregressive&#xff09;详解1. 什么是半自回归&#xff1f;半自回归&#xff08;Semi-Autoregressive, SAR&#xff09;是一种介于自回归&#xff08;AR&#xff09;和非自回归&#xff08;NAR&#xff09;之间的生成策略。它在全局保持自回归的逐…

作者头像 李华
网站建设 2026/4/18 21:10:36

vue基于python的驾校预约报名管理系统设计与实现springboot

目录技术选型与框架介绍核心功能模块设计关键技术实现细节扩展优化方向开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;技术选型与框架介绍 前端框架&#xff1a;Vue.js 3.x&#xff08;Composition API&#xff09; Element P…

作者头像 李华
网站建设 2026/4/18 21:10:44

AI写专著不再愁!专业工具详细解读,助你高效完成学术使命

学术专著写作困境与AI工具助力 撰写学术专著不仅考验个人的学术能力&#xff0c;更是在心理上对自己的一种挑战。与写论文时可以依赖团队的合作不同&#xff0c;AI专著撰写多是研究者自己独立进行。从选题确定到框架搭建、再到内容创作与修订&#xff0c;几乎所有环节都需要研…

作者头像 李华
网站建设 2026/4/18 21:11:02

Bumble Android HFP漏洞利用PoC:智能设备蓝牙协议安全分析

Bumble Android HFP 漏洞利用分析 本项目结合 Bumble 蓝牙协议栈与 Frida 动态插桩技术&#xff0c;实现对 Android 蓝牙 HFP&#xff08;Hands-Free Profile&#xff09;服务的安全分析与漏洞利用验证。通过模拟 HFP 网关设备&#xff0c;对 CVE-2025-48593 漏洞进行概念验证&…

作者头像 李华
网站建设 2026/4/18 21:11:59

【记录】AT_abc406模拟赛

我感觉自己糖的没边了 https://www.luogu.com.cn/problem/AT_abc406_c 因为恰好一个&#xff0c;所以要找的是类似波形函数的一段。 更确切地说&#xff0c;是前一段递增的最后一个和后一段递增的第一个。 所以只要求出所有递增段&#xff0c;枚举起始结尾即可。 https://ww…

作者头像 李华
网站建设 2026/4/20 7:37:45

Java、Python、HTML 前端后端如何配合?零基础也能看懂的毕设组合方案

在计算机专业毕业设计中&#xff0c;Java Python HTML 是一套非常经典、实用、易过答辩、项目完整性高的技术组合。很多同学会困惑&#xff1a;这三门语言/技术分别负责什么&#xff1f;怎么拼在一起形成一个完整项目&#xff1f;本文不写一行代码&#xff0c;纯思路讲解&…

作者头像 李华