一.概述
本文从多粒子系统的角度引入排斥力到消息传递框架中,提出了ACMP模型。现有的大多数消息传递神经网络是由与Dirichlet能量相关的吸引力驱动的,相应的图神经网络存在oversmoothing问题,无法进行异配数据集预测。但倘若相互排斥的粒子始终保持排斥,随着时间推进,粒子之间会不断远离。为避免粒子被推到无穷远处,作者引入了Allen-Cahn项。
二.背景
消息传递图神经网络
给定无向图
G
(
V
,
E
)
\mathcal{G}(\mathcal{V},\mathcal{E})
G(V,E),
x
i
(
k
−
1
)
∈
R
d
x_i^{(k-1)} \in \mathbb{R}^d
xi(k−1)∈Rd表示节点
i
i
i在第
(
k
−
1
)
(k-1)
(k−1)层的特征,
a
j
,
i
∈
R
D
a_{j,i}\in\mathbb{R}^D
aj,i∈RD表示节点
j
j
j到
i
i
i的边特征。
x
i
(
k
)
=
γ
(
k
)
(
x
i
(
k
−
1
)
,
□
j
∈
N
i
ϕ
(
k
)
(
x
i
(
k
−
1
)
,
x
j
(
k
−
1
)
,
a
j
,
i
)
)
\mathbf{x}_i^{(k)}=\gamma^{(k)}\left(\mathbf{x}_i^{(k-1)}, \square_{j \in \mathcal{N}_i} \phi^{(k)}\left(\mathbf{x}_i^{(k-1)}, \mathbf{x}_j^{(k-1)}, a_{j, i}\right)\right)
xi(k)=γ(k)(xi(k−1),□j∈Niϕ(k)(xi(k−1),xj(k−1),aj,i))
其中
□
\square
□表示可微、转置不变函数(如sum、mean等),
γ
\gamma
γ和
ϕ
\phi
ϕ表示可微函数如(MLPs),
N
i
\mathcal{N}_i
Ni表示节点
i
i
i的一跳邻居集。
消息传递网络通过聚合邻居的特征和自身上一轮的特征来生成本轮新的特征表示。许多代表性GNNs都follow这一范式,如GCN的聚合规则为 x i ′ = Θ ⊤ ∑ j ∈ N i ∪ { i } a j , i d j d i x j \mathbf{x}_i^{\prime}=\Theta^{\top} \sum_{j \in \mathcal{N}_i \cup\{i\}} \frac{a_{j, i}}{\sqrt{d_j d_i}} \mathbf{x}_j xi′=Θ⊤∑j∈Ni∪{i}djdiaj,ixj,其中 d ^ i = 1 + ∑ j ∈ N ( i ) a j , i \hat{d}_i=1+\sum_{j \in \mathcal{N}(i)} a_{j, i} d^i=1+∑j∈N(i)aj,i。
图神经扩散
图上神经扩散方程(GRAND)为一些消息传递提供了统一的数学框架:
∂
∂
t
x
(
t
)
=
div
[
G
(
x
(
t
)
,
t
)
∇
x
(
t
)
]
\frac{\partial}{\partial t} \mathbf{x}(t)=\operatorname{div}[\mathbf{G}(\mathbf{x}(t), t) \nabla \mathbf{x}(t)]
∂t∂x(t)=div[G(x(t),t)∇x(t)]
其中
G
=
diag
(
a
(
x
i
(
t
)
,
x
j
(
t
)
,
t
)
)
\mathbf{G}=\operatorname{diag}\left(a\left(x_i(t), x_j(t), t\right)\right)
G=diag(a(xi(t),xj(t),t)),
a
a
a为反映节点
i
i
i和节点
j
j
j间相似性的函数,
x
i
x_i
xi为节点
i
i
i的特征。
三.动机
引力和斥力
本文研究了与图神经扩展相似的相互作用的粒子系统的神经方程,将改式子改写为按分量计算的形式,得到粒子系统:
∂
∂
t
x
i
(
t
)
=
∑
j
∈
N
i
a
(
x
i
,
x
j
)
(
x
j
−
x
i
)
\frac{\partial}{\partial t} x_i(t)=\sum_{j \in \mathcal{N}_i} a\left(x_i, x_j\right)\left(x_j-x_i\right)
∂t∂xi(t)=j∈Ni∑a(xi,xj)(xj−xi)
从粒子系统的公式可以看出,当
a
(
x
i
,
x
j
)
>
0
a\left(x_i, x_j\right)>0
a(xi,xj)>0大于时,
x
i
x_i
xi的速度方向向着
x
j
x_j
xj,即
x
i
x_i
xi被
x
j
x_j
xj吸引。相反地,若
a
(
x
i
,
x
j
)
<
0
a\left(x_i, x_j\right)<0
a(xi,xj)<0,则
x
i
x_i
xi有趋势远离
x
j
x_j
xj。因此,
a
(
x
i
,
x
j
)
a\left(x_i, x_j\right)
a(xi,xj) 表示
x
i
x_i
xi与
x
j
x_j
xj之间的吸引力或排斥力。在上述的扩展模型中,所有的
a
(
x
i
,
x
j
)
a\left(x_i, x_j\right)
a(xi,xj)都是正的,因此连通分量中的所有节点特征都是相互吸引的。
然而,在某些问题中negative消息可能更重要,例如在二部图上进行节点分类,邻居消息为负,因为因为连接的节点属于不同的类。在粒子系统中可以加入偏置
β
i
j
\beta_{ij}
βij来模拟正、负信息机制。
∂
∂
t
x
i
(
t
)
=
∑
j
∈
N
i
(
a
(
x
i
,
x
j
)
−
β
i
,
j
)
(
x
j
−
x
i
)
\frac{\partial}{\partial t} x_i(t)=\sum_{j \in \mathcal{N}_i}\left(a\left(x_i, x_j\right)-\beta_{i, j}\right)\left(x_j-x_i\right)
∂t∂xi(t)=j∈Ni∑(a(xi,xj)−βi,j)(xj−xi)
系数项
a
(
x
i
,
x
j
)
−
β
i
,
j
a\left(x_i, x_j\right)-\beta_{i, j}
a(xi,xj)−βi,j对应相互作用力,可能为吸引力也可能为排斥力,因此通过这种方式消息传递既能处理同配图又能处理异配图。
Allen-Cahn项
图的Dirichled能量定义为:
E
(
x
)
=
1
N
∑
i
∈
V
∑
j
∈
N
i
a
i
,
j
∥
x
i
−
x
j
∥
2
\mathbf{E}(\mathbf{x})=\frac{1}{N} \sum_{i \in \mathcal{V}} \sum_{j \in \mathcal{N}_i} a_{i, j}\left\|\mathbf{x}_i-\mathbf{x}_j\right\|^2
E(x)=N1i∈V∑j∈Ni∑ai,j∥xi−xj∥2
然而,加入排斥力可能会导致粒子被推到无穷远,这样Dirichlet能量就变得无界了。为避免该情况,作者添加了一个Allen-Cahn项
δ
x
i
(
1
−
x
i
2
)
\delta x_i\left(1-x_i^2\right)
δxi(1−xi2),即:
∂
∂
t
x
i
(
t
)
=
α
∑
j
∈
N
i
(
a
(
x
i
,
x
j
)
−
β
i
,
j
)
(
x
j
−
x
i
)
+
δ
x
i
(
1
−
x
i
2
)
\frac{\partial}{\partial t} x_i(t)=\alpha \sum_{j \in \mathcal{N}_i}\left(a\left(x_i, x_j\right)-\beta_{i, j}\right)\left(x_j-x_i\right)+\delta x_i\left(1-x_i^2\right)
∂t∂xi(t)=αj∈Ni∑(a(xi,xj)−βi,j)(xj−xi)+δxi(1−xi2)
四.Allen-Cahn消息传递
基于上述内容,作者提出了Allen-Cahn Message Passing (ACMP)神经网络。
令 x in \mathrm{x}^{\text {in }} xin 表示输入特征矩阵,在作者的解决方案中,首先对嵌入过一个MLP,即 x ( 0 ) = MLP ( x i n ) \mathbf{x}(0)=\operatorname{MLP}\left(\mathbf{x}^{\mathrm{in}}\right) x(0)=MLP(xin) 。
ACMP的更新方程为:
∂
∂
t
x
i
(
t
)
=
α
⊙
∑
j
∈
N
i
(
a
(
x
i
(
t
)
,
x
j
(
t
)
)
−
β
)
(
x
j
(
t
)
−
x
i
(
t
)
)
+
δ
⊙
x
i
(
t
)
⊙
(
1
−
x
i
(
t
)
⊙
x
i
(
t
)
)
\frac{\partial}{\partial t} \mathbf{x}_i(t)=\boldsymbol{\alpha} \odot \sum_{j \in \mathcal{N}_i}\left(a\left(\mathbf{x}_i(t), \mathbf{x}_j(t)\right)-\beta\right)\left(\mathbf{x}_j(t)-\mathbf{x}_i(t)\right)+\boldsymbol{\delta} \odot \mathbf{x}_i(t) \odot\left(1-\mathbf{x}_i(t) \odot \mathbf{x}_i(t)\right)
∂t∂xi(t)=α⊙j∈Ni∑(a(xi(t),xj(t))−β)(xj(t)−xi(t))+δ⊙xi(t)⊙(1−xi(t)⊙xi(t))
ACMP的模型架构如下: