详解图信号处理与图卷积神经网络

前言

本文参考 – 深入浅出图神经网络 GNN 原理解析一书

图信号处理

图信号处理(Graph Signal Processing ,GSP)是离散信号处理(Discrete Signal Processing,DSP)理论在图信号领域的应用。其通过傅里叶变换、滤波等信号处理基本概念的迁移,来研究对图信号的压缩、变换、重构等信号处理的基础任务。

图信号与图的拉普拉斯矩阵

图信号

给定图 G ( V , E ) G(V,E) G(V,E),其中 V V V 表示图中的节点集合,图信号是一种描述从节点域到实数域的映射,表示成向量的形式为: x = [ x 1 , x 2 , … , x N ] T \mathbf{x}=[x_1,x_2,\dots,x_N]^T x=[x1,x2,,xN]T,其中 x i x_i xi 表示的是节点 v i v_i vi 上的信号强度。与离散时间时间信号不同,图信号是定义在节点上的信号,节点之间有自己固有的关联结构,在研究图信号的性质的时候,除了要考虑图信号的强度之外,还要考虑图的拓扑结构,不同图上同一强度的信号,具有截然不同的性质

在大多数任务中,图信号指的就是图中节点的特征矩阵

图的拉普拉斯矩阵

拉普拉斯矩阵(Laplacian Matrix)是用来研究图的结构性质的核心对象,拉普拉斯矩阵的定义如下: L = D − A \mathbf{L=D-A} L=DA,其中 D i i = ∑ j A i j \mathbf{D}_{ii}=\sum_j\mathbf{A}_{ij} Dii=jAij 是由节点的度组成的对角矩阵。对应的 A \mathbf{A} A 就代表图的邻接矩阵。在实际应用中常用的是对称归一化拉普拉斯矩阵,定义为: L s y m = D − 1 2 L D − 1 2 \mathbf{L_{sym}=D^{-\frac{1}{2}}LD^{-\frac{1}{2}}} Lsym=D21LD21

拉普拉斯矩阵的定义来源于拉普拉斯算子,拉普拉斯算子是 n n n 维欧氏空间中的一个二阶微分算子,如果将该算子的作用域退化到离散的二维图像空间,就成了一种边缘检测算子:

0 1 0 1 − 4 1 0 1 0 0\qquad1\qquad0\\1\quad-4\quad1\\0\qquad1\qquad0 010141010
拉普拉斯算子描述了中心像素与局部上、下、左、右四邻居像素的差异,这种性质通常被用来当作图像上的边缘检测算子。同理,在图信号中,拉普拉斯算子也被用来描述中心节点与邻居节点之间的信号差异

L x = ( D − A ) x = [ … , ∑ v j ∈ N ( v i ) ( x i − x j ) , …   ] (1) \mathbf{Lx}=\mathbf{(D-A)x}=[\dots,\sum_{v_j \in N(v_i)}(x_i-x_j),\dots]\tag{1} Lx=(DA)x=[,vjN(vi)(xixj),](1)

由此可知,拉普拉斯矩阵是一个反应图信号局部平滑度的算子,进一步,拉普拉斯矩阵可以让我们定义一个非常重要的二次型:
x T L x = ∑ v i ∑ v j ∈ N ( v i ) x i ( x i − x j ) = ∑ e i j ∈ E ( x i − x j ) 2 (2) \mathbf{x^TLx}=\sum_{v_i}\sum_{v_j \in N(v_i)}x_i(x_i-x_j)=\sum_{e_{ij}\in E}(x_i-x_j)^2\tag{2} xTLx=vivjN(vi)xi(xixj)=eijE(xixj)2(2)

其中 T V ( x ) = x T L x = ∑ e i j ∈ E ( x i − x j ) 2 \mathbf{TV(x)}=\mathbf{x^TLx}=\sum_{e_{ij}\in E}(x_i-x_j)^2 TV(x)=xTLx=eijE(xixj)2代表图信号的总变差 (Total Variation)。总变差是一个标量,将各条边上的信号差值进行加和,刻画了图信号整体的平滑程度。

图的傅里叶变换

傅里叶变换是数字信号处理的基石,傅里叶变换将信号从时域空间转换到频域空间。类比傅里叶变换,可以给出图信号傅里叶变换的定义,即将图信号由空域(sqtial domain)视角转化到频域(frequency domain)视角。

假设图 G G G 的拉普拉斯矩阵为 L ∈ R N × N \mathbf{L} \in \mathbb{R}^{N \times N} LRN×N,由于 L \mathbf{L} L 是一个实对称矩阵,因此可以被正交对角化得到如下形式:
L = V Λ V T (3) \mathbf{L=V\Lambda V^T}\tag{3} L=VΛVT(3)
其中 V ∈ R N × N \mathbf{V} \in \mathbb{R}^{N \times N} VRN×N 是一个正交矩阵,即 V V T = I \mathbf{VV^T=I} VVT=I。其组成形式为 V = [ v 1 , v 2 , … , v N ] \mathbf{V}=[v_1,v_2,\dots,v_N] V=[v1,v2,,vN] 表示 L \mathbf{L} L N N N 个特征向量。并且根据正交矩阵的性质可知这些特征向量都是彼此之间线性无关的单位向量。 Λ = d i a g ( λ 1 , λ 2 … , λ N ) \mathbf{\Lambda}=diag(\lambda_1,\lambda_2\dots,\lambda_N) Λ=diag(λ1,λ2,λN)代表特征向量对应的特征值。对这些特征值进行升序排列满足关系 λ 1 ≤ λ 2 < ⋯ ≤ λ N \lambda_1 \le \lambda_2 \lt \dots \le\lambda_N λ1λ2<λN

对于任意给定的向量 x \mathbf{x} x,拉普拉斯矩阵的二次型 x T L x = ∑ e i j ∈ E ( x i − x j ) 2 ≥ 0 \mathbf{x^TLx}=\sum_{e_{ij}\in E}(x_i-x_j)^2 \ge0 xTLx=eijE(xixj)20,因此拉普拉斯矩阵是一个半正定矩阵,其所有特征值大于等于0。并且满足 L I = 0 \mathbf{LI}=0 LI=0,因此拉普拉斯矩阵具有最小特征值0,即 λ 1 = 0 \lambda_1=0 λ1=0另外可以证明对于 L s y m \mathbf{L}_{sym} Lsym,其特征值存在一个上限: λ N ≤ 2 \lambda_N \le 2 λN2

基于此,可以定义图傅里叶变换(Graph Fourier Transform,GFT):对于任意一个在图 G G G 上的信号 x \mathbf{x} x,其图上的傅里叶变换为:
x ~ k = ∑ i = 1 N V k i T x i = < v k , x > (4) \widetilde{\mathbf{x}}_k=\sum_{i=1}^N\mathbf{V}_{ki}^T\mathbf{x}_i=<\mathbf{v}_k,\mathbf{x}>\tag{4} x k=i=1NVkiTxi=<vk,x>(4)

其中特征向量叫做傅里叶基, x ~ k \widetilde{\mathbf{x}}_k x k x \mathbf{x} x 在第 k k k 个傅里叶基上的傅里叶系数。从定义式上可以看出,傅里叶系数本质上是图信号在傅里叶基上的投影。进而利用矩阵形式算出所有的傅里叶系数:
x ~ = V T x , x ~ ∈ R N (5) \widetilde{\mathbf{x}}=\mathbf{V^Tx},\widetilde{\mathbf{x}}\in\mathbb{R}^N\tag{5} x =VTx,x RN(5)

由于 V \mathbf{V} V 是一个正交矩阵,对上式左乘 V \mathbf{V} V,可以得到:
V x ~ = V V T x = I x = x (6) \mathbf{V\widetilde{x}=VV^Tx=Ix=x}\tag{6} Vx =VVTx=Ix=x(6)
基于此可以将图傅里叶逆变换定义为:
x k = ∑ i = 1 N V k i ⋅ x ~ i (7) \mathbf{x}_k=\sum_{i=1}^N\mathbf{V}_{ki}\cdot\mathbf{\widetilde{x}}_i\tag{7} xk=i=1NVkix i(7)

从线性代数的角度来看, [ v 1 , v 2 , … , v N ] \mathbf{[v_1,v_2,\dots,v_N]} [v1,v2,,vN] 组成了 N N N 维特征空间中的一组完备的基向量。图 G G G 上的任意一个图信号都可以被表征成这些基向量的线性加权。具体来说,权重就是图信号在对应傅里叶基上的傅里叶系数,这种图信号的分解表示方法,给了一种全新的看待图信号的视角

总变差和图信号的能量

有了图傅里叶变换的定义之后,可以对总变差进行改写:
T V ( x ) = x T L x = x T V Λ V T x \mathbf{TV(x)}=\mathbf{x^TLx}=\mathbf{x^TV\Lambda V^Tx} TV(x)=xTLx=xTVΛVTx
T V ( x ) = ( V x ~ ) T V Λ V T ( V x ~ ) \mathbf{TV(x)}=(\mathbf{V\widetilde{x}})^T\mathbf{V\Lambda V^T}(\mathbf{V\widetilde{x}}) TV(x)=(Vx )TVΛVT(Vx )
T V ( x ) = x ~ T V T V Λ V T V x ~ (8) \mathbf{TV(x)}=\mathbf{\widetilde{x}^TV^TV\Lambda V^TV\widetilde{x}}\tag{8} TV(x)=x TVTVΛVTVx (8)
T V ( x ) = x ~ T Λ x ~ \mathbf{TV(x)}=\mathbf{\widetilde{x}^T\Lambda\widetilde{x}} TV(x)=x TΛx
T V ( x ) = ∑ k N λ k x ~ k 2 \mathbf{TV(x)}=\sum_{k}^N\lambda_k\mathbf{\widetilde{x}_k^2} TV(x)=kNλkx k2

从上式可以看出,图信号的总变差与图的特征值之间有着非常直接的线性对应关系,总变差是图的所有特征值的一个线性组合,权重是图信号相对应的傅里叶系数的平方。

由于图的各个特征向量是彼此正交的单位向量,且特征值 λ 1 , λ 2 , … , λ N \lambda_1, \lambda_2,\dots,\lambda_N λ1,λ2,,λN 是从小到大依次排列的,因此总变差取最小值的条件是图信号与最小特征值 λ 1 \lambda_1 λ1 所对应的特征向量 v 1 \mathbf{v}_1 v1 完全重合,此时仅有 x 1 ≠ 0 \mathbf{x}_1\neq0 x1=0,其他项的傅里叶系数为0,总变差为 T V ( V 1 ) = λ 1 \mathbf{TV(V_1)}=\lambda_1 TV(V1)=λ1

结合总变差代表着图信号整体平滑度的实际意义,我们可以发现,特征值依次排列在一起,对图信号的平滑度做出了一种梯度刻画,因此可以将特征值等价成频率。特征值越低,频率越低,对应的傅里叶基就变化的越慢,相近节点上的信号值趋于一致;特征值越高,频率越高,对应的傅里叶基就变化的越剧烈,相近节点上的信号值非常不一致。

基于此,我们可以定义图信号的能量:
E ( x ) = ∣ ∣ x ∣ ∣ 2 2 = x T x = ( V x ~ ) T ( V x ~ ) = x ~ T x ~ (9) \mathbf{E(x)}=||\mathbf{x}||_2^2=\mathbf{x^Tx}=\mathbf{(V\widetilde{x})^T(V\widetilde{x})}=\mathbf{\widetilde{x}^T\widetilde{x}}\tag{9} E(x)=x22=xTx=(Vx )T(Vx )=x Tx (9)

上述的等量代换关系说明能量可以同时从空域和频域的角度进行等价定义。并且可知单位向量的图信号能量为1。

频谱角度的图信号

有了频率的定义,傅里叶系数就可以等价成图信号在对应频率分量上的幅值,反映了图信号在该频率分量上的强度。图信号在低频分量上的强度越大,该信号的平滑程度就越高;相反,图信号在高频分量上的强度越大,该信号平滑程度越低。

定义好了图傅里叶变换之后,就可以从频域视角去研究图信号。将图信号所有的傅里叶系数合在一起成为该信号的频谱(spectrum)。在一个给定的图中,图信号的频谱相当于一种身份 ID,给定了频谱,就可以利用图傅里叶逆变换,完整的推导出空域中的图信号。图信号频谱上的任意一个傅里叶系数都是对图信号的某种低频或高频特征的定量描述,这种描述既考虑了图信号本身值的大小,也考虑了图的结构信息

图滤波器

类比于离散信号处理,在图信号处理中,将图滤波器(Graph Filter)定义为对给定图信号的频谱中各个频率分量的强度进行增强或衰减的操作。假设图滤波器定义为 H ∈ R N × N , H : R N → R N \mathbf{H} \in \mathbb{R}^{N \times N},\mathbf{H}:\mathbb{R}^N \rightarrow \mathbb{R}^N HRN×N,H:RNRN,令输出的图信号为 y \mathbf{y} y,则:
y = H x = v k ∑ k = 1 N ( h ( λ k ) x ~ k ) (10) \mathbf{y}=\mathbf{H}\mathbf{x}=\mathbf{v}_k\sum_{k=1}^N(\mathbf{h}(\lambda_k)\mathbf{\widetilde{x}_k})\tag{10} y=Hx=vkk=1N(h(λk)x k)(10)

对上式进行化简处理可以得到如下形式:
y = H x = V d i a g [ h ( λ 1 ) , … , h ( λ N ) ] [ x ~ 1 , … , x ~ N ] T y = H x = V d i a g [ h ( λ 1 ) , … , h ( λ N ) ] V T x H = V d i a g [ h ( λ 1 ) , … , h ( λ N ) ] V T = V Λ h V T (11) \mathbf{y=Hx=Vdiag[h(\lambda_1),\dots,h(\lambda_N)][\widetilde{x}_1,\dots,\widetilde{x}_N]^T}\\ \mathbf{y=Hx=Vdiag[h(\lambda_1),\dots,h(\lambda_N)]V^Tx}\\ \mathbf{H=Vdiag[h(\lambda_1),\dots,h(\lambda_N)]V^T}=\mathbf{V\Lambda_hV^T}\tag{11} y=Hx=Vdiag[h(λ1),,h(λN)][x 1,,x N]Ty=Hx=Vdiag[h(λ1),,h(λN)]VTxH=Vdiag[h(λ1),,h(λN)]VT=VΛhVT(11)

相较于拉普拉斯算子, H \mathbf{H} H 仅仅改动了对角矩阵上的值,这意味着只有当对角或者边存在时才取得非零值。从算子的角度来看, H x \mathbf{Hx} Hx 描述了一种作用在每个节点一阶子图上的变换操作。一般来说,称满足上述性质的矩阵为 G G G 的图位移算子(Graph Shift Operator),拉普拉斯矩阵与邻接矩阵都是典型的图位移算子

Λ h \mathbf{\Lambda_{h}} Λh为图滤波器 H \mathbf{H} H 的频率响应矩阵,对应的函数 h ( λ ) h(\lambda) h(λ) H \mathbf{H} H的频率响应函数,不同的频率响应函数可以实现不同的滤波效果。在信号处理中,常见的滤波器有三类:低通滤波器、高通滤波器、带通滤波器。三类常见滤波器的特点如下:

  • 低通滤波器:低通滤波器只保留信号中的低频成分,更加关注信号中平滑的部分
  • 高通滤波器:高通滤波器只保留信号中的高频成分,更加关注信号中快速变化的部分
  • 带通滤波器:带通滤波器只保留信号特定频段的成分

理论上,我们希望实现任意性质的图滤波器,也就是实现任意类型函数曲线的频率响应函数。通过逼近理论,我们可以用泰勒展开 – 多项式逼近函数去近似任意函数。因此基于拉普拉斯矩阵多项式拓展形式的图滤波器定义为:
H = h 0 L 0 + ⋯ + h k L k = ∑ k = 0 K h k L k (12) \mathbf{H=h_0L^0 +\dots+h_kL^k=\sum_{k=0}^Kh_kL^k}\tag{12} H=h0L0++hkLk=k=0KhkLk(12)
其中 K \mathbf{K} K 是图滤波器 H \mathbf{H} H 的阶数,和图信号一样,对于图滤波器,可以同时从空域和频域视角来理解。

空域:

y = H x = ∑ k = 0 K h k L k x y = ∑ k = 0 K h k x ( k ) (13) \mathbf{y=Hx=\sum_{k=0}^Kh_kL^kx}\\ \mathbf{y=\sum_{k=0}^Kh^kx^{(k)}}\tag{13} y=Hx=k=0KhkLkxy=k=0Khkx(k)(13)

上式中有 x ( k ) = L k x = L x ( k − 1 ) \mathbf{x^{(k)}=L^kx=Lx^{(k-1)}} x(k)=Lkx=Lx(k1),经过如此变换,将输出图信号变成了 ( K + 1 ) (K+1) (K+1) 组图信号的线性加权。由于 L \mathbf{L} L 是一个图位移算子,因此 x ( k − 1 ) \mathbf{x^{(k-1)}} x(k1) x ( k ) \mathbf{x^{(k)}} x(k) 的变换只需要所有节点的一阶邻居参与计算。总的来看, x ( k ) \mathbf{x^{(k)}} x(k) 的计算只需要所有结点的 k k k 阶邻居参与,称这种性质为图滤波器的局部性。

总结一下:从空域角度,如果已知图滤波器、图信号、多项式拟合的系数向量可以求得经过滤波输出的图信号。

频域:

根据 L = V Λ V T \mathbf{L=V\Lambda V^T} L=VΛVT,可得:
H = ∑ k = 0 K h k L k = ∑ k = 0 K h k ( V Λ V T ) k H = V ( ∑ k = 0 K h k Λ k ) V T = V d i a g [ ∑ k = 0 K h k λ 1 k , … , ∑ k = 0 K h k λ N k ] V T (14) \mathbf{H=\sum_{k=0}^Kh_kL^k=\sum_{k=0}^Kh_k(V\Lambda V^T)^k}\\ \mathbf{H=V(\sum_{k=0}^Kh_k\Lambda^k)V^T=Vdiag[\sum_{k=0}^Kh_k\lambda_1^k,\dots,\sum_{k=0}^Kh_k\lambda_N^k]V^T}\tag{14} H=k=0KhkLk=k=0Khk(VΛVT)kH=V(k=0KhkΛk)VT=Vdiag[k=0Khkλ1k,,k=0KhkλNk]VT(14)

从中可以看出 H \mathbf{H} H 的频率响应函数为 λ \lambda λ K \mathbf{K} K 次代数多项式,如果 K \mathbf{K} K 足够大,可以用这种形式去逼近任意一个关于 λ \lambda λ 的函数。

使用上述滤波器进行滤波:
y = H x = V ( ∑ k = 0 K h k Λ k ) V T x (15) \mathbf{y=Hx=V(\sum_{k=0}^Kh_k\Lambda^k)V^Tx}\tag{15} y=Hx=V(k=0KhkΛk)VTx(15)

假设所有的多项式系数 h h h 构成向量 h \mathbf{h} h,则 H \mathbf{H} H 的频率响应矩阵为:
Λ h = ∑ k = 0 K h k Λ k = d i a g ( Φ h ) (16) \mathbf{\Lambda_h=\sum_{k=0}^Kh_k\Lambda^k=diag(\Phi h)}\tag{16} Λh=k=0KhkΛk=diag(Φh)(16)

其中 Φ \mathbf{\Phi} Φ 代表范德蒙矩阵,可以反解得到多项式系数 h = Φ − 1 d i a g − 1 ( Λ h ) \mathbf{h=\Phi^{-1}diag^{-1}(\Lambda_h)} h=Φ1diag1(Λh)。其中 d i a g − 1 \mathbf{diag^{-1}} diag1 代表将对角矩阵变成列向量。给定我们想要的频率响应矩阵,可以通过上式反解得到多项式系数。这个式子对于特定性质的图滤波器的设计具有十分重要的意义。

传统意义上的图卷积操作需要进行稠密的拉普拉斯矩阵的特征分解,时间复杂度达到了 O ( N 3 ) \mathcal{O}(N^3) O(N3),因此后续的图卷积方法都是对卷积核的优化,来减少参数量。

图卷积神经网络

给出图卷积运算的定义式:
x 1 ∗ x 2 = V ( ( V T x 1 ) ⊙ ( V T x 2 ) ) = V ( x ~ 1 ⊙ ( V T x 2 ) ) \mathbf{x_1*x_2=V((V^Tx_1)\odot(V^Tx_2))=V(\widetilde{x}_1\odot(V^Tx_2))} x1x2=V((VTx1)(VTx2))=V(x 1(VTx2))
x 1 ∗ x 2 = V ( d i a g ( x ~ 1 ) ( V T x 2 ) ) (17) \mathbf{x_1*x_2=V(diag(\widetilde{x}_1)(V^Tx_2))}\tag{17} x1x2=V(diag(x 1)(VTx2))(17)
x 1 ∗ x 2 = ( V d i a g ( x ~ 1 ) V T ) x 2 \mathbf{x_1*x_2=(Vdiag(\widetilde{x}_1)V^T)x_2} x1x2=(Vdiag(x 1)VT)x2

该式的出发点在于,频域上信号与卷积核的乘积操作等价于时域中信号与卷积核的卷积操作。基于上述准则,利用拉普拉斯矩阵特征分解所得到特征向量作为一组在频域空间的正交基进行图傅里叶变换完成对时域信号的转换 V T x 2 \mathbf{V^Tx_2} VTx2,卷积核为 V T x 1 = x ~ 1 = d i a g ( x ~ 1 ) \mathbf{V^Tx_1=\widetilde{x}_1=diag(\widetilde{x}_1)} VTx1=x 1=diag(x 1) 已经在频域中定义。最后经过图傅里叶逆变换得到时域中的表达形式。

H x ~ 1 = V d i a g ( x ~ 1 ) V T \mathbf{H_{\widetilde{x}_1}}=\mathbf{Vdiag(\widetilde{x}_1)V^T} Hx 1=Vdiag(x 1)VT,显然 H x ~ 1 \mathbf{H_{\widetilde{x}_1}} Hx 1 是一个图位移算子,其频率响应矩阵为 x 1 \mathbf{x}_1 x1 的频谱, x 1 \mathbf{x}_1 x1 指的就是图卷积核,于是可得 x 1 ∗ x 2 = H x ~ 1 x 2 \mathbf{x_1*x_2=H_{\widetilde{x}_1}x_2} x1x2=Hx 1x2两组图信号的图卷积运算总能转化为对应形式的图滤波运算,从这个层面上看,图卷积等价于图滤波。

1. 对频率响应矩阵进行参数化
图卷积操作等价于图滤波操作,而图滤波算子的核心在于频率响应矩阵,因此可以对频率响应矩阵进行参数化,基于此可以定义如下的神经网络层:
X ′ = σ ( V d i a g ( θ 1 , … , θ N ) V T X ) X ′ = σ ( V d i a g ( θ ) V T X ) X ′ = σ ( Θ X ) (18) \mathbf{X'}=\mathbf{\sigma(Vdiag(\theta_1,\dots,\theta_N)V^TX)}\\ \mathbf{X'=\sigma(Vdiag(\theta)V^TX)}\\ \mathbf{X'}=\sigma(\Theta X)\tag{18} X=σ(Vdiag(θ1,,θN)VTX)X=σ(Vdiag(θ)VTX)X=σ(ΘX)(18)

其中 θ = [ θ 1 , θ 2 , … , θ N ] \theta=[\theta_1, \theta_2,\dots,\theta_N] θ=[θ1,θ2,,θN] 是需要学习的参数, Θ \Theta Θ 是对应的需要学习的图滤波器。该操作可以分别从空域角度和频域角度来理解:

  • 空域视角:该层引入了一个自适应的图位移算子,通过学习的手段指导该算子的学习,从而完成对输入图信号的针对性变换操作
  • 频域视角:该层在 X \mathbf{X} X X ′ \mathbf{X'} X 之间训练了一个可自适应的图滤波器。图滤波器的频率响应函数是怎样的,可以通过任务与数据之间的对应关系来进行监督学习

上述思路虽然简单易懂,但是也存在一个较大的问题:引入的学习参数过多,需要学习的参数量与图中的节点数一致,这在大规模图数据中,比如上亿节点数规模的图中极易发生过拟合问题

在真实图数据中,数据的有效信息通常都蕴含在低频段中,因此为图滤波器设置 N N N 个维度的自由度,且对每个频率进行学习是有必要的

2.对多项式系数进行参数化
同样,为了拟合任意的频率响应函数,可以将拉普拉斯矩阵的多项式形式转化为一种可学习的形式。具体表示如下:
X ′ = σ ( V ( ∑ k = 0 K θ k Λ k ) V T X ) = σ ( V d i a g ( Φ θ ) V T X ) (19) \mathbf{X'=\sigma(V(\sum_{k=0}^K\theta_k\Lambda^k)V^TX)=\sigma(Vdiag(\Phi\theta)V^TX)}\tag{19} X=σ(V(k=0KθkΛk)VTX)=σ(Vdiag(Φθ)VTX)(19)

其中 θ = [ θ 1 , θ 2 , … , θ k ] \mathbf{\theta=[\theta_1,\theta_2,\dots,\theta_k]} θ=[θ1,θ2,,θk] 是多项式系数向量,也是网络层真正需要学习的参数,与前述方法不同的是,这个方法的参数量 K \mathbf{K} K 可以自由控制, K \mathbf{K} K越大可拟合的频率响应函数的次数就越高,可以对应输入图信号矩阵与输出图信号矩阵之间复杂的滤波关系; K \mathbf{K} K 越小,可拟合的频率响应函数的次数就越低,可以对应输入图信号矩阵与输出图信号矩阵之间简单的滤波关系。总的来说,一般设 K ≪ N \mathbf{K} \ll \mathbf{N} KN 这将大大降低模型过拟合的风险

3.设计固定的图滤波器

前述方法虽然大大降低了参数量,但由于对矩阵特征分解比较依赖而给计算带来了极高的复杂度。在 GCN(2017tkipf) 中对上述表达式进行了限制,令 K = 1 \mathbf{K=1} K=1,则化简为如下形式:
X ′ = σ ( θ 0 X + θ 1 L X ) (20) \mathbf{X'=\sigma(\theta_0X+\theta_1LX)}\tag{20} X=σ(θ0X+θ1LX)(20)
进一步令 θ 0 = θ 1 = θ \theta_0=\theta_1=\theta θ0=θ1=θ 化简为如下形式:
X ′ = σ ( θ ( I + L ) X ) = σ ( θ L ~ X ) (21) \mathbf{X'=\sigma(\theta(I+L)X)=\sigma(\theta\widetilde{L}X)}\tag{21} X=σ(θ(I+L)X)=σ(θL X)(21)
这里的 θ \theta θ 是一个标量,相当于对 L ~ \mathbf{\widetilde{L}} L 的频率响应函数做了一个尺度变换,通常这种尺度变换在神经网络模型中会被归一化操作替代,因此该参数没有必要引入,因此可以设 θ = 1 \theta=1 θ=1,就进一步化简得到了一个固定的图滤波器 L ~ \mathbf{\widetilde{L}} L

为了加强神经网络学习的数值稳定性,避免出现梯度爆炸或者梯度消失的现象,作者仿照正则拉普拉斯矩阵,对 L ~ \mathbf{\widetilde{L}} L 也做了归一化处理,所采用的对称归一化的形式 L ~ s y m = D ~ − 1 2 A ~ D ~ − 1 2 , A ~ = A + I , D ~ i i = ∑ k A ~ i j \mathbf{\widetilde{L}_{sym}=\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}},\widetilde{A}=A+I,\widetilde{D}_{ii}=\sum_k\widetilde{A}_{ij}} L sym=D 21A D 21,A =A+I,D ii=kA ij。其中 L ~ s y m \mathbf{\widetilde{L}_{sym}} L sym 的特征值范围是 ( − 1.1 ] (-1.1] (1.1],可以有效地防止多层网络优化时出现的梯度消失或爆炸的现象。

为了加强神经网络的拟合能力,设计了一个参数化的权重矩阵 W \mathbf{W} W 对输入的图信号矩阵进行仿射变换,得到:
X ′ = σ ( L ~ s y m X W ) (22) \mathbf{X'=\sigma(\widetilde{L}_{sym}XW)}\tag{22} X=σ(L symXW)(22)

这个就是最被广泛接受的图卷积网络范式,由 tkipf 提出。

该计算是对频率响应函数拟合形式上的极大简化,最后相应的图滤波器退化成了 L ~ s y m \mathbf{\widetilde{L}_{sym}} L sym, 图卷积操作变成了 L ~ s y m X \mathbf{\widetilde{L}_{sym}X} L symX。如果将 X \mathbf{X} X由信号矩阵的角色切换到特征矩阵上,由于 L ~ s y m \mathbf{\widetilde{L}_{sym}} L sym是一个图位移算子,依据矩阵乘法的行向量视角 L ~ s y m X \mathbf{\widetilde{L}_{sym}X} L symX 的计算等价于对邻居节点的特征向量做聚合操作,于是图卷积在节点层面的计算公式如下:

x i = σ ( ∑ v j ∈ N ( v i ) L ~ s y m [ i , j ] ( W x j ) ) (23) \mathbf{x_i=\sigma(\sum_{v_j \in N(v_i)}\widetilde{L}_{sym}[i,j](Wx_j))}\tag{23} xi=σ(vjN(vi)L sym[i,j](Wxj))(23)

相较于频域图卷积中矩阵分解时 O ( N 3 ) \mathcal{O}(N^3) O(N3) 的时间复杂度,这种空域图卷积计算的时间复杂度可以降至 O ( ∣ E ∣ d ) \mathcal{O}(|E|d) O(Ed)

4.总结

  • L ~ s y m \mathbf{\widetilde{L}_{sym}} L sym 本身所具有的滤波特性是比较符合真实数据的特有性质的,能对数据实现高效的滤波操作
  • 虽然 GCN 层是由对频率响应函数的线性近似推导出来的,但是和深度学习中深度网络给模型带来的强大拟合能力一样,堆叠多层 GCN 层,在某种程度上可以达到高阶多项式形式的频率响应函数的滤波能力。这种简化单层网络的学习能力,通过增加深度来提升模型表达能力的做法,在 CNN 模型中表现出了极强的工程优越性。事实证明,这种所带来的优越性也在 GCN 后续的多项相关论文中得到了展示,以 GCN 为代表的模型成为了个给图数据学习任务的首选。
  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值