APP下载

图神经网络预训练综述

2022-12-06邢小雷郑江文温可欣

小型微型计算机系统 2022年12期
关键词:训练任务掩码子图

邢小雷,赵 超,郑江文,温可欣

1(河北工程大学 信息与电气工程学院,河北 邯郸 056038)

2(河北工程大学 管理工程与商学院,河北 邯郸 056038)

1 引 言

图无处不在,刷短视频、微信上浏览好友动态、网上购物或查找感兴趣的东西时,这些行为都有可能在一个大图上触发查询.图神经网络(Graph neural networks,GNN)已被证明是建模图结构数据的强大工具,然而训练图神经网络通常需要大量特定于任务的标记数据,而获取这些数据往往较为困难,利用图神经网络预训练模型可以较好地解决这个缺点.预训练的思想是在一个大数据集中做训练,使模型有一个良好的初始化,然后将预训练好的模型在下游具体任务中微调.近年来,一些学者开始研究图结构数据的预训练策略[1,2].然而由于拓扑结构的变化,图数据往往比图像和文本数据更加复杂,将计算机视觉和自然语言处理领域的预训练任务转移到图域并非易事.主要的挑战是图属于不规则的非欧式数据,与图像/语言数据所在的二维/一维网格欧式数据相比,非欧式数据更普遍也更复杂.如今一些研究人员也开始利用对比学习和生成学习,使图神经网络能够从未标记的输入数据中学习图数据的表示[2,3].为此本文把这些面向图神经网络的预训练模型进行了全面的回顾.

1.1 图神经网络

图是一种复杂的数据结构,它可用于模拟现实世界中许多复杂的系统,如社交网络、蛋白质分子网络、交通网络、引文网络和知识图谱等.近年来,随着深度学习技术的快速发展,许多学者开始采用该技术来处理图,图神经网络就在这种情况下应运而生[4,5].它是被广泛应用于图分析任务的一类神经网络,凭借其优越的性能,在社交网络、推荐系统、风控、药物发现任务和交通预测等领域大放异彩.各种图神经网络模型层出不穷,对图数据上的机器学习任务产生了深刻的影响.由于GNN是本文中主要的编码器,因此在本节中介绍一个基于消息传递机制的通用框架[6].给定一个属性图G及其特征矩阵X,其中xi= X[i,:]T是节点vi的d维特征向量,GNN的目标是学习每个节点vi∈V的表示hi,考虑第m层GNN,第m层的表达式为:

(1)

(2)

对于节点级任务,节点的表示hi直接用于下游任务.对于图级任务,如公式(3)所示,需要一个额外的读出函数来聚合节点特性以获得整个图的表示hG.由于篇幅关系,这里不讨论特定GNN的运算,如有需要请读者参阅相关的GNN综述[7-9].

(3)

1.2 预训练

随着深度学习的飞速发展,模型参数的数量迅速增加,需要更大的数据集来充分训练模型并防止过拟合.然而对于大多数图分析任务来说,构建大规模的标记数据集是一个巨大的挑战,因为注释成本极高.例如像生物化学医疗分子图的标记,往往需要大量的专业领域人员来标记,相比之下大规模的无标记图结构数据相对容易构建.为了利用大量未标记的图结构数据,可以首先在这些数据中做预训练,然后将预训练好的模型用于其他下游具体任务中.预训练是将所学知识从相关任务转移到目标任务以提高泛化能力的一种常用而有效的方法[10],它可以为模型提供高质量的初始化,从而提高模型的性能,是一种迁移学习[11].它的一般方法是在大量无标签数据集上预先训练模型,然后在有监督的数据上对模型进行微调.近些年,预训练在多个领域取得了显著的成功,如计算机视觉和自然语言处理.近年来,研究人员开始探索GNN的预训练,使其能够从大量的未标记图数据中更有效地学习图.GNN预训练的目的是根据不同的任务学习模型的参数,然后在给定的下游具体任务中,对预训练的模型进一步优化.

通过对不同模型预训练策略的浏览,可以了解到GNN预训练设计思路的大体演化进程如下.如何同时学习到有效的局部和全局信息并且避免负迁移?Hu等人[1]提出了一种结合节点级和图级任务对模型进行预训练的方法.在节点级别使用两个自监督方法,即上下文预测和属性预测,在图级采用有监督属性预测和结构相似度预测,结合4个任务GNN可以学习有用的局部和全局图表示,最终有效地提高了分子图分类任务的性能.如何学习到通用的、跨领域、可迁移的拓扑结构信息?Qiu Jiezhong等人[2]提出了一种自监督GNN预训练框架GCC,该模型是在无属性图上做预训练,用于捕获跨多个网络的通用网络拓扑特性.该模型将预训练的任务设计为一个图或跨图的子图级实例识别,使用对比学习来更好地学习内部和可转移的结构表示,最后在3个图学习任务(节点分类、图分类和相似度搜索)中对模型进行了评估.通过多任务预训练,提高模型泛化能力,Hu Ziniu等人[11]提出了一种基于多个子任务的通用预训练框架,包括去噪链路重构、中心评分排序和聚类保持,该模型期望从多个角度(节点、边和子图结构)来捕捉图的特征.如何用概率生成模型对图分布进行重构建模?GPT-GNN[3]是一个基于生成任务的图神经网络预训练框架,其主要思想是最大化输入属性图的生成概率,它的训练任务包含属性生成任务和结构生成任务.PT-DGNN模型[13]是在重构动态图,该方法利用动态属性图生成任务同时学习图的结构、语义和演化特征,该方法包括两个步骤:1)动态子图采样;2)带有动态属性图生成任务的预训练.在预训练的过程中怎样更好的学习目标任务,缩小预训练和微调过程优化目标不一致的差异?L2P-GNN[14]模型作者认为预训练范式存在预训练和微调过程的优化目标不一致的问题,针对该问题,论文提出了一个基于元学习思想的自监督预训练策略,其关键思想在于使得预训练后的模型能够针对下游目标任务被快速、有效地微调.Han Xueting等人[15]提出的新范式也在解决类似的问题,该范式可以自适应地选择和组合图上的各种辅助任务,它能更好地适应目标任务,提高知识转移的有效性.它通过测量辅助任务(预训练任务)和目标任务梯度之间的余弦相似度来量化辅助任务和目标任务之间的一致性,并设计了一个自适应辅助损失加权模型.

本文剩余章节安排如下,第2节介绍图神经网络预训练任务,对节点级预训练任务、图级预训练任务以及混合预训练任务分别阐述;第3节对GNN预训练模型进行分析,主要包括对比学习模型、生成学习模型以及其它模型;第4节根据预训练任务、GNN编码、模型类别、损失函数等依据对GNN预训练模型进行整体分类;第5节概括GNN预训练模型的主要应用,包括在推荐系统、生物医药、化学等领域的应用;第6节进行了总结和展望.

2 图神经网络预训练任务

预训练任务对图结构数据的普遍表征学习至关重要,通常这些预训练任务应该具有挑战性,并有大量的训练数据.预训练任务的学习方法通常有:监督学习、无监督学习和自监督学习.监督学习(Supervised learning,SL)是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程;无监督学习(Unsupervised learning,UL)是指从未标记的数据中寻找一些内在的知识,如簇、密度、潜在表示等;监督学习(Self-Supervised learning,SSL)是监督学习和非监督学习的混合体,SSL的学习模式与监督学习类似,但训练数据的标签是自动生成的[16,17].有监督和无监督方法均可对模型进行预训练,多数预训练都需要大量的数据集,但在大量数据集做监督标签通常是耗时耗力的,考虑到实际情况标注数据少,而图本身有丰富的结构和属性信息可以提供监督信息,所以目前多数的图神经网络预训练模型都采用自监督的学习方式.本节对GNN预训练的任务进行分类阐述,其主要分为3大类:节点级预训练任务、图级预训练任务、混合的预训练任务.

2.1 节点级预训练任务

节点级的预训练任务主要包括上下文预测、节点或边的属性掩码、链接预测等.

2.1.1 上下文预测(Context Prediction)

上下文预测是根据节点的邻居来预测某个节点,可以是在分子图中随机的掩盖一些原子(键保持不变),预训练的目的是恢复原来的原子,其思想与word2vec[18]类似.例如Hu Weihua等人[1]提出的预训练任务,对于一个中心节点(Center Node,图 1(a)左侧中心节点),定义其周围K跳节点构成的子图为其邻居,定义其r1跳至r2跳之间(可以看成一个环)的节点构成的子图为上下文图,其中r1

2.1.2 属性掩码(Attribute Masking)

属性掩码即预测图中节点/边的属性,通过学习分布在图结构上的节点/边属性的规律来获取领域知识,遮掩节点和边的属性,预训练任务就是基于邻域结构来预测这些属性.这类似于在掩码语言模型中使用掩码(Mask)标记的技巧[19],例如图1(b)中,根据邻居节点预测某个节点的原子序号,通过用特殊的掩码指标来替换输入节点/边的属性,如分子图中的原子类型,然后用图神经网络获得相应的节点/边嵌入,在嵌入的基础上来预测掩码节点/边的属性.节点和边属性掩码方法对于生物化学领域属性丰富的图尤其有益,在分子图中,节点属性对应于原子类型,通过捕获它们在图上的分布,GNN可以了解简单的化学规律,例如化合价.以及潜在的更复杂的化学现象,例如功能团的电子或空间性质.同样在蛋白质相互作用(PPI)图中,边属性对应着一对蛋白质之间的不同类型的相互作用,通过捕获这些属性在PPI图中的分布情况,GNN可以了解不同的交互是如何相互关联的.属性掩码对模型通过学习图结构上节点/边的属性的规律,进而获取内在领域知识的作用很明显,属性恢复也是图重构的重要组成部分.

图1 上下文节点预测和属性掩码[1]

2.1.3 链接生成(Edge Generation)

链接生成预训练任务是指恢复或生成本来图中存在的链接,把节点之间的链接(边)通过随机丢弃或者加入噪声等手段把链接删除,然后通过预训练将其恢复.例如Ziniu Hu等人[11]提出了去噪链路重构自监督预训练任务,在输入图G中加入噪声,然后通过随机去除一部分现有边,得到其噪声版本G*,GNN模型以带噪声的图G*为输入,学习将带噪声的图表示为F,然后将学习到的表示传递给神经张量网络成对解码器Drec,它可以预测两个节点u和v是否连接.通过这种方法,预训练的GNN能够学习到输入数据的鲁棒表示,这对于不完整或有噪声的图尤其有用.

2.1.4 其它节点层级的预训练任务

把嵌入(Embedding)恢复作为预训练任务[20],即预训练GNN以充分交互的方式模拟用户/物品的冷启动场景,并将嵌入重构作为预训练任务,直接提高嵌入质量,易于适应新的冷启动用户/物品.以及其它节点层级的预训练任务,例如以局部奖励最大化为预训练任务[21]、节点与上下文互信息[22]等.

2.2 图级预训练任务

子图是比节点更高级的视图,图级别预训练任务可以捕获全局的图特征.子图的获取可以是随机采样得到,也可以是类模体(motif)子图的提取.进行子图级对比学习的关键挑战是抽取语义上有意义的信息性子图,进而使模型能更好的捕获全局图的特征.

2.2.1 子图实例区分

子图实例区分作为预训练任务,其中子图通常是以概率随机丢边或者是随机游走获得该节点K阶邻居组成的,模型的预训练任务是识别它们是不是同一个图或者是否由一个中心节点随机游走生成的子图.子图也可以是一个分子图按一定的概率范围分成两个半图,预训练任务是识别两个半图是否来自同一个源图[23].GCC模型[2]提出使用子图实例区分作为预训练任务,在没有属性也没有标签的数据集上做预训练.具体来说由两部组成,首先是在数据集中设计子图实例,然后就是定义相似的子图.子图实例是通过将单个顶点扩展到其局部结构得到,对于某个顶点v,它的一个实例定义为其r阶的自我中心网络(r-ego network).设G=(V,E)是一个图,其中V表示顶点集合,E⊆V×V表示边集合域,对于顶点v,其r阶邻居定义为Sv={u∶d(u,v)<=r},其中d(u,v)是图G中u和v之间的最短路径距离,顶点v的r阶自我中心网络记为Gv,是由Sv导出的子图,图2显示了2阶自我中心网络的两个示例.接下来简单介绍一下相似实例的定义,GCC模型中,将同一个顶点的r-ego网络的两个随机数据扩展作为一个相似的实例对,并将数据扩展定义为图采样[24].图采样是一种从原始图中提取具有代表性的子图样本的方法,该模型的图采样遵循3个步骤,即通过随机游走重启(random walks with restart,RWR)[25]、子图归纳(subgraph induction)和匿名化(anonymization)[26],按上述步骤重复两次来创建两个数据增量.它们可以形成一个类似的实例对(xq,xk+),当两个子图是从不同的中心节点网络中扩充而来,则把它们当作两个子图不相似的实例对(xq,xk),也就是负样本.子图实例的区分作为预训练任务,可以捕获图之间内在的结构模式.

图2 子图实例区分示例[2]

2.2.2 模体(motif)

模体是抽取语义上有意义的信息子图,是经常出现的子图模式,如分子的功能团,具有很强的表达能力.为了研究有意义的子图,图挖掘界的学者提出了通过图模体来揭示图的全局属性,图模体被定义为图中频繁出现的重要子图模式[27].把学习图模体作为预训练任务,可以学习捕获图的全局结构和语义属性.MICRO-Graph模型[28]的预训练任务就是学习图的模体.该模型利用GNN从大型图数据集中提取模体,然后利用学过的模体对信息子图进行采样,将模体学习模块和对比学习模块相互强化,从而训练出表达能力更强的GNN编码器,进而提取出更多有意义的子图.图3所示展示模体提取的核心思想,通过GNN编码器对采样的类模体子图进行编码,并得到子图嵌入,然后通过EM算法[29]最大化图似然来学习它们.通过模体来指导生成类模体子图,进而解决信息子图生成的挑战.由于模体代表了图主要结构属性,模体类子图比图节点和随机采样得到的子图能提供了更多的信息,从而增强了对比学习来捕获全局图特征的能力.

图3 MICRO-Graph模型模体提取整体思想[28]

2.2.3 图重构

图重构(恢复或者生成)作为模型的预训练任务,可以通过设计一个属性图生成任务来建模节点属性和图结构,可以将图生成目标分解为两个部分:属性生成和边生成[13],它们的联合优化等价于最大化整个属性图生成的概率.在优化过程中预训练模型可以捕获节点属性和图结构之间的内在依赖关系.

2.2.4 其它图级预训练任务

其它图级预训练任务可以是把预测图特定领域的属性作为预训练任务,将特定领域的知识注入到预训练的嵌入中,可以是图级多任务监督预训练,以联合预测不同的独立图的监督标签[12].像分子性质预测中,可以用预训练GNN来预测已经实验测量到的分子的所有性质;像蛋白质功能预测中,目标可以是预测蛋白质是否具有给定的功能.

2.3 混合预训练任务

2.3.1 迁移成本

自监督预训练任务与下游任务在优化目标和训练数据上存在内在的差距,传统的预训练方法可能对知识迁移不够有效,因为它们不能很好的适应下游任务.为了解决这一问题,缩小预训练任务与下游任务内在的差距,Han Xueting等人[15]提出了一种新的迁移学习范式,该范式可以有效地将自监督任务作为辅助任务(预训练任务)来帮助目标任务训练.在微调阶段,该方法可以将不同的辅助任务与目标任务进行自适应的选择和组合,即设计一个自适应辅助损失加权模型,通过量化辅助任务与目标任务之间的一致性来学习辅助任务的权重.此外该模型还通过元学习来指导权重,可以应用各种迁移学习的方法,在预训练和微调中有良好的表现.

2.3.2 课程式预训练(Curriculum Learning)

课程学习[30]作为一种学习范式,与人类学习过程类似,从简单的模式开始,逐渐增加到更复杂的模式.课程式预训练[31],即从局部(如节点级)到全局(如子图级)上下文提取和学习有用的信息,在子图中逐步学习局部和全局知识,即从简单的任务或实例开始,逐步向更复杂的任务或实例转变.该模型设计了难度不断增加的初级和高级课程(即预训练任务),初级课程重在从异构子图中获取局部上下文信息(如节点、边和路径),它通过3个任务即掩码节点预测:该任务是根据异构子图中的周围邻居环境来推断屏蔽的节点;掩码边预测:掩码边预测任务是根据周围邻居环境恢复两个相邻节点掩码的边;元路径类型预测:用户-物品交互子图由多条路径组成,路径级语义编码显得极为重要,以解释特定用户-物品交互发生的潜在规律.前两个任务侧重于增强节点级表示,而元路径类型预测任务是为用户-项目交互捕获路径级语义.高级课程则是为了在子图层面捕获与全局的相关的特征,具体通过子图对比学习任务来训练,其核心思想是增加一些特定于交互的子图,为用户-物品交互建模.

2.3.3 其它混合预训练任务

其它混合预训练任务像节点和子图之间互信息最大化[32],依赖于节点表征和图表征之间互信息最大化,通过对比学习局部表征和全局表征的互信息最大化来进行图学习.

3 GNN预训练模型分析

本节对主要的图神经网络预训练模型进行分析,主要分为基于对比学习的模型、基于生成学习的模型和其它类型的模型(基于图固有属性以及混合利用多种学习方式).

3.1 基于对比学习的GNN预训练模型

对比学习主要利用了样本间的约束信息构造辅助任务,通过构建正样本和负样本,然后度量正负样本的距离进行自监督学习,对比学习的关键就在于如何合理定义正负样本,也是难点所在.

GCC模型[2]是一个自监督的对比学习预训练框架,该模型是利用图的结构信息对图数据进行预训练,不用依赖节点和边的信息,可以避免复杂的特征工程,更具有普适性.而GCC的缺点便是子图数据生成部分耗时过多,主要是随机游走采样获取子图耗时.GCC的基本假设是:如果图中两个不同节点具有相似的结构信息,则两个节点表示也是相似的.该模型的关键问题:1)如何定义图中的子图实例,即首先定义一个r阶的自我中心网络(r-ego network),一个限定跳数为r的子网络,对于一个节点v,通过随机游走的方式获取节点v一个限定跳数为r的子网络,便得到了一个子图实例;2)如何定义子图实例之间的相似度,即定义以节点v为中心出发的两个随机游走得到的r-ego network作为两个相似的子图实例,这便得到了正样本,而负样本是选择一个其他不同于v的节点,进行随机游走,以此得到负样本.论文中给出了两种生成负样例的方式:分别是E2E(负样例从同一个批次中抽取)和MoCo[33](保存历史子图来获取负样本,不用每次重新随机游走).该模型使用图同构网络(Graph Isomorphism Network,GIN)[34]进行子图实例编码表征,它的训练损失函数定义为InfoNCE Loss[35],公式如下:

(4)

q=fq(xq),k=fk(xk)

(5)

其中τ是超参数,fq和fk是两个图神经网络,用于编码子图实例xq和xk成表征向量,从公式可以看出分子是xq和正样本的相似度,分母是xq和负样本的相似度,因此优化损失函数时,随着损失函数越小分子趋向越大分母趋向越小,就是在训练模型区分开正样本和负样本的能力.

GraphCL[36]是一个基于对比学习的自监督预训练模型,通过添加随机扰动可以得到一个节点的两个L阶邻居子图,通过最大化两个子图间的相似度来进行自监督学习.与GCC模型核心思想类似,不同点主要在于数据集是属性图还是无属性图.DGI模型[32]利用节点和子图之间互信息最大化做训练,它依赖于节点表示和图表示之间的互信息,通过最大化节点表示和其子图之间的互信息,最小化负样本和该子图之间的互信息进行对比学习.由于不同类型的对比可以提供不同视角,因此可以将多个基于对比学习的任务整合在一起.GraphLoG模型[37]包含3个对比目标:子图与子图、图与图、图与上下文,3种类型对比的互信息的估计量目标函数用InfoNCE[35].对比学习的关键就在于如何合理定义正负样本,现有的对比学习中正负样本多数采用随机丢弃节点或者链接删除等子图生成方法,往往不能很好地适应输入数据或保持原始图的语义结构.为了解决这一问题,AutoGCL模型[38]提出了一种新的自动图对比学习框架,它使用了一组可学习的子图生成器,这些生成器有一个自动增强的策略,其中每个子图生成器都学习了一个受输入条件约束的图概率分布.该模型生成每个对比样本时保留了原始图最具代表性的图结构,在迁移学习方面的大量实验证明了AutoGCL框架在图对比学习方面的优越性.结果进一步证实,可学习子图生成器可以提供更紧凑、语义更有意义的对比样本.

(6)

3.2 基于生成学习的GNN预训练模型

生成式学习以自编码器为代表,在自编码器中对数据样本编码成特征再解码重构,以此来学习样本的特征表达.通过对节点、边和结构3个不同层次的关注,可以产生不同的生成方法,可以是节点属性生成、图补全[39]、边生成和图重构等.

GPT-GNN模型[3]是自监督生成式预训练框架,通过预训练捕捉图固有的结构和语义等内在的属性信息.它的编码GNN为异质图转换架构(Heterogeneous Graph Transformer,HGT)[40].该模型训练通过两个生成任务—属性生成和边生成,并且构建节点属性和图结构之间的相互依赖关系,来捕捉隐含的特征信息,模型结构图如图4所示.预训练任务(属性生成、边生成)实现思路:先给图中节点和边编号,通过已知X(顶点)和E(边)预测未知X和E,目的就是通过预训练得到图的最大似然估计.例如在第i步时,利用i步之前已经生成的X

图4 GPT-GNN的预训练架构[3]

(7)

生成任务便归纳为最大化logpθ(X,E),由于生成Xi和生成Ei不是相互独立的,图预训练模型最主要的便是要学习节点属性和图结构之间的潜在依赖,于是该模型提出了交替预测,即用观测到的边预测未知的节点属性,用观测到的节点属性预测未知的边,这样便可以学习到节点属性和图结构之间的潜在依赖.同时为了提高模型的训练效率,希望对输入的图只运行一次图模型即可同时对属性和边进行生成,但这样会存在信息泄露,因为边生成时需要节点属性作为输入,这样就可能把节点属性泄露给属性生成任务,所以将每个节点的任务拆成两个(节点属性生成和边生成),两个任务分开来训练.属性生成任务损失函数使用的是平均绝对误差(Mean Absolute Error,MAE),边生成任务损失函数具体计算如下公式所示:

(8)

PT-DGNN[41]是一种动态图神经网络预训练模型,该模型的预训练任务与GPT-GNN模型类似,都是把属性和边的生成作为预训练任务,它的不同点在于它更关注的是动态网络的预训练.该模型提出了一种基于动态边生成任务和节点属性生成任务的动态图神经网络预训练方法.在预训练中,利用历史边来预测未来边,从而捕捉网络的动态特征.具体来说该模型包含3部分,即动态子图采样、动态属性图生成和微调.动态子图采样主要包括3个步骤:1)随机选取m个节点作为采样初始点;2)将节点的一阶邻居放入候选池,并将其时间戳保存为权值,计算抽样概率;3)根据抽样概率选择最终的m个节点.由动态子图生成的图,通过节点属性和边的掩码来用作预训练,动态边生成任务的损失函数为:

(9)

动态节点属性生成任务损失函数:

(10)

其中MLP是多层感知机,用作编码器.

Graph-BERT模型[42]是一种依赖注意力机制,不涉及任何图卷积和聚合操作的新型的图神经网络预训练模型.它利用自监督节点属性重构和图结构恢复任务对模型进行预训练,然后将模型转移到其他下游任务,或者在有监督标签信息的情况下进行必要的微调.G-BERT模型[43]结合了GNN和BERT的功能,对药物推荐进行表征学习.具体地说,该模型采用了两个类BERT的自监督预训练任务—自我预测和双重预测.自预测以学习到的嵌入为输入,重构相同类型的掩码;双预测以一种嵌入为输入,尝试重构另一种类型的嵌入.

PMGT模型[44]利用两个生成任务来捕获多模态辅助信息以此进行更好地推荐.该模型通过以下两个目标进行预训练:1)图结构重构;2)掩码节点特征重构.节点特征重构任务的重点是捕获节点表示中的多模态特征,与其它方法比如Graph-BERT相比,设计了一个没有掩码操作的属性重构任务,因此Graph-BERT模型聚合不同节点特征的能力可能会受到限制.在PMGT模型中设计的掩码节点属性特征重构任务,其目标是通过其它非掩码节点来重构掩码节点的特征.节点属性特征重构的损失函数为:

(11)

式中Mh为掩码节点的集合,Wri为第i个模态信息重构的权矩阵.

边重构的损失函数:

(12)

其中σ为sigmoid激活函数,Pn和Q分别表示负抽样分布和负抽样数.

3.3 其它GNN预训练模型

其它GNN预训练模型可以是基于图固有属性的辅助方法或者混合多种预训练任务的模型.GROVER模型[45]精心设计了节点级、边级和图级的自监督预训练任务,它可以从大量未标记的分子数据中学习到丰富的分子结构和语义信息.该模型将GNN中的消息传递网络[6](Message Passing Networks,MPN)集成到Transformer[46]的架构中,以提供更具表现力的分子编码器.模型架构如图 5所示,该模型是对经典的Transformer模型进行修改:1)输入由序列变成图;2)引入了动态消息传递网络提取图的结构信息;3)将每一层的编码的残差连接变成了长距离残差连接,也就是直接从第一层到最后一层.GROVER模型的预训练框架分为两个阶段(双层信息提取):1)消息传递过程捕获图的局部结构信息,因此使用GNN模型的输出作为Q、K、V(query、key和value),这样将得到所涉及的局部子图结构,从而构成信息提取的第一级;2)Transformer的编码可以被视为一个完全连通图上的图注意力网络(GAT)[47]的变体,使用它对第一级信息进一步提取,得到全局节点的关联关系,这构成了信息提取的第2级.动态消息传递网络计算公式如下所示:

图5 GROVER架构的概述[45],使用节点视图GTransformer(左半图)和边视图GTransformer(右半图)

(13)

(14)

预训练和微调之间有差异,那么如何缓解GNN预训练和微调之间的优化误差,L2P-GNN模型[14]通过引入元学习缩小预训练和微调之间的差距,使 GNN 预训练的优化目标为削减预训练任务与下游任务之间迁移的成本.L2P-GNN模型整体示意图如图 6所示,如图6中(a)和(b)所示为任务的构建.为了在预训练的过程中做类似下游任务微调的内容,作者用的方法是提前把预训练的数据集也划分成训练集和测试集,对于需要预训练多个任务,每个任务都会这样划分,分别对应图中的支撑集(support set)和测试集(query set).而为了模拟在下游训练集上的微调过程,直接在预训练数据集上训练损失函数使其得到可迁移的先验知识,然后适配其在下游任务数据集上即可.图6中的(c)所示为双重适应策略,为了缩小预训练和微调过程之间的差距,在预训练过程中优化模型快速适应新任务的能力是至关重要的.为了将局部信息和全局信息都编码到先验信息中,作者提出双重适应在节点级和图级两个层面进行更新.

图6 L2P-GNN模型示意图[14]

4 GNN预训练模型分类

该部分将从以下几个角度对已有的GNN预训练模型进行分类:

1)图预训练任务类型:根据图预训练任务类型的分类,已经在第2节中进行了讨论;

2)GNN预训练模型分析,已经在第3节中讨论;

3)架构:图神经网络预训练框架使用的图神经网络,包括图卷积神经网络(GCN)[5]、图注意力网(GAT)[47]、图同构网络(GIN)[34]、APPNP[48]、LightGCN[49]等GNN编码;

4)损失函数:包括交叉熵(Cross Entropy)、infoNCE[35]、平均绝对误差(Mean Absolute Error,MAE)、均方对数损失(mean logarithmic squared error,MSLE)、三元损失函数(Triplet Margin Loss)[50]、平方损失函数(square loss function)、JSD(Jensen-Shannon divergence)[51].

5)预训练数据类型:包括属性图、无属性图、异构图、超图、动态图等;

6)监督学习(SL),无监督学习(UL),自监督学习(SSL)

进而可以得到表1和图7.

图7 图神经网络预训练模型的分类(若图编码网络有多个,则指训练效果相对较好的GNN,加#代表是该论文新提出的GNN模型)

表1 图神经网络预训练模型的分类

5 应用分析

图是普遍存在的数据结构,GNN被广泛应用在社交网络、推荐系统、化学分子预测、知识图谱等领域[62,63],而GNN预训练模型还主要应用在推荐系统和生物化学领域.

5.1 推荐系统

在真实场景中,通常会遇到数据稀疏的问题,如冷启动.近年来,预训练模型在宏观领域和具体任务之间的知识转移方面表现出了良好的效果,这可以潜在地缓解推荐系统中的数据稀疏问题[64].图神经网络预训练模型在推荐系统上有广泛的应用,有预估点击率的模型、模拟冷启动、模拟商品和用户的关系等模型.多数模型的预训练任务主要会通过掩码节点或边,增删节点和边等方式来训练.PCF-GNN模型[59]把丰富的用户和商品之间的历史交互特征建模成图上的边,然后用GNN来有效的学习特征之间的显式关系.采用自监督预训练的方式来预估GNN模型学到的显式交互特征进而推出新边的信息.该模型在MovieLens数据集(包含1000209样本)和工业数据集(阿里巴巴数据集)进行了大量的实验,在各种任务中的性能和内存效率方面都显示出了竞争力.

冷启动问题是推荐工作面临的一个基本挑战,Hao Bowen等人[20]提出在将GNN模型应用于推荐之前先对其进行预训练,与推荐的目标不同,预训练GNN以充分交互的方式模拟用户/物品的冷启动场景,并将嵌入重构作为预训练任务,提高了嵌入质量,使模型更易于适应新的冷启动用户/物品.在3个公共推荐数据集上的实验表明,该GNN预训练模型在用户/物品嵌入推理和推荐任务方面优于原始GNN模型.CHEST模型[31]从异构信息网络(Heterogeneous information network,HIN)[65]中提取有用信息,组成特定于交互的异构子图,其中包含足够相关的上下文信息,然后捕获子图中的丰富语义.此外该模型设计了一个课程式预训练策略,提供一个从初级到高级的预训练学习过程,进而平滑地迁移HIN中的基本语义,用于建模用户-物品交互关系.在3个真实数据集上进行的大量实验表明,该方法在许多竞争性基线上具有优越性,特别是当只有有限的训练数据可用时.

5.2 生物化学领域

GNN在生物和化学中有着广泛的应用,如分子性质预测、反应预测和药物靶标相互作用预测、蛋白质相互作用点检测、以及疾病预测等[45,66,67].最近有多项图神经网络预训练模型在生物化学领域进行,通过在该领域进行特定的预训练,在下游任务中进行微调,可以实现可观的改善.Jure Leskovec等人[1]发表的图神经网络预训练策略进行的大量的实验就是在化学分子数据集和蛋白质分子网络中进行的,通过设置合理的预训练策略,进而实现正向迁移.先在节点级进行自监督预训练,然后在通过有监督的多任务图级别的预训练,这就确保了节点的嵌入能够捕获到了局部邻居的语义信息.这些语义信息被汇聚到一起以得到有意义的图级别的表示,而这些图级别的表示可以被用于下游任务中的化合物的分类等任务中去.GraphCL[36]模型是一种自监督的图对比学习框架,该模型的预训练任务就是在蛋白质数据集和化学数据集上进行的.GROVER[45]预训练模型能够在大规模的无标签的化学分子数据上进行自监督训练,通过精心设计的节点级、边级和图级的自监督任务,可以从大量未标记的分子数据中学习到丰富的分子结构和语义信息,而不需要任何监督标签,从而解决标签数据少和泛化性能差的两个问题,使得模型在下游任务的泛化性能更强.该模型在1000万个未标记分子上,用1亿个参数去做预训练,利用预训练的GROVER进行分子性质预测,然后进行特定任务的微调,在11个具有挑战性的基准上,与当时最先进的方法相比GROVER模型有了较大的改进(平均超过6%).

药物发明是一个复杂的系统工程,从发明到实际应用于市场,通常跨度10-15年.人工智能和药物发明之间的跨学科研究,由于其卓越的速度和性能而受到越来越多的关注.近年来,在深度学习体系结构中,GNN逐渐成为建模分子数据的有力工具.已经提出了多种GNN结构在药物发现方面取得了较大的进展[68].由于标记数据的缺乏,专业实验室实验昂贵且耗时,药物发现中的训练数据集通常大小有限,GNN往往会过度拟合[45],导致模型缺乏泛化性.PHD模型[23]倾向于大规模未标记分子的分子表征,一种新的基于分子预训练图神经网络模型,通过节点级和图级任务进行预训练,在对1100万个未标记分子进行预训练后,可以捕获有价值的内在化学属性,进而产生可解释的表.该模型为当时的药物发现领域最先进模型,该模型可以进行分子属性预测、药物之间的相互作用以及药物和靶标之间的相互作用.

6 总结与展望

近年来,图神经网络预训练成为GNN领域的研究热点.本节总结了该领域待解决的问题,以及给出了未来研究方向.主要包括GNN架构、预训练任务设计、可解释性、理论基础、从预训练到下游任务的增益以及微调策略、以及更广泛的应用.

6.1 GNN架构

在自然语言处理领域,Transformer已被证明是一种有效的预训练编码架构[69],然而图神经网络预训练领域目前还没有一种有效的预训练GNN的编码网络.GNN预训练模型多数使用的编码网络为GIN[34],GIN虽具有较强的表达能力,但其网络层数并不深.深层GNN架构的设计是具有挑战性的,深层GNN、表达能力更强的GNN等研究路线,将会对GNN预训练产生深刻的影响.同时根据下游任务的类型专门设计特定于任务的体系GNN结构也是很值得研究一个方向.

6.2 预训练任务的设计

预训练任务对图结构数据的普遍表征学习至关重要,通常这些预训练的任务应该具有挑战性,并有大量的训练数据.预训练任务的设计对模型实现正迁移、学习到图领域固有特征属性至关重要,往往决定模型的训练效果.

多个预训练任务学习:现有的GNN预训练方法大多通过解决一个预训练任务来学习表示,只有少数模型混合了多种预训练任务来探索多个GNN预训练.如之前的基于多个子任务的通用预训练框架[11],以及自然语言处理预训练模型BERT混合方法所示,不同的预训练任务可以从不同角度提供不同的监督信号,这有助于GNN预训练模型学习到更多有价值的信息.因此考虑多个预训练任务的设计值得进一步研究.

复杂图的预训练任务:目前图神经网络预训练工作大多集中在属性图上,很少关注复杂图的类型,如超图、异构图或时空图.对于复杂图,主要挑战是如何设计能够捕捉这些图独特的数据特征的预训练任务.现有的一些方法将互信息最大化[32]的思想应用到复杂图学习中,但其利用数据丰富的信息能力有限.此外这些预训练任务通常只利用节点级或图级特征,限制了它们利用更丰富信息的能力,如时空图中的时间信息和异构图中的关系信息.因此如何设计更合适的预训练任务可以从以下方面考虑:1)设计针对图结构数据类型的预训练任务,根据图类型自适应地选择最适合的任务;2)从自动学习的角度,将预训练任务的自动设计作为一个新的研究课题.复杂图的预训练任务未来是很值得研究探讨的方向.

6.3 可解释性

可解释人工智能[70]一直是人工智能领域研究的一个重点,机器学习模型的可解释性主要关注两个方向,一个是对黑盒模型的事后解释,另一个是提升模型本身的可解释性.图结构数据提供了额外的拓扑信息,也对可解释性提出了更高的要求.XGNN模型[71]提出了一种基于输入优化后的图神经网络事后解释方法,Lanciano Tommaso等人[72]关注提升模型的本身的可解释性,提出了一种基于对比子图的可解释性脑网络分类方法.尽管GNN预训练模型的性能令人印象深刻,但其非线性架构使决策过程高度不透明,与卷积神经网络对图像的解释不同,解释GNN预训练模型更加困难.然而大多数现有的GNN预训练模型仅以在下游任务上达到更高的性能为目标,忽视了学习表示和预测结果的可解释性.因此仍然不知道从预训练任务中学到了什么?哪些特征模式、重要结构或特征-结构关系是通过预训练学会的?有可能在输入数据中找到可解释的对应吗?这些是理解和解释模型行为的重要问题,因此GNN预训练的可解释性也是一个值得继续深入研究的方向.

6.4 理论基础

尽管GNN预训练在各种任务和数据集上取得了较大的成功,但它们大多借鉴了在计算机视觉和自然语言处理领域上的成功经验,仍然缺乏理论基础来证明它的实用性.在现有的大多数工作中,所提出的方法主要是根据直觉设计的,并通过实验验证来进行评价,设计背后缺乏足够的理论基础导致了性能瓶颈和糟糕的可解释性.本文认为可以从图论等角度为GNN预训练构建坚实的理论基础,缩小理论基础与实证设计之间的差距,也是一个很有前景的研究方向.

6.5 从预训练到下游任务的增益以及微调策略

对模型进行预训练,然后将预训练模型用于特定的下游任务,通过微调或冻结权重,是GNN预训练模型中常见的训练策略.但是应该如何将预训练的知识更好的迁移到下游的任务中去呢?尽管在计算机视觉和自然语言处理领域已经提出了许多策略来解决这个问题[73],但是由于图的固有非欧结构,这些策略很难直接应用到图上.在预训练的过程中怎样更好的学习目标任务,缩小预训练和微调过程优化目标不一致的差异? Lu Yuanfu[14]和Han Xueting等人[15]认为预训练范式存在一个问题,提出的模型也在解决此问题.设计特定于图的技术来最小化预训练和后续目标任务之间的差距是一个重要的问题,也是一个值得继续研究的问题.

目前微调是GNN预训练模型的知识向下游任务迁移的主要方式,但其不足之处在于参数低效,每个下游任务都有自己的微调参数.目前工作还没用研究解决此问题,在自然语言处理领域一种改进的解决方案是固定预训练的原始参数,并为特定任务添加可微调的适配模块[74],因此可以使用一个共享的预训练模型来服务多个下游任务.所以怎么改进参数低效也是值得研究的方向,期望有更多有效的微调策略.

6.6 更广泛的应用

在大多数应用领域中,获取人工标签往往是昂贵的.在这种情况下,GNN预训练在许多应用领域中有着广阔的前景,特别是那些高度依赖专业知识来注释数据的应用.但目前大多数 GNN预训练模型的应用仅局限于推荐系统、生物化学等少数领域,这说明 GNN预训练在大多数应用领域还没有得到有效的开发,因此将 GNN预训练扩展到更广阔的应用领域将是很值得继续研究的方向.

7 结束语

在本文中,对图神经网络预训练模型进行了全面的阐述,包括背景知识、预训练任务、模型分析和相关应用.本文可以帮助相关研究者快速和较全面地了解图神经网络预训练的基本现状和研究进展,并对未来一段时间GNN预训练相关研究给出了参考方向.

猜你喜欢

训练任务掩码子图
关于2树子图的一些性质
青少年皮划艇运动员各年龄阶段的训练任务分析
低面积复杂度AES低熵掩码方案的研究
临界完全图Ramsey数
不含3K1和K1+C4为导出子图的图色数上界∗
分析青少年皮划艇运动员各年龄阶段的训练任务
基于布尔异或掩码转算术加法掩码的安全设计*
海军航母编队启航执行机动训练任务
辽宁舰开放,看什么
《计算机网络技术》的几个重点课题的教学分析