Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

Defferrard M., Bresson X. and Vandergheynst P. Convolutional neural networks on graphs with fast localized spectral filtering. In Advances in Neural Information Processing Systems (NIPS), 2016.

GCN 和 切比雪夫多项式.

符号

  • \(\mathcal{G} = (\mathcal{V}, \mathcal{E}, \mathcal{W})\), 无向连通图, 结点 \(\mathcal{V}\), 边 \(\mathcal{E}\), 以及权重 \(\mathcal{W}\);
  • \(s: \mathcal{V} \rightarrow \mathbb{R}\) 信号函数, 赋予每个结点一个值. 比如 MNIST 中的图片, 共有 \(28 \times 28 = 784\) 个结点, 那么每个图片 \(\bm{x} = s(\mathcal{V}; \xi) \in \mathbb{R}^{784}\) 就可以看成是一个特定的信号;
  • \(|\mathcal{V}| = n\), 并用 \(\bm{x} \in \mathbb{R}^n\) 表示一种特定的信号;
  • \(D \in \mathbb{R}^{n \times n}\) 为一对角矩阵, 对角线元素为 \(D_{ii} = \sum_j W_{ij}\);
  • \(L = I_n - D^{-1/2} W D^{-1/2}\) 为标准化后的 Laplacian 矩阵, 并假设其特征分解为 \(L = U\Lambda U^T\).

基于谱的图卷积

  • 我们知道, 基于谱的图卷积可以表示为:

    \[\bm{y} = U g(\Lambda; \theta) U^T \bm{x}, \]

    其中 \(g(\cdot; \theta)\) 中包含可训练的参数.

  • 虽然形式简单, 但是一般不具有 localized 性质且参数量往往是 \(\mathcal{O}(n)\), 对于图本身很大的情况很难适用.

  • 但是, 当 \(g(\Lambda; \theta)\) 关于 \(\Lambda\) 是一个'线性函数'的时候, 就有:

    \[\bm{y} = g(L; \theta) \bm{x}, \]

    此时我们不需要进行 \(L\) 的特征分解了.

  • 更特殊的, \(g(\Lambda; \theta)\) 为多项式函数的时候:

    \[g(\Lambda; \theta) = \sum_{k=0}^{K-1}\theta_k \Lambda^k \rightarrow \bm{y} = \sum_{k=0}^{K-1}\theta_k L^k \bm{x}. \]

    因为 \([L^K]_{ij} = 0\)\(i, j\) 之间的最短路径长度 \(> K\), 故具备 localized 性质.

  • 作者选择 切比雪夫多项式 来作为选择 (看样子和小波和正交基等性质有关系, 具体为何不了解), \(k-\)阶的切比雪夫多项式定义为:

    \[T_k(z) = 2z T_{k-1}(z) - T_{k-2}(z), \: T_0 = 1, T_1 = z. \]

    且它们构成了 \(L^2([-1, 1], dy / \sqrt{1 - y^2})\) 的正交基.

  • \(\Lambda\) 的值并不能保证在 \([-1, 1]\) 内, 故用:

    \[\tilde{\Lambda} = 2 \Lambda / \lambda_{\max} - I, \\ \tilde{L} = 2L / \lambda_{\max} - I. \]

    替代.

  • 所以最后的卷积操作可以归结为:

    \[\bm{y} = \sum_{k=0}^{K-1} \theta_k T_k(\tilde{L}) \bm{x} = [\bar{\bm{x}}_0, \ldots, \bar{\bm{x}}_{K-1}] \bm{\theta}, \]

    其中 \(\bar{\bm{x}}_k = T_k(\tilde{L}) \bm{x}\)

    \[2 \tilde{L} \bar{\bm{x}}_{k-1} - \bar{\bm{x}}_{k-2}. \]

剩下的关于 pooling 的操作这里就不记录了. 记录这些的主要目的其实是发现, 推荐系统中关于 signal 和这种标准的处理方式有很大差别. 其实标准的图卷积, 就是和 CNN 一样, 给定一种数据结构, 然后通过不同的 signal 进行训练, 但是推荐系统中, user, item 的整个图只有一个 signal. 所以用标准的参数的训练方式我想难免会过拟合.

代码

[official]

posted @ 2022-08-07 17:29  馒头and花卷  阅读(165)  评论(0编辑  收藏  举报