图神经网络(GNNs)综述

此博文是论文《A Comprehensive Survey on Graph Neural Networks》的阅读笔记。

原文:https://ieeexplore.ieee.org/abstract/document/9046288

参考:https://www.jianshu.com/p/77dd838e2b91

图神经网络(graph neural networks, GNNs)是为了解决传统机器学习只能处理欧几里得空间的数据的问题而产生的用于图(gragh)数据的神经网络。目前现有的GNN可分为四类:递归图神经网络,卷积图神经网络,图自动编码器和考虑时间因素的图神经网络。

一、简介

1. 分类

(1)递归图神经网络(Recurrent Graph Neural Networks, RecGNNs):递归GNN属于最早的GNN,旨在通过递归神经体系结构学习节点表示。 他们假设图中的一个节点不断与其邻居交换信息或消息,直到达到稳定的平衡。

(2)卷积图神经网络(Convolutional Graph Neural Networks, ConvGNNs):卷积GNN将卷积操作从网格数据(如像素矩阵)推广到图数据。 主要思想是通过聚合节点自身的特征和其邻居的特征来生成节点的最终特征表示。卷积GNN又分为基于频谱(spectral_based)的方法和基于空间(spatial_based)的方法。与递归GNN不同,卷积GNN堆叠多个图卷积层来提取节点的高层表示。 卷积GNN在建立许多其他复杂的GNN模型中起着核心作用。

(3)图自动编码器(Graph Autoencoders, GAEs):图自动编码器是无监督的学习框架,可将节点或图编码为向量空间,并从编码的信息中重建图数据。 图自动编码器用于学习网络嵌入和图形生成分布。 对于网络嵌入,图自动编码器通过重建图结构信息(例如图邻接矩阵)来学习潜在节点表示。 对于图生成,某些方法逐步生成图的节点和边,而其他方法则一次输出所有图。

(4)考虑时间因素的图神经网络(Spatial–Temporal Graph Neural Networks, STGNNs):STGNNs旨在从时空图学习隐藏模式,这在各种应用中变得越来越重要,例如交通速度预测,驾驶员操纵预期和人类动作预测等。时空GNN的关键思想是要同时考虑空间依赖性和时间依赖性。

图
上图显示了各类GNN的工作,绿字标示了年份。

2. GNN框架

GNN的输入为图结构和节点信息,输出可以根据不同任务分为下面几种:

(1)节点级别:输出与节点回归和节点分类任务有关。 递归GNN和卷积GNN可以通过信息传播或图卷积来提取节点的高级表示。 使用多感知器层或softmax层作为输出层,GNN能够以端到端的方式执行节点级任务。

(2)边级别:输出与边分类和链接预测任务有关。 将来自GNN的两个节点的隐藏表示作为输入,可以利用相似度函数或神经网络来预测边的标签或连接强度。

(3)图级别:输出与图分类任务有关。 为了获得图级别的紧凑表示,GNN通常与合并和读取操作结合使用。

在这里插入图片描述
上图(a)是用于节点分类的卷积GNN,(b)是用于图分类的卷积GNN,(c)是用于网络嵌入的图自动编码器,(d)是用于时空图预测的时空GNN。

在端到端学习框架内,可以根据(半)有监督或无监督的方式来训练许多GNN,具体取决于学习任务和可用的标签信息。

(1)半监督学习的节点级分类:给定一个带有部分节点被标记而其他节点未被标记的网络,卷积GNN可以学习一个健壮的模型,该模型可以有效地识别未标记节点的类标签。 为此,可以通过堆叠几个图卷积层以及用于多分类的softmax层来构建端到端框架。
(2)图级分类的监督学习:图级分类旨在预测整个图的类标签。 可以通过图形卷积层,图形池层和/或读出层的组合来实现此任务的端到端学习。 图卷积层负责精确的高级节点表示,而图池化层则充当下采样的角色,这每次都会将每个图粗化为子结构。 读出层将每个图的节点表示折叠为图表示。 通过将多层感知器和softmax层应用于图形表示,我们可以构建用于图形分类的端到端框架。
(3)用于图嵌入的无监督学习:当图中没有类标签可用时,我们可以在端到端框架中以纯无监督的方式学习图嵌入。 这些算法以两种方式利用边缘级信息。 一种简单的方法是采用自动编码器框架,其中编码器使用图卷积层将图嵌入到潜在表示中,在该潜在表示中使用解码器来重构图结构。 另一种流行的方法是利用负采样方法,该方法将一部分节点对采样为负对,而图中具有链接的现有节点对为正对。 然后,应用逻辑回归层来区分正对和负对。

二、递归图神经网络

RecGNNs是GNN的先驱工作,主要用于提取高级节点表示形式,当时主要用于有向无环图【计算力较小】。

1. GNN*

【F. Scarselli, M. Gori, A. C. Tsoi, M. Hagenbuchner, and G. Monfardini, “The graph neural network model,” IEEE Trans. Neural Netw., vol. 20, no. 1, pp. 61–80, Jan. 2009.】

GNN*的主要思想是通过周期性地交换邻域信息来更新节点的状态,直到达到稳定的平衡为止。 节点的隐藏状态通过下式周期性地更新:

在这里插入图片描述

  • f ( ∗ ) f(*) f()为参数化函数
  • h v ( 0 ) h_v^{(0)} hv(0)是随机初始化得到的
  • ∑ \sum 操作使得GNN*可以用于所有的节点【无视邻居数与邻居顺序的不同】
  • f f f是 contraction mapping【投影后缩小两点之间的距离】,进而确保其收敛
2. 门控GNN(GGNN)

【Y. Li, D. Tarlow, M. Brockschmidt, and R. Zemel, “Gated graph sequence neural networks,” in Proc. ICLR, 2015, pp. 1–20.】

门控GNN采用门控循环单元(GRU)作为循环函数,将循环数减少并固定;优点是不再需要约束参数确保收敛,节点隐状态的更新依赖于它先前的隐状态和它邻居的先前隐状态,公式为
在这里插入图片描述

  • h v ( 0 ) = x v h_v^{(0)} = x_v hv(0)=xv ,为节点的特征向量
  • 通过时间反向传播 (BPTT)算法学习模型参数
  • 对于大图存在问题:需要将节点的中间状态存储在内存中
3.随机稳态嵌入(SSE)

【 H. Dai, Z. Kozareva, B. Dai, A. Smola, and L. Song, “Learning steady-states of iterative algorithms over graphs,” in Proc. ICML, 2018, pp. 1114–1122.】

随机稳态嵌入是一种对大型图具有可扩展性的学习算法。其以随机和异步的方式周期性更新节点的隐状态,它随机采样一批节点用于状态更新,随机采样一批节点用于梯度计算。为了确保稳定性,SSE的递归函数定义为历史状态和新状态的加权平均
在这里插入图片描述

  • α \alpha α是一个超参数
  • h v ( 0 ) h_v^{(0)} hv(0) 是随机初始化的
  • SSE在理论上不能说明节点状态会收敛到固定点

三、卷积图神经网络

近年来,由于图卷积算法与其它神经网络的结合效率更高、更方便,ConvGNNs的应用越来越广泛。
卷积图神经网络分成两类:基于空间的和基于频谱的。基于频谱的方法通过从图形信号处理的角度引入滤波器来定义图形卷积,其中图形卷积操作被解释为从图形信号中去除噪声。 基于空间的方法继承了RecGNN的思想,以通过信息传播来定义图卷积。

A. 基于频谱的卷积图神经网络(Spectral-Based ConvGNNs)

基于频谱的图卷积网络有很强的数学理论支撑。它首先假设图是无向的,然后利用图的拉普拉斯矩阵的特征值和特征向量来研究图的性质。

无向图的标准拉普拉斯矩阵的数学表示为

L = I n − D − ( 1 2 ) A D − ( 1 2 ) L = I_n - D^{-(\frac 12)}AD^{-(\frac 12)} L=InD(21)AD(21)

其中 I I I是单位矩阵, A A A是邻接矩阵, D D D是度矩阵(是一个对角矩阵, D i i D_{ii} Dii表示 v i v_i vi的度)。

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

L = U Λ U T L = U \Lambda U^T L=UΛUT (具体的请查阅Hermite矩阵及酉矩阵的相关性质),

其中, Λ \Lambda Λ是L的特征值组成的对角阵,U是与之对应的特征向量矩阵且是正交矩阵。
因为U是正交矩阵,所以有 U T U = I U^TU = I UTU=I

在图信号处理中,图信号 x ∈ R n x \in R^n xRn 表示一个图所有节点的特征向量,其中 x i x_i xi指的是第 i i i个节点的值。信号 x x x的傅里叶变换为

x ^ = U T x \hat{x}=U^Tx x^=UTx (时域→频域)

傅里叶逆变换为

x = U x ^ x=U\hat{x} x=Ux^ (频域→时域)

根据卷积定理:两个信号的卷积可看成他们傅里叶变换后的点积。

因此,给定信号 x x x,filter y y y,则卷积操作 ∗ G *_G G可写成:

x ∗ G y = U ( ( U T x ) ⊙ ( U T y ) ) x*_Gy=U((U^Tx)\odot(U^Ty)) xGy=U((UTx)(UTy))

频域里的filter就是 U T y U^Ty UTy.

如果将频域内的filter表示为对角型矩阵 g θ = d i a g ( U T g ) g_\theta= diag(U^Tg) gθ=diag(UTg),上述卷积操作可总结为:

(1)图傅里叶变换: U T x U^Tx UTx
(2)频域卷积: g θ U T x g_\theta U^Tx gθUTx
(3)图傅里叶逆变换: U g θ U T x Ug_\theta U^Tx UgθUTx

需要注意的是:所有的谱图卷积都遵循上述的定义,唯一的不同就是 filter 的选取。

1. 谱卷积神经网络(Spectral CNN)

【 J. Bruna, W. Zaremba, A. Szlam, and Y. LeCun, “Spectral networks and locally connected networks on graphs,” in Proc. ICLR, 2014, pp. 1–14.】
谱卷积神经网络假设filter g θ = Θ i , j ( k ) g_\theta = \Theta_{i, j}^{(k)} gθ=Θi,j(k) 是一系列可学习的参数,并且使用多通道考虑图信号。谱卷积神经网络的图卷积层定义为
在这里插入图片描述

  • k k k表示层的下标
  • H ( k − 1 ) ∈ R n × f k − 1 H^{(k-1)} \in R^{n \times f_{k-1}} H(k1)Rn×fk1 是输入的图信号,并且 H ( 0 ) = X H^{(0)} = X H(0)=X X X X是节点特征向量
  • f k − 1 f_{k-1} fk1是输入的通道数, f k f_{k} fk是输出的通道数
  • Θ i , j ( k ) \Theta_{i, j}^{(k)} Θi,j(k)是由可学习参数组成的对角矩阵

谱卷积网络的限制:
(1)对图的变化会对特征值造成变化
(2)学习到的 Filter 是域相关的,即一个 Filter 不能应用于具有不同结构的图
(3)特征分解的复杂度大:O(n^3)

2. 切比雪夫谱卷积神经网络(ChebNet)

【M. Defferrard, X. Bresson, and P. Van der Gheynst, “Convolutional neural networks on graphs with fast localized spectral filtering,” in Proc. NIPS, 2016, pp. 3844–3852.】

切比雪夫谱卷积神经网络通过特征值对角矩阵的切比雪夫多项式近似 Filter g g g

g θ = ∑ i = 0 K θ i T i ( Λ ~ ) g_\theta = \sum_{i=0}^K \theta_iT_i(\widetilde{\Lambda}) gθ=i=0KθiTi(Λ )

其中, Λ ~ = 2 Λ / λ m a x − I n \widetilde{\Lambda}=2\Lambda /\lambda_{max} -I_n Λ =2Λ/λmaxIn,且 Λ ~ ∈ [ − 1 , 1 ] \widetilde{\Lambda} \in [-1, 1] Λ [1,1]

切比雪夫多项式的递归定义 T i ( x )

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值