注意力机制QKV在GAT(Graph Attention Network)的体现

news2024/10/5 16:19:29

注意力机制其实并没有规定 Q、K、V 的具体来源,GAT是规定了一套Q、K、V,自注意力是规定了另一套Q、K、V。核心其实只要计算满足下图的矩阵形式计算流程就是所谓的注意力机制了。学过注意力机制的应该都看的明白。
在这里插入图片描述

在自注意力机制self-attention中,Q、K和V是通过线性变换从同一个特征向量中获得的,是同一个特征矩阵X同源的,也就是Q、K、V都是来源于同一个特征矩阵X,只不过Q、K、V是同一个特征矩阵X的线性变换的产物罢了。说直白点就是:Q = X ⋅ WQ, K = X ⋅ WK, V = X ⋅ WV
这些变换将节点的特征映射到不同的表示空间,然后用于计算注意力权重。

GAT(Graph Attention Network)被称为注意力机制的一种图神经网络,它使用了注意力机制的思想。
在GAT中,每个节点与其邻居节点之间的关系被建模为具有不同权重的注意力权重。这就涉及到了注意力机制中的Q(查询)、K(键)和V(数值)的概念。具体来说,Q、K和V分别用于以下操作:

  1. 查询(Q):用于度量一个节点与其邻居之间的相关性。每个节点都有一个查询向量,用于计算与邻居节点之间的相似度。

  2. 键(K):描述邻居节点的特征。每个节点都有一个键向量,它用于与其他节点的查询向量进行比较,以确定注意力权重。

  3. 数值(V):包含了邻居节点的特征信息。每个节点都有一个数值向量,用于计算与邻居节点之间的加权和。

上面的Q、K、V 我自己觉得不太好理解,直接看下面的具体计算步骤。
下面的计算步骤是典型的注意力机制的计算,那就是说明肯定用到了注意力机制就对了()

通过将 查询向量Q键向量K 进行点积操作,然后应用softmax函数来获得注意力权重,最终用注意力权重对 邻居节点的 数值向量V 进行加权和,GAT可以动态地确定每个节点与其邻居节点之间的重要性,从而实现了图数据上的信息传递。

下面两图的就是具体计算了。
图一:a函数应该就是上面所描述的点积运算,然后softmax得到注意力权重aij,表示 节点 i 和 节点 j 的注意力权重。

图二:然后就再乘上红框里面标出来的V进行加权和就OK了,他还用了一个在这里插入图片描述
函数,问题不大。 可能符号表示不太严谨,意思能理解就行。

在这里插入图片描述
在这里插入图片描述

总之,GAT中的QKV是注意力机制的关键组成部分,用于计算节点之间的注意力权重以进行信息传递。这使得GAT在图数据上能够有效地捕捉节点之间的关系和特征交互。

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

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

相关文章

竞赛选题 深度学习卷积神经网络的花卉识别

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

IP地址:网络层的介绍

我们花费很大的篇幅讲解了应用层的TCP和UDP协议。现在我们进入到网络层的学习,重点要学习的就是IP协议。 对于IP协议来说,重要的有IPv4和IPv6协议,我们重点介绍IPv4协议。 IP报头 4位版本: 此处的取值只有4和6,代表…

Redis安全之从入门到花式利用

0x00 安全研究思路 正常安全研究思路大致可以是这样: 正常功能,为什么这个功能会导致漏洞,怎么使用不会有漏洞,开发为什么会这么写如何攻击,攻击会遇到什么情况什么限制如何解决如何武器化如何防御,在什么…

uniapp开发小程序—picker结合后台数据实现二级联动的选择

一、效果图 二、完整代码 <template><view><picker mode"multiSelector" change"bindMultiPickerChange" columnchange"bindMultiPickerColumnChange":value"multiIndex" :range"multiArray"><view c…

做外贸为何离不开WhatsApp?一文解封、养号、引流、促单全攻略!

WhatsApp在国际贸易中的地位无法忽视。它是一种即时通讯工具&#xff0c;也是外贸从业者的得力助手。但同时&#xff0c;使用WhatsApp也伴随着一些问题&#xff0c;如账号被封、如何养号、引流和促单。这篇文章将为你详细解答这些问题&#xff0c;让你更好地利用WhatsApp&#…

个人企业项目招投标小程序开发

项目招投标小程序开发 针对个人企业招投标开发的小程序。 程序基本能力&#xff1a;用户缴纳保证发布招标信息&#xff0c;然后商家进行认证成功后可以对招标发起投标&#xff0c;投标过程也需要缴纳保证金&#xff0c;招标结束或者下架保证金将全部退回到用户账号里面。 招…

生物芯片技术-原理、应用与未来发展

生物芯片技术-原理、应用与未来发展 一、引言 随着科技的不断发展&#xff0c;生物芯片技术已成为生物医药领域的重要支柱。这种技术运用微电子和微机械工艺&#xff0c;将生物分子、细胞、组织等生命活性物质固定在硅片、玻璃片、塑料片等固相基质上&#xff0c;实现生物信息…

filebeat7.10上传日志到ES7.14

filebeat版本&#xff1a;filebeat-7.10.0 版本&#xff1a;filebeat-7.10.0-linux-x86_64.tar.gz filebeat7.10上传日志到ES7.14 1、下载filebeat wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-linux-x86_64.tar.gz 2、安装filebeat ta…

从果蔬到乳制品,探索食品微生物对肠道健康的影响

谷禾健康 俗话说病从口入&#xff0c;饮食对人体具有重要的影响&#xff0c;蔬菜和水果作为每日饮食中必不可少的成分&#xff0c;为人类提供了重要的营养物质&#xff0c;包括各种必需的维生素和矿物质。 此外&#xff0c;蔬菜和水果上栖息着数量惊人的微生物&#xff0c;高度…

ASO优化之通过页面的优化来提升排名

应用商店优化是一个持续优化应用列表的过程&#xff0c;从而让我们的应用更容易被目标受众发现。通过实施ASO&#xff0c;我们可以在竞争激烈的应用市场中有效竞争&#xff0c;并为我们的应用带来自然流量。 1、添加关键词。 进行关键词研究&#xff0c;从而确定与应用程序功能…

【JavaSE语法】数据类型与变量

一、字面常量 常量即程序运行期间&#xff0c;固定不变,不可修改的量称为常量 public class Demo {public static void main(String[] args) {System.out.println("hello World!");System.out.println(100);System.out.println(3.14);System.out.println(A);System…

【欧拉函数】CF1731E

Problem - E - Codeforces 题意 思路 对于 k 次操作&#xff0c;gcd(u, v) k 1&#xff0c;代价的贡献就是二元组 (u, v)的个数 * (k 1) 那么就要我们求二元组个数 这个是个很经典的欧拉函数的套路&#xff0c;可以用线性筛把欧拉函数求出来&#xff0c;然后求个前缀和 …

动手学深度学习——第四次

梯度下降是在机器学习中用于寻找最佳结果&#xff08;即曲线最小值&#xff09;的一种迭代优化算法。 最小化loss&#xff0c;只需要将参数沿着梯度相反的方向前进一个步长&#xff0c;就可以实现目标函数&#xff08;loss function&#xff09;的下降。这个步长 η \etaη 又称…

在antd里面渲染MarkDown并且自定义一个锚点目录TOC(重点解决导航目录不跟随文档滚动的问题)

一、整体思路 由于有很多很长的文档需要渲染&#xff0c;我觉得用MarkDown的方式会比较适合管理&#xff0c;所以这两天测试了一下在antd里面集成MarkDown的渲染模块。 总体思路参考&#xff1a; https://blog.csdn.net/Sakuraaaa_/article/details/128400497 感恩大佬的倾情付…

技术分享 | 某下一代防火墙远程命令执行漏洞分析及防护绕过

0x01 概述 最近&#xff0c;某下一代防火墙曝光了远程代码执行漏洞。此漏洞通过绕过身份认证和注入 cookie 的方式来执行系统命令&#xff0c;公开的利用方式受到诸多限制且命令执行无回显&#xff0c;并且当目标机器不出网时&#xff0c;该漏洞利用方式便无法发挥作用&#x…

C语言——有 15 个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”

完整代码&#xff1a; /* 有 15 个数按由大到小顺序存放在一个数组中&#xff0c;输入一个数&#xff0c;要求用折半查找法找出 该数是数组中第几个元素的值。如果该数不在数组中&#xff0c;则输出“无此数”。*/ #include<stdio.h>//折半查找法&#xff0c;n是查找的那…

超宽带技术在汽车领域的应用

随着科技的不断发展&#xff0c;超宽带&#xff08;Ultra-Wideband, UWB&#xff09;技术在各个领域展现出了强大的潜力&#xff0c;其中汽车领域更是受益匪浅。UWB技术以其高精度的定位能力、高速的数据传输和低功耗的特点&#xff0c;为汽车行业带来了许多创新。本文将探讨UW…

在Python的虚拟环境中卸载eric6的方法

问题描述 之前在电脑的Python虚拟环境中安装了PyQt5及相应的界面设计器eric6。当时安装eric6后&#xff0c;没成功运行&#xff0c;提示少一个什么系统文件。我已在旁边的台式机上安装了较新版的PyQt6&#xff0c;决定不再用老版本的eric6&#xff0c;于是我需在笔记本电脑上卸…

C#WPF嵌入字体实例

本文介绍C#WPF嵌入字体实例。 首先创建项目 添加Resources文件夹,添加字体文件,字体文件属性:生成操作为Resources,复制到输出目录:不复制 字体的使用可以采用以下两种方法: 方式一 直接引用 FontFamily="./Resources/#幼圆" 方式二 定义资源 <Applica…

微信小程序:js处理一段文字,根据句号或者分号进行换行

一、根据句号和分号进行换行 效果 代码 wxml <view><text>{{remark}}</text> </view> js 核心代码 var repalce_remark remark.replace(/[&#xff1b;。]/g, "$&\n"); // 使用正则表达式进行替换 remark 是待替换的字符串。/[&am…