WWW 2015 | LINE:大规模信息网络的嵌入

前言

在这里插入图片描述
题目: LINE: Large-scale Information Network Embedding
会议: WWW 2015
论文地址:LINE: Large-scale Information Network Embedding

这是继node2vecDeepWalk后的解读的第三篇图嵌入论文,三篇论文出现的顺序应该为:DeepWalk、LINE、node2vec,不过这并不影响阅读。

通过观察node2vec、DeepWalk和LINE的原始论文,发现这三篇论文具有一定的相似性:

  1. 都十分强调模型的可扩展性。因为在现实生活中,许多网络的节点和边的数目都非常大,比如数百万个节点和数十亿条边。如果一个网络嵌入模型无法很好地适应大规模网络,那么这个算法的局限就很大了。
  2. 都有一个Related Work部分,在这部分里面总结了前人提出的算法的局限性,然后说明自己提出的方法是否解决了这些问题。
  3. 能够很清晰明了地说明自己的模型具有哪些局限性,并将其作为以后的研究方向。
  4. 实验设计非常讲究。通常是先在几个现实生活中的大型网络上进行分类或者其他类型实验,然后研究各种参数对模型性能的影响,最后再研究模型的可扩展性。
  5. 对于实验结论,措辞非常讲究,同时对于模型表现不好的地方,能够给出很合理的解释。

或许以上几点是顶级期刊/会议论文的基本要求了,这是我们需要学习的。

摘要

大规模信息的网络嵌入对于可视化、节点分类和链接预测等任务都十分重要,但是现有的大多数图嵌入方法都不能适应通常包含数百万个节点的真实信息网络。

因此,本文提出了一种新的网络嵌入方法LINE,LINE适用于任意类型的信息网络,无论是无向图、有向图和/或加权图。

LINE优化了一个精心设计的目标函数,同时保留了局部和全局网络结构。同时在LINE中,作者提出了一种边缘采样算法,该算法克服了经典SGD算法的局限性,提高了推理的有效性和效率。

1. 引言

现有的许多网络嵌入方法,它们通常在较小的网络上表现良好。但是现实世界中的许多网络,可能会包含数百万个节点和数十亿条边。

本文提出的LINE能够扩展到非常大的、任意类型的网络。LINE以保持局部和全局网络结构为目标进行优化。局部结构是由网络中观察到的链接来表示的,这些链接捕获了顶点之间的一阶邻近度。大多数现有的图嵌入算法都被设计成保持这种一阶邻近度,比如IsoMap和拉普拉斯特征映射。

但是,在真实世界数据中观测到的一阶邻近度不足以保持全局网络结构,作为补充,LINE探索了顶点之间的二阶邻近度,它不是通过观察到的连接强度决定的,而是通过顶点的共享邻域结构决定的。

例如下图:
在这里插入图片描述
顶点6和顶点7之间的边的权值较大,即6和7具有较高的一阶邻近度,因此它们在嵌入空间中应该紧密表示。另一方面,虽然顶点5和顶点6之间没有联系,但它们有许多共同的邻居,也就是说,它们具有高的二阶邻近度,因此也应该彼此紧密地表示。LINE算法以保证一阶邻近度和二阶邻近度为优化目标。

SGD是近年来引起人们关注的一种优化方法。然而,本文作者发现,直接部署随机梯度下降对现实世界的信息网络是有问题的。这是因为在许多网络中,边是加权的,而权值通常具有很高的方差。比如考虑一个词共现网络,其中词对的权重(共现)可能在1到数十万之间,这些边的权值将被乘到梯度中,导致梯度爆炸,从而影响性能。为了解决这个问题,作者提出了一种新的边缘采样方法,提高了推理的有效性和效率:作者用与权值成比例的概率对边进行采样,然后将采样后的边作为二值边进行模型更新。 在这种采样策略下,目标函数保持不变,边的权值不再影响梯度。

本文贡献:

  • 提出了一个新的网络嵌入模型LINE,它适用于任意类型的信息网络,并很容易扩展到数百万个节点。LINE的目标函数同时保持了一阶和二阶邻近度。
  • 提出了一种边缘采样算法来优化目标函数,该算法克服了经典随机梯度下降算法的局限性,提高了推理的有效性和效率。
  • 在真实世界的信息网络上进行了广泛的实验,实验结果证明了LINE的有效性。

2. 相关工作

经典的图嵌入或降维方法,如多维标度(MDS)、IsoMap、局部线性嵌入(LLE)和拉普拉斯特征映射,这些方法通常首先使用数据点的特征向量构建亲和图,例如数据的K近邻图,然后将亲和联图嵌入到低维空间中。

然而,这些算法通常依赖于求解亲和矩阵的主要特征向量,其复杂度至少是节点数的二次方,因此在处理大规模网络时效率低下。最近提出的一种叫做图分解的技术,利用SGD优化矩阵分解,得到大型图的低维嵌入。这是可能的,因为图可以表示为一个亲和矩阵。然而,矩阵分解的目标不是为网络设计的,因此不一定能保持全局网络结构。直观地说,图分解期望具有较高一阶邻近度的节点被紧密地表示出来。相反,LINE模型使用了一个特别为网络设计的目标,它保留了一阶和二阶邻近度。在实际应用中,图分解方法只适用于无向图,而LINE对无向图和有向图都适用。

关于DeepWalk,尽管实验上是有效的,但它并没有提供一个明确的目标来说明哪些网络属性被保留。直观地说,DeepWalk期望具有更高二阶邻近度的节点产生类似的低维表示,而LINE同时保留了一阶和二阶邻近度。DeepWalk使用随机漫步来扩展一个顶点的邻域,这类似于DFS。 而LINE使用BFS策略,这是一种更合理的方法。实际上,DeepWalk只适用于未加权网络,而本文的模型既适用于不带加权边的网络,也适用于带加权边的网络。

3. 问题定义

利用一阶邻近和二阶邻近对大规模信息网络嵌入问题进行了形式化的定义。首先对信息网络的定义如下:
在这里插入图片描述
一阶邻近度定义:
在这里插入图片描述
两个节点间边的权值为两个节点间的一阶邻近度。

一阶邻近度通常意味着真实世界网络中两个节点的相似性。正所谓近朱者赤近墨者黑,比如在社交网络中成为朋友的人往往有相似的兴趣爱好,又比如万维网上相互链接的网页往往谈论类似的话题。由于这种重要性,现有的许多图嵌入算法在设计目标函数时都会保持一阶邻近度。

在现实世界的信息网络中,观察到的链接只占很小的比例,还有许多其他链接缺失。因此,仅靠一阶邻近度不足以保持网络结构,所以寻求一种替代的邻近度概念来解决稀疏性问题是很重要的。一个自然的直觉是,共享相似邻居的顶点往往彼此相似。例如,在社交网络中,拥有相似朋友的人往往有相似的兴趣爱好,从而成为朋友。又比如在词共现网络中,总是与同一组词共现的词往往具有相似的含义。因此,作者定义了二阶邻近度,它补充了一阶邻近度,并保留了网络结构。

二阶邻近度定义如下:
在这里插入图片描述
p u = ( w u , 1 . . . , w u , ∣ V ∣ ) p_u=(w_{u, 1}...,w_{u, |V|}) pu=(wu,1...,wu,V)表示节点 u u u与其它所有节点的一阶邻近度,那么节点 u u u和节点 v v v间的二阶邻近度可以为 p u p_u pu p v p_v pv间的相似度,比如可以为 c o s i n e ( p u , p v ) cosine(p_u, p_v) cosine(pu,pv)

本文研究问题定义:
在这里插入图片描述
对于一个大图 G = ( V , E ) G=(V,E) G=(V,E),目标是找到每一个节点 v v v的d维向量表示 R d R^d Rd,这里 d < < ∣ V ∣ d<<|V| d<<V R d R^d Rd同时保留了节点间的一阶邻近度和二阶邻近度。

4. LINE

一个理想的真实信息网络嵌入模型必须满足以下几个要求:

  1. 它必须能够保持顶点之间的一阶和二阶邻近度。
  2. 它必须适用于非常大的网络,比如拥有数百万个顶点和数十亿条边的网络。
  3. 它可以处理任意类型边的网络:有向、无向和/或加权。

LINE模型符合以上三个要求。

4.1 模型描述

下面依次介绍保持一阶邻近度和二阶邻近度的LINE模型,然后介绍一种简单的方法将两种邻近度结合起来。

4.1.1 保持一阶邻近度的LINE

对每条无向边 ( i , j ) (i, j) (i,j),定义节点 v i v_i vi v j v_j vj间的联合概率如下:
p 1 ( v i , v j ) = 1 1 + e x p ( − u i ⃗ T ⋅ u j ⃗ ) p_1(v_i, v_j)=\frac{1}{1+exp(-\vec{u_i}^{T} \cdot \vec{u_j})} p1(vi,vj)=1+exp(ui Tuj )1
其中 u i ⃗ \vec{u_i} ui u j ⃗ \vec{u_j} uj 是两个节点的 d d d维嵌入向量表示。

根据网络权值,我们也有经验分布:
p ^ 1 ( i , j ) = w i j W \hat{p}_1(i, j)=\frac{w_{ij}}{W} p^1(i,j)=Wwij
这里 W W W是网络中所有边上权值之和。

显然,联合概率和经验分布越相似,一阶邻近度就能保持得越好。因此,我们可以最小优化以下两个分布间的KL散度:
O 1 = − ∑ ( i , j ) ∈ E w i j l o g   p 1 ( v i , v j ) O_1=-\sum_{(i,j) \in E} w_{ij}log\ p_1(v_i, v_j) O1=(i,j)Ewijlog p1(vi,vj)
需要注意的是,一阶邻近度并不适用于有向图,它只适用于无向图。

通过找到 u i ⃗ \vec{u_i} ui 来使得 O 1 O_1 O1最小化,我们就能得到每个节点的嵌入表示。

4.1.2 保持二阶邻近度的LINE

二阶邻近度对无向图和有向图都适用。为了说明一般性,给定一个有向图(一条无向边可以被认为是两条有向边)。

根据前文定义,二阶邻近度用于描述两个节点邻居的相似性。在这种情况下,每个节点也被视为一个上下文,两个节点间的二阶邻近度很高,说明它们具有相似的上下文。 因此,每个节点都有两种角色:节点本身和其他节点的上下文节点。

引入两个向量 u i ⃗ \vec{u_i} ui u i ⃗ ′ \vec{u_i}^{'} ui :当一个节点被当做节点本身时, u i ⃗ \vec{u_i} ui 是其向量表示,而当一个节点被当做上下文节点时, u i ⃗ ′ \vec{u_i}^{'} ui 是其向量表示。

对每一条有向边 ( i , j ) (i,j) (i,j),定义顶点 v i v_i vi生成上下文节点 v j v_j vj的概率为:
p 2 ( v j ∣ v i ) = e x p ( u j ⃗ ′ T ⋅ u i ⃗ ) ∑ k = 1 ∣ V ∣ e x p ( u k ⃗ ′ T ⋅ u i ⃗ ) p_2(v_j|v_i)=\frac{exp(\vec{u_j}^{'T} \cdot \vec{u_i})}{\sum_{k=1}^{|V|}exp(\vec{u_k}^{'T} \cdot \vec{u_i})} p2(vjvi)=k=1Vexp(uk Tui )exp(uj Tui )
其中 ∣ V ∣ |V| V表示节点或者上下文节点数量。

对每一个顶点 v i v_i vi,上式定义了一个分布 p 2 p_2 p2,该分布描述了一个顶点生成其上下文节点的概率。

同样,我们也有二阶邻近度的经验分布:
p ^ 2 ( v j ∣ v i ) = w i j d i \hat{p}_2(v_j|v_i)=\frac{w_{ij}}{d_i} p^2(vjvi)=diwij
其中 d i d_i di表示节点 v i v_i vi的度。

与前文提到的一阶邻近度类似,联合概率和经验分布间越相似越好,因此我们最小化以下目标函数:
O 2 = − ∑ ( i , j ) ∈ E w i j l o g   p 2 ( v j ∣ v i ) O_2=-\sum_{(i,j) \in E} w_{ij}log\ p_2(v_j|v_i) O2=(i,j)Ewijlog p2(vjvi)

最小化 O 2 O_2 O2后得到的 u i ⃗ \vec{u_i} ui 就是我们所需要的节点嵌入向量表示。

4.1.3 保持一阶+二阶邻近度的LINE

为了得到一个既保持了一阶邻近度也保持了二阶邻近度的LINE模型,作者提出了一个办法:分别训练保持一阶邻近度和二阶邻近度的LINE模型,然后将这两种方法训练的嵌入结果连接到每个顶点上。

具体的联合方法:联合训练目标函数 O 1 O_1 O1 O 2 O_2 O2。不过联合训练在本文中并未提到,作者希望将其作为以后的研究工作。

4.2 模型优化

最小化 O 2 O_2 O2的计算代价很高,因为在计算 p 2 p_2 p2的时候需要对所有节点进行求和,如下所示:
p 2 ( v j ∣ v i ) = e x p ( u j ⃗ ′ T ⋅ u i ⃗ ) ∑ k = 1 ∣ V ∣ e x p ( u k ⃗ ′ T ⋅ u i ⃗ ) p_2(v_j|v_i)=\frac{exp(\vec{u_j}^{'T} \cdot \vec{u_i})}{\sum_{k=1}^{|V|}exp(\vec{u_k}^{'T} \cdot \vec{u_i})} p2(vjvi)=k=1Vexp(uk Tui )exp(uj Tui )
为了解决这一问题,本文采用了一种负采样方法,即根据每条边 ( i , j ) (i, j) (i,j)的某些噪声分布对多条负边进行采样。具体来说,它为每条边 ( i , j ) (i, j) (i,j)指定了以下目标函数:
在这里插入图片描述
其中 σ \sigma σ表示Sigmoid函数。上式第一项对观测到的边进行建模,第二项对噪声分布中得到的负边进行建模,K是负边的个数。

采用异步SGD(ASGD)对式(7)进行优化,ASGD算法对一小批边缘进行采样,然后更新模型参数。目标函数 O 2 O_2 O2对我们要求的节点嵌入表示的偏导数为:
在这里插入图片描述
在上式中,梯度将会乘以边的权值 w i j w_{ij} wij,这会导致一些问题:

  • 如果学习率比较小,权值较小的边可能会导致梯度消失。
  • 如果学习率比较大,权值较大的边可能会导致梯度爆炸。

4.2.1 边缘采样优化

既然边的权值会导致梯度问题,那么如果网络中所有边的权值都相等,就不会存在学习率的选择问题。

因此,我们可以将一条权值为 w w w的边变为 w w w条二进制边。但很显然,这将急剧增加内存需求。

为了解决这个问题,可以从原始边中进行采样,并将采样的边视为二进制边,采样概率与原始边的权值成正比。采用这种边缘采样处理,总体目标函数保持不变。

具体采样方式如下所示:
在这里插入图片描述
简单来说:首先我们可以算出所有边上的权值之和 w s u m w_{sum} wsum,然后随机选择一个 [ 0 , w s u m ] [0, w_{sum}] [0,wsum]间的随机值,观察该随机值属于哪一个 [ ∑ j = 0 i − 1 w j , ∑ j = 0 i w j ) [\sum_{j=0}^{i-1}w_j, \sum_{j=0}^{i}w_j) [j=0i1wj,j=0iwj)区间,然后进行采样。

上述方法采样一条边的时间复杂度为 O ( ∣ E ∣ ) O(|E|) O(E),使用Alias采样可以将时间复杂度降为 O ( 1 ) O(1) O(1)。关于Alias采样,在我的一篇关于node2vec具体实现的文章node2vec代码实现及详细解析中有提到过。

从别名表中对边进行抽样需要常数时间O(1),而采用负抽样优化需要O(d(K+ 1))时间,其中K是负抽样的数量。因此,总体上每一步所需时间为O(dK)。在实践中,发现用于优化的步骤数通常与边数O(|E|)成正比。

因此,LINE的总体时间复杂度为O(dK|E|),与边数|E|成线性关系,与顶点数|V|无关。 边缘采样处理在不影响随机梯度下降效率的前提下,提高了随机梯度下降的有效性。

4.3 讨论

关于LINE,存在以下几个实际问题:

(1)Low degree vertices:如何对度较小的节点进行精确嵌入?度小的节点邻居很少,因此很难准确地推断其表示,特别是对于严重依赖于“上下文”数量的基于二阶邻近度的LINE方法。一个直观的解决方案是通过添加更高阶的邻居来扩展这些顶点的邻居,例如邻居的邻居。 该节点的邻居比较少,但它邻居的邻居可能就比较多了。

在本文中只考虑二阶邻居(邻居的邻居),顶点 i i i与其二阶邻居 j j j之间的权值表示为:
w i j = ∑ K ∈ N ( i ) w i k w k j d k w_{ij}=\sum_{K \in N(i)}w_{ik}\frac{w_{kj}}{d_k} wij=KN(i)wikdkwkj
在实践中,我们只能添加一个节点 j j j的子集,它与低度顶点 i i i的邻近度 w i j w_{ij} wij最大。

(2)New vertices:如何找到新来的节点的表示?对于一个新的节点 i i i,如果我们已知它和其它已有节点的连接情况,那么我们就可以得到经验分布 p 1 ^ ( ⋅ , v i ) \hat{p_1}(\cdot,v_i) p1^(,vi) p 2 ^ ( ⋅ ∣ v i ) \hat{p_2}(\cdot|v_i) p2^(vi),然后我们就可以优化 O 1 O_1 O1或者 O 2 O_2 O2
在这里插入图片描述
通过更新新顶点的嵌入,保持已有顶点的嵌入,我们就能得到新顶点的嵌入表示。

如果我们无法观察到新节点与其他节点的连接情况,我们就必须依靠其他信息,比如节点的文本信息,作者表示这一点将作为未来的研究方向。

5. 实验

5.1 实验设置

数据集

  • Language Networks:从维基百科的全部英文页面中构建了一个词共现网络。每5个单词滑动窗口内的单词被认为是彼此同时出现的。频率小于5的词被过滤掉。
  • Social Networks:Flickr和Youtube。
  • Citation Networks:引文网络。

数据集的具体情况如表1所示:
在这里插入图片描述

对比算法

本文将LINE与其他几种能够在大规模图上使用的嵌入算法进行了比较:

  • Graph factorization(GF):图因子分解。图因子分解采用SGD进行优化,能够处理大型网络,它只适用于无向网络。
  • DeepWalk:DeepWalk只适用于具有二进制边的网络。对于每个顶点,DeepWalk使用从顶点开始的截断随机漫步来获取上下文信息,因此DeepWalk只使用了二阶邻近度。
  • LINE-SGD:有两种变体:LINE-SGD(1st)和LINE-SGD(2nd),分别表示保持一阶邻近度和二阶邻近度的LINE模型,也就是4.1节中介绍的最小化 O 1 O_1 O1 O 2 O_2 O2的两种模型,该方法在对边缘进行采样时,直接将边缘的权值乘到梯度中进行模型更新。
  • LINE:通过4.2节中介绍的边缘采样处理优化后的LINE模型。在每一个随机梯度步中,以与其权值成比例的概率对边缘进行采样,然后将其作为二进制边处理进行模型更新。这里也存在两种变体:LINE(1st)和LINE(2nd)。与图分解一样,LINE(1st)和LINE-SGD(1st)都只适用于无向图。LINE(2nd)和LINE-SGD(2nd)适用于无向图和有向图。
  • LINE(1st+2nd):为了利用一阶和二阶邻近度,一个简单而有效的方法是将LINE(1st)和LINE(2nd)学习到的向量表示连接成一个更长的向量。 在连接之后,应该重新加权维度,以平衡这两个表示。在监督学习任务中,可以根据训练数据自动找到维度的权重。然而,在无监督的任务中,设置权重比较困难。因此,只将LINE(1st+2nd)应用于监督任务的场景。

参数设置

  • 所有方法的mini-batch size=1。
  • 初始学习率 ρ 0 = 0.025 , ρ t = ρ 0 ( 1 − t / T ) \rho_{0}=0.025,\rho_t=\rho_0(1-t/T) ρ0=0.025,ρt=ρ0(1t/T)。其中 T T T为小批量样本的数量。
  • Language Networks的嵌入维度为200,其他网络默认为128。
  • LINE和LINE-SGD的负样本数量 K = 5 K=5 K=5
  • LINE(1st)和LINE(2nd)的样本总数为100亿,GF的样本总数为200亿。
  • DeepWalk:窗口长度 w i n = 10 win=10 win=10,walk length t = 40 t=40 t=40,每个节点需要采样的路径数 γ = 40 \gamma=40 γ=40
  • 所有得到的嵌入向量表示都将进行归一化处理,即: ∣ ∣ w ⃗ ∣ ∣ 2 = 1 ||\vec{w}||_2=1 w 2=1

5.2 实验结果

5.2.1 语言网络

语言网络包括200万个节点和10亿条边,用词类比和文本分类来进行试验。

Word Analogy

给定一个词对(a, b)和一个词c,任务是找到一个词d,使得c和d之间的关系类似于a和b之间的关系。比如给定词对(“中国”,“北京”)和单词“法国”,那么答案就为“巴黎”。

表2给出了实验结果:
在这里插入图片描述
可以看出以下几点:

  1. LINE(2nd)的效果是最好的,这说明二阶邻近度相比于一阶邻近度能更好地捕获到词的语义。 二阶邻近度高意味着两个词可以在相同的上下文中被替换,这是一个比一阶邻近度共同出现更强的语义相似的指示。
  2. LINE(2nd)优于SkipGram,原因可能是语言网络相比于原始的单词序列能更好地捕捉单词共现的全局结构。
  3. 图分解和LINE(1st)都显著优于DeepWalk,即使DeepWalk探索的是二阶邻近度。这是因为DeepWalk必须忽略边缘的权重(即共现),而这在语言网络中非常重要。
  4. 使用SGD直接优化的LINE模型的性能要差得多,这是因为语言网络中各边的权值存在差异,从个位数到几万位数不等,影响了学习过程。 采用边缘采样处理优化后的LINE有效地解决了这一问题,并在使用一阶或二阶邻近度时都表现得很好。

Document Classification

另一种评估单词嵌入质量的方法是使用单词向量来计算文档表示,然后在文档分类任务中进行评估。

为了获得文档向量,选择了一种非常简单的方法,即取该文档中单词向量表示的平均值

所有文档向量都被用来训练出一个逻辑分类器,然后在测试集上进行验证,得到的所有模型的Micro-F1和Macro-F1如表3所示:
在这里插入图片描述
从表3可以得出与词类比任务相似的结论:

  1. 图分解优于DeepWalk,因为DeepWalk忽略了边缘的权值。
  2. 由于边缘权值的发散,LINE-SGD的性能较差,而通过边缘取样处理优化的LINE比直接部署SGD效果更好。
  3. LINE(2nd)优于LINE(1st),并且略优于图分解。
  4. 值得注意的是,在监督学习中,将LINE(1st)和LINE(2nd)学习到的向量表示连接起来是可能的,因此LINE(1st+2nd)的效果是最好的,这说明了一阶邻近和二阶邻近是互补的。

为了让读者更深入地了解一阶邻近度和二阶邻近度,使用一阶和二阶邻近度比较了与给定单词最相似的单词,结果如表4所示:
在这里插入图片描述
观察结果可以知道:二阶邻近度返回的最相似的词都是语义相关的词,一阶邻近度返回的最相似的词则是语法和语义相关的词的混合体。

5.2.2 社交网络

与语言网络相比,社交网络更加稀疏。

Flickr Network
选择最流行的五个社区作为顶点的类别来进行多标签分类,结果如表5所示:
在这里插入图片描述
可以发现:

  1. LINE(1st+2nd)的效果是最好的,再一次证明了两种邻近度的互补。
  2. LINE(1st)略好于LINE(2nd),这与语义网络的结果恰恰相反。原因可能有二:(1)在社交网络中一阶邻近度比二阶邻近度更重要。(2)当网络过于稀疏且节点的平均邻居数过小时,二阶邻近度可能会变得不准确。
  3. LINE(1st)优于图分解。说明在一阶邻近度建模方面,LINE(1st)更加出色。
  4. LINE(2nd)优于DeepWalk,说明其具有更好的二阶邻近度建模能力。

Youtube Network

Youtube网络上的结果如表6所示:
在这里插入图片描述
可以发现:

  1. 在大多数训练数据百分比不同的情况下,LINE(1st)优于LINE(2nd),这与Flickr网络上的结果一致。
  2. 由于极度稀疏性,LINE(2nd)的性能甚至不如DeepWalk。
  3. LINE(1st+2nd)的性能优于128或256维的DeepWalk,表明这两种邻近度是互补的,能够解决网络稀疏性问题。

DeepWalk的随机漫步方法就像DFS,这种方法可以通过引入间接近邻来快速缓解节点的近邻稀疏性,但也可能引入距离较远的节点。更合理的方法是使用BFS策略扩展每个顶点的邻域,即递归地添加邻域的邻域。为了验证这一点,作者通过添加邻居的邻居来扩展度小于1000的顶点的邻域,直到扩展的邻域大小达到1000个节点,作者发现添加超过1000个顶点并不会进一步提高性能。

表6中括号中的结果是在这个重构网络上得到的:

  1. GF、LINE(1st)和LINE(2nd)的性能都有所提高,尤其是LINE(2nd)。
  2. 在重构后的网络中,LINE(2nd)在大多数情况下都优于DeepWalk。
  3. LINE(1st+2nd)在重构网络上的性能并没有比在原始网络上提高太多。这意味着在原始网络上的一阶和二阶邻近度结合已经捕获了大部分信息,LINE(1st+2nd)方法是一种非常有效和高效的网络嵌入方法,适用于稠密和稀疏网络。

5.2.3 引文网络

作者使用了两个引文网络,它们都是有向图,而GF、LINE-SGD(1st)和LINE(1st)方法都只使用一阶邻近度,并不适用于有向网络,因此只比较了DeepWalk和LINE(2nd)。

实验也通过一个多标签分类任务来评估顶点嵌入:选择了AAAI、CIKM、ICML、KDD、NIPS、SIGIR和WWW这7个流行的会议作为分类类别。在该会议上发表的作者或在该会议上发表的论文被假定属于与该会议相应的类别。

DBLP(AuthorCitation) Network

表7给出了DBLP(AuthorCitation) 上的实验结果:
在这里插入图片描述
可以看出:

  1. 由于网络比较稀疏,所以DeepWalk的表现优于LINE(2nd)。
  2. 对于小度(小于500)的顶点,通过递归地添加邻居的邻居来重构网络后,LINE(2nd)的性能显著提高,并优于DeepWalk。
  3. 采用SGD直接优化的LINE模型表现不佳。

DBLP(PaperCitation) Network

表8给出了DBLP(PaperCitation)上的实验结果:
在这里插入图片描述
可以看出:

  1. LINE(2nd)的表现明显优于DeepWalk,这是因为论文引用网络上的随机游走只能到达引用路径上的论文(即较老的论文),而不能到达其他引用。相反,LINE(2nd)代表着每一篇论文及其参考文献,这显然更加合理。
  2. 通过对小度(小于200)的顶点的邻域进行丰富来重构网络,LINE(2nd)的性能进一步提高。

5.3 网络布局

网络嵌入的一个重要意义是创建有意义的可视化,在二维空间上布局网络。

本文可视化了从DBLP数据中提取到的合作者网络。作者从三个不同的研究领域选择了一些会议:WWW、数据挖掘中的KDD、机器学习中的NIPS、ICML,以及CV中的CVPR、ICCV。合作者网络是根据这些会议上发表的论文建立的。过滤出度小于3的作者,最后得到的网络包含18561名作者和207074条边。

作者首先使用不同的嵌入方法将合作者网络映射到低维空间,然后使用t-SNE包将顶点的低维向量进一步映射到二维空间。图2比较了不同嵌入方法的可视化结果:
在这里插入图片描述
可以看出:

  1. 使用图分解的可视化不是很有意义,因为属于相同社区的作者没有聚集在一起。
  2. DeepWalk的效果要好得多。然而,许多来自不同社区的作者紧密地聚集在中心区域,其中大多数是高度顶点。这是因为DeepWalk使用基于随机游走的方法来丰富顶点的邻域,由于随机性这会带来大量噪声,尤其是对于阶数较高的顶点。
  3. LINE(2nd)性能相当好,并生成了有意义的网络布局(具有相同颜色的节点分布得更近)。

5.4 网络稀疏性对模型性能的影响

以社交网络为例,作者首先研究了网络的稀疏性如何影响LINE(1st)和LINE(2nd)的效果。图3(a)显示了Flickr网络上不同边百分比对模型的影响:
在这里插入图片描述
之所以选择Flickr网络,是因为它比Youtube网络密集得多。作者从原始网络中随机选择不同百分比的边来构建具有不同稀疏度的网络,可以看出:

  1. 在开始网络非常稀疏时,LINE(1st)的性能优于LINE(2nd)。
  2. 当逐渐增加边的百分比时,LINE(2nd)的表现开始优于LINE(1st)。这表明:当网络非常稀疏时,二阶邻近度受到影响,而当节点的邻域中有足够的节点时,二阶邻近度优于一阶邻近度。

图3(b)显示了原始Youtube网络和重建Youtube网络上顶点的度对模型性能的影响情况:
在这里插入图片描述
作者根据顶点的度数将其分为不同的组,包括(0,1]、[2,3]、[4,6]、[7,12]、[13,30]、[31,+∞),然后评估不同组中顶点的性能:

  1. 总的来说,不同模型的性能随着顶点度数的增加而提高。
  2. 在原始网络中,除第一组外,LINE(2nd)的性能优于LINE(1st),这说明了二阶邻近度对于度较低的节点不起作用
  3. 在重构的密集网络中,LINE(1st)和LINE(2nd)性能得到改善,尤其是LINE(2nd)。
  4. 重建网络上的LINE(2nd)模型在所有组中都优于DeepWalk。

5.5 参数灵敏度

图4(a)显示了嵌入维度d对模型性能的影响:
在这里插入图片描述

我们可以看到:当嵌入维度变得过大时,LINE(1st)和LINE(2nd)的性能都出现了下降。

图4(b)显示了SGD优化过程中样本数量对模型性能的影响:
在这里插入图片描述
可以发现:LINE(2nd)始终优于LINE(1st)和DeepWalk,并且LINE(1st)和LINE(2nd)的收敛速度都比deepWalk快得多。

5.6 可扩展性

最后,作者研究了经过边缘采样处理和ASGD优化的LINE模型的可扩展性,该模型部署了多个线程进行优化。

图5(a)显示了Youtube数据集上线程数对模型加速的影响:
在这里插入图片描述
可以看到,随着线程数的增加,模型加速非常接近线性。

图5(b)显示了线程数对模型性能的影响:
在这里插入图片描述
可以发现:当使用多个线程进行模型更新时,分类性能保持稳定。

图5(a)和图5(b)表明,LINE模型具有很强的可扩展性。

6. 结论

本文提出了一种新的网络嵌入模型LINE,它可以很容易地扩展到具有数百万个顶点和数十亿条边的网络。LINE既保留了一阶邻近度,又保留了二阶邻近度,二者相辅相成。同时,本文提出了一种有效的边缘采样方法,在不影响效率的前提下,解决了加权边缘随机梯度下降的局限性。各种实际网络上的实验结果证明了LINE的有效性。未来,作者计划研究网络中一阶和二阶邻近之外的高阶邻近度。此外,作者还计划研究异构信息网络的嵌入,例如具有多种类型的顶点。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cyril_KI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值