图神经网络GNN

news2025/1/11 7:09:31

前言

图与图的表示

图是由一些点和一些线构成的,能表示一些实体之间的关系,图中的点就是实体,线就是实体间的关系。如下图,v就是顶点,e是边,u是整张图。attrinbutes是信息的意思,每个点、每条边、每个图都是有信息的。

 每个顶点、边和整张图都可以用一个向量来表示,在这个例子中,顶点的向量有六个值,柱体的高矮就表示该值的大小,每条边用一个长为8的向量来表示,全局用一个长为5的向量来表示

转换成图的信息表示

 

神经网络与图的挑战

 核心问题是怎样表示图才能是和神经网络是兼容的。图上有四种信息:顶点的属性,边的属性,全局信息以及连接性(即为每条边连接的是哪两个顶点)。前三个信息都能用向量来表示,连接性可以用邻接矩阵来表示,该矩阵会是一个方阵,但是有一些问题。这个矩阵可能会非常大而且很稀疏,在空间上效率低下,并且计算比较困难。另外将邻接矩阵的行或列的顺序进行交换不会改变其属性的。 如果既想高效的存储邻接矩阵,又想这个顺序不会影响神经网络的结果,就可以用邻接链表的方式来表示邻接矩阵。

邻接矩阵有多种表示
邻接链表

图神经网络 GNN

GNN是对保持图对称性(排列不变性)的图的所有属性(节点、边、全局上下文)的可优化转换。对称信息指的是把这个顶点进行另外一个排序后,整个结果是不会变的。

GNN的理论基础是不动点(the fixed point)理论,这里的不动点理论专指巴拿赫不动点定理(Banach's Fixed Point Theorem)。首先我们用  表示若干个  堆叠得到的一个函数,也称为全局更新函数

GNN更新方法

  • GNN的基础理论是不动点理论,这就意味着GNN沿时间展开的长度是动态的,是根据收敛条件确定。而RNN沿时间展开的长度就等于序列本身的长度
  • GNN采用 Almeida-Pineda(AP) 算法反向传播优化,而RNN使用BPTT(Back Propogation Through Time)优化。前者对收敛性有要求,而后者对收敛性是没有要求的。
  • GNN循环调用 f 的目标是得到每个结点稳定的隐藏状态,所以只有在隐藏状态收敛后才能输出;而RNN的每个时间步上都可以输出,比如语言模型。
  • GNN每次时间步的输入都是所有结点v的特征,而RNN每次时间步的输入是该时刻对应的输入。同时,时间步之间的信息流也不相同,前者由边决定,后者则由序列的读入顺序决定。

GNN局限

初代GNN,也就是基于循环结构的图神经网络的核心是不动点理论。它的核心观点是通过结点信息的传播使整张图达到收敛,在其基础上再进行预测。收敛作为GNN的内核,同样局限了其更广泛的使用,其中最突出的是两个问题:

  1. GNN只将边作为一种传播手段,但并未区分不同边的功能。虽然我们可以在特征构造阶段为不同类型的边赋予不同的特征,但相比于其他输入,边对结点隐藏状态的影响实在有限。并且GNN没有为边设置独立的可学习参数,也就意味着无法通过模型学习到边的某些特性。
  2. 如果把GNN应用在图表示的场景中,使用不动点理论并不合适。这主要是因为基于不动点的收敛会导致结点之间的隐藏状态间存在较多信息共享,从而导致结点的状态太过光滑(Over Smooth),并且属于结点自身的特征信息匮乏(Less Informative)。

GCN:图卷积网络(Graph Convolutional Networks)

(半监督)

ViG:Vision GNN(2022)

计算机视觉的一个基本任务是识别图像中的物体。由于图片中的物体通常不是形状规则的方形,所以经典的网格表示或者序列表示在处理图片时显得冗余且不够灵活。比如一个对象可以被视为由很多部分的组合:例如,一个人可以粗略地分为头部、上身、手臂和腿,这些由关节连接的部分自然形成一个图结构。

在网格表示中,像素或小块仅仅通过空间位置排序。在序列表示中,2D 图像被切分成为一系列小块。在图表示中,节点通过其内容链接起来,不受本地位置的约束

基于把图片视为图表示的观点,本文提出一种基于图表示的新型通用视觉架构 ViG。将输入图像分成许多小块,并将每个小块视为图中的一个节点。在构建好了输入图片的图表征之后,作者使用 ViG 模型在所有节点之间交换信息。ViG 的基本组成单元包括两部分:用于图形信息处理的 GCN (图形卷积网络) 模块用于节点特征变换的 FFN (前馈网络) 模块。在图像识别,目标检测等视觉任务中证明了该方法的有效性。

图片的图表示 (Graph Representation)

图神经网络学习框架(2020)

图神经网络应用

References

图神经网络简介,什么是图神经网络,GNN_一起躺躺躺的博客-CSDN博客_图神经网络

数学公式:图神经网络GNN教程:7篇带你彻底学习 - 知乎

几种图神经网络方法总结(Graph Neural Network)_图灵的喵的博客-CSDN博客_图神经网络

表示符号和一些模型:【图神经网络综述】一文道尽GNN原理、框架和应用 - 飞桨AI Studio

GNN起源:图系列|从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络模型(一)

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

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

相关文章

SQLite Expert 5.X 通用注册版-你的SQL好帮手

SQLITE 专家:发现 SQLITE 的力量 SQLite Expert 是一个强大的工具,旨在简化 SQLite3 数据库的开发。它是一个功能丰富的SQLite管理和开发工具,旨在满足所有用户的需求,从编写简单的 SQL 查询到开发复杂的数据库。 图形界面支持所…

神经网络入门(二)

卷积神经网络 文章目录卷积神经网络1. 从全连接到卷积2. 卷积层2.1 一维卷积2.2 二维卷积3. 填充与步幅4. 感受野5. 多输入多输出通道6. 池化层(汇聚层)7. 全连接层8. 卷积网络的整体结构9. 利用pytorch构建一个CNN网络卷积神经网络(CNN&…

Metal每日分享,图像处理色彩丢失和模糊效果

本案例的目的是理解如何用Metal实现图像包装效果滤镜,用于图像处理色彩丢失和模糊效果; Demo HarbethDemo地址 实操代码 // 色彩丢失和模糊效果 let filter C7ColorPacking.init(horizontalTexel: 2.5, verticalTexel: 5)// 方案1: let dest BoxxIO…

[附源码]计算机毕业设计架构的博客平台设计Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

时不我待(第十八课)项目环境搭建

后台管理的项目搭建过程(第一课) 123第一部分 认识项目的搭配环境开发 4567第二部分 项目的创建需要的环境依赖如下 Element - The worlds most popular Vue UI framework ElementUl组件库Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网 …

【数据结构】- 数组

数组基础1.1 什么是数组1.2 数组特点无法动态修改容量内存中顺序存储2. 基本操作2.1 结构2.2 添加元素 - add(E element)、add(int index, E element)代码实现2.3 删除元素 - remove(int index)、清空数组 - clear()代码实现2.4 扩容 - ensureCapacity(int capacity)3. 代码基础…

[附源码]Python计算机毕业设计SSM基于移动端的药方收集系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

在Mac系统下搭建Selenium环境并驱动Chrome浏览器

本文带领那些使用Mac的童鞋们实现Selenium驱动Chrome浏览器,虽然会有坑,但是我们可以凭借敏捷的身手躲过。下面就开始吧: 安装selenium 打开终端 ->pip安装(安装命令:pip3 install selenium) 安装浏览…

windows 安装paddleocr(CPU)

下载anaconda 注意需要下载64位(x86_64结尾的版本) https://mirrors.bfsu.edu.cn/anaconda/archive/ conda create -n OCR python3.9成功 conda activate OCR添加环境变量,cmd才可以识别conda 安装paddlepaddle(有独立显卡的才能安装GPU版本&#x…

双十二电容笔啥牌子好?十大电容笔知名品牌

要为ipad配备一款电容笔,如果你觉得苹果原装的电容笔的价格要比你的预算高得多。而平替电容笔,就是最好的选择了。可以想象,一支原版的苹果电脑容,可以买四支平替电容笔,而平替电容笔的性能并不比苹果的电容笔差多少。…

期末前端web大作业:餐饮美食网站设计与实现——HTML+CSS+JavaScript美食餐饮网站 3页面

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

【考研数据】四.2023年BJTU计算机学院考研录取数据分析(实时更新)

欢迎订阅本专栏:《北交计算机复试经验》 订阅地址:https://blog.csdn.net/m0_38068876/category_12110003.html 【考研数据】一.2020年BJTU计算机学院考研录取数据分析【考研数据】二.2021年BJTU计算机学院考研录取数据分析【考研数据】三.2022年BJTU计算机学院考研录取数据分…

苹果传数据到苹果手机?iPhone怎么数据传输

苹果传数据到苹果手机?很多朋友在换新iPhone的时候都很焦愁,旧手机里面的数据太多,去苹果店让工作人员帮忙迁移,估计要花费很多时间等待,而且没手机的那段时间特别难熬;自己动手弄,不知道简单的…

优秀程序员评判标准“高并发”,竟被一份Github万星笔记讲清楚了

处处需要高并发 ​“为什么Java面试必问高并发?” 这个问题已经让程序员们倍感头疼,尤其是想要跳槽到更大公司的程序员,能否漂亮的回答高并发的问题已经成为求职者是否是一个优秀程序员的评判标准,大厂面试尤为明显。 不得不说&a…

JAVA中数值类型转换

文章目录1 问题引入2 查看问题3 注意事项1 问题引入 经常需要将一种数值类型转换为另一种数值类型; 例如13.72—>整型浮点型。结果为4.72没问题,可是会有一些精度的问题。 2 查看问题 请看以下代码: int n 987654321;float f n;此时…

java计算机毕业设计ssm学生谈话管理系统2j3ws(附源码、数据库)

java计算机毕业设计ssm学生谈话管理系统2j3ws(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

第十四届蓝桥杯集训——JavaC组——运算符练习题

第十四届蓝桥杯集训——JavaC组——运算符练习题 为了能让大家更好的掌握四则运算、取模运算、关系运算以及逻辑计算,当然还有必不可少的三元运算符,这里准备了几个小题,好好练习一下一定能掌握的不错。 所有的小题都有对照的答案&#xff0…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java红旗家具城管理系统29a0m

做毕业设计一定要选好题目。毕设想简单,其实很简单。这里给几点建议: 1:首先,学会收集整理,年年专业都一样,岁岁毕业人不同。很多人在做毕业设计的时候,都犯了一个错误,那就是不借鉴…

电力预测|基于新型MDPSO-SVR混合模型的电力预测特征选择(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅主要研究方向是电力系统和智能算法、机器学…

中国能源统计数据1986-2020和省级能源结构(含计算步骤)

1、数据来源:中国能源统计数据 2、时间跨度:中国能源统计数据1986-2020年 、2003-2018年省级能源结构 3、区域范围:全国 4、指标说明: 中国能源统计数据版本说明 Excel:2020、2019、2018、2017、2016、2015、2014…