当前位置: 首页 > java >正文

Cross-Attention:注意力机制详解《一》

✅ 1. 标准 Transformer 模型(Encoder-Decoder)

在原始的 Transformer 架构(如论文《Attention Is All You Need》中提出的)中,模型由两个主要部分组成:Encoder 和 Decoder

Encoder 部分:

  • 只使用了 Self-Attention
  • 每个位置都可以关注输入序列的所有位置
  • 公式形式:Q = K = V = 输入

Decoder 部分:

  • 使用了 两种注意力机制
    1. Masked Self-Attention(仍然是 Self-Attention)
      • 用于防止当前位置看到后面的内容(因果掩码)
      • Q = K = V = 解码器输入
    2. Cross-Attention
      • 用于关注 Encoder 的输出
      • Q = 解码器中间表示, K = V = 编码器输出
      • 这使得解码器可以在生成每个词时“注意”到输入句子的相关部分

✅ 2. Decoder-only 模型(如 GPT 系列)

这类模型只保留了 Transformer 的 Decoder 部分。

  • 使用的是 Masked Self-Attention
    • 即只能关注当前及之前的位置(因果语言模型的特性)
  • 没有 Cross-Attention(因为没有 Encoder)

所以,decoder-only 模型只有 self-attention,不涉及 cross-attention。


✅ 3. Encoder-only 模型(如 BERT)

这类模型只保留了 Transformer 的 Encoder 部分。

  • 使用的是 Self-Attention
    • 每个 token 可以关注整个输入序列中的所有 token
  • 同样没有 Cross-Attention

🧠 总结对比表:

模型类型是否包含 Self-Attention是否包含 Cross-Attention
标准 Transformer (Encoder-Decoder)✅ 是✅ 是
Decoder-only(如 GPT)✅ 是❌ 否
Encoder-only(如 BERT)✅ 是❌ 否

🔍 补充说明:

  • Cross-Attention 是连接 Encoder 和 Decoder 的关键机制,允许 Decoder 在生成输出时参考 Encoder 的信息。
  • Self-Attention 是所有 Transformer 变体的基础,不管是 encoder 还是 decoder。

http://www.xdnf.cn/news/11996.html

相关文章:

  • Java 反汇编
  • 【原理解析】为什么显示器Fliker dB值越大,闪烁程度越轻?
  • React---扩展补充
  • 祝贺XC3576H通过银河麒麟桌面操作系统的兼容性测试,取得麒麟软件互认证证书
  • 结节性甲状腺肿全流程大模型预测与决策系统总体架构设计方案大纲
  • Spring BeanPostProcessor
  • 【计算机组成原理】SPOOLing技术
  • PowerBI企业运营分析—全动态盈亏平衡分析
  • AI IDE 正式上线!通义灵码开箱即用
  • 驱动:字符设备驱动注册、读写实操
  • 用OpenNI2获取奥比中光Astra Pro输出的深度图(win,linux arm64平台)
  • React从基础入门到高级实战:React 高级主题 - 测试进阶:从单元测试到端到端测试的全面指南
  • PWM 相关知识整理
  • 【大模型:知识图谱】--4.neo4j数据库管理(cypher语法1)
  • 振动力学:欧拉-伯努利梁的弯曲振动(考虑轴向力作用)
  • Qt Quick快速入门笔记
  • 国产三维CAD皇冠CAD在「金属压力容器制造」建模教程:蒸汽锅炉
  • 音乐播放器小程序设计与实现 – 小程序源码分享
  • typescript中的type如何使用
  • gitlab rss订阅失败
  • LeetCode 3226.使两个整数相等的位更改次数
  • SkyWalking架构深度解析:分布式系统监控的利器
  • Docker容器化的文件系统隔离机制解析
  • 解决com.jcraft.jsch.JSchException: Algorithm negotiation fail
  • CppCon 2015 学习:Beyond Sanitizers
  • 全角转半角函数(APP)
  • Viggle:开启视频人物替换新纪元
  • 书籍转圈打印矩阵(8)0604
  • Reids 如何处理缓存穿透、缓存击穿、缓存雪崩问题?
  • 使用ArcPy进行栅格数据分析