GCN -- 隨手記

普通卷積:

圖卷積

拉普拉斯矩陣:

 

(1)空域(spatial domain)卷積

簡單說就是提取拓撲圖上的空間特徵,然後把每個頂點相鄰的節點(鄰域)找出來,我把你拼成規則的數據結構,然後進行卷積[2]。
具體的操作方法包含三個步驟:
1.從圖中選擇一個固定長度的節點序列;
2.對序列中的每個節點,收集固定大小的鄰域集合;
3.對由當前節點及其對應的鄰域構成的子圖進行規範化,作爲卷積結構的輸入,後面就是傳統神經網絡的常規操作了。

(2) 頻域(spectral domain)卷積

這種思路就是希望藉助圖譜的理論來實現拓撲圖上的卷積操作。從整個研究的時間進程來看:首先研究譜圖論(graph signal processing)的學者定義了graph上的Fourier Transformation,進而定義了graph上的convolution,最後與深度學習結合提出了Graph Convolutional Network。其實核心概念就是藉助於圖的拉普拉斯矩陣的特徵值和特徵向量來研究圖的性質。

一個公式:AXW

A是標準化的鄰接矩陣,X是每個節點的特徵矩陣,就是每個節點有什麼屬性,比如圖像處理中,圖片的每個像素有RGB值,如果把每個像素看作一個節點,那RGB值就是三個屬性。W是學習的參數,就是神經網絡要訓練優化的參數。再牛一些的公式就是A(AXW)W,它是一個兩層的圖卷積網絡,一般的圖卷積網絡由於計算量比較大,除非經過特殊的改良,否則實驗只操作到兩層。

 

目前設計圖卷積核的方式主要是兩個,第一種設計的卷積核是確定的,比如空域。對於不同的圖,如果每個節點的鄰居數量不同,要去規範化一個卷積核,,那就選取固定數量的鄰居,這樣就能夠使用一個固定大小的卷積核。第2種就是頻域的卷積核設計,我將所有的節點都考慮,但是在卷積的時候,我根據拉普拉斯矩陣的特徵進行選擇,只選擇部分與節點相關的鄰域進行卷積。

空域卷積其實是將問題簡單化,卷積前先進行剪枝鄰域,所以計算速度一般較快。頻域的卷積是先將所有的節點考慮,然後在卷積時依靠拉普拉斯矩陣進行篩選,由於考慮了所有節點,所以這種計算速度明顯的要慢一些。


https://physics.stackexchange.com/questions/193086/whats-the-difference-between-frequency-spectral-and-cepstral-domains

https://www.zhihu.com/question/346245009/answer/826385011

Fourier Transform

Spectral Graph Theory


參考:

[1] Battaglia, Peter W, Hamrick, Jessica B, Bapst, Victor,等. Relational inductive biases, deep learning, and graph networks[J].

[2] Niepert M , Ahmed M , Kutzkov K . Learning Convolutional Neural Networks for Graphs[J]. ICML ,2016.

[3] https://zhuanlan.zhihu.com/p/115322434

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章