【論文解讀 WWW 2020 | HGT】Heterogeneous Graph Transformer

論文題目:Heterogeneous Graph Transformer

論文來源:WWW 2020

論文鏈接:https://arxiv.org/abs/2003.01332

代碼鏈接:https://github.com/acbull/pyHGT

關鍵字:GNN,HIN,表示學習,圖嵌入,Graph Attention,動態圖



1 摘要

本文提出異質圖轉換架構(Heterogeneous Graph Transformer, HGT),用於建模Web-scale的異質圖。並且無需人工構建元路徑。

爲了對異質的節點和邊進行建模,作者設計了和節點類別、邊類別有關的參數,來表徵在每個邊上的異質性的注意力。這使得HGT可以爲不同類型的節點和邊生成專用的表示。

HGT還可以處理動態的異質圖。作者在HGT中引入相對時間編碼技術,可以捕獲到任意時間段內的動態結構依賴關係。

爲了能夠處理Web-scale的圖數據,還設計了mini-batch圖採樣算法——HGSampling,實現高效並可擴展的訓練。

在多個下游任務的實驗中(Open Academic Graph of 179 million nodes and 2 billion edges)超越使用GNN的state-of-the-art方法。


2 引言

現有的GNN方法的不足:

以HAN, GTNs, HetGNN等方法爲例。

(1)大多數方法需要爲異質圖設計元路徑(GTNs除外);

(2)要不就是假定不同類別的節點/邊共享相同的特徵和表示空間,要不就是單獨爲某一類型的節點和邊設計不同的不可共享的參數。這樣的話不能充分捕獲異質圖的屬性信息;

(3)大多數方法都沒有考慮異質圖的動態特徵

(4)不能建模Web-scale的異質圖。


鑑於以上挑戰,作者進行了異質圖神經網絡的研究,目的是:(1)保留節點和邊類型的有依賴關係的特徵;(2)捕獲網絡的動態信息;(3)避免自定義元路徑;(4)並且可擴展到大規模(Web-scale)的圖上。

作者提出:

提出HGT架構解決上述所有問題,具體解決方法如下

(1)爲了解決圖的異質性問題,引入節點類型和邊類型有依賴的注意力機制。

HGT中的異質相互注意力不是參數化每種類別的邊,而是根據元關係三元組將每個邊e=(s,t)e=(s, t)分解來定義。(例如 <s的節點類別, s和t之間的邊e的類型, t的節點類型>)。圖1就展示了異質學術圖的元關係。

使用元關係參數化權重矩陣,用於計算每條邊的注意力係數。

因此,不同類型的節點和邊就可以維護其特定的表示空間。同時,通過不同的邊相連的節點仍然可以交互、傳遞、聚合信息,並且不受它們之間分佈差異的限制

HGT的天然結構,讓其可以通過跨層的信息傳遞合併不同類型的高階鄰居的信息,這可以看作是**“軟”元路徑**(“soft” meta paths)。

也就是說,儘管HGT只將一跳的邊作爲輸入並且不人爲設計元路徑,本文提出的注意力機制可以針對具體的下游任務自動地、隱式地學習並抽取出更重要的“元路徑”


(2)爲了處理動態圖,在HGT中引入相對時間編碼(RTE)技術。

並不是將輸入圖按不同的時間戳分片處理,而是將在不同時間出現的所有的邊看成一個整體。設計RTE策略,建模任意時間長度的結構性的時間依賴關係,甚至包含不可見的和未來的時間戳

通過端到端的訓練,RTE使得HGT自動學習到異質圖的時序依賴關係以及異質圖隨時間的演化。


(3)爲了處理Web-scale的圖數據,作者設計了第一個異質的子圖採樣算法——HGSampling,用於mini-batch的GNN訓練。

以往的在同質圖上的GNN採樣方法(例如 GraphSage, FastGCN, LADIES)會導致節點和邊類型的高度不平衡HGSampling可以使得采樣的不同類型的節點有着相似的分佈

同時,該方法還可以保持採樣子圖的密度,以最小化信息損失

使用HGSampling的採樣方法,所有的GNN模型,包括本文的HGT模型,都可以在任意大小的異質圖上進行訓練和推斷。


2 定義

(1)異質圖

G=(V,E,A,R)G=(V,E,A,R),類型映射函數:τ(v):VA,ϕ(e):ER\tau(v): V\rightarrow A, \phi(e): E\rightarrow R

(2)元關係

對於從sstt的連邊e=(s,t)e=(s, t),它的元關係定義爲<τ(s),ϕ(e),τ(t)><\tau(s), \phi(e), \tau(t)>ϕ(e)1\phi(e)^{-1}表示ϕ(e)\phi(e)的逆。

經典的元路徑範式就是這種元關係組成的序列。

(3)動態異質圖

在時間戳爲TT時有邊e=(s,t)e=(s, t),說明在TT時刻節點ss連向了節點tt。若ss是第一次出現,則將TT分配給ssss可以和很多個時間戳相關聯。

假定邊的時間戳是不變的,表示該邊創建的時間。但是可以給節點分配不同的時間戳


3 相關工作

普遍的GNN框架

Hl[t]H^l[t]爲節點tt在第ll層GNN的節點表示,從l1l-1層到ll層的更新過程如下:

先抽取信息,再聚和信息。例如GCN, GraphSAGE, GAT。


異質的GNNs

(1)已有的一些方法

建模知識圖譜的關係圖卷積網絡(RGCN),爲每種類型的邊都維護了一個線性的映射權重。

HetGNN爲不同類型的節點應用不同的RNNs來整合多模的特徵。

HAN爲不同的元路徑定義的邊維護了不同的權重,同時使用了語義級別的注意力機制,有區分性地聚合來源於不同元路徑的信息。


(2)這些方法的不足

儘管這些方法都比GCN和GAT表現好,但是它們都沒有充分利用異質圖的屬性信息。都是爲邊類型和節點類型單獨地分配GNN權重矩陣

但是不同類型的節點數目和不同類型的邊的數目差別很大,對於那些共現次數不多的關係類型,就很難爲它們學習到準確的權重


(3)考慮參數共享以實現更好的泛化

爲了解決上述問題,提出參數共享。對於給定的邊e=(s,t)e=(s, t),其元關係爲<τ(s),ϕ(e),τ(t)><\tau(s), \phi(e), \tau(t)>。若使用三個交互矩陣分別建模τ(s),ϕ(e),τ(t)\tau(s), \phi(e), \tau(t)這三個元素,則主要參數就可以共享。

例如“第一作者”和“第二作者”這兩種關係的源節點都是author,目標節點都是paper。從一種關係學習到的author和paper的知識可以快速轉換並應用到另一種關係中。

將這種想法整合到Transformer-like的注意力框架中,從而提出了HGT。


(4)HGT和現有方法的主要不同

  1. 與單獨處理節點類型和邊類型不同,作者使用元關係τ(s),ϕ(e),τ(t)\tau(s), \phi(e), \tau(t)來分解交互矩陣和轉換矩陣,使得HGT在使用等量的參數甚至更少的參數的情況下,捕獲不同關係中普通的和特定的信息。

  2. 不需要預先定義好元路徑,使用神經網絡框架聚合高階的異質鄰居的信息,自動地學習到元路徑的重要性程度

  3. 大多數以往的方法沒有考慮到動態圖,HGT使用相對時間編碼技術考慮到了時序信息。

  4. 現有的異質GNN方法都不能應用在Web-scale的圖上,本文提出的HGSampling採樣方法可以用於Web-scale圖(十億級別)的訓練。


4 HGT

使用異質圖中的元關係參數化權重矩陣,以用於異質的互注意力、消息傳遞。

4.1 HGT整體框架

圖2展示了HGT的整體框架。給定採樣的異質子圖,HGT抽取出了所有有連邊的點對,sstt通過ee相連。

HGT的目的是從源節點聚合信息,獲得目標節點的上下文表示。這一過程可被分解成3個部分:(1)異質互注意力(Heterogeneous Mutual Attention);(2)異質消息傳遞(Heterogeneous Message Passing );(3)針對特定任務的聚合(Target-Specific Aggregation)。

堆疊LL層,得到整個圖的節點表示H(L)H^{(L)},然後用於端到端的訓練或者輸入給下游任務。


4.2 Heterogeneous Mutual Attention

第一步是計算源節點ss和目標節點tt的注意力係數。基於注意力的GNNs可以看成如下的形式:

可以總結爲3個基本的操作:

(1)Attention:評估每個源節點的重要性

(2)Message:從源節點ss抽取出信息

(3)Aggregate:使用注意力係數作爲權重,聚合鄰居的信息

GAT只有一個權重矩陣WW,也就是假定sstt有相同的特徵分佈,這不適合於異質圖,異質圖中不同類的節點可能有它自己的特徵分佈。

因此設計了異質的互注意力機制(Heterogeneous Mutual Attention)。給定一個目標節點tt,其所有鄰居sN(t)s\in N (t)可能屬於不同的分佈,要根據它們的元關係計算它們的相互注意力。


受Transformer的啓發,作者將目標節點tt映射成Query向量,將源節點ss映射成Key向量,計算兩者的點積當做attention。

與Transformer的區別在於:Transformer爲所有的單詞使用一組映射;而本文的方法中,每個元關係都有一組不同的映射矩陣

在保留不同關係的特性的基礎上,爲了最大程度地實現參數共享,作者提出將交互操作的權重矩陣參數化爲:源節點映射,邊映射,目標節點映射。爲每個邊e=(s,t)e=(s, t)計算hheadh-head的注意力,如圖2(1)所示。計算過程如下:

解釋如下:

(1)首先,對於第ii個attention head ATTheadi(s,e,t)ATT-head^i(s, e, t),將類別爲τ(s)\tau(s)的源節點ss使用線性映射 KLinearτ(s)i:RdRdhK-Linear^i_{\tau(s)} : \mathbb{R}^d \rightarrow \mathbb{R}^{\frac{d}{h}},映射成第ii個Key向量Ki(s)K^i(s)

其中hh是attention head的數量,dh\frac{d}{h}是每個head的向量維度。

注意,$K-Linear^i_{\tau(s)} $以源節點的類型作爲索引,表示每種類型的節點都有一個線性映射,以實現最大程度建模不同類型節點的分佈差異性。

同樣的,對目標節點tt也使用線性映射QLinearτ(t)iQ-Linear^i_{\tau(t)},將其映射成第ii個Query向量。


(2)接着,計算Q(t)i,K(s)iQ^i_{(t)},K^i_{(s)}間的相似度。由於異質圖中邊類型多樣(一對節點之間可能有不同類型的邊),所以不同於原始的Transformer直接對Query和Key向量進行內積操作,而是爲每種類型的邊ϕ(e)\phi(e)維護不同的矩陣Wϕ(e)ATT(R)dh×dhW^{ATT}_{\phi(e)}\in \mathbb(R)^{\frac{d}{h}\times \frac{d}{h}}。這樣,就可以捕獲節點對之間不同的語義關聯。

然而,不同類型的邊對目標節點的貢獻度不同,所以添加一個先驗的張量μRA×R×A\mu\in \mathbb{R}^{|A|\times |R|\times |A|}表示對每個元關係三元組的一般化的重要性,作爲對attention的adaptive scaling。


(3)最後,將hh個attention heads拼接起來得到每個節點對的注意力向量。對於每個目標節點tt,聚合它所有鄰居的注意力向量,並通過一層softmax,使得每個head的注意力係數和爲1。


4.3 Heterogeneous Message Passing

從源節點向目標節點傳遞信息,這一步是和互注意力的計算並行的,如圖2(2)所示。

目標是將不同邊的元關係合併到消息傳遞過程中,來緩解不同類型的節點和邊分佈的差異性。

對於節點對e=(s,t)e=(s, t),multi-head的Message可以計算爲:

爲了得到MSGheadi(s,e,t)MSG-head^i(s, e, t),首先使用線性映射 MLinearτ(s)i:RdRdhM-Linear^i_{\tau(s)}: \mathbb{R}^d \rightarrow \mathbb{R}^{\frac{d}{h}} 將類型爲τ(s)\tau(s)的源節點ss映射成第ii個message向量。

然後再對特定類型的邊維護一個參數矩陣 Wϕ(e)MSGRdh×dhW^{MSG}_{\phi(e)}\in \mathbb{R}^{\frac{d}{h}\times \frac{d}{h}}

最後hh個message heads相拼接得到每個節點對的MessageHGT(s,e,t)Message_{HGT}(s, e, t)


4.4 Target-Specific Aggregation

圖2(3)所示,聚合上兩步得到的信息

使用attention向量作爲權重,對來自源節點的相應信息進行平均,得到更新後的向量:

最後一步是以目標節點的類別τ(t)\tau(t)爲索引,將目標節點tt的向量映射回到對應類別的分佈。具體來說,對更新後的向量 H~(l)[t]\tilde{H}^{(l)}[t] 使用線性映射 ALinearτ(t)A-Linear_{\tau(t)},然後還有前一層的tt的原始向量作爲殘差連接

這樣,就得到了目標節點tt在第ll層HGT的輸出H(l)[t]H^{(l)}[t]

堆疊LL層(LL是一個很小的值)就可以爲每個節點得到有豐富信息的上下文表示H(L)H^{(L)}H(L)H^{(L)}可作爲下游任務的輸入,例如圖節點分類和鏈接預測任務。


整個框架中,高度依賴於元關係——<τ(s),ϕ(e),τ(t)><\tau(s), \phi(e), \tau(t)>來參數化權重矩陣。和現有的維每個元路徑維護一個矩陣的方法相比,HGT的三元組參數可以更好地利用異質圖的schema來實現參數共享

一方面,這樣的參數共享有助於利用出現頻次較少的類型的邊,從而實現快速的自適應和泛化。

另一方面,使用較少的參數,仍然實現了保留不同類型邊的特徵


4.5 Relative Temporal Encoding

提出相對時間編碼(RTE)技術處理動態圖。

傳統的方法是爲每個小時間片(time slot)構建圖,但這種方法會丟失大量的不同時間片間的結構依賴信息

因此,受Transformer的位置編碼(position embedding)啓發,作者提出RTE機制,建模異質圖上的動態依賴關係。

給定源節點ss和目標節點tt,以及它們對應的時間戳T(s),T(t)T(s), T(t)。定義相對時間間隔爲 ΔT(t,s)=T(t)T(s)\Delta T(t, s)=T(t)-T(s),作爲得到相對時間編碼RTE(ΔT(t,s))RTE(\Delta T(t,s))的索引。

注意訓練集不會覆蓋到所有可能的時間間隔,因此RTE要具有泛化到不可見的時間和時間間隔的能力。作者採取了一組固定的正弦函數作爲偏置,並使用了可微調的線性映射 TLinear:RdRdT-Linear^{*}: \mathbb{R}^d \rightarrow \mathbb{R}^d,構成RTE:

最後,將相對於目標節點tt的時間編碼加入到源節點ss的表示中:

時間增廣的表示H^(l1)\hat{H}^{(l-1)}就可以捕獲到源節點ss和目標節點tt的相對時間信息。RTE的流程如圖3所示。


5 Web-scale的HGT訓練

5.1 HGSamling

full-batch的GNN訓練需要在每層計算所有節點的表示,不能擴展到Web-scale的圖上。

本文提出HGSampling方法,可以實現:

(1)對於每種類型的節點和邊採樣的數量大致相似

(2)保持採樣的子圖的稠密性,以最小化採樣方差帶來的信息損失

上圖中的算法1展示了HGSampling算法。基本思想是對每個節點類型τ\tau維護一個node budget B[τ]B[\tau],並使用重要性採樣策略,爲每個類型採樣相等數量的節點,以減小方差。

給定已被採樣的節點tt,使用算法2將它的一階鄰居加入到對應的budget中,並將tt的歸一化的度與這些鄰居相加(如 算法2的line 8所示),之後將被用於計算採樣概率。

這樣的歸一化等價於累計每個被採樣的節點到其鄰居的random walk概率,從而避免了採樣過多的度數高的節點。

直觀來看,這個值越大,和當前被採樣節點相關聯的節點就越有可能是候選節點,應該被賦予更大的採樣概率。

在budget更新後,計算採樣概率(如 算法1的line 9所示),使用這種採樣概率可以減小採樣的方差[1]。

然後使用上面計算得到的概率,採樣nn個類型爲τ\tau的節點。將它們加入到輸出的節點集合$OS中,將它們的鄰居更新到budget中,並將它們自己從budget中移除。(如 算法1的line12-15所示)

將這個過程重複LL次,採樣得到深度爲LL的子圖。

最後,利用採樣到的節點重構鄰接矩陣。

通過使用上述算法,採樣到的子圖中每個類別都有相似數量的節點(基於各自的node budget),就可以在Web-scale的異質圖上訓練GNN了。


5.2 Inductive Timestamp Assignment

目前爲止,作者假定每個節點tt都被分配了一個時間戳T(t)T(t)。然而,在現實世界中許多節點不止和一個時間戳有關,所以需要爲及誒單分配不同的時間戳。

例如,WWW會議在1974年和2019年都有舉辦,這兩年的WWW節點有不同的研究主題。異質圖中也存在只有一個時間戳事件節點,比如paper節點,和其發表日期相關。

作者提出歸納式的時間戳分配算法(inductive timestamp assignment algorithm ),基於和節點相連的事件節點,爲其分配時間戳。如算法2的line 6所示。思想是:計劃節點繼承事件節點的時間戳。

首先檢查候選的源節點是否是一個事件節點如果是的話(例如 paper在某一年被髮表)則保留它的時間戳用於捕獲時序依賴關係;如果不是的話(例如conference可以和任意的時間戳有關),則爲其分配相關節點的時間戳(例如conference中的paper發表的年份)。這樣就可以在子圖採樣過程中自適應地爲節點分配時間戳


6 實驗

Web-Scale數據集

Open Academic Graph (OAG) ,包含178 million個節點和2.236 billion條邊。

實驗任務

一共四個:Paper-Field(L1L_1)的預測,Paper-Field(L2L_2)的預測,Paper-Venue的預測,作者消歧的預測

前三個節點分類任務是預測每個paper屬於的正確的領域L1,L2L_1, L_2,或者是該paper發表在了哪個venue上。

使用不同的GNN方法得到paper的上下文節點表示,並使用softmax輸出層得到它的類別標籤。

對於作者消歧,選擇所有同名的作者以及他們的papers。任務是對這些papers和候選的作者進行鏈接預測。

使用GNN方法得到paper和作者的節點表示後,使用Neural Tensor Network得到每個author-paper對連接的概率。

對比方法

  • GCN
  • GAT
  • RGCN
  • HetGNN
  • HAN

實驗結果

(1)上述四個任務的實驗結果

(2)引入時間信息的會議相似性

(3)元關係注意力可視化

下圖的左半部分可以看出元路徑PAP, PFP, IAP是最重要的元路徑,並且重要性係數是自動學習得到的,不需要人工操作。


7 總結

本文提出了HGT架構,用於建模Web-scale的異質圖以及動態圖

(1)爲了建模異質性,使用了元關係<τ(s),ϕ(e),τ(t)><\tau(s), \phi(e), \tau(t)>分解交互和轉換矩陣,使得在資源很少的情況下模型也能有可接受的建模能力。

(2)爲了捕獲圖的動態性特徵,提出相對時間編碼(RTE)技術,使用有限的計算資源合併時間信息。

(3)爲了使得HGT可擴展到Web-scale的數據上,設計了異質的mini-batch圖採樣算法——HGSampling

未來的工作:探究HGT是否能生成異質圖,例如預測新papers和其標題。以及HGT是否可用於預訓練,以對標註數據很少的任務帶來幫助。


本文的工作非常有新意,論文中的很多部分都是受Transformer的啓發。

不需要人爲定義元路徑,而是使用注意力機制,自動地學習到重要性較大的元路徑,這個思路和GTNs很像。

受Transformer啓發的地方一共有兩個:

(1)異質的互注意力計算Transformer的attention類似:將目標節點映射成Query向量,源節點映射爲Key向量,還使用了多頭注意力機制(multi-head attention)。

(2)相對時間編碼技術(RTE)和Transformer的位置編碼類似。

另外,作者在未來展望中還提到要研究HGT是否能用於圖的預訓練,從而對標註數據不多的任務帶來幫助。這一點可以讓人聯想到這幾年NLP領域大放異彩的預訓練技術,圖上的預訓練也讓人期待啊。


參考文獻

[1] Difan Zou, Ziniu Hu, Yewen Wang, Song Jiang, Yizhou Sun, and Quanquan Gu. 2019. Layer-Dependent Importance Sampling for Training Deep and Large Graph Convolutional Networks. In NeurIPS’19.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章