Py学习  »  机器学习算法

一图搞懂深度学习:自注意力机制QKV

架构师带你玩转AI • 3 天前 • 20 次点击  

想象你参加一个聚会,房间里有很多人在聊天。你不会只跟一个人说话,而是会四处"串门",从不同的人那里收集有趣的信息。自注意力机制就像这个聚会过程——让AI的每个"词"都能主动寻找其他相关的"词",并从中获取有用信息。

这张流程图就是这个"聚会社交"的完整过程,让我们看看AI是如何"串门聊天"的!

Deep Dive into Self-Attention by Hand✍︎ | by Srijanie Dey, PhD | TDS  Archive | Medium

一、权重矩阵(WQ、WK、WV)

步骤1:角色转换 - "一人分饰三角"

输入特征准备:聚会成员登场假设聚会上有4个人,每人都有自己的信息。

  • 小明(x₁):"我刚看了一部科幻电影"
  • 小红(x₂):"我最近在学编程"
  • 小李(x₃):"我在研究人工智能"
  • 小王(x₄):"我喜欢看电影评论"

三重身份转换(WQ、WK、WV):每个人通过三个"身份转换器"变身。

彻底搞懂深度学习-向量和矩阵(动图讲解)

(1)WQ权重矩阵 → 生成提问者身份(Query)

  • q₁(小明的问题):"有人聊过AI相关话题吗?"
  • q₂(小红的问题):"有人知道编程应用吗?"
  • q₃(小李的问题):"谁对技术感兴趣?"
  • q₄(小王的问题):"有人讨论过电影吗?"

(2)WK权重矩阵 → 生成话题标签(Key)

  • k₁(小明的标签):"科幻、电影、想象"
  • k₂(小红的标签):"编程、技术、学习"
  • k₃(小李的标签):"AI、算法、研究"
  • k₄(小王的标签):"评论、分析、观点"

(3)WV权重矩阵 → 生成分享内容(Value)

  • v₁(小明的干货):"科幻电影里的AI概念其实很有意思..."
  • v₂(小红的干货):"Python可以用来做机器学习..."
  • v₃(小李的干货):"深度学习的核心是神经网络..."
  • v₄(小王的干货):"好的AI电影需要技术顾问..."

二、矩阵乘法(K^T × Q)

步骤2:兴趣匹配 - "寻找聊天对象"

矩阵乘法(K^T × Q):话题匹配度计算这就像每个提问者在心里给所有话题标签打分。

Transformer动画讲解 - 注意力工作原理(Q、K、V)

小明的兴趣匹配矩阵:小明问"AI话题" × 小李标签"AI研究" = 9分 ⭐⭐⭐小明问"AI话题" × 小红标签"编程技术" = 6分 ⭐⭐小明问"AI话题" × 小王标签"电影评论" = 4分 ⭐小明问"AI话题" × 小明标签"科幻电影" = 3

匹配逻辑揭秘:

  • 9分 = 完美匹配,必须深聊!
  • 6分 = 相关度高,值得交流
  • 4分 = 有点关系,礼貌性关注
  • 3分 = 自我反思时间

关键洞察: 每个人的问题都会与所有人的标签进行匹配,形成一个完整的"社交相容性矩阵"!

彻底搞懂深度学习-向量相似度计算(动图讲解)

、缩放处理(÷√dk)

步骤3:热情校准 - "控制社交温度"

缩放处理(÷√dk):避免社交过度就像聚会上要控制聊天热情,避免过于激动或过于冷淡。

(1)为什么要缩放?

原始匹配分数可能过于极端:[99, 87, 156, 23] → 差异巨大,容易"社交偏食"缩放后更加均衡:[9.9, 8.7, 15.6, 2.3] → 差异合理,保持开放心态

(2)缩放公式:

√dk = 话题复杂度的平方根dk越大 → 话题越复杂 → 匹配分数差异越大 → 需要更多校准就像专业话题比日常闲聊需要更多的"温度控制"

实际效果: 防止某个超级匹配的话题"独占"所有注意力,保持社交的多样性!

Transformer动画讲解 - 注意力计算Q、K、V

四、Softmax归一化

步骤4:时间分配 - "制定聊天计划"

Softmax归一化:合理安排社交时间聚会时间有限,每个人都要制定"聊天时间预算表"。

小明的时间分配计算过程:原始兴趣分数:[9, 6, 4, 3]↓ 指数化处理(e^x)放大差异:[8103, 403, 55, 20]↓ 归一化(÷总和)时间比例:[0.45, 0.30, 0.15, 0.10]翻译成人话:- 45%时间与小李深聊AI(核心兴趣)- 30%时间与小红探讨编程(相关话题)- 15%时间与小王聊电影(礼貌交流)  - 10%时间自我消化思考(整理收获)

Softmax的智慧:

  • 总时间必须=100%(时间守恒定律)
  • 兴趣越高,分配时间越多
  • 即使不太感兴趣也保留少量时间(避免错过惊喜)

一文彻底搞懂深度学习 - Softmax

五、加权融合(注意力矩阵A × 特征矩阵)

步骤5:信息整合 - "收获满满回家"

加权融合(注意力矩阵A × 特征矩阵):按重要性整合收获根据时间分配计划,每个人最终获得的是"定制化知识包":

小明的最终收获 =   45% × 小李分享的AI深度知识 +  30% × 小红提供的编程实战经验 +    15% × 小王贡献的电影评论视角 +  10% × 自己的原始想法和思考总结

神奇的转变:

  • 聚会前的小明:只知道"科幻电影很有趣"
  • 聚会后的小明:理解AI原理 + 掌握编程实现 + 具备评论视角 + 保持原始兴趣

信息融合的核心价值:

  • 知识互补:每个人的局限性被其他人的优势补充
  • 视角多元:同一个话题从不同角度被重新理解
  • 保持个性:在吸收新知识的同时,保留自己的特色
这就是自注意力机制的完整工作流程——通过角色转换、兴趣匹配、热情校准、时间分配、信息整合这五个步骤,让每个信息单元都能主动寻找相关信息,并根据相关程度智能地融合知识,最终实现从"单一视角"到"全局理解"的认知升级!

每篇文章都会用一张核心图解,配合生动比喻,让复杂的技术概念变得简单易懂!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/187146
 
20 次点击