简单了解图注意力机制

简单了解图注意力机制

如果对传统的图匹配的聚合方式进行创新的话,也就是对h这一个节点的聚合方式进行创新。

h i ( l + 1 ) = Norm ⁡ ( σ ( h i ( l ) + α ∥ h i ( l ) ∥ m i ( l ) ∥ m i ( l ) ∥ ) ) , \mathbf{h}_{i}^{(l+1)}=\operatorname{Norm}\left(\sigma\left(\mathbf{h}_{i}^{(l)}+\alpha\left\|\mathbf{h}_{i}^{(l)}\right\| \frac{\mathbf{m}_{i}^{(l)}}{\left\|\mathbf{m}_{i}^{(l)}\right\|}\right)\right), hi(l+1)=Norm σ hi(l)+α hi(l) mi(l) mi(l) ,

将这一个聚合的方式进行改进,然后在通过余弦相似度生成亲和力矩阵进行匈牙利算法的匹配操作。

M i , j = h i ⊤ h j ∥ h i ∥ ⋅ ∥ h j ∥ . \mathbf{M}_{i, j}=\frac{\mathbf{h}_{i}^{\top} \mathbf{h}_{j}}{\left\|\mathbf{h}_{i}\right\| \cdot\left\|\mathbf{h}_{j}\right\|} . Mi,j=hihjhihj.

也就是想学习能不能在聚合的这个公式上加入注意力,或者考虑加入一个Transform模块作为一个创新点。

传统GNN的计算方法

在这里插入图片描述

在很早之前刚开学的时候,看过一些视频资料来学习GNN的聚合方式,本质上就是自身的节点,加上与之相连的节点乘以一个权重系数W进行聚合操作。

每一个连接的顶点特征向量乘以W在进行求和,最后通过一个激活函数来进行实现。

在这里插入图片描述

也就是要通过给出的特征向量矩阵(假设每一个节点是4维度的特征向量)先乘以一个可学习的参数矩阵w 得到更新之后的h,然后在根据邻接矩阵进行聚合操作.

下面是实际运算给出的示例图

在这里插入图片描述

也就是只有它自己本身和连接的两条边2和3来参与运算.然后其他节点的更新策略依次类推从而完成整个节点的一个更新操作.

图中的Attention操作

对于上面的一个图来说,同样对于节点1的权重更新需要考虑的是与之相邻的节点2和3,但是一个值得注意的点就是2和3对节点1的影响程度应该是一样的吗?

这里说的图中的注意力也就是要在连接两个节点之间的边上赋予其权重,类似于一个加权平均的感觉了.

计算i节点和j节点之间的注意力我们给出下面的公式来进行计算.

e i j = a ( W h i , W h j ) e_{i j}=a\left(W h_{i}, W h_{j}\right) eij=a(Whi,Whj)

注意力机制的运算就采样下面的方法来进行.

α i j = softmax ⁡ j ( e i j ) = exp ⁡ ( e i j ) ∑ k ∈ N ( i ) exp ⁡ ( e i k ) = exp ⁡ ( a ( W h i , W h j ) ) ∑ k ∈ N ( i ) exp ⁡ ( a ( W h i , W h j ) ) \alpha_{i j}=\operatorname{softmax}_{j}\left(e_{i j}\right)=\frac{\exp \left(e_{i j}\right)}{\sum_{k \in N(i)} \exp \left(e_{i k}\right)}=\frac{\exp \left(a\left(W h_{i}, W h_{j}\right)\right)}{\sum_{k \in N(i)} \exp \left(a\left(W h_{i}, W h_{j}\right)\right)} αij=softmaxj(eij)=kN(i)exp(eik)exp(eij)=kN(i)exp(a(Whi,Whj))exp(a(Whi,Whj))

与之关联的节点之间做一个softmax操作.

在这里插入图片描述

这种方法的举例就是1和2之间做一个点积运算得到一个值,然后在2和3之间做一个点积运算得到另一个值,它们之间做softmax操作.

这种图中加注意力的方式是有很多种的,关于这方面的论文应该是有很多,这里就值列举课程中提到的一些.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

aosp15 - App冷启动

纸上得来终觉浅,绝知此事要躬行。 —— [宋]陆游 基于aosp_cf_x86_64_phone-trunk_staging-eng , 下面是具体断点位置。 第一部分,桌面launcher进程 com.android.launcher3.touch.ItemClickHandler onClickonClickAppShortcutstartAppShor…

arcgisPro相接多个面要素转出为完整独立线要素

1、使用【面转线】工具,并取消勾选“识别和存储面邻域信息”,如下: 2、得到的线要素,如下:

树莓派4B 搭建openwrt内置超多插件docker,nas等等使用教程

刷入固件 (想要固件的加我vx wyy7293) bleachwrt-plus-20241112-bcm27xx-bcm2711-rpi-4-squashfs-factory.img上电,并且把网线两头分别插在pi网口上和电脑的网口上(电脑必须断网) 等待网口灯亮,进入192.168.1.1 默认账密 root password 进入系统后更改openwrt的网关地址相关…

Java开发经验——数据库开发经验

摘要 本文主要介绍了Java开发中的数据库操作规范,包括数据库建表规范、索引规约、SQL规范和ORM规约。强调了在数据库设计和操作中应遵循的最佳实践,如字段命名、数据类型选择、索引创建、SQL语句编写和ORM映射,旨在提高数据库操作的性能和安…

springboot462学生心理压力咨询评判(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装学生心理压力咨询评判软件来发挥其高效地信息处理的作用&am…

练习题:一维数组

练习题 第一题 键盘录入一组数列&#xff0c;利用冒泡排序将数据由大到小排序 代码 #include <stdio.h>int arr_home01() {int arr[10];int i,j,temp;printf("请输入10个测试整数&#xff1a;\n");int len sizeof(arr) / sizeof(arr[0]);for(i 0;i < …

基于LR/GNB/SVM/KNN/DT算法的鸢尾花分类和K-Means算法的聚类分析

花瓣轮廓&#xff1a; 分类与聚类 使用各种模型进行鸢尾花分类和聚类 1. | 介绍 &#x1f44b; &#x1f914; 数据集问题 鸢尾花分类项目是使用简单数据集实现机器学习模型的实际演示。数据集本身包含有关花瓣和萼片大小的信息&#xff0c;包括鸢尾属物种。通过分析鸢尾花的…

创新驱动医疗变革:SSM+Vue 医院预约挂号系统的设计与实践

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理医院预约挂号系统的相关信息成为必然。开发…

【Java】HashMap的简单教程

HashMap 是 Java 中最常用的数据结构之一&#xff0c;属于 java.util 包&#xff0c;主要用于以键值对&#xff08;key-value&#xff09;形式存储数据。 基本用法 1.创建 HashMap 使用泛型&#xff0c;存储键值对。 import java.util.HashMap;HashMap<KeyType, ValueTy…

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒&#xff0c;变成别人肉鸡&#xff0c;不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长&#xff0c;比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…

免费送源码:Java+ssm++MVC+HTML+CSS+MySQL springboot 社区医院信息管理系统的设计与实现 计算机毕业设计原创定制

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设社区医院信息管理系统…

AI的进阶之路:从机器学习到深度学习的演变(四)

AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;三&#xff09; 五、深度学习的应用领域 深度学习的应用领域广泛&#xff0c;涵盖了计算机视觉、自然语言处理、语音识别和推荐系统等多个方面。以下将详细探讨这些关键应用领域&#xff0c;展示深度学习在不同…

electron-vite【实战】自定义标题栏【组件封装】(含异形标题栏,指定区域拖拽,窗口置顶,窗口最小化,窗口最大化,取消最大化,隐藏窗口到托盘等)

效果预览 技术要点 透明背景 src/main/index.ts 的 new BrowserWindow 中添加 transparent: true, // 设置窗口背景透明frame: false, // 隐藏窗口边框仅图标和标题部分可拖拽 仅图标和标题部分添加样式 drag .drag {-webkit-app-region: drag; }图标与标题栏的融合 标题栏的…

[react] 获取ant组件ref用ts如何定义?

获取ant的轮播图组件, 我用ts如何定义? import React, { ElementRef } from react; const lunboRef useRef<ElementRef<typeof Carousel>>(null); <Carousel autoplay ref{lunboRef}> 这样就行了! ,然后点一下看看.弹出提示了 当然你还可以用ant内置的G…

springboot中Controller内文件上传到本地以及阿里云

上传文件的基本操作 <form action"/upload" method"post" enctype"multipart/form-data"> <h1>登录</h1> 姓名&#xff1a;<input type"text" name"username" required><br> 年龄&#xf…

python 曲线拟合,曲线拟合交点

目录 效果图: 源代码: 效果图: 源代码: import json import os import shutilimport cv2 import numpy as npfrom numpy.polynomial.polynomial import Polynomialdef calculate_distance(x1, y1, x2, y2):return np.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)def get_new_g…

java 集合对象

Java 基础之集合_java集合继承关系图-CSDN博客 集合可以有序或无序&#xff0c;重复或不能重复&#xff0c;空或不能空。 List<> 集合&#xff0c;是有序&#xff0c;允许重复元素&#xff0c;允许空元素 1、ArrayList<> 非线程安全 2、LInkedList<> 非线…

【零基础学习UDS诊断测试】——0x27测试用例设计

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 1.概述 2.响应情况 3.测试点解析 4.0x27诊断调查表 5.详细用例展示 1.概述 UDS(统一诊断服务)中的0x27服务,即安全访问服务(Security Access Service),其主要作用…

【BUG记录】Apifox 参数传入 + 号变成空格的 BUG

文章目录 1. 问题描述2. 原因2.1 编码2.2 解码 3. 解决方法 1. 问题描述 之前写了一个接口&#xff0c;用 Apifox 请求&#xff0c;参数传入一个 86 的电话&#xff0c;结果到服务器 就变成空格了。 Java 接收请求的接口&#xff1a; 2. 原因 2.1 编码 进行 URL 请求的…

视频直播点播平台EasyDSS推拉流技术结合无人机推流在道路交通巡检场景中的应用

随着城市化进程的加速&#xff0c;交通网络日益复杂&#xff0c;交通巡检工作面临着前所未有的挑战。传统的巡检方式往往依赖于人工巡查或地面监控设备&#xff0c;但这些方法存在巡检范围有限、效率低下等缺点。 无人机凭借其高空视野、灵活机动、实时监控等优势&#xff0c;…