[论文阅读笔记25]A Comprehensive Survey on Graph Neural Networks


这是一篇GNN的综述, 发表于2021年的TNNLS. 这篇博客旨在对GNN的基本概念做一些记录.

论文地址: 论文


1. 引言, 背景与定义

对于图像数据来说, CNN具有平移不变性和局部连接性, 因此可以在欧氏空间上良好地学习. 然而, 对于具有图结构的数据(例如社交网络 化学分子等)就需要用GNN来学习.

最早期的GNN网络是遵循类似RNN的循环迭代式的(RecGNN), 主要的对象是DAG(有向无环图). 这个方式停止的条件是节点的表示趋于稳定.

后来发展出了卷积图网络(ConvGNN), 主要有基于谱域(频域)的和基于空域的. 除此之外, 还发展出了图自编码器(Graph autoencoders, GAEs)和时空(spatial-temporal)GNN.

因此这篇文章主要就把GNN分成了这四种:

  • 循环GNN
  • 卷积GNN
  • 图自编码器
  • 时空GNN

后面, 作者主要讲了GNN与两个任务的区别:

GNN与network embedding. network embedding旨在将一个网络的节点编码成低维度的向量表示, 并保持网络的拓扑结构不变, 这样降维之后, 一些分类, 聚类等任务, 就可以通过传统的机器学习方法实现(例如SVM). 因此, GNN和network embedding的关系是, GNN可以通过一个图自编码器来学习一个低维的表示, 即network embedding的任务. 总而言之, network embedding主要是通过降维来实现应用机器学习方法的目的.

GNN与图的核方法(graph kernel methods). 图的核方法主要是将一个图编码到一个向量空间, 以便应用SVM之类的任务(图的层面).

2. 分类和框架

如前所述, 本文将GNN分成了四类, 如下图所示:

在这里插入图片描述

节点分类任务的ConvGNN. 对于每一个节点, 在每次迭代中聚合它临近节点的信息(图卷积), 最后通过一个非线性变换对节点进行分类. 其中 X ∈ R n × d X\in\mathbb{R}^{n\times d} XRn×d表示节点特征拼成的矩阵.

在这里插入图片描述

图分类任务的ConvGNN. 在图卷积操作后, 使用一个池化层, 将图粗糙化成一个子图, 得到图的高阶表示(higher representations). 最后用一个readout函数, 对图进行分类.

在这里插入图片描述

用于network embedding的图自编码器. 先用图卷积得到每个节点的embedding, 然后解码器在给定embedding的情况下计算成对距离. 在应用非线性激活函数后, 解码器重构图邻接矩阵. 通过最小化真实邻接矩阵与重构邻接矩阵之间的差异来训练网络.

在这里插入图片描述

时空GNN. 对每个timestep的GNN都应用卷积, 随后跟一个 1D-CNN 层对时序特征进行提取. 输出层是一个线性变换,为每个节点生成一个预测,例如它在下一个时间步的未来值.

3. 循环GNN

循环GNN一般都是GNN早期的开山之作, 由于计算量的限制, 一般都是应用于有向无环图的. The Graph Neural Network Model(IEEE Trans. Neural Network, 2009)提出了一个更具有普适性的方式, 可以应用于各种图. 节点更新方式如下式:

在这里插入图片描述
为了保证收敛性, f f f必须是一个收缩映射. 如果 f f f是神经网络的话, 则必须加入罚项.

除此之外, 门控GNNGated graph sequence neural networks, (arxiv, 2015)将门控单元(GRU)作为上述的 f f f函数, 减少了收敛时间. 其节点更新用上一个隐藏态和临近节点隐藏态的线性映射组成, 如下式:

h v ( t ) = G R U ( h v ( t − 1 ) , ∑ u ∈ N ( v ) W h u ( t − 1 ) ) h_v^{(t)} = GRU(h_v^{(t - 1)}, \sum_{u\in N(v)}Wh_u^{(t-1)}) hv(t)=GRU(hv(t1),uN(v)Whu(t1))

这个网络的训练用通过时间的反向传播(RNN的反向传播方式)进行梯度下降.

总体来说, 循环GNN的方式类似RNN, 是作用于离散的节点上面. 但是循环GNN每次(层)用的更新函数 f f f是同一个, 因此必须保证收敛性.

4. 卷积GNN

与循环GNN不同, 卷积GNN的每一层都是可学习的不同参数, 具有固定层数, 和循环GNN区别如下:

在这里插入图片描述
卷积GNN基本分为两类, 基于谱的(频域的)和基于空域的.

A. 基于谱的卷积GNN

基于谱的GNN基本对于无向图而言, 我们可以用(归一化的)图Laplace矩阵唯一的表示这个图的拓扑性质:

L = I n − D − 1 / 2 A D − 1 / 2 L = I_n - D^{-1/2}AD^{-1/2} L=InD1/2AD1/2

其中 D D D为对角矩阵, 每个对角元素为邻接阵对应行的和, 也就是这个节点的度.

我们可以看出, 对于Laplace矩阵的 ( i , j ) (i, j) (i,j)个元素:
如果 i = j i=j i=j, a i , j = 0 , d i , j = d e g ( v i ) , l i , j = 1 a_{i,j} = 0, d_{i,j} = deg(v_i), l_{i,j} = 1 ai,j=0,di,j=deg(vi),li,j=1
如果 i ≠ j i \ne j i=j, v i , v j v_i, v_j vi,vj不相连, a i , j = 0 , l i , j = 0 a_{i,j} = 0, l_{i,j} = 0 ai,j=0,li,j=0
如果 i ≠ j i \ne j i=j, v i , v j v_i, v_j vi,vj相连, a i , j = 1 , l i , j = − 1 / d e g ( v i ) d e g ( v j ) a_{i,j} = 1, l_{i,j} = -1/\sqrt{deg(v_i)deg(v_j)} ai,j=1,li,j=1/deg(v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值