GNN之GCN之谱图卷积

Thomas N.Kipf et.al. 在论文《Semi-Supervised Classification with Graph Convolutional Networks》中提到:

从本质上说,GCN是谱图卷积的一阶局部近似。


那么,什么是谱图卷积呢?

首先,来看图上的谱卷积。

图上的谱卷积可以定义为:信号 x\in R^N 与滤波器 g_\theta = diag(\theta ) \ (\theta \in R^N) 在傅里叶域的乘积:

g_\theta \star x = Ug_\theta U^T x,

其中,U 为归一化拉普拉斯 \L = I_N - D^{-1/2}AD^{-1/2} = U \Lambda U^T 的特征向量矩阵(即谱矩阵),其中 \Lambda 为相应的特征值矩阵(对角矩阵),U^T xx 的图傅氏变换。在这里,可以将 g_\theta 看作是 \L 特征向量的函数,也就是 g_\theta (\Lambda )

 

对于图谱卷积来说,其计算代价无疑是很大的:

(1)使用 U 进行矩阵乘法运算的计算复杂度为 O(N^2);

(2)计算大图的拉普拉斯矩阵 \L 的特征分解需要很大的计算量。

针对这一问题,文中采用了切比雪夫多项式(Chebyshev polynomial) T_k(x) 的 K 阶截断来获得对 g_\theta (\Lambda ) 的近似:

g_{\theta ^{'}} (\Lambda ) \approx \sum_{k=0}^{K} \theta ^{'} _{k} T_k (\tilde{\Lambda }),

其中, \tilde{\Lambda } = \frac{2}{\lambda _{max}} \Lambda - I_N 为经 \L 的最大特征值(即谱半径)缩放后的特征向量矩阵。

\theta^{'} \in R^K 表示一个切比雪夫向量。切比雪夫多项式使用递归的方式进行定义:

T_{k}(x) = 2xT_{k-1}(x) - T_{k-2}(x),其中, T_0(x) =1, and\ T_1 (x) = x

 

此时,可以使用近似的 g_{\theta ^ '} 替代原来的 g_\theta ,此时,可以得到:

g_{\theta ^{'}} \ast x\ \approx\ U \sum_{k=0}^{K} \theta ^{'} T_{k} (\tilde{\Lambda }) U^T x = \sum_{k=0}^{K} \theta ^{'}_{k} U T_{k} (\tilde{\Lambda }) U^{T} x,

而 T_k (\tilde{\Lambda }) 是 \Lambda 的 k 阶多项式,且有 U \tilde{\Lambda }^{k}U^{T} = (U \tilde{\Lambda} U^{T})^{k} = \tilde{L}^{k},其中,\tilde{L} = \frac{2}{\lambda _{max}}L - I_{N}。这样,就得到了下面的公式:

g_{\theta ^{'}} \star x \approx \sum_{k=0}^{K} \theta ^{'} _{k} T_{k} (\tilde{L})x

 

通过这一近似,我们可以发现,谱图卷积不再依赖于整个图,而只是依赖于距离中心节点  K 步之内的节点(即 K 阶邻居)。

Defferrard et al.使用这一概念定义了图上的卷积神经网络。

你可能感兴趣的:(GNN)