论文阅读—Strategies for pre-training graph neural networks
introduction
为什么需要图的迁移学习?
1)首先某个具体任务的标签数据可能极度稀缺。
2)其次来自真实世界应用中的数据通常包含分布外的样本,这意味着训练集中的图在结构上与测试集中的图非常不同。
文章贡献:
1)首次对GNN方面的预训练研究进行了大量的调查。
2)提出了一个在图上有效的预训练策略。
在我们系统调查中,表明预训练的GNN不总是有效,在很多下游任务上可能会导致一个负迁移。关键就是学习节点级的信息和图级别的信息。
图神经网络的预训练策略
我们预训练的技术核心在于对节点和整个图上进行预训练。
节点级预训练
1) 图上下文预测(context prediction)
定义1(节点v的邻居结构):v的k跳邻居结构包含所有距离v在k以内的节点和边。
定义2(节点v的上下文结构):首先定义两个超参数r1,r2(r1<r2),v的r2跳邻居结构减去v的r1跳邻居结构部分就是节点v的上下文结构。
定义3(上下文锚节点):首先我们需要r1 < k < r2,r1~k间的节点就是锚节点,提供了节点邻居结构和上下文结构是怎样彼此联系在一起的。
作者使用了main gnn编码节点的邻居结构,用
h
v
K
h_{v}^{K}
hvK表示节点向量。
使用context gnn编码节点的上下文结构,用
c
v
G
c_{v}^{G}
cvG表示节点向量。
通过负采样的方式进行训练。
δ
(
h
v
(
K
)
T
c
v
’
G
’
)
≈
1
(
v
a
n
d
v
’
a
r
e
t
h
e
s
a
m
e
n
o
d
e
)
\delta(h_{v}^{(K)T}c_{v^{’}}^{G^{’}})\approx 1 (v \ and \ v^{’} are \ the\ same \ node)
δ(hv(K)Tcv’G’)≈1(v and v’are the same node)
正样本:同一个图上的同一个节点。
负样本:随机采样图
G
’
G^{’}
G’上的节点
v
’
v^{’}
v’。
2)属性遮掩(attribute masking)
对节点或者边的属性进行mask,然后使用gnn基于相邻的结构对这些属性进行预测。
图级别预训练
在节点级预训练模型的基础上,对整张图进行池化操作,然后添加一个分类器,学习整张图的属性特征。
GNN预训练和下游任务的微调
综上所述,我们的预训练策略是先进行节点级的无监督预训练,然后进行图级别的多任务的有监督预训练。当GNN预训练处理完后,对预训练后的GNN模型进行下游任务的微调。
实验
实验考虑两个领域:化学领域的分子属性预测和生物领域的蛋白质功能预测。
数据集:分子结构相关数据集和蛋白质结构相关数据集。
实验结果:
总结
提出了一种新的GNN预训练策略,策略取得成功的关键在于使用表达性比较好的GNN网络来进行预训练,同时考虑了节点级别的信息和图级别的信息。这就确保了节点的嵌入捕获到了局部邻居的语义信息,这些语义信息被汇聚到一起以得到有意义的图级别的表示,而这些图级别的表示又被用于下游任务。
未来的研究方向:
1)通过改进GNN的体系结构以及预处理和微调的方法来进一步提升预训练模型的泛化能力。
2)研究预训练模型究竟学到了什么。