上一篇介绍了卷积图神经网络的空间域模型,本篇总结谱域的方法及模型。
引言
经典卷积网络处理的对象是欧式空间中的数据,他们有着序列有序性和维数一致性的特点,即该类网络只能处理固定输入维度的数据并且局部输入数据必须有序,语音、图像、视频等(规则结构)数据满足以上要求,但是并不适用于图结构数据(非欧空间数据)。
因为图结构的数据的特点是序列无序性和维数可变性。其中序列无序性是指:下图中红色节点的邻居节点有两个,而我们不知道它们谁应该排在前,谁应该排在后。维数可变性是指:下图中红色节点和蓝色节点的邻居节点个数是可以不相同的。因此我们无法将3x3的卷积核应用到图数据上,这就是图卷积网络需要解决的问题。
那么应该如何将卷积操作扩展到图结构数据中?
ConvGNNs分成两类:基于空间的方法和基于频谱的方法。基于空间的方法(Spatial based)继承了递归神经网络的思想,通过信息传播来定义图的卷积,总结在上一篇中。而基于频谱的方法(Spectral-based)是通过从图信号处理的角度引入滤波器来定义图卷积,其中图卷积运算被解释为从图信号中去除噪声。它的实现思路是根据图谱理论和卷积定理,将数据由空域转换到谱域做处理。下面具体介绍一下图谱理论和卷积定理,以及为什么要将数据由空域转换到谱域,和如何转换。
背景知识
谱域图卷积实现思路
-
什么是卷积?
根据卷积定理,两信号在空域(或时域)卷积的傅里叶变换等于这俩个信号在频域中的傅里叶变换的乘积:
也可以通过反变换的形式来表达:
具体来说,f1(t) 定义为空域输入信号,f2(t)定义为空域卷积核,那么卷积操作就可以这样定义:首先将空域上的信号f1(t)转换到频域信号 F1(w),f2(t)转换到频域F2(w),然后将频域信号相乘,再将相乘后的结果通过傅里叶反变换转回空域,这个就是谱域图卷积的实现思路(将空域转换到频域上处理,处理完再返回)。
那么为什么要这样转换呢?为什么要将空域上的信号转换到频域上处理,最后再转回到空域呢?回想一下前面所说的经典的卷积操作具有序列有序性和维数不变性的限制,使得经典卷积难以处理图数据,也就是说对于一个3x3的卷积核,它的形状是固定的,它的感受野的中心节点必须要有固定的邻域大小才能使用卷积核,但是图上的节点的领域节点是不确定的,此外图上节点的领域节点也是没有顺序的,这就不能直接在空域使用经典的卷积。但是当我们把数据从空