ICLR2020 | 圖池化沒有考慮圖結構?一文帶你瞭解最新圖池化STRUCTPOOL

作者 | 程玉

審稿 | 俞琳薈

今天給大家介紹的是TAMU的Hao Yuan等人的一篇論文,該研究針對目前的大多數圖池化技術忽略了圖結構這一可能會引起重要特徵丟失的信息,巧妙地利用可以捕獲不同節點之間的關係的條件隨機場,並進一步將能量函數和圖拓撲信息結合起來完成結構化的預測問題。作者提出的StructPool在多個數據集上的實驗結果顯示了有效性

1

背景

學習圖的高級表示形式對於圖分析任務非常重要。面對很多大型圖數據,除了圖卷積之外,圖池化也是一個很重要的研究領域。在卷積神經網絡(CNN)中池化層夾在連續的卷積層中間,用於壓縮數據和參數的量,並且,池化操作在許多圖像和自然語言處理任務中都顯示了其有效性,所以很自然地池化操作就被引入到了圖數據處理中。一些性能比較好的圖池化方法例如SORTPOOL,TOPKPOOL, DIFFPOOL和SAGPOOL都未明確地對不同節點之間的關係建模,因此可能會忽略重要的結構信息。

這篇文章的任務是圖層面的表徵學習。作者從Graph pooling的角度出發,指出現有的很多方法並沒有顯示的考慮圖結構的信息,並將Graph pooling的過程轉化爲節點分類,從而其目標變爲學習一個聚類分配矩陣(cluster assignment matrix)。對於一個節點的分類不僅與這個節點的特徵有關,還與其他節點的分類有關,於是作者採用條件隨機場的方法來建模這種關係,並結合圖結構信息設計吉布斯(Gibbs)能量方程。

2

模型

引入圖池化操作旨在減少圖中節點的數量並且學習到新的圖表示。給定含n個節點的圖G,則圖G可以由特徵矩陣和其鄰接矩陣表示,假設圖池化後產生了一個含k個節點(k<n)的新圖,則特徵矩陣變爲,鄰接矩陣變成,所以圖池化的目標是學習X,A和之間的關係。這裏作者將繼續沿用前人的想法,將圖池化問題轉爲節點聚類問題,將圖G中的n個節點分配給k個不同的cluster,每個cluster就是新圖中的節點。在聚類過程中產生聚類分配矩陣,其中元素的取值視不同的任務而定,則新圖可以被表示爲,其中可以看成對其進行線性變換,爲保證鄰接矩陣爲對稱矩陣,多乘了一部分,最終經過函數後其中的元素爲1(乘積大於0時)或0。而接下來的重點就在於分配矩陣的學習。在圖中聚類分配不僅僅依賴於節點本身的特徵,更取決於其他節點是如何分配的,所以文章中通過考慮節點自身的特徵矩陣和不同節點的分配之間的關係來生成分配矩陣。在條件隨機場(CRF)中,統計的是相關數據滿足特徵函數的頻數,所以用CRF生成分配矩陣。因爲作者考慮的不僅是節點自身的能量,並且考慮了圖結構,所以CRF中的能量函數由兩部分組成,第一部分考慮的是一元點,在原圖中的節點i應該屬於哪一類簇(cluster),即只考慮節點自身,第二部分考慮的是成對節點i,j之間的關係,即將圖結構考慮進去,這樣生成的分配矩陣就是帶有圖結構的分配矩陣。具體能量函數的形式如下:

當原圖中節點i和j經過跳是可達的時候取值爲1,其餘情況爲0,充分考慮了在圖中的拓撲信息,即每個可達節點之間的關係。這兩部分的特徵函數都可以通過神經網絡獲得,其中一元關係可由GCN得到,在傳統的圖像處理任務中,高斯核可以得到兩元關係,但是計算效率低下,所以作者引入注意力機制,注意力矩陣反映了不同向量之間的相似性,用注意力矩陣可以度量成對能量,並且計算量大大降低。理論上,在經過m次迭代,含有n個節點的大型圖,並且設置i個層的GCN,STRUCTPOOL的時間複雜度約爲

3

實驗

實驗是在八個數據集上進行評估STRUCTPOOL,包括五個生物信息學蛋白質數據集,ENZYMES,PTC,MUTAG,PROTEINS,D&D以及三個社交網絡數據集,COLLAB,IMDB-B,IMDB-M。選取的大多數數據集規模較大,因此適合評估深圖模型。

將STRUCTPOOL與通過學習節點表示和節點排序的PATCHYSAN、通過GCN並進行全局池化的DCNN,對子結構的潛在表示進行建模的DGK、節點特徵和邊緣信息執行GCN調節的ECC、通過採用和聚合進行節點嵌入以及採用全局池化的GRAPHSAGE、利用聚合方法來替代深圖網絡中的全局池化操作的SET2SET、利用SORTPOOL的池化策略的DGCNN、基於GRAPHSAGE體系結構構建的DIFFPOOL進行比較。此外,將STRUCTPOOL與三個圖卷積核進行了比較:Graphlet,Shortest-path,WeisfeilerLehman subtree。比較結果如下圖所示:

上表中STRUCTPOOL在6個數據集中的5個都獲得了最佳性能。對於這5個數據集,文章提出的方法的分類結果明顯優於所有比較方法。值得注意的是,STRUCTPOOL在這5個數據集上的表現均比第二好,平均高出3.58%。

爲了證明STRUCTPOOL的有效性,將STRUCTPOOL與現有的幾種圖池化技術進行比較。

在六個數據集中的五個中達到了最佳性能,並且明顯優於所有圖池化池技術。

並且在實驗中設置不同的迭代次數m觀察其如何影響預測精度,

我們可以觀察到性能通常隨着m的增加而增加,尤其是對於大規模數據集D&D。我們還觀察到m=5是時間複雜度和預測性能之間的良好折中。值得注意的是,當m=1時,STRUCTPOOL甚至可以勝過其他方法。此外, STRUCTPOOL的運行時間在大型數據集D&D對於m=1,m=3,m=5,花費時間分別爲0.049秒,0.053秒和0.058秒。DIFFPOOL的時間成本爲0.042秒,而即使STRUCTPOOL具有相對較高的計算成本,但鑑於其優越的性能,其時間成本可以忽略。

4

總結

作者提出了一種新的圖池化技術,稱爲STRUCTPOOL,它是基於條件隨機場而開發的。整體是將圖池化視爲一個節點聚類問題,並使用CRF在不同節點的分配之間建立關係。此外,通過結合圖拓撲信息來推廣這個方法,使得STRUCTPOOL可以控制CRF中的成對團集。

代碼

https://github.com/Nate1874/StructPool

參考資料

https://openreview.net/pdf?id=BJxg_hVtwH

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