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.
如果有 $n$ 個網格資料,資料的維度為 $d$ ,如果使用有 $m$ 的輸出節點的全連線網路就需要 $n \times m$ 個引數,相當於 $O\left(n^{2}\right)$ 的複雜度。使用任意的濾波器(也就是 1 而非全連線網路能將引數複雜度降低到 $O(n)$ (注:重複使用一維濾波器) 。使用網格上的度量結構,也就是$ 2 $ 來構建區域性連線網路也可以。而如果兩種一起使用能夠將複雜度降低到 $O(k \cdot S)$ (注:使用小的濾波器,但可以根據需求設定不同的濾波器數量) ,這裡的 $k$ 代表資料 feature map 的數量, $S$ 代表卷積核的數量,此時複雜度與 $n$ 無關。最後使用網格的多尺度二元聚類,也就是 3 可以進一步降低複雜度。
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.
在本文中將會討論將深度卷積應用於網路資料的方法。本文一共提供兩種架構。第一種為空域架構(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$ 是一個對稱半正定矩陣,也就是加權鄰接矩陣。將CNN泛化到網路資料的最直接想法是應用多尺度的、層級的區域性感受野。
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}$ 個 cluster 的一個形式,因此 $d_{k}$ 就表示第 $k$ 層的節點個數,有 $d_{k}=\left|\Omega_{k}\right|$ 。另外定義 $\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),即空間點數減少;
②濾波器數目增加 (increases the number of filters),即每個點特徵數 $d_{k}$ 增加。
第 $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$ 個 feature map 。$x_{k, i}$ 的大小為 $d_{{k-1}}\times 1$;
- $F_{k, i, j}$ 代表第 $k$ 層的第 $j$ 個卷積核對第 $k-1$ 層的第 $i$ 個 feature map 進行卷積。$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|$
整個過程可以用下圖來表示:
通過以下過程構建第 $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}$ 的聚類,圖聚類的方法是多種多樣的,可以自行選取,這裡的方法是採用 $W_{k}$ 的 $\epsilon$ - covering,使 用核函式 $K$ 的 $\Omega$ 的 $\epsilon$ - covering是一個劃分 $P=\left\{P_{1}, P_{2}, \cdots, P_{n}\right\} $ ,滿足:
$\sup _{n} \sup _{x, x^{\prime} \in P_{n}} 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
先介紹幾種 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)$
這裡的 $x_{k, i} $ 仍然相當於第 $i$ 個 feature map 的訊號。 $F_{k, i, j}$ 也就是第 $j $ 個卷積核中對第 $i$ 個 feature map進行卷積的部分,每一個 $ F_{k, i, j}$ 都是一個對角矩陣,其實就是前面的 $\operatorname{diag}\left[\widehat{h}_{1}, \cdots, \widehat{h}_{m}\right] $ ,這裡之所以有一個連加號是因為要將多個 feature map 的結果累加起 來, $h $ 仍然表示非線性啟用,另外這裡的 $V $ 的每一列的特徵向量是按照特徵值的大小依次排 列的 (降序)。
通常只有拉普拉斯矩陣的前 $d$ 個特徵向量是有意義的,因為後面的特徵向量對應的特徵值比較小,特徵向量非常的平滑,因此在實際中可以取拉普拉斯矩陣的前 $d$ 列構成的矩陣 $V_{d}$ 代替 $V$ ,這個過程就相當於頻域架構的下采樣的過程,這裡的 $d$ 就相當於空域架構中的 $d_{k}$ ,每 一層可以取不同的值。按照目前這種架構所需的引數複雜度為 $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
圖神經網路基礎目錄:
『總結不易,加個關注唄!』