论文小综 | Attention in Graph Neural Networks
作者 | 方尹、楊海宏,浙江大學在讀博士,主要研究方向為圖表示學習
近年來,圖卷積神經網絡(Graph Convolutional Network, GCN)利用圖卷積從圖結構數據中提取特征,成功應用于節點分類、圖分類、鏈接預測等任務,用途廣泛。GCN在一系列任務中取得突破性進展的同時,其局限性也被放大:GCN擅長處理transductive任務(訓練與測試階段都基于同樣的數據),但難以完成inductive任務(訓練與測試階段需要處理的數據不同,通常訓練階段在子圖上進行,測試階段需處理未知的節點);難以處理有向圖,不易實現將不同的學習權重分配給不同的鄰居節點。
Graph Attention Networks
發表會議:ICLR 2018
Motivation:
針對上述問題,本文在GCN中引入注意力機制,提出了Graph Attention Networks (GAT)。GAT允許處理不同大小的輸入,通過關注輸入中與任務最相關的部分來做出決策。本質上,GAT有兩種運算方式,分別為global graph attention和mask graph attention.由于global graph attention方式中每一個節點對于圖上任意節點都進行attention運算,相當于丟棄了圖結構這個特征,且面臨高昂的計算成本,因此作者在文中采用mask attention,即注意力的運算只在鄰居節點之間進行。
Model:
與所有注意力機制一樣,GAT的計算分為兩步。
第一步:計算注意力系數(attention coefficient)
首先每個節點的輸入特征向量,通過共享參數的線性變換進行特征增強。對于任意節點i,計算其與任意鄰居節點j的特征之間的注意力系數:
為了使不同節點之間的注意力系數易于比較,通過softmax進行歸一化處理:
具體實現方法如下:
第二步:加權求和(aggregate)
歸一化的注意力系數被用于對特征加權求和,作為每個節點的最終輸出特征:
為增加訓練過程的穩定性,可使用multi-head并行計算K個分支,最后對所有分支的計算結果拼接或求均值:
與GCN不同,GAT允許隱式地為同一節點的鄰居分配不同的重要性,同時學到的注意力有助于模型的可解釋性。GAT的運算方式是逐點運算,不必預先訪問全局圖結構,適用于inductive任務。不要求圖是無向的,如果邊j→i不存在,只需省略??.
Experiment:
如上表所示,GAT分別在transductive和inductive任務上超越了GCN和GraphSAGE.
Graph Representation Learning via Hard and Channel-Wise Attention Networks
發表會議:KDD 2019
Motivation:
當圖中含有大量節點時,graph attention operators(GAOs)會消耗大量的計算資源,包括計算成本和內存使用量。此外,GAO使用soft attention operator,計算圖中所有相鄰節點的信息。為了在大規模圖數據中應用注意力機制,文中提出將硬注意力機制(hard graph attention operator, hGAO)引入GAOs來減少計算量。如果直接在圖結構數據上使用hard attention仍會消耗大量計算資源。因此改進的hGAO對鄰居節點進行篩選,保留部分鄰居參與計算。
Model:
本文使用一個可訓練的投影向量p,將特征矩陣X投影到N維向量空間中,y代表每個節點的重要性程度(4)。根據每個鄰居節點的重要性程度進行排序,選擇k個投影值最大的節點(5)。根據選出的idx,選擇新的節點信息(6)。使用門操作來控制信息流,通過將sigmoid函數應用于選定的投影值來獲得門向量(7)。通過矩陣乘法控制選定節點的信息(8),在通過注意力機制,生成新的節點信息。
hGAO能夠減少時間復雜度,但因涉及到了鄰接矩陣的操作,依然會有和GAO一樣的空間復雜度。作者提出利用channel-wise graph attention operator(cGAO),只考慮節點本身的信息而不考慮鄰接矩陣的信息來減少空間復雜度。將特征矩陣X的每一行看作一個通道,即每一類特征都是一個通道。假設假設同一節點內的特征彼此關聯,且不同節點內的特征之間沒有關聯。這意味著cGAO不需要鄰接矩陣A提供的連通性信息,從而避免了對鄰接矩陣的依賴。
本文將hGAO和cGAO構建為GAM模塊。如下圖所示:
Experiment:
作者對比了GAO, hGAO和cGAO的計算效率。如下表所示:
除此之外,hGANet分別在transductive和inductive任務上取得了不錯的效果。
How to find your friendly neighborhood: Graph attention design with self-supervision
發表會議:ICLR 2021
Motivation:
GAT通過給不同的鄰居節點分配不同的權重,從而使聚合的節點特征更加合理。但是當圖中存在噪聲時,會影響GAT的結果。本文通過提出兩種對GAT的不同改進,來解決目前存在的問題。
Model:
作者提出SuperGATs,旨在通過一個半監督的邊預測任務來限制節點的特征向量。該函數預測了節點i和j之間存在邊的概率:
本文提到了四個方法:GO(original GAT)、DP(dot-product attention)、SD(scaled dot-product)、MX(mixed GO and DP). GO為原始的GAT算法,DP將兩個節點的特征向量相乘。SD和MX分別定義如下:
損失函數定義為:
其中,第一項是節點分類的交叉熵損失函數,最后一項是正則化項,中間一項代表著節點特征和兩節點之間的邊是否存在。將兩節點的特征向量代入中,可以計算該邊存在的概率。若兩節點在真實圖中不存在邊,但計算出的存在邊的概率很大,則損失很大。該項損失相當于通過圖上已知的邊關系,調整節點的特征向量。
Experiment:
本文在多個真實數據集上進行了實驗,結果表明SuperGAT獲得了不錯的效果。
綜上所述,在注意力機制的作用下,圖神經網絡(Graph Neural Network, GNN)會關注到圖中最重要的節點和節點中最重要的信息。受益于注意力機制,模型能夠過濾噪音鄰居,提升模型性能并對結果具有一定的可解釋性。NLP中通常針對單獨或整體的attention head,在attention weight上建立probe classifier,以研究模型真正關注到的部分。這樣的方法后續也可以遷移到圖結構數據上,對attention-based GNN進行解釋。
未來還有更多潛在的方法和任務等待發掘,歡迎大家補充和交流。
?
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 網站。
總結
以上是生活随笔為你收集整理的论文小综 | Attention in Graph Neural Networks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | 提取计数量词丰富知识库
- 下一篇: 论文笔记 | Counterfactua