論文筆記:WWW 2019 Heterogeneous Graph Attention Network
1.前言
論文連結:https://arxiv.org/pdf/1903.07293v1.pdf
github:https://github.com/Jhy1993/HAN
圖神經網路作為一種基於深度學習的功能強大的圖表示技術,表現出了優越的效能,引起了廣泛的研究興趣。然而,對於包含不同型別節點和連結的異質圖,圖神經網路並沒有充分考慮到這一點。
異構性和豐富的語義資訊給異質圖的圖神經網路設計帶來了很大的挑戰。最近,深度學習領域最令人興奮的進展之一是注意力機制,其巨大的潛力在各個領域都得到了很好的展示。本文首先提出了一種基於分層注意力的異質圖神經網路,包括節點級關注和語義級關注。具體來說:
- 節點級注意的目的是學習節點與基於元路徑的鄰居之間的重要性
- 語義級注意能夠學習不同元路徑的重要性。
通過節點級注意和語義級注意的學習重要性,可以充分考慮節點和元路徑的重要性。然後將基於元路徑的相鄰節點的特徵分層聚合,生成節點嵌入。在三個真實世界的異質圖上的廣泛實驗結果不僅顯示了我們所提出的模型的優越效能,而且也顯示了它對圖分析的潛在良好的可解釋性。
2. 介紹
深度學習的一個最新研究趨勢是注意力機制,它處理可變大小的資料,並鼓勵模型關注資料中最突出的部分。該方法在深度神經網路框架中驗證了其有效性,並被廣泛應用於文字分析[1]、知識圖[25]、影象處理[38]等各種應用中。圖注意網路(GAT)[35]是一種新穎的卷積型圖神經網路,它利用注意機制對只包含一種型別節點或連結的同構圖進行處理。
儘管注意機制在深度學習中取得了成功,但在異質圖的圖神經網路框架中並沒有考慮到它。事實上,現實世界的圖通常帶有多種型別的節點和邊,也被廣泛稱為異構資訊網路(HIN)[28]。為了方便起見,本文一致稱其為異質圖。異質圖由於包含更全面的資訊和豐富的語義,在許多資料探勘任務中得到了廣泛的應用。
元路徑[32]是連線兩個物件的複合關係,是一種廣泛使用的捕獲語義的結構。
以圖1(a)所示的電影資料IMDB1為例,它包含三種類型的節點,包括movie、actor和director。兩個電影之間的關係可以通過元路徑電影-演員-電影(MAM)來表示,它描述的是聯合演員關係,而電影-導演-電影(MDM)表示它們由同一位導演執導。可以看出,根據元路徑的不同,異質圖中節點之間的關係可能具有不同的語義。由於異質圖的複雜性,傳統的圖神經網路不能直接應用於異質圖。
基於以上分析,在設計具有異質圖注意機制的圖神經網路體系結構時,需要滿足以下新需求。
- Heterogeneity of graph
異構性是異質圖的內在屬性,即具有各種型別的節點和邊。例如,不同型別的節點具有不同的特徵,其特徵可能落在不同的特徵空間中。仍然以IMDB為例,演員的特徵可能涉及到性別、年齡和國籍。另一方面,電影的特徵可能涉及到情節和演員。如何處理如此複雜的結構資訊,同時保留多樣的特徵資訊,是一個迫切需要解決的問題。 - Semantic-level attention
異質圖中涉及到不同的有意義和複雜的語義資訊,這些語義資訊通常通過[32]元路徑反映出來。異質圖中不同的元路徑可以提取不同的語義資訊。如何為具體任務選擇最有意義的元路徑並融合語義資訊是一個有待解決的問題[4,19,26]。語義級注意的目的是學習每個元詞的重要性,併為它們分配適當的權重。還是以IMDB為例,《終結者》既可以通過電影-演員-電影MAM(都由施瓦辛格主演)連線到《終結者2》,也可以通過電影-電影(都拍攝於1984年)MYM連線到《鳥人》。然而,在確定電影《終結者》的型別時,MAM通常比MYM扮演更重要的角色。因此,平等對待不同的元路徑是不現實的,而且會削弱一些有用的元路徑所提供的語義資訊。 - Node-level attention
在異質圖中,節點可以通過不同型別的關係進行連線,例如元路徑。給定一個元路徑,每個節點都有許多基於元路徑的鄰居。如何區分這些鄰居之間的細微差別,選擇具有資訊的鄰居是需要解決的問題。對於每個節點,節點級注意的目的是瞭解基於元路徑的鄰居的重要性,併為它們分配不同的注意值。還是以IMDB為例,當使用元路徑電影 - 導演 - 導演 - 電影(同一位導演拍攝的電影)時,《終結者》將通過導演詹姆斯•卡梅隆連線到《泰坦尼克號》和《終結者2》。為了更好地把《終結者》定義為科幻電影,模型應該多關注《終結者2》,而不是《泰坦尼克號》。因此,如何設計一個能夠發現相鄰區域細微差異並正確掌握其權重的模型將是我們所需要的。
本文提出了一種新的異質圖注意網路HAN,它同時考慮了節點級和語義級的注意。
- 給定作為輸入的節點特性,使用特定型別的轉換矩陣將不同型別的節點特性投影到相同的空間中。然後節點級注意能夠學習節點與其基於元路徑的鄰居之間的注意值
- 語義級注意旨在學習異質圖中特定任務的不同元路徑的注意值。基於在這兩個層次上學習的注意值,我們的模型可以得到最優的注意值
以分層的方式組合鄰居和多個元路徑,使得學習到的節點嵌入能夠更好地捕獲異質圖中的複雜結構和豐富的語義資訊。然後通過端到端反向傳播的方式對整個模型進行優化。本文創新點如下:
- 這是首次嘗試研究基於注意機制的異質圖神經網路。使得圖神經網路可以直接應用於異質圖,進一步促進了基於異質圖的應用。
- 提出了一種新的異質圖注意網路(HAN),它包括節點級注意和語義級注意。得益於這種分層關注,該演算法可以同時考慮節點和元路徑的重要性。此外,該模型具有較高的效率,相對於基於元路徑的節點對的數量,其複雜度是線性的,可以應用於大規模異質圖。
- 大量的實驗評估提出的模型的效能。通過與現有模型的比較,證明了該模型的優越性。更重要的是,通過對分層注意機制的分析,證明了該演算法在異質圖分析中具有良好的可解釋性。
3. 相關工作(異質圖嵌入相關)
異質圖嵌入主要關注基於元路徑的結構資訊的儲存。ESim[26]接受使用者定義的元路徑作為在使用者偏好的嵌入空間學習頂點向量用於相似度搜索的指導。即使通過ESim可以使用多個元路徑,它也無法瞭解元路徑的重要性。為了獲得最佳效能,ESim需要進行網格搜尋,找到hmeta-paths的最優權值。很難為特定的任務找到最佳的組合。
Metapath2vec[7]設計了一種基於元路徑的隨機遊走,並利用跳格來執行異質圖嵌入。但是,metapath2vec只能使用一個元路徑,可能會忽略一些有用的資訊。
與Metapath2vec[7]類似,HERec[27]提出了一種型別約束策略,用於過濾節點序列,捕獲反映在異質圖中的複雜語義。
HIN2Vec[9]執行多個預測訓練任務,同時學習節點和元路徑的潛在向量。
Chen等人[3]提出了一種投影度量嵌入模型PME,該模型通過歐幾里得距離保持節點的貼近度。PME將不同型別的節點投影到同一關係空間中,進行異構鏈路預測。
為了研究綜合描述異質圖的問題,Chen等[29]提出了HEER,它可以通過邊緣表示嵌入異質圖。
Fan等人[8]提出了一種嵌入模型metagraph2vec,該模型最大限度地保留了結構和語義,以用於惡意軟體檢測。
Sun等[30]提出了基於元圖的網路嵌入模型,該模型同時考慮了元圖中所有元資訊的隱藏關係。
綜上所述,上述演算法均未考慮異質圖表示學習中的注意機制。
4. 變數定義
異質圖是一種特殊的資訊網路,它包含多種型別的節點或多種型別的邊。
4.1 Heterogeneous Graph [31]
將異質圖表示為 G = ( V , E ) \mathcal{G=(V,E)} G=(V,E) 其中 V \mathcal{V} V 和 E \mathcal{E} E 分別表示異質圖中節點和邊的集合。對應的存在節點型別的對映函式 ϕ : V → A \phi:\mathcal{V} \rightarrow \mathcal{A} ϕ:V→A 和邊型別的對映函式 ψ : E → R \mathcal{\psi}:\mathcal{E} \rightarrow\mathcal{R} ψ:E→R。其中 A , R \mathcal{A},\mathcal{R} A,R 分別代表預定義的節點型別集和邊型別集,根據異質圖的性質可以得到 ∣ A ∣ + ∣ R ∣ > 2 |\mathcal{A}| + |\mathcal{R}| > 2 ∣A∣+∣R∣>2
4.2 Meta-path [32]
一條元路徑
Φ
\Phi
Φ 被定義為如下形式的路徑
可以縮寫為
A
1
A
2
.
.
.
A
l
+
1
A_1A_2...A_{l+1}
A1A2...Al+1,其中
R
=
R
1
⋅
R
2
⋅
.
.
.
⋅
R
l
R=R_1\cdot R_2\cdot...\cdot R_l
R=R1⋅R2⋅...⋅Rl 代表了物件
A
1
A_1
A1 和
A
l
+
1
A_{l+1}
Al+1 的組合關係。並且
⋅
\cdot
⋅ 代表關係之間的組合函式
例如。如圖1(a)所示,可以通過多個元路徑連線兩個電影,例如電影-演員-電影(MAM)和電影-導演-電影(MDM)。不同的元路徑總是揭示不同的語義。例如,MAM表示合作演員關係,而電影-導演-電影 (MDM)表示它們由同一位導演執導。給定一個meta-path Φ Φ Φ ,在異質圖中存在一組meta-path,則基於鄰居的每個節點可以揭示不同的結構資訊和豐富的語義資訊。
4.3 Meta-path based Neighbors
在異質圖中給出一個節點 i i i 和一條元路徑 Φ \Phi Φ,則在這條元路徑下的該節點 i i i 的鄰居為 N i Φ \mathcal{N}_i^\Phi NiΦ。注意此時節點的鄰居包含自身
例子,以圖1(d)為例,給定元路徑影片-演員-影片,m1的基於元路徑的鄰居包括m1(本身)、m2和m3。同樣,基於元路徑電影-導演-電影的m1的鄰居包括m1和m2。顯然,基於元路徑的鄰居可以利用異構圖中結構資訊的不同方面。我們可以通過一組鄰接矩陣序列的乘法得到基於元路徑的鄰居。
圖神經網路被提出來處理任意圖結構的資料。但是,它們都是為同構網路設計的[18,35]。由於元路徑和基於元路徑的鄰域是異構圖資料的兩種基本結構,接下來,我們將提出一種針對異構圖資料的新型圖神經網路,該網路能夠利用節點和元路徑之間的細微差異。
5. HAN
本文提出了一種新的異構圖半監督神經網路。模型遵循一個分層注意結構:節點級注意→語義級注意。圖2給出了HAN的整體框架。大致可以分為以下兩個步驟:
- 首先節點級關注來學習基於元路徑的鄰居的權重,並將它們聚合以得到特定語義的節點嵌入。
- 之後,HAN可以通過semanticlevel attention分辨出元路徑的差異,得到針對特定任務的語義特異性節點嵌入的最優加權組合。
5.1 Node-level Attention
在聚合每個節點的元路徑鄰居資訊之前,每個節點的基於元路徑的鄰居在學習節點嵌入中對於具體任務的作用和重要性是不同的。基於此該模型的優勢之一為節點級注意可以瞭解基於元路徑的鄰居對異構圖中每個節點的重要性,並將這些有意義的鄰居的表示進行聚合,形成節點嵌入。
由於節點的異質性,不同型別的節點處於不同的特徵空間。因此,對於每種型別的節點(例如,節點型別
ϕ
i
ϕ_i
ϕi) 設計特定的特徵對映權重矩陣
M
ϕ
i
M_{ϕ_i}
Mϕi ,由此將不同型別的節點特徵對映到同一個特徵空間。與[13]不同,特定型別的轉換矩陣基於節點型別而不是邊型別。投影過程如下:
其中
h
i
′
h_i^{'}
hi′ 和
h
i
h_i
hi 分別代表節點在統一的特徵空間中的特徵向量和原始特徵空間中的特徵向量。通過特定型別的投影操作,節點級注意力機制可以處理任意型別的節點。然後利用self-attention[34]來學習各種節點間的權值。給定一個節點對
(
i
,
j
)
(i, j)
(i,j) 是通過 meta-path
Φ
Φ
Φ 連線,節點級的關注
e
i
j
Φ
e_{ij}^Φ
eijΦ 可以學習,重要性
e
i
j
Φ
e_{ij}^Φ
eijΦ 意味著節點
j
j
j 對於 節點
i
i
i 多麼重要。基於meta-path節點的重要性對
(
i
,
j
)
(i, j)
(i,j) 可以制定如下:
此處
a
t
t
n
o
d
e
attnode
attnode 為執行節點級關注的深度神經網路。給出的meta-path
Φ
Φ
Φ 和
a
t
t
n
o
d
e
attnode
attnode 被所有基於元路徑(meta-path)的節點對共享。這是因為在一個元路徑下有一些類似的連線模式。上述(2)表明,當給出meta-path
Φ
Φ
Φ,基於meth-path 的節點對的權重取決於它們自身的特徵。其中
e
i
j
Φ
e_{ij}^Φ
eijΦ 是不對稱的,也就是說
i
i
i 對於
j
j
j 和
j
j
j 對於
i
i
i的重要性可能不同。異質圖中節點集註意力的非對稱性是一個非常重要的性質。
之後基於 masked attention 機制在模型中加入結構化資訊,這意味著我們只為
j
∈
N
i
Φ
j \in \mathcal{N}_i^\Phi
j∈NiΦ計算
e
i
j
Φ
e_{ij}^\Phi
eijΦ,其中
N
i
Φ
\mathcal{N}_i^\Phi
NiΦ 代表基於元路徑
Φ
\Phi
Φ 時包括節點
i
i
i 自身的鄰居節點。在獲得基於元路徑的節點對的重要性之後,對他們進行正則化以通過
s
o
f
t
m
a
x
softmax
softmax 函式得到它們的權重係數
α
i
j
Φ
\alpha_{ij}^\Phi
αijΦ:
其中
σ
\sigma
σ 代表啟用函式 ,
∣
∣
||
∣∣代表級聯操作,
a
Φ
a_{\Phi}
aΦ 代表對於元路徑
Φ
\Phi
Φ 的節點級別注意力向量。通過(3)可以看出 節點對
(
i
,
j
)
(i,j)
(i,j) 的權重係數取決於它們的特徵。
那麼,節點
i
i
i 的基於元路徑
Φ
\Phi
Φ 的嵌入
z
i
Φ
z_i^{\Phi}
ziΦ 可以通過鄰居的投影特徵進行聚合,其對應的公式如下:
每個結點的嵌入由它們的鄰居聚合,因為注意力權重
α
i
j
Φ
\alpha_{ij}^\Phi
αijΦ 又單獨的元路徑計算得來。它具有語義特異性,能夠捕捉到一種語義資訊。
由於異構圖具有無標度的特性,因此圖資料的方差較大。為了解決上述挑戰,我們將節點級注意擴充套件到多執行緒注意,使訓練過程更加穩定。具體來說,我們重複K次節點級別的注意力注意,並將學習到的嵌入連線為語義特異性嵌入:
當給出多條元路徑
{
Φ
0
,
Φ
1
,
.
.
.
,
Φ
p
}
\{\Phi_0,\Phi_1,...,\Phi_p\}
{Φ0,Φ1,...,Φp},將節點特徵加入到節點級別注意力模型後,可以得到共
p
p
p 個語義級別的節點嵌入,表示為
{
Z
Φ
0
,
Z
Φ
1
,
.
.
.
,
Z
Φ
p
}
\{Z_{\Phi_0},Z_{\Phi_1},...,Z_{\Phi_p}\}
{ZΦ0,ZΦ1,...,ZΦp}
5.2 Semantic-level Attention
一般情況下,異構圖中的每個節點都包含多種型別的語義資訊,特定語義的節點嵌入只能從一個方面反映節點的特徵資訊。為了學習更全面的節點嵌入,需要融合多種語義,這些語義可以通過元路徑顯示出來。針對異構圖中元路徑選擇和語義融合的挑戰,本文提出了一種新的語義層關注機制,該機制能夠自動學習不同元路徑的重要性,並針對特定任務將其融合。採取
P
P
P 組 semantic-specific 節點嵌入從節點級的關注作為輸入,每個meta-path的學習權重
(
β
Φ
0
,
β
Φ
1
,
.
.
.
,
β
Φ
P
)
(β_{Φ_0},β_{Φ_1},...,β_{Φ_P})
(βΦ0,βΦ1,...,βΦP)可以顯示如下:
其中
a
t
t
s
e
m
attsem
attsem 為執行語義層面關注的深度神經網路。它表明語義層次的注意可以捕獲異構圖背後的各種型別的語義資訊。
為了瞭解每個元路徑的重要性,我們首先通過非線性轉換(例如單層MLP)轉換特定語義的嵌入。然後將語義特異性嵌入的重要性認為是轉換後嵌入與語義級注意向量
q
q
q 的相似性,然後將所有語義特異性節點嵌入的重要性平均,可以解釋為每條元路徑的重要性。每個meta-path的重要性表示為
w
Φ
i
w_{Φ_i}
wΦi,公式如下:
其中
W
W
W 為權值矩陣,
b
b
b 為偏差向量,
q
q
q 為語義級別的注意力向量。對於有意義的比較,所有以上引數對於所有元路徑和特定語義的嵌入都是共享的。在得到每個元路徑的重要性後,通過softmax函式對其進行正則化。對於元路徑
Φ
i
\Phi_i
Φi 的權重表示為
β
Φ
i
\beta_{\Phi_i}
βΦi
這個公式也可以理解為對於特定的任務來說元路徑
Φ
i
\Phi_i
Φi 的貢獻大小,顯然
β
Φ
i
\beta_{\Phi_i}
βΦi越大則該元路徑
Φ
i
\Phi_i
Φi 越重要。因此對於不同的任務來說元路徑所對應的權重的值會發生改變。在學習到語義級別的嵌入後我們可以得到最終的嵌入表示
最終的嵌入是通過所有特定於語義的嵌入進行聚合。然後將最終的嵌入應用到具體的任務中,設計出不同的損失函式。對於半監督節點分類,可以選擇最小化所有標記節點真值和預測之間的交叉熵:
其中
C
C
C 代表分類器的引數,
Y
L
\mathcal{Y}_L
YL 代表所有帶標籤的節點,
Y
l
Y^l
Yl 和
Z
l
Z^l
Zl 分別代表標籤向量和根據嵌入後向量所得到的節點標籤向量。在標籤資料的指導下,通過反向傳播優化模型,瞭解節點的嵌入情況。HAN的整體過程如演算法1所示
6. 實驗
6.1 異質圖構建