【論文翻譯 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

關鍵詞:異質網嵌入,綜述,benchmark


異質網的嵌入學習方法(HNE)已經被廣泛應用,但還沒有一篇詳細的綜述。

本文的貢獻如下:

(1)本文提出了一個統一的範式,對各種現有的HNE算法的優點進行系統的分類和分析

(2)本文還從不同來源創建了4個具有不同屬性的基線數據集,包括規模、結構、屬性/標籤可用性等,以更全面地評估HNE算法。

(3)重構並修正了10個HNE流行算法接口的實現。並在多個任務和不同的實驗設置下對其進行了全方位的比較。



1 Generic Paradigm


1.1 問題定義

(1)網絡嵌入(Network embedding)

給定圖G={V,E}G={\{V, E}\}VV是節點集合,EE是邊集合。網絡嵌入就是一個將節點映射成低維向量表示的函數:Φ:VRV×d\Phi : V\rightarrow \mathbb{R}^{|V|\times d}dd遠小於V|V|。映射函數Φ\Phi定義了每個節點的隱層表示,表示中含有從邊集EE中捕獲到的圖的結構信息。

在多數情況下,網絡相似性(network proximity)是需要捕獲的主要拓撲信息。例如,DeepWalk就捕獲到了基於隨機遊走的節點相似性。隨後有各種工作對DeepWalk進行了改進和擴展,這不屬於本文的範圍,DeepWalk是應用於同質圖的,本文關注的是異質圖的表示學習。

(2)異質網(Heterogeneous network)

異質網H={V,E,ϕ,ψ}H={\{V, E, \phi, \psi}\}有多種類型的節點和邊。HH中,每個節點viv_i都對應一種節點類型ϕ(vi)\phi(v_i),每個邊eije_{ij}都對應一種邊類型ψ(eij)\psi(e_{ij})。邊的類型自動定義了其兩端節點的類型。

(3)元路徑(Meta-path)

元路徑是定義在network schema上的由不同類型的節點和邊組成的序列。

每個元路徑都從特定的語義角度捕獲到了其兩端節點的相似性。使用不同的元路徑就可以使得模型計算到多模多類型的節點相似性和關係,有助於學習到更豐富的節點表示。

(4)異質網嵌入(Heterogeneous network embedding)

給定一個異質圖HH,異質網嵌入就是一組映射函數:{Φk:VkRVk×d}k=1K{\{\Phi_k: V_k\rightarrow \mathbb{R}^{|V_k|\times d}\}}^K_{k=1}。其中KK是節點類型的數量,viVk,ϕ(vi)=k\forall v_i \in V_k, \phi(v_i)=k。映射函數Φk\Phi_k定義了類型爲kk的所有節點的隱層表示,捕獲到了EE中關於異質邊的網絡拓撲信息。


1.2 提出的範式

HNE一個最重要的原則就是趨同性。在網絡嵌入中,趨同性可以解釋成“在網絡中相近的節點應該有相似的嵌入表示”。

事實上,我們進一步發現了同質性原理和在網絡上廣泛使用的平滑實施技術之間的內在聯繫,提出了一個通用的數學範式,涵蓋了大多數現有的和可能的許多未來的HNE算法。

作者引入如下的目標函數

其中,eu=Φ(u),ev=Φ(v)e_u=\Phi(u), e_v=\Phi(v)是需要學習得到的節點嵌入向量。wuvw_{uv}是權重,d(,)d(\cdot, \cdot)是計算嵌入向量間距離的函數,JR\mathcal{J}_R是附加的目標函數(例如正則化),在不同的HNE算法中,對這三項的定義不同。


2 算法分類


我們使用一個統一的分類方法,將現有的HNE算法基於它們的目標分爲3類,並且解釋它們都符合式(1)的範式

2.1 Proximity-Preserving 方法

網絡嵌入的一個基本目標就是捕獲到網絡的拓撲信息保留不同類型節點間的相似度可以實現這一目標。HNE中相似度保留(proximity preserving)方法可分成兩類:(1)受DeepWalk啓發的基於隨機遊走的方法(2)受LINE啓發的基於一階/二階相似度的方法


2.1.1 基於隨機遊走的方法

(1)metapath2vec

metapath2vec使用了由元路徑指導的隨機遊走得到的節點組成的路徑,考慮到異質的語義信息,來建模節點的上下文。給定元路徑M\mathcal{M}在第ii步的轉移概率定義爲

其中,Nl(v)={uψ(u,v)=l}\mathcal{N}_l(v)={\{u|\psi(u, v)=l}\}爲通過類型爲ll的邊和節點vv相連接的鄰居節點。假定P={P1,...,PM}\mathcal{P}={\{\mathcal{P}_1,..., \mathcal{P}_M}\}是隨機遊走生成的一組序列。則metapath2vec的目標函數爲:

其中,C(v)\mathcal{C}(v)vvP\mathcal{P}中的上下文。例如,若P1=v1v2v3v4v5...\mathcal{P}_1=v_1v_2v_3v_4v_5...,上下文窗口大小爲2,則{v1,v2,v4,v5}C(v3){\{v_1, v_2, v_4, v_5}\}\subseteq \mathcal{C}(v_3)。令wuvw_{uv}記爲在P\mathcal{P}uC(v)u\in \mathcal{C}(v)出現的次數,將式(3)重寫爲如下的形式:

分母需要對所有節點進行計算求和,計算量很大。在實際的計算中,通常使用負採樣進行近似


(2)HIN2Vec

HIN2Vec是考慮節點u,vu,v間存在元路徑M\mathcal{M}的可能性

其中,1\mathbf{1}是全1的向量,\odot是Hadamard乘積,f01f_{01}是正則化函數。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)可視爲u,v,Mu, v, \mathcal{M}的嵌入表示。令AM=diag(eM1,...,eMd)\mathbf{A}_{\mathcal{M}}=diag(e_{\mathcal{M}1},..., e_{\mathcal{M}d}),有:

其中,σ\sigma是sigmoid函數,於是有:

HIN2Vec忽略節點/邊的類型,使用同質的隨機遊走生成了多個正的三元組樣本(u,v,M)(u, v, \mathcal{M})。對於每個正樣本,將uu隨機替換成uu^{'},生成多個負樣本。目標函數爲:

這其實就是對如下目標函數的負採樣近似值:

其中wuvMw^{\mathcal{M}}_{uv}是在元路徑爲M\mathcal{M}的前提下,節點u,vu, v間的路徑實例數。


(3)SHINE

SHINE在metapath2vec的基礎上記性了改進,考慮到了附加的節點信息。一些類型的節點可能有附加的文本信息(定義爲xvx_v)。它提出了基於GRU的深層編碼函數fENCf_{ENC}。若vv有文本信息,則ev=fENC(xv)e_v=f_{ENC}(x_v);否則,eve_v就表示可訓練的節點嵌入。

SHINE的目標函數和metapath2vec一樣,它還可以通過利用特定領域的深層編碼器,直接擴展到其他類型的節點信息,例如類別屬性值、圖像等。


其他的基於隨機遊走的方法總結到了表1中。MRWNN將內容先驗整合到了DeepWalk嵌入中;HHNE將metapath2vec擴展到了雙曲空間;GHE提出了一種半監督的元路徑加權技術;MNE在多視圖網絡中對每個視圖分別進行隨機遊走;JUST提出Jump/Stay隨機遊走,不依賴於預先定義的元路徑。


2.1.2 基於一階/二階相似度的方法

(1)PTE

PTE提出將異質網分解爲多個二部圖,每個都描述了一種類型的邊。它的目標函數是對所有二部圖的對數似然的和:

其中,TE\mathcal{T}_E是邊類型的集合;wuvlw^l_{uv}是節點對(u,v)(u, v)間類型爲ll的邊所對應的權重(若u,vu, v間沒有類型爲ll的連邊,則該值爲0);wuv=lwuvlw_{uv}=\sum_l w^l_{uv}是節點u,vu, v間邊的權重之和。


(2)AspEm

AspEm假定每個異質圖都有多個角度(aspects),將每個角度定義成network schema的一個子圖。AspEm還提出了一個不兼容的度量,以爲嵌入學習選取合適的角度。給定一個角度aa,目標函數爲:

其中,TEa\mathcal{T}_E^a是角度aa下的邊集合;Zl=u,vwuvlZ_l=\sum_{u, v}w^l_{uv}是爲了規範化的參數;eu,ae_{u, a}是節點uu在特定角度下的嵌入表示。


(3)HEER

HEER是PTE的擴展,它考慮到了typed closeness。類型爲ll邊有嵌入表示μl\mu_l。目標函數爲:

其中,guvg_{uv}是邊(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}\}。HEER原文中的guvg_{uv}基於Hadamard乘積針對有向邊和無向邊有不同的定義。本文爲了總結的簡化,我們假定guv=euevg_{uv}=e_u\cdot e_v。令Al=diag(μl1,...,μld)A_l=diag(\mu_{l1},..., \mu_{ld}),則有μlTguv=euTAlev\mu^T_lg_{uv}=e^T_uA_le_v和目標函數:


其他的基於一階/二階相似度的方法總結到了表1中。HNE模型中引入了一個節點的類型感知的內容編碼器(node type-aware content encoder);CMF在分解得到的二部圖中進行了聯合的矩陣分解;HEBE考慮到了每個元路徑,保留了相似性信息;Phine面向半監督的訓練,結合了額外的正則化;MVE提出基於attention的框架,考慮到了同一節點的多個視角。


還有一些研究採取了其他形式的目標函數描述一階/二階相似性。例如,SHINE受SDNE的啓發,使用自動編碼器的重構損失作爲目標函數;DRL提出在每一步學習一種類型的邊,並使用深度強化學習的方法選擇下一步的邊類型;HINSE基於不同元路徑的鄰接矩陣,採用譜嵌入的方法;HeGAN使用關係類型感知的判別器,提出對抗學習的框架。


基於上述討論,大多數proximity-preserving方法可以定義爲

其中,wuvw_{uv}是針對特定元路徑M\mathcal{M}或者是針對類型爲ll的邊的,可表示爲wuvMw^{\mathcal{M}}_{uv}wuvlw^l_{uv}JR0\mathcal{J}_{R0}是針對特定算法的正則化函數(表1中有總結);s(u,v)s(u, v)是節點u,vu, v間的相似度度量函數。

在大多數情況下,可以將s(u,v)s(u, v)寫成f(eu)Tf(ev)f(e_u)^Tf(e_v)。例如metapath2vec、PTEf(eu)=euf(e_u)=e_uHIN2Vecf(eu)=AMeuf(e_u)=\sqrt{A_{\mathcal{M}}e_u}HEERf(eu)=Aleuf(e_u)=\sqrt{A_{\mathcal{l}}e_u}。在這些方法中,目標函數可形式化爲

第二步得出是因爲xy2=(xy)T(xy)=x2+y22xTy||x-y||^2=(x-y)^T(x-y)=||x||^2+||y||^2-2x^Ty。因此,我們的目標等價於

其中,JR1\mathcal{J}_{R1}JR2\mathcal{J}_{R2}是兩個正則化函數。沒有JR1\mathcal{J}_{R1}時,讓f(ev)0||f(e_v)||\rightarrow 0可以最小化d(eu,ev)d(e_u, e_v);沒有JR2\mathcal{J}_{R2}時,讓evc,(vV)e_v\equiv c, (\forall v\in V)可以最小化d(eu,ev)d(e_u, e_v)

式(1)中的JR\mathcal{J}_RJR0,JR1,JR2-\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2}的和。表1中總結了wuv,d(eu,ev),JR0w_{uv}, d(e_u, e_v), \mathcal{J}_{R0}的不同選擇。


2.2 Message-Passing 方法

網絡中的每個節點都可能有屬性信息,表示爲xux_u消息傳遞(Message-passing)的方法目的就是通過聚合來自節點uu的鄰居的信息以及節點uu自身的屬性信息xux_u學習得到節點嵌入表示eue_u。近些年的研究中,GNN被廣泛用於消息的聚合和傳遞過程。

(1)R-GCN

R-GCN有KK層卷積,初始的節點表示hu(0)h^{(0)}_u是節點的特徵xux_u在第kk層卷積,每個節點向量表示是通過聚合鄰居節點的信息得到的

和傳統的GCNs不同,R-GCN考慮到了邊的異質性爲每種類型的邊都學習到了一個矩陣WW。在消息傳遞時,同一類型的邊的鄰居先被聚合並歸一化。第KK層的輸出ev=hv(K)e_v=h^{(K)}_v就是節點嵌入。

無監督的實驗設置中,消息傳遞方法使用鏈接預測作爲下游任務,最大化異質網中出現邊的似然,來對GNNs進行訓練。R-GCN使用負採樣交叉熵損失,對如下的目標函數進行近似:

其中wuvl=1(u,v)E1w^l_{uv}=\mathbf{1}_{(u,v)\in E_1}


(2)HAN

HAN沒有直接使用一階鄰居,而是使用元路徑來建模更高階的相似性。給定一個元路徑M\mathcal{M},節點uu的表示是從基於該元路徑的鄰居聚合的,鄰居節點爲:NM(u)={u}{vvMu}\mathcal{N}_{\mathcal{M}}(u)={\{u}\}\cup {\{v| v通過元路徑\mathcal{M}和u相連}\}。HAN提出注意力機制爲不同的鄰居學習到不同的權重:

其中,aMa_{\mathcal{M}}是元路徑M\mathcal{M}下節點級別的注意力向量;xu=Mϕ(u)xux^{'}_u=M_{\phi(u)}x_u是節點uu映射後的特徵向量;||表示連接操作。

給定特定元路徑下的嵌入huMh^{\mathcal{M}}_u,HAN使用語義級別的注意力爲不同的元路徑分配不同的權重:

其中qq是語義級別的注意力向量。

最近,有學者提出HGDI來提升基於HAN的無監督訓練效果;HGT的提出實現了對動態圖進行時間編碼以及在大規模數據上進行mini-batch的採樣

因爲HAN是爲半監督的節點分類問題設計的,當需要在無監督的情況下學習節點嵌入時(就像許多的proximity-preserving方法),我們通常採用鏈接預測任務的損失函數,例如R-GCNGraphSAGE


(3)HetGNN

HetGNN假定每個節點都和不同的特徵相關聯,例如類別、文本、圖像。它首先將每個節點的內容信息編碼成向量hush^s_u,然後使用節點的類型感知(node type-aware)的聚合函數從鄰居節點收集信息:

其中NRWR(v)\mathcal{N}_{RWR}(v)是使用帶重啓的隨機遊走得到的節點vv的鄰居。HetGNN對不同類型的鄰居節點使用注意力機制,以得到最終的嵌入,和HAN的思想一致:

HetGNN的損失函數和PTE的一樣


還有一些其他的message-passing方法。例如HEP從鄰居No(u)\mathcal{N}_o(u)(例如 節點類型感知的鄰居)進行聚合得到uu的表示,應用於電商平臺的用戶對齊;GATNE從鄰居Nl(u)\mathcal{N}_l(u)(例如 邊類型感知的鄰居)進行聚合得到uu的表示,應用於transductive和inductive的網絡嵌入學習。

上述的message-passing方法也可以寫成式(4)的形式,其中s(u,v)s(u, v)是關於eu,eve_u, e_v的函數。唯一的不同之處在於,這裏的eue_u是使用GNNs從xvx_v聚合得到的。若我們仍將JR\mathcal{J}_R寫成式(1)中JR0,JR1,JR2-\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2}的和,則可以得到如式(5)所示的相同的JR1,JR2\mathcal{J}_{R_1}, \mathcal{J}_{R_2}

在這組算法中,只有HEP使用了額外的重構損失JR0=vevhv2\mathcal{J}_{R_0}=\sum_v ||e_v-h_v||^2其他所有的算法中都有JR0=0\mathcal{J}_{R_0}=0。我們將wuv,d(eu,ev)w_{uv}, d(e_u, e_v)和聚合函數的不同選擇,總結在了表2中。


2.3 Relation-Learning 方法

異質網中的每個邊都可以看成一個三元組(u,l,v)(u, l, v),其中u,vu, v是節點,lTEl\in \mathcal{T}_E是邊的類型(例如 KG中的實體和關係)。

relation-learning方法的目標是學習到一個打分函數sl(u,v)s_l(u, v),對任意一個三元組進行評估,衡量這個三元組可接受性。這一思想廣泛用於KB的嵌入學習。已經有了KB嵌入學習算法的綜述,我們在這裏只考慮最流行的方法並且突出它們和HNE的關聯。

(1)TransE

TransE假定若存在三元組(u,l,v)(u, l , v),則有這樣的嵌入變換:eu+el=eve_u + e_l = e_v。因此TransE的打分函數就定義爲:sl(u,v)=eu+elevp,p=12s_l(u, v)=-||e_u+e_l-e_v||_p, p=1或2。目標函數就是最小化一個margin-based ranking loss

其中,TT是正的三元組樣本集合,T(u,l,v)T^{'}_{(u, l, v)}是將uuvv隨機替換得到的負的三元組樣本集合:

TransE是使用"a translational distance"來定義打分函數的最具代表性的模型。它的擴展TransH, TransR, RHINE等。


(2)DistMult

和translational distance的模型不同,DistMult使用了基於相似性的打分函數。每個關係都用一個對角矩陣Al=diag(el1,...,eld)A_l=diag(e_{l1},...,e_{ld})表示,sl(u,v)s_l(u,v)使用雙線性函數定義:

注意,對於任意的u,vu, v,都有sl(u,v)=sl(v,u)s_l(u,v)=s_l(v,u)。因此DistMult主要用於對稱的關係數據。

除了DistMult,RESCAL也是用雙線性的打分函數,但是不將AlA_l限制爲對角陣


(3)ConvE

ConvE不使用簡單的距離或相似性函數,而是提出了深層的神經模型爲三元組打分。分值由在2D的嵌入上的卷積決定

其中,Eu,ErE_u, E_r分別表示節點嵌入和關係嵌入的2D矩陣,"*"是卷積操作。

其他使用深度神經網絡作爲打分函數的模型包括:NTN,CACL,SACN,NKGE等。


所有上述提到的基於relation-learning的嵌入算法都採用了式(6)的margin-based ranking loss,再加上一些正則項,作爲損失函數:

有學者提出基於margin的損失和如下的負採樣損失有着相似的形式:

使用負採樣損失重寫式(7),就可以近似成最大化如下的式子:

  • 對於translational distance模型sl(u,v)s_l(u, v)是通過距離描述的,等價於:

此例中,可將JR\mathcal{J}_R寫成JR0+JR1-\mathcal{J}_{R_0}+\mathcal{J}_{R_1}

  • 對於neural triplet scoressl(u,v)s_l(u, v)的形式比內積或者距離更加複雜。在這些情況下,因爲距離和相似度可以看成相反的度量,我們將d(eu,ev)d(e_u, e_v)定義成Csl(u,v)C-s_l(u, v),其中CCsl(,)s_{l}(\cdot, \cdot)的上界,是一個常數。則損失函數和式(8)就相似了,仍有JR=JR0+JR1\mathcal{J}_R=-\mathcal{J}_{R_0}+\mathcal{J}_{R_1}

我們將wuvl,d(eu,ev),JR0w^l_{uv}, d(e_u, e_v), \mathcal{J}_{R_0}的不同選擇總結到了表3中。注意,對於relation-learning方法,d(,)d(\cdot, \cdot)也許不是一個距離的度量。例如在許多translational distance模型中,d(eu,ev)d(ev,eu)d(e_u, e_v)\neq d(e_v, e_u)。這是因爲(u,l,v)(u, l, v)(v,l,u)(v, l ,u)通常表達了不同的語義。


3 Benchmark


3.1 數據集的準備

我們整理並公開了4個來源於不同領域的真實的異質網數據集,旨在爲現有的和未來的HNE算法建立一個benchmark。


(1)DBLP

我們從DBLP構建了一個含有authors, paper, venues, phrases的網絡。Phrases是使用流行的AutoPhrase算法,從論文文本抽取的,並且專家對其進行了進一步的篩選過濾。

我們對所有的論文文本進行了word2vec的計算,生成了300維的paper和phrase的特徵。author和venue的特徵是通過聚合它們對應的的paper特徵得到的。我們還採用爬蟲技術,將一小部分author手動標記成來自4個研究領域的12個研究小組。


(2)Yelp

我們從Yelp構建了由businesses,users,locations,reviews構成的網絡。節點沒有特徵,但是大部分的businesses都有16類中的一類或多類的標籤


(3)Freebase

從Freebase構建了由books,films,music,sports,people,locations,organizations,businesses組成的網絡。節點沒有特徵,但大部分的books都屬於8類中的一類


(4)PubMed

從PunMed構建了由genes,diseases,chemicals,species組成的網絡。所有的節點都是通過AutoPhrase抽取得到的,由AutoNER打標籤,然後由專家進行進一步的過濾。

我們在PubMed所有的papers上進行了word2vec的計算,爲所有類型的節點生成了200維的單詞嵌入。還將一小部分的diseases分成了8類,每個disease只有一個標籤


3.2 結構分析

這4個數據集統計爲表4圖3所示。

作者還對這些異質網的屬性進行了分析,有度分佈(圖4)、聚合係數(圖5)、頻繁元路徑的數量(圖6)。根據度分佈進行節點採樣,度分佈可以顯著影響HNE算法的性能。聚類係數對使用潛在的社區結構的HNE算法帶來影響。由於許多HNE算法依賴於元路徑,元路徑的skewer distribution可能偏向於使用較少元路徑的算法。

對於這4個數據集,我們關注到的屬性是不一樣的。例如,Yelp中有更多緊密的鏈接和更多的標籤;Freebase和PubMed中的節點有鮮明的長尾度分佈;DBLP和Yelp中特定類型的節點連接地較好(例如 DBLP中的phrase,Yelp中的businesses),形成了更多的星型結構(star-shaped)的子圖;type-wise的聚類係數和元路徑分佈在DBLP中偏斜最嚴重,在PubMed中最均衡。

這4個數據集爲各種HNE算法的魯棒性和通用性提供了一個全面的基準。(4.2節中有介紹)


3.3 設置,任務和度量

對所有數據集設置成無監督無屬性的HNE,主要對10種算法進行比較,目的是保留異質網中不同類型的邊。

(1)對於爲屬性網和半監督的HNE特別設計的message-passing算法,在相應的設置下對它們進行了額外的實驗。在DBLP和PubMed數據集上進行了帶屬性的HNE的評估,在Yelp和Freebase上進行了半監督HNE的評估。在節點分類鏈接預測兩個任務上測試學習得到的網絡嵌入表示。將所有算法得到的嵌入維度設爲50,在所有數據集上使用標準的5折交叉驗證對超參數進行微調。

(2)對於標準的無屬性無監督的HNE算法,隨機隱藏20%的邊,使用剩餘80%的邊訓練所有的HNE算法。

  • 對於節點分類任務,基於使用80%有標註的節點訓練學習得到的嵌入,訓練一個分離的線性SVM(LinearSVC),以預測剩餘的20%的節點標籤。重複5次這一過程對所有的得分取平均,得到macro-F1和micro-F1

  • 對於鏈接預測任務,使用Hadamard函數重構節點對的特徵向量,在80%的鏈接數據集上訓練一個二分類的LinearSVC,在剩餘的20%的數據集上進行評估。同樣的,重複5次這一過程,得到AUC(ROC曲線下的面積)和MRR(mean reciprocal rank)兩個度量。AUC是分類問題的標準度量,我們將鏈接預測視爲了二分類問題。MRR是排序問題的標準度量,我們將鏈接預測視爲了鏈接檢索問題。對所有的節點對進行計算,這個計算量太大了,所以通常使用兩跳(two-hop)的鄰居作爲所有節點的候選

(3)對於帶屬性的HNE,節點特徵用於HNE算法的訓練過程。對於半監督的HNE,只使用特定數量的節點標籤(默認是80%)。


4 實驗評估


4.1 Algorithms and Modifications

我們修改了10個流行的HNE算法以在我們準備的數據集上進行有效的實驗評估。我們選擇的算法和進行的修改如下:


(1)metapath2vec

原始的實現版本包含大量的hard-coded的特定數據的設置,例如節點類型和元路徑。並且優化是不穩定的和受限的,因爲它僅僅檢測了基於元路徑的一種類型的上下文。作者重新實現了該方法。

首先,進行隨機遊走,基於採樣的實例數目學習到不同元路徑的權重。然後使用統一的損失函數訓練模型,損失函數是對所有元路徑的損失進行加權求和得到的。

隨機遊走和基於元路徑的嵌入優化都是通過多線程並行實現的。


(2)PTE

原先的方法是將有標籤的文本作爲輸入,只能用於有三種特定類別節點(word, document, label)和三種特定類別邊(word-word, document-word, label-word)的文本網絡。作者將原始版本進行了修正,使得模型能直接用於有任意類型的節點和邊的異質網。


(3)HIN2Vec

作者去除掉了不必要的數據預處理代碼,對原始的版本進行了修改,使得程序先進行隨機遊走,然後對模型進行訓練,最終只輸出節點的嵌入表示


(4)AspEm

作者去除了原始版本中hard-coded特定數據的設置,編寫了script將自動選擇aspects的不同組成部分相連接,並實現了不兼容性的最小化。還同時連接了基於不同aspects的嵌入的學習、配對、拼接。


(5)HEER

作者去除了原始版本中hard-coded特定數據的設置,跳過了knockout步驟並理順了圖建立的過程,實現了數據預處理的簡化


(6)R-GCN

現有的DGL的實現版本由於在圖卷積過程需要將整張圖輸入到內存中,只能擴展到有上千個節點的異質網。爲了使得R-GCN能擴展到大規模的數據,作者採用了固定大小的節點和邊的採樣,像GraphSage一樣,用於batch-wise訓練。


(7)HAN

HAN的原始實現版本包含了大量hard-coded特定數據的設置,例如節點類型和元路徑,並且和R-GCN一樣不能擴展到大規模的數據集。作者在R-GCN實現的基礎上重新實現了HAN算法

具體來說,我們首先根據所選的節點類型,基於adjacency lists自動構建元路徑。然後在batch-wise的訓練過程中爲seed nodes採樣鄰居。


(8)TransE

修改了OpenKE的實現,使得模型只輸出節點的嵌入表示


(9)DistMult

作者去除了原始版本中hard-coded特定數據的設置,和原始版本相比極大地簡化了數據預處理


(10)ConvE

同DistMult。


作者公開了提出的4個數據集,以及上述所有方法的實現代碼,組成了開源的易使用的HNE benchmark。

https://github.com/yangji9181/HNE


4.2 Performance Benchmarks

在我們整理的4個數據集上,對上述的10個流行的state-of-the-art的HNE算法進行了實驗對比。實驗情景有:無監督無屬性的HNE帶屬性的HNE半監督的HNE

表5展示了無監督無屬性的HNE節點分類鏈接預測任務上的對比結果。

表5中可以看出:


(1)proximity-perserving算法無監督無屬性的HNE設置下,通常在兩個任務中都有較好的表現。這也就解釋了爲什麼proximity-perserving算法是應用最廣泛的HNE。

在proximity-perserving方法中,HIN2VecHEER在鏈接預測任務中表現出了很好的效果,但是在節點分類問題上表現欠佳(尤其是在DBLP和Freebase數據集上)。實際上這兩個方法的目標主要是對邊的表示進行建模(HIN2Vec中的AMA_{\mathcal{M}},HEER中的AlA_l),所以更適用於鏈接預測任務


(2)在無監督無屬性的HNE設置下,message-passing方法表現不好,尤其是在節點分類任務中。正如我們前面所討論過的,message-passing方法集成了節點屬性、鏈接結構和訓練標籤。當節點屬性和標籤都沒有的時候,我們使用隨機的向量表示作爲節點特徵,並且使用鏈接預測的損失,這極大地限制了R-GCN和HAN的表現能力。後面將關注着兩個算法在有屬性的和半監督的HNE設置下的表現。

HANYelp數據集上的鏈接預測結果甚至不可得。這是因爲HAN只能預測同類型的兩節點間的連邊(例如 business-business),但是Yelp中所有的連邊連接的都是不同類型的節點(例如 business-user)。


(3)Relation-learning方法在Freebase和PubMed數據集上,兩個任務的表現更好,尤其在鏈接預測任務中表現更好。在表4圖3中我們可以觀察到這兩個數據集,尤其是Freebase數據集,有更多種類型的邊。Relation-learning方法主要是爲KG的嵌入學習設計的(例如 Freebase),可以更好地捕獲到不同種類的有向連接的語義信息


數據集的角度:


(1)所有的方法在Yelp和Freebase的節點分類任務上都有較低的F1值,尤其是Yelp。這是因爲這兩個數據集都有大量的節點標籤,Yelp中是16個,Freebase是8個。

而且,和其他的數據集不同的是,Yelp中的節點可以有多個標籤,這使得分類任務更具挑戰。


(2)圖4中可以看出Freebase的度分佈更加偏斜。這就會導致在Freebase上進行邊的採樣或者隨機遊走時,度數較小的節點被採樣的頻率越低,它們的表示就不能準確地學習到。

這一發現就能解釋爲什麼鏈接預測在Freebase上的度量結果普遍比DBLP和Yelp上的低。


(3)從圖3-6可以看出,網絡屬性在Freebase和PubMed上更加均衡(尤其是在PubMed上)。對於所有算法,這使得節點分類和鏈接預測任務更加困難,同樣使得不同算法間的效果差異變小。


爲了提供不同HNE算法深層次的性能比較,我們進一步對實驗參數進行了控制

圖7中展示了在PubMed數據集上進行節點分類鏈接預測的結果。可以看出,不同的嵌入維度和link removal率可以對大多數算法的結果產生顯著影響。這再次說明了建立包括數據集和評估協議在內的標準基準對系統HNE算法評估的重要性。

PubMed數據集上,大於50維度的嵌入會損害大多數算法的表現性能,尤其是在節點分類任務上。這可能是由於在有限的數據維度和標籤情況下產生了過擬合。有意思的是,隨機去除掉連邊並沒有對鏈接預測任務的效果產生有害的影響,並且沒有對節點分類的預測結果帶來必然的損害。

這意味着節點的類別連接的結構可能並不總是強相關聯的,甚至連接的一部分已經爲節點分類提供了最大程度的有用信息。


針對目前將節點屬性和標籤整合到R-GCN、HAN等嵌入學習中的HNE算法評價,我們還通過在節點屬性中加入隨機高斯噪聲掩蔽(mask)不同數量的訓練標籤進行了控制實驗。

圖8展示了在PubMed數據集上的結果。從中可以看出,所有子圖中的得分都比表5中的高,這表示了R-GCN和HAN在整合節點屬性和標籤方面的有效性

將方差更大的隨機噪聲添加到節點屬性時節點分類的性能顯著下降,但是鏈接預測的性能受的影響很小。當可獲得的訓練標籤更多時,所有算法都在節點分類任務上得到了顯著的提升,但是鏈接預測任務幾乎不受影響

這一發現有一次證實了這兩個任務有着不同的天然特性節點類別可以從節點內容和連接結構等多個信號中推斷得出,而鏈接只和其他鏈接有關聯性


5 Future

文本對多個現有的HNE算法進行了分類,並提供了benchmark數據集和baseline方法,以易於這一方向後續工作的開展。接下來簡單討論一下當前HNE的侷限性值得探索的幾個方向

(1)Beyond homophily(趨同性)

正如式(1)所示,當前的HNE算法利用了網絡的趨同性。最近的針對同質圖的研究結合了位置(positional)和結構(structural)的嵌入,未來可以探索如何將這樣的設計和範式推廣到HNE中。

特別地,在異質圖中,相對位置節點的結構角色使用不同的meta-paths或meta-graphs進行度量,這就可以利用更豐富的信息。但是,這樣的考慮同樣引入了有關計算難度的挑戰。


(2)Beyond accuracy

大多數現有的HNE方法只是關注於算法在下游任務的準確率。未來應該進一步研究HNE的高效性(efficiency)和可擴展性(scalability),時間適應性(用於動態網絡),魯棒性(面向對抗攻擊),可解釋性不確定性(uncertainty),公平性(fairness)。


(3)Beyond node embedding

已經有同質圖上針對圖級別的和子圖級別嵌入算法的相關研究,但是很難在異質圖上應用。儘管HIN2Vec研究了元路徑的嵌入,以提升節點的嵌入表示。但是直接應用異質網的上下文圖級別和子圖級別的嵌入學習還有待進一步研究。


(4)Revisiting KB embedding

KB嵌入HNE主要區別在於節點和連邊類型的數量。直接將KB的嵌入學習方法用於異質網的話,沒有考慮到有豐富語義信息的元路徑,直接將HNE應用到KB也是不現實的,因爲KB元路徑的數量是指數級別的。

未來可以研究這兩組方法和這兩種類型數據的交互

例如,如何將異質圖中的元路徑思想與KB中的embedding transformation相結合,以爲HNE提供更多的語義感知的轉換操作(semantic-aware transformation)?

如何爲KB的嵌入學習設計基於截斷的隨機遊走方法(truncated random walk),以學習到包含高階關係信息的嵌入表示?


(5)Modeling heterogeneous contexts

異質網的嵌入學習主要是對不同類型的節點和邊進行建模。然而,如今的網絡中可能包含豐富的內容信息,這些信息爲節點、邊和子網絡提供了上下文信息。

因此,如何通過多模態的內容結構的集成來對多方面(multi-facet)環境下的異構信息交互進行建模,是一個具有挑戰性但值得研究的方向。


(6)Understanding the limitation

雖然HNE(以及其他的基於神經網絡的表示學習模型)在多個領域中都有着很好的表現,但是我們還需要理解它的一些潛在的侷限性

例如,在什麼情況下流行的HNE算法比傳統的網絡挖掘方法(例如 path counting, 子圖匹配, 非神經的或線性的模型)表現更好?如何聯合兩種類型的方法的優點

此外,已經有一些針對同質網神經網絡背後數學機制的深入研究(例如 smoothingm, 低通濾波器, invariant and equivariant變換)。本工作對現有的HNE模型進行了統一整理,也有助於促進對HNE的能力和侷限性的進一步理論研究。

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