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

注意力得分矩阵求解例子

在这里插入图片描述

这个公式是注意力机制(Attention Mechanism)中的核心公式,用于计算注意力得分(Attention Score),其中:

  • Q Q Q 是查询矩阵(Query Matrix),包含多个查询向量。
  • K K K 是键矩阵(Key Matrix),包含多个键向量。
  • V V V 是值矩阵(Value Matrix),包含多个值向量。
  • d k d_k dk 是键向量的维度。
  • A ( Q , K , V ) A(Q, K, V) A(Q,K,V) 是输出的注意力得分矩阵。

公式可以分解为以下步骤:

  1. 计算查询向量和键向量的点积: Q K T QK^T QKT
  2. 对点积结果进行缩放: Q K T d k \frac{QK^T}{\sqrt{d_k}} dk QKT
  3. 应用softmax函数进行归一化: softmax ( Q K T d k ) \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) softmax(dk QKT)
  4. 将归一化后的结果与值矩阵 V V V 相乘,得到最终的注意力得分矩阵。

下面通过一个具体的例子来验证这个公式。

例子设定

假设:

计算步骤

  1. 计算 $ QK^T $
    Q K T = [ 1 ⋅ 5 + 2 ⋅ 7 1 ⋅ 6 + 2 ⋅ 8 3 ⋅ 5 + 4 ⋅ 7 3 ⋅ 6 + 4 ⋅ 8 ] = [ 19 22 43 50 ] QK^T = \begin{bmatrix} 1 \cdot 5 + 2 \cdot 7 & 1 \cdot 6 + 2 \cdot 8 \\ 3 \cdot 5 + 4 \cdot 7 & 3 \cdot 6 + 4 \cdot 8 \end{bmatrix} = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix} QKT=[15+2735+4716+2836+48]=[19432250]
  2. 对点积结果进行缩放
    Q K T d k = 1 2 [ 19 22 43 50 ] ≈ [ 13.435 15.556 30.406 35.355 ] \frac{QK^T}{\sqrt{d_k}} = \frac{1}{\sqrt{2}} \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix} \approx \begin{bmatrix} 13.435 & 15.556 \\ 30.406 & 35.355 \end{bmatrix} dk QKT=2 1[19432250][13.43530.40615.55635.355]
  3. 应用softmax函数进行归一化
    对每个列向量应用softmax函数。
    对于第一列:
    softmax ( [ 13.435 30.406 ] ) = [ e 13.435 e 13.435 + e 30.406 e 30.406 e 13.435 + e 30.406 ] ≈ [ 0.0001 0.9999 ] \text{softmax}\left(\begin{bmatrix} 13.435 \\ 30.406 \end{bmatrix}\right) = \begin{bmatrix} \frac{e^{13.435}}{e^{13.435} + e^{30.406}} \\ \frac{e^{30.406}}{e^{13.435} + e^{30.406}} \end{bmatrix} \approx \begin{bmatrix} 0.0001 \\ 0.9999 \end{bmatrix} softmax([13.43530.406])=[e13.435+e30.406e13.435e13.435+e30.406e30.406][0.00010.9999]
    对于第二列:
    softmax ( [ 15.556 35.355 ] ) = [ e 15.556 e 15.556 + e 35.355 e 35.355 e 15.556 + e 35.355 ] ≈ [ 0.0001 0.9999 ] \text{softmax}\left(\begin{bmatrix} 15.556 \\ 35.355 \end{bmatrix}\right) = \begin{bmatrix} \frac{e^{15.556}}{e^{15.556} + e^{35.355}} \\ \frac{e^{35.355}}{e^{15.556} + e^{35.355}} \end{bmatrix} \approx \begin{bmatrix} 0.0001 \\ 0.9999 \end{bmatrix} softmax([15.55635.355])=[e15.556+e35.355e15.556e15.556+e35.355e35.355][0.00010.9999]
    因此,归一化后的矩阵为:
    softmax ( Q K T d k ) ≈ [ 0.0001 0.0001 0.9999 0.9999 ] \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \approx \begin{bmatrix} 0.0001 & 0.0001 \\ 0.9999 & 0.9999 \end{bmatrix} softmax(dk QKT)[0.00010.99990.00010.9999]
  4. 将归一化后的结果与值矩阵 $ V $ 相乘
    A ( Q , K , V ) ≈ [ 0.0001 0.0001 0.9999 0.9999 ] [ 9 10 11 12 ] ≈ [ 0.002 0.0022 20 22 ] A(Q, K, V) \approx \begin{bmatrix} 0.0001 & 0.0001 \\ 0.9999 & 0.9999 \end{bmatrix} \begin{bmatrix} 9 & 10 \\ 11 & 12 \end{bmatrix} \approx \begin{bmatrix} 0.002 & 0.0022 \\ 20 & 22 \end{bmatrix} A(Q,K,V)[0.00010.99990.00010.9999][9111012][0.002200.002222]

验证

通过上述计算,我们得到了注意力得分矩阵 A ( Q , K , V ) A(Q, K, V) A(Q,K,V)
这个结果符合注意力机制的基本原理:查询向量与键向量的相似度越高,对应的值向量在最终结果中的贡献越大。
在这个例子中,由于查询向量和键向量的点积结果较大,softmax函数将其归一化为接近1的值,因此值矩阵 V V V 中的对应行在最终结果中占据了主导地位。
通过这个例子,验证了注意力机制公式的正确性。

http://www.dtcms.com/a/263951.html

相关文章:

  • 网站崩溃的幕后黑手:GPTBot爬虫的流量冲击
  • 第七讲~~测试工具(禅道项目管理系统)
  • 【记录】Word|Word创建自动编号的多级列表标题样式
  • poi java 删除word的空白页
  • 【docker】docker save和docker load
  • 通达信【极弱强势指标与股道波段交易系统】幅图
  • Gin 中间件详解与实践
  • 发布/订阅模式:解耦系统的强大设计模式
  • Python Flask 容器化应用链路可观测
  • 基于SSM万华城市货运服务系统的设计与实现
  • 开源模型与商用模型协同开发机制设计
  • Vue基础(19)_Vue内置指令
  • Qt_Creator入门基础知识
  • 基于.Net的Web API 控制器及方法相关注解属性
  • Qt/C++运行报错:exited with code -1073741819
  • scp (Secure Copy Protocol)指令集
  • 向量数据库全面解析:原理、功能与主流产品对比
  • 学习笔记(C++篇)—— Day 9
  • Terraform Helm:微服务基础设施即代码
  • Kubernetes Pod 调度基础
  • 飞算JavaAI:重构软件开发范式的智能引擎
  • 【SQL知识】PDO 和 MySQLi 的区别
  • python __doc__
  • gateway白名单存储nacos,改成存储数据库
  • leetcode124-二叉树中的最大路径和
  • CPU缓存一致性
  • AI智能体在用户行为数据分析中有哪些应用?
  • 具身多模态大模型在感知与交互方面的综述
  • (十一)Spring WebSocket
  • Ansys Speos | Speos Camera 传感器机器视觉示例