【论文翻译 arXiv 2020】异质网表示学习综述-韩家炜组

36 篇文章 24 订阅

论文题目: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}\} G={V,E} V V V是节点集合, E E E是边集合。网络嵌入就是一个将节点映射成低维向量表示的函数: Φ : V → R ∣ V ∣ × d \Phi : V\rightarrow \mathbb{R}^{|V|\times d} Φ:VRV×d d d d远小于 ∣ V ∣ |V| V。映射函数 Φ \Phi Φ定义了每个节点的隐层表示,表示中含有从边集 E E E中捕获到的图的结构信息。

在多数情况下,网络相似性(network proximity)是需要捕获的主要拓扑信息。例如,DeepWalk就捕获到了基于随机游走的节点相似性。随后有各种工作对DeepWalk进行了改进和扩展,这不属于本文的范围,DeepWalk是应用于同质图的,本文关注的是异质图的表示学习。

(2)异质网(Heterogeneous network)

异质网 H = { V , E , ϕ , ψ } H={\{V, E, \phi, \psi}\} H={V,E,ϕ,ψ}有多种类型的节点和边。 H H H中,每个节点 v i v_i vi都对应一种节点类型 ϕ ( v i ) \phi(v_i) ϕ(vi),每个边 e i j e_{ij} eij都对应一种边类型 ψ ( e i j ) \psi(e_{ij}) ψ(eij)。边的类型自动定义了其两端节点的类型。

(3)元路径(Meta-path)

元路径是定义在network schema上的由不同类型的节点和边组成的序列。

每个元路径都从特定的语义角度捕获到了其两端节点的相似性。使用不同的元路径就可以使得模型计算到多模多类型的节点相似性和关系,有助于学习到更丰富的节点表示。

(4)异质网嵌入(Heterogeneous network embedding)

给定一个异质图 H H H,异质网嵌入就是一组映射函数: { Φ k : V k → R ∣ V k ∣ × d } k = 1 K {\{\Phi_k: V_k\rightarrow \mathbb{R}^{|V_k|\times d}\}}^K_{k=1} {Φk:VkRVk×d}k=1K。其中 K K K是节点类型的数量, ∀ v i ∈ V k , ϕ ( v i ) = k \forall v_i \in V_k, \phi(v_i)=k viVk,ϕ(vi)=k。映射函数 Φ k \Phi_k Φk定义了类型为 k k k的所有节点的隐层表示,捕获到了 E E E中关于异质边的网络拓扑信息。


1.2 提出的范式

HNE一个最重要的原则就是趋同性。在网络嵌入中,趋同性可以解释成“在网络中相近的节点应该有相似的嵌入表示”。

事实上,我们进一步发现了同质性原理和在网络上广泛使用的平滑实施技术之间的内在联系,提出了一个通用的数学范式,涵盖了大多数现有的和可能的许多未来的HNE算法。

作者引入如下的目标函数

其中, e u = Φ ( u ) , e v = Φ ( v ) e_u=\Phi(u), e_v=\Phi(v) eu=Φ(u),ev=Φ(v)是需要学习得到的节点嵌入向量。 w u v w_{uv} wuv是权重, d ( ⋅ , ⋅ ) d(\cdot, \cdot) d(,)是计算嵌入向量间距离的函数, J R \mathcal{J}_R JR是附加的目标函数(例如正则化),在不同的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在第 i i i步的转移概率定义为

其中, N l ( v ) = { u ∣ ψ ( u , v ) = l } \mathcal{N}_l(v)={\{u|\psi(u, v)=l}\} Nl(v)={uψ(u,v)=l}为通过类型为 l l l的边和节点 v v v相连接的邻居节点。假定 P = { P 1 , . . . , P M } \mathcal{P}={\{\mathcal{P}_1,..., \mathcal{P}_M}\} P={P1,...,PM}是随机游走生成的一组序列。则metapath2vec的目标函数为:

其中, C ( v ) \mathcal{C}(v) C(v) v v v P \mathcal{P} P中的上下文。例如,若 P 1 = v 1 v 2 v 3 v 4 v 5 . . . \mathcal{P}_1=v_1v_2v_3v_4v_5... P1=v1v2v3v4v5...,上下文窗口大小为2,则 { v 1 , v 2 , v 4 , v 5 } ⊆ C ( v 3 ) {\{v_1, v_2, v_4, v_5}\}\subseteq \mathcal{C}(v_3) {v1,v2,v4,v5}C(v3)。令 w u v w_{uv} wuv记为在 P \mathcal{P} P u ∈ C ( v ) u\in \mathcal{C}(v) uC(v)出现的次数,将式(3)重写为如下的形式:

分母需要对所有节点进行计算求和,计算量很大。在实际的计算中,通常使用负采样进行近似


(2)HIN2Vec

HIN2Vec是考虑节点 u , v u,v u,v间存在元路径 M \mathcal{M} M的可能性

其中, 1 \mathbf{1} 1是全1的向量, ⊙ \odot 是Hadamard乘积, f 01 f_{01} f01是正则化函数。 e u = W X T u , e v = W X T v , e M = f 01 ( W R T m ) e_u=W^T_Xu, e_v=W^T_Xv, e_{\mathcal{M}}=f_{01}(W^T_Rm) eu=WXTu,ev=WXTv,eM=f01(WRTm)可视为 u , v , M u, v, \mathcal{M} u,v,M的嵌入表示。令 A M = d i a g ( e M 1 , . . . , e M d ) \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)。对于每个正样本,将 u u u随机替换成 u ′ u^{'} u,生成多个负样本。目标函数为:

这其实就是对如下目标函数的负采样近似值:

其中 w u v M w^{\mathcal{M}}_{uv} wuvM是在元路径为 M \mathcal{M} M的前提下,节点 u , v u, v u,v间的路径实例数。


(3)SHINE

SHINE在metapath2vec的基础上记性了改进,考虑到了附加的节点信息。一些类型的节点可能有附加的文本信息(定义为 x v x_v xv)。它提出了基于GRU的深层编码函数 f E N C f_{ENC} fENC。若 v v v有文本信息,则 e v = f E N C ( x v ) e_v=f_{ENC}(x_v) ev=fENC(xv);否则, e v e_v ev就表示可训练的节点嵌入。

SHINE的目标函数和metapath2vec一样,它还可以通过利用特定领域的深层编码器,直接扩展到其他类型的节点信息,例如类别属性值、图像等。


其他的基于随机游走的方法总结到了表1中。MRWNN将内容先验整合到了DeepWalk嵌入中;HHNE将metapath2vec扩展到了双曲空间;GHE提出了一种半监督的元路径加权技术;MNE在多视图网络中对每个视图分别进行随机游走;JUST提出Jump/Stay随机游走,不依赖于预先定义的元路径。


2.1.2 基于一阶/二阶相似度的方法

(1)PTE

PTE提出将异质网分解为多个二部图,每个都描述了一种类型的边。它的目标函数是对所有二部图的对数似然的和:

其中, T E \mathcal{T}_E TE是边类型的集合; w u v l w^l_{uv} wuvl是节点对 ( u , v ) (u, v) (u,v)间类型为 l l l的边所对应的权重(若 u , v u, v u,v间没有类型为 l l l的连边,则该值为0); w u v = ∑ l w u v l w_{uv}=\sum_l w^l_{uv} wuv=lwuvl是节点 u , v u, v u,v间边的权重之和。


(2)AspEm

AspEm假定每个异质图都有多个角度(aspects),将每个角度定义成network schema的一个子图。AspEm还提出了一个不兼容的度量,以为嵌入学习选取合适的角度。给定一个角度 a a a,目标函数为:

其中, T E a \mathcal{T}_E^a TEa是角度 a a a下的边集合; Z l = ∑ u , v w u v l Z_l=\sum_{u, v}w^l_{uv} Zl=u,vwuvl是为了规范化的参数; e u , a e_{u, a} eu,a是节点 u u u在特定角度下的嵌入表示。


(3)HEER

HEER是PTE的扩展,它考虑到了typed closeness。类型为 l l l边有嵌入表示 μ l \mu_l μl。目标函数为:

其中, g u v g_{uv} guv是边 ( u , v ) (u, v) (u,v)的嵌入表示; P l ( 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原文中的 g u v g_{uv} guv基于Hadamard乘积针对有向边和无向边有不同的定义。本文为了总结的简化,我们假定 g u v = e u ⋅ e v g_{uv}=e_u\cdot e_v guv=euev。令 A l = d i a g ( μ l 1 , . . . , μ l d ) A_l=diag(\mu_{l1},..., \mu_{ld}) Al=diag(μl1,...,μld),则有 μ l T g u v = e u T A l e v \mu^T_lg_{uv}=e^T_uA_le_v μlTguv=euTAlev和目标函数:


其他的基于一阶/二阶相似度的方法总结到了表1中。HNE模型中引入了一个节点的类型感知的内容编码器(node type-aware content encoder);CMF在分解得到的二部图中进行了联合的矩阵分解;HEBE考虑到了每个元路径,保留了相似性信息;Phine面向半监督的训练,结合了额外的正则化;MVE提出基于attention的框架,考虑到了同一节点的多个视角。


还有一些研究采取了其他形式的目标函数描述一阶/二阶相似性。例如,SHINE受SDNE的启发,使用自动编码器的重构损失作为目标函数;DRL提出在每一步学习一种类型的边,并使用深度强化学习的方法选择下一步的边类型;HINSE基于不同元路径的邻接矩阵,采用谱嵌入的方法;HeGAN使用关系类型感知的判别器,提出对抗学习的框架。


基于上述讨论,大多数proximity-preserving方法可以定义为

其中, w u v w_{uv} wuv是针对特定元路径 M \mathcal{M} M或者是针对类型为 l l l的边的,可表示为 w u v M w^{\mathcal{M}}_{uv} wuvM w u v l w^l_{uv} wuvl J R 0 \mathcal{J}_{R0} JR0是针对特定算法的正则化函数(表1中有总结); s ( u , v ) s(u, v) s(u,v)是节点 u , v u, v u,v间的相似度度量函数。

在大多数情况下,可以将 s ( u , v ) s(u, v) s(u,v)写成 f ( e u ) T f ( e v ) f(e_u)^Tf(e_v) f(eu)Tf(ev)。例如metapath2vec、PTE f ( e u ) = e u f(e_u)=e_u f(eu)=euHIN2Vec f ( e u ) = A M e u f(e_u)=\sqrt{A_{\mathcal{M}}e_u} f(eu)=AMeu HEER f ( e u ) = A l e u f(e_u)=\sqrt{A_{\mathcal{l}}e_u} f(eu)=Aleu 。在这些方法中,目标函数可形式化为

第二步得出是因为 ∣ ∣ x − y ∣ ∣ 2 = ( x − y ) T ( x − y ) = ∣ ∣ x ∣ ∣ 2 + ∣ ∣ y ∣ ∣ 2 − 2 x T y ||x-y||^2=(x-y)^T(x-y)=||x||^2+||y||^2-2x^Ty xy2=(xy)T(xy)=x2+y22xTy。因此,我们的目标等价于

其中, J R 1 \mathcal{J}_{R1} JR1 J R 2 \mathcal{J}_{R2} JR2是两个正则化函数。没有 J R 1 \mathcal{J}_{R1} JR1时,让 ∣ ∣ f ( e v ) ∣ ∣ → 0 ||f(e_v)||\rightarrow 0 f(ev)0可以最小化 d ( e u , e v ) d(e_u, e_v) d(eu,ev);没有 J R 2 \mathcal{J}_{R2} JR2时,让 e v ≡ c , ( ∀ v ∈ V ) e_v\equiv c, (\forall v\in V) evc,(vV)可以最小化 d ( e u , e v ) d(e_u, e_v) d(eu,ev)

式(1)中的 J R \mathcal{J}_R JR − J R 0 , − J R 1 , J R 2 -\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2} JR0,JR1,JR2的和。表1中总结了 w u v , d ( e u , e v ) , J R 0 w_{uv}, d(e_u, e_v), \mathcal{J}_{R0} wuv,d(eu,ev),JR0的不同选择。


2.2 Message-Passing 方法

网络中的每个节点都可能有属性信息,表示为 x u x_u xu消息传递(Message-passing)的方法目的就是通过聚合来自节点 u u u的邻居的信息以及节点 u u u自身的属性信息 x u x_u xu学习得到节点嵌入表示 e u e_u eu。近些年的研究中,GNN被广泛用于消息的聚合和传递过程。

(1)R-GCN

R-GCN有 K K K层卷积,初始的节点表示 h u ( 0 ) h^{(0)}_u hu(0)是节点的特征 x u x_u xu在第 k k k层卷积,每个节点向量表示是通过聚合邻居节点的信息得到的

和传统的GCNs不同,R-GCN考虑到了边的异质性为每种类型的边都学习到了一个矩阵 W W W。在消息传递时,同一类型的边的邻居先被聚合并归一化。第 K K K层的输出 e v = h v ( K ) e_v=h^{(K)}_v ev=hv(K)就是节点嵌入。

无监督的实验设置中,消息传递方法使用链接预测作为下游任务,最大化异质网中出现边的似然,来对GNNs进行训练。R-GCN使用负采样交叉熵损失,对如下的目标函数进行近似:

其中 w u v l = 1 ( u , v ) ∈ E 1 w^l_{uv}=\mathbf{1}_{(u,v)\in E_1} wuvl=1(u,v)E1


(2)HAN

HAN没有直接使用一阶邻居,而是使用元路径来建模更高阶的相似性。给定一个元路径 M \mathcal{M} M,节点 u u u的表示是从基于该元路径的邻居聚合的,邻居节点为: N M ( u ) = { u } ∪ { v ∣ v 通 过 元 路 径 M 和 u 相 连 } \mathcal{N}_{\mathcal{M}}(u)={\{u}\}\cup {\{v| v通过元路径\mathcal{M}和u相连}\} NM(u)={u}{vvMu}。HAN提出注意力机制为不同的邻居学习到不同的权重:

其中, a M a_{\mathcal{M}} aM是元路径 M \mathcal{M} M下节点级别的注意力向量; x u ′ = M ϕ ( u ) x u x^{'}_u=M_{\phi(u)}x_u xu=Mϕ(u)xu是节点 u u u映射后的特征向量; ∣ ∣ || 表示连接操作。

给定特定元路径下的嵌入 h u M h^{\mathcal{M}}_u huM,HAN使用语义级别的注意力为不同的元路径分配不同的权重:

其中 q q q是语义级别的注意力向量。

最近,有学者提出HGDI来提升基于HAN的无监督训练效果;HGT的提出实现了对动态图进行时间编码以及在大规模数据上进行mini-batch的采样

因为HAN是为半监督的节点分类问题设计的,当需要在无监督的情况下学习节点嵌入时(就像许多的proximity-preserving方法),我们通常采用链接预测任务的损失函数,例如R-GCNGraphSAGE


(3)HetGNN

HetGNN假定每个节点都和不同的特征相关联,例如类别、文本、图像。它首先将每个节点的内容信息编码成向量 h u s h^s_u hus,然后使用节点的类型感知(node type-aware)的聚合函数从邻居节点收集信息:

其中 N R W R ( v ) \mathcal{N}_{RWR}(v) NRWR(v)是使用带重启的随机游走得到的节点 v v v的邻居。HetGNN对不同类型的邻居节点使用注意力机制,以得到最终的嵌入,和HAN的思想一致:

HetGNN的损失函数和PTE的一样


还有一些其他的message-passing方法。例如HEP从邻居 N o ( u ) \mathcal{N}_o(u) No(u)(例如 节点类型感知的邻居)进行聚合得到 u u u的表示,应用于电商平台的用户对齐;GATNE从邻居 N l ( u ) \mathcal{N}_l(u) Nl(u)(例如 边类型感知的邻居)进行聚合得到 u u u的表示,应用于transductive和inductive的网络嵌入学习。

上述的message-passing方法也可以写成式(4)的形式,其中 s ( u , v ) s(u, v) s(u,v)是关于 e u , e v e_u, e_v eu,ev的函数。唯一的不同之处在于,这里的 e u e_u eu是使用GNNs从 x v x_v xv聚合得到的。若我们仍将 J R \mathcal{J}_R JR写成式(1)中 − J R 0 , − J R 1 , J R 2 -\mathcal{J}_{R_0}, -\mathcal{J}_{R_1}, \mathcal{J}_{R_2} JR0,JR1,JR2的和,则可以得到如式(5)所示的相同的 J R 1 , J R 2 \mathcal{J}_{R_1}, \mathcal{J}_{R_2} JR1,JR2

在这组算法中,只有HEP使用了额外的重构损失 J R 0 = ∑ v ∣ ∣ e v − h v ∣ ∣ 2 \mathcal{J}_{R_0}=\sum_v ||e_v-h_v||^2 JR0=vevhv2其他所有的算法中都有 J R 0 = 0 \mathcal{J}_{R_0}=0 JR0=0。我们将 w u v , d ( e u , e v ) 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 , v u, v u,v是节点, l ∈ T E l\in \mathcal{T}_E lTE是边的类型(例如 KG中的实体和关系)。

relation-learning方法的目标是学习到一个打分函数 s l ( u , v ) s_l(u, v) sl(u,v),对任意一个三元组进行评估,衡量这个三元组可接受性。这一思想广泛用于KB的嵌入学习。已经有了KB嵌入学习算法的综述,我们在这里只考虑最流行的方法并且突出它们和HNE的关联。

(1)TransE

TransE假定若存在三元组 ( u , l , v ) (u, l , v) (u,l,v),则有这样的嵌入变换: e u + e l = e v e_u + e_l = e_v eu+el=ev。因此TransE的打分函数就定义为: s l ( u , v ) = − ∣ ∣ e u + e l − e v ∣ ∣ p , p = 1 或 2 s_l(u, v)=-||e_u+e_l-e_v||_p, p=1或2 sl(u,v)=eu+elevp,p=12。目标函数就是最小化一个margin-based ranking loss

其中, T T T是正的三元组样本集合, T ( u , l , v ) ′ T^{'}_{(u, l, v)} T(u,l,v)是将 u u u v v v随机替换得到的负的三元组样本集合:

TransE是使用"a translational distance"来定义打分函数的最具代表性的模型。它的扩展TransH, TransR, RHINE等。


(2)DistMult

和translational distance的模型不同,DistMult使用了基于相似性的打分函数。每个关系都用一个对角矩阵 A l = d i a g ( e l 1 , . . . , e l d ) A_l=diag(e_{l1},...,e_{ld}) Al=diag(el1,...,eld)表示, s l ( u , v ) s_l(u,v) sl(u,v)使用双线性函数定义:

注意,对于任意的 u , v u, v u,v,都有 s l ( u , v ) = s l ( v , u ) s_l(u,v)=s_l(v,u) sl(u,v)=sl(v,u)。因此DistMult主要用于对称的关系数据。

除了DistMult,RESCAL也是用双线性的打分函数,但是不将 A l A_l Al限制为对角阵


(3)ConvE

ConvE不使用简单的距离或相似性函数,而是提出了深层的神经模型为三元组打分。分值由在2D的嵌入上的卷积决定

其中, E u , E r E_u, E_r Eu,Er分别表示节点嵌入和关系嵌入的2D矩阵," ∗ * "是卷积操作。

其他使用深度神经网络作为打分函数的模型包括:NTN,CACL,SACN,NKGE等。


所有上述提到的基于relation-learning的嵌入算法都采用了式(6)的margin-based ranking loss,再加上一些正则项,作为损失函数:

有学者提出基于margin的损失和如下的负采样损失有着相似的形式:

使用负采样损失重写式(7),就可以近似成最大化如下的式子:

  • 对于translational distance模型 s l ( u , v ) s_l(u, v) sl(u,v)是通过距离描述的,等价于:

此例中,可将 J R \mathcal{J}_R JR写成 − J R 0 + J R 1 -\mathcal{J}_{R_0}+\mathcal{J}_{R_1} JR0+JR1

  • 对于neural triplet scores s l ( u , v ) s_l(u, v) sl(u,v)的形式比内积或者距离更加复杂。在这些情况下,因为距离和相似度可以看成相反的度量,我们将 d ( e u , e v ) d(e_u, e_v) d(eu,ev)定义成 C − s l ( u , v ) C-s_l(u, v) Csl(u,v),其中 C C C s l ( ⋅ , ⋅ ) s_{l}(\cdot, \cdot) sl(,)的上界,是一个常数。则损失函数和式(8)就相似了,仍有 J R = − J R 0 + J R 1 \mathcal{J}_R=-\mathcal{J}_{R_0}+\mathcal{J}_{R_1} JR=JR0+JR1

我们将 w u v l , d ( e u , e v ) , J R 0 w^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 ( e u , e v ) ≠ d ( e v , e u ) 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方法中,HIN2VecHEER在链接预测任务中表现出了很好的效果,但是在节点分类问题上表现欠佳(尤其是在DBLP和Freebase数据集上)。实际上这两个方法的目标主要是对边的表示进行建模(HIN2Vec中的 A M A_{\mathcal{M}} AM,HEER中的 A l A_l Al),所以更适用于链接预测任务


(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的能力和局限性的进一步理论研究。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值