前言
基于频域的GCN是GCN研究领域的一大重点,但其中涉及到很多关于信号处理的方面的知识,入门较难。此篇博客意在通俗的解释GCN的理论基础,推导基于频域的初代GCN。省略大篇幅的理论证明,梳理基于频域GCN的理论框架为后续学习做准备
具体详解可以看这几篇文章,个人觉得非常清晰,质量也很高
详解1
详解2
1.GCN的理论框架
在这里只说结论
首先明确我们的目的:我们希望在图上进行卷积操作以达到类似于CNN的提取局部特征的目的
存在的困难:图属于非欧几里得数据,不像CNN一样有固定的结构也就不存在固定大小的卷积核提取feature map,因此在原域上直接进行卷积存在困难。
解决方法:根据卷积和傅里叶变换的意义我们可以得出这样的一个结论:
图域卷积相当于傅里叶域相乘即
f
∗
g
=
F
−
1
{
F
{
f
}
∗
F
{
g
}
}
f*g=F^{-1}\{F\{f\}*F\{g\}\}
f∗g=F−1{F{f}∗F{g}}
也就是说算图域卷积相当于先对图和卷积核做傅里叶变换后相乘,之后再进行傅里叶反变换就得到了图域的卷积。其中傅里叶变换的具体计算又跟图的拉普拉斯矩阵有关,因此这两个概念对于图卷积的计算非常重要。
解决流程:
- 1.问题转化:
通过对卷积及傅里叶变换概念的挖掘,发现两者之间存在一种关系:原域卷积相当于频域相乘,初代GCN的思路就是建立在此之上。因此我们为了实现在图域上进行我们熟悉的类比于CNN的卷积操作,将待解决的问题转化为与傅里叶变换有关的频域计算上 - 2.将传统的傅里叶变换、卷积类比到Graph上的傅里叶变换及卷积
下一步我们就要思考如何对图和可以看作是卷积核的 g g g进行从图域到频域的转化。也就是以此为信号进行傅里叶变换,传统的傅里叶变换形式如下就是信号 f ( t ) f(t) f(t)与基函数 e − i w t e^{-iwt} e−iwt在时域上的积分。如果说 f ( t ) f(t) f(t)可以看作是图中相应结点的特征向量或邻接矩阵等诸如此类表示信息的信号的话,基函数就有些一头雾水,因此下一步的关键就是找到基函数与图的关系。从数学上来看 e − i w t e^{-iwt} e−iwt是拉普拉斯算子的特征函数(满足特征方程)。把传统的傅里叶变换以及卷积迁移到Graph上来,核心工作其实就是把拉普拉斯算子的特征函数变为Graph对应的拉普拉斯矩阵的特征向量。由此得出结论可以用拉普拉斯矩阵的特征向量表示傅里叶变换中的基函数 - 3.利用矩阵乘法将Graph上的傅里叶变换推广到矩阵形式。傅里叶变换的含义是在时域上进行积分,对于图域来说可以看成是对应不同特征值(频率)情况下进行离散式的求和。这里只做大概的阐述,具体的说明在最前面给出
傅里叶变换
傅里叶逆变换
- 4.将图上的将图上的傅里叶变换推广到卷积
在前面我们从卷积这一概念作为出发点根据相关性质进行问题的转化。最后我们进行收尾,也就是直观的看在图域上进行卷积
这是笔者所总结的大致流程具体过程之后会有更加详细的表述
2. 图的拉普拉斯矩阵
2.1意义
图的性质可以表示在拉普拉斯矩阵中,即图的性质可以通过拉普拉斯矩阵体现出来,这样可以将对图的分析变为对拉普拉斯矩阵的分析
2.2常用的三种拉普拉斯矩阵
常用的拉普拉斯矩阵实际有三种:
普通形式的拉普拉斯矩阵
定义的Laplacian 矩阵更专业的名称叫Combinatorial Laplacian:
L
=
D
−
A
L=D-A
L=D−A
L中的元素给定为
其中diag(vi) 表示顶点 i 的度。
对称归一化的拉普拉斯矩阵(Symmetric normalized Laplacian)
定义的叫Symmetric normalized Laplacian:
L
s
y
s
=
D
−
1
/
2
L
D
−
1
/
2
L^{sys}=D^{-1/2}LD^{-1/2}
Lsys=D−1/2LD−1/2,
矩阵元素定义为:
很多GCN的论文中应用的是这种拉普拉斯矩阵
随机游走归一化拉普拉斯矩阵(Random walk normalized Laplacian)
L
r
w
=
D
−
1
L
=
I
−
D
−
1
A
L^{rw}=D^{-1}L=I-D^{-1}A
Lrw=D−1L=I−D−1A
矩阵元素定义为:
一个拉普拉斯矩阵的计算例子(依据于上图):
总结来看 : D代表图中结点的度数矩阵,仅在对角线上有值,A为邻接矩阵,
D
−
1
/
2
D^{-1/2}
D−1/2即1/
x
1
/
2
x^{1/2}
x1/2
此节重点在于拉普拉斯矩阵的意义和三种常用拉普拉斯矩阵的计算
3傅里叶变换
3.1傅里叶变换定义
3.2卷积定理
由上面给出的傅里叶变换的定义可以证明卷积定理即
f
∗
g
=
F
−
1
{
F
{
f
}
∗
F
{
g
}
}
f*g=F^{-1}\{F\{f\}*F\{g\}\}
f∗g=F−1{F{f}∗F{g}}**
定义
h
h
h是
f
f
f和
g
g
g卷积
3.3傅里叶变换与拉普拉斯矩阵的关系
两者的关系:传统傅里叶变换的基是拉普拉斯矩阵的一组特征向量
因此从求傅立叶变换的基转换到求拉普拉斯矩阵的特征向量。也就是GCN理论最重要的部分:
拉普拉斯矩阵的谱分解
因此我们现在关注于求解拉普拉斯矩阵特征向量的问题,首先明确一下拉普拉斯矩阵的特殊性质
- 拉普拉斯矩阵是半正定矩阵(半正定矩阵本身就是对称矩阵)
- 对称矩阵一定有n个线性无关的特征向量
- 特征值非负
- 对称矩阵的特征向量彼此正交,即所有特征向量构成的矩阵为正交矩阵
由此可知,拉普拉斯矩阵一定可以谱分解且分解后有特殊形式
3.4公式描述及物理意义
上式总结起来就是
- 图 G G G上的第 i i i个点的signal为 f ( i ) f(i) f(i)
- U l ∗ U_l^* Ul∗是矩阵 U T U^T UT的第 l l l行, U l U_l Ul是矩阵 U U U的第 l l l行
- 那么特征值(频率) λ l \lambda_l λl下的, f f f的Graph 傅里叶变换就是与 λ l \lambda_l λl对应的特征向量 U l U_l Ul进行内积运算。
此节的重点在于
总结来说进行了一系列问题的转换:
原域卷积==>频域相乘后逆运算
求傅里叶变换的基==>拉普拉斯矩阵的特征向量==>拉普拉斯矩阵的谱分解(特征分解)
4图卷积Graph convolution
4.1图的傅里叶变换的矩阵形式
傅里叶变换
原形式
矩阵形式
符号描述
反傅里叶变换
原形式
矩阵形式
符号描述
4.2将图上的傅里叶变换推广到卷积
原理
带入变形
从上面可以看出,对卷积核ggg和fff进行傅里叶变换的结果
U
T
g
U^Tg
UTg,
U
T
f
U^Tf
UTf都是列向量:
所以,很多论文中的Graph卷积公式也写作:
⊙
⊙
⊙ 表示hadamard product(哈达马积)对于两个向量,就是进行内积运算;对于维度相同的两个矩阵,就是对应元素的乘积运算。如果把
U
T
g
U^Tg
UTg整体看作可学习的卷积核,这里把它写作
g
θ
g\theta
gθ可以得出图上最终的卷积公式:
有的地方,还把
g
θ
=
U
T
g
g_\theta=U^Tg
gθ=UTg也成对角矩阵的形式,即定义一个滤波
g
θ
=
d
i
a
g
(
U
T
g
)
g_\theta=diag(U^T g)
gθ=diag(UTg),则:
总结
这只是初代基于频域GCN的理论框架,也就是推导过程,其中详细的数学证明没有涉及。之后基于频域的GCN方法大多都是在 g θ g\theta gθ上面进行优化以达到减小计算量和提高效率的目的。关于初代基于频域GCN的更加详细的内容比如优缺点和其中细节,会在阅读相关论文后整理在内容笔记中