transformer注意力机制的理解(Q,K,V,dk)

news/2025/2/19 14:46:13/

Attention公式:

上面这个注意力公式可以理解为是算 V 的加权后的表示

权重就是V前面的所有部分,

其中 softmax 可以使得权重概率分布和为1。 

其中 \frac{QK^{T}}{\sqrt{d_{k}}} 算的就是注意力的原始分数(其实也就是相似度分数,通过Q和K的点积求出)

其中 {\sqrt{d_{k}}} 是缩放系数,可以使结果不至于过大或过小,导致 softmax 之后就非0即1。

可以看下图帮助理解(图中最上边一行是softmax之前的结果,中间一行是没有除{\sqrt{d_{k}}}的softmax结果,最后一行是除了{\sqrt{d_{k}}}的softmax结果。可以看出在不除{\sqrt{d_{k}}} 的时候softmax的结果只会在输入的最大值或者几个大值附近出现,看起来非常陡峭。当输入除了{\sqrt{d_{k}}} 以后我们发现输入数据的分布大部分都保留了下来,这样的好处就是可以在梯度回传的时候让梯度比较平稳)

 

 


http://www.ppmy.cn/news/213416.html

相关文章

注意力机制详解

一文读懂注意力机制 - 知乎一、注意力机制是什么假设有一天热爱绘画的你决定去户外写生,你来到一片山坡上,极目远去,心旷神怡。头顶一片蔚蓝,脚踩一席草绿,远处山川连绵,眼前花草送香,暖阳含羞云…

10.3注意力的评价函数

1. 注意力的构造函数 1.1 <key, value> , query key :代表从原始输入x 中&#xff0c; 从事物自身本来所固有的某一个属性&#xff08;或多个属性上&#xff09;上提取出来的特征&#xff0c; 这些特征可以抽象的表示原始输入&#xff1b; value: 从原始输入中&#x…

注意力机制QKV的作用 简单易懂

关于注意力机制&#xff0c;一直都了解的比较浅显&#xff0c;只知道怎么去计算&#xff0c;但是具体算出来的怎么就体现了词跟词之间的关系一点都不清楚。 后来在b站上看到一个讲解transformer的视频&#xff0c;里边给了一个特别简单易懂的解释&#xff0c;就把它粘过来分享一…

【C++/嵌入式笔试面试八股】一、38.面向对象 | C++11新标准 | 异常处理

面向对象 135.面向对象和面向过程有什么区别? 面向对象编程强调的是数据和方法的封装,即将数据和相关的操作封装在一起,形成一个对象。面向对象编程的核心是类(Class)和对象(Object)的概念,通过类定义对象的属性和方法,然后通过实例化对象来进行操作。面向对象编程可…

Go Web下GORM框架使用(二)

〇、前言 本文将会写一个前后端分离的的小项目&#xff0c;本文将会只实现后端。 一、定义全局变量与模型 本文需要一个数据库&#xff0c;因此将这个数据库定义为全局变量将会非常轻松。 var (DB *gorm.DB )type Todo struct {ID int json:"id"Title s…

以太网交换机的生成树协议STP

以太网交换机的生成树协议STP 笔记来源&#xff1a; 湖科大教书匠&#xff1a;以太网交换机的生成树协议STP 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 如下图所示以太网中出现链路故障导致部分主机间无法进行通信 如何提高以太网的可靠性&am…

线程引入的开销

单线程程序既不存在线程调度&#xff0c;也不存在同步开销&#xff0c;而且不需要使用锁来保证数据结构的一致性。在多个线程的调度和协调过程中都需要一定的性能开销&#xff1a;对于为了提升性能而引入的线程来说&#xff0c;并行带来的性能提升必须超过并发导致的开销。 上下…

C#委托

C#委托 文章目录 C#委托委托定义委托实例化Action与Func 委托是一种动态调用方法的类型&#xff0c;委托是对方法的抽象和封装。 函数指针。 调用委托时&#xff0c;委托包含的所有方法将被执行。 委托定义 delegate关键字 修饰符 delegate 返回值类型 委托名( 参数列表 )…