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