经典论文阅读-7:LINE

69 阅读17分钟

LINE: 大规模信息网络嵌入

论文地址:[PDF] LINE: Large-scale Information Network Embedding | Semantic Scholar

摘要

本文研究如何将大规模信息网络嵌入到低维向量空间中的问题,这对许多问题有用,如可视化、节点分类、链路预测。大多数已有的图嵌入方法不能扩展到包含百万节点的真实信息网络上。本文中,我们提出一种名为 LINE 的网络嵌入新方法,使用于各种信息网络:无向的、有向的、带权的。该方法优化精心设计的目标函数,保留局部和全局网络结构特征。提出边采样算法解决随机梯度下降中的限制问题,提升训练效率与推理性能。通过实验在各种真实信息网络上证明了 LINE 算法的效率,如语言网络、社交网络、引用网络。该算法非常高效,能在单机几小时内学到具有百万节点、上亿边的网络嵌入。

简介

真实世界里信息网络随处可见,如航空网、交通网、社交网和万维网。这些网络的规模从上百个点到上亿个点都有。在学术界与工业界,关于大规模信息网络的分析研究越来越受重视。本文研究信息网络嵌入到低维空间的问题。这样的低维嵌入在各种问题中都很有用,如可视化、节点分类、链路预测与推荐系统。

很多机器学习文献提出了各种图嵌入方法,它们通常在小型网络上性能不错。当用在包含百万节点的真实信息网上时,这些方法的性能就很受挑战,如 Twitter 的关注关系网在 2012 年就包含 1.75 亿活跃用户和大约 200 亿关系。大多数现有图嵌入算法不能扩展到这种规模的网络。例如,经典图嵌入算法 MDS、IsoMap、拉普拉斯特征映射等,其时间复杂度至少是节点数量的二次方,在具有百万节点的网络上就耗时太久。尽管最新一些研究提出了新的大规模网络嵌入方法,它们要么只适用于无向图,要么缺少给网络嵌入量身定做的清晰的目标函数。我们期望一种新模型,它应该具有精心设计的可保留图属性的目标函数,也应具有高效优化技术能有效查找百万节点的嵌入。

本文提出名为 LINE 的高效网络嵌入模型,能扩展到大规模、各类型网络:有向、无向、有权网络。模型的优化目标可保留网络的局部和全局结构信息。自然地,局部信息由关系表示,称为节点的一阶相似性。大多数已有的图嵌入算法都设计来保留一阶相似性,如 IsoMap、拉普拉斯特征映射,即使它们没有扩展性。我们观察到许多真实网络的正当链接不能在一阶关系中捕获。作为其补充,我们提出节点的二阶相似性,并不由直接关系权重决定,而是由节点之间共享的邻居数量决定。二阶相似性的通俗定义是节点之间共享的邻居数量代表节点相似度。这种直观的概念来自社会学和语言学。在社交网络中,两个人朋友的重叠数量与他俩联系紧密程度正相关。在文本预料中,可通过单词附近的单词来推测该单词含义。实际上,有许多共同朋友的人更倾向于有许多共同爱好并成为朋友,经常与某单词一块使用的单词中有许多相同单词,说明这些单词含义相似。

pic1.png

本文将会展示一个精心设计的目标函数,能同时保留一阶与二阶相似性。

即使找到一个不错的目标函数,在大规模网络上对其优化也相当具有挑战性。使用随机梯度下降方法是最近最火热的优化方法。然而,我们发现直接在真实网络上使用随机梯度下降方法是有问题的。因为在真实网络中,边通常有权重,且权重具有很高的方差。考虑一个单词共现网络,权重表示一对单词共现次数,取值可能从零到上千都有。边的权重乘到梯度里,导致梯度爆炸,从而危及性能。为了解决这个问题,我们提出新的边采样方法,可同时提升效率与性能。按边权重比例作为采样概率,然后把采样得到的边作为无权边来更新模型。通过采样处理,目标函数维持不变且边权重不再影响梯度。

LINE 算法是通用的,可用于有向、无向、有权、无权网络。我们在各种真实信息网络上计算 LINE 的性能,包括语言网络、社交网络、引用网络。嵌入学习效率也通过多个数据挖掘任务计算,包括单词类比、文本分类、节点分类。结果表明 LINE 性能与效率优于各种基准算法,能在单机上几小时内学习百万节点上亿边的网络的嵌入。

总结一下,本文做了以下贡献

  • 提出一种新的网络嵌入模型,名为 LINE。该模型适用各种类型的网络,也能扩展到各种规模的网络,有精心设计的目标函数保留一阶、二阶相似度。

  • 提出边采样算法来优化目标函数,解决了经典随机梯度下降算法的一些限制,提升模型效率与性能。

  • 在真实信息网络上做了广泛的实验,结果表明 LINE 模型的性能与效率均优于基准。

本文按以下结构组织,第二章总结相关研究,第三章形式化定义大规模信息网络嵌入问题,第四章介绍 LINE 模型细节,第五章展示实验结果,最后总结。

相关研究

我们的研究与经典图嵌入或图降维方法有关,涉及多维缩放 Multi-Dimensional Scaling MDS,IsoMap,LLE 和拉普拉斯特征映射。这些方法通常首先使用数据点的特征向量构建亲和图,如 k 近邻图,接着将亲和图嵌入低维空间中。然而这些方法通常需要求解亲和图矩阵的特征向量,算法复杂度至少是节点数的二次方,导致处理大规模网络时效率极低。

最近有文献提出一种叫图分解 Graph Factorization 的方法,通过矩阵分解寻找大规模图的低维嵌入,使用随机梯度下降优化。其可行性来自图能够表示为亲和矩阵。然而,矩阵分解的目标不是为网络设计的,因此不保留全局网络结构。直观地讲,图分解将一阶相似性高的节点分配到相邻的嵌入点。相反,LINE 模型使用的目标可保留一阶、二阶相似性。实践上,图分解只用于无向图,而我们的方法可用于各种图。

最近的相关方法还有 DeepWalk,通过截断随机游走捕获网络嵌入。尽管其效果不错,但也没有提供清晰的目标函数,说明保留了哪些网络属性。直观地讲,DeepWalk 期望二阶相似性高的节点具有相似嵌入。LINE 模型同时保留一阶、二阶相似性。DeepWalk 使用随机游走来展开节点邻居,可类比为某种深度优先搜索。我们使用广度优先搜索,能更有解释性地捕获二阶相似度。实践上,DeepWalk 只用于无权网络,我们的方法可用于各种网络。

问题定义

本章形式化定义在一阶、二阶相似性上寻找大规模信息网络嵌入的问题。首先定义信息网络如下。

定义1 信息网络

信息网络 G=(V,E)G=(V,E) ,其中 VV 是节点集,每个节点表示一个数据对象,EE 是边集,表示两节点的连接。每条边 eEe\in E 是有序节点对 e=(u,v)e=(u, v) 且有权重与其关联 wuv>0w_{uv}>0 ,表示连接强度。

实际上,信息网络既可以是有向的也可以是无向的。边的权重既可以是二元表示有无,又可以是实数表示强度。注意,负边权也是可能出现的,但本文只处理正边权。例如,引用网络中,wuvw_{uv} 是二元的;共现网络中,两个节点间权重取值是非负的。在某些网络中边的权重可能差异巨大,因为某些对象共现很多次而另一些对象几乎没有共现。

将信息网络嵌入低维空间在许多应用中都很有用。为了生成嵌入,网络结构信息必须被保留其中。第一直觉是保留局部特征,即节点对之间的相似性必须被保留。我们定义了局部网络结构的一阶相似性。

定义2 一阶相似性

一阶相似性为网络局部节点对之间的相似性,对于每对相连的节点 (u,v)(u,v) ,连接权重 wuvw_{uv} 可表示一阶相似性。如果两点之间没有连接,其一阶相似性为 0 。

一阶相似性通常在真实网络中表示节点之间的相似性。例如,社交网络中的朋友关系表示两人可能具有很多相似兴趣,万维网中两个网页的链接表示它们可能有相似主题。由于其重要性,许多现有的图嵌入算法都将保留一阶相似性作为目标函数。

然而,在真实网络中,观察到的连接只是一小部分,还有更多缺失的连接。有可能一对节点缺失连接导致一阶相似性为 0,然而其内在相似性非常高。因此,只有一阶相似性不足以捕获网络结构。必须寻找新的相似性定义,能够解决数据稀疏性问题。一种自然的直觉是具有相似邻居的节点应该相似。例如,社交网络中,具有相同朋友的人很可能成为朋友。单词共现网络中,具有相同共现单词集的单词倾向于具有相同含义。因此,我们定义二阶相似性,保留更多网络结构信息来补充一阶相似性。

定义3 二阶相似性

网络中节点对 (u,v)(u,v) 之间的二阶相似性是其邻居网络结构的相似性。数学定义为,有 pu=(wu,1,wu,2,...,wu,V)p_u=(w_{u,1},w_{u,2},...,w_{u,|V|}) 表示节点 uu 的一阶相似性,那么 pu,pvp_u,p_v 的点积可以表示二阶相似性。如果 u,vu,v 都是孤立点,即没有边与之相连,那么其二阶相似性为 0 。

我们的网络嵌入同时调查一阶、二阶相似性,定义如下。

定义4 LINK 嵌入

给定网络 G=(V,E)G=(V,E) , LINE 将节点 vVv\in V 表示到低维空间 Rd\mathbb R^d 中,即学习一个映射函数 fG:VRdf_G:V\to \mathbb R^d ,其中 dVd \ll |V| 。在空间 Rd\mathbb R^d 中,一阶、二阶相似性都被捕获。

LINE:大规模信息网络嵌入模型

一个理想的真实信息网络嵌入模型必须满足几个前提条件:首先,能够保留节点的一阶、二阶相似度。其次,能够扩展到大规模网络上,支持百万以上节点。然后,能处理各种类型的网络,有向的、无向的、有权的、无权的。本章介绍名为 LINE 的新网络嵌入模型,该模型满足上述条件。

模型描述

我们介绍 LINE 模型如何分别保留一阶、二阶相似性,然后介绍将它们结合在一起。

保留一阶相似性

一阶相似性指的是网络中节点对之间的局部相似性。为了建模无向边 (i,j)(i, j) 的一阶相似性,定义联合概率分布如下

p1(vi,vj)=11+exp(uiTuj)p_1(v_i,v_j)=\frac{1}{1+\exp(-u_i^T\cdot u_j)}

其中 uiRdu_i\in \mathbb R^d 是节点 viv_i 的低维向量表示。该公式在 V×VV\times V 空间中定义了分布 p(,)p(\cdot,\cdot)。其真实概率分布为 p^1(i,j)=wijW\hat p_1(i,j)=\frac{w_{ij}}{W} ,其中 W=(i,j)EwijW=\sum_{(i,j)\in E}w_{ij} 。为了保留一阶相似性,最直接的方法是最小化以下目标函数。

O1=d(p^(,),p(,))O_1=d(\hat p(\cdot,\cdot),p(\cdot,\cdot))

使用运算 d(,)d(\cdot,\cdot) 表示两个分布的距离。我们选择最小化两概率分布的 KL 散度。使用 KL 散度替代该运算,同时省略一些常量,得到。

O1=(i,j)Ewijlogp1(vi,vj)O_1=-\sum_{(i,j)\in E}w_{ij}\log p_1(v_i,v_j)

注意该一阶相似性只适用于无向图,不适用于有向图。通过找到能最小化上式的向量集合,我们得到每个节点的低维表示。

保留二阶相似性

二阶相似性适用于有向、无向图。给定一个网络,不失一致性地,假设该网络为有向网络。二阶相似性指两节点之间共享了多少个连接。这种情况下,每个节点被当作一种特殊上下文,在上下文中具有相似分布的节点被视为相似的。因此,每个节点有两种角色:节点自身、其他节点的上下文。我们介绍两个向量 ui,uiu_i,u_i' ,其中 uiu_i 表示节点 viv_i 的向量,uiu_i' 表示节点 viv_i 的上下文。对于每个有向边 (i,j)(i,j) ,我们首先定义在 viv_i 条件下生成上下文 vjv_j 的概率。

p2(vjvi)=exp(ujTui)kVexp(ukTui)p_2(v_j|v_i)=\frac{\exp(u_j'^T\cdot u_i)}{\sum_k^{|V|}\exp(u_k'^T\cdot u_i)}

该公式实际上定义了一种条件概率 p2(vi)p_2(\cdot|v_i)。如上文所提到的,二阶相似度假设在上下文里具有相似分布的节点之间更相似。为了保留二阶相似度,我们应使低维空间中的条件概率 p2(vi)p_2(\cdot|v_i) 与实际概率 p^2(vi)\hat p_2(\cdot|v_i) 更接近。因此,需要最小化以下目标函数。

O2=iVλid(p^2(vi),p(vi))O_2=\sum_{i\in V}\lambda_id(\hat p_2(\cdot|v_i),p(\cdot|v_i) )

使用运算 d(,)d(\cdot,\cdot) 表示两个分布的距离。由于节点重要度不同,我们引入 λi\lambda_i 表示节点重要度,可通过节点的度或 PageRank 值来度量。实际概率分布定义为 p^2(vjvi)=wijdi\hat p_2(v_j|v_i)=\frac{w_{ij}}{d_i} ,其中 di=kN(i)wikd_i=\sum_{k\in N(i)}w_{ik}N(i)N(i) 是节点的邻居集合。本文为了简化起见,设置 λi=di\lambda_i=d_i ,同样使用 KL 散度作为距离函数,省略一些常量,得到以下公式。

O2=(i,j)Ewijlogp2(vjvi)O_2=-\sum_{(i,j)\in E}w_{ij}\log p_2(v_j|v_i)

合并两个相似性

为了在网络嵌入中保留一阶、二阶相似性,我们在实践中找到的简单有效的方法是训练 LINE 模型。该模型分布训练每个节点的一阶嵌入和二阶嵌入,然后将其拼接在一起作为最终节点嵌入。更首选的方法是同时训练这两个嵌入,我们将其留给后续研究。

模型优化

优化目标函数非常耗时,需要总和整个节点集的条件概率 p2(vi)p_2(\cdot|v_i) 。为了解决该问题,我们使用负采样方法,根据边的某些噪声分布采样负边。更明确地讲,它给边 (i,j)(i,j) 设置以下目标函数。

logσ(ujTui)+iKEvnPn(v)[logσ(unTui)]\log \sigma(u_j'^T \cdot u_i) + \sum_i^K E_{v_n\sim P_n(v)}[\log \sigma(-u_n'^T\cdot u_i)]

其中 σ(x)=1/(1+exp(x))\sigma(x)=1/(1+\exp(-x)) 是 sigmoid 函数。第一项对观察到的边建模,第二项对从噪声分布中取出的负边建模,K 为负边数量。我们设置 Pn(v)dv3/4P_n(v)\propto d_v^{3/4}

对于该目标函数,存在无意义解:uik=,for i=1,...,V,k=1,...,du_{ik}=\infin,for \ i=1,...,|V|,k=1,...,d 。为了避免得到这个无意义解,仍然可使用负采样方法,将 ujTu_j'^T 转换为 ujTu_j^T

我们采用异步随机梯度下降方法 ASGD 优化目标函数。每一步,ASGD 采用最小批的边来更新模型参数。如果采样到边 (i,j)(i,j) ,那么关于节点 i 的嵌入向量 uiu_i 通过下式计算。

O2ui=wijlogp2(vjvi)ui\frac {\partial O_2}{\partial u_i}=w_{ij}\cdot \frac {\partial \log p_2(v_j|v_i)}{\partial u_i}

注意其中梯度和边权重相乘,这会在权重方差很大时产生问题。例如,在单词共现网络中,一些单词共现非常多次,然而另一些几乎没有共现。这样的网络中,梯度的尺度极为发散,很难选择一个合适的学习率。如果根据小权重边选择大学习率,在大权重边的梯度计算上就会出现梯度爆炸问题。相反,根据大权重边选择小学习率,会导致梯度消失问题。

通过边采样优化

解决上述问题的直觉是,如果所有边的权重相等,就不会在选择学习率上有问题。因此,一种简单的处理方式是将带权边展开为多个二元边,如边的权重为 w,可将其展开为 w 个二元边。这能解决问题,但会显著增大内存需要,尤其在边权重极大时。为了解决该问题,可以从原始边中采样,将采样到的边作为二元边,采样概率根据边的权重比率决定。通过边采样处理,问题降级为如何根据边的权重采样边。

W=(w1,w2,...wE)W=(w_1,w_2,...w_{|E|}) 表示一系列边的权重。我们可简单计算权重和 wsum=i=1Ewiw_{sum}=\sum_{i=1}^{|E|}w_i ,然后从 [0,wsum][0, w_{sum}] 中随机一个数,检查该随机数落在哪个间隔 [j=0i1wj,j=0iwj)[\sum_{j=0}^{i-1}w_j,\sum_{j=0}^iw_j) 中。该方法耗时 O(E)O(|E|) 来采样一个样本,在边数量很大时非常耗时。我们使用别名表方法 alias table method 来根据边权重采样,在同一个离散分布中只需要耗时 O(1)O(1)

用别名表方法采样一个边花费常数时间,使用负样本采样优化方法耗时 O(d(K+1))O(d(K+1)) ,其中 K 是负样本数量。因此整个流程耗时 O(dK) 。实际上,我们发现采样数量通常与边数成比例关系。因此 LINE 算法整个时间复杂度为 O(dKE)O(dK|E|) ,与边数 |E| 线性相关,不依赖节点数量|V|。边采样提升 SGD 计算效率,而不降低性能。

讨论

我们在此讨论一些 LINE 模型实践问题。

低度节点

一种实践问题是如何正确嵌入低度节点。这种节点的邻居数量极少,很难正确推断其表示,尤其是二阶相似性很依赖上下文数量。一种直觉解决方法是,通过高阶邻居(邻居的邻居)来添加这些节点的关系数。本文中,我们选择给每个节点添加二阶邻居关系,即邻居的邻居,该关系权重 wij=kN(i)wikwkj/dkw_{ij}=\sum_{k\in N(i)}w_{ik}w_{kj}/d_k

实际上,我们只对那些具有较大 wijw_{ij} 权重且较少邻居的节点 i 添加节点 j 的邻居关系。

新节点

另一种实践问题是如何获得新增节点的表示。对于新节点 i,如果其与已有节点的关系已知,我们可通过已有点的经验分布 p^1,p^2\hat p_1,\hat p_2 获得该节点表示,根据以下目标函数获得新节点表示。

jN(i)wjilogp1or2(vj,vi)-\sum_{j\in N(i)}w_{ji}\log p_{1or2}(v_j,v_i)

如果新节点与已有节点之间没有关系,我们必须诉诸其他信息,如节点的文本信息。

实验

总结

本文展示一种新的嵌入模型,名为 LINE,能方便地扩展到具有百万节点的网络中。该模型具有精心设计的目标函数,可以保留一阶、二阶相似度,它们互相补充网络结构信息。一种高效高性能边采样方法,解决随机梯度下降在带权边上的限制问题,同时不影响模型性能。在各种真实网络上的实验结果证明了 LINE 模型的效率与性能。未来,我们计划研发比一阶、二阶相似度更高阶的相似度。除此之外,我们准备研发异构网络的嵌入方法。