视频来源:图神经网络在线研讨会2020
1. GNN在干什么
目前较火的CNN在欧式空间中已经表现出了强大的处理能力,其最大的特点在于平移不变性,这种特性能够很好的处理欧式空间的中的数据,但是, 图则是一类典型的非欧数据。如下图右侧所示。
因为图没有一个固定的结构,因此,CNN的卷积特性(平移不变性)不能够直接用于图结构的数据。
2. 卷积的原理
卷积操作其实是两个函数的数值运算,即上图中的
f
,
g
f, g
f,g,这两个函数产生的函数为
h
h
h。
f
f
f为原始信号,
g
g
g为卷积核。卷积出来的结果是对原来信号的一个处理,使其更加平滑。
3. 谱方法和空间方法的图卷积
谱方法是空间方法的一个子集。但是二者的基本思想都是不变的,一个节点在其邻域节点内的加权平均。最大的难点在于,难以进行参数的共享。
3.1 图卷积神经网络的输入输出
输入: G = ( V , E , W ) G=(V,E,W) G=(V,E,W),一个节点是一个 d d d维的向量,那么 n n n个节点就是一个 n × d n \times d n×d的矩阵,记为 X ∈ R n × d X \in R^{n \times d} X∈Rn×d
3.1 谱方法
3.1.2 拉普拉斯矩阵的GNN
为了方便处理,我们需要将这
n
×
d
n \times d
n×d个特征矩阵,找一组性质良好的基,将其变换到这组基中,在拉普拉斯矩阵中,有完全正交的
n
n
n个特征向量,根据矩阵变换的性质,有:
计算这组基与特征矩阵
X
X
X的投影,投影的结果记为
X
^
\hat{X}
X^,具体公式如下。
定理:在信号处理中,两个信号的卷积可以看做是其傅里叶变换后结果的卷积。
那么,图上的卷积就可以表示为:先将图节点原始的信号通过傅里叶变换投影到某一个空间中,在这个空间中进行卷积操作,将卷积的结果再进行反变换,变回原来的空间中。
在图节点中,
x
,
y
x, y
x,y均为节点域中的数据,而我们可以将
U
T
y
U^Ty
UTy写成
g
θ
g_{\theta}
gθ,看成卷积核。因此,公式可以变成:
这个方法的缺点:
- 依赖于拉普拉斯的特征分解,拉普拉斯矩阵的特征分解代价过高
- 在空间转换过程中,变化复杂度过高
- 这个操作是一个非局部化的,也就是说,对某一个节点的影响来自于图上的所有节点,并不是该节点的邻域节点。
3.1.2 小波基的GNN
沈伟华老师们的想法:将傅里叶变化变成了小波变换。
3.2 空间方法
3.2.1 类比法
卷积操作分解,在图结构中,整体迁移有难度,但是分解之后可以分为以下三步:
- 找某节点找邻居节点
- 给其邻域节点编号
- 参数共享
只有第一步需要进行平移不变性。
针对第一步的改进:
针对某一节点,选择指定个数的邻域节点,在选定结果上进行卷积操作。
3.2.2 随机行走
针对类比法中的第一步,该算法选择的是随机行走算法。
3.2.3 GCN
通过选定自己的一阶邻居节点,应用拉普拉斯矩阵进行特征变化,将变化的结果聚合一下 。所谓的权重也就是拉普拉斯矩阵直接定义。
3.2.4 GAT
GAT认为GAN的参数共享仅在特征变换时进行,其余阶段均无此操作。所以在GAT中引入了Attention机制,
3.2.5 MoNet
将GCN与GAT抽象出来,即定义一个能够度量图上任意节点相似度的方式,称之为核函数,所谓的卷积就是对这些不同相似度的定义方式的加权平均,每个卷积核的参数即为核函数的权重。
核函数在谱方法中就是对应的基,在空间方法中为:选择邻域的方法。
4 空间方法与谱方法的联系
三种网络的核方法:
为什么GCN的效果要比ChebNet的方法好呢?
4.1 图上的平滑
在谱方法中,在进行变换时,考虑到图中各个节点的关系,因此,可以将其认为是一种平滑操作,而在其数学意义中,平滑的结果也就是特征值。如果一个信号刚好是特征向量,则其平滑程度正好就是其特征值。
因此,滤波器的的功能是,只能让频率为
λ
\lambda
λ的信号通过滤波器。所以,标准谱方法就是这组基础滤波器的线性组合。
因此,在ChebNet中,信号的频率越高、对应的
λ
\lambda
λ越大,赋予的权重越大。实际上ChebNet对高频信号做了一个加强,但是高频信号对于节点的分类效果不好,这也是ChebNet效果不如GCN的好。