Paper information
- Tittle:《Spectral Networks and Locally Connected Networks on Graphs》
- Authors:Joan Bruna、Wojciech Zaremba、Arthur Szlam、Yann LeCun
- Source:2014, ICLR
- Paper:Download
- Code:Download
Abstract
Convolutional Neural Networks are extremely efficient architectures due to the local translational invariance. In order to generize it , we propose two constructions, one based upon a hierarchical clustering of the domain, and another based on the spectrum of the graph Laplacian.
CNN作用於 歐幾里得數據 。 Convolutional Neural Networks (CNNs) have been extremely succesful in machine learning problems where the coordinates of the underlying data representation have a grid structure.
1 Introduction
CNN is able to exploit several structures that play nicely together to greatly reduce the number of parameters in the system:
-
- The translation structure(平移結構,類比於 $ 1 \times n$ 的濾波器), allowing the use of filters instead of generic linear maps and hence weight sharing.
- The metric on the grid, allowing compactly supported filters, whose support is typically much smaller than the size of the input signals.
- The multiscale dyadic clustering(二元聚類) of the grid, allowing subsampling, implemented through stride convolutions and pooling.
If there are $n$ input coordinates on a grid in $d$ dimensions, a fully connected layer with $m$ outputs requires $n \times m$ parameters。使用任意的濾波器而非全連接網絡能將參數復雜度降低到 $O(n)$ (比如:重復使用一維濾波器) 。
若使用 $S$ 個卷積核,且每個卷積核有 $k$ 個feature map,則能夠將復雜度降低到 $O(k \cdot S)$ ,此時復雜度與 $n$ 無關。通過卷積和池化減少了操作難度。
Graphs offer a natural framework to generalize the low-dimensional grid structure, and by extension the notion of convolution.We propose two different constructions. In the first one, we show that one can extend properties (2) and (3) to general graphs, and use them to define “locally” connected and pooling layers, which require $O(n)$ parameters instead of $O(n^2)$. We term this the spatial construction. The other construction, which we call spectral construction, draws on the properties of convolutions in the Fourier domain.
本文主要考慮卷積在 graph data 上的應用。
本文一共提供兩種架構。
-
- 第一種為空域架構(spatial construction),這種架構能夠對網絡數據應用上述 2 和 3 ,應用它們可以構建網絡數據的局部連接網絡,參數復雜度為 $O(n)$ 而不是 $O(n^2)$ 。
- 另一種架構為頻域架構(spectral construction),能夠在傅里葉域內應用卷積。頻域架構對於每一個 feature map 最多需要 $O(n)$ 的參數復雜度,也可以構建參數數量與 $n$ 無關的架構。
Contributions:
-
- We show that from a weak geometric structure in the input domain it is possible to obtain efficient architectures using $O(n)$ parameters, that we validate on low-dimensional graph datasets.
- We introduce a construction using $O(1)$ parameters which we empirically verify, and we discuss its connections with an harmonic analysis problem on graphs.
2 Spatial Construction
網絡數據將由一個加權圖 $G=(\Omega, W)$ 來表示, $\Omega$ 是一個離散的節點集合,大小為 $m$ , $W$ 是一個對稱半正定矩陣,大小為 $m\times m$,也就是加權鄰接矩陣。
2.1 Locality via W
局部性:The notion of locality can be generalized easily in the context of a graph.
通過圖上的 weight 限制 neighborhoods,定義如下:
$N_{\delta}(j)=\left\{i \in \Omega: W_{i j}>\delta\right\} .$
通過此方法,將參數限制在 $O(S \cdot n)$ ,其中$S$ 是 average neighborhood size。
2.2 Multiresolution Analysis on Graphs
CNNs reduce the size of the grid via pooling and subsampling layers.
多尺度聚類( multiscale clustering):they input all the feature maps over a cluster, and output a single feature for that cluster.
Figure 1 illustrates a multiresolution clustering of a graph with the corresponding neighborhoods.
可以看到 Figure 1 中,
- $k= 1$:
- 原始圖有 $12$ 個節點(即圖上的 gray node),先分成 $6$ 個 neighborhood $\mathcal{N}_{1 i}$ ,使用 $6$ 個 feature maps 分別作用在不同的 $ \mathcal{N}_{1 j}$ 中,對每個 $ \mathcal{N}_{1 j}$ 進行 cluster 得到對應的 6 個聚類中心(with color)。
- $k=2$:
- 然后對上述產生的 $6$ 個聚類中心,先分成 $3$ 個neighborhood $\mathcal{N}_{2 i}$, 再使用 $3$ 個 feature maps 得到 $3$ 個聚類中心。
圖示只進行了 $2$ 次。
2.3 Deep Locally Connected Networks
本文提出的空域架構也叫做深度局部連接網絡 (Deep Locally Connected Networks) 。在這 個架構中使用了網絡的多尺度聚類,事實上這里的尺度可以認為是下采樣的層數,在這里我們考慮 $K$ 個尺度,實際上也就是說這個架構由 $K$ 個卷積層,每個卷積層后面都有一個池化層 (也就是進行一次聚類),因此這個架構中總共有 $K$ 層,每層包括一個個卷積層和一個池化層。
我們設置 $\Omega_{0}=\Omega$ ,也就是輸入層的節點集合(可以認為是第 $0$ 層),每一層的節點集合記作 $\Omega_{k}$ ,這里 $k=1,2, \cdots, K , \Omega_{k}$ 是利用 $\Omega_{k-1}$ 的節點集合聚合成 $d_{k}$ 個 $N_{k, i}$ 的一個形式。另外定義 $\Omega_{k-1} $ 的節點的鄰居節點集合的表示:
$\mathcal{N}_{k}=\left\{\mathcal{N}_{k, i} ; i=1 \ldots d_{k-1}\right\}$
PS: $N_{k}$ 的下標雖然為 $k$ ,但它代表的是第 $k-1$ 的節點集合 $\Omega_{k-1}$ 的每個節點的鄰域的表示,里面的每個 $N_{k, i}$ 都是一個集合。
根據上述定義,可以定義網絡有 $k$ 層。
- 假設 Input 是 $\Omega_{0}$ 上的 real signal,以 $f_{k}$ 來 代表第 $k$ 層的卷積核的數量,即第 $k$ 層 feature map 的數量和信號的維度。
- 每一層都會將 $\Omega_{k-1}$ 上的 $f_{k-1}$ 維的信號轉換成 $\Omega_{k}$ 上的 $f_{k}$ 維的信號。(池化,切記)
結果:每一層的節點數量降低,但卷積核的數量會逐層增加使得特征的維度會變化。即:
①空間分辨率降低 (loses spatial resolution),即每個$x_{k, i}$維度生變化,從 $d_{{k-1}}\times 1$ 到 $d_{{k}}\times 1$ ;
②濾波器數目增加 (increases the number of filters),即 $F_{k, i, j}$ 逐層增加。(缺點之一:卷積核不可共用)
第 $k$ 層的輸出 $x_{k+1}$ 就被定義為:
$x_{k+1, j}=L_{k} h\left(\sum \limits _{i=1}^{f_{k-1}} F_{k, i, j} x_{k, i}\right) \quad\left(j=1 \ldots f_{k}\right)\quad \quad\quad\quad(2.1)$
其中:
-
- 第 $k$ 層的輸入節點用 $x_{k}=\left(x_{k, i} ; i=1,2, \cdots, f_{k-1}\right)$ 來表示,大小是一個 $d_{k-1} \times f_{k-1}$ 的矩陣;
- $x_{k, i}$ 相當於第 $k$ 層的第 $i$ 個節點的特征。$x_{k, i}$ 的大小為 $d_{{k-1}}\times 1$;
- $F_{k, i, j}$ 代表第 $k$ 層的第 $j$ 個卷積核對第 $k-1$ 層的第 $i$ 個 $x_{k-1, i}$ 進行卷積。$F_{k, i, j}$ 是一個 $d_{k-1} \times d_{k-1}$ 的稀疏矩陣,矩陣的第 $m$ 行的非零值都只會存在於 $N_{k, m}$ 所指定的第 $m$ 個節點的鄰居節點位置。
- $h$ 代表非線性激活函數;
- $L_{k}$ 代表對卷積的結果進行池化操作來降低節點的維度,$L_{k}$ 相當於聚類的結果,是一個 $d_{k} \times d_{k-1}$ 的稀疏矩陣,每一行指示一個簇的分布;
- 如果采用平均池化,那么 $L_{k}$ 的一個例子( $d_{k}=3$, $d_{k-1}=6$ ) 可以是:
$L_{k}=\left|\begin{array}{cccccc}1 & 0 & 0 & 0 & 0 & 0 \\0 & \frac{1}{2} & 0 & \frac{1}{2} & 0 & 0 \\0 & 0 & \frac{1}{3} & 0 & \frac{1}{3} & \frac{1}{3}\end{array}\right|$
Eq 2.1 的優點:
這樣就輸出了聚集后新的節點特征,並且完成了降維的操作。同時,加入了一個可學習的卷積核。非常巧妙地將傳統的 CNN 遷移到了圖上,這就不再要求待處理數據具有平移不變性。完美地適應於圖結構數據的節點無序、鄰居個數不確定的特性。
Eq 2.1 的缺點:
首先,在更新中心 節點特征時利用上一層的節點特征不一定是該中心節點的鄰居節點。譜域的 GCN 是基於拉普拉斯矩陣的,沒有利用含有鄰居學習的鄰接矩陣,所以不具備局部性。其次,該方法的計算復雜度為 $O(n^{3})$ ,計算開銷非常大,每次都需要對拉普拉斯矩陣進行特征分解。
整個過程可以用下圖來表示:
通過以下過程構建第 $k$ 層的 $W_{k}$ 和 $N_{k}$ :
${\large \begin{array}{l}W_{0} &=W \\A_{k}(i, j) &=\sum \limits _{s \in \Omega_{k}(i)} \sum\limits_{t \in \Omega_{k}(j)} W_{k-1}(s, t),(k \leq K) \\W_{k} &=\text { rownormalize }\left(A_{k}\right),(k \leq K) \\\mathcal{N}_{k} &=\operatorname{supp}\left(W_{k}\right) \cdot(k \leq K)\end{array}} $
$A_{k}(i, j)$ 的計算指:由於 $\Omega_{k}$ 中的節點來自 $\Omega_{k-1}$ 中的節點的聚類,所以 $i, j$ 之間的權重是 $i$ 和 $j$ 對應的聚類之前的 $\Omega_{k-1}$ 中節點之間所有權重的累加。
$\Omega_{k}$ 是對 $\Omega_{k-1}$ 的聚類點集合,聚類結果是若干個 $\mathcal{N}_{ki}$ 。這里圖聚類的方法采用 $W_{k}$ 的 $\epsilon$ - covering,使用核函數 $K$ 的 $\Omega$ 的 $\epsilon$ - covering是一個划分 $P=\left\{P_{1}, P_{2}, \cdots, P_{n}\right\} $ ,滿足:(可以參考本博客的譜聚類)
$\underset{n}{sup} \quad \underset{x, x^{\prime} \in P_{n}}{sup} K\left(x, x^{\prime}\right) \geqslant \epsilon$
以 $S_{k} $ 代表 $\mathcal{N}_{k}$ 中的平均節點數量,那么第 $k$ 層用來學習的參數量為:
$O\left(S_{k} \cdot\left|\Omega_{k}\right| \cdot f_{k} \cdot f_{k-1}\right)=O(n)$
實踐中通常有 $S_{k} \cdot\left|\Omega_{k}\right| \approx \alpha \cdot\left|\Omega_{k-1}\right|$,$ \alpha$ 是下采樣因子,滿足 $\alpha \in(1,4) $。
這種架構的優點在於不需要很強的 regularity assumptions on the graph,只需要圖具備低維鄰域結構即可,甚至不需要很好的 global embedding。但是缺點在於沒辦法進行參數共享,對於每一層的每一個節點都要有單獨的參數進行卷積而不能像CNN那樣使用同一個卷積核在數據網格上進行平移。
3 Spectral Construction
The global structure of the graph can be exploited with the spectrum of its graph-Laplacian to generalize the convolution operator.
3.1 Harmonic Analysis on Weighted Graphs
3.1.1 Laplacian matrix
下面的內容有點水平的同學可以參考論文《Discrete Regularization》和《The Emerging Field of Signal Processing on Graphs》
先介紹幾種 Laplacian matrix:
① combinatorial Laplacian,組合拉普拉斯矩陣:
$L=D-W$
其中的元素為:
$L_{i, j}=\left\{\begin{array}{l}d_{i}\quad &i=j \\-w_{i j}\quad& i \neq j \text { and } v_{i} \text { is adjacent to } v_{j} \\0 \quad&\text { otherwise }\end{array}\right.$
② Symmetric normalized Laplacian,對稱歸一化的拉普拉斯矩陣:
$L^{s y s}=D^{-1 / 2} L D^{-1 / 2}=I-D^{-1 / 2} W D^{-1 / 2}$
其中的元素為:
$L_{i, j}^{s y s}=\left\{\begin{array}{l}1 \quad&i=j \text { and } d_{i} \neq 0 \\-\frac{w_{i j}}{\sqrt{d_{i} d_{j}}}\quad &i \neq j \text { and } v_{i} \text { is adjacent to } v_{j} \\0 \quad&\text { otherwise }\end{array}\right.$
③ Random walk normalized Laplacian,隨機游走歸一化拉普拉斯矩陣:
$L^{r w}=D^{-1} L=I-D^{-1} W$
其中的元素為:
$L_{i, j}^{r w}=\left\{\begin{array}{l}1\quad &i=j \text { and } d_{i} \neq 0 \\-\frac{w_{i j}}{d_{i}}\quad&i \neq j \text { and } v_{i} \text { is adjacent to } v_{j} \\0\quad &\text { otherwise }\end{array}\right.$
為方便,本文使用的是 ① combinatorial Laplacian 。
3.1.2 Introduction of smoothness function
對於一個固定的加權鄰接矩陣 $W$ ,不同的節點信號列向量 $x \in \mathbb{R}^{m}$ (也就是說網絡有 $m$ 個節點) 有不同的平滑性 (smoothness) 度量 ,在節點 $i$ 處的平滑性度量 $\|\nabla x\|_{W}^{2}(i)$ 為:
$\|\nabla x\|_{W}^{2}(i)=\sum \limits _{i} W_{i j}[x(i)-x(j)]^{2}$
所有 node 的平滑性度量為:
$\|\nabla x\|_{W}^{2}=\sum \limits _{i} \sum\limits_{j} w_{i j}[x(i)-x(j)]^{2}$
其實 $\|\nabla x\|_{W}^{2}$ 就是 $x^{T} L x$ ,可以參考《圖神經網絡基礎二:譜圖理論》。
根據上面的公式可以得出最平滑的信號 $x$ ,對應於特征值為 $0$ 時,此刻的 $x$ 其實是一個歸一化(前文圖神經網絡沒有歸一化,這里歸一化並不影響)的全 $1$ 的特征向量 $v_0$ 為:
$v_{0}=\underset{x \in \mathbb{R}^{m} \ \|x\|=1}{\arg \min }\|\nabla _x\|_{W}^{2}=(1 / \sqrt{m}) 1_{m}$
事實上 $\mathbb{R}^{m}$ 空間中最平滑的 $m$ 個相互正交的單位向量其實就是 $L$ 的特征向量(譜分解得出):
$v_{i}=\underset{x \in \mathbb{R}^{m}\ \ \|x\|=1\ \ \ x \perp\left\{v_{0}, \ldots, v_{i-1}\right\}}{arg min} \|\nabla x\|_{W}^{2}$
每個 eigenvector $v_{i}$ 的平滑性度量的值其實就是特征值 $ \lambda_{i}$,注意 $x \text { in }\left[v_{0}, \ldots v_{m-1}\right]$ 。
拉普拉斯矩陣的譜分解為 $L=V \Lambda V^{-1}=V \Lambda V^{T}$ ,其中 $\Lambda$ 為特征值構成的對角矩陣, $V$ 為特征向量構成的正交矩陣, $V$ 的每一列都是一個特征向量,通過計算 $v_{i}^{T} L v_{i} $ 就可得到對應的特征值 $\lambda_{i} $ ,因此最平滑的信號向量就是特征值最小的特征向量,拉普拉斯矩陣的特征值就代表特征向量的平滑度。
上面提到的一組特征向量其實就是 $\mathbb{R}^{m}$ 空間的一組基,前面的文章里說過圖傅里葉變換其實就是將信號向量投影到拉普拉斯矩陣的各個特征向量上:
$F\left(\lambda_{k}\right)=\sum \limits _{i=1}^{m} x(i) v_{k}(i)$
特征值的大小表示平滑程度,它對應傳統傅里葉變換中的頻率,頻率高表示短時間內變動多,和這里的相鄰節點變動大(變動越大越不平滑)能對應起來。因此圖傅里葉變換就是在將一個圖信號分解到不同平滑程度的圖信號上,就像傳統傅里葉變換將函數分解到不同頻率的函數上一樣。
一個任意信號向量 $x$ 分解到所有的特征向量上對應的每個系數用 $a_{i} \quad\left(a_{i}=F\left(\lambda_{i}\right)\right.$ 表示 ,這些系數也就是圖傅里葉變換后的系數) 表示, $x$ 可以表示為 $ \sum \limits_{i=1}^{m} a_{i} v_{i}$ ,也就是 $V a$ ,那么 $x$ 的平滑性度量的值可以用這些系數和特征值表示:
$\begin{array}{l}x^{T} L x&=(V a)^{T} L V a \\&=a^{T} V^{T} L V a \\&=a^{T} V^{T} V \Lambda V^{T} V a \\&=a^{T} I \Lambda I a \\&=a^{T} \Lambda a \\&=\sum \limits _{i=1}^{m} a_{i}^{2} \lambda_{i}\end{array}$
3.2 Extending Convolutions via the Laplacian Spectrum
3.2.1 Convolution Theorem
首先回顧一下卷積定理:
兩個函數 $f$ 和 $g$ 進行卷積可以應用卷積定理,用公式表達卷積定理就是:
$F(f * g)=F(f) \cdot F(g)$
對於網絡來說,直接進行卷積是困難的,因為網絡不具備圖像那樣規則的網格結構,因此考慮應用圖傅里葉變換將網絡的空域信息映射到頻域來應用卷積定理完成卷積操作。
應用卷積定理可以在頻域上進行圖的卷積操作,具體的方法是將濾波器 $h$ 和圖信號 $x$ 都通過圖傅里葉變換轉換到頻域然后計算轉換后的結果的乘積(哈達瑪積,也就是向量對應元素相乘),然后將相乘的結果再通過圖傅里葉逆變換轉換回空域,整個過程如下:
$\begin{array}{l}h * x&=F^{-1}\{F\{h\} \cdot F\{x\}\} \\&=F^{-1}\{\widehat{h} \cdot \widehat{x}\} \\&=F^{-1}\left\{\widehat{h} \cdot V^{T} x\right\} \\&=F^{-1}\left\{\operatorname{diag}\left[\widehat{h}_{1}, \cdots, \widehat{h}_{m}\right] V^{T} x\right\} \\&=\operatorname{Vdiag}\left[\widehat{h}_{1}, \cdots, \widehat{h}_{m}\right] V^{T} x\end{array}$
這里不妨定義 $V$ 是graph Laplacian $L$ 中按特征值排序的特征向量 ,將 $ \widehat{h}$ 組織成對角矩陣 $ \operatorname{diag}\left[\widehat{h}_{1}, \cdots, \widehat{h}_{m}\right], \widehat{h}_{1}, \cdots, \widehat{h}_{m} $ 也就是神經網絡要學習的參數。
3.2.2 Frequency Domain Architecture(頻域架構)
在仍使用 $k$ 來代表網絡的第 $k$ 層, $k=1,2, \cdots, K , f_{k} $ 仍然代表卷積核的數量。該架構形同上述卷積定理,首先來描述卷積的過程,之后再描述如何進行下采樣。因此現在假設第 $k$ 層和第 $k+1$ 層的節點數都是 $|\Omega| $ ,那么第 $k$ 層的輸入 $x_{k}$ 就 是一個 $|\Omega| \times f_{k-1}$ 的矩陣,輸出 $x_{k+1}$ 就是一個 $|\Omega| \times f_{k} $ 的矩陣。第 $k$ 層的計算過程可以 表示為:
$x_{k+1, j}=h\left(V \sum \limits_{i=1}^{f_{k-1}} F_{k, i, j} V^{T} x_{k, i}\right) \quad\left(j=1,2, \cdots, f_{k}\right)$
Where
-
- $x_{k, i} $ 仍然相當於第 $k$ 層第 $i$ 個輸入信號;
- $F_{k, i, j}$ 也就是第 $j $ 個卷積核中對第 $k$ 層第 $i$ 個輸入信號進行卷積,每一個 $ F_{k, i, j}$ 都是一個對角矩陣,即 $\operatorname{diag}\left[\widehat{h}_{1}, \cdots, \widehat{h}_{m}\right] $ (For me:卷積核的組合矩陣);
- $h $ 仍然表示非線性激活;
- $V $ 的每一列的特征向量是按照特征值的大小依次排列的 (降序)。
通常拉普拉斯矩陣只有前 $d$ 個特征向量有意義,因為后面的特征向量對應的特征值比較小,特征向量非常的平滑,因此實際中可取拉普拉斯矩陣的前 $d$ 列構成的矩陣 $V_{d}$ 代替 $V$ ,這個過程就相當於頻域架構的下采樣的過程。這里的 $d$ 相當於空域架構中的 $d_{k}$ (For me:降維) ,每 一層可以取不同的值。按照目前這種架構所需的參數復雜度為 $f_{k-1} \cdot f_{k} \cdot d=O(|\Omega|) $ 。
4 Numerical Experiments
本文中提出的兩種架構在兩個數據集上進行了實驗驗證效果。具體實驗設置參看原論文,這里不做贅述。
4.1 Subsampled MNIST
這個數據集是從 MNIST 數據集的每張圖片( $28 \times 28$)上采樣 $400$ 個樣本點構建圖。實驗樣本如下圖:
實驗結果如下圖所示:
4.2 MNIST on the sphere
這個數據集將MNIST數據集中的樣本提升到3維空間中。實驗樣本如下圖:
實驗結果如下圖所示:
Reference
圖神經網絡基礎目錄:
Last modify :2022-01-20 15:10:59
『總結不易,加個關注唄!』