ICLR2021-1:MULTI-HOP ATTENTION GRAPH NEURAL NETWORKS

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

GAT的注意機制並沒有考慮到非直接連線但提供重要網路上下文的節點,這可能會導致預測效能的提高。因此本文的作者提出了Multi-hop Attention Graph Neural Network (MAGNA),將多跳上下文資訊納入注意力計算的原則方法,使GNN的每一層都能進行遠端互動。為了計算非直接連線的節點之間的注意力,MAGNA將注意力分數分散到整個網路中,從而增加了GNN每一層的感受域。這樣,網路聚合的資訊增加,並且有注意力引數作為特徵選擇的指導。從理論上來說,3層每層6step的MAGNA和3×6=18的GAT具有相同的接受域,但是後者會因為模型的層數過深而過平滑。
在這裡插入圖片描述

圖1.Multi-hop attention diffusion

Model

符號定義:
在這裡插入圖片描述
其中, T , R T,R T,R分別表示節點的type和邊的type。邊的embedding可以表示為: R ∈ R N r × d r R∈R^{N_r×d_r} RRNr×dr
注意力擴散過程中,輸入是 ( v i , r k , v j ) (v_i, r_k, v_j) (vi,rk,vj)三元組,分別表示節點i,j和邊k。MAGNA首先計算所有邊緣的注意力分數,這同GAT中提到的注意力是一樣的。注意力擴散模組根據邊的注意力分數,通過擴散過程計算非邊緣直接連線的節點對之間的注意力值。
在這裡插入圖片描述

圖2. MAGNA Architecture

Edge Attention Computation

注意力計算的過程表示為:
在這裡插入圖片描述
唯一與GAT不同的是增加了對邊 r k r_k rk的考慮,其中的 v a ( l ) v_a^{(l)} va(l)則是一個 3 d ( l ) 3d^{(l)} 3d(l)的可學習引數,||為拼接操作。對於無關係型別的圖,我們將其視為一類簡併的分類分佈(概率為1)。然後,注意力矩陣為:
在這裡插入圖片描述
然後和GAT一樣,使用softmax得到標準化的注意力矩陣: A ( l ) = s o f t m a x ( S ( l ) ) A^{(l)}=softmax(S^{(l)}) A(l)=softmax(S(l))

Attention Diffusion for Multi-hop Neighbors

基於1跳注意矩陣A的冪次,通過圖擴散計算多跳鄰居的注意分數,也就是注意力矩陣的多次冪。物理含義是不直接相鄰(多跳相鄰)的節點之間的注意力:
在這裡插入圖片描述
其中, θ i θ_i θi是注意力衰減因子,保證 θ i > θ i + 1 θ_i>θ_{i+1} θiθi+1,也就是距離中心節點越遠的節點其重要程度要予以一定的衰減。文中使用了geometric distribution去計算注意力衰減因子: θ i = α ( 1 − α ) i , α ∈ ( 0 , 1 ] θ_i=α(1-α)^i,α∈(0,1] θi=α(1α)iα(0,1](注意這個東西,是不是和PageRank GCN有點像?)。該選擇基於一種歸納偏差,即距離較遠的節點在訊息聚合中權重應較小,與目標節點的關係路徑長度不同的節點依次獨立權重。最終注意力擴散的形式化描述為:
在這裡插入圖片描述
因為注意力擴散的過程中只是已經計算好的注意力矩陣 A A A的多次冪,因此其需要學習的引數與GAT一樣。

Approximate Computation for Attention Diffusion

因為MAGNA只需要通過 A H ( l ) AH^{(l)} AH(l)進行聚合,因此通過定義一個序列可以近似代替:
在這裡插入圖片描述
這和PageRank GCN一毛一樣。許多現實世界圖都表現出小世界性質,在這種情況下,選用較小的K值便足夠了。對於直徑較大的圖,我們選擇較大的K,並降低α的值。

DIRECT MULTI-HOP ATTENTION BASED GNN ARCHITECTURE

多頭注意力是不同注意力引數矩陣下學習結果的拼接:
在這裡插入圖片描述
首先,對於上一層的輸出,使用LayerNorm,然後計算多頭注意力 h e a d i head_i headi,並將 M M M個head拼接起來,在乘一個特徵對映矩陣 W o W_o Wo,最終的到本層的輸出。
模型新增層規範化和剩餘連線,為每個塊提供了更具表達性的聚合步驟:
在這裡插入圖片描述

EXPERIMENTS

TASK 1: NODE CLASSIFICATION

在這裡插入圖片描述
在這裡插入圖片描述
對於資料集Cora、Citeseer和Pubmed,我們使用了6個隱藏尺寸為512的MAGNA塊和8個注意頭。對於大規模的ogbn-arxiv資料集,我們使用了2個隱藏尺寸為128的大塊和8個注意頭。
我們報告了(表1)從MAGNA的每一層移除MAGNA各組成部分(層歸一化、注意力擴散和深度聚集前饋層)後的模型效能。注意,這個模型等同於沒有這三個元件的GAT。我們觀察到,對於所有資料集,擴散和層歸一化在提高節點分類效能方面都發揮了關鍵作用。雖然層歸一化單獨沒有好處GNNs,其使用與注意擴散模組顯著提高MAGNA的效能。由於MAGNA計算了很多注意力值,因此層歸一化對於保證訓練穩定性至關重要。

TASK 2: KNOWLEDGE GRAPH COMPLETION

通過標準基準知識圖(WN18RR (Dettmers等,2018)和FB15K-237 (Toutanova & Chen, 2015)對MAGNA進行評估。對MAGNN之後的結果,使用了一個簡單的DistMult解碼器。DistMult是一個隱變數雙線性評分模型的一個簡單改進(這部分感興趣的可以自己看一下知識圖譜表示學習),為了考慮一種簡單的方法來減少關係引數的數量,限制 M r M_r Mr為一個對角矩陣:
在這裡插入圖片描述
這個評分函式計算了兩個節點之間的評分,並用於損失函式:
在這裡插入圖片描述
同Trans系列模型一樣,給定一組正例 T T T(也就是在知識圖譜中實際存在的三元組)和一組負例 T ’ T^’ T(公式太繁瑣了就不打出來了):
在這裡插入圖片描述
可以看到負例就是破壞正例得到的三元組的集合。 S S S就是上述的評分函式。對於負例,這個評分直覺上應該要更小,對於正例則大。所以, S ’ − S S’-S SS的差應該儘可能大, S ’ − S + 1 S’-S+1 SS+1之後則變小,那麼最終的 L o s s Loss Loss也儘可能小,就OK了。知識表示學習的準確率則用Mean Reciprocal Rank (MRR), Mean Rank (MR), hit rate at K (H@K)來衡量:
在這裡插入圖片描述
對於一個query,若第一個正確答案排在第n位,則MRR得分就是 1 / n 1/n 1/n。(如果沒有正確答案,則得分為0)。
MR則是testing triple中正確答案也就是真實的t到底能在上述序列中排多少位,比如說t1排100,t2排200,t3排60…,之後對這些排名求平均,Mean rank就得到了。
H @ K H@K H@Ktesting triple正確答案是否排在序列的前十,如果在的話就計數+1,最終,在前十的個數/總個數,就是Hit@10。
最終,準確率為:
在這裡插入圖片描述
MAGNA在所有四個指標上都實現了最先進的知識圖譜補全(表3)。MAGNA優於最近的淺層嵌入方法(QuatE)和深度嵌入方法(SACN)。注意,使用相同的解碼器(DistMult), MAGNA使用自己的嵌入實現了比使用相應的DistMult嵌入的巨大改進。

MAGNA MODEL ANALYSIS

在這裡插入圖片描述
上述幾幅圖分別代表了:(a)模型對拉普拉斯矩陣特徵值的影響,圖中較大結構對應的低特徵值被放大(放大到8倍),而帶有噪聲資訊的特徵向量對應的高特徵值被抑制;(b)模型的深度對最終效果的影響;(c)hop數量,也就是引數K;(d)α的值。
在這裡插入圖片描述
注意力的最終分佈。我們首先定義節點 v i v_i vi在注意矩陣A上的差異度量:
在這裡插入圖片描述
其中 U i U_i Ui是節點 v i v_i vi的均勻分佈分數。這個差異度用來衡量學習到的注意力在多大程度上偏離了一種無資訊的均勻分佈,這個值越大就顯示了更多有意義的注意力分數。所以MAGNA學習到的注意力要比GAT更多且更有用。

相關文章