熊 晗
(重庆工商职业学院,重庆 400052)
从2009年论文The graph neural network mode发表以来,图神经网络(Graph Neural Network,GNN) 受到越来越多的领域研究与关注。2016年以后,图神经网络在各大顶级会议与相关论文中占据相当可观的份额。图神经网络的出现有其必然性与重要性。深度神经网络发展以来,在图像、语音、文本等机器学习领域被不断改进与应用,其技术已经在商业化进程中取得了巨大的成功[1]。但在互联网与公共数据领域,很多数据采用图结构才能更好地描述数据关系。而图数据并不规则,图节点上有大量的数据属性,同时图节点有不同的邻接点,有不同的关系描述,因而传统的卷积神经网络的计算方式不太能很好地使用在图数据结构上。图结构的数据关系不仅仅表现在邻居关系,多层邻居关系也有挖掘的价值,同时还要包括属性、依赖、泛化、引用等关系,较为复杂[1]。
本文将从基础的图数据结构应用场景、图结构的表示学习、图神经网络的框架与变体以及图神经网络的应用场景等几个方面研究,详细地阐述图神经网络的基本原理与应用;对图神经网络技术进行归纳与总结,将图神经网络运用到实际应用领域问题中,显著优化计算机技术效能,从而提高完成目标的质量与效率。
图数据结构就是网络中顶点与边的关系,涉及“节点”与“关系”这两个重要的属性。图数据结构本身比较复杂,并且在实际的应用中,类别非常地多。大多数图结构在实际的应用中采用的是属性图,即节点与关系都有标签、属性,这样能广泛地表达多种业务(如社交网络、电子购物、化学分子、交通网络等)下的实际需求[2]。
由于图数据结构的事物本身就有很复杂的结构,并且它不是标准的欧式数据,因此很难套用现在成熟的神经网络框架,如循环神经网络(Rerrent Neural Network,RNN)与卷积神经网络(Convolutional Neural Networks,CNN)。在CNN中,输入数据是标准的矩阵形式,卷积核也是标准的栅格结构,这种结构与卷积神经网络机制形成了良好的对应关系。在RNN中,文本本身就是一种前后关系紧密关联的数据,文本的语法与格式有着天然的线性关系,所以在RNN中应用效果显著。
受图信号处理基本理论的研究影响,GNN的思路不断地成熟。在图结构中,一个节点可以表示一个对象或概念,而边可以表示节点之间的关系[3]。GNN用一个状态向量xn表示节点n的状态。节点n的状态需要用4个部分的向量进行计算:节点n的特征向量、邻居节点的特征向量、邻居节点的状态向量以及边(与n相连)的特征向量[2]。计算如 式(1)所示。其中i,j,k,m均为l的邻居节点。
每次迭代完成所有的点,则为更新完成一次。更新分为传播与输出,输出则为最新的状态向量。每次迭代计算方法为:
式中:lco[n]表示边的特征向量,xce[n](t)表示t时刻邻居节点的状态向量,lce[n]表示邻居节点的特征向量。输出状态如式(3)所示:
式中:On(t)表示t时刻的输出状态,即迭代稳定状态,xn(t)是t时刻所有邻居节点状态向量,ln代表邻居节点向量,gw表示多轮fw计算。图神经网络采用此方式不断地迭代直至收敛,最终得到一个稳定状态。每个节点的最终收敛特征状态就是图神经网络的最后的表示方式,称为表示学习过程。
表示学习是研究如何对模型进行描述,达到能够表示出模型研究对象特征的特性。研究针对图数据的模型,必须实现针对图数据的端到端的学习过程。即基于GNN的方法,必须是输入端是数据,输出端是任务,用空间网络中一个低维度的空间向量对该节点进行准确的表示。GNN针对图信息的学习模式体现在计算公式上,可以把计算过程拆分为两步:
第一步,对图中的属性信息进行仿射变换,学习属性特征之间的交互模式;
第二步,聚合邻居节点的信息过程,代表了对局部节点信息的编码重构。
通过以上两步,迭代式地结合邻居节点的信息来更新当前节点信息。堆叠图卷积层,让上述信息的属性编码与结构不断地交替进行,完成对图数据的复杂学习模式。
在GNN的学习任务中,GNN类似一个低通滤波器。一般情况下,使用拉普拉斯做二次正则约束可以用如下的公式来表示:
式(4)中:L表示模型的总体损失,L0表示监督学习中的损失,Lreg表示正则项。从频域上看,相当于对图数据中的信号做了低通滤波处理。式(5)中:f(X)表示分布在图上各个顶点的一个信息函数,L是拉普拉斯矩阵,则f(X)TLf(X)表示f(X)的平滑程度。从这点可以看出,采用频域的方式去理解图数据以及GNN具有十分重要的价值。总之,在GNN模型中,模型的表示直接基于图数据结构,为图数据的学习提供了一套端到端的表示方式,对相关图数据深度学习的任务提供了更好的表示学习方式。
目前研究的GNN应用框架中,以图卷积神经网 络(Graph Convolution Network,GCN)最 为 成熟与完善,GCN在捕获结构依赖性方面起到了重要作用。除GCN外,生成对抗网络(Generative Adversarial Networks,GAN),图自编码器(Graph Auto Encoders,GAE),图 生 成 网 络(Graph Generative Network,GGN),图 时 空 网 络(Graph Spatio Temporal Network,GSTN)也都是现阶段提及较为广泛的模型[5]。
图卷积神经网络(Graph Convolution Network,GCN)将传统数据的卷积算子泛化到图数据,这个算法的关键是学习一个函数f(x),能够结合Vi邻居节点的特征Xj以及其本身特征Xi生成Vi的新 表示。
按照图神经网络的定义,对于一层的GCN计算,可以将图卷积神经网络定义为式(5):
式中:L(t)表示迭代结束后的下一时刻节点新状态,P表示的是激活函数,N表示邻接矩阵,表示对称标准化的邻接矩阵,Wo为邻接权重矩阵。
生成对抗网络(Generative Adversarial Networks,GAN)与GCN类似,致力于寻找一个聚合函数,融合图中相邻的节点,随机游动和候选模型,学习一种新的表示。关键区别是,GAN使用注意力机制识别更重要的节点,或者为模型中的重要节点分配更大的权重,然后将权重与整个网络一起学习。
图自编码器(Graph Auto Encoders,GAE)是一种无监督学习框架,通过编码器学习一种低维点向量,然后通过解码器重构图数据。GAE是一种常用的学习图嵌入的方法,既适用于无属性信息的普通图,还适用于有属性图。对于属性图,图自编码模型利用GCN作为一个构建块用于编码,并且通过链路预测解码器重构结构信息。
图生成网络(Graph Generative Network,GGN)旨在从数据中生成可信的信息,生成给定图经验分布的图从根本上来说是具有挑战性的,主要因为图是复杂的数据结构。为了解决这个问题,采用生成网络模型交替形成节点和边,以此作为生成过程的因素,并借助生成过程作为训练过程。GGN一个很有前途的应用领域是化合物合成。在化学图中,视原子为节点,化学键为边,任务是发现具有一定化学和物理性质的可合成的新分子。
GSTN从时空图模型发展而来,在交通预测和人类活动预测等应用中越来越重要。例如,道路交通网络是一个自然图,其中每个关键位置是一个节点,它的交通数据是被连续监测的,通过建立有效的GSTN,能够准确预测整个交通系统的交通状态,从而实现图模型在交通领域的应用。这种模型同时考虑了空间依赖性和时间依赖性,提升了信息挖掘效率。
图数据结构有着广泛的应用场景,特别是在大数据场合,往往都有图数据结构的数据。随着GNN技术在近几年的发展,如GCN这类应用型的图卷积框架已经在生产商业环境进行了广泛的应用。GNN在图形图像处理、自然语言处理、计算机视觉、知识图谱、推荐系统以及数据组合优化等研究方向有着重要的研究应用价值[4]。
在场景图生成中,目标之间的语义关系有助于理解视觉场景背后的语义。给定图像,场景图生成模型检测和识别目标并预测目标对之间的语义关系。另一个应用是在给定场景图的情况下生成逼真的图像,与上述过程相反。由于自然语言可以被解析为语义图,其中每个单词代表一个对象,因此,在给定文本描述的情况下合成图像,是一种很有前途的 应用。
在推荐系统中,目前研究人员已经在在线社区、Facebook、微博、微信等社交平台上,通过朋友添加、评论关注、加粉关注等行为,建立用户之间的关系图谱,通过用户的图数据结构关系,建立有效的推荐算法模型。下一步对用户的消费行为进行建模,预测用户的行为偏好,同时完成了用户的偏好刻画。研究发现,基于图的深度学习模型,不仅能更好地找出用户之间的关系,还能根据图模型找出被推荐项目之间的关系与影响,以此捕捉更为全面的推荐信息。
纵观GNN的各类应用,GNN表现出3个优势。
(1)GNN具有强大的图数据拟合能力。作为一种端到端的学习方式,GNN展现出的是针对图数据更为强大的拟合能力,因为GNN的框架模型能更好地捕获邻接点更多的信息。
(2)GNN具有更为优秀的推理能力。GNN对语义的表征任务有着更为强大的优势,在许多识别任务上都取得了前所未有的进步,这得益于GNN能对语言模型进行整体性的建模,将更好地理解语义上下文。
(3)GNN能更好地与知识图谱结合。可以使用图神经网络将先验知识端的形式高效地嵌入系统中,这些知识如规则、经验、常识实施等,为模型提供了更多的相关信息,从而提升学习准确度与学习效率。
总体来说,在目前的研究中,相对于处理关系型结构的CNN与RNN,GNN有着更为灵活的特性,能够与图结构的数据更为深度地耦合。在应用图神经网络的时候,一定要找准数据结构的特点与图数据模型的特点,精准定位问题与关键技术,获得相关场景的最优效果。目前GNN中的GCN模型在研究中得到了更为广泛的应用,GCN在自然语言处理和社交网络信息挖掘方面都有成熟的应用案例。后期研究将以GCN为基础,研究图神经网络在自然语言中的应用。