Graph Neural Networks with Convolutional ARMA Filters

目录

带有卷积ARMA滤波器的图神经网络

1 Abstract 

2 Introduction

3 Background: graph spectral fifiltering(图光谱滤波)

3.1 GNNs based on polynomial fifilters and limitations

4 Rational fifilters for graph signals 

5 The ARMA neural network layer

5.1. Implementation

5.2. Properties and relationship with other approaches

6. Spectral analysis of the ARMA layer

简单总结

带有卷积ARMA滤波器的图神经网络

1 Abstract 

流行的图神经网络基于多项式频谱滤波器对图进行卷积运算。

在本文中,提出一种新的图卷积层,启发于自回归移动平均(ARMA)(Auto Regressive  Moving Average)滤波器,与多项式滤波器相比,提供了更灵活的频率响应,对噪声更鲁棒,更好地捕获全局图结构

提出一种用递归分布式公式实现的ARMA滤波器的图神经网络,获得了一个有效训练的卷积层,该卷积层位于节点空间,并可以在测试时转移到新的图中。

通过进行光谱分析来研究提出的ARMA层的滤波效应,并报告四个下游任务的实验:半监督节点分类图信号分类图分类图回归

结果表明,与基于多项式滤波器的图神经网络相比,所提出的ARMA层有了显著的改进。

综上来说,本文提出了一种名为auto-regressive moving average (ARMA)的滤波器。相比于多项式滤波器,ARMA有着更加灵活的频度响应,更加鲁棒,能够更好的抵抗噪声干扰。而且能更好的提取全局图框架信息。

Introduction

图神经网络(GNNs)是一类位于深度学习和结构化数据方法之间的模型,它通过计算离散对象(节点)之间的任意关系(边)来对离散对象(节点)进行推理。

GNN结合图上局部邻域内的节点特征,以学习可以直接映射到类别标签中的节点表示或真实值或结合生成图进行图嵌入,用于图分类和回归。

 工作的重点是用GNN实现图在谱域上的卷积,这是通过非线性可训练的滤波器来完成的。

这种滤波器选择性地缩小或放大图信号的傅里叶系数(节点特征的一个实例),然后将节点特征映射到一个新的空间。为避免频域中昂贵的图频谱分解和投影,近几年的GNN将图滤波器实现为低阶多项式,直接在节点域学习

多项式滤波器具有有限的脉冲响应并在节点局部邻域上对图信号进行加权移动平均滤波,允许基于切比雪夫多项式的快速分布式实现。但多项式滤波器的建模能力有限,而且由于其平滑性,不能对频率响应的急剧变化进行建模。

至关重要的是,高阶多项式对于达到高阶邻域是必要的,但计算成本往往更高,最重要的是,会过拟合训练数据,使模型对图信号或底层图结构的变化敏感。

一类更通用的滤波器是自回归移动平均滤波器(ARMA)家族,与具有相同参数数量的多项式滤波器相比,它提供了更多的频率响应,可以解释高阶邻域

 本文受到多项式滤波器的启发,解决了现有图卷积层的局限性,提出了一种新的基于ARMA滤波器的GNN卷积层。ARMA层实现了一个非线性和可训练的图滤波器,它基于多项式滤波器泛化卷积层,并通过灵活的滤波器频率响应设计,为GNN提供了增强的建模能力

ARMA层以较少的参数捕获全局图结构,克服了基于高阶多项式滤波器的GNN的局限性

ARMA滤波器不局限于节点空间,需要进行矩阵反演,这在GNN的背景下是难以处理的。为了解决这个问题,所提出的ARMA层依赖于一个递归公式,这导致了可以利用张量上的高效稀疏操作来快速和分布式的实现。所得到的滤波器不是在由给定的拉普拉斯算子导出的傅里叶空间中学习的,而是在节点空间中,并且与底层的图结构无关。这使得GNN能够在归纳推理任务的测试阶段处理具有看不见的拓扑结构的图

通过半监督节点分类、图信号分类、图分类和图回归任务,评估了所提出的ARMA层的性能。结果表明,配备ARMA层的GNN在每个下游任务中都优于配备多项式滤波器的GNN。

3 Background: graph spectral fifiltering(图光谱滤波)

一个有着 M 个节点的图,可以用其邻接矩阵 A\in R^{M\times M} 描述。图信号可以用 X\in R^{M\times F}表示,代表了所有节点在 R上的特征向量。 令 L=I_{M}-D^{-\frac{1}{2}}AD^{-\frac{1}{2}} 表示一个图的对称正则Laplacian矩阵,D 代表了节点的度矩阵。 谱分解就可以表示为L=\sum _{m=1}^{M}\lambda _{m}u_{m}u_{m}^{T} 。图滤波器实际上就是这样一个算子,它根据频率响应h作用于每个特征值\lambda _{m}上,修改了X在特征向量基L上的分量。


谱分解的计算复杂度是O(n^{3}),所以直接对大图分解不现实,因此可以采用逐步逼近的方法。只要找到收敛的方法。


 被滤波了的graph signal就可以表示为:

Eq(0)\overline{X}=\sum _{m=1}^{M}h(\lambda _{m})u_{m}u_{m}^{T}X=Udiag(h(\lambda _{1}),...,h(\lambda _{M}))U^{T}X

等式中光谱滤波的主要问题:(1)计算复杂度:不仅L的特征分解计算代价昂贵,而且在应用滤波器时计算与U的双乘积。(2)由于这些谱滤波器依赖于特定的拉普拉斯谱,它们不能转移到具有其他结构的图中。因此,这个光谱GNN不能用于下游任务,如图分类或图回归,其中每个数据都是具有不同拓扑结构的图。

3.1 GNNs based on polynomial fifilters and limitations

一个可行的滤波器响应h(\lambda )可以近似用K阶多项式逼近:

h_{POLY}(\lambda )=\sum _{k=0}^{K}w_{k}\lambda ^{k},其为图信号提供了一个带权滑动平均滤波器,解决了谱方法的计算复杂度高的问题,因为这种方法可避免谱分解,而且其参数独立于拉普拉斯光谱。多项式滤波器在节点空间中是局部化的,因为滤波后信号中的每个节点的输出都是节点与其k跳邻域的线性组合(即每个结点的滤波信号的输出都是其K-hop邻居)。

多项式的阶数K应该较小,并且与图中的节点数M无关(是个超参)。在介绍节点空间中的多项式滤波器之前,先回顾任何可对角化矩阵的k次幂均可以通过取其特征值向量的幂函数来计算。如:L^{k}=Udiag(\lambda _{1}^{k},...,\lambda _{M}^{k})U^{T}(a)

因此,滤波算子可表示为:\overline{X}=(w_{0}I+w_{1}L+w_{2}L^{2}+...+w_{K}L^{K})X=\sum _{k=0}^{K}w_{k}L^{k}X(b)

等式(a)(b)表示一个一般的多项式滤波器。在现有的多项式类中,切比雪夫多项式经常用于图信号处理,因为其能衰减截止频率周围的不必要振荡,避免梯度消失或梯度爆炸。切比雪夫多项式递归表示为:T_{k}(x)=2xT_{k-1}(x)-T_{k-2}(x),可以得到执行滤波操作的卷积层\overline{X}=\sigma (\sum _{k=0}^{K}T_{k}(\widetilde{L})XW_{k})

其中\widetilde{L}=2L/\lambda _{max}-I_{M},σ(·)是一个非线性激活,W_{K}\in R^{F_{in}\times F_{out}}是将节点特征从R^{F_{in}}映射到R^{F_{out}}的可训练权重矩阵,一个k次多项式滤波器的输出是每个顶点及其对应k-跳邻域内输入的线性组合。由于在k跳邻域之外的输入对滤波操作的输出没有影响,因此要在图上捕获更大的结构,需要采用高阶多项式。然而,高阶多项式(K比较大)具有较差的插值和外推性能,因为它们过拟合了已知的图频率,即拉普拉斯行列式的特征值。这影响了GNN模型的泛化能力,对噪声和图拓扑中的微小变化变得敏感,还会产生较高的计算成本,最后,由于高阶多项式滤波器的平滑性,使其不能模拟具有急剧变化的滤波响应(丧失建模波幅较大的图的能力)。

因此本文采用了一阶多项式滤波器(用于半监督节点分类),在原作者的GNN模型中,称为图卷积网络(GCN),卷积层是切比雪夫滤波器的简化版本。即 K=1 ,另外设置W=W_{0}=-W_{1}

\overline{X}=\sigma (\hat{A}XW)

\tilde{L}\hat{A}=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}代替,\tilde{A}=A+\gamma I_{M}。修正后的邻接矩阵\hat{A}包含自环,确保一个节点是其一阶邻域的一部分,并且在卷积后(一定程度上)保留其特征,来补偿多项式中0阶项的去除,所有节点度的最小值就是1。通过不停的叠加k跳邻居堆叠多个GCN层可以搭建深度GCN。

一方面,GCNs减少了高阶多项式切比雪夫滤波器的过拟合和沉重的计算负荷,另一方面,由于每个GCN层都执行拉普拉斯平滑,所以会在若干次信息聚合之后导致“过平滑”现象的出现,大多数向量都趋于一致,且丢失了最初的节点特征。


多项式虽然设置为1阶,但其信息聚合可以包含5跳、10跳、15跳的邻居,最后汇总到当前节点。


4 Rational fifilters for graph signals 

通过一个合理的设计,ARMA滤波器可以很好地近似任何期望的滤波器响应h(λ),与多项式滤波器相比,可以建模更多的滤波器形状。K阶的ARMA滤波器的滤波器响应如下,表示为ARMA_{K}:h_{ARMA_{K}}(\lambda )=\frac{\sum _{k=0}^{K-1}p_{k}\lambda ^{k}}{1+\sum _{k=1}^{K}q_{k}\lambda ^{k}},其在节点集中可以表示为\overline{X}=(I+\sum _{k=1}^{K}q_{k}L^{k})^{-1}(\sum _{k=0}^{K-1}p_{k}L^{k})X (c)

注意设置q_{k}=0,对于每一个k,等式(c)就是一个普通多项式滤波器,它被认为是模型MA项,前一项就可以看作是AR项,可使ARMA模型对噪声具有鲁棒性,并允许在图上捕获更长的动态,因为\overline{X}反过来依赖于节点特征传播的几个步骤。与具有相同程度的多项式滤波器相比,这是捕获图上更长的依赖关系和更多的全局结构的关键。

在等式(c)中的矩阵反演计算速度慢,并产生一个密集矩阵,阻止我们使用稀疏乘法来实现GNN。

在本文中,使用一种直接的方法避免计算矩阵的逆,这可以很容易地扩展到神经网络的实现。具体地说,通过迭代一阶递归来近似ARMA1滤波器的效果,直到收敛。

\overline{X}^{t+1}=aM\overline{X}^{t}+bX(d),其中M=\frac{1}{2}(\lambda _{max}-\lambda _{min})I-L 。根据其他论文的推导,(d)式的收敛方程为:\overline{X}=lim_{t\rightarrow \infty }\left [ (aM)^{t}\overline{X}^{0}+b\sum _{i=0}^{t}(aM)^{i}X\right ] (e)

LM的特征向量都相同,而特征值的关系如下:\mu _{m}=(\lambda _{max}-\lambda _{min})/2,其中\lambda_{m} 和\mu_{m} 分别代表L和M的第m个特征值。由于\mu_{m}∈[−1,1],对于\forall \mid a\mid <1,t\rightarrow \infty,M趋近于0。(e)式的第二项收敛在b(I-aM)^{-1},特征值为b/(1-a\mu _{m})可以得到:

h_{ARMA_{A_{1}}}(\mu _{m})=\frac{b}{1-a\mu _{m}}

通过对K个ARAM_{1}滤波器求和,是极有可能恢复等式(c)中ARMA_{K}的解析形式。

\overline{X}=\sum _{k=1}^{K}\sum _{m=1}^{M}\frac{b_{k}}{1-a_{k}\mu _{m}}\mu _{m}\mu _{m}^{T}X(1)其中 h_{ARMA_{k}}(\mu _{m})=\sum _{k=1}^{K}\frac{b_{k}}{1-a_{k}\mu _{m}}

5 The ARMA neural network layer

(d)中过滤器的系数a和b可以通过线性回归进行优化,得到最佳filter response h∗(λ), 但需要提供先验知识。我们提供端到端的学习,引进非线性以提高filter response的表达能力。
提供神经网络ARMA_{1} 迭代使用Graph Convolutional Skip (GCS)图卷积跳跃层求解(d)式的收敛值。GCS可表示为:

\overline{X}^{t+1}=\sigma (\tilde{L}\overline{X}^{t}W+XV)(f)

因为在本文中,X是初始节点特征,W和V是可训练的参数,通过设置 \lambda _{max}=2 以及 \lambda _{min}=0,带入到 M=\frac{1}{2}(\lambda _{max}-\lambda _{min})I-L 得到\tilde{L}=M,这是一个合理的简化。因为L的频谱位于[0,2]中,可训练参数W和V来补偿引入的小偏移量。因此在(f)中没有写M,而是用L代替。

每个GCS layer计算的复杂度与边的数量存在线性的关系。对公式(f)进行迭代,直到收敛,得到ARMA_{1} filter\left \| \overline{X}^{T+1}- \overline{X}^{T}\right \|<\epsilon,其中ϵ 是非常小的正数。保证等式(f) 在迭代的过程中进行收敛,需要满足Theorem 1。

Theorem 1:为了保证等式(f)收敛,需要\left \| W \right \|_{2}<1\sigma (\cdot )a non-expansive map(非膨胀映射)。

Proof.\overline{X}_{a}^{(0)}\overline{X}_{b}^{(0)}是两个不同的初始化状态,\left \| W \right \|_{2}<1。在公式(f) 迭代 t+1 步后,得到X_{a}^{(t+1)}\overline{X}_{b}^{(t+1)},如果\sigma (\cdot )是一个非膨胀映射(如ReLU函数),以下不等式成立:

\left \| \overline{X}_{a}^{(t+1)}-\overline{X}_{b}^{(t+1)} \right \|_{2}=\left \| \sigma (\widetilde{L}\overline{X}_{a}^{(t)}+XV)-\sigma (\widetilde{L}\overline{X}_{b}^{(t)}+XV) \right \|_{2}\leq \left \| \widetilde{L}\overline{X}_{a}^{(t)}W+XV-\widetilde{L}\overline{X}_{b}^{(t)}W-XV \right \|_{2}=\left \| \widetilde{L}\overline{X}_{a}^{(t)}W-\widetilde{L}\overline{X}_{b}^{(t)}W \right \|_{2}\leq \left \| \widetilde{L} \right \|_{2}\left \| W \right \|_{2}\left \| \overline{X}_{a}^{(t)}-\overline{X}_{b}^{(t)} \right \|_{2}(g)

 如果\sigma (\cdot )是squashing function,不等式(g)是严格成立的。

根据定义,最大奇异值\widetilde{L}\leq 1,所以\left \| \widetilde{L} \right \|_{2}\left \| W \right \|_{2}<1,根据(g)可以看出,(f)是收敛的。

 从Theorem 1中可以得到,Banach fixed-point theorem可以选择任意(比较小)ϵ>0,存在如下情况:

\exists T_{\epsilon }<\infty s.t.\left \| \overline{X}^{(t+1)}-\overline{X}^{(t)} \right \|_{2}\leq \epsilon ,\forall t\geq T_{\epsilon },因此,在有限的时间内,迭代会收敛。

与等式(1)中的ARMA filter类似,需要将K个GCS layers进行stack。

5.1. Implementation

GCS 每个stack k可能是权重不同的,或者经过不同的迭代次数T_{k}才能收敛,取决于节点特征X 和权重矩阵W和V_{k} 。这使得神经网络的训练特别棘手,如果T_{k}特别大,需要公式(f)展开递归很多次,会带来很大计算成本和梯度消失的问题。

一种解决方案是每个stack设置初始化为不同的权重矩阵W_{k}V_{k} , 随机初始化保证每个stack进行不同过滤操作。为了弥补训练次数少问题,需要高维的特征,随机初始化高维的特征,由此会带来计算复杂度的提升。

第二种方法是放松一起收敛的约束,收敛的次数固定为常数T。这样模型就容易训练,不会影响模型的稳定性。可以通过在损失函数增加正则项放松Theorem 1 中\left \| W \right \|_{2}<1约束。

通过设置较小T层GCS layers, 通过ReLU非线性激活函数和可训练的参数学习节点的表示。

给定有限迭代次数下,\overline{X}^{(0)}会影响模型的最终表达\overline{X}^{(T)}。考虑初始化\overline{X}^{(0)}=0,或者对节点特征进行线性转换\overline{X}^{(0)}=XW^{(0)},其中W^{(0)}为第一层stack的W,采用后一种初始化模型的方式。同时,设W^{(0)}=V,以减少模型训练的参数。

现在ARMA_{K}卷积层的计算如下:\overline{X}=\frac{1}{K}\sum _{k=1}^{K}\overline{X}_{k}^{(T)}

其中\overline{X}_{k}^{(T)}在k-th中,最后一层的输出。下图描绘了ARMA卷积的过程。

 为了使得每层layer的每个GCS stack更好地从其他stack学习filtering operation, 会随机应用dropout,跳过XV_{k}中一些连接。这样可以学习一些异构特征,增强节点的表征能力。不同层之间参数共享可以防止过拟合。最后,不同GCS stacks可以并行执行。

5.2. Properties and relationship with other approaches

ARMA filters不依赖L 的特征值和特征向量,这使得对图结构变化是非常稳健的,最后,这个ARMA filters是可迁移的,在预测时,能够用于在训练中未见到的拓扑结构。

skip connections可以降低过度平滑的风险,而权重共享和残差连接可以用于处理序列数据。

聚合邻居节点,可以处理为定义顺序节点和邻居节点数量不定的情况。在每一层内部进行skip connections, 和层间的skip connections是不同的。ARMA layer能够处理时序数据,将等式(f)中的X 替换为X^{(t)}

最后,讨论一下ARMA GNN和CayleyNets的关系, Cayley 多项式如下:

\overline{X}=w_{0}X+2Re\left \{ \sum _{k=1}^{K}w_{k}(L+iI)^{k}(L-iI)^{-k} \right \}X(h)

对于等式(h)中求逆项,可以采用固定迭代次数T 的Jacobi iterations。CayleyNet形式可以如下:
\overline{X}\approx \sigma \left ( w_{0}X+2Re\left \{ \sum _{k=1}^{K}w_{k}\left ( \sum _{t=1}^{T}\hat{L}^{t} \right )^{k} \right \}X \right )(k)

其中,\hat{L}和L 具有相同的 sparsity pattern 。等式(k)是KT阶的多项式过滤器,CayleyNets 和 \overline{X}=\sigma (\sum _{k=0}^{K}T_{k}(\widetilde{L})XW_{k})中 Chebyshev filter有些相似,使用高阶多项式(KT hop)进行节点特征的传播。而ARMA采用K并行stacks, 1 hop进行节点特征传播。

6. Spectral analysis of the ARMA layer

首先参照 \overline{X}=\sum _{m=1}^{M}h(\lambda _{m})u_{m}u_{m}^{T}X=Udiag(h(\lambda _{1}),...,h(\lambda _{M}))U^{T}X

将X基于L的特征空间U^{T}进行转换,然后使用过滤器h(\lambda _{m})改变u_{m}^{T}X的值,最后通过在等式(0)左侧乘以U^{T}映射回节点的特征空间。得U^{T}\overline{X}=diag\left [ h(\lambda _{1}),...,h(\lambda _{M}) \right ]U^{T}X

\sum _{m=1}^{M}u_{m}^{T}\overline{X}=\sum _{m=1}^{M}h(\lambda _{m})u_{m}^{T}X

其中,\overline{X}是ARMA layer得输出,U^{T}\overline{X}定义为original components,U^{T}X通过GNN生成,ARMA的filter response可以通过U^{T}\overline{X}U^{T}X两者之间的比例确定,称为empirical filter response \tilde{h}:

\tilde{h}_{m}=\frac{F_{in}}{F_{out}}\frac{\sum _{f=1}^{F_{out}}u_{m}^{T}\bar{x}_{f}}{\sum _{f=1}^{F_{in}}u_{m}^{T}x_{f}},其中\bar{x}_{f}是输出向量\bar{X}_{k}的 f 列,x_{f}是输入特征X的 f 列,u_{m}是L的特征向量。

通过定义的经验滤波器响应分析ARMA层执行的滤波类型,比较式( d) X ̅^t+1=aMX ̅^t+bX 中的递归和第k个GCS堆栈的经验响应,分析节点特征:

(a,b)彩色显表示经验响应,黑色线表示ARMA1滤波器的解析响应。给出了两个GCS堆栈的经验响应ℎ ̃1,ℎ ̃2,其中层数T是可变的。当T增加时,ℎ ̃1,ℎ ̃2逐渐与ARMA1滤波器的解析响应接近,表明ℎ ̃可以逼近GNN滤波操作中的位置响应。 

(d,e)彩色区域表示两个GCS堆栈处理的图信号 \bar{X}的分量,黑色区域表示输入原始图信号X的分量。 表明了两个GCS堆栈如何修改傅里叶基上X的成分,彩色线条为u_{m}^{T}\bar{X},表示了GCS堆栈对每个频率对应成分的滤波量。

(c)展示了由GCN堆栈导出的经验响应,一个或多个GCN层堆叠得到的滤波器会对称地放大频谱中最低和最高的频率。这是由于GCN的滤波响应在线性情形下为(1−λ)^T,当T为奇数时,可能出现负值。通过在邻接矩阵中加入\gamma I_{M},即以权重γ加入自环并收缩图滤波器的频域时可以缓解该问题,对于较大的γ,GCN更像一个低通滤波器以阻止高频振荡,这是由于自环会限制信息在图和邻域上的传播,然而即使加入\gamma I_{M},GCN仍会截断所有中频成分,并放大高频成分,如(f)。

类似于ARMA1滤波器,每个GCS堆栈都可以视为一个低通滤波器,当频率上升时会逐渐减弱傅里叶成分,然而,高通滤波器和带通滤波器可以通过低通滤波器的线性组合得到,以下是两个不同的ARMA_{K}(K=3)得到的经验滤波器响应和修改的傅里叶成分。

 虽然每个GCS堆栈表现为一个低通滤波器,但具有K=3的ARMA层,实现了一个抑制低频的高通滤波器操作(左图a),也可实现一个主要允许中频的带通滤波器操作。 

简单总结

1、相比直接在谱域的滤波器,ARMA滤波器不依赖于L的特征分解,对图结构的变化更加稳健,而且ARMA滤波器是可迁移的,在预测时,能够用于在训练中未见过的拓扑结构。

2、应用跳跃连接允许堆叠多个GCS层而不存在过平滑的风险,同时权重共享减少了参数量,降低了计算复杂度。

3、与直接在节点域操作的GNN相似,每个GCS层以顶点k-hop邻域的组合计算滤波信号\overline{X}^{(t+1)},这种交换聚合解决了未定义的定点排序和不同邻域大小的问题。

4、ARMA层可以处理时序数据,只需要将\overline{X}^{(t+1)}=\sigma (\widetilde{L}\overline{X}^{(t)}W+XV)中的X替换为时间依赖的输入X^{(t)}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值