【论文翻译 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.2 提出的范式
- 2 算法分類
- 2.1 Proximity-Preserving 方法
- 2.1.1 基于隨機游走的方法
- 2.1.2 基于一階/二階相似度的方法
- 2.2 Message-Passing 方法
- 2.3 Relation-Learning 方法
- 3 Benchmark
- 3.1 數據集的準備
- 3.2 結構分析
- 3.3 設置,任務和度量
- 4 實驗評估
- 4.1 Algorithms and Modifications
- 4.2 Performance Benchmarks
- 5 Future
1 Generic Paradigm
1.1 問題定義
(1)網絡嵌入(Network embedding)
給定圖G={V,E}G={\{V, E}\}G={V,E},VVV是節點集合,EEE是邊集合。網絡嵌入就是一個將節點映射成低維向量表示的函數:Φ:V→R∣V∣×d\Phi : V\rightarrow \mathbb{R}^{|V|\times d}Φ:V→R∣V∣×d,ddd遠小于∣V∣|V|∣V∣。映射函數Φ\PhiΦ定義了每個節點的隱層表示,表示中含有從邊集EEE中捕獲到的圖的結構信息。
在多數情況下,網絡相似性(network proximity)是需要捕獲的主要拓撲信息。例如,DeepWalk就捕獲到了基于隨機游走的節點相似性。隨后有各種工作對DeepWalk進行了改進和擴展,這不屬于本文的范圍,DeepWalk是應用于同質圖的,本文關注的是異質圖的表示學習。
(2)異質網(Heterogeneous network)
異質網H={V,E,?,ψ}H={\{V, E, \phi, \psi}\}H={V,E,?,ψ}有多種類型的節點和邊。HHH中,每個節點viv_ivi?都對應一種節點類型?(vi)\phi(v_i)?(vi?),每個邊eije_{ij}eij?都對應一種邊類型ψ(eij)\psi(e_{ij})ψ(eij?)。邊的類型自動定義了其兩端節點的類型。
(3)元路徑(Meta-path)
元路徑是定義在network schema上的由不同類型的節點和邊組成的序列。
每個元路徑都從特定的語義角度捕獲到了其兩端節點的相似性。使用不同的元路徑就可以使得模型計算到多模多類型的節點相似性和關系,有助于學習到更豐富的節點表示。
(4)異質網嵌入(Heterogeneous network embedding)
給定一個異質圖HHH,異質網嵌入就是一組映射函數:{Φ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是節點類型的數量,?vi∈Vk,?(vi)=k\forall v_i \in V_k, \phi(v_i)=k?vi?∈Vk?,?(vi?)=k。映射函數Φk\Phi_kΦk?定義了類型為kkk的所有節點的隱層表示,捕獲到了EEE中關于異質邊的網絡拓撲信息。
1.2 提出的范式
HNE一個最重要的原則就是趨同性。在網絡嵌入中,趨同性可以解釋成“在網絡中相近的節點應該有相似的嵌入表示”。
事實上,我們進一步發現了同質性原理和在網絡上廣泛使用的平滑實施技術之間的內在聯系,提出了一個通用的數學范式,涵蓋了大多數現有的和可能的許多未來的HNE算法。
作者引入如下的目標函數:
其中,eu=Φ(u),ev=Φ(v)e_u=\Phi(u), e_v=\Phi(v)eu?=Φ(u),ev?=Φ(v)是需要學習得到的節點嵌入向量。wuvw_{uv}wuv?是權重,d(?,?)d(\cdot, \cdot)d(?,?)是計算嵌入向量間距離的函數,JR\mathcal{J}_RJR?是附加的目標函數(例如正則化),在不同的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}M,在第iii步的轉移概率定義為:
其中,Nl(v)={u∣ψ(u,v)=l}\mathcal{N}_l(v)={\{u|\psi(u, v)=l}\}Nl?(v)={u∣ψ(u,v)=l}為通過類型為lll的邊和節點vvv相連接的鄰居節點。假定P={P1,...,PM}\mathcal{P}={\{\mathcal{P}_1,..., \mathcal{P}_M}\}P={P1?,...,PM?}是隨機游走生成的一組序列。則metapath2vec的目標函數為:
其中,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)出現的次數,將式(3)重寫為如下的形式:
分母需要對所有節點進行計算求和,計算量很大。在實際的計算中,通常使用負采樣進行近似。
(2)HIN2Vec
HIN2Vec是考慮節點u,vu,vu,v間存在元路徑M\mathcal{M}M的可能性:
其中,1\mathbf{1}1是全1的向量,⊙\odot⊙是Hadamard乘積,f01f_{01}f01?是正則化函數。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函數,于是有:
HIN2Vec忽略節點/邊的類型,使用同質的隨機游走生成了多個正的三元組樣本(u,v,M)(u, v, \mathcal{M})(u,v,M)。對于每個正樣本,將uuu隨機替換成u′u^{'}u′,生成多個負樣本。目標函數為:
這其實就是對如下目標函數的負采樣近似值:
其中wuvMw^{\mathcal{M}}_{uv}wuvM?是在元路徑為M\mathcal{M}M的前提下,節點u,vu, vu,v間的路徑實例數。
(3)SHINE
SHINE在metapath2vec的基礎上記性了改進,考慮到了附加的節點信息。一些類型的節點可能有附加的文本信息(定義為xvx_vxv?)。它提出了基于GRU的深層編碼函數fENCf_{ENC}fENC?。若vvv有文本信息,則ev=fENC(xv)e_v=f_{ENC}(x_v)ev?=fENC?(xv?);否則,eve_vev?就表示可訓練的節點嵌入。
SHINE的目標函數和metapath2vec一樣,它還可以通過利用特定領域的深層編碼器,直接擴展到其他類型的節點信息,例如類別屬性值、圖像等。
其他的基于隨機游走的方法總結到了表1中。MRWNN將內容先驗整合到了DeepWalk嵌入中;HHNE將metapath2vec擴展到了雙曲空間;GHE提出了一種半監督的元路徑加權技術;MNE在多視圖網絡中對每個視圖分別進行隨機游走;JUST提出Jump/Stay隨機游走,不依賴于預先定義的元路徑。
2.1.2 基于一階/二階相似度的方法
(1)PTE
PTE提出將異質網分解為多個二部圖,每個都描述了一種類型的邊。它的目標函數是對所有二部圖的對數似然的和:
其中,TE\mathcal{T}_ETE?是邊類型的集合;wuvlw^l_{uv}wuvl?是節點對(u,v)(u, v)(u,v)間類型為lll的邊所對應的權重(若u,vu, vu,v間沒有類型為lll的連邊,則該值為0);wuv=∑lwuvlw_{uv}=\sum_l w^l_{uv}wuv?=∑l?wuvl?是節點u,vu, vu,v間邊的權重之和。
(2)AspEm
AspEm假定每個異質圖都有多個角度(aspects),將每個角度定義成network schema的一個子圖。AspEm還提出了一個不兼容的度量,以為嵌入學習選取合適的角度。給定一個角度aaa,目標函數為:
其中,TEa\mathcal{T}_E^aTEa?是角度aaa下的邊集合;Zl=∑u,vwuvlZ_l=\sum_{u, v}w^l_{uv}Zl?=∑u,v?wuvl?是為了規范化的參數;eu,ae_{u, a}eu,a?是節點uuu在特定角度下的嵌入表示。
(3)HEER
HEER是PTE的擴展,它考慮到了typed closeness。類型為lll的邊有嵌入表示μl\mu_lμl?。目標函數為:
其中,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乘積針對有向邊和無向邊有不同的定義。本文為了總結的簡化,我們假定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?和目標函數:
其他的基于一階/二階相似度的方法總結到了表1中。HNE模型中引入了一個節點的類型感知的內容編碼器(node type-aware content encoder);CMF在分解得到的二部圖中進行了聯合的矩陣分解;HEBE考慮到了每個元路徑,保留了相似性信息;Phine面向半監督的訓練,結合了額外的正則化;MVE提出基于attention的框架,考慮到了同一節點的多個視角。
還有一些研究采取了其他形式的目標函數來描述一階/二階相似性。例如,SHINE受SDNE的啟發,使用自動編碼器的重構損失作為目標函數;DRL提出在每一步學習一種類型的邊,并使用深度強化學習的方法選擇下一步的邊類型;HINSE基于不同元路徑的鄰接矩陣,采用譜嵌入的方法;HeGAN使用關系類型感知的判別器,提出對抗學習的框架。
基于上述討論,大多數proximity-preserving方法可以定義為:
其中,wuvw_{uv}wuv?是針對特定元路徑M\mathcal{M}M或者是針對類型為lll的邊的,可表示為wuvMw^{\mathcal{M}}_{uv}wuvM?或wuvlw^l_{uv}wuvl?;JR0\mathcal{J}_{R0}JR0?是針對特定算法的正則化函數(表1中有總結);s(u,v)s(u, v)s(u,v)是節點u,vu, vu,v間的相似度度量函數。
在大多數情況下,可以將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??。在這些方法中,目標函數可形式化為:
第二步得出是因為:∣∣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。因此,我們的目標等價于:
其中,JR1\mathcal{J}_{R1}JR1?和JR2\mathcal{J}_{R2}JR2?是兩個正則化函數。沒有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中總結了wuv,d(eu,ev),JR0w_{uv}, d(e_u, e_v), \mathcal{J}_{R0}wuv?,d(eu?,ev?),JR0?的不同選擇。
2.2 Message-Passing 方法
網絡中的每個節點都可能有屬性信息,表示為xux_uxu?。消息傳遞(Message-passing)的方法目的就是通過聚合來自節點uuu的鄰居的信息以及節點uuu自身的屬性信息xux_uxu?,學習得到節點嵌入表示eue_ueu?。近些年的研究中,GNN被廣泛用于消息的聚合和傳遞過程。
(1)R-GCN
R-GCN有KKK層卷積,初始的節點表示hu(0)h^{(0)}_uhu(0)?是節點的特征xux_uxu?,在第kkk層卷積,每個節點向量表示是通過聚合鄰居節點的信息得到的:
和傳統的GCNs不同,R-GCN考慮到了邊的異質性,為每種類型的邊都學習到了一個矩陣WWW。在消息傳遞時,同一類型的邊的鄰居先被聚合并歸一化。第KKK層的輸出ev=hv(K)e_v=h^{(K)}_vev?=hv(K)?就是節點嵌入。
在無監督的實驗設置中,消息傳遞方法使用鏈接預測作為下游任務,最大化異質網中出現邊的似然,來對GNNs進行訓練。R-GCN使用負采樣和交叉熵損失,對如下的目標函數進行近似:
其中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,節點uuu的表示是從基于該元路徑的鄰居聚合的,鄰居節點為: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提出注意力機制為不同的鄰居學習到不同的權重:
其中,aMa_{\mathcal{M}}aM?是元路徑M\mathcal{M}M下節點級別的注意力向量;xu′=M?(u)xux^{'}_u=M_{\phi(u)}x_uxu′?=M?(u)?xu?是節點uuu映射后的特征向量;∣∣||∣∣表示連接操作。
給定特定元路徑下的嵌入huMh^{\mathcal{M}}_uhuM?,HAN使用語義級別的注意力為不同的元路徑分配不同的權重:
其中qqq是語義級別的注意力向量。
最近,有學者提出HGDI來提升基于HAN的無監督訓練效果;HGT的提出實現了對動態圖進行時間編碼以及在大規模數據上進行mini-batch的采樣。
因為HAN是為半監督的節點分類問題設計的,當需要在無監督的情況下學習節點嵌入時(就像許多的proximity-preserving方法),我們通常采用鏈接預測任務的損失函數,例如R-GCN和GraphSAGE。
(3)HetGNN
HetGNN假定每個節點都和不同的特征相關聯,例如類別、文本、圖像。它首先將每個節點的內容信息編碼成向量hush^s_uhus?,然后使用節點的類型感知(node type-aware)的聚合函數從鄰居節點收集信息:
其中NRWR(v)\mathcal{N}_{RWR}(v)NRWR?(v)是使用帶重啟的隨機游走得到的節點vvv的鄰居。HetGNN對不同類型的鄰居節點使用注意力機制,以得到最終的嵌入,和HAN的思想一致:
HetGNN的損失函數和PTE的一樣。
還有一些其他的message-passing方法。例如HEP從鄰居No(u)\mathcal{N}_o(u)No?(u)(例如 節點類型感知的鄰居)進行聚合得到uuu的表示,應用于電商平臺的用戶對齊;GATNE從鄰居Nl(u)\mathcal{N}_l(u)Nl?(u)(例如 邊類型感知的鄰居)進行聚合得到uuu的表示,應用于transductive和inductive的網絡嵌入學習。
上述的message-passing方法也可以寫成式(4)的形式,其中s(u,v)s(u, v)s(u,v)是關于eu,eve_u, e_veu?,ev?的函數。唯一的不同之處在于,這里的eue_ueu?是使用GNNs從xvx_vxv?聚合得到的。若我們仍將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使用了額外的重構損失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?)和聚合函數的不同選擇,總結在了表2中。
2.3 Relation-Learning 方法
異質網中的每個邊都可以看成一個三元組(u,l,v)(u, l, v)(u,l,v),其中u,vu, vu,v是節點,l∈TEl\in \mathcal{T}_El∈TE?是邊的類型(例如 KG中的實體和關系)。
relation-learning方法的目標是學習到一個打分函數sl(u,v)s_l(u, v)sl?(u,v),對任意一個三元組進行評估,衡量這個三元組可接受性。這一思想廣泛用于KB的嵌入學習。已經有了KB嵌入學習算法的綜述,我們在這里只考慮最流行的方法并且突出它們和HNE的關聯。
(1)TransE
TransE假定若存在三元組(u,l,v)(u, l , v)(u,l,v),則有這樣的嵌入變換:eu+el=eve_u + e_l = e_veu?+el?=ev?。因此TransE的打分函數就定義為: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。目標函數就是最小化一個margin-based ranking loss:
其中,TTT是正的三元組樣本集合,T(u,l,v)′T^{'}_{(u, l, v)}T(u,l,v)′?是將uuu或vvv隨機替換得到的負的三元組樣本集合:
TransE是使用"a translational distance"來定義打分函數的最具代表性的模型。它的擴展有TransH, TransR, RHINE等。
(2)DistMult
和translational distance的模型不同,DistMult使用了基于相似性的打分函數。每個關系都用一個對角矩陣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)使用雙線性函數定義:
注意,對于任意的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主要用于對稱的關系數據。
除了DistMult,RESCAL也是用雙線性的打分函數,但是不將AlA_lAl?限制為對角陣。
(3)ConvE
ConvE不使用簡單的距離或相似性函數,而是提出了深層的神經模型為三元組打分。分值由在2D的嵌入上的卷積決定:
其中,Eu,ErE_u, E_rEu?,Er?分別表示節點嵌入和關系嵌入的2D矩陣,"?*?"是卷積操作。
其他使用深度神經網絡作為打分函數的模型包括:NTN,CACL,SACN,NKGE等。
所有上述提到的基于relation-learning的嵌入算法都采用了式(6)的margin-based ranking loss,再加上一些正則項,作為損失函數:
有學者提出基于margin的損失和如下的負采樣損失有著相似的形式:
使用負采樣損失重寫式(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)的形式比內積或者距離更加復雜。在這些情況下,因為距離和相似度可以看成相反的度量,我們將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?(?,?)的上界,是一個常數。則損失函數和式(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??的不同選擇總結到了表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 數據集的準備
我們整理并公開了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方法中,HIN2Vec和HEER在鏈接預測任務中表現出了很好的效果,但是在節點分類問題上表現欠佳(尤其是在DBLP和Freebase數據集上)。實際上這兩個方法的目標主要是對邊的表示進行建模(HIN2Vec中的AMA_{\mathcal{M}}AM?,HEER中的AlA_lAl?),所以更適用于鏈接預測任務。
(2)在無監督無屬性的HNE設置下,message-passing方法表現不好,尤其是在節點分類任務中。正如我們前面所討論過的,message-passing方法集成了節點屬性、鏈接結構和訓練標簽。當節點屬性和標簽都沒有的時候,我們使用隨機的向量表示作為節點特征,并且使用鏈接預測的損失,這極大地限制了R-GCN和HAN的表現能力。后面將關注著兩個算法在有屬性的和半監督的HNE設置下的表現。
HAN在Yelp數據集上的鏈接預測結果甚至不可得。這是因為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的能力和局限性的進一步理論研究。
總結
以上是生活随笔為你收集整理的【论文翻译 arXiv 2020】异质网表示学习综述-韩家炜组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个ubuntu16.04镜像下载地址
- 下一篇: EHOME协议介绍