【Pytorch神经网络理论篇】 26 基于空间域的图卷积GCNs(ConvGNNs):定点域+谱域+图卷积的操作步骤

 

同学你好!本文章于2021年末编写,获得广泛的好评!

故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现

Pytorch深度学习·理论篇(2023版)目录地址为:

CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!https://v9999.blog.csdn.net/article/details/127587345欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~


图卷积网络(Graph Convolutional Network,GCN)是一种能对图数据进行深度学习的方法。图卷积中的“图”是指数学(图论)中用顶点和边建立的有相关联系的拓扑图,而积指的是“离散卷积”,其本质就是一种加权求和,加权系数就是卷积核的权重系数。

图结构数据是具有无限维的一种不规则数据,每一个顶点周围的结构可能都是独一无二的,没有平移不变性使得传统的CNN、PNN无法在上面工作。


1 GCN

如果说CNN是图像的特征提取器,那么GCN便是图数据的特征提取器。

CNN可以直接对矩阵数据进行操作,而GCN操作方式有两种:谱域和顶点域。

1.1 基于谱域的图处理

谱域是谱图论中的术语。谱图论源于天文学,在天体观测中,可通过观察光谱的方式来观察距离遥远的天体。同样,图谱也是描述图的重要工具。

谱图论研究如何通过几个容易计算的定量来描述图的性质。通常的方法是将图结构数据编码成一个矩阵,然后计算矩阵的特征值。这个特征值也称为图的谱。被编码后的矩阵可以理解成图的谱域。

谱是方阵特有的性质,对于任意非欧氏空间数据,必须先通过计算其定量的描述生成方阵,才可以进一步求得谱。

GCN使用图结构中的度矩阵和邻接矩阵来表示图的谱域,这就是基于谱域实现。

GCN对矩阵的拉普拉斯变换,则是对图结构提取特征(谱)的一种方法。

1.2 基于定点域/空间域的图处理

指由图的本身结构所形成的空间,直接按照图的结构,根据相邻顶点间的关系以及每个顶点自己的属性,逐个顶点地进行计算。

1.3 基于顶点域的图卷积

基于顶点域的图卷积处理会比谱域的方式更加直观,也容易理解。

1.3.1 图卷积公式

 1.3.2 图卷积的操作步骤(从顶点的角度)

图卷积的操作就是在整个图上对每个顶点都按照上式(10-1)的描述执行一遍。从顶点的角度来看,主要可以分成以下3个步骤:

 1、发射(send):每一个顶点将自身的特征信息经过变换后发送给邻居顶点。这一步是对顶点的特征信息进行抽取变换,如图10-2所示。

2、接收(receive):每个顶点将邻居顶点的特征信息聚合。这一步是对顶点的局部结构信息进行融合,如图10-3所示。

3、变换(transform):将前面的信息聚合之后进行非线性变换,增加模型的表达能力,如图10-4所示。

使用GCN从图数据中提取的特征可以用于对图数据执行多种任务,如顶点分类、图分类(graph classification)和边预测(Iinkprediction),还可以顺便得到图的垂入表示。

1.3.4 图卷积的特性

  1. 局部参数共享:算子是适用于每个顶点(圆圈代表算子)的,处处共享。
  2. 感受域与层数成正比:最开始的时候,每个顶点包含直接邻居的信息,在计算第二层时,就能把邻居顶点的信息包含进来,这样参与运算的信息就更多、更充分。层数受域就更广,参与运算的信息就更多(特征一层层地抽取,每多一层就会更抽象、更高级)。

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

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

相关文章

Linux设备驱动之mmap设备操作

1.mmap系统调用 void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 功能:负责把文件内容映射到进程的虚拟地址空间,通过对这段内存的读取和修改来实现对文件的读取和修改,而不需要再调用read和write&#xff…

hadoop安装以及Java API操作hdfs

因为工作需求,需要我这边实现一个大文件上传到HDFS的功能,因为本机无法连接公司内网的集群,无奈只好自己动手搭建一个单节点的Hadoop来满足工作的需求。下面简单介绍下安装过程中遇到的坑我的机器是阿里云的最低配 安装文件:hadoo…

【Pytorch神经网络理论篇】 27 图神经网络DGL库:简介+安装+卸载+数据集+PYG库+NetWorkx库

同学你好!本文章于2021年末编写,获得广泛的好评! 故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现, Pytorch深度学习理论篇(2023版)目录地址…

给ubuntuGedit安装gedit-source-code-browser

插件链接下载 https://bugs.launchpad.net/ubuntu/source/gedit-source-code-browser-plugin/bug/1242126 下载这个安装完后还用不了,还要添加下面的补丁 diff -Naur old-plugins/sourcecodebrowser/ctags.py plugins/sourcecodebrowser/ctags.py --- old-plugin…

Hint: This means that multiple copies of the OpenMP runtime have been linked into the program.

解决OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is l…

Linux 系统版本信息

1、# uname -a (Linux查看版本当前操作系统内核信息) 2、# cat /proc/version (Linux查看当前操作系统版本信息) 3、# cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息&…

DEVICE_ATTR的使用

使用DEVICE_ATTR,可以在sys fs中添加“文件”,通过修改该文件内容,可以实现在运行过程中动态控制device的目的。类似的还有DRIVER_ATTR,BUS_ATTR,CLASS_ATTR。 这几个东东的区别就是,DEVICE_ATTR对应的文件…

【Pytorch神经网络理论篇】 28 DGLGraph图的基本操作(缺一部分 明天补)

同学你好!本文章于2021年末编写,获得广泛的好评! 故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现, Pytorch深度学习理论篇(2023版)目录地址…

泛型(模拟list)

package Test; import java.util.Arrays; public class genericity<T> { private Object[] t; public genericity() { super(); t new Object[0]; } //增加数据 public void add(T t1) { t Arrays.copyOf(t, t.length 1); t[t.length - 1] t1; } //查询数据 public i…

中断处理的tasklet(小任务)机制-不过如此

中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是&#xff0c;中断是一个随机事件&#xff0c;它随时会到来&#xff0c;如果关中断的时间太长&#xff0c;CPU就不能及时响应其他的中断请求&#xff0c;从而造成中断的丢失。因此&#xf…

【Pytorch神经网络理论篇】 29 图卷积模型的缺陷+弥补方案

同学你好&#xff01;本文章于2021年末编写&#xff0c;获得广泛的好评&#xff01; 故在2022年末对本系列进行填充与更新&#xff0c;欢迎大家订阅最新的专栏&#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现&#xff0c; Pytorch深度学习理论篇(2023版)目录地址…

【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类

注意力机制的特点是&#xff0c;它的输入向量长度可变&#xff0c;通过将注意力集中在最相关的部分来做出决定。注意力机制结合RNN或者CNN的方法。 1 实战描述 【主要目的&#xff1a;将注意力机制用在图神经网络中&#xff0c;完成图注意力神经网络的结构和搭建】 1.1 实现…

用OC和Swift一起说说二叉树

前言&#xff1a; 一&#xff1a;在计算机科学中&#xff0c;二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”&#xff08;left subtree&#xff09;和“右子树”&#xff08;right subtree&#xff09;。二叉树常被用于实现二叉查找树和二叉堆。二&#xf…

【Pytorch神经网络理论篇】 30 图片分类模型:Inception模型

同学你好&#xff01;本文章于2021年末编写&#xff0c;获得广泛的好评&#xff01; 故在2022年末对本系列进行填充与更新&#xff0c;欢迎大家订阅最新的专栏&#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现&#xff0c; Pytorch深度学习理论篇(2023版)目录地址…

mtk pwmlinux timer

pwm控制还是有很多要注意的地方 附上驱动的代码 /** drivers/leds/leds-mt65xx.c** This file is subject to the terms and conditions of the GNU General Public* License. See the file COPYING in the main directory of this archive for* more details.** Hydrodent …

【Pytorch神经网络理论篇】 31 图片分类模型:ResNet模型+DenseNet模型+EffcientNet模型

同学你好&#xff01;本文章于2021年末编写&#xff0c;获得广泛的好评&#xff01; 故在2022年末对本系列进行填充与更新&#xff0c;欢迎大家订阅最新的专栏&#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现&#xff0c; Pytorch深度学习理论篇(2023版)目录地址…

CentOS7 编译安装golang和rpm安装golang

编译安装 1、下载golang二进制安装包&#xff1a; https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz 2、解压安装包到指定目录&#xff0c;此处以解压到/usr/local目录下为例&#xff1a; 1 tar -C /usr/local -xzf ../packages/go1.8.linux-amd64.tar.gz 3、在…

Class_fileAndroid应用调用方法

java代码调用 fos.write这里面是byte类型的 + private static final String LEDBLPATH="/sys/class/hdyrodent_charger_led/brightness"; + private final void SetChargerLedBrightness(String path,int brightness) + { + try{ + …

【Pytorch神经网络理论篇】 32 PNASNet模型:深层可分离卷积+组卷积+空洞卷积

1 PNASNet模型简介 PNASNet模型是Google公司的AutoML架构自动搜索所产生的模型&#xff0c;它使用渐进式网络架构搜索技术&#xff0c;并通过迭代自学习的方式&#xff0c;来寻找最优网络结构。即用机器来设计机器学习算法&#xff0c;使得它能够更好地服务于用户提供的数据。该…

s5k5e2ya MIPI 摄像头调试

1、驱动移植的话按照我之前的文章来做 驱动里面注意是几路的lane,一般mipi的话是差分信号&#xff0c;2路和4路是比较常见的。2、mipi波形 很明显上面的波形是不正确的。dp dn有一个都成了正弦波了。 首先&#xff0c;我们要找一下正确的波形 正确的波形应该是DP和DN不会同时…