图卷积神经网络 GCN 沈华伟(1 谱方法)
视频连接:2020 CCF 沈华伟 GNN
1.概述
卷积神经网络的成功的原因:能够学习到数据中局部信息,通过局部化卷积核,实际上是一种参数共享的方式。
然后通过逐层堆叠的方式,把局部的卷积核变成多尺度的层次模式。从而实现特征学习的一个效果。
1.1 局部卷积核:
平移不变性,可以得到与位置无关的一些pattern
2.卷积的迁移
2.1难点
怎么将欧氏空间的卷积转移到非欧氏空间(non-Euclidean domain)中,比如说graph,其结构是非规则的难以定义卷积。
图像与网络:
我们可以想象为一个规则的网络,像素代表一个节点,其卷积核可以简单的定义。但是真实世界中的网络,要远比上述网络复杂。
真实网络节点的度分布差异非常大,有类似核心节点(微博大V),也有类似边缘节点,不像图像抽象出的网络只有上下左右存在度。
每个节点的邻居数不同,所以很难定义满足平移不变性的卷积核。这是图上定义卷积的很大的一个难点。
2.2 网络卷积的运用
CNN迁移到图上定义图上,总体来说还是这两点:
如何定义图上的卷积;定义图上的pooling(下采样这样的操作),但是pooling和具体的任务相关,如果和节点相关,也就不需要下采样。
2.2.1 卷积:
两个函数点积之后,做积分,生成第三个函数
信号处理中,g即一个方波;f即为是个信号,横轴为时间。
离散情况下,如图像中,卷积核即为一个patch,在图像的像素上滑动,抽取局部的信号。
举例:掷骰子,两次骰子,和为8的概率是多少?(2+6;3+5;4+4;5+3;6+2五种情况的概率之和)
2.2.2 图上卷积:
定义有两种方法,
一种是空间方法,但是网络中每个节点的邻域大小多少不一致,很难有进展;
另一种是谱方法,将原来的图 从节点域里变化到谱域里(利用卷积定理和傅里叶变换实现),在谱域里再定义卷积核。面临的挑战:其卷积不再局部化,会带来网络特征较大范围的改变。
2.2.3 谱方法:
输入图G,W为其带权重的邻接矩阵。每个节点还有一个d维的特征,则n个节点形成特征矩阵X:Shape(n, d),每一个维度都理解成定义在这n个节点的一个信号,类似于图像中RGB三维特征。
这里可以看出,图的处理,本质上也与信号处理过程类似。
图拉普拉斯(Graph Laplacian):
参考信号处理的方式,我们有图拉普拉斯(Graph Laplacian)方式进行处理:实际上对信号求导数操作,获得信号在图上的平滑程度,称之为拉普拉斯算子
(1)拉普拉斯矩阵:
拉普拉斯矩阵式带权度矩阵与带权邻接矩阵之差。度矩阵是一个对角阵,每一行的元素维邻接矩阵该行之和。
但是我们常用其normalized版本,数学性质更好。I是单位矩阵。
通过拉普拉斯矩阵即可实现将信号转移到谱域中去。
(2)图傅里叶变换
上面我们说到,图上的信号一般表达为一个向量。假设有n个节点。在这一节,我们将图上的信号记为:
每一个节点上有一个信号值。类似于图像上的像素值。
傅里叶反变换的本质,是把任意一个函数表示成了若干个正交基函数的线性组合。
图上的信号如果要进行傅里叶变换,我们也需要找到一组正交基,来表达x。
任意的图上的信号可以表示为:
所以,图上的傅里叶变换,实际上是求一个表示的参数(权重),最终我们取这个表示的参数(权重),来替代这组信号,就是在谱域里面的表达。
(3)在谱域上定义卷积:
图上的傅里叶变换只是一个手段,定义卷积利用的是卷积定理
卷积定理是傅立叶变换满足的一个重要性质。卷积定理指出,两个函数的卷积的傅立叶变换是两个函数分别傅立叶变换后的乘积。(百度百科)
因此可得:
两个信号,一个x一个y,
- 分别做傅里叶变换后,取其权重,得到两信号在谱域上的表示,进行点积操作;
- 然后进行傅里叶逆变换,就可以得到在节点域的卷积操作。
所以,我们将UTy作为卷积核,与信号x进行点积操作,再进行逆变换。
总结:
- 把信号x变换到谱域中(这一步需要傅里叶变换),
- 在谱域中,定义一个卷积核(设初始值,反向传播进行调整),与信号x在谱域中的表达做点积。
- 最后进行逆变换,把谱域中的卷积转换到空间域或者说节点域中
这是CNN作者的原始方法,谱方法但是存在缺陷(挑战)
- 依赖 拉普拉斯矩阵的特征分解,时间复杂度高,O(n3),且特征向量是稠密的计算代价太高,
- n*n的拉普拉斯矩阵求特征向量复杂度是O(n2)
- 在节点域上不是局部化的,
3.缺陷改进
3.1ChebyNet:参数化卷积核;
这里使用了拉普拉斯矩阵的特征值,改造卷积核。
原来的卷积核是反向传播算法得到的,这里将它改造,写成一个由固定对角阵形成的多项式,这个对角阵,就是拉普拉斯矩阵的特征值形成的对角阵。经过简化变换,可以发现卷积操作只剩拉普拉斯矩阵和输入信号。β为参数,实际上通常K很小 0-9 六度分割。
三个好处:
不需要特征分解了,时间复杂度降低到O(K|E|),卷积操作变为局部化的操作。
3.2 继续改进:Graph Wavelet Neural Network
ICLR2019,图小波神经网络:paper
chebNet的主要工作:
把原来自由的卷积核,用多项式函数做参数化,实现了图卷积核取值空间的约束,进而不再依赖逆傅里叶变换,也实现了局部化。
作者更改傅里叶基为小波基
但是这样操作,时间复杂度较高O(n*p*q)