​​​​Convolutional Neural Networks on Graphswith Fast Localized Spectral Filtering

目录

0 Abstract

1 Introduction 

2 Related Works

2.1 Graph Signal Processing

3 Proposed Technique

3.1 Learning Fast Localized Spectral Filters

3.1.1 Graph Fourier Transform

3.1.2 Spectral filtering of graph signals

3.1.3 Polynomial parametrization for localized filters

3.1.4 Recursive formulation for fast filtering

3.1.5 Learning fifilters

3.2 Graph Coarsening

3.3 Fast Pooling of Graph Signals


0 Abstract

此论文在谱图理论的背景下介绍了一个图上的CNNs公式,并引入第一种技术,它提供了与标准CNN相同的计算复杂度,同时普遍适用于任何图结构。这种新的深度学习系统可以学习图上的局部、平稳和组合特征。

1 Introduction 

CNN的组合局部平稳性可以有效地实现在规则网格上,如图像、音频和视频等,并取得比较好的结果。但并不是所有的数据都放在规则的网格上,如社交网络、知识图谱和化学分子结构等,但因为卷积、下采样和池化的标准算子只为规则网格定义,这使得这种扩展在理论上和实现方面都具有挑战性。

将CNN推广到图的主要瓶颈,也是这项工作的主要目标之一,定义了有效的图的局部滤波器来评估和学习。利用在图形信号处理(GSP)环境中开发的工具来实现这些目标,准确地说,本工作的主要贡献总结如下:

1、Spectral formulation:一种基于谱方法的CNN的形式化表述,基于图信号处理(GSP)。

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

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

4、Efficient pooling:提出了一种有效的图池化策略,该策略将顶点重新排列为二叉树结构后进行Pooling,类似于一维信号的池化。

2 Related Works

2.1 Graph Signal Processing

GSP是一个新兴的领域,旨在弥合小波分析等信号处理技术和光谱图分析等图论之间的差距。其中一个目标是将信号的基本分析操作从规则网格推广到由图所体现的不规则结构。本文利用GSP中新开发的工具介绍这类模型的数学和计算基础。

3 Proposed Technique

将CNN推广到图需要三个基本步骤:

第一步是在图上设计局部卷积滤波器

第二步是一个图粗化过程,它将图上的相似特征组合在一起。

第三步是图池化操作,用空间分辨率交换更高的过滤器分辨率。

3.1 Learning Fast Localized Spectral Filters

本节的目标是在图上定义快速卷积局部滤波器。定义卷积局部滤波器有两种策略:一从空间方法,二从光谱方法。通过构造,空间方法通过核的有限大小提供滤波器定位。然而,尽管可以直接在空间域内进行图卷积,但它也面临着匹配局部邻域的挑战。但定义在谱域的滤波器不是自然局部的,并且由于与图傅里叶基的乘法,O(n^{2})操作的平移代价是昂贵的。而这两种限制可以通过特殊的过滤器参数化来克服。

3.1.1 Graph Fourier Transform

重点是处理定义在无向连通图G=(V,E,W)上的信号,其中V节点集、E边集、W邻接矩阵。一个定义在图节点上的信号x:V→R可以看作是一个向量x\in R^{n},其中x_{i} 是x在第i个节点处的值。谱图分析中的一个基本算子是图拉普拉斯,它的组合定义是L=D−W\in R^{n*n},其中D\in R^{n*n}为度矩阵。其归一化定义为L=I_{n}-D^{-1/2}WD^{-1/2},其中I_{n}为单位阵。L是一个实对称半正定矩阵,经对角化得L=U\Lambda U^{T}\Lambda为特征值矩阵。一个空间信号x的图傅里叶变换定义为\widehat{x}=U^{T}x,逆变换为x=U\widehat{x}。类似于欧几里得空间上的傅里叶变换,图傅里叶变换(GFT)能够使基本操作公式化,如滤波。

3.1.2 Spectral filtering of graph signals

图上的卷积算子*\varrho定义在傅里叶域中x *\varrho y=U((U^{T}x)\odot (U^{T}y))。因此一个信号x被g_{\theta }滤波为

y=g_{\theta }(L)x=g_{\theta }(U\Lambda U^{T})x=Ug_{\theta }(\Lambda )U^{T}x

一个非参滤波器,即一个所有参数均为自由的滤波器,定义为 g_{\theta }(\Lambda )=diag(\theta ),参数θ是一个傅里叶系数的向量。

3.1.3 Polynomial parametrization for localized filters

非参数滤波器有两个限制:

(1)它们不局限于空间

(2)它们的学习复杂度是O(n),即数据的维数

这些问题可以通过使用基于拉普拉斯的多项式光谱滤波器来克服:

g_{\theta }(\Lambda )=\sum_{k=0}^{K-1}\theta _{k}\Lambda ^{k},参数θ是一个多项式系数的向量。由拉普拉斯方程的K阶多项式表示的谱滤波器恰好是K局域的,学习复杂度为O(K),即过滤器的支持大小,因此与标准CNN的复杂度相同。

3.1.4 Recursive formulation for fast filtering

一个信号x的过滤成本y=Ug_{\theta }(\Lambda )U^{T}x仍较高 O(n^{2}),这个问题的解决方案是参数化 g\theta (L)多项式函数,可以从L递归计算,K乘由稀疏L成本O(K|E|)<< O(n^{2})。

K阶的切比雪夫多项式T_{k}(x)可以是由稳定递归关系T_{k}(x)=2xT_{k-1}(x)-T_{k-2}(x)T_{0}=1T_{1}=x产生的。因此,一个滤波器可以参数化为K−1阶的展开g_{\theta }(\Lambda )=\sum_{k=0}^{K-1}\theta _{k}T_{k}(\widetilde{\Lambda }),参数\theta是切比雪夫系数的向量,T_{k}(\widetilde{\Lambda })是切比雪夫多项式,\widetilde{\Lambda }=2\Lambda /\lambda _{max}-I_{n}是一个位于[-1,1]的对角阵。

然后过滤操作可以写成y=g_{\theta }(L)x=\sum_{k=0}^{K-1}\theta _{k}T_{k}(\widetilde{L})x,其中\widetilde{L}=2L/\lambda _{max}-I_{n},计算复杂度为O(K|E|)。

3.1.5 Learning fifilters

样本s的第j个输出特征图由y_{s,j}=\sum_{i=1}^{F_{in}}g_{\theta _{i,j}}(L)x_{s,i}\in R^{n}x_{s,i} 是输入特征图。当使用反向传播算法训练多个卷积层时,需要有两个梯度:

\frac{\partial E}{\partial \theta _{i,j}}=\sum_{s=1}^{S}[\overline{x_{s}},i,0,...,\overline{x_{s}},i,K-1]^{T}\frac{\partial E}{\partial y_{s,j}} 和 \frac{\partial E}{\partial x _{s,i}}=\sum_{j=1}^{F_{out}}g_{\theta _{i,j}}(L)\frac{\partial E}{\partial y_{s,j}}

E是小批样本S的损失。

3.2 Graph Coarsening

传统采用谱聚类方法,本文采用Graclus多级聚类算法,使用一个贪婪算法来计算一个给定图的连续粗化版本,并能够最小化几个流行的光谱聚类目标,选择归一化切割,这是一个较好的聚类能量。Graclus的贪婪规则包括,在任何给定的粗化水平上,选择一个未标记的顶点 i,并将其与它的一个未标记的邻居 j 进行匹配,从而使局部归一化切割W_{ij}(1/d_{i}+1/d_{j})最大化。然后标记这两个匹配的顶点,并将粗化的权值设置为它们的权值之和。重复匹配,直到所有节点都被探索完毕。这是一种非常快速的粗化方案,它将节点数以大约两个(可能存在一些不匹配的节点)从一个级别到下一个粗级别。

3.3 Fast Pooling of Graph Signals

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

1、使用多层聚类图粗化方法将图粗化为不同分辨率。

2、借助粗化图,将图顶点重新排列,使之变为一个一维信号,从而进行Pooling。

 多层聚类算法的框架(如图1所示),包括三个步骤:
(1)粗化:基于最大化匹配准则逐层地合并前一层图中某些顶点,使得图的规模不断减小,直到“目标划分块”粗化成功为止。

(2)划分:即对粗化后的数据集使用传统算法进行聚类,如谱二分算法、 Ker-nighan-Lin 算法、区域增长算法及快速的区域增长算法等。

(3)细化:通过 Kernighan-Lin 细化算法逐层将划分映射到原数据集。这样, METIS 利用粗化过程减小了原图的规模,降低了划分算法的复杂度,利用细化过程将划分结果还原,快速有效地实现了对原数据集的划分。

在多层次聚类算法的三个步骤(粗化、划分、细化)中,粗化可以将大规模数据集减小,并且保持原数据集的性质;划分是对相应小规模的数据集进行聚类;细化是通过还原实现对原数据集的聚类。多层次聚类算法的优点体现在可以有效地聚类大规模数据集,同时避免其他算法使用随机采样等方法带来采样次数难以确定,缺乏鲁棒性,参数过多等缺陷。显然,粗化过程对整个多层次聚类算法的聚类质量起关键性作用。

本文的工作如下:粗化后,每个节点有两个父节点,如果在更精细的级别上匹配,如果不是,则有一个父节点是一个单节点。从最粗到最细的级别,添加假节点,即断开的节点,与单节点配对,使每个节点有两个子节点。这个结构是一个平衡的二叉树:

常规节点(和单例)有两个常规节点(如1级顶点0)或一个单例和一个假节点作为孩子(如2级顶点0),而假节点总是有两个假节点作为孩子(如1级顶点1)。

 输入信号在假节点处用中性值初始化,例如在使用最大池化的ReLU激活时为0。由于这些节点是断开连接的,所以过滤不会影响初始中性值。虽然这些假节点确实人为地增加了维数,从而增加了计算成本,但其实在实践中发现,Graclus留下的单例数量比顶点的数量相当少。

整个GCN过程

 实验代码(MNIST示例)链接:代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值