阅读论文2:《STRATEGIES FOR PRE-TRAINING GRAPH NEURAL NETWORKS》
(ICLR, 2020)
论文链接: https://arxiv.org/abs/1905.12265?context=cs.LG
代码链接: https://github.com/snap-stanford/pretrain-gnns/
一、简介
(1)文章提出了图上两种预训练方法:节点级别(单个节点)、图级别(整个图);
(Abstract:The key to the success of our strategy is to pre-train an expressive GNN at the level of individual nodes as well as entire graphs so that……)
(2)节点级别两种预训练策略:上下文预测(context prediction)和属性遮挡(attribute masking);
(3)图级别两种预训练策略:有监督的图属性预测(supervised graph-level property prediction)和结构相似性预测(structural similarity prediction);
二、节点级别预训练
1、 上下文预测
(1)先上张图,看图说话:这里列举了一个分子图(input graph),其中,中间的图(a)就是上下文预测的一个图例;
(2)首先,根据预先设定的超参数r1、r2,得到关于中心节点的r1-hop和r2-hop所包围的节点。由此,中心节点与包围的节点构成了一个context graph;
(3)其次,同样根据预先设定的超参数K,再次得到中心节点的K-hop neighborhood;
(4)然后,K-hop neighborhood有了,context graph也有了,该计算中心节点的表示了。咋表示呢?
(5)在本论文中作者使用了一个GIN的图网络(见原文Table1),这就得到了K-hop neighborhood 上的节点表示
h
v
(
k
)
h_v^{(k)}
hv(k)以及context graph上的节点表示
c
v
′
G
′
c_{v^{'}}^{G^{'}}
cv′G′;
(6)最后,加入负采样技术,计算:
σ
(
h
v
(
k
)
T
c
v
′
G
′
)
≈
1
\sigma({h_v^{(k)}}^{T}c_{v^{'}}^{G^{'}})\approx1
σ(hv(k)Tcv′G′)≈1,{
v
v
v and
v
′
v^{'}
v′ are the same nodes};
2、属性遮挡
简单地说,就是:对图上的节点属性或者边属性进行遮挡,然后学习节点或者边的特征表示,再通过一个线性模型对节点或者边的属性进行预测。