Paper : Spectral Networks and Deep Locally Connected Networks on Graphs
Code :
摘要
Yann LeCun 组在nips2014发表的有关卷积在图上迁移的理论研究成果,可能是最早的一篇研究Graph Convolution 的文章。在欧式空间中使用的卷积具有平移不变性,权值共享,局部连接,分层次表达的特点,但是图结构是一种非欧式空间中的关系型结构,所以其不存在平移不变性(每个节点的周围邻居数不固定),导致图网络无法使用卷积。作者提出了两种构造,一种基于空间域的层次聚类,另一种基于图拉普拉斯算子的频谱。 作者通过实验表明,对于低维图,使用这两种方法可以学习具有与输入大小无关的卷积层,从而可以形成有效的深度架构。
基于空域的层次结构
定义图 G G G 表示为 G = ( Ω , W ) G = (\Omega,W) G=(Ω,W),其中 Ω \Omega Ω 表示图中的点集,大小为 m m m , W W W 是一个大小为 m × m m\times m m×m 的对称非负方阵,表示带权的邻接矩阵。
根据边权的大小,可以定义阈值为 δ \delta δ 的直接邻域
N δ ( j ) = { i ∣ W i j > δ } N_\delta(j) = \{i |W_{ij}>\delta \} Nδ(j)={i∣Wij>δ}
在欧式空间上,CNN通过卷积和池化进行层次化降维,这一操作可以看作是每层将输入的特征图,在一定的聚类划分下,对每一个cluster输出单一的特征。作者仿照该方法进行图卷积,考虑 K K K 层图卷积结构,其中 Ω 0 = Ω \Omega_0 = \Omega Ω0=Ω , Ω k \Omega_k Ωk 是对 Ω k − 1 \Omega_{k-1} Ωk−1 划分为 d k d_k dk 个集群。对于第 k k k 层的图卷积操作,输入的特征通道数为 f k − 1 f_{k-1} fk−1,输出的特征通道数为 f k f_k fk 。对于输入的特征图,使用 x k = [ x k , 1 , . . . , x k , f k − 1 ] T x_k = [x_{k,1},...,x_{k,f_{k-1}}]^\text T xk=[xk,1,...,xk,fk−1]T 表示,输入矩阵的尺寸为 d k − 1 × f k − 1 d_{k-1}\times f_{k-1} dk−1×fk−1 ,那么输出特征定义为
x k + 1 , j = L k ⋅ h ( ∑ i = 1 f k − 1 F k , i , j x k , i ) x_{k+1,j} = L_k\cdot h(\sum_{i=1}^{f_{k-1}}F_{k,i,j}x_{k,i}) xk+1,j=Lk⋅h(i=1∑fk−1Fk,i,jxk,i)
其中 h h h 表示非线性激活函数, F k , i , j F_{k,i,j} Fk,i,j 是一个大小为 d k − 1 × d k − 1 d_{k-1}\times d_{k-1} dk−1×dk−1 的稀疏矩阵,非零元的位置由 N k \mathcal N_k Nk 给出, N k \mathcal N_k Nk 定义为
N k = { N k , i ∣ i = 1... d k − 1 } \mathcal N_k = \{\mathcal N_{k,i}|i=1...d_{k-1}\} Nk={Nk,i∣i=1...dk−1}
表示在 Ω k − 1 \Omega_{k-1} Ωk−1 中所有点对应的领域。
而矩阵
W
k
W_k
Wk 的迭代式定义为
A k ( i , j ) = ∑ s ∈ Ω k ( i ) ∑ t ∈ Ω k ( j ) W k − 1 ( s , t ) W k = rownormalize ( A k ) \\A_k(i,j) = \sum_{s\in\Omega_{k}(i)}\sum_{t\in\Omega_k(j)}W_{k-1}(s,t) \\W_k = \text{rownormalize}(A_k) Ak(i,j)=s∈Ωk(i)∑t∈Ωk(j)∑Wk−1(s,t)Wk=rownormalize(Ak)
基于频域的结构
图拉普拉斯矩阵定义为 L = D − W L = D-W L=D−W,使用 V V V 表示矩阵 L L L 的特征向量,那么图卷积在频域上的定义为
x k + 1 , j = h ( V ∑ i = 1 f k − 1 F k , i , j V T x k , i ) ( j = 1... f k ) x_{k+1,j} = h(V\sum_{i=1}^{f_{k-1}}F_{k,i,j} V^Tx_{k,i})\;\;(j=1...f_k) xk+1,j=h(Vi=1∑fk−1Fk,i,jVTxk,i)(j=1...fk)
大多数情况下,只有前d个特征向量起作用,因此可以使用 V d V_d Vd 代替矩阵 V V V,即 V d = V [ : , : d ] V_d = V[:,:d] Vd=V[:,:d]
总结
GCN可以看作是该篇论文提出的两种结构的特例,对于空域结构, F k , i , j F_{k,i,j} Fk,i,j 仅在一阶邻居处非零,参数共享;对于频域结构,可以看作 d = 1 d=1 d=1 ,即频域结构中的一阶近似,为之后提出的GCN奠定了理论基础。而作者从流形的角度进行实验开阔了图神经网络的应用场景。