天天看點

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

論文題目:MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

論文來源:WWW 2020

論文連結:https://arxiv.org/pdf/2002.01680.pdf

代碼連結:https://github.com/cynricfu/MAGNN

關鍵詞:神經網絡,表示學習,社交網絡,異質圖,attention

本文提出MAGNN模型,正如标題所言,圍繞元路徑聚合的問題展開,需要人為定義元路徑。聚合是指元路徑内部的聚合、元路徑間的聚合。在模組化過程中還融入了節點内容特征的資訊(節點屬性資訊)。

文章目錄

  • 1 引言
  • 2 相關定義和符号
  • 3 方法
    • 3.1 Node Content Transformation
    • 3.2 Intra-metapath Aggregation
    • 3.3 Inter-metapath Aggregation
    • 3.4 Metapath Instance Encoders
    • 3.5 訓練
  • 4 實驗
  • 5 總結
  • 參考文獻

1 引言

本文解決的是異質圖的嵌入學習問題。

現有的基于元路徑的嵌入學習方法有以下局限性:

(1)忽略節點的内容特征(屬性資訊),不能很好地處理節點屬性特征豐富的異質圖。例如 metapath2vec, ESim, HIN2vec, HERec。

(2)舍棄了元路徑内部的節點資訊,隻考慮元路徑的起始節點和末尾節點,造成資訊損失。例如 HERec, HAN。

(3)隻依賴于單個元路徑,是以需要人工選擇元路徑,丢失了來自其他元路徑的部分資訊,導緻性能不佳。例如 metapath2vec。

為了解決上述問題,本文提出MAGNN(Metapath Aggregated Graph Neural Network )。

MAGNN由三個部分組成:

(1)節點内容轉換(node content transformation ),将異質的節點屬性資訊映射到同一個隐層的向量空間;

(2)元路徑内部聚合(intra-metapath aggregation ),使用注意力機制将元路徑内部的語義資訊納入考慮;

(3)元路徑間的聚合(inter-metapath aggregation ),使用注意力機制從多個元路徑聚合資訊。

貢獻:

(1)提出新的元路徑聚合的GNN方法用于異質圖的嵌入學習;

(2)設計了幾個候選編碼器函數,用于從集合執行個體中提取資訊,其中一個基于複雜空間中的關系旋轉思想。

(3)在IMDB和DBLP資料集上進行了節點分類和節點聚類任務,在Last.fm資料集上進行了連結預測任務。實驗證明使用MAGNN學習得到的節點嵌入表示超越了state-of-the-art baselines的表現。

2 相關定義和符号

異質圖、元路徑、元路徑執行個體的定義不再贅述。

相關定義的圖示如下圖所示:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

Metapath-based Neighbor:

給定異質圖中的一個元路徑 P P P,節點 v v v的metapath-based鄰居 N v P \mathcal{N}^P_v NvP​為和 v v v相連的遵循元路徑 P P P的模式的節點集合。由兩個不同的元路徑執行個體與 v v v相連的同一個鄰居節點,被視為 N v P \mathcal{N}^P_v NvP​中的兩個節點。另外,如果元路徑 P P P是對稱的, N v P \mathcal{N}^P_v NvP​中也包含節點 v v v自身。

Metapath-based Graph:

給定異質圖 G \mathcal{G} G中的元路徑 P P P,基于元路徑的圖 G P \mathcal{G}^P GP由原始圖 G \mathcal{G} G中所有的基于元路徑 P P P的鄰居點對組成(去掉了元路徑執行個體的中間節點,隻保留了元路徑執行個體兩端的節點,并在兩點間建立起連邊)。如果元路徑 P P P是對稱的,則 G P \mathcal{G}^P GP是同質圖。如上圖(d)所示。

異質圖嵌入:

給定 G = ( V , E ) \mathcal{G}=(\mathcal{V}, \mathcal{E}) G=(V,E)和節點屬性矩陣 X A i ∈ R ∣ V A i ∣ × d A i \mathbf{X}_{A_i}\in \mathbb{R}^{|\mathcal{V}_{A_i}|\times d_{A_i}} XAi​​∈R∣VAi​​∣×dAi​​,其中 A i A_i Ai​表示節點類型,異質圖嵌入學習的目的是從圖中捕獲到豐富的結構資訊和語義資訊,進而為每個節點學習到 d d d維的表示 h v ∈ R d \mathbf{h}_v\in \mathbb{R}^d hv​∈Rd。

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

3 方法

MAGNN由節點内容轉換、元路徑内部聚合、元路徑間的聚合三部分組成,圖2展示了一個節點的嵌入生成過程。

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

3.1 Node Content Transformation

異質圖中的不同類型的節點有着不同的屬性,是以不同類型的節點的特征向量可能有着不同的次元,即使碰巧次元相同,特征向量也應該屬于不同的特征空間。

為了友善統一處理,需要将這些不同類型的節點的特征映射到同一個隐層的向量空間中。具體方法就是對每種類型的節點都使用一個特定的線性轉換,來将節點的特征向量轉換到同一個隐層的特征空間中。對于類别為 A ∈ A A\in \mathcal{A} A∈A節點 v ∈ V A v\in \mathcal{V}_A v∈VA​,進行如下的轉換:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中 x v ∈ R d A x_v\in \mathbb{R}^{d_A} xv​∈RdA​是原始的特征向量, h v ′ ∈ R d ′ \mathbf{h}^{'}_v\in \mathbb{R}^{d^{'}} hv′​∈Rd′是映射後的節點 v v v的特征向量。 W A ∈ R d ′ × d A W_A\in \mathbb{R}^{d^{'}\times d_A} WA​∈Rd′×dA​是對于類型為 A A A的節點的參數化權重矩陣。

3.2 Intra-metapath Aggregation

給定元路徑 P P P,元路徑内部聚合層通過對 P P P的元路徑執行個體編碼,可以學習到 目标節點、基于元路徑的鄰居節點、節點之間的上下文 中嵌入的結構資訊和語義資訊。

定義連接配接目标節點 v v v和它的metapath-based鄰居節點 u ∈ N v P u\in \mathcal{N}^P_v u∈NvP​為 P ( v , u ) P(v, u) P(v,u)。

定義 P ( v , u ) P(v, u) P(v,u)的内部節點為 { m P ( v , u ) } = P ( v , u ) ∖ { u , v } {\{m^{P(v, u)}\}}=P(v, u)\setminus{\{u, v\}} {mP(v,u)}=P(v,u)∖{u,v}。

(1)元路徑内部聚合采用了特殊的元路徑執行個體編碼器(metapath instance encoder)将元路徑執行個體中的所有節點的特征轉換成向量 h P ( v , u ) ∈ R d ′ \mathbf{h}_{P(v,u)}\in \mathbb{R}^{d^{'}} hP(v,u)​∈Rd′:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

節點 v , u v, u v,u之間可能存在多個元路徑執行個體,3.4節介紹了限定的metapath instance encoder的幾種選擇。

(2)接着使用圖注意力層(graph attention layer)權重聚合針對目标節點 v v v的且元路徑為 P P P的多個元路徑執行個體:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中 a P ∈ R 2 d ′ a_P\in \mathbb{R}^{2d^{'}} aP​∈R2d′是元路徑 P P P的參數化的注意力向量。 e v u P e^P_{vu} evuP​表示元路徑執行個體 P ( v , u ) P(v, u) P(v,u)對節點 v v v的重要性,然後使用softmax進行了歸一化,然後使用歸一化後的注意力系數對和節點 v v v相關的元路徑執行個體的表示進行權重求和。最後再經過一個激活函數。

(3)上述的注意力機制可以擴充成多頭的(multi-heads),這有助于學習過程的穩定,并且可以減小圖的異質性帶來的高方差:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

總結:

給出映射後的特征向量 h u ′ ∈ R d ′ , ∀ u ∈ V h^{'}_u\in \mathbb{R}^{d^{'}}, \forall u\in \mathcal{V} hu′​∈Rd′,∀u∈V,以及一組元路徑 P A = { P 1 , P 2 , . . . , P M } \mathcal{P}_A={\{P_1, P_2, ..., P_M\}} PA​={P1​,P2​,...,PM​}。内部元路徑聚合為目标節點 v v v生成 M M M個針對特定元路徑的向量表示,記為 { h v P 1 , h v P 2 , . . . , h v P M } {\{h^{P_1}_v,h^{P_2}_v, ..., h^{P_M}_v \}} {hvP1​​,hvP2​​,...,hvPM​​},每個$ h^{P_i}_v\in \mathbb{R}{d{’}} ( 假 定 (假定 (假定K=1 ) 都 表 示 了 節 點 )都表示了節點 )都表示了節點v$中隐含的一種語義資訊。

3.3 Inter-metapath Aggregation

使用元路徑間的聚合層結合所有元路徑的語義資訊。

從上一步可知,對于類型為 A A A的節點,生成了 ∣ V A ∣ |\mathcal{V}_A| ∣VA​∣組隐層向量: { h v P 1 , h v P 2 , . . . , h v P M } {\{h^{P_1}_v, h^{P_2}_v, ..., h^{P_M}_v\}} {hvP1​​,hvP2​​,...,hvPM​​}, v ∈ V A v\in \mathcal{V}_A v∈VA​, M M M是 A A A類型節點的元路徑數目。使用注意力機制為不同的元路徑配置設定不同的權重。

(1)首先,針對每條元路徑 P i ∈ P A P_i\in \mathcal{P}_A Pi​∈PA​,對所有類型為 A A A的節點在特定元路徑下的節點向量進行轉換,然後取平均:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中 M A ∈ R d m × d ′ , b A ∈ R d m M_A\in \mathbb{R}^{d_m\times d^{'}}, b_A\in \mathbb{R}^{d_m} MA​∈Rdm​×d′,bA​∈Rdm​為可學習到的參數。

(2)然後使用注意力機制混合特定元路徑下的節點 v v v的特征向量:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中 q A ∈ R d m q_A\in \mathbb{R}^{d_m} qA​∈Rdm​為參數化的針對 A A A類型節點的注意力向量。 β P i \beta_{P_i} βPi​​可解釋為元路徑 P i P_i Pi​對于 A A A類型節點的重要性。使用這個注意力系數對節點 v v v的所有針對特定元路徑的向量進行權重求和。

(3)最後,MAGNN使用線性轉換和一層非線性函數,将節點嵌入映射到輸出所需次元的向量空間:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中 W o ∈ R d o × d ′ W_o\in \mathbb{R}^{d_o\times d^{'}} Wo​∈Rdo​×d′是權重矩陣, σ ( ⋅ ) \sigma(\cdot) σ(⋅)是激活函數。

這個映射針對具體任務有所不同,可以看成是用于節點分類的線性分類器,也可看成是帶有節點間相似度度量的空間投影,可用于連結預測。

3.4 Metapath Instance Encoders

本節對應3.2(2)式中的元路徑執行個體編碼函數 f θ f_{\theta} fθ​,作者給出了三個候選的編碼函數:

(1)Mean encoder:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

(2)Linear encoder

是mean encoder的擴充,差別在于添加了一個線性轉換。

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

(3)Relational rotation encoder

基于在複雜空間的關系旋轉(relation rotation)的元路徑執行個體編碼器。這一操作是RotatE[1]提出的,原文做的是知識圖譜的嵌入學習。

mean encoder 和 linear encoder将元路徑執行個體看作了一個集合,忽視了元路徑序列結構中嵌入的資訊。關系旋轉的方法提供了模組化這一類知識的方法。

給定 P ( v , u ) = ( t 0 , t 1 , . . . , t n ) , t 0 = u , t n = v P(v, u)=(t_0, t_1, ..., t_n), t_0=u, t_n=v P(v,u)=(t0​,t1​,...,tn​),t0​=u,tn​=v, R i R_i Ri​為節點 t i − 1 , t i t_{i-1}, t_i ti−1​,ti​之間的關系。令 r i \mathbf{r}_i ri​為 R i R_i Ri​的向量表示。Relational rotation encoder可形式化為:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中, h t i ′ , r i \mathbf{h}^{'}_{t_i}, \mathbf{r}_i hti​′​,ri​是複雜的向量, ⊙ \odot ⊙表示元素間乘積。可将 d ′ d^{'} d′維的真實向量( h P ( v , u ) \mathbf{h}_{P(v,u)} hP(v,u)​)看成是一個複雜的向量,它的前 d ′ / 2 d^{'}/2 d′/2維是真實的部分,後 d ′ / 2 d^{'}/2 d′/2為虛構的部分。

MAGNN前向傳播算法如下:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

3.5 訓練

經過上述的三個部分,得到了最終的節點表示,可用于下遊任務。

由于不同任務的特點不同,而且不一定能得到節點标簽。是以為MAGNN設計了兩種學習範式:半監督學習、無監督學習。

(1)半監督學習

最小化交叉熵損失:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中, V L \mathcal{V}_L VL​是有标簽的節點集合, C C C是類别數目, y v \mathbf{y}_v yv​是節點 v v v的one-hot向量, h v \mathbf{h}_v hv​是模型輸出的節點 v v v的向量表示。

(2)無監督學習

使用負采樣技術,最小化如下的損失函數:

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

其中, Ω \Omega Ω是正樣本集合, Ω − \Omega^{-} Ω−是負樣本集合。

4 實驗

實驗回答了以下幾個問題:

  1. MAGNN在節點分類任務上表現如何?
  2. MAGNN在節點聚類任務上表現如何?
  3. MAGNN在連結預測任務上表現如何?
  4. MAGNN的三個主要組成部分對其有什麼樣的影響?
  5. 如何了解不同圖嵌入方法的表示學習能力?

資料集:

IMDb、DBLP、Last.fm

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

**實驗任務:**節點分類、節點聚類、連結預測

對比方法:

  • LINE:同質圖模型,使用了節點間的一階和二階相似度;
  • node2vec:同質圖模型;
  • ESim:異質圖模型,從采樣到的元路徑執行個體中學習節點嵌入;
  • metapath2vec:異質圖模型,元路徑指導下得到的随機遊走路徑輸入到skip-gram模型中,得到節點嵌入;
  • HERec:異質圖模型,使用元路徑将異質圖轉化為同質圖,再在其上面進行随機遊走;
  • GCN:同質圖GNN;
  • GAT:同質圖GNN;
  • GATNE:異質圖GNN,使用基類嵌入和邊嵌入學習到節點表示,聚焦于連結預測任務;
  • HAN:異質圖GNN,從基于元路徑的同質圖學習到特定元路徑下的節點嵌入,使用注意力機制進行聚合。

實驗結果:

(1)節點分類實驗結果(RQ1)

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

(2)節點聚類實驗結果(RQ2)

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

(3)連結預測實驗結果(RQ3)

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

(4)消融實驗(RQ4)

  • M A G N N r o t MAGNN_{rot} MAGNNrot​使用了relation rotation encoder,作為參考模型;
  • M A G N N f e a t MAGNN_{feat} MAGNNfeat​沒有使用節點内容特征;
  • M A G N N n b MAGNN_{nb} MAGNNnb​隻考慮了基于元路徑的鄰居;
  • M A G N N s m MAGNN_{sm} MAGNNsm​考慮了單個最好的元路徑;
  • M A G N N a v g MAGNN_{avg} MAGNNavg​使用了mean對元路徑執行個體進行編碼;
  • M A G N N l i n e a r MAGNN_{linear} MAGNNlinear​使用了linear對元路徑執行個體進行編碼。
【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

M A G N N n b MAGNN_{nb} MAGNNnb​和 M A G N N a v g , M A G N N l i n e a r , M A G N N r o t MAGNN_{avg}, MAGNN_{linear}, MAGNN_{rot} MAGNNavg​,MAGNNlinear​,MAGNNrot​相比,可以看出聚合元路徑執行個體比metapath-based鄰居帶來的提升更多,驗證了元路徑内部聚合(intra-metapath aggregation)的有效性。

比較 M A G N N s m MAGNN_{sm} MAGNNsm​和 M A G N N r o t MAGNN_{rot} MAGNNrot​可以看出元路徑間聚合(intre-metapath aggregation)的有效性。

比較 M A G N N a v g , M A G N N l i n e a r , M A G N N r o t MAGNN_{avg}, MAGNN_{linear}, MAGNN_{rot} MAGNNavg​,MAGNNlinear​,MAGNNrot​可以看出,使用relational rotation encoder可帶來提升。這三個變形都比目前最好的baseline HAN要表現好。

(5)可視化(RQ5)

【論文解讀 WWW 2020 | MAGNN】Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding1 引言2 相關定義和符号3 方法4 實驗5 總結參考文獻

5 總結

本文提出元路徑聚合的GNN模型——MAGNN,解決現有異質圖嵌入方法的三個缺點:

(1)忽略節點的内容特征;

(2)不考慮元路徑内部的節點;

(3)隻考慮單個元路徑。

MAGNN由三個部分組成,分别解決了上述的三個問題:

(1)節點内容轉換(node content transformation)

(2)元路徑内部聚合(intra-metapath aggregation)

(3)元路徑間的聚合(inter-metapath aggregation)

另外,本文還定義了元路徑執行個體編碼器,以抽取出元路徑執行個體中的結構資訊和語義資訊。提出3個候選的編碼函數,其中relation rotation encoder是受RotatE啟發的。

在真實資料集上進行了節點分類、節點聚類、連結預測三個任務,達到state-of-the-art。

未來方向:将MAGNN應用到rating prediction任務中(例如 推薦任務)。

本文正如标題所示,一目了然,方法圍繞元路徑的聚合展開。聚合具體分為元路徑内部的聚合、元路徑間的聚合。

聚合當然少不了注意力機制,這兩個聚合都使用到了注意力機制,還引入了多頭注意力(multi-head attention)。

MAGNN在模組化的過程中還使用了節點的屬性資訊,GATNE[2]模型也考慮到了這一點,實驗中也和此方法進行了對比。

比較創新的地方是考慮到了元路徑的内部結構,使用元路徑執行個體編碼器(metapath instance encoder)進行了元路徑的内部聚合。

一共對比了3種元路徑執行個體編碼器:mean, linear, relation rotation

實驗效果顯示relation rotation的效果最好,因為它考慮了元路徑中每兩個相鄰節點間的關系。但是實驗結果顯示relation rotation和mean差别不是很大。

需要注意的是,MAGNN還是需要人為定義元路徑。GTNs[3]是自動生成元路徑,并且在節點分類任務上也超越了HAN,本文的MAGNN沒有和GTNs進行對比。

另外同樣被WWW 2020接收的HGT[4],也是不需要預先定義元路徑,且在節點分類、連結預測任務上也表現出了很好的效果,超越了HAN。不知道HGT和MAGNN相比的話會怎麼樣呢。

參考文獻

[1] Zhiqing Sun, Zhi-Hong Deng, Jian-Yun Nie, and Jian Tang. 2019. RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space. In ICLR.

[2] Yukuo Cen, Xu Zou, Jianwei Zhang, Hongxia Yang, Jingren Zhou, and Jie Tang. 2019. Representation Learning for Attributed Multiplex Heterogeneous Network. In SIGKDD. 1358–1368.

[3] Seongjun Yun, Minbyul Jeong, Raehyun Kim, Jaewoo Kang, Hyunwoo J.Kim. 2019. Graph Transformer Networks. In NeurIPS.

[4] Ziniu Hu, Yuxiao Dong, Kuansan Wang, Yizhou Sun. 2020. Heterogeneous Graph Transformer. 2020. In WWW.

繼續閱讀