Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

  • 1、主要贡献
  • 2、算法介绍
    • 2.1 学习局部化谱filters
      • k阶近似与ChebNet
    • 2.2 图池化
      • 图粗化
      • 快速pooling
      • 整个GCN过程

1、主要贡献

  • 1、谱方法的卷积公式。一种基于谱方法的CNN的形式化表述,基于GSP

  • 2、严格的局部化的filters。局部化就是定义了一个参数K,K代表以一个节点为中心的K次跳跃(也就是距离为K)。

  • 3、小的计算复杂度。复杂度是和K以及边数成正比。因为大部分现实生活中的图是高度稀疏的,那么就是边数远远低于点数的平方,即 边 = k*点数。k可以看做是一个点的k最近邻。这也就是说复杂度是和输入数据的大小。另外,这个方法避免计算傅里叶因子(需要计算和储存傅里叶因子)。这个方法只用储存一个拉普拉斯矩阵,这是一个稀疏矩阵,只有边数个非零值。

  • 4、高效的pooling。通过构建一个二叉树进行pooling。

2、算法介绍

实现图上的CNN需要满足一下一点要求:

  • (1)设计卷积核
  • (2)相似点聚集
  • (3)pooling操作

2.1 学习局部化谱filters

k阶近似与ChebNet

切比雪夫多项式及其应用
http://www.docin.com/p-524643989.html
http://bookshelf.docin.com/p-1702466525.html
https://www.ixueshu.com/document/2c40f2ae055f2240318947a18e7f9386.html
https://wenku.baidu.com/view/c9566591f56527d3240c844769eae009591ba2ce.html
https://wenku.baidu.com/view/544dab7502768e9951e73842.html
ChebNet的作者指出原始的频谱图卷积有两大缺点:
图卷积核是全局的且参数量大 (卷积核大小与输入信号相同,参数量与图节点数相同)
图卷积运算的复杂度高 (运算过程涉及高计算复杂度的特征分解)

首先,为了克服卷积核过“大”的缺点,ChebNet指出可以使用多项式展开近似计算图卷积,即对参数化的频率响应函数进行多项式近似:
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第1张图片
其中k代表多项式的最高阶数,这一步近似将卷积核的参数数量从n个减少到了 k k k个,使卷积核变“小”了,变得“局部”了。但是整个图卷积运算的复杂度还是 O ( n 2 ) O(n^2) O(n2),因为输入信号要与傅里叶基 U U U做矩阵乘法。为了进一步降低计算复杂度,作者使用迭代定义的切比雪夫多项式( C h e b S h e v   P o l y n o m i a l ChebShev\ Polynomial ChebShev Polynomial)作近似并证明可以将计算复杂度降低至 O ( K ∣ E ∣ ) O(K|E|) O(KE),其中 K K K为多项式的阶数, E E E为图中边的数量。作者将基于切比雪夫多项式定义的卷积核称为切比雪夫卷积核,对应的卷积运算则称为切比雪夫卷积,他们的公式定义如下:
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第2张图片
式中的 λ m a x \lambda_{max} λmax​​表示拉普拉斯矩阵的最大特征值,添加’是为了表明这是近似的参数。从替换和化简后的卷积运算式可以发现,切比雪夫多项式矩阵的运算是固定,可以在预处理阶段完成,且拉普拉斯矩阵一般是稀疏的,可以使用稀疏张量乘法加速,因此整个图卷积的计算复杂度大大降低。除了定义切比雪夫图卷积外,ChebNet的作者还提出了图池化层.
推导:
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第3张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第4张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第5张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第6张图片
在这里插入图片描述
幂迭代法求特征值和特征向量
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第7张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第8张图片
学习过滤器:通过梯度下降即可完成:
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第9张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第10张图片

Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第11张图片

Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第12张图片
应用举例
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第13张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第14张图片
根据切比雪夫多项式进行求解
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第15张图片
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第16张图片

2.2 图池化

图粗化

传统图池化方法:谱聚类
本文使用方法:Graclus多级聚类算法
Weighted graph cuts without eigenvectors a multilevel approach

另外:
Algebraic multigrid techniques on graphs and the Kron reduction are two methods worth exploring in future works

快速pooling

通过上述方法得到更粗糙的图,然后对节点重排序,然后构建一个二叉树。
Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering_第17张图片
每级粗化我们可以得到一个粗化图 ( G 0 , G 1 , G 2 , G 3 , G 4 ) (G_0,G_1,G_2,G_3,G_4) G0,G1,G2,G3,G4,将该粗化图添加上一些辅助节点(上图右部分上,蓝色圆),使粗化图中每个顶点都有 2 2 2个孩子,从而构成一个二叉树,将二叉树摊平构成一维信号(上图右部分下),然后对该信号采样即可表示为一次图 p o o l i n g pooling pooling

  • 让我们对生活在 G 0 G_0 G0上的信号 x ∈ R 8 x∈R^8 xR8进行最大大小为 4 4 4的最大池化(或两个大小为 2 2 2的池化),最细图作为输入给出。 请注意,它最初拥有 n 0 = ∣ V 0 ∣ = 8 n_0 = | V_0 | = 8 n0=V0=8个顶点,任意排序。
  • 对于大小为 4 4 4的池,需要对大小 2 2 2进行两次粗化:让 G r a c l u s Graclus Graclus给出大小为 n 1 = ∣ V 1 ∣ n_1 = | V_1 | n1=V1 G 1 = 5 G1=5 G1=5 G 2 G_2 G2的大小为 n 2 = ∣ V 2 ∣ = 3 n_2 = | V_2 | = 3 n2=V2=3,最粗糙的图。
  • 因此,将大小设置为 n 2 = 3 , n 1 = 6 , n 0 = 12 n_2 = 3,n_1 = 6,n_0 = 12 n2=3n1=6n0=12,并将假节点(蓝色)添加到 V 1 V_1 V1 1 1 1个节点)和 V 0 V_0 V0 4 4 4个节点)以与正弦(橙色)配对,以便每个节点具有 正好有两个孩子
  • V 2 V_2 V2中的节点进行任意排序,并因此对 V 1 V_1 V1 V 0 V_0 V0中的节点进行排序。 此时, V 0 V_0 V0中的顶点排列允许在 x ∈ R 12 x∈R^{12} xR12上进行规则的 1 D 1D 1D合并,使得 z = [ m a x ( x 0 , x 1 ) , m a x ( x 4 , x 5 , x 6 ) , m a x ( x 8 , x

你可能感兴趣的:(图网络,卷积)