谱图卷积
谱图卷积是一种基于图的谱表示(即图的拉普拉斯矩阵的特征分解)的图卷积方法。谱图卷积的核心思想是将图信号(节点特征)转换到图的谱域(频域)中进行处理,然后再转换回空间域。这种方法的灵感来源于信号处理中的傅里叶变换和频域滤波。
谱图卷积的基础是图的拉普拉斯矩阵(Laplacian matrix),它是一种描述图结构的重要矩阵。对于无向图,拉普拉斯矩阵定义为:
L
=
D
−
A
L = D - A
L=D−A
其中,
L
L
L是拉普拉斯矩阵,
D
D
D是图的度矩阵(对角矩阵,对角线元素为每个节点的度数),
A
A
A是图的邻接矩阵。
拉普拉斯矩阵是实对称矩阵,因此可以进行特征分解:
L
=
U
Λ
U
T
L = U \Lambda U^T
L=UΛUT
其中,
U
U
U是拉普拉斯矩阵的特征向量矩阵,
Λ
\Lambda
Λ是对角矩阵,其对角线元素为拉普拉斯矩阵的特征值。
谱图卷积的基本步骤如下:
-
图信号傅里叶变换:将图信号(节点特征)从空间域转换到谱域。这通过计算图信号与拉普拉斯矩阵的特征向量的内积实现:
X ^ = U T X \hat{X} = U^T X X^=UTX
其中, X ^ \hat{X} X^是图信号在谱域中的表示, X X X是图信号在空间域中的表示。 -
频域滤波:在谱域中对图信号进行滤波操作。这通过设计滤波器函数 g ( Λ ) g(\Lambda) g(Λ)并作用于图信号的谱表示实现:
X ~ = g ( Λ ) X ^ \tilde{X} = g(\Lambda) \hat{X} X~=g(Λ)X^
其中, X ~ \tilde{X} X~是滤波后的图信号在谱域中的表示。 -
逆傅里叶变换:将滤波后的图信号从谱域转换回空间域。这通过计算滤波后的图信号与拉普拉斯矩阵的特征向量的外积实现:
X ′ = U X ~ X' = U \tilde{X} X′=UX~
其中, X ′ X' X′是滤波后的图信号在空间域中的表示。
谱图卷积的优点在于它能够精确地捕获图结构中的全局信息,并且可以设计不同的滤波器来捕获不同类型的图模式。然而,谱图卷积也存在一些局限性,例如计算复杂度较高(特征分解的复杂度是 O ( N 3 ) O(N^3) O(N3),其中 N N N是节点数量),以及难以处理动态图和不规则图结构。
为了克服谱图卷积的局限性,研究人员提出了空间图卷积方法,例如图卷积网络(GCN)。GCN可以看作是谱图卷积的一种简化和近似。GCN的图卷积操作可以表示为:
H
(
l
+
1
)
=
ReLU
(
D
~
−
1
2
A
~
D
~
−
1
2
H
(
l
)
W
(
l
)
)
H^{(l+1)} = \text{ReLU}\left(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)}\right)
H(l+1)=ReLU(D~−21A~D~−21H(l)W(l))
其中,
A
~
=
A
+
I
\tilde{A}=A+I
A~=A+I是邻接矩阵加上自环的结果,
D
~
\tilde{D}
D~是
A
~
\tilde{A}
A~的度矩阵,
H
(
l
)
H^{(l)}
H(l)表示第
l
l
l层的节点特征矩阵,
W
(
l
)
W^{(l)}
W(l)表示第
l
l
l层的权重矩阵。
可以发现,GCN中的归一化邻接矩阵 D ~ − 1 2 A ~ D ~ − 1 2 \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} D~−21A~D~−21与拉普拉斯矩阵的特征分解有关。实际上,GCN的图卷积操作可以看作是在图的谱域中使用一个简单的线性滤波器对节点特征进行卷积。这种简化和近似使得GCN能够在空间域中直接进行计算,从而避免了昂贵的特征分解操作。
总的来说,谱图卷积是一种基于图的谱表示进行图卷积的方法,它能够精确地捕获图结构中的全局信息,但计算复杂度较高。空间图卷积方法(如GCN)是谱图卷积的一种简化和近似,它在空间域中直接进行计算,降低了计算复杂度,并且更适合处理动态图和不规则图结构。这两种方法都是图神经网络中的重要组成部分,它们在各种图相关任务中都取得了优异的性能。
谱图卷积例子
谱图卷积的核心思想是在图的谱域(频域)中设计和应用滤波器。这种方法的灵感来源于信号处理中的傅里叶变换和频域滤波。下面我们将通过几个复杂的例子来进一步探讨谱图卷积的应用。
例1:多尺度谱图卷积
在谱图卷积中,我们可以设计多尺度的滤波器来捕获图中不同尺度的模式。例如,我们可以设计一个多项式滤波器:
g
(
Λ
)
=
∑
k
=
0
K
θ
k
Λ
k
g(\Lambda) = \sum_{k=0}^{K} \theta_k \Lambda^k
g(Λ)=k=0∑KθkΛk
其中,
Λ
\Lambda
Λ是图拉普拉斯矩阵的特征值矩阵,
θ
k
\theta_k
θk是滤波器的参数,
K
K
K是滤波器的阶数。这个多项式滤波器可以捕获图中不同尺度的信息,其中较低阶的项捕获局部信息,而较高阶的项捕获全局信息。通过调整滤波器的阶数和参数,我们可以实现对图中不同尺度模式的聚焦。
例2:自适应谱图卷积
自适应谱图卷积是一种通过学习滤波器参数来自适应地捕获图结构信息的方法。例如,我们可以设计一个自适应的高斯滤波器:
g
(
Λ
)
=
exp
(
−
(
Λ
−
μ
)
2
2
σ
2
)
g(\Lambda) = \exp\left(-\frac{(\Lambda - \mu)^2}{2\sigma^2}\right)
g(Λ)=exp(−2σ2(Λ−μ)2)
其中,
Λ
\Lambda
Λ是图拉普拉斯矩阵的特征值矩阵,
μ
\mu
μ和
σ
\sigma
σ是滤波器的参数,分别表示高斯滤波器的中心和宽度。这个自适应高斯滤波器可以通过学习参数
μ
\mu
μ和
σ
\sigma
σ来自动调整滤波器的形状,从而适应不同的图结构。
例3:图自编码器与谱聚类
图自编码器是一种无监督学习模型,它可以用于图的嵌入表示和聚类分析。谱图卷积可以作为图自编码器的编码器和解码器的一部分。例如,我们可以设计一个基于谱图卷积的图自编码器,其中编码器使用谱图卷积对图信号进行降维,解码器使用谱图卷积对降维后的表示进行重构。通过训练图自编码器最小化重构误差,我们可以获得图的低维嵌入表示,进而用于谱聚类或其他无监督学习任务。
具体而言,图自编码器的编码器部分可以使用谱图卷积对图信号进行降维:
Z
=
Encoder
(
X
)
=
ReLU
(
U
g
(
Λ
)
U
T
X
W
)
Z = \text{Encoder}(X) = \text{ReLU}(U g(\Lambda) U^T X W)
Z=Encoder(X)=ReLU(Ug(Λ)UTXW)
其中,
X
X
X是输入的图信号(节点特征矩阵),
U
U
U是图拉普拉斯矩阵的特征向量矩阵,
Λ
\Lambda
Λ是特征值矩阵,
g
(
Λ
)
g(\Lambda)
g(Λ)是滤波器函数,
W
W
W是可学习的权重矩阵,
Z
Z
Z是编码后的低维嵌入表示。
解码器部分可以使用另一个谱图卷积对低维嵌入表示进行重构:
X
^
=
Decoder
(
Z
)
=
ReLU
(
U
g
′
(
Λ
)
U
T
Z
W
′
)
\hat{X} = \text{Decoder}(Z) = \text{ReLU}(U g'(\Lambda) U^T Z W')
X^=Decoder(Z)=ReLU(Ug′(Λ)UTZW′)
其中,
g
′
(
Λ
)
g'(\Lambda)
g′(Λ)是解码器的滤波器函数,
W
′
W'
W′是解码器的权重矩阵,
X
^
\hat{X}
X^是重构的图信号。
图自编码器的目标是最小化输入图信号与重构图信号之间的重构误差:
Loss
=
∥
X
−
X
^
∥
2
\text{Loss} = \|X - \hat{X}\|^2
Loss=∥X−X^∥2
通过训练图自编码器,我们可以得到图的低维嵌入表示 Z Z Z,该表示可以捕获图中的结构信息和节点特征信息。得到低维嵌入表示后,我们可以使用谱聚类或其他聚类算法对图中的节点进行聚类分析,从而实现无监督的图分析任务。
总的来说,谱图卷积是一种强大的图卷积方法,它能够精确地捕获图中的全局信息,并且可以设计不同类型的滤波器来捕获不同尺度和模式的图结构信息。谱图卷积在图表示学习、图聚类、图生成模型等多种图分析任务中都有广泛的应用。然而,谱图卷积也存在一些局限性,例如计算复杂度较高,难以处理动态图和不规则图结构。因此,研究人员也提出了许多基于空间的图卷积方法,如GCN、GAT等,以克服谱图卷积的局限性。
GCN(Graph Convolutional Network)的图卷积操作可以看作是在图的谱域中使用一个简单的线性滤波器对节点特征进行卷积。这个观点的理解需要从谱图卷积的原理出发,并了解GCN的图卷积操作是如何近似于谱图卷积的。
首先,我们回顾一下谱图卷积的原理。谱图卷积是基于图的拉普拉斯矩阵(Laplacian matrix)的特征分解进行的。对于无向图,标准化的图拉普拉斯矩阵定义为:
L
sym
=
I
−
D
−
1
2
A
D
−
1
2
L_{\text{sym}} = I - D^{-\frac{1}{2}} A D^{-\frac{1}{2}}
Lsym=I−D−21AD−21
其中,
L
sym
L_{\text{sym}}
Lsym是标准化的图拉普拉斯矩阵,
I
I
I是单位矩阵,
D
D
D是图的度矩阵,
A
A
A是图的邻接矩阵。
标准化的图拉普拉斯矩阵是实对称矩阵,因此可以进行特征分解:
L
sym
=
U
Λ
U
T
L_{\text{sym}} = U \Lambda U^T
Lsym=UΛUT
其中,
U
U
U是特征向量矩阵,
Λ
\Lambda
Λ是特征值矩阵。
谱图卷积的操作可以表示为:
X
′
=
g
(
Λ
)
U
T
X
X' = g(\Lambda) U^T X
X′=g(Λ)UTX
其中,
X
X
X是输入的节点特征矩阵,
X
′
X'
X′是卷积后的节点特征矩阵,
g
(
Λ
)
g(\Lambda)
g(Λ)是滤波器函数。
接下来,我们来看GCN的图卷积操作。GCN的图卷积操作可以表示为:
H
(
l
+
1
)
=
ReLU
(
D
~
−
1
2
A
~
D
~
−
1
2
H
(
l
)
W
(
l
)
)
H^{(l+1)} = \text{ReLU}\left(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)}\right)
H(l+1)=ReLU(D~−21A~D~−21H(l)W(l))
其中,
A
~
=
A
+
I
\tilde{A}=A+I
A~=A+I是邻接矩阵加上自环的结果,
D
~
\tilde{D}
D~是
A
~
\tilde{A}
A~的度矩阵,
H
(
l
)
H^{(l)}
H(l)表示第
l
l
l层的节点特征矩阵,
W
(
l
)
W^{(l)}
W(l)表示第
l
l
l层的权重矩阵。
可以观察到,GCN的图卷积操作中的归一化邻接矩阵 D ~ − 1 2 A ~ D ~ − 1 2 \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} D~−21A~D~−21与标准化的图拉普拉斯矩阵 L sym L_{\text{sym}} Lsym具有相同的特征分解。因此,GCN的图卷积操作可以看作是在图的
谱域中使用一个简单的线性滤波器对节点特征进行卷积。
具体来说,GCN的滤波器函数可以看作是一个简单的线性函数:
g
(
Λ
)
=
I
g(\Lambda) = I
g(Λ)=I
其中,
I
I
I是单位矩阵。这意味着GCN的滤波器在谱域中是一个恒等变换,不会改变特征值的大小。
将这个简单的线性滤波器应用到谱图卷积的公式中,我们可以得到:
X
′
=
g
(
Λ
)
U
T
X
=
U
T
X
X' = g(\Lambda) U^T X = U^T X
X′=g(Λ)UTX=UTX
由于
D
~
−
1
2
A
~
D
~
−
1
2
\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}
D~−21A~D~−21与
L
sym
L_{\text{sym}}
Lsym具有相同的特征分解,因此我们可以将上式改写为:
X
′
=
D
~
−
1
2
A
~
D
~
−
1
2
X
X' = \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X
X′=D~−21A~D~−21X
这正是GCN的图卷积操作的一部分。当然,GCN的图卷积操作还包括权重矩阵 W ( l ) W^{(l)} W(l)的乘法和ReLU激活函数,这些操作是在空间域中进行的。
总的来说,GCN的图卷积操作可以看作是在图的谱域中使用一个简单的线性滤波器对节点特征进行卷积。这种简化和近似使得GCN能够在空间域中直接进行计算,从而避免了昂贵的特征分解操作。同时,GCN也能够捕获图中的局部结构信息,并在各种图相关任务中取得优异的性能。