GNN教程:第六篇Spectral算法细节详解!

本文深入探讨图神经网络(GNN)中的谱图卷积,从空间域和频谱域的概念出发,详细阐述拉普拉斯矩阵、傅里叶变换在图上的应用。通过逐步推导,解释了GCN逐层更新公式的起源,涉及多项式近似和Chebyshev多项式,揭示了GCN结构的演进过程,包括降低计算复杂度和参数数量的方法。
摘要由CSDN通过智能技术生成

↑↑↑关注后"星标"Datawhale

每日干货 & 每月组队学习,不错过

 Datawhale干货 

作者:秦州,算法工程师,Datawhale成员

引言

图神经网络的逐层Spectral更新公式简单优雅而高效,以GCN为例,节点Embedding是由自身和邻居节点Embedding的聚合之后再进行非线性变换而得到。如此简单优雅的更新规则是怎么推导出来的呢,背后有没有什么理论依据?在GCN的论文中,作者介绍了两种启发GCN逐层线性传播法则的方法,分别是从谱图卷积的角度和Weisfeiler-Lehman算法的角度。本篇博文将详细介绍如何从图拉普拉斯矩阵出发,通过定义图上的傅里叶变换和傅里叶逆变换而定义图上卷积公式,最后推导出优雅的GCN逐层更新公式。至于Weisfeiler-Lehman算法,因为涉及到图神经网络的表示能力的问题,后面我们会出一个专题详细的介绍它。

本文为GNN教程的第五篇文章 【Spectral Gragh】,博文的结构是这样的:(下面这段文字对快速理解这篇文章很重要,之后还会出现一次作为小结)

图神经网络的核心工作是对空间域(Spatial Domain)中节点的Embedding进行卷积操作(即聚合邻居Embedding信息),然而图数据和图像数据的差别在于节点邻居个数、次序都是不定的,因此传统用于图像上的CNN模型中的卷积操作(Convolution Operator)不能直接用在图上,因此需要从频谱域(Spectral Domain)上重新定义这样的卷积操作再通过卷积定理转换回空间域上。

为了在频谱域和空间域中转换,我们借助了傅里叶公式,并且定义了图上傅里叶变换(从空间域变换到频谱域)和图上傅里叶逆变换(从频谱域回到空间域)的变换公式。具体操作是我们将节点的Embedding 通过傅里叶正变换从空间域变换到了频谱域 ,在频谱域上和卷积核 进行卷积操作,再将变换后的节点Embedding通过傅里叶逆变换回到空间域,参与后续的分类等任务。

后台回复【GNN】进图神经网络交流群。

本篇博文是按照上面的思路组织的,下面首先我们来介绍一下什么是空间域和频谱域。

一、Spatial Domain 和Spectral Domain

Spatial domain,翻译过来就是空间域,是最直观感受GCN逐层传播算法的域,即:节点 的Embedding是其所有邻居节点Embedding(包括自己的Embedding)的聚合结果。因此在一些文献上spatial domain又被称做"vertex domain"。但是与CNN所应用的图像不同,空间域中图节点邻居的数目不是一定的,而且节点之间没有相对的次序性。这就产生了一个问题,对于不同邻居个数的节点,卷积怎么定义呢?这就引出了spectral domain的概念。spectral domain,即频谱域,借助卷积定理,我们可以通过定义频谱域上的卷积操作来得到空间域图上的卷积操作。

那么图在频谱域上是如何表示的呢,这就引出了我们第二个概念:谱图理论,谱图理论主要研究的是图的拉普拉斯(Lapalacian)矩阵的特征值和所对应的特征向量对于图拓扑性质的影响,是对图空间拓扑的数学描述。下面先来介绍什么是拉普拉斯矩阵。

二、拉普拉斯矩阵

2.1 定义

对于无向图  ,其Laplacian矩阵定义为 ,其中 是节点的度矩阵(只在对角线上有元素), 是图的邻接矩阵。拉普拉斯矩阵还有几种扩展定义:

  • 称为对称正规拉普拉斯矩阵(Symmetric Normalized Laplacian),论文中一般用的是这种Laplacian的定义。

  • 称为随机游走正规拉普拉斯矩阵(Random Walk Normalized Laplacian)。

由于 ,且无向图中 为对称矩阵,因此拉普拉斯矩阵是对称矩阵,可以进行特征分解(谱分解),谱分解对于图从空间域到频谱域的变换至关重要,因为我们用来变换的工具傅里叶变换(Fourier Transform)需要利用Laplacian矩阵的特征值和特征向量,通过变换,从拓扑结构的图(spatial domain)到拉普拉斯矩阵再到谱图(spectral domain)这条链路就形成了。下面就先来介绍拉普拉斯矩阵的谱分解。

2.2 谱分解

矩阵的特征分解对角化谱分解都是同一个概念,是指将矩阵分解为由其特征值和特征向量表示的矩阵乘积的方法。只有含有n个线性无关的特征向量的n维方阵才可以进行特征分解。

拉普拉斯矩阵是半正定矩阵,有如下三个性质:

  1. 是实对称矩阵,有n个线性无关的特征向量。

  2. 这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量。

  3. 所有的特征值非负。

性质1告诉我们拉普拉斯矩阵一定能进行特征分解(谱分解),且有如下形式:

其中 列向量 组成的单位特征向量矩阵,

个特征值组成的对角阵。

由性质2可知, 是正交矩阵,即  ,故  所以特征分解又可以写成:

这种写法是大部分文献中的写法。

三、图上的傅里叶变换

3.1 傅里叶正变换:从Spatial域到Spectral域

介绍了Laplacian矩阵,我们将图从Spatial domain变换到Spectral domain的准备工作就完成了。下面我们来介绍一下傅里叶变换。

连续域的傅里叶变换定义为:

即信号 与基函数 的积分,其中基函数 满足:

是拉普拉斯算子,即n维欧式空间中的一个二阶微分算子 ,拉普拉斯算子是对函数 的一种变换。

联想到广义特征值方程的定义: ,其中 是矩阵(在线性代数上矩阵左乘表示对向量进行线性变换), 是特征向量或者特征函数(无穷维的向量), 对应的特征值。由类比可知 的特征函数, 和对应的特征值密切相关。

因此,若要将傅里叶变换迁移到图上,我们有了拉普拉斯矩阵(拉普拉斯矩阵是离散的拉普拉斯算子),下一步自然就是去找拉普拉斯矩阵的特征向量了(相当于我们有了 ,下一步是要找 相应的 )。

小结一下

傅里叶变换迁移到图上核心的工作就是把拉普拉斯算子的特征函数 对应到图拉普拉斯矩阵的特征向量上。因此求解图拉普拉斯矩阵的特征向量是至关重要的。而根据上文的介绍,图拉普拉斯矩阵是半正定矩阵,可以通过特征分解(谱分解)求得特征向量,即

更加详细的内容可以参考 The Emerging Field of Signal Processing on Graphs: Extending High-Dimensional Data Analysis to Networks and Other Irregular Domains

有了特征向量 之后,我们就可以定义图上的傅里叶变换了,将连续的傅里叶变换写成离散积分(求和)的形式,仿上定义可得图上的傅里叶变换为:

其中 是对图上节点的变换,比如说返回节点Embedding, 和图上的节点一一对应, 表示第 个特征向量的第 个分量。那么节点Embedding 在特征值 下的图傅里叶变换就是与 对应的特征向量 进行內积运算。

利用矩阵乘法将图上的傅里叶变换推广到矩阵形式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值