写点什么

探索图神经网络的网络架构和训练方法

发布于: 2021 年 02 月 27 日

摘要:本文我们将主要介绍各种典型的图神经网络的网络架构和训练方法。



本文我们将主要介绍各种典型的图神经网络的网络架构和训练方法。文章《A Comprehensive Survey on Graph Neural Networks》[1]提供了一个全面的图神经网络(GNNs) 概述,并且将最新的图神经网络分为四类,即递归图神经网络(RecGNNs)、卷积图神经网络(ConvGNNs)、图自动编码器(GAEs)和时空图神经网络(STGNNs)。在图神经网的实际应用中,卷积图神经网络的使用最为广泛,因此,本文将重点介绍 ConvGNNs 一类网络模型,如上图 GNN Roadmap 所示。


1. 欧式空间卷积


在讲卷积图神经网络(非欧空间做卷积)之前,我们先来回顾下卷积神经网络(欧式空间做卷积)的过程。有一张如下图所示的 66 的 image,我们在做卷积的时候,通常会使用一个固定大小的卷积核,比如 33,然后根据设置的步长滑动整张 6*6 的 image,在每一次滑动之处与原图相应位置做内积。如下图为卷积核滑动两次之后的结果。



但是对于非欧空间的图结构,我们无法找到一个固定大小的卷积核去滑动整个图区域,如下图所示。



这时我们就要针对图的特殊结构,借助欧式空间的卷积方法和图结构特征,提出两种卷积图神经网络的卷积方案:


方案一:


参考 CNN 的思想,对每个节点的邻居进行某种方式的加权求和,即 Spatial-based convolution。



方案二:


参考传统的信号处理的方法,对原始信号进行处理,引入滤波器来定义图卷积,图卷积运算被解释为从图信号中去除噪声,即 Spectral-based convolution。



本篇我们将主要介绍基于空间的卷积图神经网络方法和对应的典型的网络架构。


2. Spatial-based Convolution


在讲基于空间的卷积图神经网络方法之前,我们先引入两个术语:


lAggregate:


用当前层的某节点邻居状态特征更新下一层该节点的状态特征(下左图)。比如下图,我们想要将(下标代表节点的索引,上标代表当前在第几层卷积操作)通过图卷积的方式转变成,我们可以通过某种加权求和的方式将 Layer i 的以及的邻居节点的 feature 整合起来,从而得到的 feature,其它节点一样的道理,最后得到 Layer i+1 的 hidden state。


lReadout:


把所有节点的状态特征集合起来代表整个图的状态特征(下右图)。即采用某种 sum 或者 average 的方式将所有 nodes 的 feature 抽象成一个 hidden state,并以此代表整张图的 feature。



2.1 图神经网络(Neural Network for Graphs,NN4G)[2]




而 readout 层则通过对每一层的所有节点信息的取平均,即下图中所有紫色节点  ,从而获得每一层图的 representation,并对每一层的信息通过求和平均的方式进行整个图的 representation 更新,即:




对于 NN4G,其具体的计算过程可以用下面这幅图概括。NN4G 也是卷积图神经网络的代表性结构,后续的卷积图神经网络都是或多或少的在 NN4G 的基础上做一些简单的修改(Aggregate)而获得。所以理解 NN4G 的运算流程对于理解基于空间的卷积图神经网络至关重要。



2.2 扩散卷积神经网络(Diffusion Convolutional Neural Network,  DCNN)[3]





2.3 混合模型(Mixture Model Networks, MoNET)[4]




2.4 图采样聚合模型(Graph Sample and aggregate, GraphSAGE)[5]





2.5 图注意神经网络(Graph Attention Networks, GAT)[6]




3. 总结


本篇博文主要介绍了 Spatial-based Convolution(基于空间的卷积图神经网络),以 NN4G 为基础,分别介绍了 DCNN,MONET,GrapgSAGE,GAT 等卷积图神经网络结构以及其实现的方式。对于想要在图神经网络进行实践的同学,可以先学习一些开源的图神经网络框架。目前完成度较好的图神经网络框架主要是基于 PyTorch 和 MXNet 的 DGL (Deep Graph Library)和 PyG (PyTorch Geometric)。


参考文献


[1] ] Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019.


[2] A. Micheli, "Neural Network for Graphs: A Contextual Constructive Approach," in IEEE Transactions on Neural Networks, vol. 20, no. 3, pp. 498-511, March 2009, doi: 10.1109/TNN.2008.2010350.


[3] https://arxiv.org/abs/1511.02136


[4] https://arxiv.org/pdf/1611.08...


[5] https://arxiv.org/pdf/1706.02...


[6] https://arxiv.org/pdf/1710.10...


[7]https://mp.weixin.qq.com/s?__...


[8]. http://speech.ee.ntu.edu.tw/~...


本文分享自华为云社区《深入浅出图神经网络应用场景》,原文作者:就挺突然。


点击关注,第一时间了解华为云新鲜技术~


发布于: 2021 年 02 月 27 日阅读数: 29
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
探索图神经网络的网络架构和训练方法