Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
概
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]