本书是由GAMMA Lab实验室推出,全面介绍了图神经网络的基础和前沿问题,主要分为以下三个部分: * Part 1:GNNs的基本定义和发展(Chaps. 1 - 2);
Part 2:GNNs的前沿课题(Chaps. 3 - 7);
Part 3:GNNs的未来发展方向(Chaps. 8)。
📖一言以蔽之,本书从图表示学习的基础知识开始,广泛地介绍了GNNs的前沿研究方向,包括heterogeneous GNNs, dynamic GNNs, hyperbolic GNNs, distilling GNNs等。一方面基本知识可以帮助读者迅速了解GNNs的优点,另一方面各种前沿GNNs则有望激发读者开发自己的模型。相信,无论是初学者还是来自学术界或工业界的研究人员,相信都会从本书的内容中受益。 本文主要聚焦于Part 1,简要介绍GNNs的基本定义和发展,并帮助读者快速回顾GNNs经典模型。 (其余章节会在GAMMA Lab公众号持续更新,希望能与读者一同在本书中获益🥰)
图一般被定义为 1. 邻接矩阵A一般用于描述图中边的分布
邻居,一般指一阶邻居节点的邻居集合可以表示为,这里表示的是无向图,类似的还可以定义有向图出边邻居,入边邻居 1. 节点的度,一般可以由临界矩阵行(列)求和得到 同时,这里表示的是无向图,类似的还可以定义有向图出度,入度。
相应地,有标准化形式的拉普拉斯矩阵(Normalized Laplacian),一般记作或者:
异质图(Heterogeneous Graph) 一般可以简单认为是含有多个类型的节点,多个类型的边组成的图,数学定义为每个节点v和每条边e与其类型相关联的映射函数 1. 元路径(Meta-path) 给定一个异质图,一条Meta-path 可以被定义为, 表示特定类型的节点和边,这种新的关系可以定义为 1. 元图(Meta-graph) 元图可以视为一个具有共同节点的多条元路径有向无环图(DAG)。 形式上,元图可以被定义为,对于所有的,都有 所有的,都有
"APA"的meta-path表示一篇论文共同作者的关系;"APCPA"代表两作者在同一会议发表过文章关系。 两者都可以用来制定作者之间的接近关系。并且,元图可以是对称的或不对称的。 1. 二部图(Bipartite Graph) 一个二部图,其中包含两个不相交的子集,并且, 所以对所有的边,都有. 1. 动态图(Dynamic Graph) 一个动态图,其中是随时间动态改变的。具体来说,每个节点或每条边有一个时间戳信息,表明它们出现的时间。
1.2 图上的计算任务 * 对于不同的计算任务,它们主要可以分为两类
一类是以节点为中心的任务,整个数据通常被表示为一个图,节点为数据样本。 * 另一种是以图为中心的任务,数据通常由一组图组成,每个数据样本就是一个图。
在过去的几十年里,它得到了很大的发展,可以大致分为三代,包括传统图嵌入、现代图嵌入和图上深度学习。 * 例如,DeepWalk是一种结合了random walk和word2vec的图表示学习算法。 * 图神经网络(GNN)可以大致分为空域方法和谱域方法
在CNN的启发下,图卷积网络(GCN)被提出来,将卷积操作从网格数据推广到图数据,并导致图领域的突破。作为基本的GNN,GCN在基于频谱(从图信号处理的角度)和基于空间(从信息传播的角度)的卷积GNN之间架起了桥梁。
谱域的图卷积可以被定义为一个信号(每个节点由一个标量表示)与一个滤波器的乘积,可以写成 ,其中是标准化后的拉普拉斯矩阵,通常定义是特征值的函数,即. 由于对拉普拉斯矩阵L的特征分解开销较大,一般用切比雪夫多项式去逼近,切比雪夫多项式的递推定义如下 从而,. GCN的简单推导如下:(使用了切比雪夫多项式的一阶近似,K=1)
空域的图卷积一般被定义为消息传递(MessagePassing),
GCN被设计为从一个固定的图中学习每个节点的良好表示。 * 对于大规模的图来说,训练过程在内存方面可能是昂贵的。 * GNN的主要问题是它们缺乏对未见过的数据的概括能力。而且,它必须为新的节点重新训练模型以表示这个节点。
GraphSAGE计算过程中完全没有拉普拉斯矩阵的参与,每个节点的特征学习过程仅仅只与其K阶邻居相关,而不需要考虑全图的结构信息。对于新出现的节点数据,只需要遍历得到K阶子图,就可以代入模型进行相关预测。
上述,算法的基本思路是先 将小批量集合B内的中心节点聚合操作要涉及到的k阶子图一次性全部遍历出来,然后在这些节点上进行 K 次聚合操作的迭代计算。 【Sampling时,从内到外,得到k阶子图(由于每层设置的有邻居采样倍率,所以一般来说是非完全子图), Aggregate时,从外到内,生成 minibatch B 所有节点最终的特征表示】
GAT通过引入注意力机制来聚合邻居,从而扩展了GCN. * 注意力机制 为了获得足够的表达能力将输入特征转化为更高层次的特征,至少需要一个可学习的线性变换。GAT中,每层使用一个可训练的共享的线性变换矩阵 和权重向量。
多头注意力
多头注意力机制的引入,同样与transformer相似,用Muti-Head Attention来模拟CNN多输出通道的效果。以求学习到更多层次的表达。GAT原文中,除最后一层muti-head attention取avg外,其余均concat. * GAT:http://arxiv.org/abs/1710.10903
在这部分,我们介绍HAN,它通过利用节点级注意力和语义级注意力来学习节点和元路径的重要性,为异构图扩展了GCN。因此,HAN可以捕获异构背后的复杂结构和丰富的语义。 HAN
利用元路径将异质图分割成几个同质图,在每个同质图内应用节点级别的注意力机制生成节点表示。
然后再通过一次语义级别的注意力机制去关注基于每个Meta-path的同质图间的节点表示,进而生成最终的节点表示。
本期责任编辑:杨成本期编辑:刘佳玮