【GCN】圖卷積網路初探——基於圖(Graph)的傅立葉變換和卷積
- 本文為從CNN到GCN的聯絡與區別——GCN從入門到精(fang)通(qi)的閱讀筆記,文中絕大部分公式和圖片摘自原文。
文章目錄
一、CNN(卷積神經網路)中的離散卷積
推薦閱讀:如何通俗易懂地解釋卷積?
1、CNN中的離散卷積:共享引數的過濾器
2、CNN中的卷積操作:通過計算中心畫素點以及相鄰畫素點的【加權和】構成【feature map】;
加權係數=卷積核的權重係數
【例項】下式是一個隱藏神經元的輸出計算公式,b為偏置,w為5×5的權重向量,a為上一層的啟用值,σ()為啟用函式。
可以看出,將上一層的5×5=25的神經元(a)加權(w)求和
3、CNN中的卷積目的:空間特徵的提取
4、確定卷積核的係數:隨機化初值,訓練中根據誤差函式loss,通過反向傳播+梯度下降進行迭代優化。
二、GCN基本概念介紹
(一)圖Graph
定義:頂點和邊建立的關係拓撲圖
(二)研究GCN的原因
1、CNN的【平移不變性】在【非矩陣結構】資料上不適用
2、希望在【拓撲圖】上提取空間特徵來進行機器學習
3、GCN主要工作:引入可以優化的【卷積引數】
(三)提取【拓撲圖】空間特徵的兩種方式
1、vertex domain(spatial domain):頂點域(空間域)
操作:把每個頂點相鄰的neighbors找出來
缺點:每個頂點的neighbors不同,計算處理必須針對每個節點
2、spectral domain:譜域
過程:
(1)定義graph上的Fourier Transformation傅立葉變換
(利用Spectral graph theory,藉助圖的拉普拉斯矩陣的特徵值和特徵向量研究圖的性質)
(2)定義graph上的convolution卷積
三、圖的拉普拉斯矩陣
(一)定義:拉普拉斯矩陣L
其中,L為Laplacian矩陣;
D是頂點的度矩陣(對角矩陣),對角線上的元素依次為各個頂點的度(與該頂點相連的邊的條數);
A是圖的鄰接矩陣。
計算方法例項:
(二)拉普拉斯矩陣L的良好性質
1、是對稱矩陣,可以進行譜分解(特徵分解),與GCN的spectral domain對應
2、只在【中心節點】和【一階相連的頂點】這兩種位置上有非0元素,其餘位置都是0
注:一階相連就是通過一條邊直接相連,如上圖中與頂點1一階相連的頂點為5和2;
二階相連就是通過兩條邊相連,如上圖中與頂點1二階相連的頂點為4(1-5-4)、2(1-5-2)、5(1-2-5)、3(1-2-3)
3、可以通過拉普拉斯運算元與拉普拉斯矩陣進行類比
(三)拉普拉斯矩陣L的譜分解(特徵分解)
1、矩陣L的特徵分解定義:將矩陣L分解為由特徵值λ和特徵向量u表示的矩陣之積
(1)求特徵值和特徵向量:λ為特徵值,u為特徵向量,則滿足下式:
(2)求特徵分解:
令 L是一個 N×N 的方陣,且有 N 個線性無關的特徵向量 。
這樣, L可以被分解為:
其中,U是N×N方陣,且其第i列為L的特徵向量ui,ui為列向量;
Λ是對角矩陣,其對角線上的元素為對應的特徵值。
2、拉普拉斯矩陣:【半正定】【對稱】矩陣
性質:
(1)有n個線性無關的特徵向量
(2)特徵值非負
(3)特徵向量相互正交,即Q為正交矩陣
設拉普拉斯矩陣L中,λi為特徵值,ui為特徵向量,U為特徵向量ui作為列向量組成的方陣,那麼拉普拉斯矩陣的譜分解形式為:
四、Graph上的傅立葉變換與卷積
(一)核心工作
把拉普拉斯運算元的【特徵函式】
變為
Graph對應的拉普拉斯矩陣的【特徵向量】
(二)Graph上的傅立葉變換
1、傳統傅立葉變換:
2、Graph上的傅立葉變換
- 拉普拉斯矩陣=離散拉普拉斯運算元
- 拉普拉斯矩陣的【特徵向量U】=拉普拉斯運算元的【特徵函式exp(-iwt)】
仿照上面傳統傅立葉定義,得到Graph上的傅立葉變換:
- i為第i個頂點
- λl為第l個特徵值;ul為第l個特徵向量
- f為待變換函式,f尖為其對應的傅立葉變換,f和f尖與頂點i一一對應
3、Graph上的傅立葉逆變換:
(三)Graph上的卷積
1、傳統卷積定理:
- f為待卷積函式,h為卷積核(根據需要設計)
- f*h為卷積結果
2、Graph上的卷積:仿照上面定義
- f為待卷積函式,h為卷積核(根據需要設計)
- f*h為卷積結果
3、由式(1)可以看出,U為特徵向量,f為待卷積函式,重點在於設計含有【可訓練】【共享引數】的【卷積核h】
五、深度學習中的GCN
1、第一代GCN:
-
卷積核:
-
output公式:
-
缺點:有n個引數θn,計算量大
2、第二代GCN:
- 卷積核:
- output公式:
注意到下式:
進而可以匯出下式:
- 經過矩陣變換,簡化後的output公式:
3、例項
- K=1時,對於頂點i,將頂點i以及頂點i的一階相連頂點(j,k,m,n)的feature值(f函式值)做加權求和,權重就是引數αj,最終輸出新的feature值(g函式),為提取得到的空間特徵
- K=2時,對於頂點i,將頂點i以及頂點i的一階相連頂點、二階相連頂點的feature值加權求和,輸出新的feature值