文章来源
Liu X, Jin W, Ma Y, et al. Elastic graph neural networks[C]//International Conference on Machine Learning. PMLR, 2021: 6837-6849.
摘要
虽然许多现有的图神经网络(GNN)已被证明可以执行“基于2的图平滑”,在全局范围内强制平滑,但在这项工作中,我们的目标是通过“基于1的图平滑来进一步增强GNN的局部平滑自适应性。因此,我们引入了一个基于“1”和“2”图平滑的GNN家族(弹性GNN)。特别是,我们提出了一种新颖而通用的GNN消息传递方案。这种消息传递算法不仅对反向传播训练友好,而且在理论收敛保证的情况下实现了所需的平滑特性。在半监督学习任务上的实验表明,所提出的弹性GNN在基准数据集上具有更好的自适应性,并且对图形对抗攻击具有显著的鲁棒性。Elastic GNN的实现可以在https://github/lxiaorui/ElasticGNN上找到。
介绍
图神经网络(GNN)将传统的深度神经网络(DNN)从图像、视频和文本等规则网格推广到社交网络、交通网络和生物网络等不规则数据,这些数据通常表示为图(Defferrard等人,2016;Kipf&Welling,2016)。一个流行的泛化是神经消息传递框架(Gilmer等人,2017):
最近的研究(Ma等人,2020)证明,许多流行的GNN(如GCN、GAT、PPNP和APPNP)中的消息传递方案本质上对图信号执行基于2的图平滑,可以认为它们解决了图信号去噪问题:
其中Xin 2 Rnd是输入信号,L 2 Rn n是编码图结构的图拉普拉斯矩阵。第一项引导F接近输入信号Xin,而第二项强制滤波信号F的全局平滑性。得到的消息传递方案可以由不同的优化求解器得出,它们通常需要聚合来自相邻节点的节点特征,这直观地与相邻节点应相似的集群或一致性假设相吻合(Zhu&Ghahramani;Zhou等人,2004)。虽然现有的GNN主要由“基于2的图平滑”驱动,但基于2的方法在全局范围内强制平滑,平滑程度通常在整个图中共享。然而,图形不同区域的平滑度可能不同。例如,节点特征或标签可以在集群之间发生显著变化,但在集群内可以平稳变化(Zhu,2005)。因此,希望
增强GNN的局部平滑自适应性。
相关工作
由于其高度的实用价值,可以观察到人们对这个问题的研究兴趣日益浓厚,并且已经提出了许多基于会话的推荐建议。基于马尔可夫链,一些工作(Shani、Brafman和Heckerman 2002;Rendle、Freudenthaler和Schmidt-Thieme 2010)基于前一个行为预测了用户的下一个行为。在强独立性假设下,过去分量的独立组合限制了预测精度。
弹性图神经网络
弹性消息传递
对于基于2的图平滑器,消息传递方案可以从图信号去噪问题的梯度下降迭代中推导出来,就像GCN和APPNP的情况一样(Ma等人,2020)。然而,由于非光滑性,计算由(7)和(8)定义的估计器更具挑战性,并且这两个分量,即f(f)和g(f),是不可分的,因为它们是由图差算子耦合的。在文献中,研究人员开发了用于图趋势滤波问题的优化算法(4),如交替方向乘子法(ADMM)和牛顿型算法(Wang等人,2016;Varma等人,2019)。然而,这些算法需要在每次迭代中解决一个非平凡子问题的最小化,这导致了很高的计算复杂度。此外,尚不清楚如何使这些迭代与深度学习模型的反向传播训练兼容。这促使我们设计一种不仅高效而且对反向传播训练友好的算法。为此,我们建议使用具有高效计算的原始对偶算法来解决等效鞍点问题。
弹性图神经网络 (Elastic GNN) 被提出\upcite{17},一般的图拉普拉斯被定义 L = D − A {\bf{L}} = {\bf{D}} - {\bf{A}} L=D−A, A {\bf{A}} A表示邻接矩阵, D {\bf{D}} D 表示为度矩阵。除此以外 L ~ = I − A ~ {\bf{\tilde L}} = {\bf{I}} - {\bf{\tilde A}} L~=I−A~ , A ~ = D ^ − 1 2 A ^ D ^ − 1 2 {\bf{\tilde A}} = {{\bf{\hat D}}^{^{ - \frac{1}{2}}}}{\bf{\hat A}}{{\bf{\hat D}}^{^{ - \frac{1}{2}}}} A~=D^−21A^D^−21 , A ^ = A + I {\bf{\hat A}} = {\bf{A}} + {\bf{I}} A^=A+I , I {\bf{I}} I表示单位矩阵, D ^ i i = ∑ j A ^ i j {{\bf{\hat D}}_{ii}} = \sum\nolimits_j {{{{\bf{\hat A}}}_{ij}}} D^ii=∑jA^ij 。在Elastic GNN中表示一个关联矩阵为 Δ {\bf{\Delta }} Δ, Δ ∈ { − 1 , 0 , 1 } M × N {\bf{\Delta }} \in {\{ - 1,0,1\} ^{M \times N}} Δ∈{−1,0,1}M×N , M M M表示边的数量, N N N表示节点的数量。没有通过归一化的图拉普拉斯矩阵和关联矩阵具有相同点,所以 L = Δ T Δ {\bf{L}} = {{\bf{\Delta }}^{\rm{T}}}{\bf{\Delta }} L=ΔTΔ。
ElasticGNN使用EMP
Y = E M P ( h w ( X ) , K , β 1 , β 2 ) {\bf{Y}} = {\rm{EMP}}({h_w}({\bf{X}}),K,{\beta _1},{\beta _2}) Y=EMP(hw(X),K,β1,β2)
特征输入为
X
{\bf{X}}
X ,
h
w
(
X
)
{h_w}({\bf{X}})
hw(X)表示
X
{\bf{X}}
X关于
w
w
w的一个机器学习模型。
w
w
w是模型可学习的参数。
K
K
K表示信息传播的步数。
β
1
,
β
2
{\beta _1},{\beta _2}
β1,β2是两个超参数,在模型学习过程中被给予特定的值。ElasticGNN模型最终的预测结果被表示为
Y
{\bf{Y}}
Y。
E
M
P
(
⋅
)
{\rm{EMP}}( \cdot )
EMP(⋅)是ElascticGNN中提出的一中弹性的信息通过机制。EMP的表示形式可以被描述为如下形式:
初始化
F
0
=
X
{{\bf{F}}^0} = {\bf{X}}
F0=X,
O
0
=
0
m
×
d
{{\bf{O}}^0} = {{\bf{0}}^{m \times d}}
O0=0m×d ,
0
m
×
d
{{\bf{0}}^{m \times d}}
0m×d 表示所有值为0的矩阵。
Y
k
+
1
=
γ
X
+
(
1
−
γ
)
A
~
F
k
{{\bf{Y}}^{k + 1}} = \gamma {\bf{X}} + (1 - \gamma ){\bf{\tilde A}}{{\bf{F}}^k}
Yk+1=γX+(1−γ)A~Fk
γ
\gamma
γ表示的是步长,作为一个超参数。
A
~
{\bf{\tilde A}}
A~表示
D
^
−
1
2
A
^
D
^
−
1
2
{{\bf{\hat D}}^{^{ - \frac{1}{2}}}}{\bf{\hat A}}{{\bf{\hat D}}^{^{ - \frac{1}{2}}}}
D^−21A^D^−21。
F ~ k + 1 = Y k − λ Δ ~ T O k {{\bf{\tilde F}}^{k + 1}} = {{\bf{Y}}^k} - \lambda {\tilde \Delta ^{\rm{T}}}{{\bf{O}}^k} F~k+1=Yk−λΔ~TOk
其中
Δ
~
=
Δ
D
^
−
1
2
\tilde \Delta = \Delta {{\bf{\hat D}}^{^{ - \frac{1}{2}}}}
Δ~=ΔD^−21。然后,
O
~
k
+
1
=
O
k
−
β
Δ
~
F
~
k
+
1
{{\bf{\tilde O}}^{k + 1}} = {{\bf{O}}^k} - \beta \tilde \Delta {{\bf{\tilde F}}^{k + 1}}
O~k+1=Ok−βΔ~F~k+1
使用Elastic GNN中不同的正则项,得到不同的
O
k
+
1
{{\bf{O}}^{k + 1}}
Ok+1,当使用
l
1
{l_1}
l1正则时,
当使用
l
2
{l_2}
l2正则项时
O
i
k
+
1
=
min
(
∣
∣
O
~
i
k
+
1
∣
∣
2
,
λ
1
)
⋅
O
~
i
k
+
1
∣
∣
O
~
i
k
+
1
∣
∣
2
{\bf{O}}_i^{k + 1} = \min (||{\bf{\tilde O}}_i^{k + 1}|{|_2},{\lambda _1}) \cdot \frac{{{\bf{\tilde O}}_i^{k + 1}}}{{||{\bf{\tilde O}}_i^{k + 1}|{|_2}}}
Oik+1=min(∣∣O~ik+1∣∣2,λ1)⋅∣∣O~ik+1∣∣2O~ik+1
对于
i
∈
m
i \in m
i∈m。最终
F
k
+
1
=
Y
k
−
λ
Δ
~
T
O
k
{{\bf{F}}^{k + 1}} = {{\bf{Y}}^k} - \lambda {\tilde \Delta ^{\rm{T}}}{{\bf{O}}^k}
Fk+1=Yk−λΔ~TOk
上述表示整个的Elastic GNN的算法流程。
通过执行基于 l 2 l_2 l2的图平滑可以增强全局的平滑度。在ElasticGNN中,通过引入 l 1 l_1 l1和 l 2 l_2 l2图平滑,增强图神经网络的平滑度,并提升网络性能。在弹性图神经网络,使用一种新的消息传递方案。
实验结果
下面的实验结果是相关模型的精度
在对抗图攻击下的扰动率
代码
https://github.com/lxiaorui/ElasticGNN
环境配置