ICLR 2020 | 预训练图神经网络模型
原文:Strategies for Pre-training Graph neural networks
预训练是通过大量无标注的数据进行模型的训练,得到一套模型参数,利用这套参数对模型进行初始化,再根据具体任务在现有语言模型的基础上进行精调(MSRA)。预训练的方法在自然语言处理与计算机视觉领域,都被证明拥有更好的效果。不过,在图的表示学习领域,预训练仍然是一个具有挑战性的问题。本文提出了一个在多图分类任务上的图神经网络预训练模型,希望得到节点级别和图级别的高质量预训练参数,可以鲁棒的迁移到下游任务。
模型的预训练主要分为节点级预训练和图级别预训练两步。
在节点级上,预训练时分别考虑图的结构特征以及属性特征。在结构特征方面,文中将常见的“节点-邻居”模型扩展为“节点邻居子图+上下文子图”,用节点邻居子图与上下文子图的相似性衡量结构相似性,分别用图神经网络学习两个子图的特征。节点邻居子图和上下文子图之间的锚节点(“context anchor nodes”)体现了节点邻居子图和上下文子图之间的信息关联。在属性特征方面,利用”MASK-PREDICT”的方法,通过分别mask节点和边的属性来学习图的属性特征,这种方法可以是的帮助模型对 domain knowledge 的学习。
在图级别上,文中提出了 2 种与训练过方法。一种为在图级进行有监督的多任务学习(multi-task learning)。在该场景下一般要求预训练时的任务与实际的下游任务存在较好的关联性,才能取得较好的预训练效果。另一种方法为计算不同图的相似性(比如图的编辑距离或者图的结构相似性等)来进行训练,这种方法的难点在于如何合理地衡量两个图之间的相似性。文中采取的预训练方式为,先进行节点级的预训练,然后利用有监督的多任务学习进行图级别的预训练。作者认为,直接进行多任务图级别的预训练可能会造成 negative transfer。
实验结果:
作者在论文公布的数据集上用常见的图神经网络模型进行了实验。可以看出,pre-training 使得 GIN、GCN 和 GraphSAGE 的模型表现均取得了提升,GAT 的表现显著下降。作者认为,GIN 的表达力更强,在多数据和领域的 pre-training 上能够取得更好的提升。本文首次提出了大规模图神经网络预训练模型,对未来的相关研究具有参考意义。
近期精彩集锦(点击蓝色字体跳转阅读):