

题目:LINE: Large-scale Information Network Embedding
会议:WWW 2015
论文地址:https://dl.acm.org/doi/abs/10.1145/2736277.2741093
这是继KDD2016 | node2vec:可拓展的网络特征学习和KDD 2014 | DeepWalk:社会表征的在线学习后第三篇关于图嵌入算法的论文解读文章,三篇论文出现的顺序应该为:DeepWalk、LINE、node2vec,不过这并不影响阅读本文。
通过观察node2vec、DeepWalk和LINE的原始论文,发现这三篇论文具有一定的相似性:
或许以上几点是顶级期刊/会议论文的基本要求了,这是我们需要学习的。
摘要
大规模信息的网络嵌入对于可视化、节点分类和链接预测等任务都十分重要,但是现有的大多数图嵌入方法都不能适应通常包含数百万个节点的真实信息网络。
因此,本文提出了一种新的网络嵌入方法LINE,LINE适用于任意类型的信息网络,无论是无向图、有向图和/或加权图。
LINE优化了一个精心设计的目标函数,同时保留了局部和全局网络结构。同时在LINE中,作者提出了一种边缘采样算法,该算法克服了经典SGD算法的局限性,提高了推理的有效性和效率。
1. 引言
现有的许多网络嵌入方法,它们通常在较小的网络上表现良好。但是现实世界中的许多网络,可能会包含数百万个节点和数十亿条边。
本文提出的LINE能够扩展到非常大的、任意类型的网络。LINE以保持局部和全局网络结构为目标进行优化。局部结构是由网络中观察到的链接来表示的,这些链接捕获了顶点之间的一阶邻近度。大多数现有的图嵌入算法都被设计成保持这种一阶邻近度,比如IsoMap和拉普拉斯特征映射。
但是,在真实世界数据中观测到的一阶邻近度不足以保持全局网络结构,作为补充,LINE探索了顶点之间的二阶邻近度,它不是通过观察到的连接强度决定的,而是通过顶点的共享邻域结构决定的。
例如下图:

顶点6和顶点7之间的边的权值较大,即6和7具有较高的一阶邻近度,因此它们在嵌入空间中应该紧密表示。另一方面,虽然顶点5和顶点6之间没有联系,但它们有许多共同的邻居,也就是说,它们具有高的二阶邻近度,因此也应该彼此紧密地表示。LINE算法以保证一阶邻近度和二阶邻近度为优化目标。
SGD是近年来引起人们关注的一种优化方法。然而,本文作者发现,直接部署随机梯度下降对现实世界的信息网络是有问题的。这是因为在许多网络中,边是加权的,而权值通常具有很高的方差。比如考虑一个词共现网络,其中词对的权重(共现)可能在1到数十万之间,这些边的权值将被乘到梯度中,导致梯度爆炸,从而影响性能。为了解决这个问题,作者提出了一种新的边缘采样方法,提高了推理的有效性和效率:作者用与权值成比例的概率对边进行采样,然后将采样后的边作为二值边进行模型更新。在这种采样策略下,目标函数保持不变,边的权值不再影响梯度。
本文贡献:
2. 相关工作
经典的图嵌入或降维方法,如多维标度(MDS)、IsoMap、局部线性嵌入(LLE)和拉普拉斯特征映射,这些方法通常首先使用数据点的特征向量构建亲和图,例如数据的K近邻图,然后将亲和联图嵌入到低维空间中。
然而,这些算法通常依赖于求解亲和矩阵的主要特征向量,其复杂度至少是节点数的二次方,因此在处理大规模网络时效率低下。最近提出的一种叫做图分解的技术,利用SGD优化矩阵分解,得到大型图的低维嵌入。这是可能的,因为图可以表示为一个亲和矩阵。然而,矩阵分解的目标不是为网络设计的,因此不一定能保持全局网络结构。直观地说,图分解期望具有较高一阶邻近度的节点被紧密地表示出来。相反,LINE模型使用了一个特别为网络设计的目标,它保留了一阶和二阶邻近度。在实际应用中,图分解方法只适用于无向图,而LINE对无向图和有向图都适用。
关于DeepWalk,尽管实验上是有效的,但它并没有提供一个明确的目标来说明哪些网络属性被保留。直观地说,DeepWalk期望具有更高二阶邻近度的节点产生类似的低维表示,而LINE同时保留了一阶和二阶邻近度。DeepWalk使用随机漫步来扩展一个顶点的邻域,这类似于DFS。而LINE使用BFS策略,这是一种更合理的方法。实际上,DeepWalk只适用于未加权网络,而本文的模型既适用于不带加权边的网络,也适用于带加权边的网络。
3. 问题定义
利用一阶邻近和二阶邻近对大规模信息网络嵌入问题进行了形式化的定义。首先对信息网络的定义如下:

一阶邻近度定义:

两个节点间边的权值为两个节点间的一阶邻近度。
一阶邻近度通常意味着真实世界网络中两个节点的相似性。正所谓近朱者赤近墨者黑,比如在社交网络中成为朋友的人往往有相似的兴趣爱好,又比如万维网上相互链接的网页往往有着类似的话题。由于这种重要性,现有的许多图嵌入算法在设计目标函数时都会保持一阶邻近度。
在现实世界的信息网络中,观察到的链接只占很小的比例,还有许多其他链接缺失。因此,仅靠一阶邻近度不足以保持网络结构,所以寻求一种替代的邻近度概念来解决稀疏性问题是很重要的。一个自然的直觉是,共享相似邻居的顶点往往彼此相似。例如,在社交网络中,拥有相似朋友的人往往有相似的兴趣爱好,从而成为朋友。又比如在词共现网络中,总是与同一组词共现的词往往具有相似的含义。因此,作者定义了二阶邻近度,它补充了一阶邻近度,并保留了网络结构。
二阶邻近度定义如下:

令

表示节点

与其它所有节点的一阶邻近度,那么节点

和节点

间的二阶邻近度可以为

和

间的相似度,比如可以为

。
本文研究问题定义:

对于一个大图

,目标是找到每一个节点

的d维向量表示

,这里

。

同时保留了节点间的一阶邻近度和二阶邻近度。
4. LINE
一个理想的真实信息网络嵌入模型必须满足以下几个要求:
LINE模型符合以上三个要求。
下面依次介绍保持一阶邻近度和二阶邻近度的LINE模型,然后介绍一种简单的方法将两种邻近度结合起来。
对每条无向边

,定义节点

和

间的联合概率如下:

其中

和

是两个节点的

维嵌入向量表示。
根据网络权值,我们也有经验分布:

这里

是网络中所有边上权值之和。
显然,联合概率和经验分布越相似,一阶邻近度就能保持得越好。因此,我们可以最小优化以下两个分布间的KL散度:

需要注意的是,一阶邻近度并不适用于有向图,它只适用于无向图。
通过找到

来使得

最小化,我们就能得到每个节点的嵌入表示。
二阶邻近度对无向图和有向图都适用。为了说明一般性,给定一个有向图(一条无向边可以被认为是两条有向边)。
根据前文定义,二阶邻近度用于描述两个节点邻居的相似性。在这种情况下,每个节点也被视为一个上下文,两个节点间的二阶邻近度很高,说明它们具有相似的上下文。因此,每个节点都有两种角色:节点本身和其他节点的上下文节点。
引入两个向量

和

:当一个节点被当做节点本身时,

是其向量表示,而当一个节点被当做上下文节点时,

是其向量表示。
对每一条有向边

,定义顶点

生成上下文节点

的概率为:

其中

表示节点或者上下文节点数量。
对每一个顶点

,上式定义了一个分布

,该分布描述了一个顶点生成其上下文节点的概率。
同样,我们也有二阶邻近度的经验分布:

其中

表示节点

的度。
与前文提到的一阶邻近度类似,联合概率和经验分布间越相似越好,因此我们最小化以下目标函数:

最小化

后得到的

就是我们所需要的节点嵌入向量表示。
为了得到一个既保持了一阶邻近度也保持了二阶邻近度的LINE模型,作者提出了一个办法:分别训练保持一阶邻近度和二阶邻近度的LINE模型,然后将这两种方法训练的嵌入结果连接到每个顶点上。
具体的联合方法:联合训练目标函数

和

。不过联合训练在本文中并未提到,作者希望将其作为未来的研究工作。
最小化

的计算代价很高,因为在计算

的时候需要对所有节点进行求和,如下所示:

为了解决这一问题,本文采用了一种负采样方法,即根据每条边

的某些噪声分布对多条负边进行采样。具体来说,它为每条边

指定了以下目标函数:

其中

表示Sigmoid函数。上式第一项对观测到的边进行建模,第二项对噪声分布中得到的负边进行建模,K是负边的个数。
采用异步SGD(ASGD)对式(7)进行优化,ASGD算法对一小批边缘进行采样,然后更新模型参数。目标函数

对我们要求的节点嵌入表示的偏导数为:

在上式中,梯度将会乘以边的权值

,这会导致一些问题:
既然边的权值会导致梯度问题,那么如果网络中所有边的权值都相等,就不会存在学习率的选择问题。
因此,我们可以将一条权值为

的边变为

条二进制边。但很显然,这将急剧增加内存需求。
为了解决这个问题,可以从原始边中进行采样,并将采样的边视为二进制边,采样概率与原始边的权值成正比。采用这种边缘采样处理,总体目标函数保持不变。
具体采样方式如下所示:

简单来说:首先我们可以算出所有边上的权值之和

,然后随机选择一个

间的随机值,观察该随机值属于哪一个

区间,然后进行采样。
上述方法采样一条边的时间复杂度为

,使用Alias采样可以将时间复杂度降为

。关于Alias采样,在我的一篇关于node2vec具体实现的文章node2vec的代码实现及详细解析中有提到过。
从别名表中对边进行抽样需要常数时间O(1),而采用负抽样优化需要O(d(K+ 1))时间,其中K是负抽样的数量。因此,总体上每一步所需时间为O(dK)。在实践中,发现用于优化的步骤数通常与边数O(|E|)成正比。
因此,LINE的总体时间复杂度为O(dK|E|),与边数|E|成线性关系,与顶点数|V|无关。边缘采样处理在不影响随机梯度下降效率的前提下,提高了随机梯度下降的有效性。
关于LINE,存在以下几个实际问题:
(1)Low degree vertices:如何对度较小的节点进行精确嵌入?度小的节点邻居很少,因此很难准确地推断其表示,特别是对于严重依赖于“上下文”数量的基于二阶邻近度的LINE方法。一个直观的解决方案是通过添加更高阶的邻居来扩展这些顶点的邻居,例如邻居的邻居。该节点的邻居比较少,但它邻居的邻居可能就比较多了。
在本文中只考虑二阶邻居(邻居的邻居),顶点

与其二阶邻居

之间的权值表示为:

在实践中,我们只能添加一个节点

的子集,它与低度顶点

的邻近度

最大。
(2)New vertices:如何找到新来的节点的表示?对于一个新的节点

,如果我们已知它和其它已有节点的连接情况,那么我们就可以得到经验分布

和

,然后我们就可以优化

或者

:

通过更新新顶点的嵌入,保持已有顶点的嵌入,我们就能得到新顶点的嵌入表示。
如果我们无法观察到新节点与其他节点的连接情况,我们就必须依靠其他信息,比如节点的文本信息,作者表示这一点将作为未来的研究方向。
5. 实验
数据集的具体情况如表1所示:

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

和

的两种模型,该方法在对边缘进行采样时,直接将边缘的权值乘到梯度中进行模型更新。

。其中

为小批量样本的数量。

,walk length

,每个节点需要采样的路径数

。

。
语言网络包括200万个节点和10亿条边,用词类比和文本分类来进行试验。
Word Analogy
给定一个词对(a, b)和一个词c,任务是找到一个词d,使得c和d之间的关系类似于a和b之间的关系。比如给定词对(“中国”,“北京”)和单词“法国”,那么答案就为“巴黎”。
表2给出了实验结果:

可以看出以下几点:
Document Classification
另一种评估单词嵌入质量的方法是使用单词向量来计算文档表示,然后在文档分类任务中进行评估。
为了获得文档向量,作者选择了一种非常简单的方法,即取该文档中单词向量表示的平均值。
所有文档向量都被用来训练出一个逻辑分类器,然后在测试集上进行验证,得到的所有模型的Micro-F1和Macro-F1如表3所示:

从表3可以得出与词类比任务相似的结论:
为了让读者更深入地了解一阶邻近度和二阶邻近度,使用一阶和二阶邻近度比较了与给定单词最相似的单词,结果如表4所示:

观察结果可以知道:二阶邻近度返回的最相似的词都是语义相关的词,一阶邻近度返回的最相似的词则是语法和语义相关的词的混合体。
与语言网络相比,社交网络更加稀疏。
Flickr Network
选择最流行的五个社区作为顶点的类别来进行多标签分类,结果如表5所示:

可以发现:
Youtube Network
Youtube网络上的结果如表6所示:

可以发现:
DeepWalk的随机漫步方法就像DFS,这种方法可以通过引入间接近邻来快速缓解节点的近邻稀疏性,但也可能引入距离较远的节点。更合理的方法是采用BFS策略来扩展每个顶点的邻域,即递归地添加邻域的邻域。为了验证这一点,作者通过添加邻居的邻居来扩展度小于1000的顶点的邻域,直到扩展的邻域大小达到1000个节点,这时作者发现添加超过1000个顶点并不会进一步提高性能。
表6括号中的结果是在这个重构网络上得到的:
作者使用了两个引文网络,它们都是有向图,而GF、LINE-SGD(1st)和LINE(1st)方法都只使用一阶邻近度,并不适用于有向网络,因此只比较了DeepWalk和LINE(2nd)。
实验也通过一个多标签分类任务来评估顶点嵌入:选择了AAAI、CIKM、ICML、KDD、NIPS、SIGIR和WWW这7个流行的会议作为分类类别。在该会议上发表论文的作者或在该会议上发表的论文被假定属于与该会议相应的类别。
DBLP(AuthorCitation) Network
表7给出了DBLP(AuthorCitation) 上的实验结果:

可以看出:
DBLP(PaperCitation) Network
表8给出了DBLP(PaperCitation)上的实验结果:

可以看出:
网络嵌入的一个重要意义是创建有意义的可视化,在二维空间上布局网络。
本文可视化了从DBLP数据中提取到的合作者网络。作者从三个不同的研究领域选择了一些会议:WWW、数据挖掘中的KDD、机器学习中的NIPS、ICML,以及CV中的CVPR、ICCV。合作者网络是根据这些会议上发表的论文建立的。过滤出度小于3的作者,最后得到的网络包含18561名作者和207074条边。
作者首先使用不同的嵌入方法将合作者网络映射到低维空间,然后使用t-SNE包将顶点的低维向量映射到二维空间。图2比较了不同嵌入方法的可视化结果:

可以看出:
以社交网络为例,作者首先研究了网络的稀疏性如何影响LINE(1st)和LINE(2nd)的性能。图3(a)显示了Flickr网络上不同边百分比对模型性能的影响:

之所以选择Flickr网络,是因为它比Youtube网络密集得多。作者从原始网络中随机选择不同百分比的边来构建具有不同稀疏度的网络,可以看出:
图3(b)显示了原始Youtube网络和重建Youtube网络上顶点的度对模型性能的影响情况:

作者根据顶点的度数将其分为不同的组,包括(0,1]、[2,3]、[4,6]、[7,12]、[13,30]、[31,+∞),然后评估不同组中顶点的性能:
图4(a)显示了嵌入维度d对模型性能的影响:

我们可以看到:当嵌入维度变得过大时,LINE(1st)和LINE(2nd)的性能都出现了下降。
图4(b)显示了SGD优化过程中样本数量对模型性能的影响:

可以发现:LINE(2nd)始终优于LINE(1st)和DeepWalk,并且LINE(1st)和LINE(2nd)的收敛速度都比deepWalk快得多。
最后,作者研究了经过边缘采样处理和ASGD优化的LINE模型的可扩展性,该模型部署了多个线程进行优化。
图5(a)显示了Youtube数据集上线程数对模型加速的影响:

可以看到,随着线程数的增加,模型加速非常接近线性。
图5(b)显示了线程数对模型性能的影响:

可以发现:当使用多个线程进行模型更新时,分类性能保持稳定。
图5(a)和图5(b)表明,LINE模型具有很强的可扩展性。
6. 结论
本文提出了一种新的网络嵌入模型LINE,它可以很容易地扩展到具有数百万个顶点和数十亿条边的网络。LINE既保持了一阶邻近度,又保持了二阶邻近度,二者相辅相成。同时,本文提出了一种有效的边缘采样方法,在不影响效率的前提下,解决了加权边缘随机梯度下降的局限性。各种实际网络上的实验结果证明了LINE的有效性。未来,作者计划研究网络中一阶和二阶邻近之外的高阶邻近度。此外,作者还计划研究异质图的嵌入。