Spectral Networks and Deep Locally Connected Networks on Graphs

[Bruna J., Zaremba W., Szlam A. and LeCun Y. Spectral networks and deep locally connected networks on graphs. In International Conference on Learning Representations (ICLR), 2014](Spectral Networks and Locally Connected Networks on Graphs)

这篇文章算是开启GCN的工作, 其利用 Laplacian 矩阵做的 spectral construction 的工作的确是很有意思的, 就是读起来很费劲.
即便是看了 here 中一些大佬的通俗易懂的讲解, 我还是没能从头到尾串起来.
但是我感觉如果我不写下来, 过不了一个礼拜就会忘得一干二净. 这里我才用一套和原文有出入的符号体系, 并省去 spatial domain部分 (这部分感觉没有一个好的图来辅助讲解太困难了).

主要内容

符号

  • \(\mathcal{G} = \{\mathcal{V}, \mathcal{E}\}\), \(|\mathcal{G}| = n\), \(\mathcal{V} = \{v_1, v_2,\cdots, v_n\}\)\(\mathcal{E}\)分别为图\(\mathcal{G}\)的顶点和边;
  • \(X \in \mathbb{R}^{n \times d}\) 第行向量 \(\bm{x}_i = [f_1(v_i), f_2(v_i), \cdots, f_d(v_i)]^T \in \mathbb{R}^d\)为第\(i\)个顶点的特征;
  • \(W \in \mathbb{R}^{n \times n}\), \(w_{ij}\)\(e_{ij} \in \mathcal{E}\)上的权重;
  • Laplacian 矩阵: \(L = D - W\), 其中\(D\)为对角矩阵, \(D_{ii} = \sum_{j}w_{ij}\);
  • Laplacian的矩阵分解为: \(L = V\Lambda V^T, V \in \mathbb{R}^{n \times n}\).

从正规的卷积到图卷积

对于例如图像而言, 我们可以很容易地定义形如 \(k \times k\) 的卷积核来抓局部的特征信息, 实际上是其是将周围的邻居的信息进行一个综合过滤, 而普通的图无法做到这一点的原因是对于不同的图和顶点\(v\)而言, 其周围的邻居的结构和数目是不定的, 因此无法构建这样一个合适的卷积核.
对于标准卷积而言 (\(\odot\)表对应元素相乘),

\[\tag{1} \bm{f} \star \bm{g} = [\hat{\bm{f}} \odot \hat{\bm{g}}]^{\check{}}, \]

傅里叶变换实际上就是求在特殊正交基下的系数:

\[\hat{\bm{f}} = U^T \bm{f}, \]

然后

\[\check{\hat{\bm{f}}} = UU^T \bm{f}, \]

故 (1) 可以重写为

\[\bm{f} \star \bm{g} = U[U^T \bm{f} \odot U^T \bm{g}] = U \Lambda_g U^T \bm{f}, \]

其中对角矩阵\(\Lambda_g\)对对角线元素为\(U^T\bm{g}\).

现在我们需要把这种思想运用到一般的图结构之上, 类似地, 令\(X\)的第\(j\)列为\(\bm{f}_j \in \mathbb{R}^n\), 然后\(\bm{g}_j\)为一'卷积核' (注意, \(\bm{g}\)的维度不必为\(n\)).

采用 Laplacian 矩阵的特征向量 \(V\)用以替代\(U\), 得

\[\bm{f}_j \star \bm{g}_j = V \Lambda_{g_j} V^T \bm{f}_j, \: j = 1,2,\cdots, d, \]

我们可以类比\(j\)为2D卷积中的channel, 故上述是对于第\(j\)通道的卷积, 则由卷积 \(G = [\bm{g}_1, \cdots, \bm{g}_j]\) 卷积后的特征为:

\[\bm{z} = \sum_{j} \bm{f}_j \star \bm{g}_j = V \sum_{i} \Lambda_{g_j} V^T \bm{f}_j \in \mathbb{R}^n. \]

对于每一组\(G_k\)都有对应的特征\(\bm{z}_k\), 正如普通的2D卷积一样, 倘若我们共有\(d'\)组, 提取后每个顶点\(v_i\)所对应的特征\(\bm{x}'_i \in \mathbb{R}^{d'}\).

因为 \(L = V\Lambda V^T\), 通常可以仅凭少量的特征向量就能很好的近似\(L\), 故我们通常可以截取大特征值对应的部分\(V_{m} \in \mathbb{R}^{n \times m}\), 此时\(\bm{g} \in \mathbb{R}^m\), 这进一步减少了参数量.

下面是我的一些疑问:

  1. \(V\)真的能很好替代\(U\)吗? 我看大部分讲解都说是因为傅里叶变换正交基实际上是Laplacian算子\(\Delta\)的特征函数, 所以 \(L\) 作为其在图上的近似, 用\(V\)是合情合理的.
  2. 这样的操作和基于spatial domain的图卷积的结果有何相似之处? 换言之, 这样的卷积操作是否也能保证只对其部分邻居有效? 即卷积\(\mathcal{g}\)的感受野和维度\(m\)或者别的有什么联系?
  3. 我看了 Laplacian 矩阵, 其中一个重要性质是其和图的 CTD 的紧密联系, 那么这种卷积方式和 CTD 又有何联系?
posted @ 2022-04-23 00:01  馒头and花卷  阅读(128)  评论(0编辑  收藏  举报