Attention注意力机制

news/2024/11/28 15:38:30/

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

对于一个模型而言(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.ppmy.cn/news/46311.html

相关文章

一本通 3.4.6 拓扑排序

1352:【例4-13】奖金 【题目描述】 由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。 于是Mr.Z下令召开m方会谈…

Markdown 使用 Emoji 表情 MD格式小表情大全

文章目录 Markdown 使用 Emoji 表情 && MD格式小表情大全# 复制和粘贴表情符号# 使用表情符号简码MD格式小表情大全结语Markdown 使用 Emoji 表情 && MD格式小表情大全 有两种方法可以将表情符号添加到Markdown文件中:将表情符号复制并粘贴到Markdown格式的文…

1.4 Docker Swarm-详细介绍

Docker Swarm 是 Docker 官方推出的容器编排工具,用于管理 Docker 容器集群。Docker Swarm 的主要功能包括容器的部署、扩容、缩容、更新等。本文将详细介绍 Docker Swarm 的相关概念、架构、部署和使用方法。 一、Docker Swarm 概述 Docker Swarm 是 Docker 官方…

10、数据库学习规划:MySQL - 学习规划系列文章

MySQL数据库是笔者认识的几个流行的数据库之一。类似于Linux重装系统,其也是开源的,最主要是有很多的社区支持,众多的开发者对其能够进行使用,所以其功能也挺强大,便于使用。通过对MySQL数据库的学习,笔者认…

《计算机算法设计与分析》课后练习07

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 我行及我道 //算法:用A(m)划分集合A(m:p-1) procedure PARTITION(m,p)integer m,p,i; global A(m:p-1)v A(m); i m //A(m)是划分元素…

FVM链的Themis Pro,5日ido超百万美元

交易一直是 DeFi 乃至web3领域最经久不衰的话题,也因此催生了众多优秀的去中心化协议,如 Uniswap 和 Curve。这些协议逐渐成为了整个系统的基石。 在永续合约方面,DYDX 的出现将 WEB2 时代的订单簿带回了web3。其链下交易的设计,仿…

VMware vSphere 8.0 Update 1 正式版发布 - 企业级工作负载平台

ESXi 8.0 U1 & vCenter Server 8.0 U1 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u1/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-04-18,VMware vSphere 8.0 Update 1 正式…

IDEA插件-MavenHapler

1.安装Maven Helper Maven Helper 是 IntelliJ IDEA 中的一个插件,可以帮助您管理 Maven 依赖项。它可以帮助您更容易地删除不再需要的依赖项,查看依赖项的冲突,以及执行其他有关 Maven 依赖项的操作。 打开 IDEA 设置页面: 在插…