背景
使用L1正则来做平滑,得到一个更好的效果。
Liu X, Jin W, Ma Y, et al. Elastic graph neural networks[C]//International Conference on Machine Learning. PMLR, 2021: 6837-6849.
模型
弹性图神经网络 (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
环境配置