圖神經網路論文閱讀(十六) GraLSP: Graph Neural Networks with Local Structural Patterns,AAAI 2020

五月的echo發表於2020-10-08

本文作者來自香港科技大學、北大和北郵,其中包含宋國傑老師和石川老師,這兩位都是國內研究圖表示學習的翹楚了。之前讀石川團隊論文的時候自己犯傻發郵件問了一個比較弱智的問題,石川老師還是讓學生耐心幫我解答了。

本文做了我一直想做的事情:GNN聚合鄰居特徵的時候同時考慮結構資訊。有很多研究都是基於Motif(或者叫graphlet)進行的,比如High Order Network Representation,WWW2018,不過需要事先的人工定義,在前幾年唐傑老師(比如StructInf: Mining Structural Influence from Social Streams,AAAI2017)基於傳統的機器學習去研究過這個,但是論文比較難讀。而本文,通過隨機匿名遊走顯式地將區域性結構模式合併到鄰域聚集中,並設計了一些特殊的方法對其結構特徵進行處理:adaptive receptive radius, attention and amplification,在四個開放資料集上都取得了很好的效果。github傳送門:https://github.com/KL4805/GraLSP

Introduction

首先來用一個例子來看一看GNN為什麼不能捕獲結構資訊。以三元閉包為例,考慮綠色的結點,兩次聚合之後的結果與右邊不同的樹狀結構等效,而這其中忽略了三元閉包(triadic closures)的結構資訊。因此需要一種能夠自適應不同local structure的圖神經網路。
在這裡插入圖片描述

隨機匿名遊走

可以用一張圖直觀地去理解random anonymous walks。
在這裡插入圖片描述
匿名walk和隨機walk的關鍵區別在於,匿名walk描述了隨機walk的底層模式,而與訪問的確切節點無關。可以看到不同的隨機walk可以對應同一種匿名walk。在本文中,對匿名walk有著如下的定義:
在這裡插入圖片描述
其中, < w i , w i + 1 > ∈ E <w_i, w_{i+1}>∈E <wi,wi+1>E E E E就是圖的邊的集合, w w w對應結點,注意這裡的 w w w有可能是相同的結點,就如上圖中的, B 、 C B、C BC都可以在一次walk中出現多次。而為了將隨機遊走抽象為匿名遊走,需要對其中的結點進行編號。這個步驟抽象為:
在這裡插入圖片描述
其中, D I S ( w , w i ) DIS(w,w_i) DIS(w,wi)表示結點 w i w_i wi在此次遊走中首次出現在的最小下標,其實就是給結點編個號:
在這裡插入圖片描述

Extracting Structural Patterns

接下來是一些引理和公式,枯燥預警。
匿名遊走的概率分佈為:
在這裡插入圖片描述
其中, W ( i ) W^{(i)} W(i)表示一組匿名遊走路徑, γ γ γ表示路徑的個數, l l l為匿名遊走的長度。後面二者都將是需要探討的超引數,後文會給出。然後,取整個圖G的平均分佈去估計基於結點 v i v_i vi的隨機遊走的真實分佈:
在這裡插入圖片描述
然後是一些引理,用於證實匿名遊走對於重構區域性子圖的有效性,這樣就能在原理上說明匿名遊走可以很好地捕獲local structure。這部分還是不翻譯了:
在這裡插入圖片描述
在這裡插入圖片描述

Model

有了對匿名遊走的直觀的理解,接下來介紹模型。
在這裡插入圖片描述
對於某個節點,我們抽樣隨機匿名遍歷它。將匿名遊走得到的路徑投影到一個特定的向量上,然後通過摘要中提到的attention和amplification,沿著結構感知的鄰域聚合。然後,本文提出了一個joint walk loss和node loss的優化方式。

Representing Anonymous Walks

首先,對每個節點都進行一組匿名遊走以得到local structure,然後每個不同的遊走方式都會被對映到一個向量:
在這裡插入圖片描述

Neighborhood Aggregation

本文認為local structure對圖上資訊的聚集有以下影響:

  • 隨機遊走可以被看作是接受路徑,顯示了資訊如何在圖中流動。因此隨機遊走可用於定義領域,而不是隻把相鄰結點看做是鄰域。
  • 鄰居並不均勻地施加影響,而是表現出不同的強度,這個GAT的想法一樣,因此本文使用了attention。
  • 選擇性收集資訊。有的結構特徵對最終的分類任務具有局定性作用,比如生物網路中的酶具有獨特的結構,因此可以對生物反應進行選擇性催化。

為了考慮到上述的各種影響,本文設計瞭如下的聚合公式(敲黑板劃重點):
在這裡插入圖片描述
首先, a i ( k ) a_i^{(k)} ai(k)是對遊走過程中產生的鄰居節點的特徵的聚合,可以看到本文是使用了平均值。 λ i , w ( k ) λ_{i,w}^{(k)} λi,w(k)是相關的注意力係數,表示不同的節點的貢獻大小。 q i , w ( k ) q_{i,w}^{(k)} qi,w(k)是放大係數,用於衡量一個鄰居節點帶來的影響的大小,最後的 h w p ( k − 1 ) h_{w_p}^{(k-1)} hwp(k1)是鄰域節點的特徵。
當然,與其他GNN一樣,處理對鄰域節點的考慮,還需要加上節點 i i i自身的特徵,因此有了公式(7)。而(6)中提及的 r w r_w rw是Adaptive Receptive Radius,用於自適應地確定當前遊走的鄰域需要納入多少個節點,其形式化描述如下:
在這裡插入圖片描述
其中, m a x ( a w ( w ) ) max(aw(w)) max(aw(w))表示遊走路徑w訪問的不同節點數。注意力機制和GAT中描述的差不多:
在這裡插入圖片描述
amplification建模鄰域內節點特徵的選擇性聚集:
在這裡插入圖片描述
上述所有的公式中, P , Q , U , V P,Q,U,V P,Q,U,V都是需要學習的引數矩陣。

Model Learning

使用兩兩節點之間的接近性和兩兩遊走之間的接近性來確定最終的損失函式:
在這裡插入圖片描述

  • Preserving Proximity of Walks。如果兩個匿名遊走都頻繁地出現在同一個鄰域內,那麼它們應該描述相似的結構資訊。用公式來說就是:
    在這裡插入圖片描述
  • Preserving Proximity of Nodes。同一個鄰域內出現的節點的相似度應該更高,而在相同的walk中,不與中心節點在一個鄰域中的節點與中心節點的相似度應該儘可能低:
    在這裡插入圖片描述
    其中, v n v_n vn服從的 P n ( v ) P_n(v) Pn(v)分佈應該是表示 v n v_n vn不在鄰域之內。

實驗

首先,用一個虛擬的資料集驗證模型的效能:
在這裡插入圖片描述
從圖中可以看出,黑色和白色代表了兩種不同的local structure,黑色中包含三角閉包。GraLSP的執行效果要明顯好於GraphSAGE,可以說明LSP的模型的識別local structure的能力更強。
資料集
在這裡插入圖片描述
節點分類與連線預測的準確率:
在這裡插入圖片描述
對於連線預測任務,通過抽取10%的邊作為正邊來生成測試集,並在訓練時將其去除,以相同數量的隨機負邊作為測試集,使用兩個節點之間的向量內積進行度量 h i T h j h_i^Th_j hiThj
之後分析了不同的超引數對模型效能的影響:
在這裡插入圖片描述

  • Number ofWalks Sampled (a)。 γ = 25 ; 50 ; 100 ; 200 γ=25; 50; 100; 200 γ=25;50;100;200,結果表明,每個節點取樣的步數越多,效能越好,但是在100之後效能提升的幅度不大,因此選擇了100.
  • Length of Anonymous Walks (b)。
  • 損失函式中的 μ μ μ ©。
  • Study of Aggregation Scheme (d)。將我們的模型與普通的GraphSAGE進行比較,並將另一個具有節點特徵並連線匿名遊走分佈的GraphSAGE進行比較,證明它是一種有效的結構度量方法。
  • Scalability (e)。不同節點n下的收斂時間。預處理和訓練時間的複雜度均為O(n),證明了模型的可擴充套件性。

視覺化。
在這裡插入圖片描述

相關文章