沈华伟老师(中科院)
邮件:shenhuawei@ict.ac.c
微博: 沈华伟_ICT
欧与非欧:谱方法到底在干什么
学过数据结构的都知道,一共有三种数据结构:线性表,树,图。与传统CNN中的网格状(grid-like)图像不同,GNN里的图都是没有规律可言的非欧式结构,因此并不具有平移不变性,因此无法应用CNN中的特定size的卷积核对其进行特征提取。
卷积是一种运算 :
Convolution is a mathematical operation on two functions, 𝒇
and 𝒈, to produce a third function 𝒉.
连续案例
离散案例
卷积定义
谱方法和空间方法
谱方法:
1.通过图傅立叶变换和卷积定理定义卷积。
2.主要挑战在于,在谱域中定义的卷积滤波器未局限在顶点域中。
空间方法:在顶点域中定义卷积
1.卷积定义为位于目标顶点附近的所有顶点的加权平均函数。
2.主要挑战是邻域的大小在各个节点之间变化很大,例如幂律度分布。
图卷积神经网络的谱方法
谱方法的具体操作
拉普拉斯矩阵知识:
给定一个有n个顶点的图G,它的拉普拉斯矩阵定义为:L=D-A
其中D为图的度矩阵,A为图的邻接矩阵(在network中,一般为带权的矩阵W)。
一般的图的拉普拉斯矩阵:
𝑰是单位矩阵。
拉普拉斯矩阵是半正定的对称矩阵,并且可以分解成一组特征向量U。因此拉普拉斯矩阵可以变换为:
U是特征向量的矩阵,中间那个符号是特征值组成的对角矩阵。使用U作为傅里叶变换的基底,将原特征投影到谱域里。
图傅里叶转换
首先将信号x投影到U
T
^T
T谱空间内,再将卷积和y也投到谱空间内,做点乘后做傅里叶逆变换。即谱域卷积定理。
其中,y是卷积核函数,为了对已经投射到谱域(傅里叶变换之后)里特征进行卷积,所以也要对卷积函数进行投影。卷积之后再进行傅里叶变换的逆变换,就将结果又带回了原来的空间。我们把卷积核的定义改写一下,使得式子变得更简单:
谱方法的图卷积
(将前面知识扩展到多维)
注意:14年的论文,方法有很不稳定
1.拉普拉斯矩阵十分费力,尤其是当网络规模太大(比如社交网络)的时候。
2.与傅里叶基底相乘的事件复杂度太高,而且变到谱域之后还得变回来。
3.信息更新来自所有结点,而不是本地邻居。
改进(2016年)
注意:
拉普拉斯矩阵:L = D-A
此时,只需要知道图的拉普拉斯矩阵即可,参数也从n个降到了k个。不需要U了,也就不需要特征分解。复杂度:
Graph Wavelet Neural Network
(ICLR 2019)
傅里叶积VS小波积
n * p * q 的复杂度不可接受,对于社交网络来说,n非常大(1亿)。