图神经网络(五)基于GNN的图表示学习(1)图表示学习
第五章 基于GNN的图表示学习
图数据有着复杂的结构、多样化的属性类型,以及多层面的学习任务,要想充分利用图数据的优势,就需要一种高效的图数据表示方法。与表示学习在数据学习中的重要位置一样,图表示学习也成了图学习领域中十分热门的研究课题 [0] 。
作为近几年深度学习的新兴领域,GNN在多个图数据的相关任务上都取得了不俗的成绩,这也显示出了其强大的表示学习能力。毫无疑问,GNN的出现给图表示学习带来了新的建模方法。表示学习本身具有十分丰富的内涵和外延,在建模方法、学习方式、学习目标、学习任务等方面都有所涵盖。这些内容在前面章节中均有阐述,所以本章我们就基于GNN的无监督表示学习进行讲解。这也是处于另一方面的考虑,在实际的应用场景里面,大量的数据标签往往具有很高的获取门槛,研究如何对图数据进行高效的无监督表示学习具有十分重要的价值。
本章内容分3节,5.1节主要从3中建模方法上对图数据表示学习进行对比阐述。5.2节分别从两类无监督学习目标——重构损失与对比损失,对基于GNN的无监督表示学习进行阐述。5.3节为应用实战,介绍了图数据表示学习的一个典型应用场景——推荐系统。
5.1 图表示学习
在前面我们通常用邻接矩阵
A
∈
R
N
×
N
A∈R^{N×N}
A∈RN×N 表示图的结构信息,一般来说,
A
A
A 是一个高维且稀疏的矩阵,如果我们直接用
A
A
A 取表示图数据,那么构筑于
A
A
A 智商的机器学习模型将难以适应,相关的任务学习难以高效。因此,我们需要实现一种对图数据更加高效的表示方法。而图表示学习的主要目标正是将图数据转化成低维稠密的向量化表示,同时确保图数据的某些性质在向量空间中也能够得到对应。这里图数据的表示可以是节点层面的,也可以是全图层面的,但是作为图数据的基本构成元素,节点的表示学习一直是图表示学习的主要对象。一种图数据的表示如果能够包含丰富的语义信息,那么下游的相关任务,如点分类、边预测、图分类等,就都能得到相当优秀的输入特征,通常在这种情况下,我们直接选用线性分类器对任务进行学习。图5-1所示为图表示学习的过程:
图5-1 图表示学习的过程
同表示学习一样,图表示学习的核心也是研究数据的表示哦。不同的是,图表示学习的研究对象是图数据。我们知道图数据中蕴含着丰富的结构信息,这本质上对应着图数据因内在关联而产生的一种非线性结构。这种非线性结构在补充刻画数据的同时,也给数据的学习带来了极大的挑战。因此在这样的背景下,图表示学习就显得格外重要,它具有以下两个重要作用:
(1)将图数据表示成线性空间中的向量。从工程上而言,这种向量化的表示为擅长处理线性结构数据的计算机体系提供了极大的便利。
(2)为之后的学习任务奠定基础。图数据的学习任务种类繁多,有节点层面的、边层面的,还有全图层面的,一个好的图表示学习方法可以统一高效地辅助这些任务的相关设计与学习。
图表示学习从方法上来说,可以分为基于分解的方法、基于随机游走的方法,以及基于深度学习的方法,而基于深度学习的方法的典型代表就是GNN相关的方法。下面我们回顾以下前两类方法。
在早期,图节点的嵌入学习一般是基于分解的方法,这类方法通过对描述图数据结构将信息的矩阵进行矩阵分解,将节点转化到低维向量空间中去,同时保留结构上的相似性。这种描述结构信息的矩阵有邻接矩阵 [1] 、拉普拉斯矩阵 [2] 、节点相似度矩阵 [3] 。一般来说,这类方法均有解析解,但是由于某结果依赖于相关矩阵的分解计算,因此,这类方法具有很高的时间和空间复杂度。
近几年,词向量方法在语言表示上取得了很大的成功,受该方法启发,一些方法开始将在图中随机游走产生的序列看作句子,将节点看作词,以此类比词向量方法从而学习出节点的表示。典型的方法有DeepWalk [4] 、Node2Vec [5] 等。图5-2为DeepWalk算法的示意图:
图5-2 DeepWalk算法示意图
DeepWalk通过随机游走将图转化成节点序列,设置中心节点左右距离为
w
w
w 的节点为 上下文(context),如图5-2中的 b 图所示。同词向量方法一样,DeepWalk本质上建模了中心节点与上下文节点之间的共现关系,这种关系的学习也采用了负采样的优化手段,如图5-2中的 d 图所示。DeepWalk与词向量方法具有十分一致的算法细节。
相比基于分解的方法,基于随机游走的方法,最大的优点是通过将图转化为序列的方式实现了大规模图的表示学习。但是这类方法有两个缺点:一是将图转化成序列集合,图本身的结构信息没有被充分利用;二是该学习框架很难自然地融合图中的属性信息进行表示学习。
关于GNN方法的建模细节,作为重要内容在前面的章节中进行了阐述,这里不再赘述。通过之前的学习,我们可以知道基于GNN的图表示学习具有以下几点优势:
(1)非常自然地融合了图的属性信息进行学习,而之前的方法大多把图里面的结构信息与属性信息单独进行处理。
(2)GNN本身作为一个 可导 的模块,能够嵌入到任意一个支持端对端学习的系统中去,这种特性使得其能够与各个层面的有监督学习任务进行有机结合(或者以微调学习的形式进行结合),学习出更加适应该任务的数据表示。
(3)GNN的很多模型如GraphSAGE、MPNN等都是支持归纳学习的,多数情况下对于新数据的表示学习可以直接进行预测,而不必像之前的多数方法那样重新训练一次。
(4)相较于分解类的方法只能适应小图的学习,GNN保证了算法在工程上的可行性,也能适应大规模的学习任务。
综上所述,基于GNN的相关方法具有强大的学习能力与广泛的适应性,是图表示学习重要的代表性方法。
参考文献
[0] 刘忠雨, 李彦霖, 周洋.《深入浅出图神经网络: GNN原理解析》.机械工业出版社.
[1] S.T.Roweis,L.K.Saul,Nonlinear dimensionality reduction by locally linea embedding,Science 290(5500)(2000)2323–2326.
[2] M.Belkin,P.Niyogi,Laplacian eigenmaps and spectral techniques for embedding and clustering,in:NIPS,Vol.14,2001,pp.585–591.
[3] M.Ou,P.Cui,J.Pei,Z.Zhang,W.Zhu,Asymmetric transitivity preserving graph embedding,in:Proc.of ACM SIGKDD,2016,pp.1105–1114.
[4] Perozzi B,Al-Rfou R,Skiena S.Deepwalk:Online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2014:701-710.
[5] Grover A,Leskovec J.node2vec:Scalable feature learning for networks[C]//Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining.ACM,2016:855-864.