在《SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS》 中,作者對《Convolutional Neural Networks on Graphs
with Fast Localized Spectral Filtering》 作出了改進,提出了以下創新:
(1)提出了一個可以直接在圖上操作的神經網絡模型的逐層傳播規則;
(2)證明了這種形式的圖卷積網絡怎樣在圖上實現半監督的節點分類;
1.神經網絡模型的逐層傳播規則
卷積公式的頻域表示:
g ∗ x = U g θ U T x (1) g*x=Ug_{\theta}U^{T}x\tag{1} g ∗ x = U g θ U T x ( 1 )
定義L L L 爲對稱歸一化圖拉普拉斯矩陣,L = I N − D − 1 2 A D − 1 2 = U Λ U T L=I_{N}-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}=U\Lambda U^{T} L = I N − D − 2 1 A D − 2 1 = U Λ U T ,A A A 是無向圖的鄰接矩陣(可以是二值,也可以是權值) ,D i i = ∑ j A i j D_{ii}=\sum_{j}{A_{ij}} D i i = ∑ j A i j 是圖的度矩陣。U U U 是L L L 特徵向量矩陣。L L L 的特徵值範圍爲[0,1]。
由論文《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》得到,式(1)可以推導爲:
g θ ′ ( Λ ) ≈ ∑ k = 0 K θ k ′ T k ( Λ ~ ) (2) g_{\theta^{'}}(\Lambda) \approx \sum_{k=0}^{K}{\theta_{k}^{'}}T_{k}(\tilde\Lambda)\tag{2} g θ ′ ( Λ ) ≈ k = 0 ∑ K θ k ′ T k ( Λ ~ ) ( 2 )
其中Λ ~ = 2 λ m a x Λ − I N \tilde\Lambda=\frac{2}{\lambda_{max}}\Lambda-I_{N} Λ ~ = λ m a x 2 Λ − I N ,θ ′ ∈ R K \theta^{'}\in R^{K} θ ′ ∈ R K 是切比雪夫係數。得到:g ∗ x ≈ ∑ k = 0 K θ k ′ T k ( L ~ ) x g*x \approx \sum_{k=0}^{K}{\theta_{k}^{'}}T_{k}(\tilde L)x g ∗ x ≈ ∑ k = 0 K θ k ′ T k ( L ~ ) x ,其中L ~ = 2 λ m a x L − I N \tilde L=\frac{2}{\lambda_{max}}L-I_{N} L ~ = λ m a x 2 L − I N 。L ~ \tilde L L ~ 的特徵值範圍爲[-1,1]。
當使用K = 1 K=1 K = 1 時,式(2)在頻域變爲線性函數,即:
g ∗ x ≈ θ 0 ′ x + θ 1 ′ ( 2 λ m a x L − I N ) x (3) g*x\approx \theta_{0}^{'}x+\theta_{1}^{'}(\frac{2}{\lambda_{max}}L-I_{N})x\tag{3} g ∗ x ≈ θ 0 ′ x + θ 1 ′ ( λ m a x 2 L − I N ) x ( 3 )
將λ m a x ≈ 2 \lambda_{max}\approx2 λ m a x ≈ 2 ,則
g ∗ x ≈ θ 0 ′ x + θ 1 ′ ( L − I N ) x = θ 0 ′ x − θ 1 ′ ( D − 1 2 A D − 1 2 ) x (4) g*x\approx \theta_{0}^{'}x+\theta_{1}^{'}(L-I_{N})x=\theta_{0}^{'}x-\theta_{1}^{'}(D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x\tag{4} g ∗ x ≈ θ 0 ′ x + θ 1 ′ ( L − I N ) x = θ 0 ′ x − θ 1 ′ ( D − 2 1 A D − 2 1 ) x ( 4 )
由於θ 0 ′ , θ 1 ′ \theta_{0}^{'},\theta_{1}^{'} θ 0 ′ , θ 1 ′ 是訓練參數,是可調整的,使得θ 0 ′ = − θ 1 ′ = θ \theta_{0}^{'}=-\theta_{1}^{'}=\theta θ 0 ′ = − θ 1 ′ = θ ,那麼
g ∗ x ≈ θ ( I N + D − 1 2 A D − 1 2 ) x (5) g*x\approx \theta(I_{N}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x\tag{5} g ∗ x ≈ θ ( I N + D − 2 1 A D − 2 1 ) x ( 5 )
I N + D − 1 2 A D − 1 2 I_{N}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}} I N + D − 2 1 A D − 2 1 的特徵值範圍爲[0,2],可能會導致梯度消失和梯度爆炸的問題,將I N + D − 1 2 A D − 1 2 I_{N}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}} I N + D − 2 1 A D − 2 1 再次歸一化爲D ~ − 1 2 A ~ D ~ − 1 2 \tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}} D ~ − 2 1 A ~ D ~ − 2 1 ,其中,A = ~ A + I N A\tilde = A+I_{N} A = ~ A + I N ,D ~ i i = ∑ j A ~ i j \tilde D_{ii}=\sum_{j}\tilde A_{ij} D ~ i i = ∑ j A ~ i j ,可以有效的避免這個問題,同時由於θ \theta θ 爲一個數,可以放到等式的最後,得到:
g ∗ x ≈ ( D ~ − 1 2 A ~ D ~ − 1 2 ) x θ (6) g*x\approx(\tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}})x \theta\tag{6} g ∗ x ≈ ( D ~ − 2 1 A ~ D ~ − 2 1 ) x θ ( 6 )
當信號x x x 爲多通道信號X ∈ R N × C X\in R^{N×C} X ∈ R N × C 時,並且使用F F F 個卷積核,使得每個輸出節點的通道數爲F F F ,則:
Z = ( D ~ − 1 2 A ~ D ~ − 1 2 ) X Θ (7) Z=(\tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}})X\Theta\tag{7} Z = ( D ~ − 2 1 A ~ D ~ − 2 1 ) X Θ ( 7 )
C C C 爲輸入節點的通道數,F F F 爲輸出節點的通道數,同時也是卷積核數目;Θ ∈ R C × F \Theta \in R^{C×F} Θ ∈ R C × F 爲這F F F 個卷積核的參數。
2.半監督的節點分類
令D ~ − 1 2 A ~ D ~ − 1 2 = A ^ , Θ = W \tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}}=\hat A,\Theta=W D ~ − 2 1 A ~ D ~ − 2 1 = A ^ , Θ = W ,則兩層的圖卷積分類網絡可以表示爲:
Z = f ( X , A ) = s o f t m a x ( A ^ R e L U ( A ^ X W ( 0 ) ) W ( 1 ) ) (8) Z=f(X,A)=softmax(\hat A\ ReLU(\hat AXW^{(0)})W^{(1)})\tag8 Z = f ( X , A ) = s o f t m a x ( A ^ R e L U ( A ^ X W ( 0 ) ) W ( 1 ) ) ( 8 )
需要說明的是,一個圖就是一個樣本,每個樣本在逐層傳播的過程中認爲A ^ \hat A A ^ 是一樣的,也就是說每層中A ^ \hat A A ^ 是共享的。s o f t m a x ( x i j ) = e x p ( x i j ) ∑ j e x p ( x i j ) softmax(x_{ij})=\frac{exp(x_{ij})}{\sum_{j}exp(x_{ij})} s o f t m a x ( x i j ) = ∑ j e x p ( x i j ) e x p ( x i j ) ,i ∈ [ 1 , N ] , j ∈ [ 1 , F ] , x i ∈ R 1 × F i \in [1,N],j \in [1,F],x_{i} \in R^{1×F} i ∈ [ 1 , N ] , j ∈ [ 1 , F ] , x i ∈ R 1 × F 表示兩層卷積後輸出( R N × F ) (R^{N×F}) ( R N × F ) 的第i i i 行。交叉熵爲L = − ∑ l ∈ Y L ∑ f = 1 F Y l f l n Z l f L=-\sum_{l\in Y_{L}}\sum_{f=1}^{F}Y_{lf}lnZ_{lf} L = − ∑ l ∈ Y L ∑ f = 1 F Y l f l n Z l f ,其中Y L Y_{L} Y L 是有標籤節點的集合。