【论文翻译 arXiv 2020】异质网表示学习综述-韩家炜组
論文題目:Heterogeneous Network Representation Learning: Survey, Benchmark, Evaluation, and Beyond
論文來源:arXiv 2020.04.01
論文鏈接:https://arxiv.org/abs/2004.00216
代碼鏈接:https://github.com/yangji9181/HNE
關(guān)鍵詞:異質(zhì)網(wǎng)嵌入,綜述,benchmark
異質(zhì)網(wǎng)的嵌入學(xué)習(xí)方法(HNE)已經(jīng)被廣泛應(yīng)用,但還沒有一篇詳細(xì)的綜述。
本文的貢獻如下:
(1)本文提出了一個統(tǒng)一的范式,對各種現(xiàn)有的HNE算法的優(yōu)點進行系統(tǒng)的分類和分析。
(2)本文還從不同來源創(chuàng)建了4個具有不同屬性的基線數(shù)據(jù)集,包括規(guī)模、結(jié)構(gòu)、屬性/標(biāo)簽可用性等,以更全面地評估HNE算法。
(3)重構(gòu)并修正了10個HNE流行算法接口的實現(xiàn)。并在多個任務(wù)和不同的實驗設(shè)置下對其進行了全方位的比較。
文章目錄
- 1 Generic Paradigm
- 1.1 問題定義
- 1.2 提出的范式
- 2 算法分類
- 2.1 Proximity-Preserving 方法
- 2.1.1 基于隨機游走的方法
- 2.1.2 基于一階/二階相似度的方法
- 2.2 Message-Passing 方法
- 2.3 Relation-Learning 方法
- 3 Benchmark
- 3.1 數(shù)據(jù)集的準(zhǔn)備
- 3.2 結(jié)構(gòu)分析
- 3.3 設(shè)置,任務(wù)和度量
- 4 實驗評估
- 4.1 Algorithms and Modifications
- 4.2 Performance Benchmarks
- 5 Future
1 Generic Paradigm
1.1 問題定義
(1)網(wǎng)絡(luò)嵌入(Network embedding)
給定圖G={V,E}G={\{V, E}\}G={V,E},VVV是節(jié)點集合,EEE是邊集合。網(wǎng)絡(luò)嵌入就是一個將節(jié)點映射成低維向量表示的函數(shù):Φ:V→R∣V∣×d\Phi : V\rightarrow \mathbb{R}^{|V|\times d}Φ:V→R∣V∣×d,ddd遠小于∣V∣|V|∣V∣。映射函數(shù)Φ\PhiΦ定義了每個節(jié)點的隱層表示,表示中含有從邊集EEE中捕獲到的圖的結(jié)構(gòu)信息。
在多數(shù)情況下,網(wǎng)絡(luò)相似性(network proximity)是需要捕獲的主要拓?fù)湫畔?。例?#xff0c;DeepWalk就捕獲到了基于隨機游走的節(jié)點相似性。隨后有各種工作對DeepWalk進行了改進和擴展,這不屬于本文的范圍,DeepWalk是應(yīng)用于同質(zhì)圖的,本文關(guān)注的是異質(zhì)圖的表示學(xué)習(xí)。
(2)異質(zhì)網(wǎng)(Heterogeneous network)
異質(zhì)網(wǎng)H={V,E,?,ψ}H={\{V, E, \phi, \psi}\}H={V,E,?,ψ}有多種類型的節(jié)點和邊。HHH中,每個節(jié)點viv_ivi?都對應(yīng)一種節(jié)點類型?(vi)\phi(v_i)?(vi?),每個邊eije_{ij}eij?都對應(yīng)一種邊類型ψ(eij)\psi(e_{ij})ψ(eij?)。邊的類型自動定義了其兩端節(jié)點的類型。
(3)元路徑(Meta-path)
元路徑是定義在network schema上的由不同類型的節(jié)點和邊組成的序列。
每個元路徑都從特定的語義角度捕獲到了其兩端節(jié)點的相似性。使用不同的元路徑就可以使得模型計算到多模多類型的節(jié)點相似性和關(guān)系,有助于學(xué)習(xí)到更豐富的節(jié)點表示。
(4)異質(zhì)網(wǎng)嵌入(Heterogeneous network embedding)
給定一個異質(zhì)圖HHH,異質(zhì)網(wǎng)嵌入就是一組映射函數(shù):{Φk:Vk→R∣Vk∣×d}k=1K{\{\Phi_k: V_k\rightarrow \mathbb{R}^{|V_k|\times d}\}}^K_{k=1}{Φk?:Vk?→R∣Vk?∣×d}k=1K?。其中KKK是節(jié)點類型的數(shù)量,?vi∈Vk,?(vi)=k\forall v_i \in V_k, \phi(v_i)=k?vi?∈Vk?,?(vi?)=k。映射函數(shù)Φk\Phi_kΦk?定義了類型為kkk的所有節(jié)點的隱層表示,捕獲到了EEE中關(guān)于異質(zhì)邊的網(wǎng)絡(luò)拓?fù)湫畔ⅰ?/p>
1.2 提出的范式
HNE一個最重要的原則就是趨同性。在網(wǎng)絡(luò)嵌入中,趨同性可以解釋成“在網(wǎng)絡(luò)中相近的節(jié)點應(yīng)該有相似的嵌入表示”。
事實上,我們進一步發(fā)現(xiàn)了同質(zhì)性原理和在網(wǎng)絡(luò)上廣泛使用的平滑實施技術(shù)之間的內(nèi)在聯(lián)系,提出了一個通用的數(shù)學(xué)范式,涵蓋了大多數(shù)現(xiàn)有的和可能的許多未來的HNE算法。
作者引入如下的目標(biāo)函數(shù):
其中,eu=Φ(u),ev=Φ(v)e_u=\Phi(u), e_v=\Phi(v)eu?=Φ(u),ev?=Φ(v)是需要學(xué)習(xí)得到的節(jié)點嵌入向量。wuvw_{uv}wuv?是權(quán)重,d(?,?)d(\cdot, \cdot)d(?,?)是計算嵌入向量間距離的函數(shù),JR\mathcal{J}_RJR?是附加的目標(biāo)函數(shù)(例如正則化),在不同的HNE算法中,對這三項的定義不同。
2 算法分類
我們使用一個統(tǒng)一的分類方法,將現(xiàn)有的HNE算法基于它們的目標(biāo)分為3類,并且解釋它們都符合式(1)的范式。
2.1 Proximity-Preserving 方法
網(wǎng)絡(luò)嵌入的一個基本目標(biāo)就是捕獲到網(wǎng)絡(luò)的拓?fù)湫畔?/strong>,保留不同類型節(jié)點間的相似度可以實現(xiàn)這一目標(biāo)。HNE中相似度保留(proximity preserving)方法可分成兩類:(1)受DeepWalk啟發(fā)的基于隨機游走的方法;(2)受LINE啟發(fā)的基于一階/二階相似度的方法。
2.1.1 基于隨機游走的方法
(1)metapath2vec
metapath2vec使用了由元路徑指導(dǎo)的隨機游走得到的節(jié)點組成的路徑,考慮到異質(zhì)的語義信息,來建模節(jié)點的上下文。給定元路徑M\mathcal{M}M,在第iii步的轉(zhuǎn)移概率定義為:
其中,Nl(v)={u∣ψ(u,v)=l}\mathcal{N}_l(v)={\{u|\psi(u, v)=l}\}Nl?(v)={u∣ψ(u,v)=l}為通過類型為lll的邊和節(jié)點vvv相連接的鄰居節(jié)點。假定P={P1,...,PM}\mathcal{P}={\{\mathcal{P}_1,..., \mathcal{P}_M}\}P={P1?,...,PM?}是隨機游走生成的一組序列。則metapath2vec的目標(biāo)函數(shù)為:
其中,C(v)\mathcal{C}(v)C(v)是vvv在P\mathcal{P}P中的上下文。例如,若P1=v1v2v3v4v5...\mathcal{P}_1=v_1v_2v_3v_4v_5...P1?=v1?v2?v3?v4?v5?...,上下文窗口大小為2,則{v1,v2,v4,v5}?C(v3){\{v_1, v_2, v_4, v_5}\}\subseteq \mathcal{C}(v_3){v1?,v2?,v4?,v5?}?C(v3?)。令wuvw_{uv}wuv?記為在P\mathcal{P}P中u∈C(v)u\in \mathcal{C}(v)u∈C(v)出現(xiàn)的次數(shù),將式(3)重寫為如下的形式:
分母需要對所有節(jié)點進行計算求和,計算量很大。在實際的計算中,通常使用負(fù)采樣進行近似。
(2)HIN2Vec
HIN2Vec是考慮節(jié)點u,vu,vu,v間存在元路徑M\mathcal{M}M的可能性:
其中,1\mathbf{1}1是全1的向量,⊙\odot⊙是Hadamard乘積,f01f_{01}f01?是正則化函數(shù)。eu=WXTu,ev=WXTv,eM=f01(WRTm)e_u=W^T_Xu, e_v=W^T_Xv, e_{\mathcal{M}}=f_{01}(W^T_Rm)eu?=WXT?u,ev?=WXT?v,eM?=f01?(WRT?m)可視為u,v,Mu, v, \mathcal{M}u,v,M的嵌入表示。令AM=diag(eM1,...,eMd)\mathbf{A}_{\mathcal{M}}=diag(e_{\mathcal{M}1},..., e_{\mathcal{M}d})AM?=diag(eM1?,...,eMd?),有:
其中,σ\sigmaσ是sigmoid函數(shù),于是有:
HIN2Vec忽略節(jié)點/邊的類型,使用同質(zhì)的隨機游走生成了多個正的三元組樣本(u,v,M)(u, v, \mathcal{M})(u,v,M)。對于每個正樣本,將uuu隨機替換成u′u^{'}u′,生成多個負(fù)樣本。目標(biāo)函數(shù)為:
這其實就是對如下目標(biāo)函數(shù)的負(fù)采樣近似值:
其中wuvMw^{\mathcal{M}}_{uv}wuvM?是在元路徑為M\mathcal{M}M的前提下,節(jié)點u,vu, vu,v間的路徑實例數(shù)。
(3)SHINE
SHINE在metapath2vec的基礎(chǔ)上記性了改進,考慮到了附加的節(jié)點信息。一些類型的節(jié)點可能有附加的文本信息(定義為xvx_vxv?)。它提出了基于GRU的深層編碼函數(shù)fENCf_{ENC}fENC?。若vvv有文本信息,則ev=fENC(xv)e_v=f_{ENC}(x_v)ev?=fENC?(xv?);否則,eve_vev?就表示可訓(xùn)練的節(jié)點嵌入。
SHINE的目標(biāo)函數(shù)和metapath2vec一樣,它還可以通過利用特定領(lǐng)域的深層編碼器,直接擴展到其他類型的節(jié)點信息,例如類別屬性值、圖像等。
其他的基于隨機游走的方法總結(jié)到了表1中。MRWNN將內(nèi)容先驗整合到了DeepWalk嵌入中;HHNE將metapath2vec擴展到了雙曲空間;GHE提出了一種半監(jiān)督的元路徑加權(quán)技術(shù);MNE在多視圖網(wǎng)絡(luò)中對每個視圖分別進行隨機游走;JUST提出Jump/Stay隨機游走,不依賴于預(yù)先定義的元路徑。
2.1.2 基于一階/二階相似度的方法
(1)PTE
PTE提出將異質(zhì)網(wǎng)分解為多個二部圖,每個都描述了一種類型的邊。它的目標(biāo)函數(shù)是對所有二部圖的對數(shù)似然的和:
其中,TE\mathcal{T}_ETE?是邊類型的集合;wuvlw^l_{uv}wuvl?是節(jié)點對(u,v)(u, v)(u,v)間類型為lll的邊所對應(yīng)的權(quán)重(若u,vu, vu,v間沒有類型為lll的連邊,則該值為0);wuv=∑lwuvlw_{uv}=\sum_l w^l_{uv}wuv?=∑l?wuvl?是節(jié)點u,vu, vu,v間邊的權(quán)重之和。
(2)AspEm
AspEm假定每個異質(zhì)圖都有多個角度(aspects),將每個角度定義成network schema的一個子圖。AspEm還提出了一個不兼容的度量,以為嵌入學(xué)習(xí)選取合適的角度。給定一個角度aaa,目標(biāo)函數(shù)為:
其中,TEa\mathcal{T}_E^aTEa?是角度aaa下的邊集合;Zl=∑u,vwuvlZ_l=\sum_{u, v}w^l_{uv}Zl?=∑u,v?wuvl?是為了規(guī)范化的參數(shù);eu,ae_{u, a}eu,a?是節(jié)點uuu在特定角度下的嵌入表示。
(3)HEER
HEER是PTE的擴展,它考慮到了typed closeness。類型為lll的邊有嵌入表示μl\mu_lμl?。目標(biāo)函數(shù)為:
其中,guvg_{uv}guv?是邊(u,v)(u, v)(u,v)的嵌入表示;Pl(u,v)={(u′,v)∣ψ(u′,v)=l}∪{(u,v′)∣ψ(u,v′)=l}P_l(u, v)={\{(u^{'}, v)| \psi(u^{'}, v)=l}\} \cup { \{(u, v^{'})| \psi(u, v^{'})=l}\}Pl?(u,v)={(u′,v)∣ψ(u′,v)=l}∪{(u,v′)∣ψ(u,v′)=l}。HEER原文中的guvg_{uv}guv?基于Hadamard乘積針對有向邊和無向邊有不同的定義。本文為了總結(jié)的簡化,我們假定guv=eu?evg_{uv}=e_u\cdot e_vguv?=eu??ev?。令Al=diag(μl1,...,μld)A_l=diag(\mu_{l1},..., \mu_{ld})Al?=diag(μl1?,...,μld?),則有μlTguv=euTAlev\mu^T_lg_{uv}=e^T_uA_le_vμlT?guv?=euT?Al?ev?和目標(biāo)函數(shù):
其他的基于一階/二階相似度的方法總結(jié)到了表1中。HNE模型中引入了一個節(jié)點的類型感知的內(nèi)容編碼器(node type-aware content encoder);CMF在分解得到的二部圖中進行了聯(lián)合的矩陣分解;HEBE考慮到了每個元路徑,保留了相似性信息;Phine面向半監(jiān)督的訓(xùn)練,結(jié)合了額外的正則化;MVE提出基于attention的框架,考慮到了同一節(jié)點的多個視角。
還有一些研究采取了其他形式的目標(biāo)函數(shù)來描述一階/二階相似性。例如,SHINE受SDNE的啟發(fā),使用自動編碼器的重構(gòu)損失作為目標(biāo)函數(shù);DRL提出在每一步學(xué)習(xí)一種類型的邊,并使用深度強化學(xué)習(xí)的方法選擇下一步的邊類型;HINSE基于不同元路徑的鄰接矩陣,采用譜嵌入的方法;HeGAN使用關(guān)系類型感知的判別器,提出對抗學(xué)習(xí)的框架。
基于上述討論,大多數(shù)proximity-preserving方法可以定義為:
其中,wuvw_{uv}wuv?是針對特定元路徑M\mathcal{M}M或者是針對類型為lll的邊的,可表示為wuvMw^{\mathcal{M}}_{uv}wuvM?或wuvlw^l_{uv}wuvl?;JR0\mathcal{J}_{R0}JR0?是針對特定算法的正則化函數(shù)(表1中有總結(jié));s(u,v)s(u, v)s(u,v)是節(jié)點u,vu, vu,v間的相似度度量函數(shù)。
在大多數(shù)情況下,可以將s(u,v)s(u, v)s(u,v)寫成f(eu)Tf(ev)f(e_u)^Tf(e_v)f(eu?)Tf(ev?)。例如metapath2vec、PTE中f(eu)=euf(e_u)=e_uf(eu?)=eu?;HIN2Vec中f(eu)=AMeuf(e_u)=\sqrt{A_{\mathcal{M}}e_u}f(eu?)=AM?eu??;HEER中f(eu)=Aleuf(e_u)=\sqrt{A_{\mathcal{l}}e_u}f(eu?)=Al?eu??。在這些方法中,目標(biāo)函數(shù)可形式化為:
第二步得出是因為:∣∣x?y∣∣2=(x?y)T(x?y)=∣∣x∣∣2+∣∣y∣∣2?2xTy||x-y||^2=(x-y)^T(x-y)=||x||^2+||y||^2-2x^Ty∣∣x?y∣∣2=(x?y)T(x?y)=∣∣x∣∣2+∣∣y∣∣2?2xTy。因此,我們的目標(biāo)等價于:
其中,JR1\mathcal{J}_{R1}JR1?和JR2\mathcal{J}_{R2}JR2?是兩個正則化函數(shù)。沒有JR1\mathcal{J}_{R1}JR1?時,讓∣∣f(ev)∣∣→0||f(e_v)||\rightarrow 0∣∣f(ev?)∣∣→0可以最小化d(eu,ev)d(e_u, e_v)d(eu?,ev?);沒有JR2\mathcal{J}_{R2}JR2?時,讓ev≡c,(?v∈V)e_v\equiv c, (\forall v\in V)ev?≡c,(?v∈V)可以最小化d(eu,ev)d(e_u, e_v)d(eu?,ev?)。
式(1)中的JR\mathcal{J}_RJR?是?JR0,?JR1,JR2-\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2}?JR0??,?JR1??,JR2??的和。表1中總結(jié)了wuv,d(eu,ev),JR0w_{uv}, d(e_u, e_v), \mathcal{J}_{R0}wuv?,d(eu?,ev?),JR0?的不同選擇。
2.2 Message-Passing 方法
網(wǎng)絡(luò)中的每個節(jié)點都可能有屬性信息,表示為xux_uxu?。消息傳遞(Message-passing)的方法目的就是通過聚合來自節(jié)點uuu的鄰居的信息以及節(jié)點uuu自身的屬性信息xux_uxu?,學(xué)習(xí)得到節(jié)點嵌入表示eue_ueu?。近些年的研究中,GNN被廣泛用于消息的聚合和傳遞過程。
(1)R-GCN
R-GCN有KKK層卷積,初始的節(jié)點表示hu(0)h^{(0)}_uhu(0)?是節(jié)點的特征xux_uxu?,在第kkk層卷積,每個節(jié)點向量表示是通過聚合鄰居節(jié)點的信息得到的:
和傳統(tǒng)的GCNs不同,R-GCN考慮到了邊的異質(zhì)性,為每種類型的邊都學(xué)習(xí)到了一個矩陣WWW。在消息傳遞時,同一類型的邊的鄰居先被聚合并歸一化。第KKK層的輸出ev=hv(K)e_v=h^{(K)}_vev?=hv(K)?就是節(jié)點嵌入。
在無監(jiān)督的實驗設(shè)置中,消息傳遞方法使用鏈接預(yù)測作為下游任務(wù),最大化異質(zhì)網(wǎng)中出現(xiàn)邊的似然,來對GNNs進行訓(xùn)練。R-GCN使用負(fù)采樣和交叉熵?fù)p失,對如下的目標(biāo)函數(shù)進行近似:
其中wuvl=1(u,v)∈E1w^l_{uv}=\mathbf{1}_{(u,v)\in E_1}wuvl?=1(u,v)∈E1??。
(2)HAN
HAN沒有直接使用一階鄰居,而是使用元路徑來建模更高階的相似性。給定一個元路徑M\mathcal{M}M,節(jié)點uuu的表示是從基于該元路徑的鄰居聚合的,鄰居節(jié)點為:NM(u)={u}∪{v∣v通過元路徑M和u相連}\mathcal{N}_{\mathcal{M}}(u)={\{u}\}\cup {\{v| v通過元路徑\mathcal{M}和u相連}\}NM?(u)={u}∪{v∣v通過元路徑M和u相連}。HAN提出注意力機制為不同的鄰居學(xué)習(xí)到不同的權(quán)重:
其中,aMa_{\mathcal{M}}aM?是元路徑M\mathcal{M}M下節(jié)點級別的注意力向量;xu′=M?(u)xux^{'}_u=M_{\phi(u)}x_uxu′?=M?(u)?xu?是節(jié)點uuu映射后的特征向量;∣∣||∣∣表示連接操作。
給定特定元路徑下的嵌入huMh^{\mathcal{M}}_uhuM?,HAN使用語義級別的注意力為不同的元路徑分配不同的權(quán)重:
其中qqq是語義級別的注意力向量。
最近,有學(xué)者提出HGDI來提升基于HAN的無監(jiān)督訓(xùn)練效果;HGT的提出實現(xiàn)了對動態(tài)圖進行時間編碼以及在大規(guī)模數(shù)據(jù)上進行mini-batch的采樣。
因為HAN是為半監(jiān)督的節(jié)點分類問題設(shè)計的,當(dāng)需要在無監(jiān)督的情況下學(xué)習(xí)節(jié)點嵌入時(就像許多的proximity-preserving方法),我們通常采用鏈接預(yù)測任務(wù)的損失函數(shù),例如R-GCN和GraphSAGE。
(3)HetGNN
HetGNN假定每個節(jié)點都和不同的特征相關(guān)聯(lián),例如類別、文本、圖像。它首先將每個節(jié)點的內(nèi)容信息編碼成向量hush^s_uhus?,然后使用節(jié)點的類型感知(node type-aware)的聚合函數(shù)從鄰居節(jié)點收集信息:
其中NRWR(v)\mathcal{N}_{RWR}(v)NRWR?(v)是使用帶重啟的隨機游走得到的節(jié)點vvv的鄰居。HetGNN對不同類型的鄰居節(jié)點使用注意力機制,以得到最終的嵌入,和HAN的思想一致:
HetGNN的損失函數(shù)和PTE的一樣。
還有一些其他的message-passing方法。例如HEP從鄰居No(u)\mathcal{N}_o(u)No?(u)(例如 節(jié)點類型感知的鄰居)進行聚合得到uuu的表示,應(yīng)用于電商平臺的用戶對齊;GATNE從鄰居Nl(u)\mathcal{N}_l(u)Nl?(u)(例如 邊類型感知的鄰居)進行聚合得到uuu的表示,應(yīng)用于transductive和inductive的網(wǎng)絡(luò)嵌入學(xué)習(xí)。
上述的message-passing方法也可以寫成式(4)的形式,其中s(u,v)s(u, v)s(u,v)是關(guān)于eu,eve_u, e_veu?,ev?的函數(shù)。唯一的不同之處在于,這里的eue_ueu?是使用GNNs從xvx_vxv?聚合得到的。若我們?nèi)詫?span id="ozvdkddzhkzd" class="katex--inline">JR\mathcal{J}_RJR?寫成式(1)中?JR0,?JR1,JR2-\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2}?JR0??,?JR1??,JR2??的和,則可以得到如式(5)所示的相同的JR1,JR2\mathcal{J}_{R_1}, \mathcal{J}_{R_2}JR1??,JR2??。
在這組算法中,只有HEP使用了額外的重構(gòu)損失JR0=∑v∣∣ev?hv∣∣2\mathcal{J}_{R_0}=\sum_v ||e_v-h_v||^2JR0??=∑v?∣∣ev??hv?∣∣2,其他所有的算法中都有JR0=0\mathcal{J}_{R_0}=0JR0??=0。我們將wuv,d(eu,ev)w_{uv}, d(e_u, e_v)wuv?,d(eu?,ev?)和聚合函數(shù)的不同選擇,總結(jié)在了表2中。
2.3 Relation-Learning 方法
異質(zhì)網(wǎng)中的每個邊都可以看成一個三元組(u,l,v)(u, l, v)(u,l,v),其中u,vu, vu,v是節(jié)點,l∈TEl\in \mathcal{T}_El∈TE?是邊的類型(例如 KG中的實體和關(guān)系)。
relation-learning方法的目標(biāo)是學(xué)習(xí)到一個打分函數(shù)sl(u,v)s_l(u, v)sl?(u,v),對任意一個三元組進行評估,衡量這個三元組可接受性。這一思想廣泛用于KB的嵌入學(xué)習(xí)。已經(jīng)有了KB嵌入學(xué)習(xí)算法的綜述,我們在這里只考慮最流行的方法并且突出它們和HNE的關(guān)聯(lián)。
(1)TransE
TransE假定若存在三元組(u,l,v)(u, l , v)(u,l,v),則有這樣的嵌入變換:eu+el=eve_u + e_l = e_veu?+el?=ev?。因此TransE的打分函數(shù)就定義為:sl(u,v)=?∣∣eu+el?ev∣∣p,p=1或2s_l(u, v)=-||e_u+e_l-e_v||_p, p=1或2sl?(u,v)=?∣∣eu?+el??ev?∣∣p?,p=1或2。目標(biāo)函數(shù)就是最小化一個margin-based ranking loss:
其中,TTT是正的三元組樣本集合,T(u,l,v)′T^{'}_{(u, l, v)}T(u,l,v)′?是將uuu或vvv隨機替換得到的負(fù)的三元組樣本集合:
TransE是使用"a translational distance"來定義打分函數(shù)的最具代表性的模型。它的擴展有TransH, TransR, RHINE等。
(2)DistMult
和translational distance的模型不同,DistMult使用了基于相似性的打分函數(shù)。每個關(guān)系都用一個對角矩陣Al=diag(el1,...,eld)A_l=diag(e_{l1},...,e_{ld})Al?=diag(el1?,...,eld?)表示,sl(u,v)s_l(u,v)sl?(u,v)使用雙線性函數(shù)定義:
注意,對于任意的u,vu, vu,v,都有sl(u,v)=sl(v,u)s_l(u,v)=s_l(v,u)sl?(u,v)=sl?(v,u)。因此DistMult主要用于對稱的關(guān)系數(shù)據(jù)。
除了DistMult,RESCAL也是用雙線性的打分函數(shù),但是不將AlA_lAl?限制為對角陣。
(3)ConvE
ConvE不使用簡單的距離或相似性函數(shù),而是提出了深層的神經(jīng)模型為三元組打分。分值由在2D的嵌入上的卷積決定:
其中,Eu,ErE_u, E_rEu?,Er?分別表示節(jié)點嵌入和關(guān)系嵌入的2D矩陣,"?*?"是卷積操作。
其他使用深度神經(jīng)網(wǎng)絡(luò)作為打分函數(shù)的模型包括:NTN,CACL,SACN,NKGE等。
所有上述提到的基于relation-learning的嵌入算法都采用了式(6)的margin-based ranking loss,再加上一些正則項,作為損失函數(shù):
有學(xué)者提出基于margin的損失和如下的負(fù)采樣損失有著相似的形式:
使用負(fù)采樣損失重寫式(7),就可以近似成最大化如下的式子:
- 對于translational distance模型,sl(u,v)s_l(u, v)sl?(u,v)是通過距離描述的,等價于:
此例中,可將JR\mathcal{J}_RJR?寫成?JR0+JR1-\mathcal{J}_{R_0}+\mathcal{J}_{R_1}?JR0??+JR1??。
- 對于neural triplet scores,sl(u,v)s_l(u, v)sl?(u,v)的形式比內(nèi)積或者距離更加復(fù)雜。在這些情況下,因為距離和相似度可以看成相反的度量,我們將d(eu,ev)d(e_u, e_v)d(eu?,ev?)定義成C?sl(u,v)C-s_l(u, v)C?sl?(u,v),其中CCC是sl(?,?)s_{l}(\cdot, \cdot)sl?(?,?)的上界,是一個常數(shù)。則損失函數(shù)和式(8)就相似了,仍有JR=?JR0+JR1\mathcal{J}_R=-\mathcal{J}_{R_0}+\mathcal{J}_{R_1}JR?=?JR0??+JR1??。
我們將wuvl,d(eu,ev),JR0w^l_{uv}, d(e_u, e_v), \mathcal{J}_{R_0}wuvl?,d(eu?,ev?),JR0??的不同選擇總結(jié)到了表3中。注意,對于relation-learning方法,d(?,?)d(\cdot, \cdot)d(?,?)也許不是一個距離的度量。例如在許多translational distance模型中,d(eu,ev)≠d(ev,eu)d(e_u, e_v)\neq d(e_v, e_u)d(eu?,ev?)?=d(ev?,eu?)。這是因為(u,l,v)(u, l, v)(u,l,v)和(v,l,u)(v, l ,u)(v,l,u)通常表達了不同的語義。
3 Benchmark
3.1 數(shù)據(jù)集的準(zhǔn)備
我們整理并公開了4個來源于不同領(lǐng)域的真實的異質(zhì)網(wǎng)數(shù)據(jù)集,旨在為現(xiàn)有的和未來的HNE算法建立一個benchmark。
(1)DBLP
我們從DBLP構(gòu)建了一個含有authors, paper, venues, phrases的網(wǎng)絡(luò)。Phrases是使用流行的AutoPhrase算法,從論文文本抽取的,并且專家對其進行了進一步的篩選過濾。
我們對所有的論文文本進行了word2vec的計算,生成了300維的paper和phrase的特征。author和venue的特征是通過聚合它們對應(yīng)的的paper特征得到的。我們還采用爬蟲技術(shù),將一小部分author手動標(biāo)記成來自4個研究領(lǐng)域的12個研究小組。
(2)Yelp
我們從Yelp構(gòu)建了由businesses,users,locations,reviews構(gòu)成的網(wǎng)絡(luò)。節(jié)點沒有特征,但是大部分的businesses都有16類中的一類或多類的標(biāo)簽。
(3)Freebase
從Freebase構(gòu)建了由books,films,music,sports,people,locations,organizations,businesses組成的網(wǎng)絡(luò)。節(jié)點沒有特征,但大部分的books都屬于8類中的一類。
(4)PubMed
從PunMed構(gòu)建了由genes,diseases,chemicals,species組成的網(wǎng)絡(luò)。所有的節(jié)點都是通過AutoPhrase抽取得到的,由AutoNER打標(biāo)簽,然后由專家進行進一步的過濾。
我們在PubMed所有的papers上進行了word2vec的計算,為所有類型的節(jié)點生成了200維的單詞嵌入。還將一小部分的diseases分成了8類,每個disease只有一個標(biāo)簽。
3.2 結(jié)構(gòu)分析
這4個數(shù)據(jù)集統(tǒng)計為表4和圖3所示。
作者還對這些異質(zhì)網(wǎng)的屬性進行了分析,有度分布(圖4)、聚合系數(shù)(圖5)、頻繁元路徑的數(shù)量(圖6)。根據(jù)度分布進行節(jié)點采樣,度分布可以顯著影響HNE算法的性能。聚類系數(shù)對使用潛在的社區(qū)結(jié)構(gòu)的HNE算法帶來影響。由于許多HNE算法依賴于元路徑,元路徑的skewer distribution可能偏向于使用較少元路徑的算法。
對于這4個數(shù)據(jù)集,我們關(guān)注到的屬性是不一樣的。例如,Yelp中有更多緊密的鏈接和更多的標(biāo)簽;Freebase和PubMed中的節(jié)點有鮮明的長尾度分布;DBLP和Yelp中特定類型的節(jié)點連接地較好(例如 DBLP中的phrase,Yelp中的businesses),形成了更多的星型結(jié)構(gòu)(star-shaped)的子圖;type-wise的聚類系數(shù)和元路徑分布在DBLP中偏斜最嚴(yán)重,在PubMed中最均衡。
這4個數(shù)據(jù)集為各種HNE算法的魯棒性和通用性提供了一個全面的基準(zhǔn)。(4.2節(jié)中有介紹)
3.3 設(shè)置,任務(wù)和度量
對所有數(shù)據(jù)集設(shè)置成無監(jiān)督無屬性的HNE,主要對10種算法進行比較,目的是保留異質(zhì)網(wǎng)中不同類型的邊。
(1)對于為屬性網(wǎng)和半監(jiān)督的HNE特別設(shè)計的message-passing算法,在相應(yīng)的設(shè)置下對它們進行了額外的實驗。在DBLP和PubMed數(shù)據(jù)集上進行了帶屬性的HNE的評估,在Yelp和Freebase上進行了半監(jiān)督HNE的評估。在節(jié)點分類和鏈接預(yù)測兩個任務(wù)上測試學(xué)習(xí)得到的網(wǎng)絡(luò)嵌入表示。將所有算法得到的嵌入維度設(shè)為50,在所有數(shù)據(jù)集上使用標(biāo)準(zhǔn)的5折交叉驗證對超參數(shù)進行微調(diào)。
(2)對于標(biāo)準(zhǔn)的無屬性無監(jiān)督的HNE算法,隨機隱藏20%的邊,使用剩余80%的邊訓(xùn)練所有的HNE算法。
-
對于節(jié)點分類任務(wù),基于使用80%有標(biāo)注的節(jié)點訓(xùn)練學(xué)習(xí)得到的嵌入,訓(xùn)練一個分離的線性SVM(LinearSVC),以預(yù)測剩余的20%的節(jié)點標(biāo)簽。重復(fù)5次這一過程對所有的得分取平均,得到macro-F1和micro-F1。
-
對于鏈接預(yù)測任務(wù),使用Hadamard函數(shù)重構(gòu)節(jié)點對的特征向量,在80%的鏈接數(shù)據(jù)集上訓(xùn)練一個二分類的LinearSVC,在剩余的20%的數(shù)據(jù)集上進行評估。同樣的,重復(fù)5次這一過程,得到AUC(ROC曲線下的面積)和MRR(mean reciprocal rank)兩個度量。AUC是分類問題的標(biāo)準(zhǔn)度量,我們將鏈接預(yù)測視為了二分類問題。MRR是排序問題的標(biāo)準(zhǔn)度量,我們將鏈接預(yù)測視為了鏈接檢索問題。對所有的節(jié)點對進行計算,這個計算量太大了,所以通常使用兩跳(two-hop)的鄰居作為所有節(jié)點的候選。
(3)對于帶屬性的HNE,節(jié)點特征用于HNE算法的訓(xùn)練過程。對于半監(jiān)督的HNE,只使用特定數(shù)量的節(jié)點標(biāo)簽(默認(rèn)是80%)。
4 實驗評估
4.1 Algorithms and Modifications
我們修改了10個流行的HNE算法以在我們準(zhǔn)備的數(shù)據(jù)集上進行有效的實驗評估。我們選擇的算法和進行的修改如下:
(1)metapath2vec
原始的實現(xiàn)版本包含大量的hard-coded的特定數(shù)據(jù)的設(shè)置,例如節(jié)點類型和元路徑。并且優(yōu)化是不穩(wěn)定的和受限的,因為它僅僅檢測了基于元路徑的一種類型的上下文。作者重新實現(xiàn)了該方法。
首先,進行隨機游走,基于采樣的實例數(shù)目學(xué)習(xí)到不同元路徑的權(quán)重。然后使用統(tǒng)一的損失函數(shù)訓(xùn)練模型,損失函數(shù)是對所有元路徑的損失進行加權(quán)求和得到的。
隨機游走和基于元路徑的嵌入優(yōu)化都是通過多線程并行實現(xiàn)的。
(2)PTE
原先的方法是將有標(biāo)簽的文本作為輸入,只能用于有三種特定類別節(jié)點(word, document, label)和三種特定類別邊(word-word, document-word, label-word)的文本網(wǎng)絡(luò)。作者將原始版本進行了修正,使得模型能直接用于有任意類型的節(jié)點和邊的異質(zhì)網(wǎng)。
(3)HIN2Vec
作者去除掉了不必要的數(shù)據(jù)預(yù)處理代碼,對原始的版本進行了修改,使得程序先進行隨機游走,然后對模型進行訓(xùn)練,最終只輸出節(jié)點的嵌入表示。
(4)AspEm
作者去除了原始版本中hard-coded特定數(shù)據(jù)的設(shè)置,編寫了script將自動選擇aspects的不同組成部分相連接,并實現(xiàn)了不兼容性的最小化。還同時連接了基于不同aspects的嵌入的學(xué)習(xí)、配對、拼接。
(5)HEER
作者去除了原始版本中hard-coded特定數(shù)據(jù)的設(shè)置,跳過了knockout步驟并理順了圖建立的過程,實現(xiàn)了數(shù)據(jù)預(yù)處理的簡化。
(6)R-GCN
現(xiàn)有的DGL的實現(xiàn)版本由于在圖卷積過程需要將整張圖輸入到內(nèi)存中,只能擴展到有上千個節(jié)點的異質(zhì)網(wǎng)。為了使得R-GCN能擴展到大規(guī)模的數(shù)據(jù),作者采用了固定大小的節(jié)點和邊的采樣,像GraphSage一樣,用于batch-wise訓(xùn)練。
(7)HAN
HAN的原始實現(xiàn)版本包含了大量hard-coded特定數(shù)據(jù)的設(shè)置,例如節(jié)點類型和元路徑,并且和R-GCN一樣不能擴展到大規(guī)模的數(shù)據(jù)集。作者在R-GCN實現(xiàn)的基礎(chǔ)上重新實現(xiàn)了HAN算法。
具體來說,我們首先根據(jù)所選的節(jié)點類型,基于adjacency lists自動構(gòu)建元路徑。然后在batch-wise的訓(xùn)練過程中為seed nodes采樣鄰居。
(8)TransE
修改了OpenKE的實現(xiàn),使得模型只輸出節(jié)點的嵌入表示。
(9)DistMult
作者去除了原始版本中hard-coded特定數(shù)據(jù)的設(shè)置,和原始版本相比極大地簡化了數(shù)據(jù)預(yù)處理。
(10)ConvE
同DistMult。
作者公開了提出的4個數(shù)據(jù)集,以及上述所有方法的實現(xiàn)代碼,組成了開源的易使用的HNE benchmark。
https://github.com/yangji9181/HNE
4.2 Performance Benchmarks
在我們整理的4個數(shù)據(jù)集上,對上述的10個流行的state-of-the-art的HNE算法進行了實驗對比。實驗情景有:無監(jiān)督無屬性的HNE,帶屬性的HNE和半監(jiān)督的HNE。
表5展示了無監(jiān)督無屬性的HNE在節(jié)點分類和鏈接預(yù)測任務(wù)上的對比結(jié)果。
從表5中可以看出:
(1)proximity-perserving算法在無監(jiān)督無屬性的HNE設(shè)置下,通常在兩個任務(wù)中都有較好的表現(xiàn)。這也就解釋了為什么proximity-perserving算法是應(yīng)用最廣泛的HNE。
在proximity-perserving方法中,HIN2Vec和HEER在鏈接預(yù)測任務(wù)中表現(xiàn)出了很好的效果,但是在節(jié)點分類問題上表現(xiàn)欠佳(尤其是在DBLP和Freebase數(shù)據(jù)集上)。實際上這兩個方法的目標(biāo)主要是對邊的表示進行建模(HIN2Vec中的AMA_{\mathcal{M}}AM?,HEER中的AlA_lAl?),所以更適用于鏈接預(yù)測任務(wù)。
(2)在無監(jiān)督無屬性的HNE設(shè)置下,message-passing方法表現(xiàn)不好,尤其是在節(jié)點分類任務(wù)中。正如我們前面所討論過的,message-passing方法集成了節(jié)點屬性、鏈接結(jié)構(gòu)和訓(xùn)練標(biāo)簽。當(dāng)節(jié)點屬性和標(biāo)簽都沒有的時候,我們使用隨機的向量表示作為節(jié)點特征,并且使用鏈接預(yù)測的損失,這極大地限制了R-GCN和HAN的表現(xiàn)能力。后面將關(guān)注著兩個算法在有屬性的和半監(jiān)督的HNE設(shè)置下的表現(xiàn)。
HAN在Yelp數(shù)據(jù)集上的鏈接預(yù)測結(jié)果甚至不可得。這是因為HAN只能預(yù)測同類型的兩節(jié)點間的連邊(例如 business-business),但是Yelp中所有的連邊連接的都是不同類型的節(jié)點(例如 business-user)。
(3)Relation-learning方法在Freebase和PubMed數(shù)據(jù)集上,兩個任務(wù)的表現(xiàn)更好,尤其在鏈接預(yù)測任務(wù)中表現(xiàn)更好。在表4和圖3中我們可以觀察到這兩個數(shù)據(jù)集,尤其是Freebase數(shù)據(jù)集,有更多種類型的邊。Relation-learning方法主要是為KG的嵌入學(xué)習(xí)設(shè)計的(例如 Freebase),可以更好地捕獲到不同種類的有向連接的語義信息。
從數(shù)據(jù)集的角度:
(1)所有的方法在Yelp和Freebase的節(jié)點分類任務(wù)上都有較低的F1值,尤其是Yelp。這是因為這兩個數(shù)據(jù)集都有大量的節(jié)點標(biāo)簽,Yelp中是16個,Freebase是8個。
而且,和其他的數(shù)據(jù)集不同的是,Yelp中的節(jié)點可以有多個標(biāo)簽,這使得分類任務(wù)更具挑戰(zhàn)。
(2)圖4中可以看出Freebase的度分布更加偏斜。這就會導(dǎo)致在Freebase上進行邊的采樣或者隨機游走時,度數(shù)較小的節(jié)點被采樣的頻率越低,它們的表示就不能準(zhǔn)確地學(xué)習(xí)到。
這一發(fā)現(xiàn)就能解釋為什么鏈接預(yù)測在Freebase上的度量結(jié)果普遍比DBLP和Yelp上的低。
(3)從圖3-6可以看出,網(wǎng)絡(luò)屬性在Freebase和PubMed上更加均衡(尤其是在PubMed上)。對于所有算法,這使得節(jié)點分類和鏈接預(yù)測任務(wù)更加困難,同樣使得不同算法間的效果差異變小。
為了提供不同HNE算法的深層次的性能比較,我們進一步對實驗參數(shù)進行了控制。
圖7中展示了在PubMed數(shù)據(jù)集上進行節(jié)點分類和鏈接預(yù)測的結(jié)果??梢钥闯?#xff0c;不同的嵌入維度和link removal率可以對大多數(shù)算法的結(jié)果產(chǎn)生顯著影響。這再次說明了建立包括數(shù)據(jù)集和評估協(xié)議在內(nèi)的標(biāo)準(zhǔn)基準(zhǔn)對系統(tǒng)HNE算法評估的重要性。
在PubMed數(shù)據(jù)集上,大于50維度的嵌入會損害大多數(shù)算法的表現(xiàn)性能,尤其是在節(jié)點分類任務(wù)上。這可能是由于在有限的數(shù)據(jù)維度和標(biāo)簽情況下產(chǎn)生了過擬合。有意思的是,隨機去除掉連邊并沒有對鏈接預(yù)測任務(wù)的效果產(chǎn)生有害的影響,并且沒有對節(jié)點分類的預(yù)測結(jié)果帶來必然的損害。
這意味著節(jié)點的類別和連接的結(jié)構(gòu)可能并不總是強相關(guān)聯(lián)的,甚至連接的一部分已經(jīng)為節(jié)點分類提供了最大程度的有用信息。
針對目前將節(jié)點屬性和標(biāo)簽整合到R-GCN、HAN等嵌入學(xué)習(xí)中的HNE算法評價,我們還通過在節(jié)點屬性中加入隨機高斯噪聲、掩蔽(mask)不同數(shù)量的訓(xùn)練標(biāo)簽進行了控制實驗。
圖8展示了在PubMed數(shù)據(jù)集上的結(jié)果。從中可以看出,所有子圖中的得分都比表5中的高,這表示了R-GCN和HAN在整合節(jié)點屬性和標(biāo)簽方面的有效性。
當(dāng)將方差更大的隨機噪聲添加到節(jié)點屬性時,節(jié)點分類的性能顯著下降,但是鏈接預(yù)測的性能受的影響很小。當(dāng)可獲得的訓(xùn)練標(biāo)簽更多時,所有算法都在節(jié)點分類任務(wù)上得到了顯著的提升,但是鏈接預(yù)測任務(wù)幾乎不受影響。
這一發(fā)現(xiàn)有一次證實了這兩個任務(wù)有著不同的天然特性,節(jié)點類別可以從節(jié)點內(nèi)容和連接結(jié)構(gòu)等多個信號中推斷得出,而鏈接只和其他鏈接有關(guān)聯(lián)性。
5 Future
文本對多個現(xiàn)有的HNE算法進行了分類,并提供了benchmark數(shù)據(jù)集和baseline方法,以易于這一方向后續(xù)工作的開展。接下來簡單討論一下當(dāng)前HNE的局限性和值得探索的幾個方向。
(1)Beyond homophily(趨同性)
正如式(1)所示,當(dāng)前的HNE算法利用了網(wǎng)絡(luò)的趨同性。最近的針對同質(zhì)圖的研究結(jié)合了位置(positional)和結(jié)構(gòu)(structural)的嵌入,未來可以探索如何將這樣的設(shè)計和范式推廣到HNE中。
特別地,在異質(zhì)圖中,相對位置和節(jié)點的結(jié)構(gòu)角色可使用不同的meta-paths或meta-graphs進行度量,這就可以利用更豐富的信息。但是,這樣的考慮同樣引入了有關(guān)計算難度的挑戰(zhàn)。
(2)Beyond accuracy
大多數(shù)現(xiàn)有的HNE方法只是關(guān)注于算法在下游任務(wù)的準(zhǔn)確率。未來應(yīng)該進一步研究HNE的高效性(efficiency)和可擴展性(scalability),時間適應(yīng)性(用于動態(tài)網(wǎng)絡(luò)),魯棒性(面向?qū)构?,可解釋性,不確定性(uncertainty),公平性(fairness)。
(3)Beyond node embedding
已經(jīng)有同質(zhì)圖上針對圖級別的和子圖級別的嵌入算法的相關(guān)研究,但是很難在異質(zhì)圖上應(yīng)用。盡管HIN2Vec研究了元路徑的嵌入,以提升節(jié)點的嵌入表示。但是直接應(yīng)用異質(zhì)網(wǎng)的上下文對圖級別和子圖級別的嵌入學(xué)習(xí)還有待進一步研究。
(4)Revisiting KB embedding
KB嵌入和HNE主要區(qū)別在于節(jié)點和連邊類型的數(shù)量。直接將KB的嵌入學(xué)習(xí)方法用于異質(zhì)網(wǎng)的話,沒有考慮到有豐富語義信息的元路徑,直接將HNE應(yīng)用到KB也是不現(xiàn)實的,因為KB元路徑的數(shù)量是指數(shù)級別的。
未來可以研究這兩組方法和這兩種類型數(shù)據(jù)的交互。
例如,如何將異質(zhì)圖中的元路徑思想與KB中的embedding transformation相結(jié)合,以為HNE提供更多的語義感知的轉(zhuǎn)換操作(semantic-aware transformation)?
如何為KB的嵌入學(xué)習(xí)設(shè)計基于截斷的隨機游走方法(truncated random walk),以學(xué)習(xí)到包含高階關(guān)系信息的嵌入表示?
(5)Modeling heterogeneous contexts
異質(zhì)網(wǎng)的嵌入學(xué)習(xí)主要是對不同類型的節(jié)點和邊進行建模。然而,如今的網(wǎng)絡(luò)中可能包含豐富的內(nèi)容信息,這些信息為節(jié)點、邊和子網(wǎng)絡(luò)提供了上下文信息。
因此,如何通過多模態(tài)的內(nèi)容和結(jié)構(gòu)的集成來對多方面(multi-facet)環(huán)境下的異構(gòu)信息交互進行建模,是一個具有挑戰(zhàn)性但值得研究的方向。
(6)Understanding the limitation
雖然HNE(以及其他的基于神經(jīng)網(wǎng)絡(luò)的表示學(xué)習(xí)模型)在多個領(lǐng)域中都有著很好的表現(xiàn),但是我們還需要理解它的一些潛在的局限性。
例如,在什么情況下流行的HNE算法比傳統(tǒng)的網(wǎng)絡(luò)挖掘方法(例如 path counting, 子圖匹配, 非神經(jīng)的或線性的模型)表現(xiàn)更好?如何聯(lián)合這兩種類型的方法的優(yōu)點?
此外,已經(jīng)有一些針對同質(zhì)網(wǎng)的神經(jīng)網(wǎng)絡(luò)的背后數(shù)學(xué)機制的深入研究(例如 smoothingm, 低通濾波器, invariant and equivariant變換)。本工作對現(xiàn)有的HNE模型進行了統(tǒng)一整理,也有助于促進對HNE的能力和局限性的進一步理論研究。
總結(jié)
以上是生活随笔為你收集整理的【论文翻译 arXiv 2020】异质网表示学习综述-韩家炜组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个ubuntu16.04镜像下载地址
- 下一篇: EHOME协议介绍