首页 > 其他分享 >自注意力机制最简单的示例

自注意力机制最简单的示例

时间:2024-08-06 15:17:38浏览次数:6  
标签:示例 矩阵 计算 序列 机制 注意力 输入

自注意力机制示例

自注意力机制示例

1. 输入序列

假设我们有一个简单的输入序列,包含三个词(向量表示),每个词的维度是4:

 x1x2x3x4
词1 1 0 1 0
词2 0 1 0 1
词3 1 1 1 1

2. 查询(Q)、键(K)和值(V)矩阵

我们定义查询、键和值的权重矩阵如下:

 QKV
权重矩阵
                1 0 0 1
                0 1 1 0
                1 0 0 1
                0 1 1 0
                
                0 1 1 0
                1 0 0 1
                0 1 1 0
                1 0 0 1
                
                1 0 1 0
                0 1 0 1
                1 0 1 0
                0 1 0 1
                

3. 计算 Q、K 和 V

查询、键和值矩阵计算如下:

 Q(Q*输入序列)K(K*输入序列)V(K*输入序列)
                2 0 0 2
                0 2 2 0
                2 2 2 2
                
                0 1 1 0
                1 0 0 1
                2 1 1 2
                
                2 0 2 0
                0 2 0 2
                2 2 2 2
                

4. 计算注意力得分

注意力得分的计算如下:(dk=2,根号4)

 得分
QKT
                0 2 4
                2 0 2
                4 4 8
                
QKT / √dk
                0 1 2
                1 0 1
                2 2 4
                
softmax(QKT / √dk)
                0.090 0.244 0.665
                0.422 0.155 0.422
                0.090 0.090 0.819
                

5. 加权求和

加权求和的计算如下:

 结果
Attention(Q, K, V)
                2.329 1.576 2.329 1.576
                1.690 1.534 1.690 1.534
                2.819 2.818 2.819 2.818
                

总结

这个例子展示了自注意力机制如何通过计算查询、键和值矩阵,然后计算注意力得分,最后进行加权求和,来生成输入序列中每个元素的表示。

标签:示例,矩阵,计算,序列,机制,注意力,输入
From: https://www.cnblogs.com/chentiao/p/18345206

相关文章

  • VannaAI(带有 Ollama 和 ChromaDB)示例程序在训练模型步骤失败
    我开始测试VannaAI,并且我正在运行一个基于使用Ollama、ChromaDB为Postgres生成SQL的示例程序:fromvanna.ollamaimportOllamafromvanna.chromadbimportChromaDB_VectorStoreclassMyVanna(ChromaDB_VectorStore,Ollama):def__init__(self,confi......
  • Java包装类;字符串处理类:String;StringBuffer;StringBuilder;字符串处理类的常用方法;异常
    一,包装类      什么是包装类:         包装类是对于八种基本数据类型而言的,八种数据类型都有其对应的包装类。         以前定义变量,经常使用基本数据类型,对于基本数据类型来说,它就是一个数,加点属性,加点方法,加点构造器。  ......
  • 多态的机制原理
    多态通常有两种实现方法:子类继承父类(extends)类实现接口(implements)多态的实现机制:重载(overload)和重写(override)如果一个子类继承了一个父类,子类中拥有和父类相同方法名称,返回值,参数类型的话,就是重写,会执行子类中的方法。如果一个类中定义了多个同名方法,他们有不同的......
  • PHP中的引用传递和值传递的区别以及示例代码
    在PHP中,函数的参数传递主要有两种方式:值传递(PassbyValue)和引用传递(PassbyReference)。理解这两种传递方式对于编写高效、可维护的PHP代码至关重要。值传递(PassbyValue)值传递是PHP中的默认参数传递方式。当使用值传递时,函数内部对参数所做的任何修改都不会影响到函数外部......
  • 一个基础的js,html示例程序
    需求背景:一个html,一个js脚本。要求html里面提供若干按钮。第1个按钮,点击之后,触发js里面的add函数,第2个按钮点击之后触发js里面的del函数。第3个按钮,点击之后,在按钮右侧,显示当前时间,每点击一次刷新下一次。还有,在每个函数调用里面,函数开通打印当前时间戳(精确到毫秒),函......
  • 单元测试示例
    环境准备<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncodi......
  • vue3+ts公司人员管理系统示例(接口版)
    vue3+ts公司人员管理系统示例(接口版)首先,让我们创建一个新的Vue3项目:vuecreatecompany-management-systemcdcompany-management-systemvueaddtypescriptnpminstallelement-plusaxios然后,我们来创建必要的文件和组件:在src/types目录下创建Employee.ts:/......
  • 常见的PID的算法及代码示例
    常见的PID的算法及代码示例PID(比例-积分-微分)算法是控制系统中常用的一种反馈控制算法,它通过计算误差的比例、积分和微分来调整控制输入,以达到预定的控制目标。以下是一些常见的PID算法及代码示例:一、常见的PID算法位置式PID算法位置式PID算法直接计算控制量的绝对值,每次输......
  • Python异常处理机制
    编程错误编写程序时遇到的错误可大致分为2类,分别为语法错误和运行时错误。语法错误语法错误,也就是解析代码时出现的错误。当代码不符合Python语法规则时,Python解释器在解析时就会报出SyntaxError语法错误,与此同时还会明确指出最早探测到错误的语句。例如:print"Hello,World!......
  • emsdk安装和编译2个C++基础示例
    参考地址:Downloadandinstall—Emscripten3.1.65-git(dev)documentation 环境:ubuntu24.04LTSgcc(Ubuntu13.2.0-23ubuntu4)13.2.0g++(Ubuntu13.2.0-23ubuntu4)13.2.0cmakeversion3.28.3 Firstcheckthe Platform-specificnotes belowandinstallan......