Attention注意力机制

news2024/11/17 15:48:06

加粗样式通俗理解:你会注意什么?

对于一个模型而言(CNN,LSTM),模型本身很难决定什么重要什么不重要,因此注意力机制诞生了。

注意力机制:我们会把焦点聚焦在比较重要的事务上

怎么做注意力

对象:我(查询对象Q),这张图(被查询对象V)
面对一张图,人会判断哪些东西重要哪些东西不重要(计算Q和V中事物的重要度=相似度计算=Q和V中哪些东西更接近)

如何计算Q和K的相似度?→用点乘的方式,点乘其实就是内积cos

Q是查询对象, K = K 1 , K 2 , ⋯   , K n K=K_1,K_2,\cdots,K_n K=K1,K2,,Kn是要查询的事物key

通过点乘的方法计算Q和K里的每一个事物的相似度,就可以拿到Q和 k 1 k_1 k1的相似值 s 1 s_1 s1,Q和 k 2 k_2 k2的相似值 s 2 s_2 s2,Q和 k n k_n kn的相似值 s n s_n sn

做一层 s o f t m a x ( s 1 , s 2 , ⋯   , s n ) softmax(s_1,s_2,\cdots,s_n) softmax(s1,s2,,sn)就可以得到概率 ( a 1 , a 2 , ⋯   , a n ) (a_1,a_2,\cdots,a_n) (a1,a2,,an)

因此就可以找到哪个对Q而言更重要


在上图中,Query表示查询对象,Key表示被查询对象,F(Q,K)表示Q和K进行内积,得到相似度值s,然后做softmax归一化,得到四个概率 a 1 a_1 a1, a 2 a_2 a2, a 3 a_3 a3, a 4 a_4 a4
还要进行汇总,当使用Q查询结束后,Q已经失去了它的使用价值(在阶段3失去了使用价值),最终还是要拿到该图片的,只不过这张图片多了一些信息(多了一些对于我而言什么信息更重要,什么信息不重要),如下发的热力图,在红色部分是重要的信息。

怎么注意这些重要的部分?

( a 1 , a 2 , ⋯   , a n ) ∗ ( v 1 , v 2 , ⋯   , v n ) = ( a 1 ∗ v 1 , a 2 ∗ v 2 , ⋯   , a n ∗ v n ) = ( a 1 ∗ v 1 + a 2 ∗ v 2 + ⋯ + a n ∗ v n ) (a_1,a_2,\cdots,a_n)*(v_1,v_2,\cdots,v_n)=(a_1*v_1,a_2*v_2,\cdots,a_n*v_n)=(a_1*v_1+a_2*v_2+\cdots+a_n*v_n) (a1,a2,,an)(v1,v2,,vn)=(a1v1,a2v2,,anvn)=(a1v1+a2v2++anvn)=V’得到一个新的V’,新的V中包含了哪些更重要,哪些不重要的信息在里面。
以前的V= ( v 1 , v 2 , ⋯   , v n ) (v_1,v_2,\cdots,v_n) (v1,v2,,vn)
新的V’= ( a 1 ∗ v 1 , a 2 ∗ v 2 , ⋯   , a n ∗ v n ) (a_1*v_1,a_2*v_2,\cdots,a_n*v_n) (a1v1,a2v2,,anvn)

然后用V’代替V

一般K=V,在transformer里。K!=V也是可以的,但是K和V一定存在某种联系,这样Q和K点乘才能指导V哪些重要,哪些不重要。
在这里插入图片描述
在这里插入图片描述
为什么在Attention公式中有一个除 d k \sqrt{d_k} dk
因为经过softmax得到的概率,如果输入之间的差额越大,得到的概率越离谱
如输入是51,49,得到的概率可能是0.51,0.49
如果输入是80,20,得到的概率可能是0.99999999,0.00000001
现在多一个除 d k \sqrt{d_k} dk ,就可以把差额缩小

笔记来源于视频https://www.bilibili.com/video/BV1QW4y167iq/?spm_id_from=333.337.search-card.all.click&vd_source=4f67898e2b4507b9469b30d33789bb78

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详细聊一聊Android Apk的四代签名

简介 大部分开发者对apk签名还停留在APK v2,对APK v3和APK v4了解很少,而且网上大部分文章讲解的含糊不清,所以根据官网文档重新整理一份。 apk签名从APK v1到APK v2改动很大,是颠覆性的,而APK v3只是对APK v2的一次…

RocketMQ是是如何管理消费进度的?又是如何保证消息成功消费的?

RocketMQ消费者保障 作者: 博学谷狂野架构师GitHub:GitHub地址 (有我精心准备的130本电子书PDF) 只分享干货、不吹水,让我们一起加油!😄 消息确认机制 consumer的每个实例是靠队列分配来决定如何消费消息的…

业务异步离线任务平台思考

目录 一、离线任务平台定义 二、实际开发那种的实现方式分析 三、企业应用与链接分享 (一)具体企业应用举例 (二)离线任务平台相关文章和论文链接 四、开源代码库参考 一、离线任务平台定义 离线任务平台通常是指一种基于云…

基于 Verilog HDL 设计真彩图的灰度处理模块

引言 FPGA比较擅长的是作定点数整数运算,那么对于带有小数部分的乘加运算。一般都选择先扩大若干倍,而后将运算结果缩小若干倍实现。 应用案例,真彩图转灰度图的心理学计算公式: Gray 0.299R 0.587G 0.114B 本文给出具体的…

Spring boot基础学习之(十八):通过shiro框架使用Mybatis实现用户的认证完整的认证流程

在上几篇文章的基础上,实现本次案例 注意:本篇文章的实现代码在几篇文章都已经详细的讲过了,所以在此篇文章,将不再有理论知识的陈述,更过的流程,如何通过代码实现连接数据库进行认证 添加本次案例所需要的…

【并发编程】ConcurrentHashMap源码分析(二)

addCount 统计元素个数 private transient volatile long baseCount; //初始化大小为2,如果竞争激烈,会扩容 2->4 private transient volatile CounterCell[] counterCells;如果竞争不激烈的情况下,直接用cas (baseCount1)如果竞争激烈的情况下,采用…

项目管理的三要素:时间、成本和质量

项目管理的三要素:时间、成本和质量,他们作为衡量一个项目的成功失败的指标,贯穿项目整个过程。 时间: 项目时间管理包括使项目按时完成必须实施的各项过程。 项目计划按照逻辑关系安排计划活动顺序时,需要考虑进度…

C#,码海拾贝(16)——求行列式值的全选主元高斯消去法,《C#数值计算算法编程》源代码升级改进版

1 高斯消去法 数学上,高斯消元法(或译:高斯消去法),是线性代数规划中的一个算法,可用来为线性方程组求解。但其算法十分复杂,不常用于加减消元法,求出矩阵的秩,以及求出…

利好消息不断原油价格大幅走高

​几个OPEC成员国将在年底前将全球产量再削减116万桶/天,这将进一步给央行遏制全球通胀的努力带来负担,但关键是保护该联盟更广泛的产量策略免受政治压力的影响。 华盛顿介入批评了上周日的声明,8个OPEC生产国(包括组织的领导国沙…

Java中jar包的创建和使用

Java中jar包的创建和使用 jar包的基本概念 jar包的全称是java archive。jar包本质就是一种压缩包。在Java开发中一般是用来压缩类的一个包。类似C/C中的静态库和动态库,但是又不完全是。 C/C中的静态库和动态库是对中间文件(*.o)打包成一个…

【电路原理】电路元件基本知识详解

博主简介:努力学习的22级计科生一枚~博主主页: 是瑶瑶子啦所属专栏: 电路理论 前言1.电阻元件2.电容元件3.电感元件4.独立电源4.1:电压源4.2:电流源5.受控电源6.符号补充:7.总结本专栏文章主要总结、归纳电路原理、电路…

数据结构-排序(2)

前言: 上一章节介绍了 排序中的插入排序和选择排序, 分别复盘了插入排序中的直接插入排序和希尔排序以及选择排序中的选择排序和堆排序。今天继续复盘交换排序。 目录 2.3交换排序 2.3.1冒泡排序 2.3.2快速排序 2.3.2快速排序非递归 2.3交换排序 基…

HTML5 <figure> 标签、HTML5 <footer> 标签

HTML5 <figure> 标签 实例 使用 <figure> 元素标记文档中的一个图像&#xff1a; <figure><img src"img_pulpit.jpg" alt"The Pulpit Rock" width"304" height"228"> </figure>尝试一下 浏览器支持 …

在proteus中仿真arduino实现矩阵键盘程序

矩阵键盘是可以解决我们端口缺乏的问题&#xff0c;当然&#xff0c;如果我们使用芯片来实现矩阵键盘的输入端口缺乏的问题将更加划算了&#xff0c;本文暂时不使用芯片来解决问题&#xff0c;而使用纯朴的8根线来实现矩阵键盘&#xff0c;目的是使初学者掌握原理。想了解使用芯…

Lua脚本

目录说明什么是Lua脚本为什么要使用Lua脚本Lua脚本的安装Lua脚本的使用Lua的变量Lua脚本的算术运算符Lua脚本的关系运算符Lua脚本的逻辑运算符Lua脚本不同的操作Lua脚本的函数和标准库Redis整合Lua脚本&#xff08;重点&#xff09;在Java集成Lua在SpringBoot项目中使用Redis集…

前端PC端适配,网页端适配

问题背景 由于我司是使用的大屏&#xff0c;且设计稿尺寸为19201080。但是需要适配各种分辨率&#xff0c; 比如12801024(5:4)、1366768(16&#xff1a;10)、16801050&#xff08;16&#xff1a;10&#xff09;。在尝试了多种方法之后&#xff0c;最终确定主要的适配方法为rem…

【vue3】04-vue基础语法补充及阶段案例

文章目录vue基础语法补充vue的computedvue的watch侦听书籍购物车案例vue基础语法补充 vue的computed computed&#xff1a;用于声明要在组件实例上暴露的计算属性。&#xff08;官方文档描述&#xff09; 我们已经知道&#xff0c;在模板中可以直接通过插值语法显示一些data中…

科学的演变:从笛卡尔到生成式人工智能

编者按&#xff1a;本文主要介绍了科学的演变历史&#xff0c;从笛卡尔到生成式人工智能。文章探讨了数学在验证科学原理中的作用&#xff0c;并介绍了新机器学习工具如何验证新的科学。 文中提到&#xff0c;将生成式人工智能与Excel或iPhone进行比较是低估了这一新技术的潜在…

【AI】PaddlePaddle实现自动语音识别

文章目录文档背景安装环境Python版本pip环境安装模型需要的环境项目目录结构数据准备生成数据字典数据预处理训练模型创建模型构建模型的目的模型黑盒在模型中充当什么角色解码方法总结文档背景 学习AI的过程中&#xff0c;难免会出现各种各样的问题。比如&#xff0c;什么样的…

制造业生产管理系统(500强制造企业数字化实践)

前言 制造业是国民经济的支柱产业之一&#xff0c;随着科技和数字化的发展&#xff0c;制造业正在经历着一场新的变革。传统的制造模式已经无法满足市场的快速变化和客户的多样化需求&#xff0c;制造企业急需通过数字化和智能化转型升级&#xff0c;提高生产效率和质量水平&a…