孙逸飞,浙江大学博士生
近来,预训练和微调图神经网络的范式已被深入研究并应用于广泛的图挖掘任务。它的成功通常归因于预训练和下游图数据之间的结构一致性,然而,这在许多现实场景中并不成立。现有的工作表明,预训练图和下游图之间的结构差异极大地限制了使用普通微调策略时的效果,这种结构差异加剧了由于模型在预训练图数据上过度拟合而难以适应数据量小的下游图数据的结构特性。在本文中,我们将这一结构差异的根本原因确定为预训练图数据和下游图数据之间生成模式的差异。此外,我们提出G-Tuning用于在精调过程中保留下游图的生成模式。给定下游图G,其核心思想是调整预训练的GNN,以便它可以重建图G的生成模式,即Graphon W。然而,众所周知,Graphon精确重建的成本极高。为了克服这一挑战,我们通过理论推导得出,任何给定的Graphon都可以被一组称为Graphon Bases的Graphon组合而成,因而可以通过基于最优传输的损失函数,有效学出Graphon Bases的线性组合来重建W。另外,我们还通过理论说明了G-Tuning在精调过程中可以很好地保留与下游任务效果相关的关键子图。与现有算法相比,G-Tuning在域内和域外迁移学习实验的效果表现上分别平均提高了0.5%和2.6%。
论文链接:
https://arxiv.org/pdf/2312.13583.pdf
Background
万物皆是图数据。图神经网络(
GNN
)是一种强大的机器学习模型,它能够处理结构化数据。在过去的几年里,
GNN
在各个领域都实现了革命性的应用,包括社交网络、知识图谱、
COVID
图、互联网和经济网络等。通过将图数据转化为可解释和可操作的知识,
GNN
可以帮助我们更好地理解和应对现实世界中的挑战。
Motivation
为了避免重复地为各种图数据设计一套相应的模型以降低成本,预训练和微调的范式就应运而生,广大研究者希望通过预训练中的自监督任务,学习到预训练语料中的共同特性,并将所学知识应用到各种各样的下游数据和任务中。下图展示了这样一种范式,但是可以在很多情况下,上下游图数据或任务之间存在一定差异,这些差异可能会导致精调效果不好。
本工作通过观察实验发现,现有的预训练模型在下游任务上取得了差强人意的效果,是因为预训练数据和下游数据之间存在较大的结构差异。因此希望通过一种模型或算法可以弥合这一差异,从而让预训练图模型发挥更好的效果。
为了解决这个问题,作者提出先定量描述这种图结构差异,从而在精调过程中让预训练模型保留更多下游数据的图结构信息。通过这种方式,可以提高迁移学习的性能,使模型更好地适应新的数据环境。
Observations
作者试图通过一些观察找到能够衡量图结构差异的图结构信息描述方法。首先,通过统计一些指标来尝试找到由于上下游结构差异导致效果不好的本质原因。左侧的热图显示了
“
上下游图结构在某一层面上的差异程度
”
与
“
精调效果相比无预训练的监督学习效果提成的程度
”
之间的关系。同一行表示同一下游数据,不同列表示不同预训练数据与下游数据在某一指标上的差异。每个格子代表皮尔森相关系数,系数是前面双引号中两者的相关性系数。具体可以看其中一个蓝色框柱的格子,从其所在行可以看出下游数据是
Cornell
,从所在列可以看出是在衡量上下游数据之间
Graphon
的差异;把计算相关性系数的所有数据点画出来就是右图,右图中纵轴代表着不同的预训练数据对相同的下游数据相比于不预训练所带来的性能提升,横轴代表着不同预训练数据与相同的下游数据之间
Graphon
的差异;这个拟合的直线的斜率和左图中的相关性系数相同。
通过分析可知,相关性系数或是斜率为负代表上下游数据在某层面差异越大,给下游任务带来的提升性能越少。在所有指标中,只有
Graphon
(即
Generative Patterns
)在各种下游数据中(左图)都保持着负相关的情况,而其他指标则是有正有负。因此,作者认为其最初探寻的描述上下游差异本质即为
graphon
差异。
Graphon
Graphon
即
“graph function”
的缩写,代表着一个概率密度函数,输入是二元输入,输入和输出范围都在
0-1
之间,意味着两个节点信号之间是否成
“
边
”
的概率。如下图所示,如果给左上角的图中不断地按照当前结构模式来添加节点,中间所示的邻接矩阵的锯齿状的轮廓会逐渐变得平滑。当节点增加到无限多的时候,类似于描述
“
极限情况
”
,邻接矩阵变为最右侧的图的样子。由于
Graphon
没有
closed form
,也即无法在计算机中用这种
function
的方式来存储,所以一般情况下都利用矩阵存储
Graphon
。
Preserve Generative Patterns
Graphon
能够表达
Generative Patterns
(上文提到的图生成模式),并且作者希望在微调的过程中能够保存这种生成模式。由于上游和下游可能存在较大结构差异,如果在微调的过程中,可以很好地保留下游的
Generative Patterns
或者下游的结构特性,那就有可能取得较好的效果。
具体来说,作者提出在精调中加一个辅助的重建损失,让下游得到的
embedding
能够重建下游图数据本身的
Graphon
,这就代表下游在微调的过程中让预训练模型学习到了下游数据的
Generative Patterns
。但是要想完整地学习到
Graphon
所具备的参数量较多且语义信息复杂等特点,作者希望通过设计一种高效的方法来重建。
Theoretical Derivation
在文中,作者给出了详细的理论推导,基于泰勒展开式得到结论:任何一个
Graphon
都可以被重建为一系列
Graphon
的线性组合,这些
Graphon
被称为
Graphon Bases
。最后的余项可以忽略不计。这些
Graphon Bases
可以理解为捕捉了更细致、更单一的图结构特征,将这些更单一的
Bases
组合起来就得到了完整的、更复杂的
Graphon
。
G-Tuning
基于前面的结论,既然
W
可以被展开,所以作者考虑,在重建的时候尝试学习这种线性组合中的
Bases
和其对应的线性组合权重。由于这些
Bases
应该包含的信息是原图中更单一的结构特性,因此作者通过从原图中采样一部分子图来初始化这些
Bases
,且这些
Bases
和其对应权重都是可学习的,通过
loss
函数的优化使得模型重建更加准确。
这样就很容易分析整个模型的过程,下游的数据经过预训练模型,得到每个节点的
embedding
,再经过
Graphon Encoder
的编码得到图级别的信息,也即
Bases
的系数,(即前面所提及的泰勒展开式的系数)。
Bases
一方面是可学的,另一方面它的初始化与下游图结构有着密切关系。先从下游图结构中提取一部分信息初始化,在这过程中不断更新
Bases
,并将系数与
Bases
线性组合,就可以得到重建的
Graphon
,再与原始下游图数据直接得到的
Oracle Graphon
(
Graphon
的
groud truth
)计算
GW-loss
。其中,从下游图数据得到
Oracle Graphon
这一过程已有很多工作使用。通过这样的一个分支,可以让预训练模型在原本下游任务上微调的过程中,仍然能够保留下游图数据的
Generative patterns
。
Theoretical Analysis
为了证明这种框架是有效的,本文从理论上推导了该框架对于下游任务所能带来的积极效果。作者定义了
“Discriminative subgraph”
。
“subgraph”
与标签是息息相关的,
“Discriminative”
意味着
“subgraph”
有一定的分辨性,这就表示在下游任务中捕获到的信息可以帮助下游任务获得更准确的判断结果。经过推导证明,在模型运作的过程中,可以在一定程度上保留
Discriminative subgraph
,也就从理论上说明了所提框架可以促进下游任务性能的提升。
Experiments
本文先在域内迁移常用的分子图
Benchmark
上进行实验,预训练数据为
ZINC 15
,下游数据是
8
个二分类分子图数据。从实验结果可以看出,所提方法相较于其他精调方法大部分都有提升,且效果的平均排名最高。值得注意的是,作者还尝试了在不进行预训练的情况下,使用文中提出的辅助任务,也获得一定的效果提升;某些情况下甚至优于普通微调,这说明文中提出的方法确实可以帮助下游任务提高效果。
此外,本文进一步考虑,鉴于上下游图数据的差异很重要,那么在上下游差异越大时,甚至不来自同一领域时,效果是否越好?作者在文中也进行了验证。作者使用
GCC
作为预训练模型和方法,主要因为其不限制上下游的使用范围,仅使用图的结构。预训练数据也直接使用
GCC
文章中的预训练数据。此处使用的下游数据涉及
Movie
、
Chemistry
、
CV
、
Social
等多个不同领域,从而达到下游数据与预训练数据差异较大的情况设定。从实验结果也可以看出,使用该框架所取得的提升效果相比上一个同领域实验更加显著,这也就验证了前面的假设:上下游图数据结构差异越大,所提方法越有效。
Efficiency
从下图可以看出,总体而言,本文的方法效率不是最佳,但也略有优势。此外,还可以从表格中观测到,随着图数据的增多,本文所提方法的时间效率优于其他方法,验证了该方法的稳定性。其中,合成