图神经网络(Graph Neural Networks)概述

MLtech 等级 647 0 0

论文:A Comprehensive Survey on Graph Neural Networks

一篇关于图神经网络的综述文章,着重介绍了图卷积神经网络(GCN),回顾了近些年的几个主要的图神经网络的的体系:图注意力网络、图自编码机、图生成网络、图时空网络。

1**、介绍**

传统的机器学习所用到的数据是欧氏空间(Euclidean Domain)的数据,欧氏空间下的数据最显著的特征就是有着规则的空间结构,比如图片是规则的正方形栅格,语音数据是一维序列,这些数据能够通过一维或二维的矩阵进行表示,进行卷积操作是则较为搞笑。同时,存在一个核心的假设:样本之间是相互独立的。

但是,在现实生活中许多数据都是不具备规则的空间结构,即是非欧氏空间下的数据,如电子交易、推荐系统等抽象出来的图谱,图谱中每个节点与其他节点的连接不是固定的。图神经网络可以对非欧氏空间的数据进行建模,捕获数据的内部依赖关系。图神经网络是不规则的、无序的。

2、图神经网络 VS 图嵌入

图嵌入:将图转换到保存图信息的低维空间,将图表示为或多组低维向量。图嵌入的输出是表示整个图或者部分图的低维向量。然后将输出的低维向量应用到其他机器学习方法中。

图神经网络(Graph Neural Networks)概述

3、图神经网络的分类

可以把图神经网络分为了五类:图卷积网络(Graph Convolutional Networks)、图注意力网络(Graph Attention Networks)、图自编码机(Graph Auto-encoder)、图生成网络(Graph Generative Networks)、图时空网络(Graph Spatial-Temporal Networks)。

图神经网络(Graph Neural Networks)概述

4、图卷积网络(Graph Convolutional Networks, GCN)

由传统的卷积神经网络引申出的图卷积网络,图卷积方法可分为两种,基于频谱的方法和基于空间的方法。基于频谱的方法,从图信号处理的角度,引入滤波器来定义图卷积,因此基于频谱的图卷积可理解为从图信号中去除噪声。基于空间的图卷积方法,通过汇集邻居节点的信息来构建图卷积。当图卷积在节点级运作时,可以将图池化模块和图卷积进行交错叠加,从而将图粗化为高级的子图。

4.1、**基于频谱的图卷积网络**

在该类图卷积方法中,图被假设为无向图,无向图可以通过正则化拉普拉斯矩阵进行表示,拉普拉斯矩阵是图的一种表示方式,其定义如下:

图神经网络(Graph Neural Networks)概述

其中D为图的度矩阵,是一个对角阵,W为图的邻接矩阵,标准拉普拉斯矩阵的表示如下:

图神经网络(Graph Neural Networks)概述

标准拉普拉斯矩阵是一个实对称半正定矩阵,因此可以被特征分解为:

图神经网络(Graph Neural Networks)概述

其中?是一个对角阵,对角线上的值为排序后的特征值,U为特征值对应的特征向量矩阵。拉普拉斯矩阵的特征向量构成了一个标准正交空间,因此:

图神经网络(Graph Neural Networks)概述

对于图中的每一个节点的特征向量x而言,对其做图傅里叶变换,将其映射的一个标准的正交空间里。

傅里叶变换:

图神经网络(Graph Neural Networks)概述

逆傅里叶变换:

图神经网络(Graph Neural Networks)概述

对于输入的信号x而言,其图卷积可以表示为:

图神经网络(Graph Neural Networks)概述

图神经网络(Graph Neural Networks)概述

表示哈达玛积,定义如下:

图神经网络(Graph Neural Networks)概述

因此,基于频谱的图卷积的关键在于滤波器的选择,也就是g的选择。

基于频谱的图卷积算法有:Spectral CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet、Adaptive Graph Convolution Network。

频谱卷积依赖于拉普拉斯矩阵的特征分解,有三个缺陷:

1、对于图的任何扰动都会使得特征值发生变化

2、所学到的滤波器是依赖于域的,所以不能拓展应用到不同结构的图中

3、特征分解的时间复杂度是N的三次方,因此对于数据量较大的图而言,计算非常耗时。

4.2、**基于空间的图卷积网络**

基于空间的图卷积网络模仿传统的卷积神经网络中的卷积运算,根据节点的空间关系定义图的卷积。对于图卷积而言,将图中的节点与其邻居节点进行聚合,得到该节点的新表示。为了探索节点接收域的深度与广度信息,通常将多个图卷积层叠加在一起,根绝卷积层的叠加方式的不同,可以将基于空间的图卷积划分为:基于递归的空间图卷积、基于合成的空间图卷积。基于递归的图卷积使用相同的图卷积层对图进行更新,基于组合的图卷积使用不同的卷积层对图进行更新。

图神经网络(Graph Neural Networks)概述

基于递归的空间图卷积网络主要思想是更新图节点的潜在表示直至到达稳定。通过对递归函数施加约束,使用门递归单元体系、异步地、随机地更新节点的潜在表示。基于组合的空间图卷积通过堆叠多个不同的图卷积层来更新节点的表示。基于递归的方法试图获得节点的稳定状态,基于组合的方法试图获取图中更高阶的邻域信息。

与传统的深度学习中的卷积核类似,在基于空间的图卷积中,图卷积算子的定义如下:

图神经网络(Graph Neural Networks)概述

h??表示节点?在?层特征信息

c??表示归一化因子,比如节点的度数

W?表示节点直接的权重

h??表示节点?在?层特征信息

图卷积的卷积操作有三步:

1、每个节点将自身的特征信息传递给邻居节点

2、每个节点将邻居节点及自身的特征信息进行汇集,对局部结构进行进行融合

3、与传统的深度学习中的激活函数类似,在图卷积我们同样要加入激活函数,对节点的信息做非线性变换,增强模型的表达能力

因此,图卷积网络的关键是学习到一个函数,将当前节点的特征信息与其邻居节点的特征信息进行汇集。

5、其他图神经网络

5.1、图注意力网络

与图卷积网络最大的不同是,图注意力网络引入了注意力机制,给与哪些较为重要的节点更大的权重。在端到端的框架中,注意力权重和神经网络参数共同被学习得到。下图展示了图卷积网络与图注意力网络在汇集邻居节点的信息时候的不同。在图卷积网络中,节点与节点之间的权重的计算方式如下:

图神经网络(Graph Neural Networks)概述

而在图注意力网络中,节点之间的权重是参数化的,在网络中学习得到,因此,更为重要的节点之间会被赋予更大的权重。

图神经网络(Graph Neural Networks)概述

5.2、图自编码机

是一种非监督学习框架,目标是通过编码机学习到低维的节点向量,然后通过解码机重构出图数据。图自编码机是一种常见的图嵌入方法,可以被应用到有属性信息的图中和无属性信息的图中。

5.3、图生成网络

目标是从数据中生成合理的结构?因为图是一种较为复杂的数据结构,所以要想从数据中生成指定经验分布的图是非常具有挑战性的。

5.4、图时空网络

时空网络图有区别于其他种类的图数据,在该图数据中,图不仅由V、E、A组成,增加了一个X属性,表示的是图在时间维度上的属性变化。

目标是从时空图中学习到不可见的一些模式,这在交通预测、人类的活动预测中变得越来越重要。比如,在道路交通网络就是一种时空图,图的数据在时间维度上是连续的,用图时空网络构建道路交通预测模型,我们就可以更加准确地预测出交通网络中的交通状态。

图时空网络的关键在于考虑同一时间下的空间与事物的关联关系。许多现在的方法使用GCN结合CNN或者RNN对这种依赖关系进行建模。

6、框架

在图神经网络,图的结构和节点的信息作为输出,根据不同的图分析任务,图的输出可分为以下几种

·节点级输出:该类输出和节点的回归和分类相关。因为图卷积网络会给出图数据节点的潜在表示,所以一般,在GCN的后面会增加感知层或者softmax层。

·边级输出:该类输出和边的分类和连接预测任务相关。为了能够预测一个边的连接强度,额外添加一个函数,以两个节点的潜在表示作为输入。

·图级输出:该类输出一般与图的分类任务相关。为了能够从一个图中获得一个更为紧凑的表示,一个池化层会被用于压缩一个图生成一张子图(部分节点和边会被移除)。

端到端的训练框架

·半监督学习**-**节点级分类任务:给定一个网络,在网络中,部分节点是有标签的,部分节点是无标签的。图卷积网络可以学习到一个鲁棒的模型,可以有效的识别出哪些没有标签的节点的类标签。在端到端的识别框架中,可以将若干个图卷积网络进行堆叠,然后最后跟一个softmax层完成多分类任务。

·有监督学习**-**图级分类任务:给定一个图数据集,图级的分类旨在预测整个图的类别标签。该任务可以通过结合图卷积网络和池化操作完成。通过图卷积网络,在每个单个的图中,每个节点可以得到一个固定长度的表示,然后对图中的所有节点的表示进行池化操作,我们可以得到一个图的简化表示。最后,添加一个线性层和softmax层,我们就可以构建出图分类的端到端学习框架。

图神经网络(Graph Neural Networks)概述

·无监督学习**-图嵌入:**如果在图中,没有有标签的数据可用的时候,我们可以通过纯粹的无监督的端到端学习框架学习到图的嵌入。这些算法主要以两种方式利用边的信息。一种是采用自编码机框架,编码机通过图卷积层将图嵌入到潜在的表示中,并在此基础上解码机对图进行重构。另外一种是采用负抽样法,对图中的部分节点进行抽样,作为负对,已存在的有连接的节点作为正对。然后在卷积层后面添加一个logistic回归层。

本文转自 https://blog.csdn.net/qq_32797059/article/details/90807397,如有侵权,请联系删除。

收藏
评论区

相关推荐

图论(一)基本概念
图(graph)是数据结构和算法学中最强大的框架之一(或许没有之一)。图几乎可以用来表现所有类型的结构或系统,从交通网络到通信网络,从下棋游戏到最优流程,从任务分配到人际交互网络,图都有广阔的用武之地。 而要进入图论的世界,清晰、准确的基本概念是必须的前提和基础。下面对其最核心和最重要的概念作出说明。关于图论的概念异乎寻常的多,先掌握下面最核心最重要的,足
图神经网络(Graph Neural Networks)概述
论文:A Comprehensive Survey on Graph Neural Networks 一篇关于图神经网络的综述文章,着重介绍了图卷积神经网络(GCN),回顾了近些年的几个主要的图神经网络的的体系:图注意力网络、图自编码机、图生成网络、图时空网络。 1、介绍 传统的机器学习所用到的数据是欧氏空间(Euclidea
Android Service 流程分析
启动Service过程 Android Service启动时序图 (https://imghelloworld.osscnbeijing.aliyuncs.com/039313fdaaf1e7dea3bde222b3ec9934.png) Android Service启动时序图.png 上图就是Android
这种动态条形图+折线图怎么做?今天我来教你!
(https://imghelloworld.osscnbeijing.aliyuncs.com/be22e30670a413de621bfee7b56e4c4b.png) 大家好,我是小五🐶 前几天我看了一个不到2分钟的视频,动态展示了我国的GDP增长。而且是动态条形图和折线图叠加一起使用,比较少见!然后我立了一个Flag
讲解Excel中16种图表类型的“含义”,这次该知道怎么画图了!
(https://imghelloworld.osscnbeijing.aliyuncs.com/d61464c6ae6fdb4aba5501534164e09c.png) 大家都知道,相同的数据,使用不同的图表进行体现,效果也会千差万别,那么我们应该如何正确选择,才能让图表的作用发挥到极致呢? 1.柱形图
讲解Excel的16种图表类型的“含义”,知道该怎么画图了!
大家好,我是小五🐶 相同的数据,使用不同的图表进行体现,效果也会千差万别,那么我们应该如何正确选择,才能让图表的作用发挥到极致呢? 1.柱形图 柱形图是最常见的图表类型,它的适用场合是二维数据集(每个数据点包括两个值,即X和Y),但只有一个维度需要比较的情况。例如,如下图所示的柱形图就表示了一组二维数据,【年份】和【销售额】就是它的两个维度,但只需要比
数据可视化图表使用场景大全 !
转自:大数据分析和人工智能 大家好,我是小五🐶 可视化图表种类如此之多,什么场景下应该用什么图表展示,是一个让人头秃的难题。 数据可视化的爱好者Severino Ribecca,他在自己的网站上收录了 60 种可视化图表样式以及它们分别适用于什么样的场景,并且推荐了相应的制作工具。 值得一看。点阵图‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
Pytorch构建栈式自编码器实现以图搜图任务(以cifar10做数据集)
(Pytorch构建栈式自编码器实现以图搜图任务) 本文旨在使用CIFAR10数据集,构建与训练栈式自编码器,提取数据集中图像的特征;基于所提取的特征完成CIFAR10中任意图像的检索任务并展示效果。 搞清楚pytorch与tensorflow区别 pytorchpytorch是一种python科学计算框架作用: 无缝替换numpy,通过G
图像灰度与灰阶的纠结:gray level/scale译文释义
一、引言进行图像处理的人,对灰度一词一定非常熟悉,老猿以前没接触过图像基础知识,数学知识基本上也都忘光了,因此在自学OpenCVPython过程中遇到了很多困难。 为了弥补基础知识的不足,特地下载了冈萨雷斯(Rafael C. Gonzalez)编著的《数字图像处理》(Digital Image Processing)第三版的中文译本和英文原本电子书对照学
Webpack学习整理集锦【从最基础的demo入手,自己实现一个脚手架 】
前言本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。开源网址https://github.com/maomi
webpack 基本配置
概念本 质上,webpack是一个现代 JavaScript 应用程序的 静态模块打包器(module bundler) 。当 webpack处理应用程序时,它会递归地构建一个 依 赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle 。 安装确保安装了nodejs 项目文件环境cd
全网最全python学习路线图,让学习不迷路
学习Python有一段时间了,最近也是在不断的整理Python相关的基础知识和学习一些新的知识,想来分享给大家。我刚开始接触Python时,和大多数初学者一样不知道从那里开始学习python,我也在网上找了许多python相关的资料来学习,但是资料多也不见得就好,因为不知道从哪里开始下手,走了许多弯路。后面我就整理了一套对初学者来说学习python能很快上手
Python编写的桌面图形程序,如何实现版本更新和下载?
在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的Tkinter、强大的PyQt5和PySide2,还有wxPython。借助这些或内置或第三方的模块,我们可以轻松地编写跨平台的桌面图形界面程序。 同时,我们还能直接使用PyInstaller、Nuitka、cxFreeze等Python第三方程序打包模块,将编写好桌面图形界面程序打包为
刷爆全网的动态条形图,原来5行Python代码就能实现!
说起动态图表,最火的莫过于动态条形图了。 在B站上搜索「数据可视化」这个关键词,可以看到很多与动态条形图相关的视频。 好多视频都达到了上百万的播放量,属实厉害。 目前网上实现动态条形图现成的工具也很多。 比如数可视的「花火hanabi」,嫡数的「镝数图表」,以及国外网站「Flourish」。 但是作为一名Pythoner,当然是想要研究一下如何
面试官嘲笑我,这你都不会?
01 背景大家好,我是阿沐!你的收获便是我的喜欢,你的点赞便是对我的认可。多年前刚毕业出来工作的时候,那个时候刚毕业对缓存的使用基本上可以说很少涉及,在大学做课件设计或者小型项目也都是用不到缓存,再者说了我大学是做嵌入式写汇编语言和c语言的。当时出实习去找工作并不顺利,面试官问了知道redis和memcached区别嘛?额,我当时虽然也做了一些功课,就是恶补

热门文章

卷积神经网络超详细介绍Create React App简单理解LSTM神经网络

最新文章

简单理解LSTM神经网络卷积神经网络超详细介绍Create React App