帶你換個角度理解圖卷積網路

華為雲開發者社群發表於2021-07-15
摘要:本文帶大家從另一個角度來理解和認識圖卷積網路的概念。

本文分享自華為雲社群《技術綜述十二:圖網路的基本概念》,原文作者:一笑傾城。

基礎概念

筆者認為,圖的核心思想是學習一個函式對映f(.)f(.),藉助該對映,圖中的節點可以聚合自己的特徵與鄰居節點的特徵,從而生成該節點的新特徵表示。

帶你換個角度理解圖卷積網路

Figure 1. 圖的一般推理過程[1]

圖神經網路 Vs. 卷積神經網路

如圖2所示,卷積神經網路的輸入資料一般是規則的矩陣型別資料,例如圖片。每個節點和其它節點的空間關係是固定的。而圖神經網路的輸入資料一般表現為不規則的拓撲結構,節點與節點的關係非常複雜,節點間的空間關係一般不做約束,節點間是否存在連線以及連線的數量不做約束。複雜的網路還涉及到連線的方向和子圖等概念。

帶你換個角度理解圖卷積網路

Figure 2. 圖網路和卷積網路[1]

如圖3所示,如果將圖的每個節點等價視為影像中的每個畫素,其實,圖的工作過程可以類比CV中的經典問題:semantic segmentation。

帶你換個角度理解圖卷積網路

Figure 3. semantic segmentation[2]

圖的基礎元件及其實現

圖在工作過程中,主要需要處理的問題有兩個,一個是節點資訊的提煉方式;另一個是鄰近節點的搜尋方式。整理如下:

鄰近節點的搜尋方式:

  • 每個節點考慮全部其它節點
  • 基於歐氏距離,只搜尋近鄰N個節點

節點資訊的提煉方式:

  • MLP+Max Pooling直接進行特徵融合
  • 基於attention,對周邊節點進行加權平均
  1. 普通attention
  2. Self-attention (Bert/Transformer)

其中,鄰近節點的搜尋方式有兩種,基於Bert作為圖卷積網路的方案,一般是全部節點統一輸入,每個節點在進行self-attention時,統一考慮其它節點,因此,可以視為全域性搜尋,典型的樣例是LayoutLM。而基於某種距離度量搜尋鄰近的節點的方式, 一般來說更加註重區域性資訊。可以依據特定任務進行一些定製化的距離設計。缺點是過於注重區域性資訊,不能讓圖網路充分發揮能力。

另一方面是節點資訊的提煉方式,簡單的方法就是直接對相鄰節點做1\times11×1卷積,再進行max pooling。目前更流行的方法是基於attention,普通attention,如圖4所示,輸入特徵一般由中心節點特徵t_iti​和相鄰節點t_jtj​,以及彼此的距離等資訊拼接而成,考慮周圍32個節點,則生成32個特徵,並在此基礎上計算權重向量\alpha_iαi​,得到這32個特徵向量的權重,再進行加權和,得到節點ii的新特徵表達t'_iti′​。基於self-attention的方法工作機制類似。

帶你換個角度理解圖卷積網路

Figure 4. 圖節點資訊的提煉過程

總結

最後,圖卷積和卷積之間的一些對比整理在圖5中。我們可以觀察到一些有趣的現象,其實在卷積網路中,也有鄰近節點搜尋方式的一些工作,例如空洞卷積和可變形卷積。

帶你換個角度理解圖卷積網路

Figure 5. 圖網路和卷積網路工作方式比較

參考文獻:

[1] Wu, Zonghan, et al. “A comprehensive survey on graph neural networks.” IEEE transactions on neural networks and learning systems (2020).

[2] Long, Jonathan, Evan Shelhamer, and Trevor Darrell. “Fully convolutional networks for semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

 

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章