摘要
Spectral-based GNN方法借助了信号与系统中的傅里叶变换,定义了一套Spectral Graph Theory,用Discrete time Fourier basis体现频率与信号能量差距之间的关系,使用特征值等价频率,再构造傅里叶变换与逆傅里叶变换得到图神经网络的卷积输出。推导出方法存在的两个弊端,随后应用此方法的ChebNet与GCN优化了弊端,得到广泛使用的Model。
1 Fourier Transform
首先了解一下Almost Fourier Transform。如何让机器挑出一个信号的频率?将以时间为横轴、强度为纵轴的波形信号缠绕在一个单位圆上,关注两个变量:一个是信号的频率,每秒上下震荡
N
N
N次;另一个是图像缠绕中心圆的频率,每秒转
n
n
n圈。增大缠绕频率
n
n
n的大小,使信号缠绕得越来越快,也就是每秒转圈数
n
n
n越来越大,做一个二维平面上的缠绕图像,记录图像质心的位置变化。
先暂时只记录质心在x轴的位置变化,绘制图像,发现n逐渐变大,质心几乎只在原点附近移动;当在n=N附近时,质心会大幅度地远离原点,所以图像呈现出在n=N附近存在高峰。数值n就是信号的频率。这台机器可以识别复杂的波形,将其中的频率分离出来。
接下来是用数学公式描述将信号缠绕在中心圆上。“缠绕图像”的质心在二维平面上,需要记录两个轴的坐标,由于复数非常适合于描述与缠绕和旋转有关的事物,因此质心用一个复数表示。尤拉公式
e
n
u
m
?
i
e^{num\cdot i}
enum?i表示落在单位圆沿逆时针方向走了num长的点上,
g
(
t
)
e
?
2
π
i
f
t
g(t)e^{-2\pi ift}
g(t)e?2πift概括了整个将可变频率f缠绕起来的想法。质心具体位置由时间-强度信号图中抽取样本点、对应到缠绕图像上、取平均得到。如果取样的点越多,结果靠得越近,也就越准确。所以取极限,实际是把函数积分,再除以时间的长度。 Fourier Transform只是上式中的积分部分,其含义不再是质心,而是把它倍增。如果某个频率持续了很长时间,这个频率的傅里叶变换的模长就被放的很大。
2 Spectral-based GNN
2.1 整体思想
Spectral-based GNN的思想如图4所示。
2.2 Spectral Graph Theory
图5列出使用的符号与含义,定义Graph由
V
,
E
V, E
V,E表示,节点数量记为
N
N
N,adjacency matrix记录节点之间的相邻关系,degree matrix是一个对角矩阵、记录每一个节点的邻居数,定义Graph Laplacian L = D - A,再计算Laplacian矩阵的特征值与特征向量。 Discrete time Fourier basis,指频率越大,相邻两点之间的信号变化量就越大,用
f
T
L
f
=
1
2
∑
v
i
∈
V
∑
v
j
∈
V
w
i
,
j
(
f
(
v
i
)
?
f
(
v
j
)
)
2
f^TLf=\dfrac{1}{2}\displaystyle\sum_{v_i\in V}\displaystyle\sum_{v_j\in V}w_{i,j}\big(f(v_i)-f(v_j)\big)^2
fTLf=21?vi?∈V∑?vj?∈V∑?wi,j?(f(vi?)?f(vj?))2表示相邻两点的信号的能量差距。特征向量的频率等于它们对应的特征值,并且特征值也代表图中两两相邻节点的信号的能量差距。下面需构造Fourier Transform对图进行卷积。
y
^
=
g
θ
(
Λ
)
x
^
\hat y=g_\theta(\Lambda)\hat x
y^?=gθ?(Λ)x^,具体如图6所示。 图6是对图4的具体设计,经过傅里叶变换的时域信号与频率信号相乘,得到Spectral Domain的信号
y
^
\hat y
y^?。其中
g
θ
(
Λ
)
g_\theta(\Lambda)
gθ?(Λ)作为Filter,由机器学习得到。 最后做Inverse Fourier Transform,如图7所示。 左乘特征向量得到最终卷积的输出。
y
=
g
θ
(
U
Λ
U
T
)
x
=
g
θ
(
L
)
x
y=g_\theta(U\Lambda U^T)x=g_\theta(L)x
y=gθ?(UΛUT)x=gθ?(L)x
2.3 方法的弊端
这个方法存在两个弊端,一是Filter学习的复杂程度随着输入图的规格变化而变化,如果输入图的大小不一样,那么Filter的参数量会有很明显的差距。二是机器可能会学习到一些我们不想让它学到的信号。因为此方法机器学到
g
θ
(
L
)
g_\theta(L)
gθ?(L),而
g
θ
(
L
)
g_\theta(L)
gθ?(L)可以是任何函数,有些函数会计算不相邻的节点的信号,导致整个Graph的信号互相影响,这就失去了Filter的意义。
3 应用算法
3.1 ChebNet
这个Model解决了上述两个弊端,算法如图8所示。 算法限制
g
θ
(
L
)
g_\theta(L)
gθ?(L)的函数为Laplacian的多项式函数,机器要学的就是多项式函数的系数。 当前算法的时间复杂度为
O
(
N
2
)
O(N^2)
O(N2)。ChebNet采取一些数学转换来简化运算,如图9所示。 得到
y
=
g
θ
′
(
L
)
x
=
∑
k
=
0
K
θ
k
′
T
k
(
L
)
x
y=g_{\theta'}(L)x=\displaystyle\sum_{k=0}^K \theta_k' T_k(L)x
y=gθ′?(L)x=k=0∑K?θk′?Tk?(L)x,再利用Chebyshev polynomial展开。 最终递归算出多项式的参数。以上是一个Filter的工作过程,Spectral-based GNN可以叠多层channel。
3.2 GCN
GCN目前非常受欢迎,它在ChebNet基础上带入
λ
m
a
x
≈
2
\lambda_{max}\approx2
λmax?≈2,normalize Laplacian的定义,定义变量之间的关联来减少参数,做renormalization trick等整理工作,得到GCN核心公式,如图12所示。
4 结论与展望
上一篇文章介绍的Spatial-based GNN,与此篇Spectral-based GNN方法都是解决Graph作为输入如何卷积的问题的。文章介绍了傅里叶变换,Spectral-based GNN的思想与数学过程。还介绍了ChebNet与GCN。实际应用中,GCN在叠多层时结果较差,还应该注意其数学原理。接下来将具体介绍RNN。
|