A Survey on Network Embedding , TKDE 2018
本文是清华大学崔鹏老师组出的关于Network Embedding方面的综述论文,详细地介绍了该领域目前主要的方法和未来的研究方向。对于希望在该领域进行研究的同学来说非常值得阅读。
文章目录
模型 | 基于 | 节点相似度 | (un)directed/(un)weighted | year | 备注 |
---|---|---|---|---|---|
DeepWalk | 随机游走 | K阶 | undirected,unweighted | KDD 2014 | |
node2vec | 随机游走 | K阶 | KDD 2016 | ||
LINE | 类似随机游走 | 1阶+2阶 | WWW 2015 | ||
GraRep | K阶 | ||||
N-NMF | NMF | 1阶+2阶 | |||
SDNE | 1阶+2阶 | ||||
HOPE | 2016 | 非对称传递 |
Abstract
Network Embedding(NE,网络嵌入)是为网络中的节点学习得到一个低维的向量表示,并有效保留网络的结构。本文内容包括以下方面:
- 总结了network embedding的motivation
- 讨论经典的graph embedding算法和network embedding的关系
- 提供关于network embedding方法系统的介绍,包括:保留网络的结构特征以及性质,带有side information的NE方法等
- 多种评价方法
- 数据集和软件
- 未来方向
1 Introduction
传统的方法,我们通常将一个网络表示为一个图 G = < V , E > G = <V,E> G=<V,E> 但是大型网络中此表示方法不使用,存在以下挑战如:
- 高计算复杂度(需要不断地遍历节点,如计算节点之间的距离)
- 低并行化(节点之间紧耦合,相互依赖)
- 不适用于机器学习方法(节点之间相互依赖,无法分割为独立的向量。而ML方法通常假设样本可以分割为独立的向量)
使用边来显性地表示节点之间的关系,是传统方法最大的瓶颈所在。在network embedding空间中,节点之间的关系(传统方法用边来体现),通过节点之间的embedding向量距离来表示,其中节点的拓扑和结构特征已经被编码到embedding向量中。
NE representation学习低维连续稠密向量,在保留固有信息的同时有效减少了噪声和冗余信息。
NE应用
(1)Node classification(2)Node clustering(3)Network visualization(4)Link prediction
NE目标
(1)学到的embedding空间可以重建原网络。
网络中相邻节点在embedding空间距离应该小
(2)学到的embedding空间能够支持关于该网络的推断
预测未见过的链接、推断节点标签
2 方法分类
根据embedding所含有的信息类型分为以下三类
(1)网络结构和性质
(2)附加的信息(如节点和边的属性)
(3)高级信息(如针对具体任务节点分类,有节点标签信息)
之间已经介绍network embedding的目标包括网络的重建和推断。传统的graph embedding主要关注网络重建
Structure and property preserving network embedding
考虑只有拓扑信息的网络,只基于网络拓扑信息学习得到network embedding。相关的工作尝试保留网络的结构信息:如节点和边、邻居结构、高阶节点邻近度、社区结构等。
除了网络的结构信息之外,网络的性质对于建模网络的演化中也不可忽视(如三角闭合性、结构平衡性质)。
Network Embedding with Side Information
除了网络的拓扑之外,一些网络还伴随着丰富的附加信息,如:节点内容和标签、节点和边的属性、异构网络中节点的类型。
主要的挑战在于如何结合并平衡拓扑和附加信息在NE中的作用。
Advanced Information Preserving Network Embedding
之前两类方法学习网络表示通常使用无监督的方式,学得的embedding是通用的,可用于各种任务。而针对不同的目标问题可以进一步优化,通常采用有监督的方式。
以网络节点分类问题为例,如果我们有网络中一些节点的标签,可以将网络结构作为输入,节点标签作为监督信息,embedding表示作为隐含中间层。这样就能得到针对节点分类这项任务的embedding。
常用方法
基于矩阵分解
NE的目标是得到低维向量空间以表示网络,这与矩阵分解方法具有相同的目标。常用的矩阵分解模型:奇异值分解(SVD)、非负矩阵分解
基于随机游走
邻居结构可以用于描述一个节点的本地结构特征。尽管邻接矩阵刻画了节点的一阶邻近度,但是稀疏、离散、高维的向量表示不便于后续的应用。在NLP领域中,Word2Vec有效地将词向量从稀疏、离散、高维的向量转变为稠密、连续、低维的向量表示,通过重建词向量的“邻居词”(上下文词)共同出现的概率得到。一些NE方法借鉴了Word2Vec的想法,而关键在于如何定义网络中的邻居(neighborhood)。
类比于Word2Vec,基于随机游走的模型在网络中进行随机游走。将节点作为语言模型中的词,将随机游走作为句子,节点邻居可以用Word2Vec中共同出现的概率来定义。
代表工作:DeepWalk(KDD 2014),Node2Vec(KDD 2016)
深度神经网络
Network embedding本质是学习一个映射函数,将原网络空间映射到低维的向量空间。如基于矩阵的方法是假设这个映射函数是线性的。然而因为网络形成过程的复杂并且非线性,线性的映射函数并不足以将原网络空间映射到嵌入空间。
作为非线性的学习模型,深度神经网络取得了很大的成功。代表性的使用深度神经网络的NE方法:SDNE,SDAE,SiNE。
深度神经网络方法非常适用于端到端的NE方法。
3 Network Embedding和Graph Embedding对比
Graph embedding(GE)的目标与network embedding的目标相似,是将一个图(graph)嵌入到低维的向量空间。传统的图嵌入方法,图是从以特征表示的数据集中构造得到的,如图像数据集。GE综述(Fu and Ma 2012)
代表性的GE方法
GE方法起初是作为降维的技术。
代表工作:Isomap,LLE,LE;需要刻画节点对之间距离,计算复杂
Isomap
- 由数据特征之间的距离通过KNN选择连接,构造一张图以及对应的距离矩阵D。对D进行MDS得到i对应的坐标向量,保留了低维空间中节点对之间的距离
Locally linear embedding (LLE)
- 假设每个样本和其邻居都处于一个局部线性流形空间,, 一个节点的表示可以通过它的邻居节点的表示的线性组合来近似得到
Laplacian eigenmaps (LE) 拉普拉斯特征表
- 简单的假设两个相连的节点的表示应该相近。特别地,这里表示相近是由向量表示的欧氏距离的平方来定义。该优化问题可以类似地转化为 Laplace 矩阵的特征向量计算问题。
NE/GE区别
目标区别
Network embedding:重建原始网络+网络推断。
Graph embedding主要目标是网络的重建。
因此,graph embedding 可以视为一种特殊的Network embedding,只考虑重建网络的network embedding。而现在的研究更注重网络的inference,也是本paper接下来的重点。
假设区别
GE通常用于从特征表示的数据中构造得到的图,节点之间的相似性通过原始特征空间中定义的边的权重来编码得到;
NE通常在自然形成的网络中得到,如社交网络/生物网络,节点之间的相似性并不是显式的或直接定义,而是根据具体应用场景来定义。
4 Structure and Property Preserving Network
网络结构
邻居结构、高阶节点邻接性、网络社区
邻居结构和高阶节点邻接性
DeepWalk
DeepWalk发现节点在短的随机游走中出现的分布,与自然语言中词的分布相似。利用Skip-Gram最大化节点的邻居与节点共同出现的概率
Node2Vec
对邻居的定义更加灵活,同时用BFS和DFS对邻居节点进行采样,能够同时将在同一community中的节点、或者有相似角色的node表示成相似的embedding 。
LINE
考虑网络的一阶和二阶相似性。一阶相似性是联合概率分布,由节点对之间的相似性来度量;二阶相似性是条件概率分布,通过节点生成其上下文节点的概率来度量;
GraRep
LINE只考虑一阶和二阶,GrapRep考虑K阶(K>2)相似性。给定一个邻接矩阵 A A A ,k步概率转移矩阵可通过 $A^{k} = A…A $ 计算得到。
网络社区
M-NMF
提出了一种模块化的非负矩阵分解模型(MNMF),保留一阶和二阶节点相似性以及mesoscopic community structure。用了NMF模型保留微观结构(节点相似性),假设如果一个节点的表示与一个社区的表示相似,那么该节点很可能在这个社区中。使用了辅助的社区表示矩阵来联系节点表示和社区结构。
SDNE
深层模型。解决高非线性、结构保护和稀疏性问题。SDNE使用具有多个非线性层的深度自编码器来保留节点的邻居结构。
Cao 2017
借鉴PageRank,结合加权转移概率矩阵,可以主动构造节点的表示。捕获带权图结构和节点的非线性表示结构。
GEM-D 2017
提出一个NE框架,统一之前的算法。包括三个度量 [ h ( ⋅ ) , g ( ⋅ ) , d ( ⋅ , ⋅ ) ] [h(\cdot), g(\cdot), d(\cdot,\cdot)] [h(⋅),g(⋅),d(⋅,⋅)]。 分别为邻近度函数,非线性函数,度量h和g差异性的度量函数。
网络性质
保留网络性质的NE方法,目前主要集中在各种类型网络的网络传递以及符号网络中的结构平衡性质。
符号网络(signed graph):a signed graph is a graph in which each edge has a positive or negative sign.
Ou 2015
保留非传递属性(A和B有关系,B和C有关系但是A和C没有关系)利用投影矩阵,抽取M哈希表,得到 最终相似度可以通过其聚合得到。如果两个节点语义相似,那么至少有一个较大。
HOPE (2016)
考虑有向网络的非对称传递性。(A->B B->C 则有 A->C (而不是C->A))。为了度量这种高阶相似性,HOPE总结了4种度量方法,将原始SVD转变为通用的SVD问题,时间复杂度降低,使其方案具有可扩展性。
SiNE(2017)
符号网络embedding,考虑正边和负边。结构平衡理论表明符号网络中的用户与朋友的距离比敌人更近(相似度更高)。给定一个三元组 ( v i , v j , v k ) (v_i, v_j, v_k) (vi,vj,vk),其中 e i j = 1 , e i k = − 1 e_{ij} = 1, e_{ik} = -1 eij=1,eik=−1,则相似度 f ( i , j ) > f ( i , k ) f(i,j) > f(i,k) f(i,j)>f(i,k)。该深度学习模型由两个具有非线性函数的深层网络组成。
总结
大多数结构和性质保留的方法都考虑了节点的高阶邻接性,不同之处在于获得高阶结构的策略。一些方法通过假设节点到邻居的生成机制,隐含地保留了高阶结构;另一些方法通过明确地近似嵌入空间的高阶临近来实现。
5 Network Embedding with Side Information
side information包括两类:节点内容、节点/边的类别
节点内容
MMDW(2016)
MMDW(Max-Margin DeepWalk Discriminative Learning of Network Representation)
半监督,使用了节点的标签信息
DW本身是无监督的,如果能够引入label数据,生成的向量对于分类任务会有更好的作用。 之前提到过有证明DW实际上是对于一个特殊矩阵M的分解, 这篇文章将DeepWalk和Max-Margin(SVM)结合起来,从损失函数看是这两部分组成:
1.训练的时候是分开优化,固定x,y优化w和,其实就是multi class 的 SVM。
2.固定w和优化x,y的时候稍微特殊一点,算了一个biased Gradient,因为损失函数里有x和w的组合。 这样在训练中同时优化discrimination和representation两部分,达到一个好的效果。
文档网络嵌入的生成模型(2014)
同时考虑每个文档相关的词以及文档之间的关系。对于每个节点,学到低维表示 u i \textbf{u}_i ui 。同时也学习在topic space(基于Relation Topic Model)的表示。
TADW(2015)
证明了DeepWalk等价于一个矩阵M的矩阵分解。而在实际中,一些节点上往往会有文本信息,所以在矩阵分解这个框架中,将文本直接以一个子矩阵的方式加入,会使学到的向量包含更丰富的信息。
加入文本信息T, 但计算代价高,节点属性文本无序,失去语义信息。Sun et al. (Sun et al. 2016) 将context视为一种特殊的Node,得到一个更大的network,然后有mode-node 和 node-content 的链接,利用负采样和逻辑函数,学习Node在联合目标函数中的表示,从而同时保留Node-content和网络结构。
TriDNR 2016
网络结构+节点属性+节点标签。最大化
第一项由Skip-Gram得到,类似于deepwalk;第二项node-context相关;第三项label-node相关。
LANE(2017)
标签信息+属性。LANE采用了余弦相似度来构造节点属性、网络结构和标签的对应关联矩阵。基于谱图理论,根据得到的Laplacian矩阵,将三种不同原映射为三种表示。为建立三种表示之间的联系,LANE将这三种表示投影到一个新的共同空间。学习得到的表示能够捕捉网络的结构邻接性,以及标签属性网络的相关性。
总结
都想融入Node content和 network topology,都基于Node content可以提供额外约束条件来更好地表示节点。
Heterogeneous Information
与使用节点内容的网络不同,异构网络包含不同类别的节点和边,如何统一异构类型的节点和链接是一个挑战。
Yann et al. 2014
在同一个向量空间中学习节点的表示,然后进行推理(包括所有异构类型的节点)。
Chang et al. (Chang et al. 2015)目标是Learn representation 且可以保护异构信息网络的特性。Node(A,B两类) 则边有 A-A A-B B-B三类。通过CNN和全连接,其表示可以被映射到common space,不同类型的数据可以直接measured,而不管其类型。
Huang and Mamoulis(2017)meta path相似度来保护异构信息网络。Meta path是一个类型序列。他们开发了一种快速的dynamic programming方法来计算被截断的元路径,它的时间复杂度与网络的大小是线性的。他们采用了类似的策略(Line ,Tang et al. 2015),以保持低维空间的邻近度。
Xu et al. (Xu et al. 2017) coupled 异构网络:包含两个不同但有关联的同构网络,对每个同构网络采用Line中的一阶邻近度p1来度量。然后用一个嵌入矩阵度量不同网络中Node的邻近度。
6 Advanced Information Preserving Network Embedding
不同于side information,advanced information在具体任务上用监督/伪监督信息。
信息传播
信息传播(information diffusion)在很多网络中都存在。Simon et al. (Bourigault et al. 2014)的社会网络嵌入算法来预测information diffusion。将传播过程映射到热传播过程,学习节点的表示,使得扩散核可以解释训练集, Li et al. (Li et al. 2017)提出end-to-end的深度学习模型来解决级联预测问题。
异常检测
主要是结构的异常(不一致),比如异常节点连接到各种不同有影响力的社区。如图中的红色节点。
(Hu et al. 2016) 提出了基于network embedding的异常检测方法。节点i的embedding向量 u i \mathbf{u}_i ui 的第k个元素 u i k u_{i}^{k} uik 代表节点i和社区k的关联度。假设两个链接的节点社区成员相似,最小化以下目标函数:
通过梯度下降方法求解上述最优化问题。由于学习的向量捕获了节点和社区之间的相关性,他们提出了一种新的基于向量的度量来表示节点的异常。度量值越大,节点作为异常节点的倾向越高。
网络对齐
网络对齐(network alignment)的目标是建立两个网络节点之间的对应关系。Man et al. 2016提出了network embedding 算法来预测anchor links across social networks。这些链接是不同network之间的桥梁。
总结
保留高级信息的NE方法通常包含两个部分,已是保留网络结构,以学习节点的表示。二是建立节点表示和目标任务之间的链接。
7 实验
数据集
数据集:社交网络、引用网络、语言网络、生物网络
节点分类
NE的主要任务之一。从本质上讲,基于网络嵌入的节点分类可以分为三个步骤。
(1)首先,应用网络嵌入算法将网络嵌入到低维空间中。
(2)然后,使用已知标签的节点作为训练集。
(3)最后,一个分类器,如Liblinear (Fan et al. 2008),从训练集中学习。使用经过训练的分类器,我们可以推断出其他节点的标签。
链接预测
链接预测目标:在观察的网络中估计两个节点存在边的概率。两个节点的相似性越高表明其链接的可能性越高。
度量:precision@K 和 平均精度MAP
precision@K
p r e c i s o n @ k ( i ) = ∣ { j ∣ i , j ∈ V , i n d e x ( j ) ≤ k , △ i ( j ) = 1 } ∣ k precison@k(i) = \frac{| \{j | i,j \in V, index(j) \le k, \bigtriangleup_{i}(j) =1 \} | }{k} precison@k(i)=k∣{j∣i,j∈V,index(j)≤k,△i(j)=1}∣
V是节点的集合,$ index(j) 是 排 序 后 第 j 个 节 点 的 i n d e x , 是排序后第j个节点的index , 是排序后第j个节点的index,\bigtriangleup_{i}(j)=1$表明节点i和j有边。precision@K即以i为中心,有链接的Index<K的节点个数除以K。
MAP
A P ( i ) = ∑ j p r e c i s i o n @ j ( i ) ∗ △ i ( j ) ∣ { △ i ( j ) = 1 } ∣ AP(i) = \frac{\sum_{j}precision@j(i)*\bigtriangleup_{i}(j)}{|\{ \bigtriangleup_{i}(j) =1 \}|} AP(i)=∣{△i(j)=1}∣∑jprecision@j(i)∗△i(j)
M A P = ∑ i ∈ Q A P ( i ) ∣ Q ∣ , w h e r e Q i s t h e q u e r y s e t MAP = \frac{\sum_{i} \in QAP(i)}{|Q|}, \\ \ where \ Q \ is \ the \ query \ set MAP=∣Q∣∑i∈QAP(i), where Q is the query set
链接预测分类常用的网络:引用网络、社会网络、生物网络。
网络嵌入能够捕获固有的网络结构,因此很自然地适合于链接预测应用。各种网络的广泛实验表明,网络嵌入可以有效地解决链路预测问题。
节点聚类
常用精度(AC)和归一化互信息(NMI)衡量节点聚类的性能。
AC
AC是用来测量得到的正确标签的百分比
A
C
=
∑
i
=
1
n
δ
(
r
i
,
m
a
p
(
l
i
)
)
n
AC = \frac{\sum_{i=1}^{n} \delta (r_i, map(l_i))} {n}
AC=n∑i=1nδ(ri,map(li))
其中
l
i
l_i
li 表示得到的cluster的标签,
r
i
r_i
ri 表示ground truth。
δ
(
x
,
y
)
\delta(x,y)
δ(x,y),相同为1,否则为0。
m
a
p
(
l
i
)
map(l_i)
map(li) 置换映射函数,将每个集群标签从数据映射到相应的标签
NMI
N M I ( C , C ′ ) = M I ( C , C ′ ) m a x ( H ( C ) , H ( C ′ ) ) NMI(C,C^{'}) = \frac {MI(C,C^{'})} {max(H(C),H(C^{'}))} NMI(C,C′)=max(H(C),H(C′))MI(C,C′)
其中 C C C和 C ′ C^{'} C′分别代表从ground truth和算法获得的Clusters。 H ( C ) H(C) H(C) 表示C的熵, M I ( C , C ′ ) MI(C,C^{'}) MI(C,C′) 表示C和C‘的互信息。
网络可视化
二维空间中生成有意义的布局。通过可视化工具如t-SNE (Maaten和Hinton 2008),通过学习节点的低维度表示,用户可以很容易地看到一个复杂网络的大图。
8 未来研究方向
结构和属性保护网络的嵌入是基础。基于结构和属性保护网络嵌入,可以应用现成的机器学习方法。如果有一些侧面信息可用,它可以被整合到网络嵌入中。此外,特定应用程序的领域知识作为高级信息。
其他的方向:
More Structures and Properties
虽然有各种方法来保护结构和属性,例如一阶和高阶的邻近度度量, communities,非对称的传递性与结构平衡,由于现实世界网络的复杂性,在现有的网络嵌入方法中仍然存在一些未被充分考虑的特殊结构。
(1) 如何合并network motifs (Benson, Gleich,和Leskovec 2016) —高阶结构
(2) 如何将节点的更加复杂的结构作为嵌入的条件
(3) 当前网络嵌入的假设通常基于成对的结构,即如果两个节点有一个链接,那么它们的表示是相似的。这样的话可以在一部分场景应用良好,比如链接预测;但是节点的中心性信息很难编码,因为它一般都有很复杂的结构。
(4) 超边。一些真实网络中,一条边可能不单单只连接两个节点,因此节点中会隐藏更多的信息,有更多的特征。这种边的网络嵌入在真实网络中也是很重要的。
(5) 幂律分布特性表明,网络中的大多数节点与少量的边相关联。因此,对于信息有限的节点(是大多数),很难找到有效的表示方法。这一特性如何影响网络嵌入的性能,如何提高少数节点的嵌入程度,在很大程度上仍未受到影响。
The Effect of Side Information
(1) 所有现有的方法都假设网络结构和side信息之间存在一致性,至少是不矛盾的,但是这个假设真实网络中还是个保留的问题,(在哪适用,在哪不适用,在某个网络甚至某个应用中该怎么取舍)。如果Side information 和结构信息相关性很低,可能会导致网络映射成向量的性能变低,也可能正好因为网络结构与侧向信息互补,而提高性能。这些都可能是将来去发现规律,深入研究的地方。
(2) 在异构信息网络中,元路径被广泛应用在测量两个对象的相关性中。元路径就是两个节点之间,路径的一个类型序列。元结构就可以提供了一个高阶结构约束。元结构本质上是两节点间节点和边组成的一个有向无环图。(图中的最短路径)这为改进异构信息网络嵌入提供了一个巨大的潜在方向。
More Advanced Information and Tasks
一般而言,大多数网络嵌入算法是为通用的目的而设计的,如链接预测、节点分类。这些网络主要是general的,可能不针对一个特定的应用场景。另一个重要的研究方向是探索为更具体的应用设计网络嵌入的可能性,例如是否可以将网络嵌入用在社交网络中检测谣言这种特定的场合中 (Seo、Mohapatra和Abdelzaher 2012;Zhang et al. 2015年)使用网络嵌入来推断社会关系(Tang, Lou,和Kleinberg 2012)吗?每个现实世界的应用都有其自身的特点,将其独特的领域知识融入到网络嵌入中是一个关键。如何将特定的领域知识建模为能够以有效方式集成到网络嵌入的高级信息。
Dynamic Network Embedding
前面所说的都是静态的网络。许多网络都随着时间的推移而不断发展,(Facebook的链接总会随着时间而变化,增加、删除边和节点)。如果有变化就重新学习网络中节点的表示,这样是非常耗时的,也不是一个切实可行的方法,因此现在的网络嵌入不能直接应用于大规模的动态变化的网络中,新的网络嵌入算法应该是能够解决网络的动态演化,这个问题也是一个亟待解决的问题。
More embedding spaces
现有的网络嵌入方法将网络嵌入到欧氏空间中。最近的一些研究(Krioukov et al. 2010)假设网络的底层结构是在双曲线空间中。在这种假设下,更加突出非均匀度分布和强聚类,因为它们很明显反应在双曲几何的负曲率和度量性质上的。探索其他嵌入空间是另一个有趣的研究方向。