论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)

news2024/11/24 20:48:51

前言

近年来,深度学习促进了很多机器学习任务的发展,这些任务很多都表示在规则的欧几里得空间中表示。但是图作为具有复杂关系和对象之间相互依赖,其数据是从非欧几里得域生成的,最近也有很多关于图数据深度学习方法的研究。

在本篇文章中,作者总结了目前主要的图神经网络模型,并提出了一种新的分类方法将目前的图神经网络分为以下四种:循环图神经网络(RecGNN),卷积图神经网络(ConvGNN),图自动编码器(GAE)和时空图神经网络(STGNN)

一、图神经网络和其他模型的比较

与图嵌入相比

​ 图嵌入是指将图中的节点信息(包括拓扑信息和节点内容信息)映射为一个低维的向量,以便用于后续的图任务。图神经网络与图嵌入的主要区别是:图神经网络是为一组任务而设计的一种神经网络模型,它可以用于处理包括但不限于图嵌入的一系列问题,例如使用GAE可以解决图嵌入的问题。而图嵌入除了可以用图神经网络的方法来处理外,还可以通过矩阵分解、随机游走等一系列非神经网络的方法来处理。

与图核相比

​ 图核技术主要是用来解决图分类问题,它与图神经网络的区别就是图核中的参数是不可以学习的,并且他受到计算复杂度的瓶颈制约。近年来图神经网络基于提取图表示的方法进行图分类取得了很好的成果,比基于图核方法更加有效。

二、图模型训练框架

图模型上的任务

  • 节点水平: 在节点水平上的任务通常是进行节点的回归和节点分类任务。RecGNN和ConvGNN可以通过图上节点信息的传播和卷积很好的获取节点的表示,最后使用多层感知机或softmax作为输出层来以端到端的方式进行节点水平的任务。
  • 边水平: 在边水平上的任务通常是边分类任务和链接预测任务,将来自GNN的两个节点的隐藏表示作为输入,输出是对这两个节点之间是否有连接做出预测,或对节点之间的边属性进行分类。
  • 图水平: 在图水平上的任务通常是进行图分类任务,为了获得图水平上的表示,GNN通常对图进行池化(pooling)和读出(readout)操作,最后利用softmax来获得图属性预测。

训练框架

  • 用于节点级分类的半监督学习

给定单个网络,其中部分节点被标记而其他节点保持未标记,ConvGNN 可以学习一个强大的模型,该模型有效地识别未标记节点的类标签 [22]。为此,可以通过堆叠几个图卷积层和一个用于多类分类的 softmax 层来构建端到端框架。

  • 图级分类的监督学习

图级分类旨在预测整个图的类标签,虽然图卷积层负责精确的高级节点表示,但图池层起着下采样的作用,每次都将每个图粗化为一个子结构。读出层将每个图的节点表示折叠成一个图表示。通过将多层感知器和 softmax 层应用于图形表示。

  • 图嵌入的无监督学习

图的嵌入通常是没有可以用的类标签,此时要想获得一个好的图嵌入,就需要以纯无监督的方式来学习图嵌入,通常用GAE(图自动编码器)来生成图的嵌入,其中编码器来生成图的嵌入,然后解码器通过输入图嵌入来重新构建图结构。

另一种流行的方法是利用负采样方法,将部分节点对采样为负对,而图中带有链接的现有节点对是正对。然后,应用逻辑回归层来区分正负对。

GNN的一些经典算法

三、循环图神经网络(RGNN)

​ RGNN应用一组相同的参数来循环作用于节点上来提取节点的高级表示。它通过反复交换邻域的信息来获得节点的高级表示,早期的循环神经网络表示如下:

​ 它通过提取上一层的隐藏表示,节点自身的信息、节点邻域的信息以及连接该节点的边的信息来重构在该层的节点表示。为了确保收敛,循环函数 f (·) 必须是收缩映射,它在将两点投影到潜在空间后收缩两点之间的距离。

​ 在此基础上衍生出了GraphESN,Gated GNN(GGNN)、SSE等一系列循环神经网络。

  • GraphRDN实现了一个收缩状态转换函数来循环更新节点状态,直到全局图状态达到收敛。
  • GGNN使用了门控循环单元(GRU)来作为循环函数,将循环次数减少为一个固定的次数,这样可以不需要再限制参数来保证收敛。但是他需要在所有节点上多次运行循环函数,并且要将中间状态存储起来,因此它不使用于大型图。
  • SSE通过随机和异步的方式交替地对一批节点进行状态更新和一批节点进行梯度计算。为了保持稳定,它的循环函数定义为历史状态和新状态的加权平均值,如下:

四、卷积图神经网络

​ ConvGNN与RecGNN很像,但是区别在于RecGNN通过收缩约束来迭代节点的状态,使得全局状态达到收敛,而ConvGNN使用固定数量的层在每层中具有不同权重来解决循环相互依赖关系。ConvGNN主要有频域(spectral)和空域(spatial)两种形式。

​ GNN 在执行节点级任务时必须是等变函数,在执行图级任务时必须是不变函数。简单来说,就是节点顺序发生变化时,节点的表示也应该按照节点的顺序进行相应变化。而图的表示不应该随着节点顺序变化而发生变化。

​ 如上图所示,RecGNN每次迭代使用的参数相同,而ConvGNN每层都有不同的权重。

频域卷积

​ 频域上的卷积主要是一种通过归一化的拉普拉斯矩阵特征向量构成的向量空间,将图信号投影到该向量空间中进行处理的方法。

​ 频域卷积的缺点很明显,首先就是图上很小的扰动都会导致特征向量的变化,从而影响全局的变化。另外,频域卷积只能处理无向图而不能够处理其他的复杂图,最后就是频域卷积涉及到特征向量,时间复杂度较高。

空域卷积

​ 图上的空域卷积类似于空间的图卷积,它将中心节点的表示与其相邻节点的表示进行卷积,以得出中心节点的更新表示。

​ 由于节点的邻居数量可以从一到一千甚至更多不等,因此获取节点邻居的全部大小是低效的。GraphSage采用采样为每个节点获取固定数量的邻居。它通过以下方式执行图卷积:

​ 其中 SN 是节点 v 的邻居的随机样本。

​ Graph attention network(GAT)认为节点的邻居对中心节点的重要性程度不同,因此采用了注意力机制来学习邻域节点对它的重要性程度,它的定义如下:

​ 其中 α 是一个学习参数用来表示两个节点之间的重要性程度。

图池化模型

  • 池化(pooling) 池化操作通常是讲通过对节点进行下采样来生成更小的表示,以减少计算复杂度和防止过拟合,池化操作通常采用mean/max/sum等方法。
  • 读出(readout) 读出操作主要是基于节点表示来生成图级的表示,是将所有的节点信息聚集最后生成一个对于图的表示,它与池化操作基本相同。

五、图自动编码器(GAE)

GAE主要有两个方面的应用,分别是图嵌入和图生成。

图嵌入

​ GAE由一个编码器和一个解码器组成,编码器将图信息嵌入到低维表示,之后解码器通过输入图嵌入将图进行解码,尽可能的还原图中原来的信息。根据编码器输入、编码器、解码器以及最终还原目标的不同,衍生出了许多不同的GAE,如下表格所示:

图生成

对于多个图,GAE 能够通过将图编码为隐藏表示并解码给定隐藏表示的图结构来学习图的生成分布。大多数用于图生成的GAE都是为了解决分子图生成问题而设计的,它可以进行一些分子预测、药物预测等任务。主要有顺序生成和全局直接生成两种方式。

  • 顺序生成: 顺序生成就是通过迭代一步一步将节点和边添加到生成的图中,直到满足某个标准为止,但是由于它是逐步生成的,因此可能会丢失一些结构信息。
  • 全局直接生成方法:全局方法一次输出一个图形。图变分自动编码器(GAE)将节点和边的存在建模为独立随机变量。但是由于它一次要输出整个图形,因此它对内存的要求比较高,不能运用在大型图的生成。

六、时空图(STGNN)

在现实生活中,图的结构总是动态变换的,因此需要在考虑图的结构信息时同时考虑图的时间信息。此类别下的方法旨在对动态节点输入进行建模,同时假设连接节点之间的相互依赖关系。可以应用于预测下一时刻的交通状态等。主要遵循两个方向:基于 RNN 的方法和基于CNN的方法。

  • 基于RNN的方法:该方法就是同时考虑该时刻的节点状态信息与节点在上一时刻的隐藏表示,来获得该时刻的节点隐藏表示,形式如下:

但是RNN的缺点很明显,它必须按时间进行迭代,不能很好的进行并行运算,从而使得运行时间较长,同时它还存在梯度爆炸/消失的问题。

  • 基于CNN方法。作为替代解决方案,基于 CNN 的方法以非递归方式处理时空图,具有并行计算、稳定梯度和低内存要求的优点。如下所示,基于 CNN 的方法将 1-D-CNN 层与图卷积层交错以分别学习时间和空间依赖性。

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

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

相关文章

工业4.0 管理壳学习笔记(6)-数字铭牌

每一台机器都有一个铭牌,铭牌中表明了机器的名称,型号,出厂日期,产品编号,制造日期等信息。。在数字化世界中,机器铭牌不仅要求人类可读,而且需要机器可读。人们开始对数字化产品铭牌的格式和内…

【视觉高级篇】22 # 如何用仿射变换来移动和旋转3D物体?

说明 【跟月影学可视化】学习笔记。 三维仿射变换:平移 对于平移变换来说,如果向量 P(x0​x_0​x0​​, y0y_0y0​​, z0​z_0​z0​​) 沿着向量 Q(x1x_1x1​​, y1​y_1​y1​​, z1​z_1​z1​​) 平移,只需要让 P 加上 Q,就…

BI系统用户访问数据分析

商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。 ——百度百科 文章目录前言一、痛点梳理…

新手入门学传奇开区技术常见问题跟解答

首先,欢迎各位新GM加入传奇爱好者,虽然是新加入,但是GM们对传奇的了解也大相径庭,有的是资深GM,而多数则是纯新人,今天又有坛友提出了疑问,对自己的前进方向很迷茫,所以写一篇新人关…

奇异值分解(SVD)和np.linalg.svd()函数用法

一、简介 奇异值分解是一种十分重要但又难以理解的矩阵处理技术,在机器学习中是最重要的分解没有之一的存在。那么,奇异值分解到底是在干什么呢? 矩阵 A 表示的是高维数据,通常情况下高维数据分布并不是雨露均沾的,而往…

matlab图像的增强

1.灰度变换增强 (1)图像直方图 (2)图像直方图的均衡化 2.频域滤波增强 (1)低通滤波器 (2)高通滤波器 (3)同态滤波器 3.彩色增强 (1)真…

[附源码]JAVA毕业设计高校智能排课系统(系统+LW)

[附源码]JAVA毕业设计高校智能排课系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

Ubuntu搭建Hadoop环境

本文是在一个全新的Ubuntu 22.04 虚拟机上安装Hadoop 3.3.4。 环境 Ubuntu 22.04JDK 11Hadoop 3.3.4 安装Hadoop 首先安装JDK: # apt install openjdk-11-jdk-headless安装好以后查看: # java -version openjdk version "11.0.17" 2022-…

基于人工神经网络的车牌识别系统的研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

用HTTP proxy module配置一个简单反向代理服务器

预备知识 反向代理 反向代理(reverse proxy)方式是指用代理服务器来接受Internet上的连接请求,然后将 请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求 连接的客户端,此时代理服…

自定义表单、自定义流程、自定义页面、自定义报表应用开发平台

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 Java开发框架,自定义表单、自定义页面、自定义流程、自定义报表应用开发平台 二、实现功能 支持系统文件在线管理 支持代码在线编辑 支持URL 路由 支持黑白名单 支持定时任务 支持在线监控 支持…

Java+JSP+MySQL基于SSM的会议交接平台的设计与实现-计算机毕业设计

项目介绍 随着社会竞争压力的不断加强,企事业单位内部的会议都在不断的增加,有效的会议可以提高企事业内部的沟通,更好的做出符合战略目标的决策,但是传统的会议交接有一定的问题存在,首先就是必须面对面进行传达&…

突破卡脖子技术 AVS3标准在世界杯实现移动端规模化商用

11月25日,在2022卡塔尔世界杯B组第二轮比赛中,亚洲球队又一次脱颖而出,伊朗连进2球,2:0战胜威尔士,双方鏖战至最后时刻,奉上了一场精彩的比赛。 作为2022卡塔尔世界杯持权转播商,中国移动咪咕上线“睛彩视界”独家视角,通过国家自主的AVS3、Audio Vivid编解码标准为用户带来“…

基于51单片机智能IC卡燃气表控制(仿真+源程序+全套资料)

资料编号:199 功能介绍: 采用51单片机作为主控CPU,使用按键进行模拟冲卡(模拟缴费冲卡),通过按键来控制当前是否使用燃气,并且LCD1602实时显示当前燃气可用量剩余多少,当燃气不足时…

ARM-A架构入门基础(三)MMU

14天学习训练营导师课程:周贺贺《ARMv8/ARMv9架构-快速入门》 1. MMU(Memory Management Unit) 内存管理单元,MMU的意义在于将软件程序的虚拟地址转换为真实的物理地址。 2. MMU种类 Secure EL1&0 translation regime, wh…

基于约束关系的图表设计

标准的基于 GUI 的图形设计工具仅支持有限的“对齐向导”风格的定位,具有基本的对象分组系统,并实现对齐或分布对象的原始功能。这些工具没有办法记住对象之间的约束和关系,也没有办法定义和重用抽象。我一直不满意现有的设计工具&#xff0c…

[附源码]Python计算机毕业设计Django二次元信息分享平台的设计及实现

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

短视频不知道怎么定位?教你三个自我商业定位的方法,收藏学习

上一篇内容是我在我赢助手小禾呈序上讲了哪几类产品更适合私域变现,当然我相信有很多做抖音但没想好怎么变现的对吧? 如果说你还停留在我也不知道我可以靠什么赚钱这样的一个状态当中。那我给你三个自我商业定位的方法。 第一个方法,从工作上…

虹科Pico汽车示波器学院 | 第二课直播精彩回顾

直播精彩回顾(11.19) 第二课主题:《为什么使用示波器,可加速技师的技术水平提升?》 11月19日,虹科Pico汽车示波器学院第二课成功开课。第二课中,戈老师向学员们讲解了: 汽车示波器…

【网安神器篇】——LaZagne凭证收集工具

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…