文章工作
传统图对比学习依赖于同质性假设和对比增强,现提出一种只考虑邻居节点的非对称视角的图对比学习方法
以前的对比学习结构
将目标节点的一跳或者局部邻域节点为正例,其他非负节点为负例
其基于假设:同配图
具体就是通过随机图增强构建两个视图,通过信息最大化原则比较视图.随机增强主要捕获两个视图的低频信息,而忽略高频信息
贡献
通过一跳和两跳邻居来重构中心节点的上下文表示(其代码主要是利用二跳邻居),提出了一个简单有效和直观的图对比学习可以捕获一跳邻居和两跳单一相似性在简单的不对称学习框架
先做总结:
本文网络采取了类似于BYOL的策略
使用不同参数的网络,其中,一个梯度更新,一个冻结梯度,动量更新(动量编码器)
用邻居预测来学习二跳邻居特征
采用对比学习的方式来更新
代码部分
同构图代码好像没有用到邻居节点来学习二跳邻居,只用了类似于BYOL的策略(训练轮次会导致网络的过拟合?在cora随着预训练的增加效果会变差)
其附录写了聚类结果,但是我没在代码中找到,并且我自己跑的聚类结果特别特别的差
可以学到什么:二阶信息对于异配图来说特别重要,可以构造适用于二阶GCN的对比学习方法
模型架构(抱歉写的有点差,这个论文我自己读起来有点小问题)
对于每个节点v,首先提出通过捕获其一跳邻域信号来学习其表示。自然思想是学习 𝑣 的表示,可以很好地预测 𝑣 邻域的原始特征,即邻域 𝑢 的 𝑥𝑢。然而,原始的特征通常是有噪声的和高维的。因此,采用以下由非对称预测器计算对邻居的损失
L
P
R
E
=
1
∣
V
∣
∑
v
∈
V
1
∣
N
(
v
)
∣
∑
u
∈
N
(
v
)
∥
g
ϕ
(
v
)
−
u
∥
2
2
,
\mathcal{L}_{\mathrm{PRE}}=\frac1{|\mathcal{V}|}\sum_{v\in\mathcal{V}}\frac1{|\mathcal{N}(v)|}\sum_{u\in\mathcal{N}(v)}\|g_{\phi}(\mathbf{v})-\mathbf{u}\|_{2}^{2},
LPRE=∣V∣1v∈V∑∣N(v)∣1u∈N(v)∑∥gϕ(v)−u∥22,
其中, 𝑣=𝑓𝜃(𝐺)[𝑣],𝑢=𝑓𝜃(𝐺)[𝑢] , 𝑔𝜃(·) 是表示简单预测器。直观地说,每个节点都被视为一个特定的邻居“上下文”,并且假设在邻居“上下文”上具有相似分布的节点是相似的。为了防止 𝑔𝜃(·) 退化为恒等函数,考虑了中心节点 𝑣 和一跳邻居 𝑢 的表示解耦,使用两个编码器: 𝑣=𝑓𝜃(𝐺)[𝑣],𝑢=𝑓𝜉(𝐺)[𝑢] 。使用两个编码器的直观说明是,每个节点通常扮演两个角色:节点本身和其他节点的特定上下文,对应于现实世界图中的节点标识和节点偏好的分离概念。解耦编码器的关键原则是允许节点的身份表示更不同于节点趋于链接的身份表示。附录从理论上证明了GraphACL最大化了表示和一跳邻域上下文之间的互信息,并在隐式地捕获了两跳信息。
虽然这个简单的邻域预测目标可以同时捕获一跳邻域模式和两跳信息,但它可能导致一个折叠和平凡的编码器:所有节点表示在超球上退化为相同的单个向量。为了解决这个问题,我们引入了一个显式的一致性正则化,以进一步增强表示的多样性。具体地说,我们添加了以下关于表示均匀性的显式正则化
L
U
N
I
=
−
1
∣
V
∣
1
∣
V
∣
∑
v
∈
V
∑
v
−
∈
V
∥
v
−
v
−
∥
2
2
,
\mathcal{L}_{\mathrm{UNI}}=-\frac1{|\mathcal{V}|}\frac1{|\mathcal{V}|}\sum_{v\in\mathcal{V}}\sum_{v_{-}\in\mathcal{V}}\|\mathbf{v}-\mathbf{v}_{-}\|_{2}^{2},
LUNI=−∣V∣1∣V∣1v∈V∑v−∈V∑∥v−v−∥22,
在这里,我们考虑负样本v−来自同一在线编码器作为中心样本。这种均匀性损失通常通过随机抽样K个负样本v−来近似。直观地说,最小化这个损失将使所有节点表示彼此远离,并缓解表示崩溃的问题。
但是,最小化
L
U
N
I
\cal{L}_{UNI}
LUNI可能会导致-
∞
\infty
∞的产生,为此,我们取代了,优化:
L
A
=
−
1
∣
V
∣
∑
v
∈
V
1
∣
N
(
v
)
∣
∑
u
∈
N
(
v
)
log
exp
(
p
⊤
u
/
τ
)
exp
(
p
⊤
u
/
τ
)
+
∑
v
−
∈
V
exp
(
v
⊤
v
−
/
τ
)
.
\mathcal{L}_\mathrm{A}=-\frac1{|\mathcal{V}|}\sum_{v\in\mathcal{V}}\frac1{|\mathcal{N}(v)|}\sum_{u\in\mathcal{N}(v)}\log\frac{\exp(\mathbf{p}^\top\mathbf{u}/\tau)}{\exp\left(\mathbf{p}^\top\mathbf{u}/\tau\right)+\sum_{v_-\in\mathcal{V}}\exp\left(\mathbf{v}^\top\mathbf{v}_-/\tau\right)}.
LA=−∣V∣1v∈V∑∣N(v)∣1u∈N(v)∑logexp(p⊤u/τ)+∑v−∈Vexp(v⊤v−/τ)exp(p⊤u/τ).
在这里,预测p=
g
ϕ
(
v
)
g_{\phi}(v)
gϕ(v)在这里,v是节点本身
v
=
f
θ
(
G
)
[
v
]
v=f_{\theta}(G)[v]
v=fθ(G)[v],u是v的邻居
u
=
f
ξ
(
G
)
[
v
]
u=f_{\xi}(G)[v]
u=fξ(G)[v],
v
_
=
f
θ
(
G
)
[
v
_
]
v_{\_}=f_{\theta}(G)[v\_]
v_=fθ(G)[v_]