十六、NetSMF

  1. 现有的流行的 Graph Embedding 方法在可扩展性方面存在不足。

    • LINE 具有很好的可扩展性,这是因为它仅对一阶邻近度和二阶邻近度建模。但这也是它的缺点:学到的 embedding 缺失了网络中的高阶邻近关系。
    • DeepWalk/node2vec 基于图上的随机游走和较大上下文尺寸的 SkipGram 对较远的顶点(即全局网络结构)进行建模,但是它们处理大型网络的计算代价太高。
    • NetMF 证明了 DeepWalk/LINE 等价于一个显式的矩阵分解,但是这个矩阵是一个 十六、NetSMF - 图1 的稠密矩阵,这使得直接构建和分解这个超大型稠密矩阵的代价非常高。

    鉴于这些方法的局限性(如下表所示),论文 NetSMF: Large-Scale Network Embedding as Sparse Matrix Factorization 提出了 NetSMF 模型,该模型具有计算效率高、能捕获全局上下文、能从理论上证明正确性的优点。

    十六、NetSMF - 图2

    NetSMF 的基本思想是:通过一个稀疏矩阵来拟合NetMF 中的稠密矩阵,从而降低矩阵构建成本和矩阵分解成本。

    NetSMF 主要包含三个步骤:

    • 利用谱图稀疏化 spectral graph sparsification 技术对网络的随机游走矩阵多项式 random-walk matrix-polynomial 找到稀疏化器 sparsifier
    • 基于这个稀疏化器构建一个稀疏矩阵,该稀疏矩阵是原始 NetMF 稠密矩阵在谱域上的近似,并且具有更少的非零值。
    • 执行 Randomized SVD 分解算法从而高效地分解该稀疏矩阵,从而得到网络顶点的 embedding

    我们设计的 NetSMF 稀疏矩阵在谱域上接近原始的 NetMF 稠密矩阵,从而保留了足够的网络信息。这使得我们从稀疏矩阵中学到的 embedding 几乎和原始NetMF 稠密矩阵中学到的 embedding 一样强大。

    另外论文证明了通过稀疏矩阵来逼近原始 NetMF 稠密矩阵误差的理论上界,从而理论上证明了 NetSMF 的有效性。

    通过各种实验表明:和流行的 Graph Embeding 方法相比,NetSMF 是唯一同时具有效果好、效率高优点的方法。如 NetSMF 在保持和 NetMF 效果相差无几的条件下,训练速度快了几个量级。

  2. 给定无向带权图 十六、NetSMF - 图3,记 十六、NetSMF - 图4NetSMF 证明了当随机游走序列的长度 十六、NetSMF - 图5 时,DeepWalk 隐式的分解矩阵:

    十六、NetSMF - 图6

    其中 十六、NetSMF - 图7 也称作图的 volume十六、NetSMF - 图8 为矩阵的逐元素 log 。考虑到目标矩阵非零元素太多,以及 十六、NetSMF - 图9 是未定义行为,因此NetMF 的目标矩阵调整为:

    十六、NetSMF - 图10

    其中: 十六、NetSMF - 图11

    NetMF 通过显式分解该矩阵从而得到顶点的 embedding ,但是实践中存在两个挑战:

    • 首先,几乎每一对距离 十六、NetSMF - 图12 内的顶点都对应于 NetMF 目标矩阵中的非零项。考虑到很多社交网络和信息网络都具有 small-world 属性:在每一个顶点开始,仅需要几步就可以达到绝大多数顶点。如,截至 2012 年,Facebook92% 的可达到的顶点对之间的距离小于等于 5 。因此,即使设置了一个较小的上下文窗口(如DeepWalk 中默认的 十六、NetSMF - 图13 ),NetMF 中目标矩阵也具有 十六、NetSMF - 图14 个非零元素。而在大型网络中,这种规模矩阵的构建和分解是不现实的。

    • 其次,计算矩阵的幂 十六、NetSMF - 图15 涉及到矩阵乘法,其算法复杂度为 十六、NetSMF - 图16 。另外分解 十六、NetSMF - 图17 的稠密矩阵的计算代价也较高。

      为降低构建目标矩阵的成本,NetMF 使用top 特征值和特征向量来逼近 十六、NetSMF - 图18 。但是这个近似矩阵仍然是稠密的,使得该策略无法处理大型网络。

16.1 模型

  1. 谱域相似性Spectral Similarity :假设有两个带权无向图 十六、NetSMF - 图19十六、NetSMF - 图20 ,令 十六、NetSMF - 图21十六、NetSMF - 图22 分别为它们的拉普拉斯矩阵。如果下面的关系成立,我们就说 十六、NetSMF - 图23十六、NetSMF - 图24十六、NetSMF - 图25 谱相似的spectrally similar

    十六、NetSMF - 图26

  2. 定理九(继续章节15.1.5 的定理编号):对于随机游走多项式 random-walk molynomial 十六、NetSMF - 图27,其中 十六、NetSMF - 图28 ,则可以在 十六、NetSMF - 图29 时间复杂度内构造一个 十六、NetSMF - 图30 spectral sparsifier 十六、NetSMF - 图31 ,其中 十六、NetSMF - 图32 具有 十六、NetSMF - 图33 个非零项。

    对于无权图,时间复杂度可以进一步降低到 十六、NetSMF - 图34

    证明参考:Dehua Cheng, Yu Cheng, Yan Liu, Richard Peng, and Shang-Hua Teng. 2015. Efficient sampling for Gaussian graphical models via spectral sparsification. In COLT ’15. 364–390.Dehua Cheng, Yu Cheng, Yan Liu, Richard Peng, and Shang-Hua Teng. 2015. Spectral sparsification of random-walk matrix polynomials. arXiv preprint arXiv:1502.03496 (2015).

  3. 为构建一个包含 十六、NetSMF - 图35 个非零项的 sparsifier 十六、NetSMF - 图36 ,该稀疏化算法包含两步:

    • 第一步获得一个针对 十六、NetSMF - 图37 的初始化 sparsifier,它包含 十六、NetSMF - 图38 个非零项。
    • 第二步使用标准的谱稀疏化算法spectral sparsification algorithm 来进一步降低非零项到 十六、NetSMF - 图39

    本文我们仅仅应用第一步,因为一个包含 十六、NetSMF - 图40 个非零项的稀疏矩阵已经足够可用,所以我们并没有采用第二步,这能够避免额外的计算。下面讲到的所有随机游走多项式稀疏化算法random-walk molynomial sparsification algorithm 都仅包含第一步。

  4. 我们取 十六、NetSMF - 图41,因此有:

    十六、NetSMF - 图42

    我们定义:

    十六、NetSMF - 图43

    因此有:十六、NetSMF - 图44

    采用 十六、NetSMF - 图45 的稀疏化版本 十六、NetSMF - 图46 ,我们定义 十六、NetSMF - 图47 。可以发现 十六、NetSMF - 图48 也是一个稀疏矩阵,其非零元素的规模和 十六、NetSMF - 图49 非零元素规模相当。

    最终我们可以分解这个稀疏矩阵从而获得每个顶点的 embedding

    十六、NetSMF - 图50

  5. 我们正式给出 NetSMF 算法,该算法包含三个步骤:

    • 随机游走多项式的稀疏化Random-Walk Molynomial Sparsification :我们首先构建一个网络 十六、NetSMF - 图51,它具有和 十六、NetSMF - 图52 相同的顶点但是不包含任何边。然后我们重复 Path-Sampling 路径采样算法 十六、NetSMF - 图53 次,从而得到 十六、NetSMF - 图54 条边,这些边构成了 十六、NetSMF - 图55 的非零项。在每一次迭代过程中:

      • 首先均匀随机选择一条边 十六、NetSMF - 图56,均匀随机选择一个路径长度 十六、NetSMF - 图57

      • 然后从顶点 十六、NetSMF - 图58 开始进行 十六、NetSMF - 图59 步随机游走,得到顶点序列 十六、NetSMF - 图60;从顶点 十六、NetSMF - 图61 开始进行 十六、NetSMF - 图62 步随机游走,得到顶点序列 十六、NetSMF - 图63。这一过程产生了一个长度为 十六、NetSMF - 图64 的路径 十六、NetSMF - 图65 。同时我们计算:

        十六、NetSMF - 图66

      • 最后我们向图 十六、NetSMF - 图67 中添加一条新的边 十六、NetSMF - 图68,其权重为 十六、NetSMF - 图69 。如果边已经存在,则相同的边进行合并(只需要将权重相加即可)。

        这条新的边代表了图 十六、NetSMF - 图70 中一条长度为 十六、NetSMF - 图71 的随机游走序列,权重就是转移概率。

      最终我们计算 十六、NetSMF - 图72 的未归一化的拉普拉斯矩阵 十六、NetSMF - 图73 ,它具有 十六、NetSMF - 图74 个非零项。

    • 构建 NetMF 稀疏器 sparsifier :即计算 十六、NetSMF - 图75 。这一步并未改变非零项的规模。

    • 截断的奇异值分解 truncated singular value decomposition :对 十六、NetSMF - 图76 执行 十六、NetSMF - 图77 维的 RandomizedSVD 分解。

      即使稀疏矩阵仅有 十六、NetSMF - 图78 个非零元素,执行精确的 SVD 仍然非常耗时。这里我们使用 Randomized SVD 进行分解。由于篇幅有限我们无法包含更多细节,简而言之,该算法通过高斯随机矩阵将原始矩阵投影到低维空间,然后在 十六、NetSMF - 图79 维的小矩阵上执行经典的 SVD 分解即可。

  6. NetSFM 算法:

    • 输入:

      • 十六、NetSMF - 图80
      • 非零项的数量 十六、NetSMF - 图81
      • embedding 维度 十六、NetSMF - 图82
    • 输出:顶点 embedding 矩阵 十六、NetSMF - 图83

    • 算法步骤:

      • 初始化 十六、NetSMF - 图84 ,即只有顶点没有边。

      • 迭代 十六、NetSMF - 图85,迭代步骤为:

        • 均匀随机选择一条边 十六、NetSMF - 图86

        • 均匀随机选择一个长度 十六、NetSMF - 图87

        • 随机采样一条路径:十六、NetSMF - 图88

        • 添加边 十六、NetSMF - 图89十六、NetSMF - 图90 中,边的权重为 十六、NetSMF - 图91

          如果有多条边相同则合并成一个,将权重直接相加即可。

      • 计算 十六、NetSMF - 图92 的未归一化的拉普拉斯矩阵 十六、NetSMF - 图93

      • 计算 十六、NetSMF - 图94

      • 十六、NetSMF - 图95 执行 十六、NetSMF - 图96 维的 RandomizedSVD 分解,得到 十六、NetSMF - 图97

      • 返回 十六、NetSMF - 图98

  7. PathSampling 算法:

    • 输入:

      • 十六、NetSMF - 图99
      • 十六、NetSMF - 图100
      • 采样的路径长度 十六、NetSMF - 图101
    • 输出:路径的初始顶点 十六、NetSMF - 图102、结束顶点 十六、NetSMF - 图103 、路径 十六、NetSMF - 图104

    • 算法步骤:

      • 均匀随机采样一个整数 十六、NetSMF - 图105

      • 从顶点 十六、NetSMF - 图106 开始执行 十六、NetSMF - 图107 步随机游走,采样到的顶点记作 十六、NetSMF - 图108

      • 从顶点 十六、NetSMF - 图109 开始执行 十六、NetSMF - 图110 步随机游走,采样到的顶点记作 十六、NetSMF - 图111

      • 计算整条路径的路径 十六、NetSMF - 图112 值:

        十六、NetSMF - 图113

      • 返回 十六、NetSMF - 图114

  8. Randomized SVD 算法:

    • 输入:

      • 一个稀疏的对称矩阵 十六、NetSMF - 图115 。我们以行优先的方式存储矩阵,从而充分利用对称性来简化计算。
      • 目标维度 十六、NetSMF - 图116
    • 输出:SVD 矩阵分解的 十六、NetSMF - 图117

    • 步骤:

      • 采样一个高斯随机矩阵 十六、NetSMF - 图118 作为投影矩阵。
      • 计算映射后的矩阵 十六、NetSMF - 图119
      • 对矩阵 十六、NetSMF - 图120 进行正交归一化
      • 计算矩阵 十六、NetSMF - 图121
      • 采样另一个高斯随机矩阵 十六、NetSMF - 图122 作为投影矩阵。
      • 计算映射后的矩阵 十六、NetSMF - 图123
      • 对矩阵 十六、NetSMF - 图124 进行正交归一化。
      • 计算矩阵 十六、NetSMF - 图125
      • 十六、NetSMF - 图126 执行 Jacobi SVD 分解:十六、NetSMF - 图127
      • 返回 十六、NetSMF - 图128
  9. 基于 SVD 分解的一个优点是:我们可以通过 Cattell’s Scree 测试来选择合适的 embedding 维度 十六、NetSMF - 图129 :通过从大到小来绘制奇异值,然后选择奇异值明显下降、或者奇异值开始趋向于均匀的 十六、NetSMF - 图130

  10. PathSampling 算法的说明:

    • 引理:给定一个长度为 十六、NetSMF - 图131 的路径 十六、NetSMF - 图132 ,则PathSampling 算法采样到该路径的概率为:

      十六、NetSMF - 图133

      其中:

      十六、NetSMF - 图134

    • 引理:假设采样到一个长度为 十六、NetSMF - 图135 的路径 十六、NetSMF - 图136 ,则新的边 十六、NetSMF - 图137 的权重应该为:

      十六、NetSMF - 图138

    • 根据上述引理,则添加到 十六、NetSMF - 图139 中的边的权重为:

      十六、NetSMF - 图140

      对于无向图,则 十六、NetSMF - 图141 ,则权重简化为 十六、NetSMF - 图142

  11. NetMFNetSMF 之间的主要区别在于对目标矩阵的近似策略。NetMF 使用了一个稠密矩阵来近似,从而带来了时间和空间上的挑战;NetSFM 基于谱图稀疏化理论和技术,使用了一个稀疏矩阵来近似。

16.2 复杂度

  1. 算法复杂度:

    • 第一步:我们需要调用 PathSampling 算法 十六、NetSMF - 图143 次,每次 PathSampling 都需要在网络 十六、NetSMF - 图144 上执行 十六、NetSMF - 图145 步随机游走。对于无权无向图,随机游走采样一个顶点的计算复杂度为 十六、NetSMF - 图146;对于带权无向图,可以使用 roulette wheel selection 从而随机游走采样一个顶点的计算复杂度为 十六、NetSMF - 图147

      另外我们需要 十六、NetSMF - 图148 的空间存储 十六、NetSMF - 图149,以及额外的 十六、NetSMF - 图150 空间来存储算法的输入。

    • 第二步:我们需要 十六、NetSMF - 图151 的时间来计算 十六、NetSMF - 图152 以及 十六、NetSMF - 图153

      另外我们需要 十六、NetSMF - 图154 空间来存储degree 矩阵 十六、NetSMF - 图155十六、NetSMF - 图156 的空间来存储 十六、NetSMF - 图157

    • 第三步:我们需要 十六、NetSMF - 图158 时间来计算一个稀疏矩阵和一个稠密矩阵的乘积,以及 十六、NetSMF - 图159 来执行 Jacobi SVD ,以及 十六、NetSMF - 图160 来计算Gram-Schmidt 正交化 。

    十六、NetSMF - 图161

  2. 示例:假设网络 十六、NetSMF - 图162 的顶点数量 十六、NetSMF - 图163 ,边的数量为 十六、NetSMF - 图164 ,上下文窗口大小 十六、NetSMF - 图165 ,逼近因子approximation factor 十六、NetSMF - 图166

    • NetSMF 调用 PathSampling 算法次数为 十六、NetSMF - 图167 次,得到一个稀疏矩阵大约 十六、NetSMF - 图168 个非零值,稠密度大约为 十六、NetSMF - 图169

      然后我们在 randomized SVD 中计算 sparse-dense 矩阵乘积,近似矩阵的稀疏性可以大大加快计算速度。

    • NetMF 必须构建一个稠密矩阵,它包含 十六、NetSMF - 图170 个非零元素,这比 NetSMF 大一个量级。

    通过一个更大的 十六、NetSMF - 图171 我们可以进一步降低 NetSMF 中近似矩阵的稀疏性,而 NetMF 缺乏这种灵活性。

  3. NetSMF 的每个步骤都可以并行化,从而scale 到非常大的网络。

    • 第一步:我们可以同时启动多个 PathSampling worker 来独立的、并行的采样多个路径,每个 worker 负责采样一批路径。
    • 第二步:我们可以简单直接地并行计算 十六、NetSMF - 图172十六、NetSMF - 图173
    • 第三步:我们可以将稀疏矩阵组织为行优先的格式,这种格式可以在稀疏矩阵和稠密矩阵之间进行高效的乘法运算。

16.3 近似误差分析

  1. 我们假设逼近因子 十六、NetSMF - 图174。我们假设顶点的 degree 是降序排列:十六、NetSMF - 图175 。 我们令 十六、NetSMF - 图176 为矩阵从大到小排列的奇异值中的第 十六、NetSMF - 图177 个奇异值。

    我们首先证明一个结论:令 十六、NetSMF - 图178,以及 十六、NetSMF - 图179,则有:

    十六、NetSMF - 图180

    证明:

    十六、NetSMF - 图181

    它是某个图的归一化的拉普拉斯矩阵,因此有特征值 十六、NetSMF - 图182

    由于 十六、NetSMF - 图183 是矩阵 十六、NetSMF - 图184十六、NetSMF - 图185 spectral sparsifier,因此有:

    十六、NetSMF - 图186

    十六、NetSMF - 图187 ,则有:

    十六、NetSMF - 图188

    其中最后一个不等式是因为 十六、NetSMF - 图189

    根据瑞利商的性质(15.1 中的定理七)有:十六、NetSMF - 图190

    根据奇异值和特征值的关系(15.1 中的定理五),我们有:十六、NetSMF - 图191

  2. 定理十: 十六、NetSMF - 图192 的奇异值满足:

    十六、NetSMF - 图193

    证明:

    十六、NetSMF - 图194

    根据奇异值的性质(15.1 中的定理六),我们有:

    十六、NetSMF - 图195

  3. 定理十一:令 十六、NetSMF - 图196 为矩阵的 Frobenius 范数,则有:

    十六、NetSMF - 图197

    证明:很明显 十六、NetSMF - 图198 函数满足是 1- Lipchitz 的。因此我们有:

    十六、NetSMF - 图199

16.3 实验

  1. 数据集:

    • BlogCatalog 数据集:由博客作者提供的社交关系网络。标签代表作者提供的主题类别。
    • Flickr 数据集:Flickr网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。
    • Protein-Protein Interactions:PPI:该数据集包含蛋白质和蛋白质之间的关联,标签代表基因组。
    • Youtube 数据集:YouTube 网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。网络包含 1138499 个顶点、2990443 条边、47 种不同标签。
    • Open Academic Graph:OAG 数据集:一个学术网络,它包含 67,768,244 位作者和 895,368,962 条无向边。顶点标签位每个作者的研究领域,共有 19 种不同的标签。每位作者可以研究多个领域,所以有多个标签。

    十六、NetSMF - 图200

  2. 模型配置:

    • 所有模型的 embedding 维度设置为 十六、NetSMF - 图201
    • 对于 NetSMF/NetMF/DeepWalk/node2vec ,我们将上下文窗口大小设为 十六、NetSMF - 图202
    • 对于 LINE我们仅使用二阶邻近度,即 LINE(2nd),负样本系数为 5,边采样的数量为 100亿。
    • 对于 DeepWalk,随机游走序列的长度为40,每个顶点开始的随机游走序列数量为 80,负采样系数为 5
    • 对于node2vec,随机游走序列的长度为40,每个顶点开始的随机游走序列数量为 80,负采样系数为 5 。参数 十六、NetSMF - 图203十六、NetSMF - 图204 中进行 grid search 得到。
    • 对于 NetMF,我们在 BlogCatalog,PPI,Flickr 数据集中设置 十六、NetSMF - 图205
    • 对于 NetSMF,我们在 PPI,Flickr,YouTube 数据集中设置采样数量 十六、NetSMF - 图206 ;我们在 BlogCatalog 数据集中设置采样数量 十六、NetSMF - 图207 ;我们在 OAG 数据集中设置采样数量 十六、NetSMF - 图208
    • 对于 NetMFNetSMF,我们设置负采样系数 十六、NetSMF - 图209
  3. DeepWalk 相同的实验步骤,我们首先训练整个网络的 embedding,然后随机采样一部分标记样本来训练一个one-vs-rest 逻辑回归分类模型,剩余的顶点作为测试集。我们评估测试集的 Micro-F1 指标和 Macro-F1 指标。为了确保实验结果可靠,每个配置我们都重复实验 10 次,并报告测试集指标的均值。

    对于 BlogCatalog,PPI 数据集,我们考察分类训练集占比 10%~90% 的情况下,各模型的性能;对于 Flickr,YouTube,OAG 数据集,我们考察分类训练集占比 1%~10% 的情况下,各模型的性能。

    完成的实验结果如下图所示。对于训练时间超过1周的模型,我们判定为训练失败,此时并未在图中给出结果。第二张图给出了模型训练时间,- 表示模型无法在周内完成训练(时间复杂度太高);x 表示模型因内存不足无法训练(空间复杂度太高)。

    • 我们首先重点对比 NetSMFNetMF

      • 在训练速度上:对于大型网络 (YouTube,OAG),NetMF 因为空间复杂度和时间复杂度太高而无法训练,但是 NetSMF 可以在 24h 内完成训练;对于中型网络(Flickr),二者都可以完成训练,但是 NetSMF 的速度要快2倍;对于小型网络,NetMF 的训练速度反而更快,这是因为 NetSMF 的稀疏矩阵构造和分解的优势被 pipeline 中其它因素抵消了。
      • 在模型效果上:NetSMFNetMF 都能产生最佳的效果(和其它方法相比),并且 NetSMF 性能相比 NetMF 略有下降。

      总之,NetSMF 不仅提高了可扩展性,还能保持足够好的性能。这证明了我们谱图稀疏化近似算法的有效性。

    十六、NetSMF - 图210

    十六、NetSMF - 图211

  4. 我们用 Flickr 数据集的 10% 标记顶点作为训练集,来评估NetSMF 超参数的影响。

    • 维度 十六、NetSMF - 图212 :论文使用 Cattell Scree 测试。首先从大到小绘制奇异值,然后再图上找出奇异值突变或者趋于均匀的点。从 Flickr 数据的奇异值观察到:当 十六、NetSMF - 图213 增加到 100 时,奇异值趋近于零(图b 所示)。因此我们在实验中选择 十六、NetSMF - 图214

      我们观察 十六、NetSMF - 图215 时,测试集的指标。可以看到确实当 十六、NetSMF - 图216 时模型效果最好。这表明了 NetSMF 可以自动选择最佳的 embedding 维度。

    • 非零元素数量:理论上 十六、NetSMF - 图217 ,当 十六、NetSMF - 图218 越大则近似误差越小。不失一般性我们将 十六、NetSMF - 图219 设置为 十六、NetSMF - 图220 ,其中 十六、NetSMF - 图221 ,我们研究随着 十六、NetSMF - 图222 的增大模型性能的影响。

      如图 c 所示,当增加非零元素数量时,NetSMF 效果更好,因为更大的 十六、NetSMF - 图223 带来更小的误差。但是随着 十六、NetSMF - 图224 的增加,预测性能提升的边际收益在递减。

    • 并行性:我们将线程数量分别设置为 1、10、20、30、60,然后考察NetSMF 的训练时间。

      如图d 所示,在单线程时NetSMF 运行了 12 个小时,在30 个线程时NetSMF 运行了 48 分钟,这实现了 15 倍的加速比(理想情况 30 倍)。这种相对较好的亚线性加速比使得 NetSMF 能够扩展到非常大规模的网络。

    十六、NetSMF - 图225