《Heterogeneous Graph Attention Network》論文解讀
《Heterogeneous Graph Attention Network》發表在WWW2019會議上
論文地址
Heterogeneous Graph Attention Network:https://arxiv.org/pdf/1903.07293.pdf
論文解讀:
文章目錄
這篇論文將會發表在WWW 2019會議上。
ABSTRACT
GNN在深度學習領域表現出了強大的性能。但是,在包含不同節點和邊的HIN領域,GNN做的還不夠完善。論文提出了一種新的異構圖神經網絡分層注意力機制,涉及到節點級別和語義級別。節點級別的Attention主要學習節點及其臨近節點間的權重,語義級別的Attention是來學習基於不同meta-path的權重。
KEYWORDS
Social Network, Neural Network, Graph Analysis
INTRODUCTION
真實世界中的數據往往是復雜的圖結構形勢,如:社交網絡等,網絡中包含不同的節點和不同語義的邊。
這部分介紹了GNN、Attention mechanism、HIN等。由於HIN的復雜性,傳統的GNN並不能直接應用於HIN中。這就需要新的方法來解決這個問題,論文提出了HAN模型(Heterogeneous graph Attention Network)。
RELATED WORK
Graph Neural Network
GNN作為深度學習領域的擴展,用來處理無規則圖結構數據。GCN可以分為兩類,分別是譜域和非譜域。譜方法用於譜表示的圖中,非譜域方法直接在圖上進行卷積,對空間上的近鄰進行操作。
注意力機制在深度學習中有廣泛的應用,self-attention、soft-attention等。也已經有很多基於圖Attention的應用,但是都是同構圖的數據。
Network Embedding
網絡嵌入或者網絡表示學習,是在保留網絡結構及其屬性的前提下,將網絡轉換到低維空間以應用。以往的方法有很多,隨機游走、 深度神經網絡、矩陣分解等,也都是基於同構圖的。
異構圖的embedding主要關注基於meta-path的結構信息。ESim雖然考慮的多條meta-path的信息,但是在面對具體問題時,無法學習到最優的權重組合;Meta-path2vec通過隨機游走和skip-gram算法來做embedding,但是其只考慮了一條meta-path;HERec也是只考慮單條meta-path,通過限制策略來過濾節點序列做embedding;HIN2Vec使用了同時訓練節點和meta-path的方法;PME通過歐幾里德距離來保留節點的鄰接區域;HEER則是通過邊表示來做異構圖的embedding;Meta-graph2vec最大限度保留了結構和語義信息;還有基於meta-graph的嵌入模型,同時考慮了一個meta-graph的所有元信息的隱藏關系。以上方法都沒有使用過Attention mechanism來做graph embedding。
PRELIMINARY
Heterogeneous Graph : 圖G = (V, E) 包含節點集V和連接集E,異構圖還包含一個節點映射函數和一個連接映射函數。
Meta-path:簡單來說即是從節點A到節點B所經過的一系列點的序列。
Meta-paht based Neighbors:基於一條meta-path的鄰居節點,默認一個節點的鄰居節點包括其自身。
下圖是論文所提出的HAN的架構圖。
THE PROPOSED MODEL
Node-level Attention
在具體任務中,一個節點在meta-path上的鄰居節點有不同的重要性。Node-level attention能夠學習一個節點基於meta-path的鄰居節點的表示作為該節點的embedding。由於graph中包含不同類型的node,所以首先通過轉換矩陣將所有節點轉換到統一的特征空間。
給定一個節點對(i , j),Node-level Attention能學習到節點j相對於節點i的權重,重要的一點是(i , j)的權重是非對稱的。
通過softmax計算出節點j的權重系數,這里得到的系數也是非對稱的。
這只是得到一對(i , j),通過下面的式子聚合所有鄰居節點的系數。
為了更直觀顯示聚合過程,論文給出了下圖,每個Node的embedding都來自鄰居節點。
由於異構圖數據是scale free的,計算后會有很高的方差,論文通過將Node-level Attention延伸到了Multihead Attention來解決這個問題。緊接着就可以得到Node i 的多條meta-path的embedding集合,即是語義層的embedding,就此Node-level Attention工作完成。
Semantic-level Attention
為了學習到更綜合的信息,我們需要根據meta-path將多種語義信息融合到一起。將Node-level Attention的結果作為輸入,來學習每條語義的權重。
要學習每條語義的權重,論文首先使用一層的MLP將Semantic embedding進行非線性轉換。通過Semantic-level Attention vector q 來衡量多條Semantic embedding 間的相似性。
經過Softmax函數,得到語義權重。
最后,獲得的語義層的embedding是這樣的。
有了embedding之后,我們就可以構建loss function了,論文使用半監督的方式,通過最小化Cross-Entropy來訓練。
整個過程的算法如下。
Analysis of the Proposed Model
- HAN能解決異構圖中多種Node、Relation,以及Semantic融合的問題;
- 該模型能夠並行計算;
- 整個模型的Attention是共享的;
- 具有很好的可解釋性;
EXPERIMENTS
Datasets
實驗過程用到了DBLP、ACM、IMDB三個數據集。
Baselines
Baseline包括GCN、GAT、HAN of Node、HAN of Semantic、HAN,從分類、聚類的實驗結果來看,HAN基本上都是最優的。
本文轉載於以下博客地址:http://www.pianshen.com/article/6913351482/
如有冒犯,還望諒解!