Elastic Graph neural network

文章来源

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=DA, A {\bf{A}} A表示邻接矩阵, D {\bf{D}} D 表示为度矩阵。除此以外 L ~ = I − A ~ {\bf{\tilde L}} = {\bf{I}} - {\bf{\tilde A}} L~=IA~ 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+12,λ1)∣∣O~ik+12O~ik+1
对于 i ∈ m i \in m im。最终
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
在这里插入图片描述

环境配置
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值