論文題目: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中的異質相互注意力不是參數化每種類別的邊,而是根據元關係三元組將每個邊分解來定義。(例如 <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)異質圖
,類型映射函數:。
(2)元關係
對於從到的連邊,它的元關係定義爲,表示的逆。
經典的元路徑範式就是這種元關係組成的序列。
(3)動態異質圖
在時間戳爲時有邊,說明在時刻節點連向了節點。若是第一次出現,則將分配給,可以和很多個時間戳相關聯。
假定邊的時間戳是不變的,表示該邊創建的時間。但是可以給節點分配不同的時間戳。
3 相關工作
普遍的GNN框架
令爲節點在第層GNN的節點表示,從層到層的更新過程如下:
先抽取信息,再聚和信息。例如GCN, GraphSAGE, GAT。
異質的GNNs
(1)已有的一些方法
建模知識圖譜的關係圖卷積網絡(RGCN),爲每種類型的邊都維護了一個線性的映射權重。
HetGNN爲不同類型的節點應用不同的RNNs來整合多模的特徵。
HAN爲不同的元路徑定義的邊維護了不同的權重,同時使用了語義級別的注意力機制,有區分性地聚合來源於不同元路徑的信息。
(2)這些方法的不足
儘管這些方法都比GCN和GAT表現好,但是它們都沒有充分利用異質圖的屬性信息。都是爲邊類型和節點類型單獨地分配GNN權重矩陣。
但是不同類型的節點數目和不同類型的邊的數目差別很大,對於那些共現次數不多的關係類型,就很難爲它們學習到準確的權重。
(3)考慮參數共享以實現更好的泛化
爲了解決上述問題,提出參數共享。對於給定的邊,其元關係爲。若使用三個交互矩陣分別建模這三個元素,則主要參數就可以共享。
例如“第一作者”和“第二作者”這兩種關係的源節點都是author,目標節點都是paper。從一種關係學習到的author和paper的知識可以快速轉換並應用到另一種關係中。
將這種想法整合到Transformer-like的注意力框架中,從而提出了HGT。
(4)HGT和現有方法的主要不同
-
與單獨處理節點類型和邊類型不同,作者使用元關係來分解交互矩陣和轉換矩陣,使得HGT在使用等量的參數甚至更少的參數的情況下,捕獲不同關係中普通的和特定的信息。
-
不需要預先定義好元路徑,使用神經網絡框架聚合高階的異質鄰居的信息,自動地學習到元路徑的重要性程度。
-
大多數以往的方法沒有考慮到動態圖,HGT使用相對時間編碼技術考慮到了時序信息。
-
現有的異質GNN方法都不能應用在Web-scale的圖上,本文提出的HGSampling採樣方法可以用於Web-scale圖(十億級別)的訓練。
4 HGT
使用異質圖中的元關係參數化權重矩陣,以用於異質的互注意力、消息傳遞。
4.1 HGT整體框架
圖2展示了HGT的整體框架。給定採樣的異質子圖,HGT抽取出了所有有連邊的點對,和通過相連。
HGT的目的是從源節點聚合信息,獲得目標節點的上下文表示。這一過程可被分解成3個部分:(1)異質互注意力(Heterogeneous Mutual Attention);(2)異質消息傳遞(Heterogeneous Message Passing );(3)針對特定任務的聚合(Target-Specific Aggregation)。
堆疊層,得到整個圖的節點表示,然後用於端到端的訓練或者輸入給下游任務。
4.2 Heterogeneous Mutual Attention
第一步是計算源節點和目標節點的注意力係數。基於注意力的GNNs可以看成如下的形式:
可以總結爲3個基本的操作:
(1)Attention:評估每個源節點的重要性
(2)Message:從源節點抽取出信息
(3)Aggregate:使用注意力係數作爲權重,聚合鄰居的信息
GAT只有一個權重矩陣,也就是假定和有相同的特徵分佈,這不適合於異質圖,異質圖中不同類的節點可能有它自己的特徵分佈。
因此設計了異質的互注意力機制(Heterogeneous Mutual Attention)。給定一個目標節點,其所有鄰居可能屬於不同的分佈,要根據它們的元關係計算它們的相互注意力。
受Transformer的啓發,作者將目標節點映射成Query向量,將源節點映射成Key向量,計算兩者的點積當做attention。
與Transformer的區別在於:Transformer爲所有的單詞使用一組映射;而本文的方法中,每個元關係都有一組不同的映射矩陣。
在保留不同關係的特性的基礎上,爲了最大程度地實現參數共享,作者提出將交互操作的權重矩陣參數化爲:源節點映射,邊映射,目標節點映射。爲每個邊計算的注意力,如圖2(1)所示。計算過程如下:
解釋如下:
(1)首先,對於第個attention head ,將類別爲的源節點使用線性映射 ,映射成第個Key向量。
其中是attention head的數量,是每個head的向量維度。
注意,$K-Linear^i_{\tau(s)} $以源節點的類型作爲索引,表示每種類型的節點都有一個線性映射,以實現最大程度建模不同類型節點的分佈差異性。
同樣的,對目標節點也使用線性映射,將其映射成第個Query向量。
(2)接着,計算間的相似度。由於異質圖中邊類型多樣(一對節點之間可能有不同類型的邊),所以不同於原始的Transformer直接對Query和Key向量進行內積操作,而是爲每種類型的邊維護不同的矩陣。這樣,就可以捕獲節點對之間不同的語義關聯。
然而,不同類型的邊對目標節點的貢獻度不同,所以添加一個先驗的張量表示對每個元關係三元組的一般化的重要性,作爲對attention的adaptive scaling。
(3)最後,將個attention heads拼接起來得到每個節點對的注意力向量。對於每個目標節點,聚合它所有鄰居的注意力向量,並通過一層softmax,使得每個head的注意力係數和爲1。
4.3 Heterogeneous Message Passing
從源節點向目標節點傳遞信息,這一步是和互注意力的計算並行的,如圖2(2)所示。
目標是將不同邊的元關係合併到消息傳遞過程中,來緩解不同類型的節點和邊分佈的差異性。
對於節點對,multi-head的Message可以計算爲:
爲了得到,首先使用線性映射 將類型爲的源節點映射成第個message向量。
然後再對特定類型的邊維護一個參數矩陣 。
最後將個message heads相拼接得到每個節點對的。
4.4 Target-Specific Aggregation
如圖2(3)所示,聚合上兩步得到的信息。
使用attention向量作爲權重,對來自源節點的相應信息進行平均,得到更新後的向量:
最後一步是以目標節點的類別爲索引,將目標節點的向量映射回到對應類別的分佈。具體來說,對更新後的向量 使用線性映射 ,然後還有前一層的的原始向量作爲殘差連接:
這樣,就得到了目標節點在第層HGT的輸出。
堆疊層(是一個很小的值)就可以爲每個節點得到有豐富信息的上下文表示。可作爲下游任務的輸入,例如圖節點分類和鏈接預測任務。
整個框架中,高度依賴於元關係——來參數化權重矩陣。和現有的維每個元路徑維護一個矩陣的方法相比,HGT的三元組參數可以更好地利用異質圖的schema來實現參數共享。
一方面,這樣的參數共享有助於利用出現頻次較少的類型的邊,從而實現快速的自適應和泛化。
另一方面,使用較少的參數,仍然實現了保留不同類型邊的特徵。
4.5 Relative Temporal Encoding
提出相對時間編碼(RTE)技術處理動態圖。
傳統的方法是爲每個小時間片(time slot)構建圖,但這種方法會丟失大量的不同時間片間的結構依賴信息。
因此,受Transformer的位置編碼(position embedding)啓發,作者提出RTE機制,建模異質圖上的動態依賴關係。
給定源節點和目標節點,以及它們對應的時間戳。定義相對時間間隔爲 ,作爲得到相對時間編碼的索引。
注意訓練集不會覆蓋到所有可能的時間間隔,因此RTE要具有泛化到不可見的時間和時間間隔的能力。作者採取了一組固定的正弦函數作爲偏置,並使用了可微調的線性映射 ,構成RTE:
最後,將相對於目標節點的時間編碼加入到源節點的表示中:
時間增廣的表示就可以捕獲到源節點和目標節點的相對時間信息。RTE的流程如圖3所示。
5 Web-scale的HGT訓練
5.1 HGSamling
full-batch的GNN訓練需要在每層計算所有節點的表示,不能擴展到Web-scale的圖上。
本文提出HGSampling方法,可以實現:
(1)對於每種類型的節點和邊,採樣的數量大致相似;
(2)保持採樣的子圖的稠密性,以最小化採樣方差帶來的信息損失。
上圖中的算法1展示了HGSampling算法。基本思想是對每個節點類型維護一個node budget ,並使用重要性採樣策略,爲每個類型採樣相等數量的節點,以減小方差。
給定已被採樣的節點,使用算法2將它的一階鄰居加入到對應的budget中,並將的歸一化的度與這些鄰居相加(如 算法2的line 8所示),之後將被用於計算採樣概率。
這樣的歸一化等價於累計每個被採樣的節點到其鄰居的random walk概率,從而避免了採樣過多的度數高的節點。
直觀來看,這個值越大,和當前被採樣節點相關聯的節點就越有可能是候選節點,應該被賦予更大的採樣概率。
在budget更新後,計算採樣概率(如 算法1的line 9所示),使用這種採樣概率可以減小採樣的方差[1]。
然後使用上面計算得到的概率,採樣個類型爲的節點。將它們加入到輸出的節點集合$OS中,將它們的鄰居更新到budget中,並將它們自己從budget中移除。(如 算法1的line12-15所示)
將這個過程重複次,採樣得到深度爲的子圖。
最後,利用採樣到的節點重構鄰接矩陣。
通過使用上述算法,採樣到的子圖中每個類別都有相似數量的節點(基於各自的node budget),就可以在Web-scale的異質圖上訓練GNN了。
5.2 Inductive Timestamp Assignment
目前爲止,作者假定每個節點都被分配了一個時間戳。然而,在現實世界中許多節點不止和一個時間戳有關,所以需要爲及誒單分配不同的時間戳。
例如,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()的預測,Paper-Field()的預測,Paper-Venue的預測,作者消歧的預測
前三個節點分類任務是預測每個paper屬於的正確的領域,或者是該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)爲了建模異質性,使用了元關係分解交互和轉換矩陣,使得在資源很少的情況下模型也能有可接受的建模能力。
(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.