Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

Defferrard, Michaël, Xavier Bresson, and Pierre Vandergheynst. "Convolutional neural networks on graphs with fast localized spectral filtering." Advances in Neural Information Processing Systems. 2016.

摘要:

作者提出了一种把传统CNN扩展到非欧空间上的一种卷积网络

 

1.介绍

作者的主要贡献有:

(1)谱方法的形式化。一种基于谱方法的CNN的形式化表述,基于GSP(Shuman, David I., et al. "The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains." IEEE Signal Processing Magazine 30.3 (2013): 83-98.)

(2)严格的局部化的filters。作者扩展了(Bruna, Joan, et al. "Spectral networks and locally connected networks on graphs." arXiv preprint arXiv:1312.6203 (2013).d)的工作。局部化就是定义了一个参数K,K代表以一个节点为中心的K次跳跃(也就是距离为K)。

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

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

(5)实验结果。作者在MNIST上做了实验,取得了和传统CNN相当的实验结果。tensorflow code:https://github.com/mdeff/cnn_graph

 

2.技术细节

实现图上的CNN需要满足一下一点要求:(1)设计卷积核(2)相似点聚集(3)pooling操作

2.1 学习局部化谱filters

图的傅里叶变换:首先定义拉普拉斯矩阵:

其中D是度矩阵,W是邻接矩阵,

如果对拉欧拉斯矩阵做归一化,则表示为:

然后对L做特征值分解,得到:

U是特征向量组成的矩阵,A是特征值组成的对角矩阵。

那么图上的傅里叶变换为:

其中x是整个图组成的特征,n为图上的节点数。

图上的卷积操作定义为:

那么对x做卷积操作即为:

其中

 

多项式近似实现局部化:

 

快速过滤的递归推导:主要是利用了切比雪夫多项式的递推关系

学习过滤器:通过梯度下降即可完成:

 

2.2 图粗化

主要是用了(Dhillon, Inderjit S., Yuqiang Guan, and Brian Kulis. "Weighted graph cuts without eigenvectors a multilevel approach." IEEE transactions on pattern analysis and machine intelligence 29.11 (2007).)的方法 

 

2.3 快速pooling

作者通过上述方法得到更粗糙的图,然后对节点重排序,然后构建一个二叉树。

 相关论文:

Semi-Supervised Classification with Graph Convolutional Networks

Geometric deep learning on graphs and manifolds using mixture model CNNs

GRAPH ATTENTION NETWORKS

posted @ 2017-05-02 14:13  Shiyu_Huang  阅读(6388)  评论(2编辑  收藏  举报