注:本文为第2章谱域图卷积介绍视频笔记,仅供个人学习使用
16年以前,每年只有1-2篇相关文献
18年,有些会议上大概有了7-8篇
19年,文章数量爆炸性增长,仅仅NIPS一个会议就有49篇文章
规则数据(欧氏空间) | 不规则数据(非欧氏空间) |
---|---|
语音:一维向量;图像:二维矩阵;视频:三维矩阵 | 社交数据 、分子结构 、人体骨架 |
经典卷积处理图结构数据的局限:
谱域图卷积
根据图谱理论和卷积定理,将数据由空域转到谱域做处理
有较为坚实的理论基础
空域图卷积
部分经典模型
根据卷积定理,两信号在空域(或时域)卷积的傅里叶变换等于这俩个信号在频域中的傅里叶变换的乘积:
f1(t) 定义为空域输入信号,f2(t)定义为空域卷积核,卷积操作即为:先将空域上的信号f1(t)转换到频域信号F1(w),f2(t)转换到频域F2(w),然后将频域信号相乘,再将相乘后的结果通过傅里叶反变换转回空域,这个就是谱域图卷积的实现思路(将空域转换到频域上处理,处理完再返回)。
经典的卷积操作具有序列有序性和维数不变性的限制,使得经典卷积难以处理图数据,对于一个3x3的卷积核,它的形状是固定的,它的感受野的中心节点必须要有固定的邻域大小才能使用卷积核,但是图上的节点的领域节点是不确定的,此外图上节点的领域节点也是没有顺序的,这就不能直接在空域使用经典的卷积。但是当把数据从空域转换到频域,在频域处理数据时,只需要将每个频域的分量放大或者缩小就可以了,不需要考虑信号在空域上存在的问题,这个就是谱域图卷积的核心。
拉普拉斯算子△
的定义为梯度gradient▽
的散度divergence▽·
。即Δf=▽·(▽f) = div(grad(f))
。
对于n维欧式空间,可普遍认为拉普拉斯算子是一个二阶微分算子,即在各个维度求二阶导数后求和。
在3维欧氏空间,对于一个三元函数f(x,y,z),可以得到
离散情况下欧氏空间的拉普拉斯算子 ,对于两个变量的函数f(x,y)
那么两个变量的离散拉普拉斯算子可以写成:
二维的拉普拉斯算子可以理解为中心节点与周围节点的差值,然后求和。如下图,对于某个中心像素(红色)的算子为周围四个像素之和减去4倍的自己。
类似,在图上的拉普拉斯算子定义:
其中,f = (f1, f2, ···, fn),代表n个结点上每个结点的信号。
当有权重时:
可以理解为中心节点依次减去周围节点,乘以权重后,然后求和。
拉普拉斯矩阵是图上的一种拉普拉斯算子。
D为度矩阵,它对角线上的值是从 i 节点出发的所有边的权重之和(nxn的方阵,是对角矩阵)。
拉普拉斯矩阵(L)是度矩阵(D)减去邻接矩阵(W),即L = D - W。
特征分解(Eigen decomposition),又称谱分解(Spectral decomposition),是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。
L是拉普拉斯矩阵,U是拉普拉斯矩阵特征向量组成的矩阵,λ是特征向量,组成对角阵∧。
拉普拉斯矩阵有n个线性无关的特征向量,可以组成n维线性空间中的一组基。
又因为对称矩阵的不同特征值对应的特征向量相互正交,这些正交的特征向量构成的矩阵为正交矩阵。所以拉普拉斯矩阵的n个特征向量是n维空间中的一组标准正交基。
图上信号的定义:一般表达为一个向量。假设有n个节点,将图上的信号记为:
每一个节点上有一个信号值,节点i上的值为x(i) = xi
下图中蓝色线段代表信号的大小,类似于图像上灰度图像像素,像素越高,画的这个线段越长。
经典傅里叶变换如下
傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。
参考自 一文道破傅里叶变换的本质,优缺点一目了然
经典傅里叶变换:一个信号由不同频率的基函数信号叠加而成。左图中红色信号是原信号,蓝色信号是不同频率上的基函数信号(余弦或者正弦函数)。则红色原信号可以由不同频率的基函数线性组合而成,右图蓝色的高度表示基前面的系数,也就是所谓的傅里叶系数,也就是原函数在这个基上的坐标分量。
对应经典傅里叶变换的思想,对于图上信号x的傅里叶变换,希望找到一组正交基,通过这组正交基的线性组合来表达x。而拉普拉斯矩阵的特征向量正好是正交的,可以作为图傅里叶变换的基函数。
小结:依靠图傅里叶变换可以将定义在图上结点上的信号x从空间域与转到谱域。
经典傅里叶变换 | 图傅里叶变换 |
---|---|
基: | 基: |
频率: |
频率”: |
分量的振幅(和相位): |
分量的振幅: |
图上的卷积定义:先对输入信号 x 和卷积核 g 做傅里叶正变换,然后在谱域上做 harmand 乘积,也就是 F ( x ) ⊙ F ( g ) 。最后通过傅里叶反变换 F-1 将结果返回到空域。
如果用矩阵乘法的形式来表达这个公式,去掉harmand乘积。同时,通常并不关心空间域上的滤波器信号g是什么样子的,只关心其在频域的情况。令
则公式等价的转换成下式:
所有的谱图卷积都遵循这些定义,唯一的不同就是 滤波器 filter 的选取
简介
在卷积前后:
其中,某一层的特征图可以表示为一个 nxc 的矩阵。n代表图中有n个结点,C是通道个数。图中的信号可以分解为各个结点上的信号。X代表整个图上的信号,是nxc 的矩阵,Xi代表某个结点的信号,是一个 1xc 的向量。
在不同层中,特征图结构是不发生变化的,只有图上的信号会发生变化。
论文:Spectral networks and locally connected networks on graphs
第一代GCN,文中给出了两个模型,分别是基于空间域的和基于谱域的。基于谱域的模型的核心是用对角矩阵来代替谱域的卷积核
核心思想:用可学习的对角矩阵来代替谱域的卷积核,从而实现图卷积操作。即:
SCNN的缺点
论文:Convolutional neural networks on graphs with fast localized spectral filtering
在矩阵状态下, 切比雪夫多项式可以表示为:
因为切比雪夫多项式在逼近理论中,可以用于多项式插值,也就是说可以利用切比雪夫多项式来逼近函数。
在拟合时,将x的k次方换成了切比雪夫多项式的k阶项,用切比雪夫多项式来进行逼近。如下图:
为什么要替换?当替换后,SCNN中可以省略对于拉普拉斯矩阵的特征值分解这一最耗时的操作,直接使用拉普拉斯矩阵即可
ChebNet特点:
论文:Semi-supervised classification with graph convolutional networks
GCN可视为对ChebNet的进一步简化:仅考虑1阶切比雪夫多项式,且每个卷积核仅只有一个参数,所以只有两个参数。
理解:
进一步简化,使得每个卷积核只有一个可学习的参数。
因为 有范围[0,2]的特征值,如果在深度神经网络模型中使用该算子,则反复应用该算子会导致数值不稳定(发散)和梯度爆炸/消失,为了解决该问题, 引入了一个 renormalization trick.
从而得到GCN的最终公式
GCN的特点: