图深度学习-4-图信号处理与图卷积神经网络

4-图信号处理与图卷积神经网络

本文参考自《深入浅出图神经网络-GNN原理解析》而非《图深度学习》,但是仍然整合在“图深度学习”专栏内(《图深度学习》在这部分讲的太难惹QAQ)

图信号与图拉普拉斯矩阵

图的拉普拉斯矩阵 L = D − A L=D-A L=DA,其中 L i j = { d ( v i ) i = j − 1 e i j ∈ E 0 o t h e r w i s e L_{ij}=\begin{cases}d(v_i) & i=j \\ -1 & e_{ij}\in E\\ 0 & otherwise\end{cases} Lij=d(vi)10i=jeijEotherwise

  • 正则化表示: L ′ = D − 1 2 ( D − A ) D − 1 2 = I − D − 1 2 A D − 1 2 L'=D^{-\frac{1}{2}}(D-A)D^{-\frac{1}{2}}=I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}} L=D21(DA)D21=ID21AD21,其中 L i j ′ = { 1 i = j − 1 d ( v i ) d ( v j ) e i j ∈ E 0 o t h e r w i s e L'_{ij}=\begin{cases}1 & i=j \\ -\frac{1}{\sqrt{d(v_i)d(v_j)}} & e_{ij}\in E\\ 0 & otherwise\end{cases} Lij=1d(vi)d(vj) 10i=jeijEotherwise
  • 对角化表示(L是实对称矩阵): L = V Λ V T = [ v 1 ⋯ v N ] [ λ 1 ⋱ λ N ] [ v 1 T ⋮ v N T ] L=V\Lambda V^T=\begin{bmatrix}v_1&\cdots &v_N\end{bmatrix}\begin{bmatrix}\lambda_1 && \\ & \ddots&\\ &&\lambda_N\end{bmatrix}\begin{bmatrix}v_1^T \\ \vdots \\ v_N^T\end{bmatrix} L=VΛVT=[v1vN]λ1λNv1TvNT
    • V ∈ R N × N V\in R^{N\times N} VRN×N为正交矩阵( V V T = E VV^T=E VVT=E
    • V = [ v 1 ⋯ v N ] V=\begin{bmatrix}v_1&\cdots&v_N\end{bmatrix} V=[v1vN] L L L的N个特征向量
    • 对特征值进行排序得到 λ 1 ≤ ⋯ ≤ λ N \lambda_1\leq \cdots \leq \lambda_N λ1λN,对应的特征向量为 v 1 , ⋯   , v N v_1,\cdots,v_N v1,,vN
  • 在图信号中,拉普拉斯算子被用来描述中心节点与邻居节点之间信号的差异: L x = ( D − A ) x = [ ⋯   , ∑ v j ∈ N ( v i ) ( x i − x j ) , ⋯   ] T Lx=(D-A)x=[\cdots,\sum_{v_j\in N(v_i)}(x_i-x_j),\cdots]^T Lx=(DA)x=[,vjN(vi)(xixj),]T。由此可知,拉普拉斯矩阵是一个反映图信号局部平滑度的算子。

图信号的总变差 T V ( x ) = x T L x = ∑ e i j ∈ E ( x i − x j ) 2 TV(x)=x^TLx=\sum_{e_{ij}\in E}(x_i-x_j)^2 TV(x)=xTLx=eijE(xixj)2

  • 总变差是一个标量,刻画了图信号整体的平滑度

关于拉普拉斯矩阵的特征值

  • 由于二次型 x T L x ≥ 0 x^TLx\geq 0 xTLx0,因此拉普拉斯矩阵为半正定矩阵,其特征值均非负
  • 可以证明,对于正则化的拉普拉斯矩阵,特征值不大于2

图傅里叶变换

图傅里叶变换GFT x ~ = V T x \tilde{x}=V^Tx x~=VTx

  • x ~ k = ∑ i = 1 N V k i T x i \tilde{x}_k=\sum_{i=1}^{N}V_{ki}^Tx_i x~k=i=1NVkiTxi
  • 特征向量为傅里叶基,傅里叶系数 x ~ k \tilde{x}_k x~k本质上是图信号在傅里叶基上的投影,衡量了图信号与傅里叶基之间的相似度

图傅里叶逆变换IGFT x = V x ~ x=V\tilde{x} x=Vx~

  • x k = ∑ i = 1 N V k i x i ~ x_k=\sum_{i=1}^{N}V_{ki}\tilde{x_i} xk=i=1NVkixi~
  • 特征向量组成了 N N N维特征空间中的一组完备的基向量,图信号可表示为基向量的线性加权,权重则为对应傅里叶基上的傅里叶系数

再次考察总变差, T V ( x ) = x T L x = ( V T x ) T Λ ( V T x ) = x ~ T Λ x ~ = ∑ k = 1 N λ k x ~ k 2 TV(x)=x^TLx=(V^Tx)^T\Lambda(V^Tx)=\tilde{x}^T\Lambda\tilde{x}= \sum_{k=1}^{N}\lambda_k\tilde{x}_k^2 TV(x)=xTLx=(VTx)TΛ(VTx)=x~TΛx~=k=1Nλkx~k2。由此可以看出图信号的总变差与图的特征值之间存在明显的关系。在图信号为单位向量的限定条件下,若 x = v k x=v_k x=vk,则有 T V ( x ) = λ k TV(x)=\lambda_k TV(x)=λk。特别地,当图信号与特征向量 v 1 v_1 v1完全重合时,总变差取最小值。可以进一步证明,如果依此选择彼此正交的图信号 x k x_k xk使得 T V ( x k ) TV(x_k) TV(xk)取最小值,则这组彼此正交的图信号即为 { v 1 , ⋯   , v N } \{v_1,\cdots,v_N\} {v1,,vN},即 λ k = min ⁡ x : ∣ ∣ x ∣ ∣ = 1 , x ⊥ x 1 , ⋯   , x k − 1   x T L x \lambda_k=\min_{x:||x||=1,x\bot x_1,\cdots,x_{k-1}} \ x^TLx λk=minx:x=1,xx1,,xk1 xTLx

通过以上信息可以发现,特征值的依次排列对图信号的平滑度做出了梯度刻画,因此特征值可以看作信号中的频率:特征值越低,则频率越低,对应傅里叶基变化越缓慢;特征值越高,则频率越高,对应傅里叶基变化越剧烈。傅里叶系数可以等价于图信号在对应频率分量上的幅值,反映了图信号在该频率分量上的强度。

图信号能量 E ( x ) = ∣ ∣ x ∣ ∣ 2 2 = x T x = x ~ T x ~ E(x)=||x||_2^2=x^Tx=\tilde{x}^T\tilde{x} E(x)=x22=xTx=x~Tx~

图信号的频谱】 将图信号所有傅里叶系数合称为图信号的频谱

  • 频域视角是一种全局视角,频谱上任意一个傅里叶系数都是对图信号低频或高频特征的定量描述
  • 频谱中既包含了图信号本身值的大小,也考虑了图的结构信息

图滤波器

图滤波器】 假设图滤波器为 H ∈ R N × N H\in R^{N\times N} HRN×N H : R N → R N H:R^N\rightarrow R^N H:RNRN,令输出图信号为 y y y,则有 y = H x = ∑ k = 1 N ( h ( λ k ) x ~ k ) v k y=Hx=\sum_{k=1}^N(h(\lambda_k)\tilde{x}_k)v_k y=Hx=k=1N(h(λk)x~k)vk

对图滤波器的定义式变换可得:
y = H x = ∑ k = 1 N ( h ( λ k ) x ~ k ) v k = [ v 1 ⋯ v N ] [ h ( λ 1 ) x ~ 1 ⋮ h ( λ N ) x ~ N ] = V [ h ( λ 1 ) ⋱ h ( λ N ) ] V T x = ( V Λ h V T ) x y=Hx=\sum_{k=1}^N(h(\lambda_k)\tilde{x}_k)v_k=\begin{bmatrix}v_1 & \cdots & v_N\end{bmatrix}\begin{bmatrix}h(\lambda_1)\tilde{x}_1 \\ \vdots \\ h(\lambda_N)\tilde{x}_N \end{bmatrix}=V\begin{bmatrix}h(\lambda_1) & & \\ & \ddots & \\ & & h(\lambda_N)\end{bmatrix}V^Tx=(V\Lambda_h V^T)x y=Hx=k=1N(h(λk)x~k)vk=[v1vN]h(λ1)x~1h(λN)x~N=Vh(λ1)h(λN)VTx=(VΛhVT)x

观察对角矩阵 Λ \Lambda Λ Λ h \Lambda_h Λh,可以看出 H H H仅改变了主对角线上的特征值( Λ → Λ h \Lambda\rightarrow\Lambda_h ΛΛh)。

频率响应矩阵 Λ h = [ h ( λ 1 ) ⋱ h ( λ N ) ] \Lambda_h=\begin{bmatrix}h(\lambda_1) & & \\ & \ddots & \\ & & h(\lambda_N)\end{bmatrix} Λh=h(λ1)h(λN)

图滤波器通常具有的性质包括:

  • 线性: H ( x + y ) = H x + H y H(x+y)=Hx+Hy H(x+y)=Hx+Hy
  • 顺序无关: H 1 ( H 2 x ) = H 2 ( H 1 x ) H_1(H_2x)=H_2(H_1x) H1(H2x)=H2(H1x)
  • 如果 h ( λ ) ≠ 0 h(\lambda)\neq 0 h(λ)=0,则滤波操作可逆

图位移算子】 矩阵 S ∈ R N × N S\in R^{N\times N} SRN×N,只在对角和边坐标取非零值,即 S i j S_{ij} Sij当且仅当 i ≠ j i\neq j i=j e i j ∉ E e_{ij}\not \in E eijE

  • 典型的图位移算子是邻接矩阵和拉普拉斯矩阵
  • S x Sx Sx描述了一种作用在每个节点一阶子图上的变换操作

图滤波器的多项式表示】 对于平移不变的图滤波器,可以使用图位移算子的多项式进行表示: H = ∑ k = 0 N h k S k H=\sum_{k=0}^{N}h_kS^k H=k=0NhkSk

空域角度

定义 x ( k ) = S k x = S x ( k − 1 ) x^{(k)}=S^kx=Sx^{(k-1)} x(k)=Skx=Sx(k1),则 y = ∑ k = 0 K h k x ( k ) y=\sum_{k=0}^{K}h_kx^{(k)} y=k=0Khkx(k)。由于 S S S为图位移算子,因此 x ( k − 1 ) x^{(k-1)} x(k1) x ( k ) x^{(k)} x(k)的变换只需要所有节点的一阶邻居参与计算,这种性质称为图滤波器的局部性

从空域角度看,滤波操作具有的性质包括:

  • 局部性:每个节点的输出信号值只需要考虑其K阶子图
  • 可通过K步迭代式的矩阵向量乘法完成滤波操作

频域角度

当图位移算子为拉普拉斯矩阵时,图滤波器可表示为 H = ∑ k = 0 N h k L k = V ( ∑ k = 0 K h k Λ k ) V T = V [ ∑ k = 0 K h k λ 1 k ⋱ ∑ k = 0 K h k λ N k ] V T H=\sum_{k=0}^{N}h_kL^k=V(\sum_{k=0}^K h_k\Lambda^k)V^T=V\begin{bmatrix}\sum_{k=0}^{K}h_k\lambda_1^k && \\ & \ddots \\ && \sum_{k=0}^{K}h_k\lambda_N^k\end{bmatrix}V^T H=k=0NhkLk=V(k=0KhkΛk)VT=Vk=0Khkλ1kk=0KhkλNkVT。当 K K K足够大时,可以用上述方式逼近任意一个关于 λ \lambda λ的函数。

频域下滤波操作可表示为 y = H x = V ( ∑ k = 0 K h k Λ k ) V T x y=Hx=V(\sum_{k=0}^K h_k\Lambda^k)V^Tx y=Hx=V(k=0KhkΛk)VTx,变换过程主要由3步组成:

  • 通过GFT将图信号变换到频域空间,得到 V T x V^Tx VTx
  • 通过 Λ h \Lambda_h Λh对频率分量的强度进行调节,得到 Λ h V T x \Lambda_h V^Tx ΛhVTx
  • 通过IGFT将调节后的信号进行反解,得到 V Λ h V T x V\Lambda_hV^Tx VΛhVTx

假设所有多项式系数 h k h_k hk构成向量 h h h,则 H H H的频率响应矩阵为 Λ h = ∑ k = 0 K h k Λ k = d i a g ( Ψ h ) \Lambda_h=\sum_{k=0}^Kh_k\Lambda^k=diag(\Psi h) Λh=k=0KhkΛk=diag(Ψh),其中 Ψ = [ 1 λ 1 ⋯ λ 1 K 1 λ 2 ⋯ λ 2 K ⋮ ⋮ ⋱ ⋮ 1 λ N ⋯ λ N K ] \Psi=\begin{bmatrix} 1& \lambda_1& \cdots & \lambda_1^K \\ 1& \lambda_2& \cdots & \lambda_2^K \\ \vdots & \vdots & \ddots & \vdots \\ 1& \lambda_N& \cdots & \lambda_N^K\end{bmatrix} Ψ=111λ1λ2λNλ1Kλ2KλNK为范德蒙矩阵。我们可以通过上式反解得到多项式系数 h = Ψ − 1 d i a g − 1 ( Λ h ) h=\Psi^{-1}diag^{-1}(\Lambda_h) h=Ψ1diag1(Λh),其中 d i a g − 1 diag^{-1} diag1将对角矩阵变换为列向量。

从频域角度看,图滤波操作具有如下性质:

  • 在频域能够更加清晰地完成对图信号的特定滤波操作
  • 图滤波器如何设计具有显式的公式推导
  • 对矩阵进行特征分解是非常耗时的操作,时间复杂度为 O ( N 3 ) O(N^3) O(N3)。相比空域视角的矩阵向量乘法而言有一定局限性。

图卷积神经网络

图卷积运算 x 1 ∗ x 2 = I G F T ( G F T ( x 1 ) ⊙ G F T ( x 2 ) ) x_1*x_2=IGFT(GFT(x_1)\odot GFT(x_2)) x1x2=IGFT(GFT(x1)GFT(x2)) ⊙ \odot 为哈达玛积。

x 1 ∗ x 2 = V ( ( V T x 1 ) ⊙ ( V T x 2 ) ) = V ( x ~ 1 ⊙ ( V T x 2 ) ) = V ( d i a g ( x ~ 1 ) ( V T x 2 ) ) = ( V ⋅ d i a g ( x ~ 1 ) V T ) x 2 = H x ~ 1 x 2 \begin{aligned} x_1*x_2 &=V((V^Tx_1)\odot (V^Tx_2))\\ &=V(\tilde{x}_1\odot (V^Tx_2))\\ &=V(diag(\tilde{x}_1)(V^Tx_2))\\ &=(V\cdot diag(\tilde{x}_1)V^T)x_2\\ &=H_{\tilde{x}_1}x_2 \end{aligned} x1x2=V((VTx1)(VTx2))=V(x~1(VTx2))=V(diag(x~1)(VTx2))=(Vdiag(x~1)VT)x2=Hx~1x2

由上述推导可知,两组图信号的图卷积运算总能转化为对应形式的图滤波运算,因此图卷积可以等价于图滤波。

先前讨论的图信号都以一维列向量形式表示,但是图信号可以拓展到多通道的矩阵形式 X ∈ R N × d X\in R^{N\times d} XRN×d,即图信号矩阵 d d d为图信号的总通道数。相应地,图滤波操作表示为 Y = H X Y=HX Y=HX,其中第 j j j个通道的输出 Y : , j Y_{:,j} Y:,j对应于输入 X : , j X_{:,j} X:,j

对频率响应矩阵进行参数化

图滤波算子的核心在于频率响应矩阵。定义如下网络层:

X ′ = σ ( V [ θ 1 ⋱ θ N ] V T X ) = σ ( V d i a g ( θ ) V T ) = σ ( Θ X ) X'=\sigma(V\begin{bmatrix}\theta_1 & & \\ & \ddots & \\ & & \theta_N\end{bmatrix}V^TX)=\sigma(V diag(\theta) V^T)=\sigma(\Theta X) X=σ(Vθ1θNVTX)=σ(Vdiag(θ)VT)=σ(ΘX)

在上式中, { θ 1 , ⋯   , θ N } \{\theta_1,\cdots,\theta_N\} {θ1,,θN}为需要学习的参数, Θ \Theta Θ为参数对应的图滤波器。从空域看,网络层引入了自适应的图位移算子,通过学习的手段指导算子的学习;从频域看,网络层在 X X X X ′ X' X之间训练了一个可自适应的图滤波器,对应的频率响应函数可通过监督学习实现。

该方案存在的问题是引入的学习参数过多,需要学习的参数量与图中节点数一致,这样极易发生过拟合问题。另外,在真实图数据中,数据的有效信息通常蕴含在低频段中,因此图滤波器设置N个维度的自由度且对每个频率都进行学习是没必要的。

对多项式系数进行参数化

为了拟合任意的频率响应函数,可以将拉普拉斯矩阵的多项式形式转化为一种可学习的形式: X ′ = σ ( V ( ∑ k = 0 K θ k Λ k ) V T X ) = σ ( V d i a g ( Ψ θ ) V T X ) X'=\sigma(V(\sum_{k=0}^{K}\theta_k\Lambda^k)V^TX)=\sigma(V diag(\Psi\theta)V^TX) X=σ(V(k=0KθkΛk)VTX)=σ(Vdiag(Ψθ)VTX),其中 { θ 1 , ⋯   , θ K } \{\theta_1,\cdots,\theta_K\} {θ1,,θK}为多项式系数向量,也是网络层需要学习的参数。参数量 K K K可自由控制, K K K的大小可以衡量输入与输出之间滤波关系的复杂程度,一般 K ≪ N K\ll N KN以减小过拟合的风险。

该方案存在的问题主要在于依赖矩阵的特征分解而为计算带来较高复杂度。

设计固定的图滤波器

在多项式系数参数化方案的基础上,设定 K = 1 K=1 K=1,因此 X ′ = σ ( θ 0 X + θ 1 L X ) X'=\sigma(\theta_0X+\theta_1LX) X=σ(θ0X+θ1LX),再设 θ 0 = θ 1 = θ \theta_0=\theta_1=\theta θ0=θ1=θ,则有 X ′ = σ ( θ ( E + L ) X ) = σ ( θ L ~ X ) X'=\sigma(\theta(E+L)X)=\sigma(\theta\tilde{L}X) X=σ(θ(E+L)X)=σ(θL~X)。对上式进行归一化处理,此时 θ \theta θ可取1,最后可以得到一个固定的图滤波器 L ~ \tilde{L} L~

为了加强学习是的数值稳定性,对 L ~ \tilde{L} L~也进行了类似拉普拉斯矩阵的归一化处理:

L ~ s y m = D ~ − 1 2 A ~ D ~ − 1 2 A ~ = A + I D ~ i i = ∑ j A ~ i j \begin{aligned} \tilde{L}_{sym}&=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}\\ \tilde{A}&=A+I\\ \tilde{D}_{ii}&=\sum_{j}\tilde{A}_{ij} \end{aligned} L~symA~D~ii=D~21A~D~21=A+I=jA~ij

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

图卷积层(GCN Layer) X ′ = σ ( L ~ s y m X W ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 X W ) X'=\sigma(\tilde{L}_{sym}XW)=\sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}XW) X=σ(L~symXW)=σ(D~21A~D~21XW)

  • A ~ = A + I \tilde{A}=A+I A~=A+I
  • D ~ i i = ∑ j A ~ i j \tilde{D}_{ii}=\sum_{j}\tilde{A}_{ij} D~ii=jA~ij

图卷积层是对频率响应函数拟合形式上的极大简化,最后图滤波器退化为 L ~ s y m \tilde{L}_{sym} L~sym。图卷积层的计算过程相当于对节点的一阶邻居进行了聚合,但是通过堆叠多层GCN可以达到高阶多项式对频率响应函数的拟合效果。在工程上, L ~ s y m \tilde{L}_{sym} L~sym可以用稀疏矩阵表示,能够降低图卷积层的计算复杂度。相比频域中矩阵特征分解的 O ( N 3 ) O(N^3) O(N3)复杂度,图卷积层的复杂度可降低为 O ( ∣ E ∣ d ) O(|E|d) O(Ed)

对于固定的图滤波器的合理性可以进行如下说明:

  • L ~ s y m \tilde{L}_{sym} L~sym本身具有的滤波特性是符合真实数据的性质的,能够对数据实现高效的滤波操作
  • 虽然GCN层是对频率响应函数的线性近似推导而来,但是通过堆叠GCN层可以达到高阶多项式形式的频率响应函数的滤波能力

一般来说,对于只能从频域出发进行矩阵特征分解从而执行图卷积计算的模型,称之为频域图卷积模型;对于图卷积计算不需要进行矩阵特征分解,能在空域执行矩阵乘法计算的模型,称之为空域图卷积模型。虽然空域图卷积模型在工程上具有优越性,但是频域视角对于图卷积模型的设计仍然是十分重要的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值