李宏毅机器学习课程梳理【十】:GNN&Spectral-based GNN

摘要

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越来越大,做一个二维平面上的缠绕图像,记录图像质心的位置变化。
1

先暂时只记录质心在x轴的位置变化,绘制图像,发现n逐渐变大,质心几乎只在原点附近移动;当在n=N附近时,质心会大幅度地远离原点,所以图像呈现出在n=N附近存在高峰。数值n就是信号的频率。这台机器可以识别复杂的波形,将其中的频率分离出来。
2

接下来是用数学公式描述将信号缠绕在中心圆上。“缠绕图像”的质心在二维平面上,需要记录两个轴的坐标,由于复数非常适合于描述与缠绕和旋转有关的事物,因此质心用一个复数表示。尤拉公式 e n u m ⋅ i e^{num\cdot i} enumi表示落在单位圆沿逆时针方向走了num长的点上, g ( t ) e − 2 π i f t g(t)e^{-2\pi ift} g(t)e2πift概括了整个将可变频率f缠绕起来的想法。质心具体位置由时间-强度信号图中抽取样本点、对应到缠绕图像上、取平均得到。如果取样的点越多,结果靠得越近,也就越准确。所以取极限,实际是把函数积分,再除以时间的长度。
3
Fourier Transform只是上式中的积分部分,其含义不再是质心,而是把它倍增。如果某个频率持续了很长时间,这个频率的傅里叶变换的模长就被放的很大。

2 Spectral-based GNN

2.1 整体思想

Spectral-based GNN的思想如图4所示。
4

2.2 Spectral Graph Theory

5
图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=21viVvjVwi,j(f(vi)f(vj))2表示相邻两点的信号的能量差距。特征向量的频率等于它们对应的特征值,并且特征值也代表图中两两相邻节点的信号的能量差距。下面需构造Fourier Transform对图进行卷积。 y ^ = g θ ( Λ ) x ^ \hat y=g_\theta(\Lambda)\hat x y^=gθ(Λ)x^,具体如图6所示。
6
图6是对图4的具体设计,经过傅里叶变换的时域信号与频率信号相乘,得到Spectral Domain的信号 y ^ \hat y y^。其中 g θ ( Λ ) g_\theta(\Lambda) gθ(Λ)作为Filter,由机器学习得到。
最后做Inverse Fourier Transform,如图7所示。
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所示。
8
算法限制 g θ ( L ) g_\theta(L) gθ(L)的函数为Laplacian的多项式函数,机器要学的就是多项式函数的系数。
当前算法的时间复杂度为 O ( N 2 ) O(N^2) O(N2)。ChebNet采取一些数学转换来简化运算,如图9所示。
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=0KθkTk(L)x,再利用Chebyshev polynomial展开。
10
最终递归算出多项式的参数。以上是一个Filter的工作过程,Spectral-based GNN可以叠多层channel。
11

3.2 GCN

GCN目前非常受欢迎,它在ChebNet基础上带入 λ m a x ≈ 2 \lambda_{max}\approx2 λmax2,normalize Laplacian的定义,定义变量之间的关联来减少参数,做renormalization trick等整理工作,得到GCN核心公式,如图12所示。
12

4 结论与展望

上一篇文章介绍的Spatial-based GNN,与此篇Spectral-based GNN方法都是解决Graph作为输入如何卷积的问题的。文章介绍了傅里叶变换,Spectral-based GNN的思想与数学过程。还介绍了ChebNet与GCN。实际应用中,GCN在叠多层时结果较差,还应该注意其数学原理。接下来将具体介绍RNN。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值