Jure Leskovec:图网络预训练的策略

Strategies for Pre-training Graph Neural Networks

https://arxiv.org/abs/1905.12265

spotlight  ICLR 2020

机器学习的许多应用需要一个模型来对分布上不同于训练样本的测试样本进行准确的预测,而在训练过程中任务特定的标签很少。解决这一难题的有效方法是,在数据丰富的相关任务上预先训练模型,然后在感兴趣的下游任务上对其进行微调。虽然预训练在许多语言和视觉领域都是有效的,但是如何在图形数据集上有效地使用预训练仍然是一个悬而未决的问题。本文提出了一种新的预训练图神经网络的策略和自监督方法。我们的策略成功的关键是,即在单个节点层次上,也在整个图的层次上,预训练一个有表示能力的GNN,以便GNN能够同时学习有用的局部和全局表示。系统地研究了多图分类数据集的预训练问题。我们发现,在整个图或单个节点的层次上预先训练GNNs的朴素策略,其改进有限,甚至会导致许多下游任务的负迁移。相比之下,我们的策略避免了负迁移,显著提高了下游任务的泛化能力,导致ROC-AUC比未经预训练的模型有9.4%的绝对改善,并实现了分子特性预测和蛋白质功能预测的最新性能。


迁移学习指的是一个模式,最初在一些任务上训练,然后在不同但相关的任务上重新设计。深度迁移学习在计算机视觉领域取得了巨大成功(Donahue等人,2014;Girshick等人,2014年;Zeiler&Fergus,2014)和自然语言处理(Devlin等人,2019;Peters等人,2018年;Mikolov等人,2013年)。尽管是一种有效的迁移学习方法,但很少有研究将预训练推广到图形数据。

通过对图形数据集的学习,预培训有可能为以下两个基本挑战提供一个有吸引力的解决方案(Pan&Yang,2009;Hendrycks等人,2019):首先,任务特定的标记数据可能非常稀少。这一问题在科学领域(如化学和生物学)的重要图形数据集中更加严重,其中数据标记(如湿实验室中的生物实验)是资源和时间密集型的(Ztinik等人,2018)。第二,来自真实应用程序的图形数据通常包含分布外样本,这意味着训练集中的图形在结构上与测试集中的图形非常不同。分布外预测在现实世界的图形数据集中很常见,例如,当人们想要预测一个全新的、刚刚合成的分子的化学性质时,它与迄今为止合成的所有分子都不同,因此与训练集中的所有分子都不同。

然而,图形数据集的预训练仍然是一项艰巨的挑战。几项关键研究(Xu等人,2017;Ching等人,2018年;Wang等人(2019年)已经表明,成功的迁移学习不仅仅是增加与下游任务来自同一领域的标记前训练数据集的数量。相反,它需要大量的领域专业知识来仔细选择与感兴趣的下游任务相关的示例和目标标签。否则,知识从相关的预训练任务转移到新的下游任务可能会损害泛化,这被称为负迁移(Rosenstein et al.,2005),并显著限制预训练模型的适用性和可靠性。

现在的工作。

在这里,我们将重点放在作为图神经网络(GNNs)转移学习方法的预训练上(Kipf&Welling,2017;汉密尔顿等人,2017a;Ying等人,2018b;徐等,2019;2018)用于图级属性预测。我们的工作有两个关键贡献(1) 我们进行了第一次系统的大规模调查的战略预训GNNs。为此,我们构建了两个新的大型预训练数据集,并与社区共享:一个包含200万个图形的化学数据集和一个包含395K个图形的生物数据集。我们还表明,大型领域特定数据集对于调查预训练至关重要,现有的下游基准数据集太小,无法以统计上可靠的方式评估模型(2) 我们提出了一种有效的GNNs预训练策略,并证明了该策略的有效性及其对硬迁移学习问题的非分布泛化能力。

在我们的系统研究中,我们发现训练前的GNNs并不总是有帮助的。不适用ïve预训练策略会导致许多下游任务的负迁移。引人注目的是,一个看似强大的预训练策略(即,图级多任务监督预训练,使用最先进的图级预测任务的图神经网络体系结构)只会带来边际性能增益。此外,这种策略甚至导致许多下游任务的负迁移(8个分子数据集中有2个,40个蛋白质预测任务中有13个)。

我们制定了一个有效的战略,为前培训GNNs。其关键思想是使用易于访问的节点级信息,并鼓励GNNs捕获有关节点和边的领域特定知识,以及图形级知识。这有助于GNN学习全局和局部级别的有用表示(图1(a.iii)),并且对于能够生成健壮且可转移到各种下游任务(图1)的图级表示(通过汇集节点表示获得)至关重要。我们的策略与na相反ï只利用图级属性(图1(a.ii))或节点级属性(图1(a.i))的ve策略。

根据经验,我们的预训练策略与最具表现力的GNN架构GIN(Xu et al.,2019)结合使用,在基准数据集上产生了最先进的结果,并避免了我们测试的下游任务之间的负迁移。它显著提高了下游任务的泛化性能,平均ROC-AUC比未经预训练的GNNs高9.4%,平均ROC-AUC比经过广泛图形级多任务监督预训练的GNNs高5.2%。此外,我们发现最具表现力的架构(GIN)比那些表现力较弱的架构(例如,GCN(Kipf&Welling,2017)、GraphSAGE(Hamilton et al.,2017b)和GAT(Velickovic et al.,2018))从前期培训中获益更多,而预训练GNNs会导致在微调阶段更快的训练和收敛。

图神经网络的2个预备知识

我们首先将图的监督学习形式化,并对GNNs进行了概述(Gilmer et al.,2017)。然后,我们简要回顾了无监督图表示学习的方法。

图的监督学习。

设G=(V,E)表示具有节点属性Xv的图∈ V和边属性euv for(u,V)∈ E。给定一组图{G1,GN}和它们的标签{y1,图监督学习的任务是学习一个表示向量hG,它有助于预测整个图G的标号yG=G(hG)。例如,在分子性质预测中,G是一个分子图,其中节点代表原子,边代表化学键,要预测的标签可以是毒性或酶结合。

图形神经网络。

GNNs利用图的连通性以及节点和边的特征来学习每个节点v的表示向量(即嵌入)∈ 和整个图的向量hG。现代GNN使用邻域聚合方法,其中通过聚合v的相邻节点和边的表示来迭代更新节点v的表示(Gilmer et al.,2017)。经过k次聚合迭代后,v的表示在k-hop网络邻域内捕获结构信息。形式上,GNN的第k层是:

其中h(k)v是节点v在第k次迭代/层上的表示,euv是u和v之间的边的特征向量,N(v)是v的一组邻居。我们初始化h(0)v=Xv。

图形表示学习。

为了获得整个图形的表示hG,读出函数汇集了来自最终迭代K的节点特征,

读出是置换不变函数,例如平均或更复杂的图级池函数(Ying等人,2018b;张等,2018)。

图神经网络预训练的3种策略

我们的预训练策略的技术核心是在单个节点和整个图的层次上预训练GNN的概念。这一概念鼓励GNN在两个级别捕获特定于领域的语义,如图1(a.iii)所示。这与直接但有限的预训练策略相反,这些策略要么仅使用预训练来预测整个图的属性(图1(a.ii)),要么仅使用预训练来预测单个节点的属性(图1(a.i))。

在下面,我们首先描述我们的节点级预训练方法(第3.1节),然后是图级预训练方法(第3.2节)。最后,我们将在第3.3节中描述完整的预培训策略。

3.1节点级预训

对于GNNs的节点级预训练,我们的方法是使用易于访问的未标记数据来捕获图中特定领域的知识/规则。本文提出了两种自监督方法:上下文预测和属性掩蔽

3.1.1上下文预测:利用图结构的分布

在上下文预测中,我们使用子图来预测其周围的图结构。我们的目标是对GNN进行预训练,以便它将出现在类似结构上下文中的节点映射到附近的嵌入(Rubenstein&Goodenough,1965;Mikolov等人,2013年)。

邻域图和上下文图。

对于每个节点v,我们定义v的邻域图和上下文图如下。v的K-hop邻域包含图中距离v最多K-hop的所有节点和边。这是因为K层GNN在v的K阶邻域上聚集信息,因此嵌入h(K)v的节点依赖于距离v最多K跳的节点。我们将节点v的上下文图定义为围绕其邻域的图结构。上下文图由两个超参数r1和r2描述,它表示距离v的r1跳和r2跳之间的子图(即,它是一个宽度为r2的环)− r1)。邻域图和上下文图的示例如图2(a)所示。我们要求r1<K,这样一些节点在邻域和上下文图之间共享,我们将这些节点称为上下文锚节点。这些锚节点提供关于邻域图和上下文图如何相互连接的信息。

使用辅助GNN将上下文编码为固定向量。

由于图的组合性质,直接预测上下文图是很困难的。这与自然语言处理不同,在自然语言处理中,单词来自固定且有限的词汇表。为了实现上下文预测,我们将上下文图编码为固定长度的向量。为此,我们使用一个辅助GNN,我们称之为context GNN。如图2(a)所示,我们首先应用上下文GNN(在图2(a)中表示为GNN0)来获得上下文图中的节点嵌入。然后对上下文锚节点的嵌入进行平均,得到一个固定长度的上下文嵌入。对于图G中的节点v,我们将其相应的上下文嵌入表示为cgv。

通过负采样学习。

然后我们使用负采样(Mikolov等人,2013;Ying等人,2018a)共同学习主GNN和上下文GNN。主GNN编码邻域以获得节点嵌入。context GNN对上下文图进行编码以获得上下文嵌入。具体而言,上下文预测的学习目标是特定邻域和特定上下文图是否属于同一节点的二元分类:

哪里σ(·) 是S形函数,1(·)是指示函数。我们要么让v0=v和G0=G(即,正邻域上下文对),要么从随机选择的图G0(即,负邻域上下文对)中随机抽样v0。我们使用1的负采样率(每一个正对一个负对),并使用负对数似然作为损失函数。经过预训练后,主GNN被保留为我们的预训练模型

3.1.2属性掩蔽:利用图形属性的分布

在属性掩蔽中,我们的目标是通过学习分布在图结构上的节点/边属性的规律来获取领域知识。

遮罩节点和边属性。

属性掩蔽预训练工作如下:我们掩蔽节点/边缘属性,然后让GNNs基于相邻结构预测这些属性(Devlin等人,2019)。图2(b)说明了我们提出的方法应用于分子图时的情况。具体来说,我们随机屏蔽输入节点/边属性,例如分子图中的原子类型,方法是用特殊的屏蔽指示符替换它们。然后,我们应用GNNs来获得相应的节点/边嵌入(边嵌入可以作为边的末端节点的节点嵌入的总和来获得)。最后,在嵌入的基础上应用一个线性模型来预测一个隐藏的节点/边属性。与Devlin et al.(2019)对句子进行操作并将消息传递应用于令牌的完全连通图不同,我们对非完全连通图进行操作,旨在捕捉分布在不同图结构上的节点/边属性的规律。此外,我们允许掩蔽边缘属性,而不仅仅是掩蔽节点属性。

我们的节点和边属性掩蔽方法对于来自科学领域的有丰富注释的图特别有用。例如,(1)在分子图中,节点属性对应于原子类型,捕获它们在图上的分布方式使GNNs能够学习简单的化学规则,例如价态,以及潜在的更复杂的化学现象,例如官能团的电子或空间位阻性质。类似地,(2)在蛋白质-蛋白质相互作用(PPI)图中,边缘属性对应于一对蛋白质之间不同类型的相互作用。通过捕捉这些属性在PPI图中的分布,GNNs可以了解不同的交互是如何相互关联的。

3.2图形级预培训

我们的目标是预先训练GNNs生成有用的图嵌入,这些图嵌入由第3.1节中的方法获得的有意义的节点嵌入组成。我们的目标是确保节点和图的嵌入都是高质量的,以便图的嵌入是健壮的,并且可以在下游任务之间转移,如图1(a.iii)所示。此外,图级预训练有两个选项,如图1(b)所示:对整个图的特定领域属性(例如,监督标签)进行预测,或对图结构进行预测。

3.2.1有监督图级性能预测

由于图级表示hG直接用于下游预测任务的微调,因此需要将特定领域的信息直接编码到hG中。

通过定义有监督的图级预测任务,我们将图级领域特定的知识注入到预训练的嵌入中。特别地,我们考虑了一种预训练图表示的实用方法:图级多任务有监督预训练来联合预测单个图的一组不同的有监督标签。例如,在分子性质预测中,我们可以预先训练GNNs来预测到目前为止实验测量的分子的所有性质。在蛋白质功能预测中,目标是预测一个给定的蛋白质是否具有给定的功能,我们可以预先训练GNNs来预测到目前为止已经被证实的各种蛋白质功能的存在。在第5节的实验中,我们准备了一组不同的监督任务(最多5000个任务)来模拟这些实际场景。第5.1节描述了受监督任务和数据集的更多细节。为了联合预测多个图属性,其中每个属性对应一个二值分类任务,我们在图表示的基础上应用线性分类器。

重要的是,娜ï如第5节中的经验所示,单独进行广泛的多任务图级预训练可能无法给出可转移的图级表示。这是因为一些受监督的预训练任务可能与感兴趣的下游任务无关,甚至可能损害下游性能(负迁移)。一种解决办法是选择“真正相关的”有监督的训练前任务,只对这些任务进行训练前GNN训练。然而,这样的解决方案成本极高,因为选择相关任务需要大量的领域专业知识,并且需要针对不同的下游任务分别进行预培训。

为了缓解这个问题,我们的关键是多任务监督预训练只提供图级监督;因此,创建图级嵌入的本地节点嵌入可能没有意义,如图1(a.ii)所示。这种非有用的节点嵌入会加剧负迁移问题,因为在节点嵌入空间中,许多不同的预训练任务更容易相互干扰。基于此,我们的预训练策略是在执行图级预训练之前,首先通过第3.1节中描述的节点级预训练方法在单个节点的水平上正则化GNNs。我们的经验证明,这种组合策略可以产生更多的可转换图表示,并且在没有专家选择有监督的预训练任务的情况下,能够显著提高下游性能。

3.2.2结构相似性预测

第二种方法是定义一个图级预测任务,目标是对两个图的结构相似性进行建模。此类任务的示例包括建模图形编辑距离(Bai et al.,2019)或预测图形结构相似性(Navarin et al.,2018)。然而,找到地面真值图距离值是一个困难的问题,并且在大数据集中有一个二次数的图对要考虑。因此,虽然这种类型的预培训也是很自然的,但它超出了本文的范围,我们将其研究留给今后的工作。

3.3概述:GNNS预培训和下游任务微调

总之,我们的预训练策略是先进行节点级自监督预训练(第3.1节),然后进行图级多任务监督预训练(第3.2节)。当GNN预训练完成后,我们对下游任务的预训练GNN模型进行微调。具体来说,我们在图级表示的基础上添加线性分类器来预测下游图标签。整个模型,即预先训练的GNN和下游线性分类器,随后以端到端的方式进行微调。时间复杂度分析在附录F中给出,我们的预训练方法在GNNs中产生的前向计算开销很小。

4进一步的相关工作

关于图中单个节点的无监督表示学习的文献很多,一般分为两类。第一类是使用基于局部随机游走的目标的方法(Grover&Leskovec,2016;Perozzi等人,2014年;Tang等人,2015)和重建图的邻接矩阵的方法,例如,通过预测边的存在(Hamilton等人,2017a;Kipf&Welling,2016年)。第二类是方法,比如Deep Graph Infomax(Velickovi)ˇ c´ 等人,2019年),训练一个最大化局部节点表示和集合全局图表示之间互信息的节点编码器。所有这些方法都鼓励附近的节点具有相似的嵌入,并且最初是针对节点分类和链路预测提出和评估的。然而,这对于图级预测任务来说可能是次优的,在图级预测任务中,捕捉局部邻域的结构相似性通常比捕捉图中节点的位置信息更重要(You等人,2019;罗杰斯和哈恩,2010;Yang等人,2014年)。因此,我们的方法既考虑了节点级的预训练任务,也考虑了图级的预训练任务,并且正如我们在实验中所显示的,为了使预训练模型获得良好的性能,必须同时使用这两种类型的任务。

最近的一些工作也探讨了节点嵌入如何在任务间泛化(Jaeger et al.,2018;周等,2018;查克拉瓦蒂,2018年;Narayanan等人,2016)。然而,所有这些方法都对不同的子结构使用不同的节点嵌入,并且不共享任何参数。因此,它们本质上是跨传的,不能在数据集之间传输,不能以端到端的方式进行微调,并且由于数据稀疏性,不能捕获大型和多样的社区/上下文。我们的方法通过开发GNNs的预训练方法来解决所有这些挑战,这些方法使用共享参数来编码图级以及节点级的依赖关系和结构。

5个实验

5.1数据集

我们考虑两个领域;化学中的分子性质预测和生物学中的蛋白质功能预测。我们将在以下位置发布新的数据集:http://snap.stanford.edu/gnn-pretrain.

训练前数据集。

对于化学领域,我们使用从ZINC15数据库(Sterling&amp;Irwin,2015)中取样的200万个未标记分子进行节点级自我监督预训练。对于图级多任务监督预训练,我们使用预处理的ChEMBL数据集(Mayr et al.,2018;Gaulton等人,2011),包含456K分子,具有1310种多样性和广泛的生化分析。对于生物学领域,我们使用来自50个物种(例如人类、酵母、斑马鱼)的PPI网络的395K未标记蛋白质ego网络进行节点级自我监督预训练。对于图级多任务有监督预训练,我们使用88K标记的蛋白质ego网络来联合预测5000个粗粒度的生物功能(如细胞凋亡、细胞增殖)。

下游分类数据集。

对于化学领域,我们考虑了经典图分类基准(MUTAG、PTC分子数据集)(Kersting等人,2016;Xu et al.,2019)作为我们的下游任务,但发现它们太小(MUTAG和PTC的188和344个示例),无法以统计意义的方式评估不同的方法(结果和讨论见附录B)。因此,作为我们的下游任务,我们决定使用MoleculeNet(Wu et al.,2018)中包含的8个较大的二元分类数据集,MoleculeNet是最近策划的分子性质预测基准。数据集统计数据总结在表1中。对于生物学领域,我们由Zitnik等人(2019)组成PPI网络,由8个不同物种的88K蛋白质组成,其中以感兴趣的蛋白质(即ego网络)为中心的子图用于预测其生物功能。我们的下游任务是预测40个与40个二元分类任务相对应的细粒度生物功能1。与现有的PPI数据集(Hamilton et al.,2017a)相比,我们的数据集更大,并且跨越多个物种(即不仅仅是人类),这使得它成为评估分布外预测的合适基准。关于分子/PPI图的数据集和特征的更多细节见附录C和D。

数据集拆分。

在许多应用中,传统的随机拆分过于乐观,无法模拟真实世界的用例,测试图在结构上可能不同于训练图(Wu et al.,2018;Zitnik等人,2019年)。为了反映实际的用例,我们采用以下方法对下游数据进行分割,以评估模型的分布外泛化。在化学领域,我们使用支架拆分(Ramsndar et al.,2019),我们根据分子的支架(分子亚结构)拆分分子。在生物学领域,我们使用物种分裂,从新物种中预测蛋白质的功能。详情见附录E。此外,为了防止数据泄漏,所有用于性能评估的测试图都从图级监督预训练数据集中移除。

5.2实验装置

我们将我们的训练前策略与两个na进行了彻底的比较ïve基线策略:(i)相关图级任务的广泛监督多任务预训练,以及(ii)节点级自我监督预训练。

GNN架构。

我们主要研究图同构网络(GINs)(Xu等人,2019),这是用于图级预测任务的最具表现力和最先进的GNN架构。我们还尝试了其他表现力较差的流行架构:GCN(Kipf&amp;Welling,2016)、GAT(Velickovi)ˇ c等人,2019)和GraphSAGE(平均邻域聚合)(汉密尔顿´ 等人,2017b)。我们在验证集中选择了以下在所有下游任务中表现良好的超参数:300维隐藏单元、5个GNN层(K=5)和读出函数的平均池。更多细节见附录A。

培训前。

对于图2(a)所示的上下文预测,在分子图上,我们通过设置内半径r1=4来定义上下文图。在直径通常小于5的PPI网络上,我们使用r1=1,尽管邻域子图和上下文子图之间有很大的重叠,但根据经验,r1=1工作得很好。对于分子图和PPI图,我们让外半径r2=r1+3,并使用3层GNN来编码上下文结构。对于图2(b)所示的属性掩蔽,我们随机掩蔽15%的节点(对于分子图)或边缘属性(对于PPI网络)进行预测。作为节点级自监督预训练的基线,我们采用了原始边缘预测(用EdgePred表示)(Hamilton等人,2017a)和深图Infomax(用Infomax表示)(Velickovi)ˇ c等人,2019)实施。更多细节见附录G。´

5.3结果

我们在表2和表1以及图3中报告了分子性质预测和蛋白质功能预测的结果。我们的系统研究表明以下趋势:

观察(1):

表2显示了最具表现力的GNN体系结构(GIN)在经过预训练后,可以在域和数据集之间获得最佳性能。与GIN架构实现的预训练增益相比,使用表达能力较弱的GNNs(GCN、GraphSAGE和GAT)进行预训练的增益较小,有时甚至可能为负(表2)。这一发现证实了先前的观察结果(例如,Erhan等人(2010)),即使用表达模型对于充分利用预训练至关重要,并且当在表达能力有限的模型(如GCN、GraphSAGE和GAT)上使用时,预训练甚至会损害表现。

观察(2):

从表1的阴影单元格和图3中间面板中突出显示的区域可以看出,对GNNs执行广泛的图形级多任务监督预训练的强基线策略的性能增益惊人地有限,并在许多下游任务上产生负迁移(分子预测中8个数据集中的2个,蛋白质功能预测40项任务中的13项)。

观察(3):

从表1的上半部分和图3的左面板中,我们可以看到另一个只执行节点级自监督预训练的基线策略,其性能改进也有限,与图级多任务监督预训练基线相当。

观察(4):

从表1的下半部分和图3的右面板可以看出,我们将图级多任务监督和节点级自监督预训练相结合的预训练策略避免了跨下游数据集的负迁移,并获得了最佳性能。

观察(5):

此外,从表1和图3的左面板可以看出,我们的策略比两种基线预训练策略以及非预训练模型具有更好的预测性能,实现了最先进的性能。

具体而言,在化学数据集中,我们从表1中看到,我们的上下文预测+图形级多任务监督预训练策略提供了最有希望的性能,导致平均ROC-AUC比非预训练基线增加7.2%,比图形级多任务监督预训练基线增加4.2%。在HIV数据集上,最近的一些作品(Wu等人,2018;李等,2017;Ishiguro等人,2019)报告了在同一支架上的性能,使用相同的协议,我们最好的预训练模型(ContextPred+监督)实现了最先进的性能。特别是,我们获得了79.9%的ROC-AUC分数,而Wu等人(2018)、Li等人(2017)和Ishiguro等人(2019)中表现最好的图形模型的ROC-AUC分数分别为76.3%、77.6%和76.2%。

此外,在我们在这项工作中构建的生物学数据集中,我们从图3的左面板中看到,与其他基线策略相比,我们的属性掩蔽+图级多任务监督预训练策略在几乎所有40个下游预测任务(图3的右面板)中实现了最佳的预测性能。平均而言,我们的策略使ROC-AUC比非预训练基线提高了9.4%,比图形级多任务监督预训练基线提高了5.2%,再次达到了最先进的性能。

观察(6):

在化学领域,我们还报告了附录B中经典基准(MUTAG、PTC分子数据集)的性能。然而,如第5.1节所述,数据集规模极小,使得这些基准不适合以统计上可靠的方式比较不同的方法。

观察(7):

除了预测性能改进之外,图4显示,我们预先训练的模型比未预先训练的模型实现了数量级更快的训练和验证收敛。例如,在MUV数据集上,非预先训练的GNN需要1小时才能获得74.9%的ROC-AUC验证,而我们预先训练的GNN只需要5分钟就能获得85.3%的ROC-AUC验证。我们使用的下游数据集也有同样的趋势,如附录I中的图5所示。我们强调,前期培训是一次性的。一旦对模型进行了预训练,它就可以用于任何数量的下游任务,以在很少的训练时间内提高性能。

最后,在我们的初步实验中,我们同时进行了属性掩蔽和上下文预测来预训练GNNs。在我们的实验中,这种方法并没有提高性能。我们对该方法作了透彻的分析,以供今后的工作参考。

6结论和今后的工作

我们开发了一种新的GNNs预训练策略。我们的策略成功的关键是将节点级和图级的预训练与表达性GNN结合起来考虑。这确保了节点嵌入捕获本地邻域语义,这些语义汇集在一起以获得有意义的图级表示,这些表示反过来又用于下游任务。在多个数据集、不同的下游任务和不同的GNN结构上的实验表明,新的预训练策略比未经预训练的模型具有更好的分布外泛化效果。

我们的工作为图形迁移学习迈出了重要的一步,解决了以往研究中观察到的负迁移问题。今后的工作有许多有趣的途径。例如,通过改进GNN架构以及预训练和微调方法来进一步提高泛化能力是一个富有成效的方向。调查预先训练的模型所学到的知识也有助于科学发现(Tshitoyan等人,2019年)。最后,将我们的方法应用到其他领域,例如物理学、材料科学和结构生物学,其中许多问题是通过表示原子、粒子和氨基酸相互作用的图来定义的,这将是很有趣的。

A

GNN架构的详细信息

在这里,我们描述GNN架构用于我们的分子性质和蛋白质功能预测实验。对于这两个域,我们使用GIN架构(Xu et al.,2019),并进行了一些小的修改,以包括边缘特征以及蛋白质网络中的中心节点信息。

由于我们的主要目标是系统地比较我们的预训练策略和强基线策略,因此我们在实验中修正了所有这些超参数,并关注由预训练策略的差异直接导致的相对改善。

分子性质预测。

在分子性质预测中,原始节点特征和边缘特征都是二维分类向量(详见附录C),分别表示为节点v和边缘e的(iv,1,iv,2)和(je,1,je,2)。请注意,我们还引入了独特的类别来表示遮罩的节点/边以及自循环边。作为GNNs的输入特征,我们首先嵌入分类向量,其中EmbNode1(·)、EmbNode2(·)、EmbEdge(k)1(·)和EmbNode(k)1(·)表示将整数索引映射到d维实向量的嵌入操作,k表示GNN层的索引。在第k层,GNNs通过

其中N(v)是与v相邻的一组节点,e=(v,v)表示自循环边。注意,对于最后一层,即k=k,我们从公式(A.1)中删除了ReLU,因此h(k)v可以取负值。这对于基于点积的预训练方法至关重要,例如上下文预测和边缘预测,否则,两个向量之间的点积总是正的。

图级表示hG是通过平均最后一层的节点嵌入得到的,即:。,

利用hG上的线性模型进行标签预测。

在我们的实验中,我们将嵌入维数d设置为300。对于等式(A.1)中的MLPs,我们使用600个隐藏单元的ReLU激活。我们在公式(A.1)中的ReLU之前应用批量归一化(Ioffe&Szegedy,2015),并在除输入层以外的所有层对h(k)v应用衰减(Srivastava et al.,2014)。

蛋白质功能预测。

用于蛋白质功能预测的GNN结构与用于分子性质预测的GNN结构相似,只是存在一些差异。首先,原始输入节点特征是一致的(这里用X表示),其次,原始输入边特征是二进制向量(详见附录D),我们用ce表示∈ {0,1}d0。作为GNNs的输入特征,我们首先通过

其中W∈ 研发×d0和b∈ rd是可学习的参数,h(0)v,h(k)e∈ 研发。在每一层,GNNs通过

其中CONCAT(·,·)将两个向量作为输入并将它们串联起来。由于下游任务是ego网络分类,所以我们在嵌入整个ego网络的同时,使用了中心节点vcenter的嵌入。更具体地说,我们通过hG获得图级表示

其他GNN架构。

对于GCN、GraphSAGE和GAT,我们采用Pytorch几何库(Fey&Lenssen,2019)中的实现,其中我们将GAT注意头的数量设置为2。节点嵌入的维度以及GNN层的数量与GIN保持相同。这些模型最初并不处理边缘特征。我们在这些模型中加入了边缘特征,就像我们在轧棉机上所做的那样;我们在节点嵌入中加入边嵌入,并对得到的节点嵌入执行GNN消息传递。

B

经典图分类基准实验

在表3中,我们报告了我们对常用经典图分类基准的实验(Kersting等人,2016)。在Xu等人(2019)使用的数据集中,MUTAG、PTC和NCI1是用于二元分类的分子数据集。在这三个数据集中,我们排除了NCI1数据集,因为它遗漏了边缘信息(即键类型),因此,我们无法恢复原始的分子信息,这是构建附录C中描述的输入表示所必需的。为了公平比较,我们使用了与Xu等人(2019)完全相同的评估方案,即报告10倍交叉验证准确率。我们实验中的所有超参数在主实验中保持不变,只是在微调阶段我们额外调整了从{0,0.2,0.5}的退出率和从{8,64}的批大小。

虽然预先训练好的GNNs(特别是具有上下文预测的GNNs)具有良好的性能,但是所有的精度(包括以前的所有方法)都在一个标准差之内,因此很难可靠地比较不同的方法。正如Xu et al.(2019)所指出的,这是由于数据集非常小;每个折叠处的验证集仅包含MUTAG和PTC的19到35个分子。鉴于这些结果,我们认为有必要使用更大的数据集进行可靠的比较,因此我们在本研究中主要关注分子网(Wu et al.,2018)。

C

分子数据集的细节

输入图形表示法。

为了简单起见,我们使用了一组最小的节点和键特征来明确描述分子的二维结构。我们使用RDKit(Landrum等人)获得这些特征。

•节点特征:–原子数:[1,118]–手性标记:{未指定,四面体顺时针,四面体逆时针,其他}•边缘特征:–键类型:{单,双,三,芳香}–键方向:{–,endupright,enddownright}

下游任务数据集。

Moleculenet(Wu等人)的8个二进制图分类数据集用于评估模型性能。

•BBBP公司。血脑屏障渗透(膜通透性)(Martins等人,2012年)。

•毒性21。12个生物靶点的毒性数据,包括核受体和应激反应途径(Tox21)。

•毒物投射。基于600多次体外高通量筛选的毒理学测量(Richard等人,2016)。

•侧边。上市药物和药物不良反应(ADR)数据库,分为27个系统器官类别(Kuhn et al.,2015)。

•临床试验。定性数据对FDA批准的药物和因毒性原因未通过临床试验的药物进行分类(Novick等人,2013;AACT)。

•MUV。PubChem生物测定的子集,通过应用改进的最近邻分析,设计用于验证虚拟筛选技术(Gardiner等人,2011)。

•艾滋病毒。实验测量了抑制HIV复制的能力(?)。

•BACE公司。一组人类免疫抑制剂的定性结合结果β-分泌酶1(Subramanian等人,2016)。蛋白质数据集的详细信息

输入图形表示法。蛋白质子图只有边特征。

•边缘特征:

–邻域:{True,False}–融合:{True,False}–共现:{True,False}–共表达:{True,False}–实验:{True,False}–数据库:{True,False}–文本:{True,False}

这些边缘特征表明一对蛋白质之间是否存在特定类型的关系:

•邻域:如果一对基因在彼此的基因组邻域中被一致地观察到•融合:如果一对蛋白质将其各自的同源基因融合到另一生物体中的单个蛋白质编码基因•共现:如果一对蛋白质倾向于在同一生物体子集中观察到存在或不存在•共表达:如果一对蛋白质具有相似的表达模式

•实验:如果在实验中观察到一对蛋白质在物理上相互作用•数据库:如果一对蛋白质属于同一途径,根据人类馆长的评估•文本挖掘:如果一对蛋白质在PubMed摘要中一起提及

数据集。

使用了包含50个物种蛋白质子图的数据集(Ztinik等人,2019)。原始的PPI网络没有节点属性,但是包含与7种不同类型的蛋白质-蛋白质关系的置信度相对应的边缘属性。边权重的范围从0(表示没有特定关系的证据)到1000(表示置信度最高)。对PPI网络的加权边缘进行阈值化,使得50个PPI网络的边缘类型分布均匀。然后,对于PPI网络中的每个节点,通过以下方法生成以每个节点为中心的子图:(1)执行广度优先搜索以选择子图节点,搜索深度限制为2,每个节点随机扩展的最大邻居数为10,(2)包括选定的子图节点和这些节点之间的所有边,以形成结果子图。

整个数据集包含来自50个物种的394925个蛋白质子图。在这50个物种中,有8个物种(拟南芥、芹菜属、ecoli、苍蝇、人类、小鼠、酵母、斑马鱼)具有GO蛋白注释。该数据集包含来自这8个物种的88000个蛋白质子图,其中57448个蛋白质具有至少一个正粗粒度GO蛋白注释,22876个蛋白质具有至少一个正细粒度GO蛋白注释。对于自监督预训练数据集,我们使用了所有394925个蛋白质子图。

我们将细粒度蛋白质功能定义为基因本体论(GO)注释,即GO层次中的叶子,并将粗粒度蛋白质功能定义为GO注释,即叶子的直接亲本(Ashburner et al.,2000;联合体,2018年)。例如,细粒度的蛋白质功能是“因子XII激活”,而粗粒度的功能是“蛋白质的正调控”。前者是后者的一种特殊类型,更难从实验中推导出来。GO层次结构信息是使用GOATOOLS获得的(Klopfenstein等人,2018)。监督预训练数据集和下游评估数据集来自8个标记物种,如附录E所述。第40个最常见的细粒度蛋白质标签只有121个正注释蛋白质,而第40个最常见的粗粒度蛋白质标签有9386个正注释蛋白质。这说明了我们下游任务的极度匮乏。

对于有监督的预训练,我们将前面描述的训练集、验证集和先验集与5000个最常见的粗粒度蛋白质功能注释结合起来作为二进制标签。对于我们的下游任务,我们预测了40个最常见的细粒度蛋白质功能注释,以确保每个蛋白质功能在我们的测试集中至少有10个阳性标签。

E数据集拆分的详细信息

对于分子预测任务,遵循Ramsundar等人(2019),我们通过支架(分子图子结构)(Bemis和Murcko,1996)对分子进行聚类,并通过在训练集中放置最常见的支架来重组聚类,产生包含结构不同分子的验证和测试集。先前的研究表明,与随机拆分相比,这种支架拆分在前瞻性评估中提供了更现实的模型性能估计(Chen等人,2012;谢里丹。列车/验证/测试集的分割为80%:10%:10%。

在PPI网络中,物种分裂模拟了这样一种情况:我们对感兴趣的物种(我们的实验中的人类)中的蛋白质子集(先验集)只有高水平的粗粒度知识,并希望预测该物种中其他蛋白质的细粒度生物功能(测试集)。对于物种分裂,我们使用50%的人类蛋白质子图作为测试集,50%作为只包含粗粒度蛋白质注释的先验集。来自其他7个标记物种(拟南芥、芹菜属、ecoli、苍蝇、小鼠、酵母、斑马鱼)的蛋白质子图被用作训练集和验证集,分为85%:15%。列车/验证/先前/测试集的有效分割率为69%:12%:9.5%:9.5%。

F培训前的时间复杂性

本文分析了在属性掩蔽和上下文预测中处理图的时间复杂度。首先,属性掩蔽的时间复杂度与边/节点数呈线性关系,因为它只涉及要掩蔽的采样节点/边。第二,上下文预测的时间复杂度与边/节点的数目同样是线性的,因为它涉及对每个图的中心节点进行采样,再加上提取K-hop邻域和上下文图。邻域/上下文图的提取是通过广度优先搜索进行的,该搜索相对于图中的边数最多需要线性时间。总之,我们的两种预训练方法的时间复杂度与边缘数最多是线性的,这与GNNs中的消息传递计算一样有效,因此与使用GNNs的普通有监督学习一样有效。此外,在动态转换数据时(例如,屏蔽输入节点/边特征,对上下文图进行采样),几乎没有内存开销。

实验装置的进一步细节

优化。

所有模型均采用Adam optimizer(Kingma&amp;Ba,2015)进行训练,学习率为0.001。我们使用Pytork(Paszke et al.,2017)和Pytork Geometric(Fey&amp;Lenssen,2019)进行所有实施。我们在100个时代里运行所有的预训练方法。对于自监督预训练,我们使用256的批大小,而对于监督预训练,我们使用32的批大小,辍学率为20%。

微调。

在预训练之后,我们按照第3.3节中的步骤对下游数据集的训练集上的模型进行微调。我们使用的批量大小为32,退出率为50%。具有多个预测任务的数据集是联合拟合的。在分子性质预测数据集上,我们训练了100个时期的模型,而在蛋白质功能预测数据集(有40个二元预测任务)上,我们训练了50个时期的模型。

评价。

我们使用ROC-AUC(Bradley,1997)和验证早期停止协议评估下游任务的测试性能,即报告在最佳验证期测试ROC-AUC。对于具有多个预测任务的数据集,我们取其所有任务的平均ROC-AUC。下游实验用10个随机种子进行,我们报告平均ROC-AUC和标准差。

训练前的计算时间。

我们预培训的两个阶段的计算时间报告如下。化学:自我监督的预训练大约需要24小时,而监督的预训练大约需要11小时。生物学:自我监督预训练约需3.8小时,监督预训练约需2.5小时。

H不同GNN结构的预训练比较表4显示了化学数据集上不同GNN结构的详细比较。我们看到,与其他表现力较弱的模型相比,最具表现力的GIN体系结构从预训练中受益最大。

额外的培训和验证曲线

培训和验证曲线。

在图5中,我们绘制了用于分子性质预测实验的所有数据集的训练和验证曲线。ROC AUC的其他散点图比较。

在图6中,我们将上下文预测+图级监督预训练与非预训练模型和图级监督预训练模型进行了比较。从左图中我们可以看到,组合策略再次完全避免了所有40个下游任务的负迁移。此外,我们从右图中可以看出,在40个下游任务中,添加节点级上下文预测预训练几乎总能提高有监督预训练模型的ROC-AUC分数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容