知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer
 題目: Heterogeneous Graph Transformer
 論文鏈接: https://arxiv.org/abs/2003.01332
 代碼鏈接:https://github.com/acbull/pyHGT
論文
-  異構(gòu)圖研究之一: 使用元路徑來建模異構(gòu)結(jié)構(gòu) 
 heterogeneous graphs 《Mining Heterogeneous Information Networks:
 Principles and Methodologies》 2012 Morgan & Claypool Publishers.
 PathSim 《Meta path-based top-k similarity search in heterogeneous information networks.》 VLDB ’11.
 metapath2vec 《Stochastic Training of Graph Convolutional Networks with Variance Reduction. 》2018 ICML
-  異構(gòu)圖研究之二: 使用GCN 
 《Heterogeneous Graph Attention Network》 WWW 2019 400次引用
 《Modeling Relational Data with Graph Convolutional Networks》 1400次引用 ESWC’2018.
 《Heterogeneous Graph Neural Network》19
 《Graph Transformer Networks》19
-  取樣方法(基于GNN的) 
 GraphSage [7], FastGCN [1], and LADIES [29];以及本文的HGSampling
-  異構(gòu)圖的研究(節(jié)點分類、聚類、排序和表示) 
 《metapath2vec:Scalable Representation Learning for Heterogeneous Networks》2017
 《Mining Heterogeneous Information Networks: Principles and Methodologies.》2012
 《Pathsim:Meta path-based top-k similarity search in heterogeneous information networks.》VLDB 11
 《Integrating meta-path selection with user-guided object clustering in heterogeneous information networks》KDD 12
想法
- 什么是動態(tài)依賴關(guān)系?
- ATT是指的multi-head! 同一個頭節(jié)點的多個頭!
- MSG是傳遞消息的縮寫
- softmax是在計算multi-head的權(quán)重時候的softmax
創(chuàng)新
第一,我們不設(shè)置元路徑; 第二,用邊和點相關(guān)的參數(shù)來計算權(quán)重從而維護點和邊的表示(每個關(guān)系獨立的特征和共享的平衡); 第三,考慮動態(tài)特征; 第四,可以擴展到web規(guī)模;
摘要
難點
 GNN對結(jié)構(gòu)化數(shù)據(jù)的表示是很有效的,但是是在同構(gòu)圖上的
 我們:
- 模型方面: 異構(gòu)圖上,節(jié)點和邊的類型都是不一樣的! 為了這種異構(gòu)性建模,首先,我們設(shè)計了與節(jié)點和邊類型相關(guān)的參數(shù)來描述每條邊上的異質(zhì)注意力,使HGT能夠?qū)Σ煌愋偷墓?jié)點和邊保持專門的表示。其次,考慮到動態(tài)異構(gòu)圖,我們在HGT中添加了相對時間編碼,它能夠捕獲任意持續(xù)時間的動態(tài)結(jié)構(gòu)依賴關(guān)系。
- 取樣方式:為了處理web-scale graph,我們設(shè)計了異構(gòu)mini-batch 圖采樣算法–HGSampling
Introduction
圖1中的Open Academic Graph (OAG)[28]包含五種類型的節(jié)點:論文、作者、機構(gòu)、場所(期刊、會議或預印本)和字段,以及它們之間不同類型的關(guān)系。 而且這種關(guān)系就是meta-path。
難點—詳解:
經(jīng)典范例之一是定義和使用元路徑來建模異構(gòu)結(jié)構(gòu),如PathSim,metapath2vec; 范例二是GNNs的火爆,利用GNNs和異構(gòu)網(wǎng)絡(luò)進行學習。如R-GCNs、HetG、GTNs、 HAN
但是以前的網(wǎng)絡(luò)有些存在著下面的問題:
第一,構(gòu)建這種異構(gòu)圖中的meta-path常常需要專業(yè)領(lǐng)域的知識,比如上面的OAG圖,如果你不是學術(shù)圈的,恐怕不知道作者、機構(gòu)、paper等的關(guān)系!
第二,它們要么簡單地假設(shè)不同類型的節(jié)點/邊共享相同的特征和表示空間(使用相同的映射函數(shù)),要么單獨對節(jié)點類型或邊類型保持不同的非共享權(quán)值,使得它們不足以捕獲異構(gòu)圖的性質(zhì);
第三,它們大多忽略了每個(異構(gòu))圖的動態(tài)特征;
最后,它們的內(nèi)在設(shè)計和實現(xiàn)使得它們無法對web規(guī)模的異構(gòu)圖進行建模。
我們以O(shè)AG為例,講解一下為什么異構(gòu)圖難以學習。 如OAG的節(jié)點和邊緣可能有不同的特征分布,比如論文是文本特征,機構(gòu)是附屬學者特征等。 而且OAG有時效性,比如出版物的數(shù)量會變化,而且每年的論文關(guān)注點也不同,趨勢不同。 使得現(xiàn)有的異構(gòu)gnn無法進行可伸縮處理。
我們方法—詳解:
 上面的缺點就是我們的優(yōu)點: 第一,我們不設(shè)置元路徑; 第二,用邊和點相關(guān)的參數(shù)來計算權(quán)重從而維護點和邊的表示; 第三,考慮動態(tài)特征; 第四,可以擴展到web規(guī)模;
HGT中并不是將每條邊參數(shù)化,也就是向量化,而是將三元組分解成單獨的個體(e、h、t),然后利用這些meta-relation來計算注意力參數(shù)化權(quán)重矩陣。 這樣,不同類型的nodes和edges都保存了自己的表示空間,也能表示之間的關(guān)系。
 其次,不同類型的的nodes可以interact、pass和aggregate 信息。
這樣的好處就是HGT提取節(jié)點和邊中包含了高階信息,同時僅僅只需要一個items的one-hop edges作為輸入,而不是手動設(shè)計,注意力機制會幫我們考慮哪條邊重要或者不重要。
為了提取圖的動態(tài)特征,我們提出相對時間編碼(RTE)策略來增強HGT。與將輸入圖分割成不同的時間戳不同,我們建議將發(fā)生在不同時間的所有邊作為一個整體進行維護。任何持續(xù)長度的結(jié)構(gòu)性時間依賴性,甚至是不可見的和未來的時間戳。
 通過端到端訓練,RTE使HGT能夠自動學習異構(gòu)圖的時間依賴性和演化。
為了處理web-scale graph,我們設(shè)計了HGSampling —為了mini-batch的GNN訓練。 該取樣方法就是構(gòu)建一個不同節(jié)點類型都均衡的子圖,因為現(xiàn)有的基于GNN的方法, GraphSage [7], FastGCN [1], and LADIES [29], 都會造成節(jié)點和邊的類型高度不均衡。 同時在取樣的時候,也要保持信息的不丟失。 該方法可以用在所有的GNN模型,這樣就可以訓練和推斷任意大小的異構(gòu)圖。
數(shù)據(jù)集: Web-scale Open Academic Graph(這是迄今為止在異構(gòu)圖上進行的規(guī)模最大、跨度最長的表示學習); 還有計算機、醫(yī)學學術(shù)圖上都表明了HGT的有效性。
 我們進一步進行了案例研究,表明該方法確實能夠自動捕獲隱式元路徑對不同任務(wù)的重要性。
2 PRELIMINARIES AND RELATED WORK
介紹heterogeneous graphs with network dynamics,并回顧圖神經(jīng)網(wǎng)絡(luò)及其異構(gòu)變體,同時我們也強調(diào)了HGT和異構(gòu)圖神經(jīng)網(wǎng)絡(luò)的不同點。
2.1 Heterogeneous Graph Mining
異構(gòu)圖是許多現(xiàn)實世界復雜系統(tǒng)的關(guān)系數(shù)據(jù)建模的重要抽象。正式定義為:
 Definition 1.Heterogeneous Graph: 與普通的同構(gòu)的多了兩個函數(shù),用來映射nodes和edges的類型。 G=(V,E,A,R)G=(\mathcal{V}, \mathcal{E}, \mathcal{A}, \mathcal{R})G=(V,E,A,R),其中前兩項不用,后兩項是類型集合。 映射函數(shù)是:
Meta Relation
 對于邊e=(s,t)e=(s,t)e=(s,t),, 它的meta relation被表示為?τ(s),?(e),τ(t)?\langle\tau(s), \phi(e), \tau(t)\rangle?τ(s),?(e),τ(t)?,?(e)?1\phi(e)^{-1}?(e)?1表明是?(e)\phi(e)?(e)的逆,經(jīng)典的元路徑范式[17-19]被定義為這種元關(guān)系的序列。
這里需要注意,為什么需要τ和?\tau和\phiτ和?函數(shù),這是不同類型的nodes之間可能有不同的relations。比如Author和Paper之間可以是第一作者也可以是第二或者是第三作者。
Dynamic Heterogeneous Graph
 對真實世界(異構(gòu))圖的動態(tài)特性進行建模,當node s在TTT上聯(lián)系node t時,我們?yōu)橐粭l邊e=(s,t)e=(s,t)e=(s,t)分配一個時間戳TTT,如果sss第一次出現(xiàn),TTT也會被分配給sss。 如果它隨時間建立連接,則sss可以與多個時間戳關(guān)聯(lián)。
假定邊的時間戳是不變的,表示該邊創(chuàng)建的時間。但是可以給節(jié)點分配不同的時間戳。
 比如: 一篇paper在發(fā)表時,是有時間的,而是是不變的; 但是WWW會議則是由不同的時間戳的,每年都會舉辦。
2.2 Graph Neural Networks
現(xiàn)在的GNN可以將輸入圖結(jié)構(gòu)作為計算圖來進行信息的傳遞、聚合本地鄰居信息以獲得更上下文相關(guān)的表示。形式上,它有以下形式:
Definition 2.General GNN Framework:
 我們假定Hl[t]H^l[t]Hl[t]是節(jié)點t再(l)(l)(l)-th GNN層的結(jié)點表示,從(l?1)(l-1)(l?1)-th到(l)(l)(l)-th更新步驟如下:
 
其中N(t)N(t)N(t)表明了node ttt的sources nodes和E(s,t)E(s,t)E(s,t)表明從節(jié)點sss到ttt的邊。
 其中最重要的操作是Extract(·)和Aggregate(·),前者代表鄰居信息提取器,它從上一層的源節(jié)點、目標節(jié)點分別提取信息,以及兩個nodes作為查詢的邊eee。 Aggregate操作則是聚集了源節(jié)點的鄰居信息, 同時也可以設(shè)計更復雜的池化和規(guī)范化函數(shù)。
GCN、GraphSAGE、GAT(添加了注意力機制)
2.3 Heterogeneous GNNs
原來的方法只是單獨的使用node或者是edge來決定GNN的權(quán)重矩陣,然而,不同類型的節(jié)點或邊緣計數(shù)可能有很大差異。對于沒有足夠頻繁出現(xiàn)的關(guān)系,很難學習精確的特定關(guān)系權(quán)重。
為了解決這個問題,我們考慮參數(shù)共享以更好地泛化。對于邊e=(s,t)e=(s,t)e=(s,t),, 它的meta relation被表示為?τ(s),?(e),τ(t)?\langle\tau(s), \phi(e), \tau(t)\rangle?τ(s),?(e),τ(t)?,如果我們在元關(guān)系中建立相應(yīng)的元素τ(s)\tau(s)τ(s), ?(e)\phi(e)?(e), τ(t)\tau(t)τ(t), 那么大部分權(quán)重可以共享。
比如: 第一作者和第二作者的關(guān)系,他們的源節(jié)點和目標節(jié)點都是author到paper,也就是說從一個關(guān)系學習到的關(guān)于author到paper的知識在用到另一個關(guān)系(同一個源和目標節(jié)點)上時,會很快的適應(yīng)。 我們和強大的Transformer-like注意力機制聚合,提出了Heterogeneous Graph Transformer.
我們的創(chuàng)新點在于:
 (1)根據(jù)上面的描述,我們會根據(jù)meta-relation來分解交互和變換矩陣,使得HGT能夠捕獲不同關(guān)系的common和specific關(guān)系。(相同關(guān)系的nodes會共享權(quán)重)
 (2)自動學習隱式元路徑的重要性
 (3)動態(tài)性
3 HETEROGENEOUS GRAPH TRANSFORMER
利用meta-relation來求得可以共享的參數(shù),消息傳遞和傳播。 同時添加了相對時間編碼機制。
 如果不懂自注意力的,請看這篇博客
3.1 Overall HGT Architecture
HGT的目標是聚合來自源節(jié)點的信息,以獲得目標節(jié)點的上下文化表示。
3.2 Heterogeneous Mutual Attention(通過Q·K計算attention,同時變化矩陣添加了類型!同時根據(jù)關(guān)系計算multi-head的softmax)
這里用的是Transformer的方法,不懂可以去補補, 這里計算的是一個GCN層的,所以可以把(l-1)層和接下來的第i個head也去掉,這樣看起來方便一點
3.2.1 普通的GNNs
第一個步驟就是計算source s和target節(jié)點t的相互注意力,我們給出了一個簡單的介紹attention-based GNNs的大概:
 Attention: 使用target node的Q和source的K來獲得注意力; Message:也就是source node s的V,存儲的是原有信息; Aggregate:通過注意力權(quán)重來聚合。 當然聚合之前最好有個softmax來使得權(quán)重均衡。
比如GAT就是使用了注意力機制,使用了相同的權(quán)重來計算Message,并利用簡單平均值,然后對aggregate步驟進行非線性激活。
 雖然GAT獲取重要nodes的注意力值是很有效的,但是它認為s和t通過使用權(quán)重矩陣W是相同的特征分布,這是不好的。
而我們是會根據(jù)meta-relation的不同而計算node相互的attention。
3.2.2 補充:Transformer
單head:
 
這里需要注意的是第一步算出來的權(quán)重需要經(jīng)過softmax歸一化一下! α1,i\alpha_{1,i}α1,i?是節(jié)點i對節(jié)點1的注意力權(quán)重。
multi-head的意思是多個特征:
 
上面的描述都是普通Transformer中的自注意力機制,也就是將targe t節(jié)點t映射為Query vector、source s都映射到成Key vector,然后計算他們的dot product來作為attention!
3.2.3 我們的multi-head Transformer+GNNs
普通的Transformer和我們的設(shè)計的模型不同之處就是Transformer中對所有單詞使用一組投影(也就是在計算Q、K、V時使用的W矩陣), 每個元關(guān)系(也就是t、s1、s2等等和e)應(yīng)該有一組(注意是一組,每個元關(guān)系是一組)不同的投影權(quán)重,而且這里的是類型權(quán)重。
1. 首先將普通的權(quán)重改為類型參數(shù)權(quán)重:
 但是不同的投影權(quán)重也不是不好的,占有內(nèi)存大,泛化能力不好! 為了達到既能保證不同關(guān)系的獨特特征,又能最大化共享參數(shù)的效果,我們提出將權(quán)重矩陣參數(shù)化為源節(jié)點投影、邊投影和目標節(jié)點投影(也就是前面說的一組權(quán)重),而且我們根據(jù)節(jié)點和邊的類型來計算權(quán)重。
2. 再次是multi-head:
具體而言我們?yōu)槊總€邊e=(s,t)e=(s,t)e=(s,t)計算hhh-head注意力,而且是mult-head的softmax:
 
我們根據(jù)圖來,解釋上面的式子:
輸出: attention
首先, 對于iii-th的注意力頭ATT?headi(s,e,t)ATT-head^i(s, e, t)ATT?headi(s,e,t),我們使用一個線性折射KKK-Linear,這意味著每種類型的節(jié)點都有一個唯一的線性投影,以最大限度地模擬分布差異; 同樣的,我們可以得到Query Vector;
其次,計算每個頭的注意力(每組元關(guān)系),在Transformer中是Att-head = K· Q ,然鵝這里我們先用線性映射Q?Linearτ(t)i\mathrm {Q-Linear}_{\tau(t)}^iQ?Linearτ(t)i?來映射目標節(jié)點ttt類型作為iii-th的Query向量, 同時使用線性映射K?Linearτ(s1)i\mathrm {K-Linear}_{\tau(s_1)}^iK?Linearτ(s1?)i?和K?Linearτ(s2)i\mathrm {K-Linear}_{\tau(s_2)}^iK?Linearτ(s2?)i?得到尾結(jié)點的第iii-th頭的Key向量。 之后使用meta-relation的權(quán)重映射W?e1ATTW_{\phi_{e_1}}^{ATT}W?e1??ATT?,來聚合K和Q。 也就是:
 
其中W?e1ATTW_{\phi_{e_1}}^{ATT}W?e1??ATT?可以捕獲相同節(jié)點類型對的語義關(guān)系! 異構(gòu)圖的一個獨特特征是,在一個節(jié)點類型對之間可能存在不同的邊類型(關(guān)系)也就是,τ(s)和τ(t)\tau(s)和\tau(t)τ(s)和τ(t),因此,與直接計算Query和Key向量之間的點積的普通Transformer不同,我們?yōu)槊總€邊類型?(e)\phi(e)?(e)保留了一個不同的基于邊的矩陣W?(e)ATT∈Rdh×dhW_{\phi(e)}^{A T T} \in \mathbb{R}^{\fracze8trgl8bvbq{h} \times \fracze8trgl8bvbq{h}}W?(e)ATT?∈Rhd?×hd?。在這樣做的過程中,模型可以捕獲相同節(jié)點類型對的語義關(guān)系。
此外,由于不是所有的關(guān)系對目標節(jié)點的貢獻都是相等的,我們添加了一個先驗張量μ∈R∣A∣×∣R∣×∣A∣\mu \in \mathbb{R}^{|\mathcal{A}| \times|\mathcal{R}| \times|\mathcal{A}|}μ∈R∣A∣×∣R∣×∣A∣表示每個元關(guān)系三元組的一般意義,作為注意力的自適應(yīng)縮放。
最后,我們將hhh個注意頭concat連接在一起,得到每個節(jié)點對的注意向量。然后,對于每個目標節(jié)點ttt,我們從它的鄰居N(t)N(t)N(t)聚集所有的注意力向量,然后進行softmax,使得它滿足∑?s∈N(t)Attention?HGT(s,e,t)=1h×1\sum_{\forall s \in N(t)} \text { Attention }_{H G T}(s, e, t)=\mathbf{1}_{h \times 1}∑?s∈N(t)??Attention?HGT?(s,e,t)=1h×1?
3.3 Heterogeneous Message Passing(也就是V的計算,但是會考慮類型的計算,同時根據(jù)關(guān)系計算multi-head)
我們看圖,得到看到:
 輸出: Message!
計算注意力之外,我們也會將信息從源節(jié)點傳遞到目標節(jié)點(見圖2(2))。與注意過程類似,我們希望將邊的元關(guān)系融入到消息傳遞過程中,以緩解不同類型節(jié)點和邊的分布差異。對于一對節(jié)點e=(s,t)e=(s,t)e=(s,t),我們計算它的multi-head Message 通過:
 
經(jīng)過矩陣! 為了得到 iii -th信息頭 MSG?headi(s,e,t)MSG-head ^{i}(s, e, t)MSG?headi(s,e,t) , 我們首先映射τ(s)\tau(s)τ(s)-type的源node s為iii-th信息向量用一個線性映射M?Linearτ(s)i:Rd→RdhM-Linear _{\tau(s)}^{i}: \mathbb{R}^ze8trgl8bvbq \rightarrow \mathbb{R} \fracze8trgl8bvbq{h}M?Linearτ(s)i?:Rd→Rhd?。
它后面跟著一個矩陣W?(e)MSG∈Rdh×dhW_{\phi(e)}^{M S G} \in \mathbb{R}^{\fracze8trgl8bvbq{h} \times \fracze8trgl8bvbq{h}}W?(e)MSG?∈Rhd?×hd?來包含邊的依賴。
最后一步是concat所有的hhh信息頭來為每個節(jié)點對得到MessageHGT(s,e,t)Message _{H G T}(s, e, t)MessageHGT?(s,e,t)
3.4 Target-Specific Aggregation
計算出異構(gòu) multi-head attention 和 message calculated,后,我們需要將它們從源節(jié)點聚合到目標節(jié)點(見圖2(3))。同時我們可以將attention經(jīng)過softmax歸一化,因此,我們可以簡單地使用注意向量作為權(quán)重,對來自源節(jié)點的相應(yīng)消息進行平均,得到更新后的向量H~(l)[t]\tilde{H}^{(l)}[t]H~(l)[t]為:
 
 它將來自不同特征分布的所有鄰居(源節(jié)點)的信息聚合到目標節(jié)點ttt。
最后的目標就是將目標節(jié)點t′t't′的向量映射為 type-specific的分布,按節(jié)點類型索引τ(t)\tau{(t)}τ(t),為此我們應(yīng)用線性投影A-Linearτ(t)_{\tau(t)}τ(t)?來更新向量H~(l)[t]\tilde{H}^{(l)}[t]H~(l)[t]在殘差連接后作為(看上面的圖):
 
這樣我們就得到了對于目標節(jié)點ttt的(l?1)?th(l-1)-th(l?1)?th的HGT層的輸出H(l)[t]H^{(l)}[t]H(l)[t]
這樣的操作進行L次(L層),那么我們就能夠得到每個節(jié)點的包含了高度上下文的H(L)H^{(L)}H(L)。可輸入任意模型進行下游異構(gòu)網(wǎng)絡(luò)任務(wù),如節(jié)點分類、鏈路預測等。
通過整個結(jié)構(gòu),我們高度依賴于 meta-relation-?τ(s),?(e),τ(t)?\left \langle \tau( s ),\phi (e), \tau (t) \right \rangle?τ(s),?(e),τ(t)?,將權(quán)重矩陣單獨參數(shù)化。 與普通的Transformer相比,這樣的參數(shù)共享有利于快速的自適應(yīng)和泛化。另一方面,通過使用更小的參數(shù)集,不同關(guān)系的運算符仍然可以保持其特定的特征。
3.5 Relative Temporal Encoding
我們提出了HGT結(jié)構(gòu),接下來,我們介紹了相對時間編碼(RTE)技術(shù)的HGT處理圖的動態(tài)。
整合時間信息的傳統(tǒng)的方式是為每個time slot創(chuàng)建一個單獨的圖。然鵝time slots之間是有關(guān)系的。因此,建模動態(tài)圖的正確方法是維護所有發(fā)生在不同時間的邊,并允許具有不同時間戳的節(jié)點和邊相互交互。
RTE的靈感來自Transformer的位置編碼方法[15,21],該方法已經(jīng)成功地捕捉了長文本中單詞的順序依賴關(guān)系。
具體而言,給定一個source node s和 target node t,以及它們相應(yīng)的timestamps T(s)T(s)T(s)和T(t)T(t)T(t),我們表明了相對時間gap△T(t,s)=T(t)?T(s)\bigtriangleup T(t,s)=T(t)-T(s)△T(t,s)=T(t)?T(s)。注意訓練數(shù)據(jù)集將不能彌補所有可能的時間差距,因此RET應(yīng)該具有能夠歸納出看不見的時間和時間間隔。因此,我們采用固定的正弦函數(shù)集作為基,具有可調(diào)諧的線性投影T-Linear?^*?為RTE:
 最后,將相對于目標節(jié)點ttt的時間編碼添加到源節(jié)點s′s's′的表示中,如下所示:
 這樣,時間增廣表示H^(l?1)\hat{H}^{(l-1)}H^(l?1)將捕獲源節(jié)點s和目標節(jié)點t的相對時間信息。RTE過程如圖3所示。
4 WEB-SCALE HGT TRAINING
在本節(jié)中,我們提出了HGT的策略來訓練Webscale具有動態(tài)信息的異構(gòu)圖,包括一種高效的異構(gòu)迷你批圖采樣算法——HGSampling——和一種歸納時間戳分配方法。
4.1 HGSampling
full-batch的GNN訓練需要每個層的全部節(jié)點表示,這是不適合Web-scale圖。 為了解決這個問題,對于異構(gòu)圖直接使用它們,由于每種類型的度分布和節(jié)點總數(shù)可能發(fā)生巨大變化,容易得到關(guān)于不同節(jié)點類型的極不平衡的子圖。
為了解決這一問題,我們提出了一種高效的異構(gòu)小批圖采樣算法——HGSampling,使HGT和傳統(tǒng)gnn都能處理web規(guī)模的異構(gòu)圖。HGSampling能夠
 1)保持每種類型節(jié)點和邊的數(shù)量相似
 2)保持采樣子圖的稠密,以最小化信息損失,降低樣本方差。
算法1概述了HGSampling算法。其基本思想是對每個節(jié)點類型τ\tauτ保持一個獨立的節(jié)點budget B[τ]B[\tau]B[τ],并使用重要抽樣策略對每個類型采樣相同數(shù)量的節(jié)點以減少方差。給定已經(jīng)抽樣的結(jié)點ttt,我們使用算法2將其所有的直接鄰居加入到相應(yīng)的預算中,并在第8行中將t′t't′的歸一化程度加到這些鄰居中,然后用這個來計算抽樣概率。這種歸一化相當于將每個采樣節(jié)點的隨機漫步概率累積到其鄰域,避免了采樣被高度節(jié)點主導。從直觀上看,該值越大,候選節(jié)點與當前采樣節(jié)點的關(guān)聯(lián)程度越高,因此被采樣的概率也就越大。
在預算更新后,我們在算法1第9行中計算抽樣概率,其中我們計算每個預算中每個節(jié)點sss的累計歸一化程度的平方。
如[29]所證明的,使用這樣的抽樣概率可以減小抽樣方差。然后,在type τ\tauτ中利用計算概率采樣nnn個節(jié)點,將其加入輸出節(jié)點集,將其鄰域更新到預算中,并在第12-15行中將其從預算中刪除。對LLL times重復這樣的過程,我們從初始節(jié)點得到一個具有LLL depth的抽樣子圖。
最后,重構(gòu)采樣節(jié)點之間的鄰接矩陣。通過上述算法,采樣后的子圖每類型包含相似數(shù)量的節(jié)點(基于獨立節(jié)點預算),且足夠密集以減小采樣方差(基于歸一化程度和重要性采樣),適合于在web尺度的異構(gòu)圖上訓練gnn。
4.2 Inductive Timestamp Assignment
到目前為止,我們假設(shè)每個節(jié)點ttt都有一個時間戳T(t)T(t)T(t)。然而,在真實的異構(gòu)圖中,許多節(jié)點并不與固定的時間相關(guān)聯(lián)。因此,我們需要給它分配不同的時間戳。我們將這些節(jié)點表示為普通節(jié)點。例如,1974年和2019年的WWW大會,這兩年的WWW節(jié)點的研究課題有很大的不同。因此,我們需要決定將哪個時間戳附加到WWW節(jié)點。
異構(gòu)圖中還存在事件節(jié)點,它們具有與之關(guān)聯(lián)的顯式時間戳。例如,論文節(jié)點應(yīng)該與其發(fā)布行為相關(guān)聯(lián),并因此附加到其發(fā)布日期。我們提出一種歸納時間戳分配算法,根據(jù)普通節(jié)點所鏈接的事件節(jié)點來分配時間戳。算法如算法2第6行所示。其思想是計劃節(jié)點從事件節(jié)點繼承時間戳。我們檢查候選源節(jié)點是否為事件節(jié)點。如果是,比如在特定年份發(fā)表的一篇論文,我們保留它的時間戳以獲取時間依賴性。如果不是,比如一個可以與任何時間戳關(guān)聯(lián)的會議,我們歸納地將關(guān)聯(lián)節(jié)點的時間戳(比如其論文發(fā)表的年份)分配給這個普通節(jié)點。通過這種方法,我們可以在子圖采樣過程中自適應(yīng)地分配時間戳。
5 EVALUATION
在本節(jié)中,我們評估提出的異構(gòu)圖轉(zhuǎn)換器在三個異構(gòu)學術(shù)圖數(shù)據(jù)集。我們進行了論文場預測、論文地點預測和作者消歧任務(wù)。我們還通過案例研究來演示HGT如何自動學習和提取對下游任務(wù)很重要的元路徑。
5.1 Web-Scale Datasets
OAG作為實驗基礎(chǔ)。
 
5.2 Experimental Setup
測試目的:
 L1: Paper-Field
 L2: Paper-Field
 Paper-Venue
 前三個節(jié)點分類的任務(wù)就是分別預測每個paper是否屬于正確的L1、L2和Paper-Venue;
 為了消除歧義,我們選擇使用所有同名的作者及其相關(guān)論文,任務(wù)是進行這些論文和候選作者之間的聯(lián)系預測。
實驗設(shè)置:
 對于所有任務(wù),我們使用2015年之前發(fā)表的論文作為訓練集,2015 - 2016年發(fā)表的論文作為驗證集,2016 - 2019年發(fā)表的論文作為測試集。我們選擇NDCG和MRR這兩個被廣泛采用的排名指標作為評價指標。對所有模型進行了5次訓練,并報告了測試性能的平均值和標準方差。
第一類GNNbaselines是為同構(gòu)圖設(shè)計的:
 GCN和GAT;
第二類是幾個專用的異構(gòu)GNN為基線,包括:
 RGCN、HetGNN、HAN
消融實驗:異質(zhì)性權(quán)重參數(shù)化(Heter)和相對時間編碼(RTE)
我們對所有基線gnn使用第4節(jié)中提出的HGSampling算法來處理大規(guī)模的OAG圖。為了避免數(shù)據(jù)泄漏,我們從子圖中刪除了我們打算預測的鏈接(例如,作為標簽的Paper-Field鏈接)。
Input Features:
 我們沒有假設(shè)每個節(jié)點類型屬于相同的分布,所以我們可以自由地使用最合適的特征來表示每個節(jié)點類型。
對于每篇論文,我們使用預先訓練的XLNet來獲得標題中國的每個單詞的表示,然后h用每個詞的注意力加權(quán)平均它們,得到每篇論文的標題表示,每個作者最初的特征只是他/她發(fā)表的論文陳述的平均值。
對于場地、場地和研究所的節(jié)點,我們使用metapath2vec模型[3],通過反映異構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)來訓練它們的節(jié)點嵌入。
同質(zhì)GNN基線假設(shè)節(jié)點特征屬于同一分布,而我們的特征提取不滿足這一假設(shè)。為了進行公平的比較,我們在輸入特征和所有使用的GNN之間添加了一個自適應(yīng)層,該自適應(yīng)層只是對不同類型的節(jié)點進行不同的線性投影。這種方法可以看作是將異構(gòu)數(shù)據(jù)映射到同一分布。
Implementation Details:
 hidden dimension: 256
 multi-head: 8
 GNNs: 3 layers 每個網(wǎng)絡(luò)的感受野相同
 optimizer: AdamW with Cosine Annealing Learning Rate Scheduler
 200 epochs,并選擇最低的驗證loss作為要報道的模型;
 我們使用GNN文獻中使用的默認參數(shù),不調(diào)優(yōu)超參數(shù)。
5.3 Experimental Results
 HGT具有更少的參數(shù)和可比的批處理時間。這表明,通過根據(jù)異構(gòu)邊緣的元關(guān)系模式建模,我們能夠以更少的資源消耗獲得更好的泛化。
Ablation Study. HGT的核心部分是異質(zhì)性權(quán)重參數(shù)化(Heter)和相對時間編碼(RTE)。為了進一步分析它們的影響,我們進行了消融研究,將它們從HGT中移除
5.4 Case Study
為了進一步評估相對時間編碼(RTE)如何幫助HGT捕捉圖的動態(tài),我們進行了一個展示會議主題演變的案例研究。
我們選擇100個被引用次數(shù)最高的計算機科學會議,將其劃分為2000年、2010年和2020年三個不同的時間戳,并構(gòu)建由它們初始化的子圖。利用訓練過的HGT,我們可以得到這些會議的表示,并據(jù)此計算它們之間的歐氏距離。
對于每一個會議,我們挑選出最相似的5個會議(即歐幾里得距離最小的會議),以顯示會議的主題是如何隨著時間的推移而演變的
5.5 Visualize Meta Relation Attention
 為了說明合并后的元關(guān)系模式如何使異構(gòu)消息傳遞過程受益,我們選擇了在前兩個HGT層中具有最大關(guān)注值的模式,并在圖5中繪制了元關(guān)系關(guān)注層次樹。例如,要計算一篇論文的表現(xiàn)形式,
 是三個最重要的元關(guān)系序列,這些可以分別歸為meta paths PVP、PFP和IAP。這些元路徑及其重要性無需手動設(shè)計就可以從數(shù)據(jù)中自動學習。右邊顯示了另一個計算作者節(jié)點表示的例子。這樣的可視化顯示,異構(gòu)圖轉(zhuǎn)換器能夠隱式學習為特定的下游任務(wù)構(gòu)建重要的元路徑,而無需手動定制。
總結(jié)
以上是生活随笔為你收集整理的知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 修改mysql文件的存储路径
- 下一篇: c语言函数能改变指针吗,如何修改传递给C
