图的表达

  1. Graph Embedding 可用于可视化、结点分类、链接预测 link prediction、推荐等任务中。
  2. 网络表示学习 network representation learning :NRL :将网络的每个顶点编码到一个统一的低维空间中。

一、DeepWalk[2014]

  1. network representation 的稀疏性既是优点、也是缺点。稀疏性有助于设计高效的离散算法,但是会使统计学习中的泛化变得更加困难。network 中的机器学习应用(例如 network classification、内容推荐、异常检测、缺失链接预测)必须能够处理这种稀疏性才能生存。

    在论文 《DeepWalk: Online Learning of Social Representations》 中,作者首次将深度学习(无监督特征学习)技术引入到网络分析network analysis 中,而深度学习技术已经在自然语言处理中取得了成功。论文开发了一种算法(DeepWalk),它通过对短short的随机游走流 a stream of short random walks 进行建模,从而学习图顶点的社交表示social representation

    social representation 是捕获邻域相似性neighborhood similarity 和社区成员关系 community membership 的顶点的潜在特征。这些潜在 representation 在低维的、连续的向量空间中对社交关系social relation 进行编码。

    DeepWalk 将神经语言模型推广为处理由一组随机生成的游走walks 组成的特殊语言。这些神经语言模型已被用于捕获人类语言的语义结构semantic structure 和句法结构syntactic structure ,甚至是逻辑类比logical analogiesDeepWalk 将图作为输入,并生成潜在 representation 作为输出。

    论文的方法应用于经过充分研究的空手道网络 Karate network ,其结果如下图所示。Karate network 通常以 force-directed 布局呈现,如图 a 所示。图 b 展示了论文方法的输出,其中具有两个潜在维度。除了惊人的相似性之外,我们注意到(图 b)的线性可分部分对应于通过输入图(图 a)中的 modularity maximization 发现的 clusters (以不同顶点颜色表示)。下图中,注意输入图中的社区结构和 embedding 之间的对应关系。顶点颜色表示输入图的 modularity-based clustering

    为了展示 DeepWalk 在现实世界场景中的潜力,论文评估了它在大型异质图large heterogeneous graph 中具有挑战性的 multi-label network classification 问题的性能。在关系分类 relational classification 问题中,特征向量之间的链接 links 违反了传统的独立同分布的假设。解决这个问题的技术通常使用近似推断技术approximate inference technique 来利用依赖信息dependency information 从而改善分类结果。论文通过学习图的 label-independent representation 来远离这些方法。论文的 representation 质量不受标记顶点选择的影响,因此它们可以在任务之间共享。

    DepWalk 在创建社交维度 social dimensions 方面优于其它潜在 representation 方法,尤其是在标记顶点稀疏的情况下。论文的 representation 可以通过非常简单的线性分类器(例如逻辑回归)获得强大的性能。论文的 representation 是通用的,可以与任何分类方法(包括迭代式推断方法iterative inference method )结合使用。DeepWalk 实现了所有的这些,同时是一种可简单并行的在线算法。

    论文的贡献如下:

    • 我们引入深度学习作为分析图的工具,从而构建适用于统计建模的鲁棒的 representationDeepWalk 学习短的随机游走中存在的结构规律structural regularity
    • 我们在多个社交网络上广泛评估了我们在多标签分类任务上的表现。在标签稀疏的情况下,我们展示了显著提高的分类性能。在最稀疏的问题上,我们获得了 Micro F15% - 10% 的提升。在某些情况下,即使训练数据减少 60%DeepWalkrepresentation 也可以胜过其它竞争对手。
    • 我们通过使用并行实现 parallel implementation 来构建 web-scale 图(例如 YouTube) 的 representation ,从而证明了我们算法的可扩展性。此外,我们描述了所需的最小修改从而构建我们方法的 streaming 版本。
  2. DeepWalk 是一种学习网络中顶点潜在 representation 的新方法。这些潜在representation 在连续向量空间中编码社交关系social relation ,从而很容易被统计模型所利用。DeepWalk 推广了语言模型和无监督特征学习(或深度学习)从单词序列到 graph 的最新进展。

    DeepWalk 使用从截断的随机游走中获得的局部信息,通过将随机游走视为等价的 sentence 来学习潜在 representation

    DeepWalk 也是可扩展scalable 的。它是一种在线学习算法online learning algorithm ,可以构建有用的增量结果,并且可以简单地并行化。这些品质使其适用于广泛的现实世界 application,例如 network classification 和异常检测。

  3. DeepWalk 与以前的工作之间的主要区别可以总结如下:

    • DeepWalk 学习潜在的 social representation ,而不是计算中心统计量 centrality statistics(如 《Leveraging label-independent features for classification in sparsely labeled networks: An empirical study》)、或者分区统计量 partitioning statistics (如 《Leveraging social media networks for classification》)。
    • DeepWalk 不尝试扩展分类程序本身(通过集体推断 collective inference《Collective classification in network data》,或者graph kernel《Diffuusion kernels on graphs and other discrete input spaces》 )。
    • DeepWalk 提出了一种仅使用局部信息的、可扩展的、在线方法。大多数方法需要全局信息、并且是离线的。
    • DeepWalk 将无监督representation learning 应用于图。

    接下来,我们讨论 network classification 和无监督 feature learning 方面的相关工作。

  4. 相关工作:

    • 关系学习Relational Learning:关系分类 relational classification (或者集体分类 collective classification)方法使用数据 item 之间的链接 links 作为分类过程的一部分。集体分类问题中的精确推断 exact inferenceNP-hard 问题,其解决方案主要集中在近似推断算法。这些近似推断算法可能无法保证收敛。

      与我们的工作最相关的关系分类算法包括:学习clusters《Leveraging relational autocorrelation with latent group models》)、在附近节点之间添加边(《Using ghost edges for classification in sparsely labeled networks》)、使用 PageRank《Semi-supervised classification of network data using very few labels》)、通过扩展关系分类来考虑额外的特征(《Multi-label relational neighbor classification using social context features》),通过这些方法从而合并社区信息community information

      我们的工作采取了截然不同的方法。我们提出了一种学习网络结构 representation 的程序,而不是新的近似推断算法,然后可以由现有的推断程序inference procedure (包括迭代式推断程序)来使用。

      人们还提出了很多从图中生成特征的技术。和这些技术相比,我们将特征创建过程构建为 representation learning 问题。

      人们也 提出了 graph kernel《Graph kernels》) ,从而将关系数据用作分类过程的一部分。但是,除非近似(《Fast random walk graph kernel》),否则它的速度非常慢。我们的方法与 graph kernel 是互补的:我们没有将结构编码为核函数 kernel function 的一部分,而是学习一种 representation,从而允许该 representation 直接用于任何分类方法的特征。

    • 无监督特征学习 Unsupervised Feature Learning:人们已经提出分布式 representation learning 来建模概念之间的结构关系structural relationship 。这些 representation 通过反向传播和梯度下降来进行训练。由于计算成本和数值不稳定,这些技术被放弃了十几年。

      最近,分布式计算允许训练更大的模型,并且用于无监督学习的数据出现增长。分布式representation 通常通过神经网络进行训练,这些神经网络在计算机视觉、语音识别、自然语言处理等不同领域取得了进步。

  5. DeepWalk 可以挖掘图 的局部结构,但是无法挖掘图 的整体结构。

1.1 模型

1.1.1 问题定义

  1. 考虑社交网络成员的分类问题。正式地,令 ,其中 为图中所有的顶点(也称为网络的成员 member ), 为所有的边。给定一个部分标记的 social network ,其中:

    • 特征 为属性空间的维度, 为顶点数量。
    • label 空间, 为分类类别数量。

    在传统的机器学习分类 setting 中,我们的目标是学习将 的元素映射到标签集合 的假设hypothesis 。在我们的例子中,我们可以利用嵌入在 结构中的样本依赖性 example dependence 的重要信息,从而实现卓越的性能。在文献中,这被称作关系分类relational classification(或者集体分类 collective classification )问题。

  2. 关系分类的传统方法提出将问题作为无向马尔科夫网络undirected Markov network 中的推断 inference,然后使用迭代式近似推断算法(例如迭代式分类算法 《Iterative classi fication in relational data》、吉布斯采样《Stochastic relaxation, gibbs distributions, and the bayesian restoration of images》、或者标签松弛算法《On the foundations of relaxation labeling processes》)来计算给定网络结构下标签的的后验分布。

    我们提出了一种不同的方法来捕获网络拓扑信息network topology information 。我们没有混合 label 空间从而将其视为特征空间的一部分,而是提出了一种无监督方法,该方法学习了捕获独立于 label 分布的、图结构的特征。

    结构表示 structural representation 和标记任务 labeling task 的这种分离避免了迭代式方法中可能发生的级联错误 cascading error 。此外,相同的 representation 可以用于与该网络有关的多个分类任务(这些分类任务有各自不同的 label)。

    我们的目标是学习 ,其中 是一个较低的潜在维度。这些低维 representation 是分布式的,意味着每个社交概念 social concept 都由维度的某个子集来表达,每个维度都有助于低维空间所表达的一组社交概念的集合。

    使用这些结构特征structural feature ,我们将扩充属性空间从而帮助分类决策。这些结构特征是通用的,可以与任何分类算法(包括迭代式方法)一起使用。然而,我们相信这些特征的最大效用是:它们很容易与简单的机器学习算法集成。它们在现实世界的网络中可以适当地 scale,正如我们在论文中所展示的。

1.1.2 基础知识

  1. 我们寻求具有以下特性的 learning social representation

    • 适应性 adaptability:真实的社交网络在不断演变,新的社交关系不应该要求一遍又一遍地重新训练整个网络。
    • 社区感知 community aware:潜在维度之间的距离应该能够代表评估网络成员之间社交相似性social similarity 的指标。
    • 低维low dimensional:当标记数据稀疏时,低维模型泛化效果更好,并且加快收敛和推断速度。
    • 连续 continuous:除了提供社区成员community membership 的精细的视图之外,continuous representation 在社区之间具有平滑的决策边界,从而允许更鲁棒的分类。

    我们满足这些要求的方法从短期随机游走的 stream 中学习顶点的 representation,这是最初为语言建模而设计的优化技术。在这里,我们首先回顾随机游走和语言建模language modeling的基础知识,并描述了它们的组合如何满足我们的要求。

  2. 随机游走random walk :我们将以顶点 root 的随机游走表示为 是一个随机游走过程,其中包含随机变量 是一个顶点,它是从顶点 的邻居中随机选中的。

    随机游走已被用作内容推荐content recommendation 和社区检测community detection 中各种问题的相似性度量similarity measure 。随机游走也是一类输出敏感算法output sensitive algorithm 的基础,这类算法使用随机游走来计算局部社区结构信息local community structure ,并且计算时间复杂度为 input graph 规模的亚线性sublinear

    正是这种与局部结构的联系促使我们使用短的随机游走流stream of short random walks 作为从网络中提取信息的基本工具。除了捕获社区信息之外,使用随机游走作为我们算法的基础还为我们提供了另外两个理想的特性:

    • 首先,局部探索很容易并行化。多个随机游走器 random walkers (在不同的线程、进程、或者机器中)可以同时探索同一个图的不同部分。
    • 其次,依靠从短的随机游走中获得的信息,可以在不需要全局重新计算的情况下适应图结构的微小变化。我们可以使用新的随机游走,从图变更的区域游走到整个图,从而以亚线性时间复杂度来更新已经训练好的模型。
  3. 幂律power law 分布:选择在线随机游走作为捕获图结构的原语 primitive 之后,我们现在需要一种合适的方法来捕获这些图结构信息。

    如果连通图的 degree 分布遵循幂律分布 power law(也叫作 Zipf 定律),那么我们观察到顶点出现在短随机游走中的频率也遵循幂律分布。自然语言中的单词遵循类似的分布,语言模型language modeling 技术解释了这种分布行为。为了强调这种相似性,我们在下图中展示了两个不同的幂律分布:第一个来自一个图上的一系列短随机游走,第二个来自于英文维基百科的 100,000 篇文章的文本。图 a 给出了short random walk 中,顶点出现频次的分布。图 b 给出了英文维基百科的 10 万篇文章中,单词的频次分布。

    我们工作的一个核心贡献是这样的一种思想:用于建模自然语言(其中单词频率遵循幂律分布)的技术也可以复用于建模网络中的社区结构。

    接下来我们将回顾语言建模中不断发展的工作,并将其转换为学习满足我们标准的顶点 representation

1.1.3 语言模型

  1. 语言模型的目标是估计特定单词序列在语料库 corpus 中出现的可能性。正式地,给定一个单词序列 ,其中 为词典 vocabulary),我们希望在整个训练语料库上最大化

    最近在 representation learning 方面的工作聚焦于使用概率神经网络probabilistic neural network 来构建单词的 general representation,从而将语言建模的范围扩展到其原始目的之外。

  2. 在这项工作中,我们提出了语言建模的泛化,以通过短随机游走流stream 来探索图。这些随机游走可以被认为是一种特殊语言的短句 short sentence 和短语 short phrase。我们进行直接的类比,从而在随机游走中,给定到目前为止访问的所有顶点序列来估计观察到顶点 的可能性,即

    我们的目标是学习潜在 representation,而不仅仅是节点共现node co-occurrence 的概率分布,因此我们引入一个映射函数 。该映射函数 将图中每个顶点 映射到一个潜在的 social representation

    即:我们想要的是顶点 representation,而不是预估这个随机游走序列出现的概率。

    实际上,我们使用 free parameters 的矩阵 来表达 ,这在稍后将被用作我们的 。然后,问题变成了似然估计:

    然而,随着游走序列长度的增加,计算这个目标函数变得不可行。

    因为 sentence 越长,它出现的频次越低,样本过于稀疏。

  3. 最近,在语言模型中的放松条件使得这个预测问题得到了解决。

    • 首先,我们不是使用上下文来预测缺失单词 missing word,而是使用一个单词来预测上下文。
    • 其次,上下文由出现在给定单词左侧和右侧的单词组成。
    • 最后,我们消除了对问题的顺序约束 ordering constraint 。即,模型需要最大化任何单词出现在上下文中的概率,而无需知道上下文与目标单词的偏移量。

    应用到顶点建模中,这得到了优化问题:

    其中 为上下文窗口尺寸。

    我们发现这些放松条件对于 social representation learning 是特别理想的。

    • 首先,顺序独立性假设 order independence assumption 更好地捕获了随机游走的 nearnesssense
    • 其次,这种松弛条件对于通过构建一大批小模型来加速训练非常有用,因此一次给定一个顶点。

    解决上式中的优化问题将得顶点representation,这些 representation 捕获了顶点之间在局部图结构local graph structure 中的相似性。具有相似邻域的顶点将获得相似的 representation(编码了 co-citation 相似性),并允许对机器学习任务进行泛化。

  4. 通过结合截断的随机游走和神经语言模型,我们制定了一种满足我们所有期望特性的方法。

    • 该方法生成低维的社交网络 representation,并存在于连续向量空间中。
    • 该方法生成的 representation 对社区成员的潜在形式 latent form 进行编码。
    • 并且,由于该方法输出有用的 intermediate representation ,因此它可以适应不断变化的网络拓扑结构。

1.1.4 DeepWalk

  1. 与任何语言建模算法一样,DeepWalk 唯一需要的输入是语料库和词表 DeepWalk 将一组截断的短随机游走视为语料库,将图的顶点视为词表() 。虽然在训练之前知道随机游走中顶点集合 和顶点的频率分布是有益的,但是DeepWalk 在不知道顶点集合的情况下也可以工作。

  2. DeepWalk 算法主要由两部分组成:随机游走生产器、更新过程。

    • 随机游走生成器random walk generator :以图 作为输入并均匀随机采样一个顶点 作为随机游走 root 。随机游走从最近访问的顶点的邻域中均匀采样,直到游走序列长度达到最大长度

      虽然在我们的实验中,随机游走序列的长度设置为固定的(固定为 ),但是理论上没有限制它们都是相同的长度。这些随机游走可能会重启(即返回 root 的传送概率 teleport probability),但是我们的初步结果并为表明使用重启能带来任何优势。

    • 更新过程:基于 SkipGram 语言模型来更新参数 SkipGram 是一种语言模型,可最大化在一个句子中出现在窗口 内的单词之间的共现概率。

      在随机游走中,对于出现在窗口 中的所有上下文,我们最大化给定当前顶点 representation 的条件下,上下文顶点 出现的概率。

  3. DeepWalk 算法:

    • 输入:

      • 上下文窗口尺寸
      • embedding size
      • 每个节点开始的随机游走序列数量
      • 每条随机游走序列长度
    • 输出:顶点 representation 矩阵

    • 算法步骤:

      • representation 初始化:从均匀分布中采样,得到初始的

      • 构建一颗二叉树 binary tree

        建立二叉树是为了后续 SkipGram 算法采用 Hierarchical Softmax

      • 遍历,,遍历过程:

        • 随机混洗顶点:

          每次遍历的开始,随机混洗顶点。但是这一步并不是严格要求的,但是它可以加快随机梯度下降的收敛速度。

        • 对每个顶点

          • 利用随机游走生成器生成随机游走序列:
          • 采用 SkipGram 算法来更新顶点的representation
  4. SkipGram 算法:

    • 输入:

      • 当前的顶点 representation矩阵
      • 单条随机游走序列
      • 上下文窗口尺寸
      • 学习率
    • 输出:更新后的顶点 representation矩阵

    • 算法步骤:

      • 对每个顶点

        • 对窗口内每个顶点

  5. Hierarchical Softmax: 计算 是不容易的,因为这个概率的分母(归一化因子)计算代价太高(计算复杂度为 )。如果我们将顶点分配给二叉树的叶节点,那么预测问题就变为最大化树中特定路径的概率。如果到顶点 的路径由一系列树节点 root)标识,则有:

    现在 可以通过分配给节点 的父节点的二分类器来建模。这降低了计算 的复杂度,计算复杂度从 降低到

    我们可以通过为随机游走中的高频顶点分配树中更短的路径来进一步加快训练过程。霍夫曼编码用于减少树中高频元素的访问次数。

  6. DeepWalk 模型参数规模为 ,并且使用随机梯度下降来优化这些参数。导数是通过反向传播算法来估计的。SGD 的学习率在最初时设置为 0.025,然后随着目前为止看到的顶点数量呈线性下降。

  7. DeepWalk 算法整体如下图所示。

    • a:短随机游走序列的生成过程。

    • b:在随机游走 上滑动一个长度为 的窗口,将中心顶点 映射到它的 representation

    • cHierarchical Softmax 在对应于从 root 的路径上的概率序列来分解 也是类似的。

      representation 被更新从而最大化中心顶点 与它的上下文 共现的概率。

1.1.5 并行化

  1. 社交网络随机游走中的顶点频率分布和语言中的单词分布都遵循幂律分布。这会导致低频顶点的长尾效应,因此,对 的更新本质上将是稀疏的(即,同时对同一个顶点进行更新的概率很低)。 这将允许我们在多个 worker 的情况下使用随机梯度下降的异步版本 ASGD

    鉴于我们的更新是稀疏的,并且我们没有利用锁来访问模型共享参数,ASGD 将实现最佳收敛速度。虽然我们在单台机器上使用多线程进行实验,但是已经证明了 ASGD 具有高度可扩展性,可用于非常大规模的机器学习。

    下图展示了并行化 DeepWalk 的效果。结果表明:随着我们将 worker 数量增加到 8,处理 BlogCatalogFlickr 网络的加速是一致的。结果还表明,与串行执行 DeepWalk 相比,并行化 DeepWalk 的预测性能没有损失。

1.1.6 变体

  1. 这里我们讨论我们方法的一些变体,我们认为这些变体可能会引起人们的兴趣。

  2. 流式 streaming:我们方法的一个有趣变体是流式方法,它可以在不了解整个图的情况下实现。在这个变体中,来自图中的短随机游走直接传递给 representation learning 代码,并直接更新模型。

    这里需要对学习过程进行一些修改:

    • 首先,不再使用衰减的学习率。相反,我们可以将学习率 初始化为一个小的常量。这需要更长的时间来学习,但是在某些 application 中可能是值得的。
    • 其次,我们不能再构建参数树 tree of parameters。如果 的基数 cardinality 是已知的(或者有界),我们可以为这个最大值构建 Hierarchical Softmax tree。当首次看到顶点时,可以将它分配给剩余的叶节点之一。如果我们有能力估计顶点分布的先验,我们仍然可以使用霍夫曼编码来减少高频元素的访问次数。
  3. 非随机的游走:有些图是用户与一系列元素(如网站上页面的导航)交互的副产品而创建的。当通过这种非随机游走的 stream 来创建图时,我们可以使用这个过程直接为建模阶段提供游走数据。以这种方式采样的图不仅会捕获与网络结构相关的信息,还会捕获与路径遍历频率相关的信息。

    以我们的观点来看,这个变体还包括语言建模。sentence 可以被视为经过适当设计的语言网络的、有目的的游走,而像 SkipGram 这样的语言模型旨在捕获这种行为。

    这种方法可以与流式变体结合使用,从而在不断演化的网络上训练特征,而无需显式地构建整个图。使用这种技术维护的 representation 可以实现 web-scale 的分类,而无需处理 web-scale 图的麻烦。

1.2 实验

  1. 数据集:

    • BlogCatalog 数据集:由博客作者提供的社交关系网络。标签代表作者提供的主题类别。
    • Flickr 数据集:Flickr网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。
    • YouTube 数据集:YouTube 网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。

  2. baseline 方法:为了验证我们方法的效果,我们和一些 baseline 方法进行比较。

    • 谱聚类 SpectralClustering:从图 normalized graph Laplacian 矩阵 中计算到的 个最小的特征向量,构成图的representation。使用 的特征向量隐含地建设图割graph cuts 对分类有用。

    • Modularity:从图 Modularity 计算得到 top-d 个特征向量,构成了图的representation 的特征向量编码了关于 modular graph partition 信息。使用它们作为特征假设 modular graph partition 对于分类有用。

    • EdgeCluster:基于 k-means 聚类算法对图 的邻接矩阵进行聚类。事实证明它的性能可以和 Modularity 相比,并且可以扩展到那些超大规模的图,这些图太大而难以执行谱分解spectral decomposition

    • wvRNweighted-vote Relational Neighbor 是一个关系分类器 relational classi er 。给定顶点 的邻居 wvRN 通过邻居结点的加权平均来预估

      其中 为归一化系数。

      该方法在实际网络中表现出惊人的良好性能,并被推荐为优秀的关系分类relational classificationbaseline

    • Majority:选择训练集中出现次数最多的标签作为预测结果(所有样本都预测成一个值)。

  3. 评估指标:对于多标签分类问题 multilabel classi cation,我们采用 Macro-F1Micro-F1 作为评估指标。

    • Macro-F1 :根据整体的混淆矩阵计算得到的 值。
    • micro-F1:先根据每个类别的混淆矩阵计算得到各自的 值,然后对所有 值取平均。

    另外我们采用模型提取的特征训练 one-vs-rest 逻辑回归分类器,根据该分类器来评估结果。

    我们随机采样一个比例为 的带标签顶点作为训练集,剩余标记节点作为测试集。我们重复该过程 10 次,并报告 Macro-F1 的平均性能和 Micro-F1 的平均性能。

    注意,DeepWalk 是无监督的 representation learning 方法,因此训练过程是无需 label 数据的。这里的标记数据是在无监督学习之后,利用学到的顶点 representation 进行有监督分类,分类算法为逻辑回归,从而评估顶点 representation 的效果。

  4. 实验配置:

    • 对所有模型,我们使用由 LibLinear 实现的 one-vs-rest 逻辑回归进行分类。
    • DeepWalk的超参数为
    • 对于 SpectralClustering, Modularity, EdgeCluster 等方法,我们选择

1.2.1 实验结果

  1. BlogCatalog数据集:我们评估 的结果。结果如下表,粗体表示每一列最佳结果。

    结论:

    • DeepWalk 性能始终优于 EdgeCluster,Modularity,wvRN

      事实上当 DeepWalk 仅仅给出 20% 标记样本来训练的情况下,模型效果优于其它模型 90% 的标记样本作为训练集。

    • 虽然 SpectralClustering 方法更具有竞争力,但是当数据稀疏时 DeepWalk 效果最好:对于 Macro-F1 指标,DeepWalk 效果更好;对于Micro-F1 指标,DeepWalk 效果更好。

    • 当仅标记图中的一小部分时,DeepWalk 效果最好。因此后面实验我们更关注稀疏标记图sparsely labeled graph

  1. Flickr 数据集:我们评估 的结果。结果如下表,粗体表示每一列最佳结果。结论与前面的实验一致。

    • Micro-F1 指标上,DeepWalk 比其它基准至少有 3% 的绝对提升。
    • Micro-F1 指标上,DeepWalk 只需要 3% 的标记数据就可以打败其它方法 10% 的标记数据,因此 DeepWalk 的标记样本需求量比基准方法少 60%
    • Macro-F1 指标上,DeepWalk 性能接近 SpectralClustring,击败了所有其它方法。

  2. YouTube 数据集:我们评估 的结果。结果如下表,粗体表示每一列最佳结果。

    由于 YouTube 规模比前面两个数据集大得多,因此我们无法运行两种基准方法 SpecutralClustering, Modularity

    • DeepWalk 性能远超 EdgeCluster 基准方法:

      • 当标记数据只有 1% 时,DeepWalkMicro-F1 指标上相对 EdgeCluster14% 的绝对提升,在 Macro-F1 指标上相对 EdgeCluster10% 的绝对提升。
      • 当标记数据增长到 10% 时,DeepWalk 提升幅度有所下降。DeepWalkMicro-F1 指标上相对 EdgeCluster3% 的绝对提升,在 Macro-F1 指标上相对 EdgeCluster4% 的绝对提升。
    • DeepWalk 能扩展到大规模网络,并且在稀疏标记环境中表现出色。

1.2.2 参数敏感性

  1. 为评估超参数的影响,我们在 FlickrBlogCatalog 数据集上进行实验。我们固定窗口大小 和游走长度 。然后我们改变潜在维度 、每个顶点开始的随机游走数量 、可用的训练数据量 ,从而确定它们对于网络分类性能的影响。

  2. 考察不同 的效果:

    • a1 和 图 a3 考察不同 和不同 的效果。FlickrBlogCatalog 数据集上模型的表现一致:模型最佳尺寸 取决于训练样本的数量。

      注意:Flickr1% 训练样本和 BlogCatalog10% 训练样本,模型的表现差不多。

    • a2 和图 a4 考察不同 和不同 的效果。在不同 取值上,模型性能对于不同 的变化比较稳定。

      • 开始继续提高 时模型的效果提升不大,因此 几乎取得最好效果。继续提升效果,计算代价上升而收益不明显。

这些结论表明:我们的方法可以得到各种size 的有用模型。另外,模型性能取决于模型看到的随机游走数量,模型的最佳维度取决于可用的训练样本量。

  1. 考察不同 的影响。图 b1b3 考察不同 的效果,图 b2b4 考察了不同 的效果。

    实验结果表明,它们的表现比较一致:增加 时开始可能有巨大提升,但是当 时提升效果显著下降。

    这些结果表明:仅需要少量的随机游走,我们就可以学习有意义的顶点潜在表示。

二、LINE[2015]

  1. 信息网络 information network 在现实世界中无处不在,例如航空网络、出版物网络、社交网络、通信网络、以及万维网。这些信息网络的规模从数百个节点到数百万、甚至数十亿个节点不等。分析大型信息网络已经引起学术界和工业界越来越多的关注。论文 《LINE: Large-scale Information Network Embedding》 研究了将信息网络嵌入到低维空间中的问题,其中每个顶点都表示为一个低维向量。这种低维 embedding 在各种application 中非常有用,例如可视化visualization、节点分类node classi fication、链接预测link prediction、推荐recommendation

    机器学习文献中已经提出了各种 graph embedding 方法。它们通常在较小的网络上表现良好。当涉及现实世界的信息网络时(这些网络通常包含数百万节点、数十亿条边),这个问题变得更具挑战性。例如,2012Twitterfollowee-follower 网络包含 1.75 亿活跃用户、大约 200 亿条边。大多数现有的 graph embedding 算法无法针对这种规模的网络进行扩展。例如,MDSIsoMapLaplacian eigenmap 等经典 graph embedding 算法的时间复杂度至少是顶点数量的二次方,这对于具有数百万个节点的网络来说是不可行的。

    尽管最近的一些工作研究了大规模网络的 embedding ,但是这些方法要么采用了不是为网络而设计的间接方法(如《Distributed large-scale natural graph factorization》 ),要么缺乏为网络 embedding 量身定制的、明确的目标函数(如 《Deepwalk: Online learning of social representations》)。论文 《LINE: Large-scale Information Network Embedding》 预计:具有精心设计的、保持图属性的目标函数和有效优化技术的新模型,应该可以有效地找到数百万个节点的 embedding 。因此在该论文中,作者提出了一种称为 LINEnetwork embedding 模型,它能够扩展到非常大的、任意类型的网络:无向/有向图、无权/有权图。该模型优化了一个目标函数,该目标函数同时保持了局部网络结构local network structure 和全局网络结构global network structure

    • 局部网络结构(一阶邻近性):自然地,局部网络结构由网络中观察到的链接来表示,它捕获顶点之间的一阶邻近性 first-order proximity。大多数现有的 graph embedding 算法都旨在保持这种一阶邻近性,例如 IsoMapLaplacian eigenmap,即使这些算法无法扩展。

    • 全局网络结构(二阶邻近性):作者观察到:在现实世界的网络中,实际上很多合法的链接都未被观测到。换句话讲,在现实世界数据中观察到的一阶邻近性不足以保持全局网络结构。作为补充,作者探索了顶点之间的二阶邻近性second-order proximity ,这是通过顶点的共享邻域结构shared neighborhood structure 来确定的,而不是通过观察到的直接连接强度来确定。

      二阶邻近性的通用概念可以解释为:具有共享邻居的节点之间可能是相似的。这种直觉可以在社会学和语言学的理论中找到。例如:在社交网络中,“两个人的社交网络的重叠程度与他们之间的联系强度相关”(the degree of overlap of two people's friendship networks correlates with the strength of ties between them);在文本网络中,“一个词的意思是由它的使用环境所形成的”(You shall know a word by the company it keeps)。确实,有很多共同好友的人很可能有相同的兴趣并成为朋友,而与许多相似词一起使用的单词很可能具有相似的含义。

      下图展示了一个说明性的例子,其中边越粗权重越大:

      • 由于顶点 6 和顶点 7 之间的边的权重很大,即顶点 6 和顶点 7 具有较高的一阶邻近性,因此它们的 representation 应该在 embedding 空间中彼此靠近。
      • 另一方面,虽然顶点 5 和顶点 6 之间没有直接链接,但是它们共享了许多共同的邻居,即它们具有很高的二阶邻近性,因此它们的 representation 应该在 embedding 空间中彼此靠近。

      论文期望对二阶邻近性的考虑能够有效地补充一阶邻近性的稀疏性,从而更好地保持网络的全局结构。在论文中,作者将展示精心设计的目标函数,从而保持一阶邻近性和二阶邻近性。

    即使找到了一个合理的目标函数,为一个非常大的网络优化该目标函数也是具有挑战性的。近年来,引起大家关注的一种优化方法是随机梯度下降。然而,论文表明:直接部署随机梯度下降对现实世界的信息网络是有问题的。这是因为在许多网络中,边是加权的,并且权重通常呈现高方差 high variance 。考虑一个单词共现网络 word co-occurrence network ,其中 word pair 的权重(共现)可能从 “一” 到 “几十万” 不等。这些边的权重将乘以梯度,导致梯度爆炸从而影响模型性能。

    因为 LINE 的目标函数是加权的交叉熵,权重为 word pair 共现次数。

    为了解决这个问题,论文提出了一种新的边采样方法 edge-sampling method ,该方法提高了推断的效率 efficiency 和效果effectiveness 。作者以与边权重成正比的概率对边进行采样,然后将采样后的边视为用于模型更新的二元边 binary edge 。通过这个采样过程,目标函数保持不变,边的权重不再影响梯度。

    这可能会导致数据稀疏性问题:即一些权重很小的边未被采样到。

    LINE 非常通用,适用于有向/无向图、加权/未加权图。论文使用各种真实世界的信息网络(包括语言网络 language network 、社交网络social network 、引文网络 citation network )来评估 LINE 的性能。论文在多个数据挖掘任务中评估了学到的 embedding 的有效性,包括单词类比 word analogy 、文本分类 text classification 、节点分类 node classification 。结果表明,LINE 模型在效果和效率方面都优于其它竞争 baselineLINE 能够在几个小时内在单台机器上学习具有数百万个节点、数十亿条边的网络的 embedding

    总而言之,论文主要贡献:

    • 论文提出了一个叫做 LINE 的、新的 network embedding 模型,该模型适用于任意类型的信息网络,并可轻松地扩展到数百万个节点。该模型有一个精心设计的目标函数,可以同时保持一阶邻近性和二阶邻近性。
    • 论文提出了一种边采样算法来优化目标函数,该算法解决了经典随机梯度下降的局限性,提高了推断的效率和效果。
    • 论文对现实世界的信息网络进行了广泛的实验,实验结果证明了 LINE 模型的效率和效果。
  2. 相关工作:

    • 我们的工作通常与 graph embedding 或降维的经典方法有关,例如多维缩放 multidimensional scaling: MDSIsoMapLLELaplacian Eigenmap。这些方法通常首先使用数据点 data point 的特征向量 feature vector 构建 affinity graph ,例如数据的 K-nearest neighbor graph ,然后将 affinity graph 嵌入到低维空间中。

      然而,这些算法通常依赖于求解 affinity matrixtop-n eigenvectors ,其复杂度至少是节点数量的二次方,使得它们在处理大规模网络时效率很低。

    • 最近的文献中有一种叫做图分解 graph factorization《Distributed large-scale natural graph factorization》) 的技术。该方法通过矩阵分解找到大规模图的低维 embedding,并使用随机梯度下降进行优化。这是可行的,因为图可以表示为 affinity matrix

      然而,矩阵分解的目标不是为网络设计的,因此不一定保持了全局网络结构。直觉上,图分解预期具有较高一阶邻近性的节点的 representation 彼此靠近。相反,LINE 模型使用了一个专门为网络设计的目标函数,该目标函数同时保持了一阶邻近性和二阶邻近性。另外,图分解方法仅适用于无向图,而 LINE 方法适用于无向图和有向图。

    • 与我们最相关的、最新的工作是 DeepWalk,它通过截断的随机游走truncated random walk 来学习社交网络的 embedding。尽管在经验上是有效的,但是 DeepWalk 并为提供明确的目标来阐明保持哪些网络属性。直觉上,DeepWalk 期望具有较高二阶邻近性的节点产生相似的低维 representation,而 LINE 同时保持一阶邻近性和二阶邻近性。

      DeepWalk 使用随机游走来扩展顶点的邻域,这类似于深度优先搜索depth-first search: DFSLINE 使用广度优先搜索 breadth- first search: BFS 策略,这是一种更合理的二阶邻近性方法。另外,DeepWalk 仅适用于无权图,而 LINE 适用于加权图和无权图。

    在实验中,我们使用各种真实世界的网络来评估LINE 和这些方法的效果。

2.1 模型

2.1.1 问题定义

  1. 信息网络information network 的定义:一个信息网络定义为 ,其中:

    • 为顶点集合,每个元素代表一个数据对象 data object

    • 为边集合,每个元素代表两个数据对象之间的关系。

    • 每条边 是一个有序的 pair ,它关联一个权重 表示关系的强度。

      • 如果 是无向图,则有 ;如果 是有向图,则有
      • 如果 是无权图,则 ,这种边称作二元边 binary edge ,权重表示相连/不相连;如果 是带权图,则 则边的取值是实数,这种边表示连接的紧密程度。

      这里所有权重都是非负的,并不考虑负权重。

  2. 在实践中,信息网络可以是有向的(如引文网络),也可以是无向的(如 Facebook 的用户社交网络)。边的权重可以是二元 binary 的,也可以是任何实际值。注意,虽然边的权重理论上也可以是负的,但是这里我们仅考虑非负的权重。例如,在引文网络和社交网络中, 是二元的。在不同共现网络中, 可以取任何非负值。某些网络中的边的权重方差可能很大,因为某些对象会多次共现、而其它对象可能很少共现。

  3. 将信息网络嵌入到低维空间在各种 application 中都很有用。为了进行 embedding,网络结构必须被保持。第一个直觉是必须保持局部网络结构,即顶点之间的局部 pairwise 邻近性。我们将局部网络结构定义为顶点之间的一阶邻近性。

    一阶邻近性 first-order proximity 的定义:网络中的一阶邻近性是两个顶点之间的局部 pairwise 邻近性。对于边 连接的顶点 pair,边上的权重 表示顶点 和顶点 之间的一阶邻近性。如果在顶点 和顶点 之间没有观察到边,则它们之间的一阶邻近性为 0

    一阶邻近性通常意味着现实世界网络中两个节点的相似性 similarity 。例如:在社交网络中彼此成为好友的人往往有相似的兴趣,在万维网中相互链接的网页倾向于谈论相似的话题。由于这种重要性,许多现有的 graph embedding 算法(如 IsoMapLLELaplacian eigenmapgraph factorization )都以保持一阶邻近性为目标。

  4. 然而,在现实世界的信息网络中,观察到的链接仅是一小部分,还有许多其他链接发生了缺失 missing 。缺失链接上的顶点 pair 之间的一阶邻近性为零,尽管它们本质上彼此非常相似。因此,仅靠一阶邻近性不足以保持网络结构,重要的是寻找一种替代的邻近性概念来解决稀疏性问题。一个自然的直觉是:共享相似邻居的顶点往往彼此相似。例如:在社交网络中,拥有相同朋友的人往往有相似的兴趣,从而成为朋友;在单词共现网络中,总是与同一组单词共现的单词往往具有相似的含义。因此,我们定义了二阶邻近性,它补充了一阶邻近性并保持了网络结构。

    二阶邻近性 second-order proximity 的定义:网络中一对顶点 之间的二阶邻近性是它们的邻域网络结构之间的相似性。数学上,令 为顶点 和所有顶点的一阶邻近性向量,然后顶点 和顶点 之间的二阶邻近性由 的相似性来确定。如果没有任何顶点同时与 相连,则 之间的二阶邻近性为 0

  5. 我们研究了 network embedding 的一阶邻近性和二阶邻近性,定义如下。

    大规模信息网络嵌入Large-scale Information Network Embedding :给定一个大型网络 ,大规模信息网络嵌入的问题旨在将每个顶点 映射到一个低维空间 中,即学习一个函数 ,其中 。在空间 中,顶点之间的一阶邻近性和二阶邻近性都可以得到保持。

  6. 现实世界信息网络的理想 embedding 模型必须满足几个要求:

    • 首先,它必须能够同时保持顶点之间的一阶邻近性和二阶邻近性。
    • 其次,它必须针对非常大的网络可扩展,比如数百万个顶点、数十亿条边。
    • 第三,它可以处理具有任意类型边的网络:有向/无向、加权/无权的边。

    这里,我们提出了一个叫做 LINE 的新型 network embedding 模型,该模型满足所有这三个要求。我们首先描述了 LINE 模型如何分别保持一阶邻近性和二阶邻近性,然后介绍一种简单的方法来组合这两种邻近性。

2.1.2 保持一阶邻近性的 LINE

  1. 一阶邻近性是指网络中顶点之间的局部 pairwise 邻近性。为了对一阶邻近性建模,对于每条无向边 ,我们定义顶点 之间的联合概率为:

    其中 为顶点 的低维 representation 向量。

    上式定义了 空间上的一个概率分布 ,它的经验概率 empirical probability 定义为:

    其中 为所有边权重之和。

  2. 为了保持一阶邻近性,一个直接的方法是最小化以下目标函数:

    其中 为两个概率分布之间的距离。这里我们选择 KL 散度作为距离函数,因此有:

    注意,上述一阶邻近性仅适用于无向图,而无法适用于有向图。

    通过最小化 从而得到 ,我们可以得到每个顶点在 维空间中的 representation

    读者注:

    • 上式的物理意义为:观测边的加权负对数似然,每一项权重为边的权重。
    • 上式并不是严格的 KL 散度,它用到的是两个非归一化概率
    • 最小化 KL 散度等价于最小化交叉熵:

    其中省略了常数项

2.1.3 保持二阶邻近性的 LINE

  1. 二阶邻近性适用于有向图和无向图。给定一个网络,不失一般性,我们假设它是有向的(一条无向边可以被认为是两条方向相反、权重相等的有向边)。二阶邻近性假设:共享邻域的顶点之间彼此相似。

    在这种情况下,每个顶点也被视为一个特定的 “上下文”(context)。我们假设:如果两个顶点的上下文相似,则这两个顶点是相似的。因此,每个顶点扮演两个角色:顶点本身、以及其它顶点的特定上下文。

  2. 我们引入两个向量 ,其中 为顶点 作为顶点本身时的 representation 为顶点 作为其它顶点的特定上下文时的 representation。对于每条有向边 ,我们首先定义由顶点 生成上下文顶点 的概率为:

    其中 为顶点集合的大小。

    对于每个顶点 ,上式实际上定义了上下文(即网络上整个顶点集合)中的条件分布 。如前所述,二阶邻近性假设具有相似上下文分布的顶点之间彼此相似。为了保持二阶邻近性,我们应该使得由低维 representation 指定的上下文条件分布 接近经验分布 。因此,我们最小化以下目标函数:

    其中:

    • 为顶点 的重要性。由于网络中顶点的重要性可能不同,我们在目标函数中引入了 来表示顶点 在网络中的重要性。 可以通过顶点的 degree 来衡量,也可以通过 PageRank 等算法进行估计。

      注意:目标函数 中并未引入顶点重要性,而目标函数 中引入了顶点重要性。这里引入顶点重要性是为了得到 的一个简洁的公式。

    • 是两个概率分布之间的距离。

    • 经验分布 定义为 ,其中 是边 的权重, 是顶点 的出度 out-degree,即 为顶点 out-neighbors

    在本文中,为简单起见,我们将 设为顶点 out-degree,即 。这里我们也采用 KL 散度作为距离函数。忽略一些常量,则我们得到:

    通过最小化 从而得到 ,我们可以得到顶点 维空间中的 representation

    读者注:

    • 上式的物理意义为:条件概率的加权负对数似然,每一项权重为边的权重。
    • 相反,这里是严格的 KL 散度,它用到的是两个归一化概率
    • 同样地,最小化 KL 散度等价于最小化交叉熵。
    • 二阶邻近性 LINE 类似于上下文窗口长度为 1DeepWalk ,但是 DeepWalk 仅用于无权图而 LINE 可用于带权图。

2.1.4 组合一阶邻近性和二阶邻近性

  1. 为了通过同时保持一阶邻近性和二阶邻近性来嵌入网络,我们在实践中发现一种简单的、有效的方法是:分别训练一阶邻近性 LINE 模型、二阶邻近性 LINE 模型;然后对于每个顶点,拼接这两种方法得到的 embedding

    实验部分作者提到:需要对拼接后的向量各维度进行加权从而平衡一阶 representation 向量和二阶 representation 向量的关系。在监督学习任务中,可以基于训练数据自动得到权重;在无监督学习任务中,无法配置这种权重。因此组合一阶邻近性和二阶邻近性仅用在监督学习任务中。

    组合一阶邻近性和二阶邻近性的更合理的方法是联合训练目标函数 ,我们将其留作未来的工作。

2.1.5 模型优化

  1. 负采样:优化目标函数 的计算量很大,在计算条件概率 时需要对整个顶点集合进行求和。为了解决这个问题,我们采用了负采样方法,它对每条边 根据一些噪声分布 noisy distribution 来负采样多条负边 negative edge 。具体而言,我们为每条边 指定以下目标函数:

    其中:

    • sigmoid 函数。
    • 为期望。
    • 为噪声分布。

    注意:目标函数 中的概率 不涉及对整个顶点集合进行求和。

    第一项对观察到的边进行建模,第二项对从噪声分布中采样的负边进行建模, 是负边的数量。我们根据 Word2Vec 的建议设置 ,其中 为顶点 的出度 out-degree

  2. 对于目标函数 ,存在一个平凡解 trivial solution

    此时 ,使得 取最小值。

    为了避免平凡解,我们也可以利用负采样方法,对于每条边

    第一项对观察到的边进行建模,第二项对从噪声分布中采样的负边进行建模, 是负边的数量。

    注意这里没有上下文顶点,因此没有

2.1.6 边采样

  1. 我们采用异步随机梯度算法 ASGD 来优化目标函数。在每一步中,ASGD 算法采样了一个 mini-batch 的边,然后更新模型参数。假设采样到边 ,则顶点 embedding 向量 被更新为:

    注意,梯度将乘以边的权重。当边的权重具有高方差时,这将成为问题。例如,在一个单词共现网络中,一些词会共现很多次(例如,数万次),而另一些词只会共现几次。在这样的网络中,梯度的scale 不同,很难找到一个好的学习率:

    • 如果我们根据权重小的边选择较大的学习率,那么权重大的边上的梯度将会爆炸。
    • 如果我们根据权重大的边选择较小的学习率,那么权重小的边上的梯度会非常小。
  2. 基于边采样edge-sampling 的优化:解决上述问题的直觉是,如果所有边的权重相等(例如,具有二元边binary edge 的网络),那么如何选择合适的学习率将不再成为问题。因此,一个简单的处理是将加权边展开为多个二元边。例如,将权重为 的边展开为 条二元边。虽然这能够解决问题,但是会显著增加内存需求,尤其是当边的权重非常大时,因为这显著增加边的数量。

    为此,可以从原始边中采样,并将采样后的边视为二元边,采样概率与原始边的权重成正比。通过这种边采样处理,整体目标函数保持不变。问题归结为如何根据权重对边进行采样。

    为边权重的序列。

    • 首先,简单地计算权重之和
    • 然后,在 范围内随机采样一个值,看看这个随机值落在哪个区间

    该方法需要 的时间来采样,当边的数量 很大时,其代价太高。我们使用 alias table 方法来根据边的权重来采样。当从相同的离散分布中重复采样时,其平摊的时间复杂度为

  3. alias table 中采样一条正边需要 时间。此外,负采样优化需要 时间,其中 为负采样数量。因此,每个 step 都需要 时间。

    在实践中,我们发现用于优化的 step 数量通常与边的数量 成正比。因此,LINE 的整体时间复杂度为 ,与边的数量 成线性关系,而不依赖于顶点数量 。边采样在不影响效率的情况下提高了随机梯度下降的效果。

2.1.7 讨论

  1. 我们讨论了 LINE 模型的几个实际问题。

  2. 低度low degree顶点 :一个实际问题是如何准确地嵌入 degree 较小的顶点。由于此类顶点的邻居数量非常少,因此很难准确地推断其 representation,尤其是使用严重依赖于 “上下文” 数量的二阶邻近性方法。一种直觉的解决方案是通过添加更高阶的邻居(如邻居的邻居)来扩展这些顶点的邻居。

    在本文中,我们只考虑向每个顶点添加二阶邻居,即邻居的邻居。顶点 和它的二阶邻居 之间的权重被设置为:

    其中:

    • 为顶点 的一阶邻居集合。
    • 为顶点 的二阶邻居集合。

    实践中,只能添加与 low degree 顶点 具有最大邻近性 的二阶邻居顶点子集

  3. 新顶点:另一个实际问题是如何找到新顶点的 representation

    对于一个新顶点 ,如果它与现有顶点存在链接,则我们可以获得新顶点在现有顶点上的经验分布 。为了获得新顶点的 embedding,根据目标函数 ,一个直接方法是最小化以下目标函数之一:

    我们更新新顶点的 embedding,并保留现有顶点的embedding

    注意,对于有向边的图,需要考虑新顶点到已有顶点的链接、以及已有顶点到新顶点的链接,一共两个方向。

    如果新顶点和现有顶点之间不存在链接,则我们必须求助于其它信息,如顶点的文本信息。我们将其留作我们未来的工作。

  4. 未来工作:

    • 研究网络中一阶邻近性和二阶邻近性以外的高阶邻近性。
    • 研究异质信息网络的 embedding,例如具有多种类型的顶点。

2.2 实验

  1. 我们通过实验评估了 LINE 的效果和效率。我们将LINE 应用于几个不同类型的、大型的现实世界网络,包括一个语言网络 language network 、两个社交网络social network 、两个引文网络 citation network

  2. 数据集:

    • 语言网络 Language Network 数据集:我们从整个英文维基百科页面构建了一个单词共现网络。我们选择滑动窗口为 5,并认为滑动窗口内的单词是共现的。出现频次小于 5 的单词被过滤掉。
    • 社交网络 Social Network 数据集:和DeepWalk 一致,我们也采用 FlickrYoutube 数据集。Flickr 网络比 Youtube 网络更稠密。
    • 引文网络 Citation Network 数据集:使用 DBLP 数据集构建的作者引文网络 author citation network 、论文引用网络 paper citation network。作者引文网络记录了一位作者撰写、并被另一位作者引文的论文数量。

    这些数据集的统计见下表,其中:

    • 所有这些网络囊括了有向图/无向图,带权图/无权图。
    • 每个网络至少包含 50 万顶点和数百万条边,最大的网络包含200 万顶点和十亿条边。

  3. baseline 方法:我们将 LINE 模型与几种现有的 graph embedding 方法进行比较,这些方法能够扩展到非常大的网络。我们没有与一些经典的 graph embedding 算法(如 MDSIsoMapLaplacian eigenmap )进行比较,因为这些算法无法处理如此规模的网络。

    • Graph Factorization:GF :一个信息网络可以表示为一个亲和度矩阵 affinity matrix,并通过矩阵分解来获取每个顶点的低维 representationGF 方法通过随机梯度下降法进行优化,因此可以处理大型网络。但是它仅适合无向图。

    • DeepWalkDeepWalk 是最近提出的、一种用于社交网络 embedding 的方法,它仅适用于无权网络。对每个顶点,DeepWalk 使用从该顶点开始的截断随机游走来获取上下文信息,基于上下文信息建模来获取每个顶点的低维表达。因此,该方法仅利用二阶邻近性。

    • LINE-SGD:直接通过SGD 来优化目标函数的 LINE 模型。在优化过程中并没有使用边采样策略,因此对于采样到的正边,我们需要将边的权重直接乘以梯度。

      该方法有两个变种:

      • LINE-SGD(1st)LINE-SGD的一阶邻近模型,它的优化目标是 。该模型仅适用于无向图。
      • LINE-SGD(2nd)LINE-SGD的二阶邻近模型,它的优化目标是 。该模型可用于无向图和有向图。
    • LINE:标准的 LINE 模型。在优化过程中使用了边采用策略。

      该方法也有两个变种,分别为:

      • LINE(1st)LINE的一阶邻近模型,它的优化目标是 。该模型仅适用于无向图。
      • LINE(2nd)LINE的二阶邻近模型,它的优化目标是 。该模型可用于无向图和有向图。
    • LINE(1st+2nd):同时拼接了LINE(1st)LINE(2nd) 学到的 representation 向量,得到每个顶点的一个拼接后的、更长的representation 向量。

      需要对拼接后的向量各维度进行加权从而平衡一阶 representation 向量和二阶 representation 向量的关系。在监督学习任务中,可以基于训练数据自动得到权重;在无监督学习任务中,无法配置这种权重。因此 LINE(1st+2nd) 仅用在监督学习任务中。

  4. 参数配置:

    • 所有方法都统一的配置:

      • 随机梯度下降的 batch-size = 1,即每个批次一个样本。因此迭代的样本数量就等于更新的 step 数量。
      • 学习率 ,其中: 为初始化学习率; 表示第 个更新step 为总的更新step 数量。
      • 所有得到的 embedding 向量都进行归一化:
      • 为公平比较,语言网络数据集的 embedding 向量维度设为 200(因为 word2vec 方法采用该配置);其它网络数据集的 embedding 向量维度默认设为 128
    • 对于 LINE 及其变种,负采样比例

    • 对于 LINE(1st)LINE(2nd) 及其变种,总迭代步数 等于 100亿 ;对于 GF ,总迭代步数 等于 200 亿。

    • 对于 DeepWalk窗口大小 win=10,游走序列长度 t=40,每个顶点出发的序列数量

2.2.1 语言网络

  1. 语言网络:语言网络数据集包含 200万顶点和 10 亿条边。我们使用两个任务来评估学到的 embedding 的有效性:单词类比 word analogy、文档分类 document classification

  2. 单词类比 word analogy:给定一对单词 (a,b) 和一个单词 c ,该任务的目标是寻找单词d,使得cd 的关系类比于 ab 的关系。记作:

    如:“(中国,北京 )” 对应于 “(法国,?)” ,这里的目标单词为 “巴黎”。

    因此给定单词 a,b,cembedding 向量,该任务的目标是寻找单词 ,使得该单词的 embedding 尽可能与 相似:

    在这个任务中使用了两种类型的单词类比:语义semantic 、句法syntactic

    在维基百科语言网络上的单词类比结果如下表所示。其中:

    • GF 方法,边的权重定义为单词共现次数的对数,这比直接采用单词共现次数更好的性能。
    • DeepWalk 方法,尝试使用不同的截断阈值从而将网络权重二元化binarize 。最终当所有边都被保留下来时,模型性能最好。
    • SkipGram 直接从原始维基百科页面内容文本而不是语言网络来学习词向量。窗口大小设置为 5
    • 所有模型都是在单机上运行 16 个线程来计算,机器配置:1T 内存、2.0GHZ40CPU

    结论:

    • LINE(2nd) 优于所有其它方法。

      • LINE(2nd) 优于 GF,LINE(1st) 等一阶方法。这表明:和一阶邻近性相比,二阶邻近性更好的捕获了单词的语义。

        因为如果单词 ab 的二阶邻近性很大,则意味着可以在相同上下文中可以相互替换单词ab 。这比一阶邻近性更能说明相似语义。

      • 虽然 DeepWalk 也探索了二阶邻近性,但是其性能不如 LINE(2nd),甚至不如一阶方法的 GF,LINE(1st)

        这是因为 DeepWalk 忽略了单词共现次数的原因,事实上语言网络中单词共现频次非常重要。

        这个解释不通。单词共现次数隐含在随机游走过程中:单词共现次数越大,则随机游走被采样到的概率越大。

      • 在原始语料上训练的 SkipGram 模型也不如 LINE(2nd),原因可能是语言网络比原始单词序列更好的捕获了单词共现的全局信息。

    • 采用 SGD 直接优化的 LINE 版本效果要差得多。这是因为语言网络的边的权重范围从个位数到上千万,方差很大。这使得最优化过程受到严重影响。

      在梯度更新过程中进行边采样处理的LINE 模型有效解决了该问题,最终效果要好得多。

    • LINE(1st)LINE(2nd) 的训练效率很高,对于两百万顶点、十亿边的网络只需要不到 3 个小时。

      • LINE(1st),LINE(2nd) 训练速度比GF 至少快 10%,比 DeepWalk5 倍。
      • LINE-SGD 版本要稍慢,原因是在梯度更新过程中必须应用阈值截断技术防止梯度爆炸。

  3. 文档分类:另一种评估 word embedding 质量的方法是使用 word embedding 来计算 document representation,然后通过文档分类任务评估效果。为了获得文档向量,我们选择了一种非常简单的方法,即选取该文档中所有单词的 word embedding 的均值。这是因为我们的目标是将不同方法得到的 word embedding 进行对比,而不是寻找 document embedding 的最佳方法。

    我们从维基百科种选择 7 种不同的类别 “艺术、历史、人类、数学、自然、技术、体育”,对每个类别随机抽取 1 万篇文章,其中每篇文章都只属于单个类别(如果文章属于多个类别就丢掉)。所有这些文章及其类别就构成了一个带标记的多类别语料库。

    我们随机抽取不同百分比的标记文档进行训练,剩余部分进行评估。所有文档向量都使用 LibLinear package 训练 one-vs-rest 逻辑回归分类器。我们报告了分类结果的 Micro-F1Macro-F1 指标。

    在维基百科语言网络上的文本分类结果如下表所示。其中我们分别抽取 10%~90% 的标记样本作为训练集,剩余部分作为测试集。对每一种拆分我们随机执行 10 轮取平均结果。

    结论:

    • GF 方法优于 DeepWalk,因为 DeepWalk 忽略了单词共现次数。

    • LINE-SGD 性能较差,因为边权重方差很大所以LINE-SGD 的梯度更新过程非常困难。

    • 采用边采样的 LINE 模型优于 LINE-SGD,因为梯度更新过程中使用边采样能解决边权重方差很大带来的学习率选择问题。

    • LINE(1st) + LINE(2nd) 性能明显优于其它所有方法,这表明一阶邻近度和二阶邻近度是互补的。

      注意,对于监督学习任务,拼接了 LINE(1st)LINE(2nd) 学到的 embedding 是可行的。

  4. 为了更深入地了解一阶邻近性和二阶邻近性,下表对给定单词,分别采用一阶邻近性模型和二阶邻近性模型召回其最相似的 top 单词。可以看到:

    • 二阶邻近度召回的最相似单词都是语义相关的单词。
    • 一阶邻近度召回的最相似单词是语法相关、语义相关的混合体。

2.2.2 社交网络

  1. 相比语言网络,社交网络更为稀疏,尤其是YouTube 网络。我们通过多标签分类任务来评估每个模型的embedding 效果。多标签分类任务将每个顶点分配到一个或者多个类别,每个类别代表一个社区community 。最终评估分类结果的 Micro-F1Macro-F 指标。

    我们分别抽取 10%~90% 的标记样本作为训练集,剩余部分作为测试集。对每一种拆分随机执行 10 轮取平均结果。

  2. Flickr Network 数据集:我们选择最热门的 5 个类别作为分类的类别,评估结果如下表。

    • LINE(1st) 模型优于 GF 模型,这表明LINE(1st) 模型比 GF 模型具有更好的一阶邻近性建模能力。

    • LINE(2nd) 模型优于 DeepWalk 模型,这表明LINE(2nd) 模型比 DeepWalk 模型具有更好的二阶邻近性建模能力。

    • LINE(1st) 模型略微优于 LINE(2nd) 模型,这和语言网络的结论相反。原因有两个:

      • 社交网络中,一阶邻近性比二阶邻近性更重要,因为一阶关系表明两个顶点的关系更紧密。
      • 当网络非常稀疏并且顶点的平均邻居数太小时,二阶邻近性可能不太准确。
    • LINE(1st) + LINE(2nd) 性能明显优于其它所有方法,这表明一阶邻近性和二阶邻近性是互补的。

  3. YouTube 数据集:YouTube 网络非常稀疏,每个顶点的平均degree 小于 5 。对该数据集的评估结果如下表。

    • 在不同规模训练集上,LINE(1st) 一致性的优于 LINE(2nd)。这和 Flickr 数据集一致。

2.2.3 引文网络

  1. 引文网络数据集包括作者引文网络、论文引用网络,它们都是有向图。由于GFLINE(1st) 都无法应用于有向图,因此这里仅仅比较 DeepWalkLINE(2nd)

    我们还通过多标签分类任务评估顶点 embedding 的效果。我们选择 7 个热门的会议(AAAI,CIKM,ICML,KDD,NIPS,SIGIR,WWW)作为分类类别,在会议中发表的作者或者论文被标记为对应类别。最终评估分类结果的 Micro-F1Macro-F 指标。

    我们分别抽取 10%~90% 的标记样本作为训练集,剩余部分作为测试集。对每一种拆分随机执行 10 轮取平均结果。

  2. 作者引用网络数据集的评估结果如下表所示。

    • 由于网络稀疏,因此 DeepWalk 性能优于 LINE(2nd)
    • 通过二阶邻域策略重构网络,邻域规模的阈值设定为 500,最终 LINE(2nd) 性能大幅提升并且优于 DeepWalk
    • LINE-SGD(2nd) 性能较差,因为边权重方差很大所以LINE-SGD 的梯度更新过程非常困难。

  3. 论文引用网络数据集的评估结果如下所示。

    • LINE(2nd) 的性能明显优于 DeepWalk。这是由于在论文引用网络中的随机游走只能沿着引用路径来游走,这使得一些时间比较久远的、相关性不大的论文被作为上下文。

      相比之下,LINE(2nd) 的上下文都是最近的、密切相关的参考文献,因此更为合理。

    • 通过二阶邻域策略重构网络,邻域规模的阈值设定为 200,最终 LINE(2nd) 性能得到进一步提升。

2.2.4 可视化

  1. graph embedding 的一个重要用途是输出有意义的Graph 可视化。我们选择作者引文网络数据集来可视化,选择了三个领域的不同会议:数据挖掘data mining 领域的 WWW,KDD 会议、机器学习 machine learning 领域 的 NIPS,IML 会议、计算机视觉 computer vision 领域的 CVPR,ICCV 会议。

    作者引用网络基于这些会议公开发表的文章来构建,丢弃 degree < 3 的作者(表明这些作者不怎么重要),最终得到一个包含 18561 个顶点、207074 条边的网络。

    可视化这个作者引文网络非常具有挑战性,因为这三个研究领域彼此非常接近。我们首先通过不同的模型来得到 graph embedding,然后将顶点的 embedding 向量通过 t-SNE 进行可视化。下图中不同颜色代表不同的领域:红色代表数据挖掘,蓝色代表机器学习,绿色代表计算机视觉。

    • GF 模型的可视化结果不是很有意义,因为不同领域的顶点并没有聚集在一起。

    • DeepWalk 模型的可视化结果要好得多,但是很多不同领域的顶点密集的聚集在中心区域,其中大多数是degree 较高的顶点。

      这是因为: DeepWalk 使用基于截断随机游走的方式来生成顶点的邻居,由于随机性这会带来很大的噪声。尤其是degree 较高的顶点,因为对于degree 较高的顶点和大量其它顶点共现。

    • LINE(2nd) 模型的可视化结果更好、更具有意义。

2.2.5 网络稀疏性

  1. 以社交网络为例,我们分析了模型性能和网络稀疏性的影响。

    • 我们首先研究网络的稀疏性如何影响 LINE(1st)LINE(2nd)。图a 给出了 Flickr 网络链接的百分比和LINE 模型性能的关系。选择 Flickr 的原因是它比 YouTube 网络更密集。我们从原始网络中随机采样不同比例的链接从而构建具有不同稀疏性的网络。可以看到:

      • 一开始网络非常稀疏时,LINE(1st) 的性能好于 LINE(2nd)
      • 当网络逐渐密集时,LINE(2nd) 的性能超越了 LINE(1st)

      这表明:当网络极其稀疏时二阶邻近性模型受到影响;当每个顶点附近有足够的邻居时,二阶邻近性模型优于一阶邻近性模型。

    • b 给出了YouTube 数据集原始网络和二阶邻域策略重构网络中,顶点degree 和模型性能指标的关系。我们将顶点根据 degree 来分组:: 。然后评估每个分组的顶点分类结果指标。可以看到:

      • 总体而言,当顶点的 degree 增加时,所有模型的效果都得到提升。
    • 在原始网络中除第一个分组之外,LINE(2nd) 的性能始终优于 LINE(1nd) 。这表明二阶邻近性模型不适用于 degree 较小的点。

      • 在重构网络中,LINE(1st)LINE(2nd) 都得到了改善,尤其是 LINE(2nd)
      • 在重构网络中,LINE(2nd) 始终优于 DeepWalk

2.2.6 参数敏感性

  1. 我们在重建的 Youtube 网络上考察了不同的embedding 维度 LINE 模型性能的关系,以及样本数量和模型收敛速度的关系。

    • a 给出了不同维度 时模型的性能。可以看到:当 过大时,LINE(1st)LINE(2nd) 性能有所下降。

    • b 给出了 LINEDeepWalk 在优化过程中收敛速度和样本数量的关系。可以看到:LINE(2nd) 始终优于 LINE(1st)DeepWalk,并且LINE(1st)LINE(2nd) 收敛速度都快于 DeepWalk

      注意:这里的样本量指的是模型训练过程中见过的总样本量,包括重复的样本。由于 batch-size = 1,因此每个sample 需要一个迭代step,因此样本数量也等于迭代 step

2.2.7 可扩展性

  1. 最后,我们研究了采用边采样和异步随机梯度下降法的LINE 模型的可扩展性 scalability 。我们部署了多线程进行优化。

    • a 给出了在 YouTube 数据集上的线程数及其加速比。可以看到线程加速比接近线性。
    • b 给出了使用多线程进行模型更新时,模型性能的波动。可以看到采用多线程训练模型时,模型的最终性能保持稳定。

    这两个结果表明:LINE 模型具有很好的可扩展性(即并行度)。

三、GraRep[2015]

  1. 在许多实际问题中,信息通常是使用图来组织的。例如,在社交网络研究中,基于社交图 social graph 将用户分类为有意义的社交群组 social group 在很多实际 application 中有用,例如用户搜索 user search、定向广告 targeted advertising、以及推荐 recommendation 。因此,从图中准确地学习有用的信息至关重要。一种策略是学习图的 graph representation:图中的每个顶点都用一个低维向量来表达,这个低维向量可以准确地捕获图所传达的语义信息semantic information 、关系信息 relational information 、以及结构信息 structural information

    最近,人们对从数据中学习 graph representation 的兴趣激增。例如,最近的一个模型 DeepWalk 使用均匀采样(也称作截断的随机游走truncated random walk )将图结构转换为由顶点组成的线性序列的样本集合。SkipGram 模型最初设计用于从线性序列中学习 word representation,也可用于从此类样本(即顶点组成的线性序列的样本)中学习顶点的 representation 。尽管这种方法在经验上是有效的,但是人们并不清楚在学习过程中所涉及的、图上定义的、确切exact 的损失函数是什么。

    在论文 《GraRep: Learning Graph Representations with Global Structural Information》 中,作者首先提出了在图上定义的 SkipGram 模型的显式损失函数。论文表明:本质上,我们可以使用 SkipGram 模型以不同的 值来捕获图中每个顶点与其 k-step 邻居之间的 k-step 关系()。 SkipGram 模型的一个缺陷是:它将所有这些 k-step 关系信息投影到一个公共子空间中。论文认为,这种简单的处理可能会导致潜在的问题。通过在不同的子空间中保存不同的 k-step 关系信息,论文提出的模型 GraRep 克服了上述限制。

    最近人们提出的另一个工作是 LINE,它有一个损失函数来同时捕获 1-step 局部关系信息 local relational information2-step 局部关系信息。为了捕获此类局部信息中的某些复杂关系,他们还从此类数据中学习非线性变换(LINE 用到了 sigmoid 函数,但是本质上 LINE 是广义线性函数)。虽然他们的模型不能很容易地扩展到捕获 k-step)关系信息来学习他们的 graph representation,但是他们提出了一个重要策略来提高模型的效果:对于 degree 较小的顶点,考虑高阶邻域。这一策略在某种程度上隐式地将某些 k-step 信息捕获到他们的模型中。GraRep 的作者相信:对于不同的 k 值,不同顶点之间的 k-step 关系型信息揭示了与图相关的、有用的全局结构信息,并且在学习良好的 graph representation 时显式地充分利用这一点至关重要。

    在论文 《GraRep: Learning Graph Representations with Global Structural Information》 中,作者提出了 GraRep,这是一种为知识管理 knowledge management 学习 graph representation 的新模型。该模型通过操作在图中定义的、不同的全局转移矩阵global transition matrix,直接从图中的顶点中捕获具有不同 值的、不同 k-step 关系信息,而不涉及缓慢 slow 的、复杂 complex 的采样过程。与现有工作不同, GraRep 模型定义了不同的损失函数来捕获不同的 k-step 局部关系信息(即不同的 )。论文使用矩阵分解 matrix factorization 技术优化每个模型,并通过组合从不同模型中学到的不同 representation 来构建每个顶点的全局 representation 。这种学到的全局 represetnation 可以用作下游任务的特征。

    论文对 GraRep 模型进行了正式的处理 formal treatment ,并展示了 GraRep 模型与之前几个模型之间的联系。论文还通过实验证明了学到的 representation 在解决几个现实世界问题中的有效性。具体而言,论文对语言网络聚类任务、社交网络多标签分类任务、以及引文网络可视化任务进行了实验。在所有这些任务中,GraRep 优于其它 graph representation 方法,从而证明了 GraRep 学到的全局 representation 可以有效地用作聚类、分类、可视化等任务的特征。并且, GraRep 可以简单地并行化。

    论文贡献如下:

    • 论文引入了一种新模型来学习图上顶点的潜在 representation,该模型可以捕获与图相关的全局结构信息。

    • 论文从概率的角度提供了对 DeepWalk 中用于学习 graph representation 的均匀采样方法的理解,该均匀采样方法将图结构转换为线性序列。

      此外,论文在图上显式定义了 DeepWalk 的损失函数,并将其扩展为支持加权图。

    • 论文正式分析了带有负采样 SkipGram 模型(skip-gram model with negative sampling: SGNS)相关的缺陷。论文的模型定义了一个更准确 accurate 的损失函数,该损失函数允许集成不同局部关系信息的非线性组合。

  2. 相关工作:

    • 线性的序列representation方法 Linear Sequence Representation Method:由单词的 stream 组成的自然语言语料库可以视为一种特殊的图结构,即线性链linear chain 。目前,学习 word representation 有两种主流方法:神经嵌入neural embedding 的方法、基于矩阵分解matrix factorization based 的方法。

      • 神经嵌入方法采用固定长度的滑动窗口捕获当前单词的 context words。人们提出了像 SkipGram 这样的模型,这些模型提供了一种学习 word representation 的有效方法。虽然这些方法可能会在某些任务上产生良好的性能,但是它们不能很好地捕获有用的信息,因为它们使用独立的、局部的上下文窗口,而不是全局共现计数 global co-occurrence count

      • 另一方面,矩阵分解方法可以利用全局统计。先前的工作包括潜在语义分析 Latent Semantic Analysis: LSA,该方法分解 term-document 矩阵从而产生潜在语义representation

        《Producing high-dimensional semantic spaces from lexical co-occurrence》 提出了 Hyperspace Analogue to Language: HAL,它分解一个 word-word 共现计数矩阵来生成 word representation

        《Extracting semantic representations from word co-occurrence statistics: A computational study》 提出了用于学习 word representation 的、shifted positive Pointwise Mutual Information: PMI 矩阵的矩阵分解,并表明带负采样的 SkipGram 模型(Skip-Gram model with Negative Sampling: SGNS)可以视为隐式的这样的一个矩阵。

    • 图表示Graph Representation 方法:存在几种学习低维 graph representation 的经典方法,如多维缩放 multidimensional scaling: MDSIsoMapLLELaplacian Eigenmaps

      最近,《Relational learning via latent social dimensions》 提出了学习图的潜在 representation 向量的方法,然后可以用于社交网络分类。

      《Distributed large-scale natural graph factorization》 提出了一种图分解方法,该方法使用随机梯度下降来优化大型图中的矩阵。

      《Deepwalk:Online learning of social Representations》 提出了DeepWalk 方法,该方法通过使用截断的随机游走算法将图结构转换为多个线性的顶点序列,并使用 SkipGram 模型生成顶点的 representation

      《Line: Large-scale information network embedding》 提出了一种大规模信息网络的 embedding ,它优化了一个损失函数从而可以在学习过程中同时捕获 1-step 关系信息和 2-step 关系信息。

3.1 模型

3.1.1 图及其 Representation

  1. 给定一个图 ,其中 为顶点集合, 为顶点数量, 为边集合。路径 path 定义为连接一个顶点序列的边序列。

    • 邻接矩阵:定义邻接矩阵为

      • 对于无权图,如果顶点 之间存在边,那么 ,否则
      • 对于带权图, 为顶点 之间边的权重。

      尽管边的权重可以为负值,但是这里我们仅考虑正的权重。

    • 度矩阵degree matrix:定义度矩阵 degree matrix ,其中:

    • 转移概率矩阵 probability transition matrix:假设我们想要捕获从一个顶点到另一个顶点的转移,并假设顶点 转移到顶点 的概率正比于 ,则定义转移概率矩阵 probability transition matrix 。其中 定义了从顶点 经过一步转移到顶点 的概率,因此也称为一阶转移概率矩阵。显然 可以认为是对 按 ”行“ 进行的归一化。

  2. 带全局结构信息的 graph representation:给定一个图 ,学习带全局结构信息的 graph representation的任务旨在学习图的全局 represetation 矩阵 ,其中第 为图 中顶点 维向量,并且这些 representation 向量可以捕获图的全局结构信息global structural information

    在本文中,全局结构信息有两个功能:捕获两个不同顶点之间的长距离关系、根据不同的转移 steps 考虑不同的链接。我们将在后面进一步地说明。

  3. 正如我们之前讨论过的,我们认为在构建这样的全局 graph representation 时需要从图中捕获 k-step (具有不同的 )的关系信息。为了验证这一点,下图给出了一些说明性的示例,展示了需要在两个顶点 A1A2 之间捕获的、 k-step (其中 ) 的关系信息的重要性。图中,粗线表示两个顶点之间的关系较强、细线表示两个顶点之间的关系较弱。

    • (a)(e) 中显示了捕获彼此直接连接的、顶点之间简单的 1-step 信息的重要性,其中 (a) 具有较强的关系,(e) 具有较弱的关系。

    • (b)(f) 中显示了 2-step 信息,其中 (b) 中两个顶点A1A2 共享许多共同的邻居,而 (f) 中两个顶点A1A2 仅共享一个邻居。

      显然,2-step 信息对于捕获两个顶点之间的连接强度很重要:顶点之间共享的共同邻居越多,则它们之间的关系就越强。

    • (c)(g) 中显示了 3-step 信息。具体而言:

      • (g) 中,尽管 A1B 之间的关系很强,但是由于连接 BC、以及 CA2 的两条较弱的边,A1A2 之间的关系可能会减弱。
      • 相比之下,在 (c) 中,A1A2 之间的关系仍然很强,因为 BA2 之间有大量的共同邻居,这加强了它们的关系。

      显然,在学习具有全局结构信息的良好 graph representation 时,必须捕获此类 3-step 信息。

    • 类似地,如 (d)(h) 所示,4-step 信息对于揭示图的全局结构特性也至关重要。在 (d) 中,A1A2 之间的关系明显很强。而在 (h) 中,A1A2 明显不相关,因为从一个顶点到另一个顶点之间不存在路径。在缺乏 4-step 关系信息的情况下,无法捕获这种重要的区别important distinction

  4. 我们还认为:在学习 graph representation 时,必须区别对待不同的 k-step 信息。我们在下图的 (a) 中展示了一个简单的例子。让我们专注于学习图中顶点 Arepresentation。可以看到,A 在学习其 representation 时接收到两种类型的信息:来自顶点 B1-step 信息、以及来自顶点 C2-step 信息。

    我们注意到,如果我们不区分这两种不同类型的信息,我们可以构建如图 (b) 所示的替代品,其中顶点 A 接受与 (a) 完全相同的信息。但是,图 (b) 具有完全不同的结构。

    这意味着如何使用 k-step 信息很重要,它们位于不同的子空间,应该区别对待。

  5. 在本文中,我们提出了一种用于学习准确 graph representation 的新的框架,它集成了各种 k-step 信息,这些信息共同捕获了与图相关的全局结构信息。

3.1.2 图上的损失函数

  1. 我们将在这里讨论用于学习具有全局结构信息的graph representation 的损失函数。对于图 ,考虑两个顶点 。为了学习全局 representation 来捕获它们之间的关系,我们需要了解这两个顶点之间的连接强度。

    让我们从几个问题开始。是否存在从顶点 到顶点 的路径?如果存在,那么假设我们随机采样一条从顶点 开始的路径,我们到达顶点 的可能性有多大?

    为了回答这些问题,我们首先令 表示从顶点 刚好通过 步到达顶点 的转移概率。我们已经知道了 1-step 转移概率(即矩阵 ),为了计算 k-step 转移概率,我们引入 k-step 转移概率矩阵 probability transition matrix

    可以看到 表示从顶点 刚好通过 步到达顶点 的转移概率。这直接得到 ,其中 为矩阵 的第 行、第 列的元素。

  2. 现在考虑一个给定的 。给定一个图 ,考虑从顶点 开始到顶点 结束、并且长度为 k-step 的所有路径的集合。这里我们称 current vertexcontext vertex。我们的目标旨在最大化:这些 pair 来自图中的概率、以及其它 pair 不来自图中的概率。

    受到 SkipGram 模型的启发,我们采用了 《Noise-contrastive estimation of unnormalized statistical models, with applications to natural image statistics》 提出的噪声对比估计 noise contrastive estimation: NCE 来定义我们的目标函数。遵循 《Neural word embedding as implicit matrix factorization》 中提出的类似讨论,我们首先介绍我们在图上定义的 k-step 损失函数为:

    其中:

    • 描述了顶点 和顶点 之间的 k-step 关系,即从顶点 到顶点 k-step 转移概率。
    • sigmoid 函数,定义为
    • 表示顶点 作为 current vertex 时的 representation 表示顶点 作为 context vertex 时的 representation 。二者采用了不同的 representation 矩阵。
    • 为超参数,表示负样本的数量。
    • k-step 负采样分布, 表示当 服从分布 时的期望值, 是从负采样中获得的负样本。

    上式物理意义:

    • 第一项为 “正样本” 的加权对数似然,权重为 k-step 转移概率,“正样本”为从顶点 所有经过 k-step 能够到达的顶点集合。
    • 第二项为 “负样本”的对数似然。这里负样本没有加权。

    DeepWalk 相比,GraRep 的重要区别在于它对正样本进行了加权。

    期望部分可以重写为:

    因此对于特定的顶点 pair,定义其局部损失函数local loss为:

    其物理意义为:

    • 对于从 经过 k-step 到达的顶点 ,其损失为作为正样本的加权对数似然(权重为 k-step 转移概率),加上作为负样本的加权对数似然(权重为 k-step 采样概率)。
    • 对于从 无法经过 k-step 到达的顶点 ,其损失为作为负样本的加权对数似然(权重为 k-step 采样概率)。

    k-step 负采样分布 可以计算为:

    其物理意义为:以概率 随机选择一个顶点,然后经过 k-step 转移到顶点 的概率。这里 是选择 作为路径中第一个顶点的概率,我们假设它服从均匀分布,即 。因此得到:

    k-step 损失函数为:

    为最小化 则只需要最小化每个成分,即求解: 。令 ,求解:

    得到最优解:

    其中

    可以得到结论:我们本质上需要将矩阵 分解为两个矩阵 ,其中 的每一行和 的每一行分别由顶点 和顶点 的向量 representation 组成。其中矩阵 的元素定义为:

    现在我们已经定义了我们的损失函数,并表明优化该损失函数本质上涉及到矩阵分解问题。

  3. 在这项工作中,我们为每条路径设置最大长度。换句话讲,我们假设 。实际上,当 足够大时,转移概率会转移到某些固定值。

3.1.3 矩阵分解的最优化

  1. 遵从 《Neural word embedding as implicit matrix factorization》 的工作,为了降低噪音,我们将 中的所有负数都替换为 0 。因为若存在负数,则图中存在的 阶顶点pair 对的概率 。这使得我们得到一个正的 k-step 概率矩阵 ,其中:

    虽然存在各种矩阵分解技术,但是在这项工作中,由于其简单性,我们将重点放在流行的奇异值分解 singular value decomposition: SVD 方法上。SVD 已经在多个矩阵分解任务中取得成功,被认为是可用于降维的重要方法之一。

    对于矩阵 SVD 分解为:

    其中:

    • 均为正交矩阵。
    • 为对角矩阵,对角线元素为按降序排列的矩阵奇异值。

    我们可以用 来近似原始的矩阵 ,即:

    其中: 为最大的 个奇异值, 的前 列, 的前 列。它们的物理意义为: 最大的 d 个特征值对应的特征向量。

    通过这种方式,我们可以分解我们的矩阵 为:

    其中 的每一行给出了各顶点作为当前顶点的 representation 向量, 的每一行给出了各顶点作为上下文顶点的 representation 向量。最终我们返回矩阵 作为顶点的 representation,它在图中捕获了 k-step 全局结构信息。

  2. 在我们的算法中,我们考虑所有 阶转移,其中 是预定义的常数。我们在学习 graph representation 时整合了所有这些 k-step 信息,这将在接下来讨论。

  3. 注意,这里我们实际上是在寻找从 的行空间到具有低秩的 的行空间的投影。因此,也可以利用流行的 SVD 以外的替代方法,包括 incremental SVD、独立成分分析 independent component analysis: ICA、神经网络 DNN 。 我们这项工作的重点是学习 graph representation 的新模型,因此矩阵分解技术不是我们的重点。

    事实上,如果在这一步使用诸如稀疏自编码器之类的替代方法,则相对难以证明我们 representation 的实验效果是由于我们的新模型、还是由于降维步骤引入的任何非线性。为了保持与 《Neural word embedding as implicit matrix factorization》 工作的一致性,这里我们只使用了 SVD

3.1.4 GraRep 算法

  1. 这里我们详细介绍我们的学习算法。通常,graph representation 被提取为其它任务的特征,例如分类、聚类。在实践中,编码 k-step representation 的一种有效方法是将 k-step representation 拼接起来作为每个顶点的全局特征,因为每个不同的 step representation 反映了不同的局部信息。

  2. GraRep 算法:

    • 算法输入:

      • 图的邻接矩阵
      • 最大转移阶数
      • 对数偏移系数
      • 维度
    • 算法输出:顶点的representation 矩阵

    • 算法步骤:

      • 计算 阶转移概率矩阵 。计算流程:

        首先计算 ,然后依次计算

        对于带权图, 是一个实数矩阵;对于无权图, 是一个0-1 矩阵。算法都能够处理。

      • 迭代计算每个顶点的 k-step representation,计算流程:

        • 获取正的对数概率矩阵

          首先计算 ,其中 ;然后计算:

        • 计算representation 矩阵

      • 拼接所有的 阶表达:

  3. 未来工作:

    • 研究矩阵操作有关的近似计算和在线计算。
    • 研究通过深度架构代替 SVD 矩阵分解来学习低维 representation

3.1.5 SkipGram 作为 GraRep 特例

  1. GraRep 旨在学习 grap representation,并且我们基于矩阵分解来优化损失函数。另一方面,SGNS 已被证明在处理线性结构(如自然语言的句子)方面是成功的。GraRepSGNS 之间有内在的联系吗?这里我们将 SGNS 视为 GraRep 模型的一个特例。
a. 图 SkipGram 模型的损失函数
  1. SGNS 旨在以线性序列的方式来表达单词,因此我们需要将图结构转换为线性结构。DeepWalk 揭示了一种均匀采样(截断的随机游走)的有效方法。该方法首先从图中随机均匀采样一个顶点,然后随机游走到它的一个邻居并重复这个随机游走过程。如果顶点序列长度达到某个预定值,则停止随机游走并开始生成新的序列。该过程可用于从图中生成大量序列。

    本质上,对于无权图,这种均匀采样的策略是有效的。但是对于加权图,需要一种基于边权重的概率性采样方法,而 DeepWalk 中没有采用这种方法。在本文中,我们提出了一种适用于加权图的增强型 SGNS 方法 Enhanced SGNS: E-SGNS 。我们还注意到,DeepWalk 优化了一个不同于负采样的、替代的损失函数 alternative loss function(即 hierarchical softmax)。

  2. 首先,我们考虑图上的、所有 K-step 的损失

    其中 为一个线性函数:

    我们关注特定于 pair 的损失,它们是图中第 个顶点和第 个顶点。

    定义 ,其中 。这里 步之内的概率转移矩阵, 表示从顶点 不超过 步转移到顶点 的概率。

    则损失函数重写为:

    同样的推导过程可以解得最优解:

    其中其中

    定义矩阵 ,其中:

    E-SGNS 的被分解矩阵 factorized matrix

  3. E-SGNSGraRep 模型的区别在于 的定义:

    • E-SGNS 可以认为是 K-step loss 的线性组合,每个 loss 的权重相等。

      E-SGNSSGNS 的主要区别在于对正样本的加权:E-SGNS 的正样本权重为 ,即从顶点 不超过 步转移到顶点 的概率。

    • 我们的 GraRep 模型没有做出如此强的假设,但允许在实践中从数据中学习它们的关系(比如,潜在的非线性关系)。

      直觉上,不同的 k-step 转移概率应该有不同的权重。对于异质网络数据 heterogeneous network dat ,这些损失的线性组合可能无法达到理想的效果。

b. 采样与转移概率之间的内在联系
  1. 在我们的方法中,我们使用转移概率来衡量顶点之间的关系。这合理吗?在这里,我们阐明了采样了转移概率之间的内在联系。

  2. 在随机游走生成的序列中,我们假设顶点 一共出现的次数为:

    其中 是与 相关的变量。

    我们将顶点 视为当前顶点,则顶点 直接邻居(1-step 距离)的次数的期望为:

    这对于无权图的均匀采样、或者对于加权图的非均匀采样都成立。

    进一步地,顶点 二阶邻居(2-step 距离)的次数的期望为:

    其中 为连接顶点 的任意其它顶点,即 为顶点 的共享邻居。

    类似地,我们可以推导出 的方程:

    然后,我们将它们相加并除以 ,得到:

    其中 为顶点 和顶点 步内共现的期望次数。

    根据 的定义,我们有:

    现在,我们可以计算将顶点 作为上下文顶点的期望次数 为: ,其中我们考虑从所有可能顶点 到顶点 的转移。

    最后,我们将所有这些期望计数代入 的方程,得到:

    定义数据集中所有观察到的 pair 的集合为 ,则 ,因此有:

    矩阵 变得与 《Neural word embedding as implicit matrix factorization》 中描述的 SGNS 完全相同。

    这表明 SGNS 本质上是我们 GraRep 模型的一个特殊版本,它可以处理从图中采样的线性序列。我们的方法相比缓慢的、昂贵的采样过程有若干优点,并且采样过程通常涉及几个要调整的超参数,例如线性序列的最大长度、每个顶点开始的序列数量等等。

3.2 实验

  1. 这里我们通过实验评估 GraRep 模型的有效性。我们针对几个不同的任务在几个真实世界数据集上进行了实验,并与 baseline 算法进行了比较。

  2. 数据集和任务:为了证明 GraRep 的性能,我们在三种不同类型的图上进行了实验,社交网络social network 、语言网络language network 、引文网络 citation network ,其中包括加权图和无权图。我们对三种不同类型的任务进行了实验,包括聚类clustering 、分类classification,、以及可视化 visualization 。正如我们前面提到的,我们工作的重点是提出一个新的框架,用于学习具有全局结构信息的、图的良好 representation ,旨在验证我们提出的模型的有效性。因此,除了 SVD 之外,我们不采用其它更有效的矩阵分解方法,并重点关注以下三个真实世界的数据集:

    • 语言网络数据集20-Newsgroup :包含 2万篇新闻组文档,并分类为 20 个不同的组。每篇文档由文档内单词的 tf-idf 组成的向量来表示,并根据余弦相似度计算得到文档的相似度。根据文档的这些相似度构建语言网络,该网络是一个全连接的带权图,用于聚类效果的评估。

      为验证模型的鲁棒性,论文分别从3/6/9 个不同的新闻组构建了三个更小规模的语言网络(NG 代表 Newsgroups ):

      • 3-NG:由comp.graphics, comp.graphics and talk.politics.guns 这三个新闻组的文档构成。
      • 6-NG:由 alt.atheism, comp.sys.mac.hardware, rec.motorcycles, rec.sport.hockey, soc.religion.christian and talk.religion.misc 这六个新闻组的文档构成。
      • 9-NG:由 talk.politics.mideast, talk.politics.misc, comp.os.ms- windows.misc, sci.crypt, sci.med, sci.space, sci.electronics, misc.forsale, and comp.sys.ibm.pc.hardware 这九个新闻组的文档构成。

      这些小网络分别使用所有文档 all data,以及每个主题随机抽取200 篇文档两种配置。每个文档上的 topic label 被认为是 ground truth

      这些 toplic label 被认为是聚类的真正 cluster id

    • 社交网络数据集 Blogcatalog:它是一个社交网络,每个顶点表示一个博客作者,每条边对应作者之间的关系。每个作者都带有多个标签信息,标签来自 39 种主题类别。

      该网络是一个无权图,用于多标签分类效果的评估。我们的模型以及 baseline 算法生成的 graph representation 被视为特征。

    • 引文网络数据集 DBLP Network:它是一个引文网络,每个顶点代表一个作者,边代表一个作者对另一位作者的引用次数。

      我们选择六个热门会议并分为三组:数据挖掘data mining 领域的 WWW,KDD 会议、机器学习 machine learning 领域 的 NIPS,IML 会议、计算机视觉 computer vision 领域的 CVPR,ICCV 会议。

      我们使用可视化工具 t-SNE 来可视化所有算法学到的 representation,从而提供学到的 representation 的定性结果和定量结果。

    总而言之,我们对加权图和无权图、稀疏图和稠密图进行了实验,其中执行了三种不同类型的学习任务。这些数据集的更多细节如下表所示。

  3. baseline 方法:我们使用以下 graph representation 方法作为 baseline

    • LINELINE 是最近提出的一种在大规模信息网络上学习 graph representation 的方法。LINE 根据顶点之间的 1-step2-step 关系信息定义了一个损失函数。一种提升 small degree 顶点的性能的策略是:扩展它们的邻域使得图更稠密。如果将 1-step 关系信息的 representation2-step 关系信息的 representation 拼接起来,并调节邻域最大顶点的阈值,则 LINE 将获得最佳性能。

    • DeepWalkDeepWalk 是一种学习社交网络 representation 的方法。原始模型仅适用于无权图。对于每个顶点,截断的随机游走用于将图结构转换为线性序列。带 hierarchical softmaxSkipGram 模型用作损失函数。

    • E-SGNSSkipGram 是一种有效的模型,可以学习大型语料库中每个单词的 representation。对于这个增强版本,我们首先对无权图使用均匀采样、对加权图使用与边权重成正比的概率性采样(即随机游走),从而生成顶点序列。然后引入 SGNS 进行优化。

      这种方法可以视为我们模型的一个特例,其中每个 k-step 信息的不同 representation 向量进行均值池化。

    • Spectral Clustering:谱聚类是一种合理的 baseline 算法,旨在最小化归一化割 Normalized Cut:NCut 。与我们的方法一样,谱聚类也对矩阵进行分解,但是它侧重于图的不同矩阵:拉普拉斯矩阵Laplacian Matrix 。本质上,谱聚类和 E-SGNS 的区别在于它们的损失函数不同。

  4. 参数配置:

    • 对于 LINE 模型:batch-size=1,学习率为 0.025,负采样系数为 5,迭代step 总数为百亿级。

      我们还还将 1-step 关系信息 representation2-step 关系信息 representation 拼接起来 ,并针对degree 较小的顶点执行重构策略来达到最佳性能。

    • 对于 DeepWalkE-SGNS 模型:窗口大小为 10,序列最长长度为 40,每个顶点开始的游走序列数量为 80

    • 正则化:LINE,GraRep 模型进行 正则化可以达到最佳效果,DeepWalk,E-SGNS 模型没有正则化也能达到最佳效果。

    • embedding 维度 :为公平比较,BlogcatalogDBLP 数据集的 ,而 20-NewsGroup 数据集的

    • GraRep 模型: BlogcatalogDBLP 数据集的 20-NewsGroup 数据集的

3.3.1 语言网络

  1. 我们通过在 k-means 算法中使用学到的 representation,通过聚类任务在语言网络上进行实验。为了评估结果的质量,我们报告了每个算法在 10 次不同运行中的平均归一化互信息Normalized Mutual Information (NMI) 得分。

    为了理解不同维度 在最终结果中的影响,我们还展示了 DeepWalkE-SGNSSpectral Clustering 的结果(除了 之外)。对于 LINE 模型这里采用了重构策略,邻居数量阈值分别设定为 k-max = 0,200,500,1000 取最佳阈值(最佳阈值为 200)。

    最终结果如下表所示,每列的最佳结果用粗体突出显示。结论:

3.3.2 社交网络

  1. 在这个实验中,我们专注于社交网络上的监督任务。我们将学到的 representation 视为特征,通过多标签分类任务评估不同算法得到的 graph representation 的有效性。

    我们使用 LibLinear package 来训练 one-vs-rest 逻辑回归分类器。我们将这个过程运行 10 轮并报告平均 Micro-F1Macro-F1 指标。对于每一轮,我们随机采样 10%~90% 的顶点来训练,剩下的顶点作为测试集 。 这里LINE 模型采用了重构策略,邻居数量阈值分别设定为 k-max = 0,200,500,1000 取最佳阈值(最佳阈值为 500)。

    最终结果如下表所示,每列的最佳结果用粗体突出显示。结论:总体上 GraPep 性能远超过其它方法,尤其是仅使用 10% 样本训练。

    这表明GraRep 学到的不同类型的、丰富的局部结构信息可以相互补充从而捕获到全局结构信息。在与现有的 baseline 相比具有明显的优势,尤其是在数据稀疏时。

3.3.3 引文网络

  1. 在这个实验中,我们专注于通过检查一个真实的引文网络 DBLP 来可视化学到的 representation。我们将学到的 graph representation 输入到 t-SNE 工具中来 lay out 图,其中来自同一个研究领域的作者使用相同的颜色,绿色表示数据挖掘、紫色表示计算机视觉、蓝色表示机器学习。

    结论:

    • 使用谱聚类的效果一般,因为不同颜色的顶点相互混合。

    • DeepWalkE-SGNS 结果看起来好得多,因为大多数相同颜色的顶点似乎构成了分组,但是分组的边界似乎不是很明显。

    • LINEGraRep结果中,每个分组的边界更加清晰,不同颜色的顶点出现在明显可区分的区域中。

      LINE 相比 GraRep 的结果似乎更好,每个区域的边界更清晰。

  2. 引文网络可视化的 KL 散度如下表所示。其中 KL 散度捕获了 ”成对顶点的相似度” 和 “二维投影距离” 之间的误差。更低的 KL 散度代表更好的表达能力。可以看到:GraRep 模型的顶点 representation 效果最好。

3.3.4 参数敏感性

  1. 这里我们讨论参数敏感性,具体而言我们评估了最大步长 、维度 对于模型效果的影响。

    • 值:下图给出 Blogcatelog 数据集上不同 值对应得 Micro-F1macro-F1 得分。为阅读方便,这里仅给出 的结果。因为实验发现: 的结果略好于 ,而 的效果与 相当。

      可以看到:

      • 有明显改善,而 的性能进一步优于

        这表明:不同的 阶信息可以学到互补的局部信息。

      • 的结果并不比 好多少。

        这是因为当 足够大时,学到的 阶信息会减弱并趋于一个稳定的分布。

    • 值:下图给出了 3NG9NG 在不同 配置下不同模型的 NMI 得分。可以看到:

      • GraRep 模型结果始终优于其它模型。
      • 几乎所有算法都在 时取得最佳性能,当 64 继续增加到更大值时所有算法效果都开始下降。

  2. 运行时间:下图给出不同总维度和不同图大小时模型的运行时间。总维度等于 ,它代表最终 GraRep 拼接得到的representation 向量。

    • a 给出了 时,模型在 Blogcatalog 数据集上的模型训练时间。

      可以看到:模型训练时间随着总维度的增加而几乎线性增加。

    • b 给出了在 20-NewsGroup 数据集不同规模的网络上训练的时间。

      可以看到:随着 Graph 规模的增长,模型训练时间显著增加。原因是随着 Graph 增长,矩阵幂运算 和矩阵 SVD 分解涉及到时间复杂度较高的运算。

      后续可以考虑采用深度学习来替代 SVD 技术来做矩阵分解。

四、TADW[2015]

  1. 网络在我们的日常生活中无处不在,例如 Facebook 用户之间的友谊或学术论文之间的引用。近年来,研究人员广泛研究了网络中许多重要的机器学习应用,例如顶点分类vertex classification 、标签推荐 tag recommendation、异常检测 anomaly detection、链接预测 link prediction。数据稀疏 data sparsity 是这些任务面临的常见问题。为了解决数据稀疏性问题,network representation learning: NRL 在统一的低维空间中编码和表达每个顶点。 NRL 有助于我们更好地理解顶点之间的语义相关性semantic relatedness ,并进一步缓解稀疏性带来的不便。

    NRL 中的大多数工作从网络结构中学习 representation。例如,social dimensions 是计算网络的拉普拉斯 Laplacian 矩阵或 modularity 矩阵的特征向量 eigenvectors 。最近,NLP 中的 word representation 模型 SkipGram 被引入,用于从社交网络中的随机游走序列中学习顶点的 representation,称作 DeepWalksocial dimensionsDeepWalk 方法都将网络结构作为输入来学习 network representation,但是没有考虑任何其它信息。

    在现实世界中,网络中的顶点通常具有丰富的信息,例如文本内容和其它元数据 meta data。例如,维基百科文章相互连接并形成网络,每篇文章作为一个顶点都包含大量的文本信息,这些文本信息可能对 NRL 也很重要。因此,论文 《Network Representation Learning with Rich Text Information》 提出了同时从网络结构和文本信息中学习 network representation 的想法,即 text-associated DeepWalk: TADW

    • 一种直接的方法是:分别独立地从文本特征和网络特征中学习 representation,然后将两个独立的 representation 拼接起来。然而,该方法没有考虑网络结构和文本信息之间复杂的交互 interaction ,因此通常会导致效果不佳。
    • 在现有的 NRL 框架中加入文本信息也不容易。例如,DeepWalk 在网络中的随机游走过程中,无法轻松地处理附加信息。

    幸运的是,给定网络 ,论文证明 DeepWalk 实际上是分解矩阵 ,其中每一项 是顶点 以固定 steps 随机游走到顶点 的平均概率的对数。下图 (a) 展示了 MF 风格的 DeepWalk:将矩阵 分解为两个低维矩阵 ,其中 DeepWalk 将矩阵 作为顶点 representation。我们将在后面进一步详细介绍。

    DeepWalk 的矩阵分解视角启发了作者将文本信息引入到 NRLMF 中。如上图 (b) 展示了论文方法的主要思想:将矩阵 分解为三个矩阵的乘积: ,其中 为文本特征矩阵。然后论文拼接 作为每个顶点的 维的 representation

    论文在三个数据集上针对多个 baseline 测试了 TADW 算法。当训练集比率 training ratio10% ~ 50% 的范围内时,TADWrepresentation 的分类准确率比其它 baseline 高达 2% ~ 10% 。当训练集比率小于 10% 时,论文还使用半监督分类器 Transductive SVM: TSVM 测试这些方法。TADW1% 的训练集比率下,相比其它 baseline 方法提升了 5% ~ 20% ,尤其是在网络信息包含噪音的情况下。

    论文主要贡献:

    • 论文证明了 DeepWalk 算法实际上分解了一个矩阵 ,并找出了 的封闭形式 closed form
    • 论文将文本特征引入 NRL,并相比其它 baseline 获得了 5% ~ 20% 的优势,尤其是在训练集比率较小的情况下。
  2. 相关工作:representation learning 广泛应用于计算机视觉、自然语言处理、knowledge representation learning 。一些研究集中在 NRL,但它们都无法泛化来处理顶点的其它特征。据作者所知,很少有工作致力于考虑 NRL 中的文本信息。

    有一些主题模型topic model ,如 NetPLSA,在主题建模时同时考虑了网络和文本信息,然后可以用主题分布 topic distribution 来表示每个顶点。在本文中,作者以 NetPLSA 作为 baseline 方法。

4.1 模型

4.1.1 DeepWalk 作为矩阵分解

  1. 公式化 NRL :给定网络 ,我们希望为每个顶点 构建一个低维 representation 向量 ,其中 。作为一种稠密的 real-valued representation 可以缓解邻接矩阵等 network representation 的稀疏性。我们可以将 视为顶点 的特征,并将这些特征应用到许多机器学习任务中,如顶点分类。这些特征可以方便地提供给许多分类器,例如逻辑回归、SVM 。注意,representation 不是特定于任务task-specific 的,可以在不同任务之间共享。

    我们首先介绍 DeepWalk,然后给出 DeepWalk 和矩阵分解之间的等价证明。

a. DeepWalk
  1. DeepWalk 首次将应用广泛的分布式 word representation 方法 SkipGram 引入到社交网络的研究中,从而根据网络结构来学习 vertex representation

    DeepWalk 首先生成短的随机游走short random walk (短的随机游走也被用作相似性度量)。给定一条由随机游走生成的顶点序列 ,我们将顶点 视为中心顶点 的上下文,其中 为窗口大小window size 。遵循 SkipGram 的思想,DeepWalk 旨在最大化随机游走顶点序列 中所有 vertex-context pair 的平均对数概率 average log probability

    其中 softmax 函数的方式来定义:

    其中 :

    • 为顶点 作为 center vertex 时的 represetation 向量。
    • 为顶点 作为 context vertex 时的 representation 向量。

    即,每个顶点 有两个 representation 向量:当 作为 center vertex 时的 、当 作为 context vertex 时的

    之后,DeepWalk 使用 SkipGramHierarchical Softmax 从随机游走生成的序列中学习顶点的 representation。注意,Hierarchical Softmax 是用于加速的 softmax 的变体。

b. 等价性证明
  1. 假设一个 vertex-context 集合 是从随机游走序列中生成,其中每个元素为一个 vertex-context pair 。定义 vertex 集合为 ,定义 context 集合为 ,并且大多数情况下

    DeepWalk 将一个vertex 嵌入到一个 维向量 。另外,一个 context 被嵌入到一个 维向量 。令 为所有 vertex embedding 组成的矩阵,其中第 行表示顶点 vertex representation。令 为 所有 context embedding 组成的矩阵,其中第 行表示顶点 context representation。我们的目标是找出矩阵 的封闭形式 closed form,其中

  2. 现在我们考虑一个 vertex-context pair 。定义 出现在 中的次数,vertex 出现在 中的次数,context 出现在 中的次数。

    《Neural word embedding as implicit matrix factorization》已经证明:当维度 足够大时,带负采样的 SkipGramSkipGram with Negative Sampling: SGNS) 相当于隐式地分解 word-context 矩阵 。其中 的元素为:

    其中 为每个 word-context pair 的负样本数量。

    可以解释为 word-context pair Pointwise Mutual Information: PMI 偏移。

    类似地,我们可以证明带 softmaxSkipGram 相当于分解矩阵 ,其中:

  3. 我们现在讨论 DeepWalk 中的 代表什么。显然, vertex-context pair 的采样方法会影响矩阵 。假设网络是连通 connected 和无向 undirected 的,窗口大小为 。我们将基于 DeepWalk 算法的理想ideal 的采样方法来讨论 ,以及

    • 首先我们生成一条足够长的随机游走序列 。令 表示随机游走序列 上位置 的顶点。
    • 然后我们将 vertex-context pair 添加到 中,当且仅当

    就是顶点 在随机游走中出现的频率,也就是 PageRank 值。 为在 的左侧或右侧 个邻居中观察到 的期望次数。现在我们尝试基于这种理解来计算

    PageRank 中的转移矩阵表示为 。令 为顶点 degree,则有:

    我们使用 来表示一个 维的行向量,其中除了第 项为 1 之外其它项均为零。假设我们从顶点 开始随机游走并使用 表示初始状态。那么 是所有顶点的分布,它的第 项是顶点 随机游走到顶点 的概率。因此, 的第 项是顶点 以恰好 步随机游走到顶点 的概率,其中 是矩阵 次幂。因此, 的第 项是 出现在 的右侧 个邻居中的期望次数。因此我们有:

    上述证明也适用于有向图。因此,我们可以看到 为顶点 步中随机游走到顶点 的平均概率的对数。

    通过证明 DeepWalk 等价于矩阵分解,我们提出融合丰富的文本信息到基于 DeepWalk 派生的矩阵分解中。

4.1.2 TADW

  1. 这里我们首先简要介绍低秩矩阵分解,然后我们提出从网络和文本信息中学习 representation 的方法。
a. 低秩矩阵分解
  1. 矩阵是表示关系型数据relational data 的常用方法。矩阵分析的一个有趣主题是通过矩阵的一部分项来找出矩阵的内在结构。一个假设是矩阵 可以用低秩 的另一个矩阵来近似,其中 。然后我们可以在这个假设下用这样一个低秩近似来补全 complete 矩阵 的缺失值。然而,求解秩约束优化 rank constraint optimization 始终是 NP 难的。因此,研究人员求助于寻找矩阵 ,从而最小化损失函数 ,并且带有迹范数的约束 trace norm constraint (这个约束可以通过在损失函数中添加一个惩罚项从而进一步地移除)。在本文中,我们使用平方损失函数。

  2. 低秩分解:形式上,令矩阵 的观察集为 。我们希望找到矩阵 ,从而最小化损失函数:

    其中 表示矩阵的 Frobenius 范数, 为正则化系数。

  3. 归纳矩阵补全:低秩矩阵分解仅基于 的低秩假设来补全矩阵 。如果矩阵 中的 item 具有附加特征 additional feature,那么我们可以应用归纳矩阵补全 inductive matrix completion 来利用它们。归纳矩阵补全通过融合两个特征矩阵 feature matrix 到目标函数中从而利用更多行单元 row unit 和列单元 column unit 的信息。

    假设我们有特征矩阵 ,其中 分别为两个矩阵列向量的维度。我们的目标是求解矩阵 ,从而最小化:

    注意,归纳矩阵补全最初是为了补全具有基因特征和疾病特征的 “基因-疾病”矩阵,其目标与我们的工作有很大不同。受归纳矩阵补全思想的启发,我们将文本信息引入 NRL

b. TADW
  1. 给定一个网络 以及它对应的文本特征矩阵 ,我们提出了文本相关的 DeepWalktext-associated DeepWalk: TADW )从网络结构 和文本特征 中学习每个顶点 representaion

  2. 回想一下,DeepWalk 分解矩阵 ,其中 。 当 较大时,准确地计算 的计算复杂度为 。实际上,DeepWalk 使用基于随机游走的采样方法来避免显式地、精确地计算矩阵 。当 DeepWalk 采样更多的随机游走序列时,性能会更好,但是计算效率会更低。

    TADW 中,我们找到了速度和准确性之间的 tradeoff:分解矩阵 。在这里,为了计算效率,我们分解矩阵 而不是 。原因是 具有更多的非零项,并且具有平方损失的矩阵分解的复杂度与矩阵 中非零元素的数量成正比。由于大多数现实世界的网络都是稀疏的,即 ,因此计算矩阵 需要 的时间。如果网络是稠密的,我们甚至可以直接分解矩阵

    即使是 的计算复杂度,对于百万甚至亿级顶点的网络而言,这个计算复杂度仍然无法接受。

    我们的任务是求解矩阵 ,从而最小化:

    为了优化 ,我们交替最小化 ,因为它是 的凸函数。虽然 TADW 可能收敛到局部最小值而不是全局最小值,但我们的方法在实践中效果很好,如我们的实验所示。

    也可以直接应用随机梯度下降法来优化。

  3. 不同于低秩矩阵分解 low-rank matrix factorization 和归纳矩阵补全inductive matrix completion(它们聚焦于补全矩阵 ),TADW 的目标是结合文本特征从而获得更好的 network representation 。此外,归纳矩阵补全直接从原始数据中获得矩阵 ,而我们从 MF 风格的 DeepWalk 的推导中人为地构建矩阵

    由于从 TADW 获得的 都可以视为顶点的低维 representation,因此我们可以通过拼接它们为 network representation 构建一个统一的、 维的矩阵。在实验中,我们将证明统一的 representation 显著优于将 network representation 和文本特征(即矩阵 ) 的简单组合。

  4. 复杂度分析:在 TADW 中,计算 的过程需要 的时间。我们使用 《Large-scale multi-label learning with missing labels》 引入的快速过程来求解 TADW 的优化问题。

    最小化 的每次迭代的复杂度为 ,其中 nnz(.) 为矩阵非零元素的个数。作为比较,传统矩阵分解的复杂度(即低秩矩阵分解的优化问题) 为 。在我们的实验中,优化在 10 次迭代中收敛。

  5. 未来工作:针对大规模网络数据场景的 TADW 在线学习和分布式学习。另外,还可以研究矩阵分解的其它技术,例如 matrix co-factorization,从而包含来自其它来源的丰富信息。

4.2 实验

  1. 我们使用顶点分类问题来评估 NRL 的质量。正式地,我们得到顶点的低维 representation 作为顶点特征,然后我们的任务是基于顶点特征用标记顶点集合 来预测未标记顶点集合 label

    机器学习中的许多分类器可以处理这个任务。我们分别选择 SVMtransductive SVM 从而进行监督的、半监督的学习和测试。注意,由于 representation learning 过程忽略了训练集中的顶点 label ,因此 representation learning 是无监督的。

    我们使用三个公开可用的数据集,并使用 representation learning 的五种 baseline 方法来评估 TADW 。我们从文档之间的链接或引用,以及这些文档的 term frequency-inverse document frequency: TF-IDF 矩阵(即矩阵 )中学习 representation

  2. 数据集:

    • Cora 数据集:包含来自七个类别的 2708 篇机器学习论文。论文之间的链接代表引用关系,共有 5429个链接。每篇文档映射为一个 1433 维的binary 向量,每一位为0/1 表示对应的单词是否存在。
    • Citeseer数据集:包含来自六个类别的 3312 篇公开发表出版物。文档之间的链接代表引用关系,共4732个链接。每篇文档映射为一个 3703 维的binary 向量,每一位为0/1 表示对应的单词是否存在。
    • Wiki 数据集:包含来自十九个类别的 2405篇维基百科文章。文章之间的链接代表超链接,共 17981 个链接。我们移除了没有任何超链接的文档。每篇文章都用内容单词的 TFIDF 向量来表示,向量维度为 4973 维。

    CoraCiteseer 数据集从标题、摘要中生成短文本作为文档,并经过停用词处理、低频词处理(过滤文档词频低于 10 个的单词),并将每个单词转化为 one-hot 向量。 Cora、Citeseer 数据集平均每篇文档包含 18~32 个单词,数据集被认为是有向图。

    Wiki 数据集是长文本,平均每篇文档包含640 个单词,数据集被认为是无向图。

  3. baseline 方法及其配置:

    • TADW :通过SVD 分解 TFIDF 矩阵到 200 维的文本特征矩阵 ,这是为了降低矩阵 的规模。我们也将文本特征矩阵 视为一个 content-onlybaseline

      对于 Cora,Citeseer 数据集 ;对于 Wiki 数据集

      注意:最终每个顶点的representation 向量的维度为

    • DeepWalkDeepWalk 是一种 network-only representation learning 方法。我们选择参数为:窗口尺寸 ,每个顶点的游走序列数量 。对于 Cora,Citeseer 数据集维度 ,对于 Wiki 数据集维度 ,这些是在 50 ~200 之间选择的性能最佳的维度。

      我们还通过求解“低秩分解”方程并将 拼接起来作为顶点 representation 从而评估 MF-style DeepWalk 的性能。结果与 DeepWalk 相比差不多,因此我们仅报告了原始 DeepWalk 的性能。

    • pLSA:我们使用 PLSA 通过将每个顶点视为一个文档来从 TF-IDF 矩阵训练主题模型。因此,PLSAcontent-only baseline 方法。PLSA 通过 EM 算法估计文档的主题分布和主题的 word 分布。我们使用文档的主题分布作为顶点 representation

    • Text Features:使用文本特征矩阵 作为每篇文档的 200representation,这也是一种 content-only baseline 方法。

    • Naive Combination:直接拼接 DeepWalkembedding 向量和文本特征向量。对于 Cora,Citeseer 数据集这将得到一个300 维向量;对于Wiki 数据集这将得到一个 400 维向量。

    • NetPLSANetPLSA 将文档之间的链接视为网络正则化来学习文档的主题分布,存在链接的文档应该共享相似的主题分布。我们使用网络增强的文档主题分布作为 network representation

      NetPLSA 可以视为一种兼顾网络和文本信息的 NRL 方法。我们将 Cora,Citeseer 数据集主题数量设置为 160,将 Wiki 数据集主题数量设置为 200

  4. 评估方式:对于监督分类器,我们使用由 Liblinear 实现的linear SVM。对于半监督分类器,我们使用 SVM-Light 实现的 transductive SVM 。我们对 TVSM 使用线性核。我们为每个类别训练一个 one-vs-rest 分类器,并选择 linear SVMtransductive SVM 中得分最高的类别。

    我们将顶点的 representation 作为特征来训练分类器,并以不同的训练比率 training ratio来评估分类准确性。训练比率从 linear SVM10% ~ 50% ,以及从 TSVM1% ~ 10% 不等。对于每个训练比率,我们随机选择文档作为训练集,剩余文档作为测试集。我们重复试验 10 次并报告平均准确率。

  5. 实验结果:下表给出了 Cora 数据集、Citeseer 数据集、Wiki 数据集的分类准确率。这里 - 表示 TSVM 不能在 12 小时内收敛,因为 representation 的质量较低(对于 TADWTADM 总是可以在 5 分钟内收敛)。我们没有在 Wiki 数据集上展示半监督学习的结果,因为监督 SVM 已经在这个数据集上以较小的训练比率获得了有竞争力的、甚至更好的性能。因此,我们仅报告 Wiki 数据集的有监督 SVM 的结果。Wiki 数据集的类别要比其它两个数据集多得多,这需要更多的数据来进行足够的训练,因此我们将最小训练比率设为 3%

    从这些表中我们可以看到:

    • TADW 在所有三个数据集上始终优于所有其它 baseline。此外,TADW 可以在 Cora 数据集和 Citeseer 数据集上减少 50% 的训练数据从而击败其它 baseline 。这些实验证明 TADW 是有效且鲁棒的。
    • TADW 对于半监督学习有更显著的提升。TADW 的表现优于最佳的 baseline (即 naive combination),在 Cora 数据集上提升 4%、在 Citeseer 数据集上提升 10% ~ 20%。这是因为在 Citeseer 上的 network representation 质量很差,而 TADW 从噪音的数据中学习比 naive combination 更鲁棒。
    • TADW 在训练比率较小时有更好的表现。大多数 baseline 的准确率随着训练比率的降低而迅速下降,因为它们的vertex representation 对于 trainingtesting 而言非常 noisyinconsistent 。相反,由于 TADW 从网络和文本信息中联合学习 representation,因此 representation 具有更少的噪音并且更加一致。

    这些观察结果证明了 TADW 生成的高质量 representation。此外,TADW 不是 task-specific 的,representation 可以方便地用于不同的任务,例如链接预测、相似性计算、顶点分类等等。TADW 的分类准确性也与最近的几种 collective 分类算法相媲美,尽管我们在学习representation 时没有对任务执行特别的优化。

  6. 参数敏感性:TADW 有两个超参数:维度 和正则化系数 。我们将训练比率固定为 10%,并使用不同的 测试分类准确率。对于 Cora 数据集和 Citeseer 数据集,我们让 40 ~ 120 之间变化,而 0.1 ~ 1 之间变化。对于 Wiki 数据集,我们让 100 ~ 200 之间变化,而 0.1 ~ 1 之间变化。下图显示了不同 下分类准确率的变化。

    可以看到:

    • 对于 Cora, Citeseer, Wiki 上的固定 ,不同 对应的准确率分别在 1.5%, 1%, 2% 的波动范围内。
    • CoraCiteseer 上的 Wiki 上的 时,准确率具有竞争性 competitive 。因此,当 在合理范围内变化时,TADW 可以保持稳定。

  7. 案例研究:为了更好地理解 NRL 文本信息的有效性,我们在 Cora 数据集中提供了一个案例。document 标题为 Irrelevant Features and the Subset Selection Problem(不相关特征和子集选择问题)。我们将这篇论文简称为 IFSSPIFSSP 的类别标签为 Theory。如下表所示,使用 DeepWalkTADW 生成的 representation,我们找到了 5 篇最相似的论文,并基于余弦相似度来排序。

    我们发现,所有这些论文都被 IFSSP 引用。然而,DeepWalk 发现的 5 篇论文中有 3 篇具有不同的类别标签,而 TADW 发现的前 4 篇论文具有相同的类别标签 Theory 。这表明:与单纯的基于网络的 DeepWalk 相比,TADW 可以借助文本信息学到更好的 network representation

    DeepWalk 发现的第 5 篇论文也展示了仅考虑网络信息的另一个限制。《MLC Tutorial A Machine Learning library of C classes》 (简称 MLC)是一个描述通用 toolbox 的论文,可以被不同主题的许多论文引用。一旦其中一些论文也引用了 IFSSPDeepWalk 将倾向于给 IFSSP 一个与 MLC 类似的 representation,即使它们具有完全不同的主题。

五、DNGR[2016]

  1. 图是许多现实世界问题中用于信息管理的常见表达。例如,在 protein-protein interaction 网络中挖掘蛋白质复合物在同源蛋白质功能多样性的描述中起着重要作用,并提供有价值的演化洞察,这本质上是一个聚类问题。因此,开发自动化算法以从图中提取有用的深层信息至关重要。组织这类信息(它与潜在的大且复杂的图相关)的有效方法之一是学习 graph representation,它为图的每个顶点分配一个低维的稠密的向量 representation,从而对图传达的有意义的信息进行编码。

    最近,人们对学习 word embedding 的工作产生了浓厚的兴趣。他们的目标是从大量自然语言文本中,根据上下文为每个自然语言单词学习一个低维的向量 representation。这些工作可以被视为线性序列的 learning representation ,因为语料库由自然语言序列构成的线性结构组成。由此产生的紧凑的、低维的向量 representation 被认为能够捕获丰富的语义信息,并被证明可用于各种自然语言处理任务。虽然已经确定了学习线性结构的良好 representation 的有效方法,但是处理具有丰富拓扑的、通用的图结构更为复杂。为此,一种自然的方法是确定一种有效的转化方法:将学习通用图结构的 vertex representation 的任务转化为学习线性结构的 representation 的任务。

    DeepWalk 提出了一种思想,它通过称作截断的随机游走 truncated random walk 的均匀采样方法将无权图转换为线性序列的集合。在他们的方法中,采样的顶点序列刻画了图中顶点之间的连接。这一步可以理解为将通用的图结构转化为线性结构集合的过程。接下来,他们利用了 SkipGram 模型从这种线性结构中学习顶点的低维 representation。学到的顶点 representation 在一些任务中是有效的,并且优于先前的几种方法,如谱聚类spectral clustering 、以及 modularity 方法。

    虽然这种学习无权图的顶点 representation 的方法是有效的,但是仍然有两个重要问题有待回答:

    • 首先,对于加权图,如何更准确、更直接地捕获到图结构信息?
    • 其次,是否有更好的方法来表达线性结构的顶点?

    为了回答第一个问题,论文 《Deep Neural Networks for Learning Graph Representations》设计了一个适合加权图的随机冲浪模型 random surfing model ,它可以直接产生一个概率共现矩阵 probabilistic co-occurrence matrix 。这样的矩阵类似于通过从图中采样线性序列获得的共现矩阵,但是我们的方法不需要采样过程。

    使用带重启的 PageRank 来计算转移概率,并不具备创新性。

    为了回答第二个问题,论文 《Deep Neural Networks for Learning Graph Representations》 首先回顾了一种用于学习线性结构的顶点 representation 的现有方法。最近的一项研究 《Neural word embedding as implicit matrix factorization》 表明:使用负采样的 SkipGram 的目标函数,与分解由单词和它们上下文组成的一个 shifted positive pointwise mutual information: PPMI 矩阵有内在关系。具体而言,他们表明可以使用标准的奇异值分解 SVD 方法对 PPMI 矩阵进行因式分解,从而从分解的矩阵中导出 vertex/word representation。最近的方法 GraRep 已被证明在学习 graph representation 的任务上取得了良好的实验结果。然而,该方法采用 SVD 来执行线性降维,而没有探索更好的非线性降维技术。

    在论文 《Deep Neural Networks for Learning Graph Representations》 中,作者对 《Neural word embedding as implicit matrix factorization》 的工作给出了一个新的视角。作者认为:原始 PPMI 矩阵本身是图的显式 representation 矩阵,而 SVD 步骤本质上起到了降维 toolbox 的作用。虽然用于产生最终 word representationSVD 步骤被证明是有效的,但是 《Improving distributional similarity with lessons learned from word embeddings》 也证明了使用 PPMI 矩阵本身作为 word representation 的有效性。有趣的是,正如《Improving...》 的作者所展示的,从 SVD 方法学到的 representation 不能完全胜过 PPMI 矩阵本身的 representation 。由于我们的最终目标是学习能够有效捕获图信息的良好顶点 representation,因此必须研究从 PPMI 矩阵中得到顶点 representation 的更好方法,其中可以捕获不同顶点之间潜在的、复杂的非线性关系。

    深度学习揭示了非线性的复杂现象建模的路径,它在不同领域有许多成功的应用,例如语音识别和计算机视觉。深度神经网络 DNN ,例如堆叠自编码器 stacked autoencoder,可以被视为从低级特征学习高级抽象的有效方法。该过程本质上执行降维,将数据从高维空间映射到低维空间。与基于 SVD 的降维方法不同(它通过线性投影从原始 representation 空间映射到具有较低秩的新空间),堆叠自编码器等深度神经网络可以学习高度非线性的投影。

    事实上,《Learning deep representations for graph clustering》 在聚类任务中使用稀疏自编码器 sparse autoencoder 来代替谱聚类 spectral clustering 的特征值分解eigenvalue decomposition 步骤,并取得了显著的改进。受他们工作的启发,论文 《Deep Neural Networks for Learning Graph Representations》 还研究了使用基于深度学习的替代方法从原始数据 representation 中学习低维 representation 的有效性。与他们的工作不同,这里的目标是学习通用图的顶点 representation ,而不是专门关注聚类任务。作者将深度学习方法应用于 PPMI 矩阵,而不是他们模型中使用的拉普拉斯矩阵。DeepWalk 已经证明前者有可能比后者产生更好的表现。为了增强模型的鲁棒性,作者还使用了堆叠降噪自编码器来学习多层 representation

    仅仅用非线性投影代替线性投影,并不具有创新性。

    作者称提出的模型为 deep neural networks for graph representation: DNGR。学到的 representation 可以视为能够输入到其它任务中的输入特征,例如无监督聚类任务和有监督分类任务。为了验证模型的有效性,作者进行了将学到的 representation 用于一系列不同任务的实验,其中考虑了不同类型和拓扑的现实世界网络。为了在考虑更简单、但是更大规模的实际图结构时证明 DNGR 模型的有效性,作者将 DNGR 模型应用于一个非常大的语言数据集,并在 word similarity 任务上进行了实验。在所有这些任务中, DNGR 模型优于其它 learning graph representation 方法,而且 DNGR 模型也可以简单地并行化。

    论文的主要贡献在两个方面:

    • 从理论上讲,作者认为深度神经网络的优势在于能够捕获图传递的非线性信息,而许多广泛使用的、传统的线性降维方法无法轻易地捕获此类信息。此外,作者认为论文的随机冲浪模型可用于取代广泛使用的传统采样方法来直接捕获图结构信息。
    • 根据实验,作者证明 DNGR 模型能够更好地学习加权图的低维顶点 representation,其中可以捕获图的有意义的语义信息semantic information 、关系信息relational information 、以及结构信息structural information 。作者表明,得到的 representation 可以有效地用作不同下游任务的特征。

5.1 背景和相关工作

  1. 这里我们首先展示 DeepWalk 中提出的无权图的随机采样,从而说明将顶点 representation 转换为线性 representation 的可行性。然后我们考虑两种 word represenation 方法:带负采样的 SkigGram、基于 PPMI 矩阵的矩阵分解。这些方法可以视为从线性结构数据中学习 word representation 的线性方法。

  2. 背景:给定加权图 ,其中 为顶点集合, 为边集合,边 由两个顶点组成。在无权图中,二元的边权重表示两个顶点之间是否存在关系。相比之下,加权图中的边权重是个实数,表示两个顶点之间的相关程度。尽管加权图中的边权重可能为负,但是我们在本文中仅考虑非负权重。

    为了符号方便,我们在全文中也使用 来表示顶点。我们试图通过捕获图 的深层结构信息来获得顶点的 representation 矩阵

  3. DeepWalkDeepWalk 提供了一种有效的方法,称作截断的随机游走 truncated random walk,从而将无权的图结构信息转换为表示顶点之间关系的线性序列。所提出的随机游走是一种适用于无权图的均匀采样方法:

    • 首先从图中随机选择一个顶点 ,并将其标记为当前顶点。
    • 然后从当前顶点 的所有邻居中随机选择下一个顶点 。现在,将这个新选择的顶点 标记为当前顶点并重复这样的顶点采样过程。

    当一条序列中的顶点数量达到 (称作游走长度 walk length )的预设数时,算法终止。重复上述过程 次(称作游走次数 total walk)后,我们得到线性序列的集合。

    虽然截断的随机游走是一种使用线性序列表达无权图结构信息的有效方法,但是该过程涉及缓慢的采样过程,并且超参数 不易确定。我们注意到:DeepWalk 基于采样的线性序列产生了一个共现矩阵 co-occurrence matrix 。在下文中,我们描述了我们的随机冲浪模型random surfing model ,该模型直接从加权图中构建概率共现矩阵,从而避免了昂贵的采样过程。

  4. SkipGram with negative sampling: SGNS:自然语言语料库由线性序列的 streams of words 组成。最近,神经嵌入方法 neural embedding method 和基于矩阵分解的方法已广泛应用于学习 word representation《Distributed representations of words and phrases and their compositionality》 提出的 SkipGram 模型已被证明是一种有效且高效的学习 word representation 的方法。改进 SkipGram 模型的两种值得注意的方法是负采样 skip-gram with negative sampling: SGNS 、以及 hierarchical softmax。在本文中,我们选择使用前一种方法。

    SGNS 中,采用噪声对比估计 noise contrastive estimation: NCE 方法(《A Fast and Simple Algorithm for Training Neural Probabilistic Language Models》)的简化变体来增强 SkipGram 模型的鲁棒性。SGNS 根据经验的 unigram word distribution 随机创建 negative pairs ,并尝试使用低维向量表示每个单词 和每个上下文单词 SGNS 的目标函数旨在最大化 positive pairs 和最小化 negative pairs

    其中:

    • sigmoid 函数
    • 为负样本数量。
    • 为当负样本 从分布 中采样时的期望。分布 为均匀分布,#(c) 为上下文顶点 在数据集 中出现的次数, 为数据集规模。
    • 为顶点 representation 向量, 为上下文顶点 context representation 向量。
  5. PPMI 矩阵和 SVD:学习 graph representation (尤其是 word representation)的另一种方法是基于矩阵分解技术。这种方法基于全局共现计数 global co-occurrence counts 的统计数据来学习 representation,并且在某些预测任务中可以优于基于单独的局部上下文窗口 local context windows 的神经网络方法。

    矩阵分解方法的一个例子是超空间模拟分析 hyperspace analogue analysis,它分解 word-word 共现矩阵从而产生 word representation。这种方法和相关方法的一个主要缺点是:语义信息相对较小的高频词(例如停用词 stop words)对生成的 word representation 产生不成比例的影响 disproportionate effect《Word association norms, mutual information, and lexicography》 提出了 pointwise mutual information: PMI 矩阵来解决这个问题,并且已经被证明可以提供更好的 word representation

    其中: 表示数据集 中出现的次数, 为所有 pair 的总样本量。

    进一步提高性能的方法是将每个负值调整为 0(详细信息参考论文 《Neural word embedding as implicit matrix factorization》),从而形成 PPMI 矩阵:

    其中 PPMI 矩阵。

    尽管 PPMI 矩阵是一个高维矩阵,但是使用截断的 SVD 方法truncated SVD method 执行降维会产生关于 L2 损失的最佳秩 的分解。我们假设矩阵 可以分解为三个矩阵: ,其中 为正交矩阵, 为对角矩阵(奇异值从大到小排列)。换言之:

    其中: 的最左侧的 列, 的最左侧的 列, 最左侧的 个奇异值(也是最大的 个奇异值)。根据 《Improving distributional similarity with lessons learned from word embeddings》word representation 矩阵 可以为:

    PPMI 矩阵 word representation 矩阵和 context 矩阵的乘积。SVD 过程为我们提供了一种从矩阵 中找到矩阵 的方法,其中 的行向量是 word/vertex 的低维 representation,并且 的行向量可以通过 给出的高维 representation 的线性投影获得。我们认为这种投影不一定是线性投影。在这项工作中,我们研究了使用非线性投影方法通过使用深度神经网络来代替线性 SVD 的方法。

  6. 深度神经网络:可用于学习 multiple levelfeature representation 的深度神经网络在不同领域取得了成功。训练这样的网络被证明是困难的。一种有效的解决方案是使用贪心的逐层无监督预训练greedy layer-wise unsupervised pre-training 。该策略旨在一次学习一层的有用的 representation。然后将学到的low-level representation 作为下一层的输入,用于后续的 representation learning 。神经网络通常采用非线性激活函数(例如 sigmoidtanh)来捕获从输入到输出的复杂非线性投影。

    为了训练涉及多层 feature representation 的深层架构,自编码器 autoencoder 已经成为常用的 building block 之一。自编码器执行两个操作:编码 encoding 、解码 decoding

    • 在编码步骤中,函数 应用于输入空间中的向量,并将其转换到新的特征空间。在这个过程中通常会涉及一个激活函数来对两个向量空间之间的非线性进行建模:输入向量空间,以及潜在向量 representation 的空间。
    • 在解码步骤中,重构函数 用于从潜在 representation 空间重构原始输入向量。

    让我们假设 ,以及 ,其中: 为非线性激活函数, 为编码器的参数, 为解码器的参数。这里 是转换输入空间的线性映射的权重, 为线性映射的 bias 向量。我们的目标是通过找到 来最小化以下重构损失函数:

    其中 为数据集, 为单个样本的损失函数。

    堆叠自编码器 stacked autoencoder 是由多层的此类自编码器组成的多层深度神经网络。堆叠自编码器使用逐层训练方法来提取基本规律,从数据中逐层捕获不同 level 的抽象,其中更高层传递来自数据的更高 level 的抽象。

5.2 模型

  1. 现在我们详细介绍我们的 DNGR 模型。如下图所示,该模型由三个主要步骤组成:

    • 首先,我们引入随机场冲浪模型 random surfing model 来捕获图结构信息并生成概率共现矩阵 probabilistic co-occurrence matrix
    • 接下来,遵从 《Extracting semantic representations from word co-occurrence statistics: A computational study》,我们根据概率共现矩阵计算 PPMI 矩阵。
    • 最后,我们使用堆叠降噪自编码器 stacked denoising autoencoder 来学习低维的 vertex representation

    下图的 SDAE 结构中, 对应于输入数据、 对应于第一层学到的 representation 对应于第二层学到的 representation。临时破坏的节点(例如 ) 以红色突出显示。

5.2.1 随机冲浪和上下文加权

  1. 虽然有效,但是将图结构转换为线性序列的采样方法有一些弱点:

    • 首先,采样序列的长度是有限的。这使得很难为出现在采样序列边界处的顶点捕获正确的上下文信息。
    • 其次,确定某些超参数(例如游走长度 、游走次数 )难以简单地确定,尤其对于大图。

    为了解决这些问题,我们考虑使用由 PangeRank 模型启发的随机冲浪模型 andom surfing model ,其中 PageRank 模型原本用于 ranking 任务。我们首先对图中的顶点进行随机排序。我们假设当前的顶点是第 个顶点,并且有一个转移矩阵 来捕获不同顶点之间的转移概率 transition probability

    我们引入一个行向量 ,它的第 项表示经过 步转移之后达到第 个顶点的概率。 为初始的 1-hot 向量,它的第 项为 1 而其它所有项为 0 。我们考虑一个带重启的随机冲浪模型random surfing model with restart :在每次,继续随机冲浪过程的概率为 ,返回原始顶点并重新开始的概率为 ,其中 。这将导致以下递推关系:

    如果我们假设过程中没有随机重启,则在恰好 步转移之后到达不同顶点的概率由以下公式指定:

    如果我们考虑所有顶点开始的随机冲浪(而不仅仅是顶点 开始的),则有:

    设最大的转移步数为 ,则通过这种方式我们得到 PMI 矩阵:

  2. 直觉上,两个顶点之间的距离越近,它们的关系就应该越紧密。因此,根据上下文节点和当前节点的相对距离来衡量上下文节点的重要性是合理的。在 word2vecGloVe 中都实施了此类加权策略,并且发现对于获得良好的实验结果很重要(《Improving distributional similarity with lessons learned from word embeddings》)。基于这一事实,我们可以看到,理想情况下,第 个顶点的 representation 应该以如下方式构建:

    其中 是一个单调递减函数(称作权重函数 weighting function),满足

    注意:PMI 的转移概率向量也可以视为顶点的某种 representation

    我们认为,基于上述随机冲浪过程构建顶点 representation 的以下方式(即 )实际上满足了上述条件。事实上,可以证明:

    其中 。则 的系数为:

    当满足 时, 是一个单调递减函数。

    另外,SkipGram 中的 函数为:

    GloVe 中的 函数为:

    如下图所示,所有权重函数 都是单调递减的。图中纵轴是分配给上下文节点的权重,横轴是上下文顶点和当前顶点之间的距离。

    因此,与 word2vecGloVe 类似,我们的模型还允许根据上下文到 target 的距离从而对上下文信息进行不同的加权。这在之前被证明对于构建良好的 word representation 很重要。我们将通过实验评估这方面的重要性。

5.2.2 堆叠降噪自编码器

  1. 我们的研究旨在钻研从 PPMI 矩阵构建顶点的高质量低维向量 representation,其中 PPMI 矩阵传递了图的基本结构信息。SVD 过程虽然有效,但是它本质上只产生从 PPMI 矩阵所包含的高维向量 representation 到最终低维向量 representation 的线性变换。我们相信可以在两个向量空间之间构建潜在的非线性映射。因此,我们使用堆叠降噪自编码器 stacked denosing autoencoder (一种用于深度学习的流行模型)从原始高维顶点向量 representation 生成压缩的低维顶点向量 representation

    我们首先初始化神经网络的参数,然后我们使用贪心的逐层训练 greedy layer-wise training 策略来学习每一层的high-level 抽象。为了增强 DNN 的鲁棒性,我们使用了堆叠降噪自编码器 stacked denoising autoencoder: SDAE 。与传统的自编码器不同,降噪自编码器会在进行训练之前部分破坏输入数据。具体而言,我们通过将输入向量中的一些位置以一定概率设置为 0 来随机破坏每个输入样本 (它是一个向量)。这个想法类似于在矩阵补全 matrix completion 任务中对缺失项进行建模,其目标是利用数据矩阵中的规律性在某些假设下有效地恢复完整矩阵。与标准的自编码器类似,我们从潜在 representation 中重建数据。换句话讲,我们对以下目标感兴趣:

    其中 的破坏的版本, 为标准的平方误差。

  2. SDAE 算法:

    • 输入:

      • PPMI 矩阵
      • SDAE 层数
    • 输出:顶点的 representation 矩阵

    • 算法步骤:

      • 初始化第一层的 input

      • 贪心逐层训练,步骤为:

        • 基于 input 来构建单隐层的 SDAE
        • 学习隐层 representation
        • 隐层的输出作为

      最后一层隐层的 representation 作为顶点的 representation 矩阵

5.2.3 DNGR 模型的讨论

  1. 这里我们分析以下 DNGR 的优势,其实验有效性将在实验部分介绍。

    • 随机冲浪策略:如前所述,随机冲浪过程克服了以前工作中的采样程序相关的限制,并且为我们提供了某些所需的属性。这些属性是以前的 embedding 模型 (例如 word2vecGloVe )所具备的。

      随机冲浪策略涉及计算 PMI 矩阵,其计算复杂度太高()。

    • 堆叠策略:堆叠结构提供了一种平滑的降维方式。我们相信在深度架构的不同层上学习的 representation 可以为输入数据提供不同 level 的有意义的抽象。

    • 降噪策略:高维输入数据通常包含冗余信息和噪声。我们相信降噪策略可以有效地降低噪声并增强鲁棒性。

    • 效率:根据之前的分析,DNGR 中使用自编码器来推断,在顶点数量方面,比基于 SVD 的矩阵分解方法具有更低的时间复杂度。SVD 的时间复杂度至少是顶点数量的二次方。然而,DNGR 的推断时间复杂度与图中的顶点数量呈线性关系。

      但是在训练效率方面,DNGRSVD 都需要计算 PPMI 矩阵,二者都是 计算复杂度。

5.3 实验

  1. 为了评估 DNGR 模型的性能,我们在真实数据集上进行了实验。除了展示 graph representation 的结果以外,我们还评估了从自然语言语料库(它由线性序列组成)中学习的 word embedding 的有效性。

  2. 数据集:

    • 语言网络数据集20-Newsgroup :包含 2 万篇新闻组文档,并按照 20个不同的组分类。每篇文档由文档内单词的 tf-idf 组成的向量表示,并根据余弦相似度计算得到文档的相似度。根据文档的这些相似度构建语言网络,该网络是一个全连接的带权图,用于聚类效果的评估。

      为验证模型的鲁棒性,我们分别从3/6/9 个不同的新闻组构建了三个更小规模的语言网络(NG 代表 Newsgroups ):

      • 3-NG:由comp.graphics, comp.graphics and talk.politics.guns 这三个新闻组的文档构成。
      • 6-NG:由 alt.atheism, comp.sys.mac.hardware, rec.motorcycles, rec.sport.hockey, soc.religion.christian and talk.religion.misc 这六个新闻组的文档构成。
      • 9-NG:由 talk.politics.mideast, talk.politics.misc, comp.os.ms- windows.misc, sci.crypt, sci.med, sci.space, sci.electronics, misc.forsale, and comp.sys.ibm.pc.hardware 这九个新闻组的文档构成。

      这些小网络分别对每个主题随机抽取200 篇文档。

    • Wine 数据集:包含意大利同一地区种植的三种不同品种的葡萄酒化学分析的 13 种成分的数量(对应13 个特征及其对应取值),数据包含 178 个样本。

      我们将样本作为顶点、采用不同样本之间的余弦相似度作为边来构建Graph

    • 维基百科语料库:包含 20104 月的快照作为训练集,包含 2000 万条文章和 9.9 亿个 token 。由于 SVD 算法复杂性,我们选择 1 万个最常见的单词构建词典。

      为了评估每个算法生成的 word representation 的性能,我们在四个数据集上进行了 word similarity 实验,包括流行的 WordSim353WordSim SimilarityWordSim RelatednessMC 四个数据集。所有这四个数据集都有 word pairs 以及人工分配的相似性。

    注意,这里得到的 graph 都是根据节点相似性来构建的,因此并不是天然的图结构。这种数据集作为 benchmark 可能不太科学,因为稍微不同的图构建方式可能导致完全不同的评测结果。

  3. baseline 方法:我们考虑以下四个 baseline 方法:

    • DeepWalk:使用截断的随机游走truncated random walk 将图结构转化为线性结构,然后使用 hierarchical softmaxSkipGram 模型处理序列。
    • SGNS:使用带负采样的 SkipGram模型。它已被证明是从理论上和经验上学习 word representation 的有效模型。
    • PPMI:是信息论中经常使用的度量。该方法直接基于单词的共现来构建 PPMI 矩阵,并用顶点的 PPMI 信息构建顶点的稀疏、高维 representation
    • SVD:是一种常用的矩阵分解方法,用于降维或提取特征。我们使用 SVD 来压缩 PPMI 矩阵从而获取顶点的低维 representation
  4. 参数配置:

    • 随机游走序列长度 ,每个顶点开始的序列数量为

    • 对于 DeepWalk, SGNS ,负采样个数 ,上下文窗口大小为

    • 对于 DNGR

      • 使用 dropout 缓解过拟合,dropout 比例通过调参来择优。

      • 所有神经元采用 sigmoid 激活函数。

      • 堆叠式降噪自编码器的层数针对不同数据集不同。

  5. 20-NewsGroup 数据集上的聚类任务:该任务通过 K-means 对每个算法生成的顶点 representation 向量进行聚类,并以归一化互信息 normalized mutual information: NMI 作为衡量指标。每种算法随机执行10 次并报告平均结果。为了验证不同维度的影响,下面还给出了 DeepWalk,SGNS 在维度为 128、512 时的结果。

    结论:

    • 我们的 DNGR 模型明显优于其它 baseline 方法,尤其是当 时。

      时,上下文信息不会根据它们的距离进行加权,我们得到较差的结果。这证明了前面讨论的上下文加权策略的重要性。

    • DeepWalkSGNS 中,增加维度使得效果先提升后下降。

    • 比较 DNGRPPMI ,效果的提升证明了对于高维稀疏矩阵降维并提取有效信息的好处。

    • 在相同的 设置下,DNGR 始终比 SVD 效果更好。这为我们之前的讨论提供了实验证据:DNGR 是一种比 SVD 更有效的降维方法。

  6. Wine 数据集上的可视化任务:该任务采用 t-SNEDNGR,SVD,DeepWalk,SGNS 输出的顶点representation 映射到二维空间来可视化。在二维空间中,相同类型的葡萄酒以相同颜色来展示。在相同设置下,不同类型葡萄酒之间具有更清晰边界的聚类意味着更好的 representation

    结论:

    • DeepWalkSGNS 的可视化显示不清晰的边界和分散的簇。
    • DNGR)要好得多。虽然 SVD 优于 DNGR),但是在结果中我们可以看到绿色的点仍然与一些红色的点混合在一起。
    • DNGR)效果最好。我们可以看到不同颜色的点出现在 3 个独立的区域,并且大多数相同颜色的点聚集在一起。

  7. Word Similarity任务:我们在维基百科语料库上执行单词相似度任务,该任务直接从训练语料库中计算 word-context 组合因此不需要随机冲浪模型来生产 PPMI 矩阵。我们采用 Spearman’s rank correlation coefficient 来评估算法的结果。为了获得最佳结果,我们将 SGNS,DNGR,SVD 负采样的样本数分别设置为 5,1,1

    结论:

    • DNGR 的性能优于其它 baseline 方法。
    • SVD,DNGR 都比 PPMI 效果更好,这表明降维在该任务中的重要性。
    • DNGR 超越了 SVDSGNS ,这表明学习representation 时捕获非线性关系的重要性,并说明了使用我们的深度学习方法学习更好抽象的能力。

  8. 深度结构的重要性:为了理解深层结构的必要性,我们进一步度量了 20-NewsGroup 数据集的 layerwise NMI 值。对于 3NG6NG,我们使用 3 层神经网络,对于 9NG 我们使用 4 层神经网络。

    从结果中我们可以看到:从浅层到深层,这三个网络的性能总体而言都在提升。这证明了深层结构的重要性。

六、Node2Vec[2016]

  1. 网络分析中的许多重要任务涉及对节点和边的预测。

    • 在典型的节点分类任务中,我们需要预测网络中每个节点最可能的标签。例如,在社交网络中我们预测用户的兴趣标签,在 protein-protein interaction 网络中我们预测蛋白质的功能标签。
    • 类似地,在链接预测中,我们希望预测网络中的一对节点之间是否应该存在一条边。链接预测在各个领域都很有用。例如,在基因组学 genomics 中它可以帮助我们发现基因之间的、新的 interaction ,在社交网络中它可以识别现实世界中的朋友。

    任何有监督的机器学习算法都需要一组信息丰富informative 的、有区分力discriminating 的、独立 independent的特征。在网络的预测问题中,这意味着必须为节点和边构建特征的向量 representation 。典型的解决方案涉及基于专家知识的、人工的、领域特定domain-specific 的特征。即使不考虑特征工程所需的繁琐工作,这些特征通常也是为特定任务设计的,并且不会在不同的预测任务中泛化。另一种方法是通过解决优化问题来学习 feature representationfeature learning 的挑战在于定义目标函数,这涉及计算效率和预测准确性的 trade-off

    • 一方面,人们可以致力于找到一种直接优化下游预测任务性能的 feature representation 。虽然这种监督的过程具有良好的准确性,但是由于需要估计的参数数量激增,因此需要以高的训练时间复杂度为代价。
    • 另一方面,目标函数可以定义为独立于下游预测任务,并且可以通过纯粹的无监督的方式学习 representation。这使得优化过程的计算效率较高,并且具有精心设计的目标函数。但是该目标函数产生了与任务无关的特征,这些特征无法达到 task-specific 方法的预测准确性。

    然而,当前的技术未能令人满意地定义和优化网络中的合理目标函数,从而支持可扩展的无监督 feature learning

    • 基于线性降维技术和非线性降维技术的经典方法,例如主成分分析 Principal Component Analysis: PCA、多维缩放 Multi-Dimensional Scaling: MDS 及其扩展方法,它们优化一个目标函数,该目标函数变换 transform 网络的代表性的数据矩阵 representative data matrix 从而最大化 data representation 的方差(原始数据在低维空间representation 的方差,即数据尽可能分散)。因此,这些方法总是涉及对应矩阵的特征分解 eigen decomposition ,而特征分解对于大型现实世界网络而言是代价昂贵的。此外,所得到的潜在 representation 在网络上的各种预测任务中表现不佳。

    • 或者,我们可以设计一个旨在保留节点的局部邻域 local neighborhood 的目标函数(最大化保留节点的网络邻域 network neighborhood 的可能性)。我们可以使用随机梯度下降 stochastic gradient descent: SGD 来有效优化目标函数。最近一些工作在这个方向上进行了尝试,但是它们依赖于网络邻域network neighborhood 的严格概念,这导致这些方法在很大程度上对网络特有的连接模式 connectivity pattern 不敏感。具体而言,网络中的节点可以根据它们所属的社区community (即同质性 homophily)进行组织,也可以根据它们的结构角色structural role (即结构相等性 structural equivalence)来组织。

      例如,下图中,我们观察到节点 都属于同一个紧密结合的节点社区,而两个不同社区中的节点 共享相同的结构角色(即中心节点 hub node 的角色)。现实世界的网络通常表现出这种相等性的混合体。因此,重要的是允许灵活的算法从而可以学习遵守这两个准则的 node representation:能够学习将来自同一个网络社区的节点紧密地嵌入在一起的 representation,也能够学习共享相似结构角色的节点具有相似 embeddingrepresentation。这将允许 feature learning 算法在广泛的领域和预测任务中推广。

    为此,论文《node2vec: Scalable Feature Learning for Networks》 提出了node2vec,一种用于网络中可扩展的 feature learning 的半监督算法。论文使用 SGD 优化 graph-based 自定义的目标函数,其灵感来自于自然语言处理的先前工作( 《Efficient estimation of word representations in vector space》)。直观而言,论文的方法返回的 feature representation 可以最大化在低维特征空间中保留节点的网络邻域的可能性。论文使用二阶随机游走方法为节点生成(或采样)网络邻域。

    论文的主要贡献是定义了节点的网络邻域network neighborhood 的灵活概念。通过选择适当的邻域概念,node2vec 可以学习根据节点的网络角色、和/或它们所属的社区而组织的 representation 。论文通过开发一系列有偏biased 的随机游走来实现这一点,它可以有效地探索给定节点的多样化 diverse 的邻域。与先前工作中的严格搜索过程相比,由此产生的算法是灵活的,可以对超参数进行调优。因此,论文的方法推广了先前的工作,并且可以对网络中观察到的所有相等性 equivalence 进行建模。控制搜索策略的超参数有一个直观的解释,并且使得随机游走偏向于不同的网络探索策略。这些超参数也可以通过半监督的方式使用一小部分标记数据直接学习。

    论文还展示了如何将单个节点的 feature representation 扩展到节点pair 对(即 edge )。为了生成边的 feature representation ,论文使用简单的 binary operator 组合学习到的各个节点的 feature representation 。这种组合性 compositionality 使得 node2vec 可用于涉及节点预测任务和边预测任务。

    论文的实验聚焦于网络中的两个常见预测任务上:多标签分类任务,其中每个节点都被分配一个或者多个类别标签;链接预测任务,在给定一对节点的情况下预测边是否存在。作者将 node2vec 的性能与 state-of-the-artfeature learning 算法进行了对比。作者对来自不同领域的几个真实世界的网络进行了实验,例如社交网络 social network 、信息网络information network 、以及来自系统生物学的网络。实验表明:

    • node2vec 在多标签分类任务上的性能优于 state-of-the-art 的方法高达 26.7%,在链接预测任务上的性能优于 state-of-the-art 的方法高达 12.6%
    • node2vec 即使在 10% 的标记数据下也表现出有竞争力的性能,并且对噪声或者链接缺失的扰动也具有鲁棒性。

    在计算上,node2vec 的主要阶段是可并行化的,它可以在几个小时内扩展到具有数百万个节点的大型网络。

    总体而言,论文做出了以下贡献:

    • 论文提出了 node2vec,这是一种用于网络中 feature learning 的高效可扩展算法,可使用 SGD 有效优化新颖的、网络感知network-aware的、邻域保留neighborhood preserving 的目标函数。
    • 论文展示了 node2vec 如何符合网络科学中的既定准则,为发现符合不同相等性equivalencerepresentation 提供了灵活性。
    • 论文扩展了 node2vec 和其它基于邻域保留的目标函数的 feature learning 方法,从节点到节点 pair 对,从而用于 edge-based 预测任务。
    • 论文根据经验评估了 node2vec 在几个真实世界数据集上的多标签分类和链接预测任务。
  2. 相关工作:机器学习社区在各种领域对特征工程 feature engineering 进行了广泛的研究。在网络中,为节点生成特征的传统范式paradigm 基于特征提取技术 feature extraction technique ,该技术通常涉及一些基于网络属性的、手工制作的特征。相比之下,我们的目标是通过将特征提取作为 representation learning 问题来自动化整个过程。在这种情况下,我们不需要任何手工设计的特征。

    无监督 feature learning 方法通常利用图的各种矩阵 representation 的谱特性 spectral property ,尤其是图拉普拉斯矩阵 Laplacian matrix 和图邻接矩阵 adjacency matrix 。在这种线性代数的视角下,这些方法可以被视为降维技术。人们已经提出了几种线性降维技术(如 PCA)以及非线性降维技术(如 IsoMap)。这些方法同时存在计算性能缺陷和统计statistical 性能缺陷。

    • 首先,在计算效率方面,数据矩阵的特征分解 eigen decomposition 是代价昂贵的,因此这些方法很难扩展到大型网络。
    • 其次,这些方法优化的目标函数对于网络中观察到的多样化模式diverse pattern (例如同质性homophily 和结构相等性 structural equivalence )不是鲁棒的,并且对底层网络结构和预测任务之间的关系做出假设。例如,谱聚类 spectral clustering 做出了一个强烈的同质性假设,即图割graph cut 对分类有用。这种假设在许多场景下都是合理的,但是在有效地推广到不同的网络方面并不令人满意。

    自然语言处理中 representation learning 的最新进展为离散对象(如单词)的 feature learning 开辟了新途径。具体而言,SkipGram 模型旨在通过优化邻域保留 neighborhood preserving 的似然目标函数likelihood objective 来学习单词的 continuous feature representation 。该算法的过程如下:首先扫描文档的单词,然后 embedding 每个单词使得该单词的特征能够预测附近的单词(即,该单词某个上下文窗口内的其它单词)。单词的 feature representation 是通过使用带负采样的 SGD 来优化似然目标函数 likelihood objective 来学习的。SkipGram 的目标函数基于分布式假设 distributional hypothesis,该假设指出:相似上下文中的单词往往具有相似的含义。即,相似的单词往往出现在相似的 word neighborhood 中。

    SkipGram 模型的启发,最近的研究通过将网络表示为文档 document 来建立网络的一个类比 analogy 。就像文档是一个有序的单词序列一样,我们可以从底层网络中采样节点序列,并将网络变成一个有序的节点序列。然而,节点有多种可能的采样策略,导致学到的 feature representation 不同。事实上,正如我们将要展示的,没有明确的、最好的采样策略从而适用于所有网络和所有预测任务。这是先前工作的一个主要缺点:无法为网络中的节点采样提供任何灵活性。 node2vec 算法通过设计一个灵活的目标函数来克服这个限制,这个目标函数不依赖于特定的采样策略,并提供超参数来调整探索的搜索空间。

    最后,对于 node-based 预测任务和 edge-based 预测任务,最近有大量基于现有的 graph-specific 深度网络架构的监督feature learning 工作,和新颖的 graph-specific 深度网络架构的监督feature learning 工作。这些架构使用多层非线性变换直接最小化下游预测任务的损失函数,从而获得高准确性,但是由于高训练时长的要求从而以可扩展性scalability 为代价。

6.1 模型

  1. 我们将网络中的 feature learning 形式化为最大似然优化问题。令 为一个给定的网络。我们的分析是通用的,适用于任何有向/无向、加权/无权的网络。

    是一个从节点到 feature learning 的映射函数,其中 feature learning 用于下游预测任务。这里 为一个超参数,指定我们的 feature representation 的维度。换个说法, 是一个大小为 的参数矩阵,记作 。即 是同一个函数的不同表现形式。给定节点 的第 行。

    对于每个源节点 ,我们将 定义为通过邻域采样策略neighborhood sampling strategy 生成的节点 的网络邻域network neighborhood。我们继续将 SkipGram 框架扩展到网络。我们寻求优化以下目标函数,该目标函数最大化在给定节点 feature representation 的条件下,观察到一个网络邻域 的对数概率:

    为了使优化问题易于处理,我们做出两个标准假设:

    • 条件独立conditional independence:我们假设在给定源节点的 feature representation 的条件下, 观察到一个邻域节点的可能性独立于其它任何邻域节点。即:

    • 特征空间中的对称性symmetry :源节点source node 和邻域节点neighborhood node 在特征空间中相互对称。因此,我们将每个 source-neighborhood 节点 pair 的条件似然建模为一个 softmax 单元,通过其特征向量的内积来参数化:

    通过上述假设,则我们的最优化方程简化为:

    其中 为逐节点的分区函数 per-node partition function 。对于大型网络, 计算代价昂贵,为此我们使用负采样来近似它。我们使用随机梯度上升来优化上述方程。

    本质上是一个期望,是否可以通过均匀采样来近似?这是与负采样近似不同的另一种近似方法。

  2. 基于 SkipGram 框架的 feature learning 方法最初是在自然语言的背景下开发的。鉴于文本的线性特性,邻域的概念可以使用连续单词上的滑动窗口sliding window 自然地定义。然而,网络不是线性的,因此需要更丰富的邻域概念。为了解决这个问题,我们提出了一个随机程序,它对给定源节点 的许多不同的邻域进行采样。邻域 不仅局限于直接邻域,还可以根据采样策略 得到截然不同的各种邻域结构。

6.1.1 经典搜索策略

  1. 我们将源节点的邻域采样sampling neighborhood问题视为一种局部搜索形式local search form 。下图展示了一个graph,其中给定一个源节点 ,我们的目标是采样其邻域 。更重要的是,为了能够公平地比较不同的采样策略 ,我们将邻域 的大小限制为 个节点,然后为单个节点 采样多个邻域。

    通常,生成 个节点的邻域 有两种极端的采样策略:

    • 广度优先采样 Breadth-first Sampling: BFS:邻域 仅限于与源节点 直接相邻的节点。例如在图中,对于节点 的大小为 的邻域,BFS 采样节点为
    • 深度优先采样 Depth-first Sampling: DFS :通过以距离递增顺序采样的节点组成了邻域。

    广度优先采样和深度优先采样代表了搜索的极端场景,对学到的 representation 产生了有趣的影响。具体而言,网络中节点的预测任务经常在两种相似性之间切换:同质性homophily 和结构相等性structural equivalence

    • 在同质性的假设下,高度互联且属于相似的网络簇network cluster 或网络社区network community 的节点应该紧密地嵌入在一起。例如,图中的节点 属于同一个网络社区。

    • 相比之下,在结构相等性的假设下,在网络中具有相似结构角色 structural role 的节点应该紧密地嵌入在一起。例如,图中的节点 作为各自社区的 hub 角色。

      重要的是,与同质性不同,结构相等性并不强调连通性 connectivity :节点可以在网络中相距很远,但是仍然具有相同的结构角色structural role

    在现实世界中,这些相等性概念equivalence notion 并不是互斥的:网络通常表现出两种行为,其中一些节点表现出同质性,而另一些节点则表现出结构相等性。

  2. 我们观察到 BFS 策略和 DFS 策略在生成反映上述任何一个相等性的 representation 中起着关键作用。具体而言:

    • BFS 采样的邻域导致 embedding 与结构相等性密切对应。直观地,我们注意到,为了确定结构相等性,准确地刻画局部邻域通常就足够了。例如,仅通过观察每个节点的直接邻域就可以推断出基于网络角色(例如 bridgehub)的结构相等性。通过将搜索限制在附近节点,BFS 实现了这种刻画并获得了每个节点邻域的微观视图 microscopic view 。此外,在 BFS 中,被采样邻域中的节点往往会重复多次。这也很重要,因为它减少了源节点 1-hop 邻域的方差。

      然而,对于任何给定的邻域大小 BFS 仅探索了图中的很小一部分。

    • DFS 的情况正好相反,它可以探索网络的更大部分,因为它可以远离源节点。在 DFS 中,被采样的节点更准确地反映了邻域的宏观视图macro-view ,这对于基于同质性的社区推断inferring community 至关重要。

      然而,DFS 的问题在于:

      • 首先,不仅要推断网络中存在哪些 node-to-node 的依赖关系,而且还要刻画这些依赖关系的确切性质(比如 1-hop2-hop 等等)。鉴于我们限制了邻域规模,并且探索的邻域空间很大,这会导致高方差,因此这很难。

        高方差的意思是:从源节点 的每次 DFS 采样都可能得到不同的结果。

      • 其次,切换到更大的深度(即更大的邻域大小 )会导致复杂的依赖关系,因为被采样的节点可能远离源节点并且可能不太具有代表性less representative

6.1.2 node2vec

  1. 鉴于上述观察,我们设计了一个灵活的邻域采样策略 neighborhood sampling strategy ,使得我们能够在 BFSDFS 之间平滑地进行插值interpolate 。我们通过开发一个灵活的有偏随机游走biased random walk 程序来实现这一点,该程序可以通过 BFS 的方式和 DFS 的方式探索社区。

  2. 随机游走:正式地,给定一个源节点 ,我们模拟一个固定长度为 的随机游走。令 为随机游走中的第 个节点,其中 为随机游走的起始节点。节点 根据以下概率分布生成:

    其中:

    • 为节点 之间的未归一化的转移概率 unnormalized transition probability
    • 为归一化常数。
  3. search bias :有偏随机游走最简单的方法是根据静态的边权重 对下一个节点进行采样,即 。在无权图中, 。然而,这不允许我们考虑网络结构并指导我们的搜索过程来探索不同类型的网络邻域。此外,与分别适用于结构相等性、同质性的极端采样范式 BFSDFS 不同,我们的随机游走应该适应这样一个事实,即:这些相等性概念 equivalence notation 不是相互竞争的、也不是互斥的,现实世界的网络通常表现出二者的混合。

    我们使用两个超参数 定义了一个二阶随机游走,它指导游走过程:考虑一个刚刚经过边 ,并且现在停留在节点 处的随机游走(如下图所示)。游走过程现在需要决定下一步,因此它评估从 开始的边 上的非归一化转移概率

    我们将非归一化的转移概率设置为 ,其中:

    其中 表示从节点 到节点 的最短路径距离 shortest path distance 。注意: 的取值必须为 {0, 1, 2},因此这两个超参数 对于指导随机游走是必要且充分的。如下图所示,edge 上的文字表示 search biases

    直观而言,超参数 控制着游走过程探索和离开起始节点 的邻域的速度。具体而言,这些超参数允许我们的搜索过程在 BFSDFS 之间进行近似approximately 地插值,从而反映对节点的不同相等性概念的 affinity

    • 返回参数 return parameter :超参数 控制在游走过程中立即重访已有节点的可能性。

      • 将其设为较高的值()可以确保我们在接下来的两步中不太可能对已经访问过的节点进行采样(除非游走过程中的下一个节点没有其它邻居)。该策略鼓励适度探索并避免采样中的 2-hop 冗余redundancy
      • 另一方面,如果 值较低(),则它将导致游走过程回退一步,这将使得游走过程局部地local 靠近起始节点

      控制着返回上一个已访问节点 的概率。 越小,则返回的概率越大。

    • in-out parameter :超参数 允许搜索区分向内 inward 的节点和向外 outward 的节点。如上图所示:

      • 如果 ,则随机游走偏向于靠近节点 的节点。此时我们的 samples 由小的局部 small locality 内的节点组成,这种游走过程获得了近似于 BFS 行为(以起始节点开始)的、底层图的局部视图local view
      • 相反,如果 ,则随机游走更偏向于远离节点 的节点。这种行为反映了鼓励向外探索的 DFS。然而,这里的一个本质区别是:我们在随机游走框架内实现了类似于 DFS 的探索。因此,采样节点与给定源节点 的距离并不是严格增加的。但是反过来,我们受益于易于处理的 preprocessing 、以及随机游走的卓越采样效率。

      控制着远离上一个已访问节点 的概率。 越小,则远离的概率越大。

    注意,通过将 设置为游走过程中前一个节点 的函数,随机游走过程是二阶马尔科夫的。

  4. 随机游走的好处:和单纯的 BFS/DFS 方法相比,随机游走同时在空间复杂度和时间复杂度方面的效率较高。

    • 对于图中的所有节点,存储它们直接邻域的空间复杂度为 。对于二阶随机游走,存储所有节点的邻居之间的互联 interconnection 是有帮助的,这会产生 的空间复杂度,其中 为图的平均 degree 并且在现实世界中通常很小。

    • 与经典的基于搜索的BFS/DFS 采样策略相比,随机游走的另一个关键优势是它的时间复杂度。具体而言,通过在 sample generation过程中施加了图的连通性graph connectivity ,随机游走提供了一种方便的机制,通过跨不同源节点 reuse samples 来提高采样效率:由于随机游走的马尔科夫性质,通过模拟长度为 的随机游走,我们可以一次性为 个源节点生成随机游走序列,即 条随机游走序列,每条随机游走序列的长度为 。因此,每个采样节点的有效时间复杂度为

      例如,下图中,我们采样了一条长度为 的随机游走序列 ,这将导致 ,其中 。注意,sample reusing 可能会在整个过程中引入一些 bias,但是我们发现它大大提高了效率。

  5. Node2Vec 算法主要包含两个过程:Learn Feature 过程、node2vecWalk 过程。

    Learn Feature 过程:

    • 输入:

      • 维度
      • 每个源节点开始的随机游走序列数量
      • 每条随机游走序列长度
      • 上下文尺寸
      • 超参数
    • 输出:每个节点的低维representation

    • 步骤:

      • 预处理权重 ,重新构造新的图

        这是计算转移概率,并将转移概率设置为边的权重。但是这里转移概率是二阶马尔科夫的,如何设置为一阶的边权重?具体可能要看源代码。

      • 初始化列表 为空:

      • 迭代 次,对每个节点生成以该节点为起点、长度为 条随机游走序列。迭代过程为:

        对每个节点 执行:

      • 执行随机梯度下降

      • 返回求解到的每个节点的 representation

    node2vecWalk 过程:

    • 输入:

      • 修改后的图
      • 源节点
      • 随机游走序列长度
    • 输出:长度为 的一条随机游走序列

    • 步骤:

      • 初始化列表

      • 迭代 ,迭代过程为:

        • 获取当前节点
        • 获取当前节点的邻居节点
        • 采样下一个节点
        • 添加到序列:
      • 返回列表

  6. Node2Vec 算法的node2vecWalk 过程中,由于源节点 的选择导致引入了隐式的 bias。由于我们需要学习所有节点的 representation,因此我们通过模拟从每个节点开始的、长度固定为 条随机游走序列来抵消该 bias

    另外在 node2vecWalk 过程中,我们根据转移概率 来采样。由于二阶马尔可夫转移概率 可以提前计算好,因此可以通过 AliasTable 技术在 时间内高效采样。

  7. node2vec 的三个阶段:即计算转移概率的预处理、随机游走模拟、以及使用 SGD 的优化,按顺序依次进行。每个阶段都是可并行化和异步执行的,有助于 node2vec 的整体可扩展性。

6.1.3 边的representation

  1. node2vec 算法提供了一种半监督方法来学习网络中节点的丰富特征 representation。 然而,我们经常对涉及节点 pair ,而不是单个节点的预测任务感兴趣。例如,在链接预测中,我们预测网络中两个节点之间是否存在链接。由于我们的随机游走天然地基于底层网络中节点之间的连接结构 connectivity structure,因此我们在单个节点的特征 representation 上使用 bootstrapping 的方法从而将它们扩展到节点 pair

    node2vec 的训练是无监督的,但是可以使用下游任务的、少量的监督样本来选择最佳的超参数 ,从而实现半监督学习。

  2. 给定两个节点 ,我们在相应的特征向量 上定义二元算子 ,从而生成 representation 使得 ,其中 pairrepresentation 维度。

    我们希望我们的算子可以为任何一对节点进行定义,即使这对节点之间不存在边,因为这样做使得 representation 对于链接预测有用,其中我们的测试集同时包含 true edge (即存在边)和 false edge(即不存在边)。我们考虑了算子 的几种选择,使得 ,如下所示:

    • 均值操作符Average
    • Hadamard 操作符:
    • L1 操作符Weighted-L1
    • L2 操作符Weighted-L2

6.1.4 总结

  1. 本文中我们将网络中的 feature learning 作为 search-based 优化问题进行研究。这种观点为我们提供了多种优势:

    • 它可以在 exploration-exploitation trade-off 的基础上解释经典的搜索策略。

    • 此外,当应用于预测任务时,它为学到的 representation 提供了一定程度上的可解释性。

      • 例如,我们观察到 BFS 只能探索有限的邻域,这使得 BFS 适用于刻画依赖于节点直接局部结构 immediate local structure 的网络中的结构相等性。
      • 另一方面,DFS 可以自由探索网络邻域,这对于以高方差为代价发现同质社区homophilous community 很重要。
  2. DeepWalkLINE 都可以视为严格的网络搜索策略。

    • DeepWalk 提出使用均匀的随机游走进行搜索。这种策略的明显限制是它使得我们无法控制已经探索的邻域 explored neighborhood

      即倾向于 exploration

    • LINE 主要提出了BFS 策略,并且独立地在 1-hop 邻域和 2-hop 邻域上采样节点和优化似然likelihood 。这种探索的效果更容易刻画,但是它的限制是:无法灵活地探索更深的节点。

      即倾向于 exploitation

    相比之下,通过超参数 探索网络邻域,node2vec 中的搜索策略既灵活又可控。虽然这些搜索超参数具有直观的解释,但是当我们可以直接从数据中学习它们时,我们在复杂网络上获得了最佳结果。从实用角度来看,node2vec 具有可扩展性并且对扰动具有鲁棒性。

  3. 未来工作:

    • 探索 Hadamard 算子比其它算子效果更好的背后原因。
    • 基于搜索超参数为边建立可解释的相等性概念。
    • node2vec 应用到特殊结构的网络,如异质信息网络 heterogeneous information network、具有节点特征的网络、具有边特征的网络。

6.2 实验

6.2.1 案例研究:悲惨世界网络

  1. 如前所述,我们观察到 BFSDFS 策略代表了节点嵌入的两个极端:基于同质性(即网络社区)、以及基于结构相等性(即节点的结构角色)。我们现在的目标是凭经验证明这一事实,并表明 node2vec 实际上可以发现同时符合这两个准则的 embedding

    我们用一个网络来描述小说《悲惨世界》中的角色,边代表角色之间是否共同出现过。网络共有 77 个节点和 254 条边。我们设置 并利用 node2vec 学习网络中每个节点的feature representation ,然后通过k-means 算法对这些feature representation聚类。最后我们在二维空间可视化原始网络,节点根据它们的 cluster 分配相应的颜色,节点大小代表节点的degree

    • 上半图给出了 的结果,可以看到node2vec 挖掘出小说中的社区community:有密切交互关系的人的相似度很高。即representation 结果和同质性 homophily 有关。
    • 下半图给出了 的结果,可以看到 node2vec 挖掘出小说中的角色:角色相同的人的相似度很高。即representation 结果和结构相等性有关。如:node2vec 将蓝色节点嵌入在一起,这些节点代表了小说不同场景之间切换的桥梁bridge 的角色;黄色节点代表小说中的边缘角色。

    人们可以为这些节点 cluster 解释以不同的语义,但关键是 node2vec 不依赖于特定的相等性概念。正如我们通过实验表明的那样,这些相等性概念通常出现在大多数现实世界的网络中,并且对预测任务学到的 representation 的性能产生重大影响。

6.2.2 实验配置

  1. baseline :我们的实验在标准的监督学习任务上评估了 feature representation (通过 node2vec 获得的):节点的多标签分类任务multilabel classification 、边的链接预测 link prediction 任务。对于这两个任务,我们将 node2vec 和下面的算法进行对比:

    • 谱聚类 spectral clustering:这是一种矩阵分解方法,其中我们将图 的归一化拉普拉斯矩阵normalized Laplacian matrixtop d 特征向量 eigenvector 作为节点的 feature vector representation

    • DeepWalk:这种方法通过模拟均匀随机游走来学习 feature representationDeepWalk 中的采样策略可以视为 node2vec 的一个特例。

    • LINE:这种方法在两个独立的 phase 中学习 维的 feature representation

      • 在第一种 phase ,它保持节点的一阶邻近性来学习 维的 representation
      • 在第二种 phase ,它保持节点的二阶邻近性来学习另一个 维的 representation

    我们剔除了其它已经被证明不如 DeepWalk 的矩阵分解 matrix factorization 方法。我们还剔除了最近的一种方法 GraRep,它将 LINE 推广为保持节点的高阶邻近性,但是它无法有效地扩展到大型网络。

  2. 配置:与先前工作中用于评估 sampling-basedfeature learning 算法的配置相比,我们为每种方法生成相同数量的 samples ,然后在预测任务中评估获得的特征的质量。因此,在采样阶段sampling phaseDeepWalk, LINE, node2vec 的参数设置为:在 runtime 时生成相同数量的 samples 。例如,如果 是总的采样预算,那么 node2vec 的超参数满足:

    在优化阶段 optimization phase,所有这些算法都使用 SGD 进行了优化,其中我们纠正了两个关键性差异:

    • 首先,DeepWalk 使用 hierarchical softmax 来近似 softmax 概率,其目标函数类似于 node2vec 使用的目标函数。然而,与负采样相比,hierarchical softmax 效率低下。因此对于 DeepWalk 我们切换到负采样并保持其它一切不变,这也是 node2vecLINE 中实际使用的 approximation
    • 其次,node2vecDeepWalk 都有一个超参数,用于优化上下文邻域节点的数量,数量越大则需要迭代的轮次越多。对于 LINE,该超参数设置为单位数量(即 1),但是由于 LINE 比其它方法更快地完成单个 epoch,我们让它运行 epoch

    node2vec 使用的超参数设置与 DeepWalkLINE 使用的典型值一致。具体而言,我们设置 ,并且优化了一个 epoch。我们选择 10 个随机数种子初始化并重复我们的实验,并且我们的结果在统计上显著,p-value 小于 0.01

    最佳的 in-out 超参数 return 超参数 是在 10% 标记数据上使用 10-fold 交叉验证进行网格搜索来找到的,其中

6.2.3 多标签分类任务

  1. 多标签分类任务中,每个节点属于一个或者多个标签,其中标签来自于集合 。在训练阶段,我们观察到一定比例的节点上的所有标签。任务是预测剩余节点上的标签。当标签集合 很大时,多标签分类任务非常有挑战性。

  2. 数据集:

    • BlogCatalog:该数据集包含 BlogCatalog 网站上博客作者之间的社交关系,标签代表通过元数据推断出来的博主兴趣。网络包含 10312 个节点、333983 条边、39 种不同标签。
    • Protein-Protein Interactions:PPI:该数据集包含蛋白质和蛋白质之间的关联,标签代表基因组。我们使用智人 PPI 网络的子图。网络包含 3890个节点,76584条边,50种不同标签。
    • Wikipedia :该数据集包含维基百科dump 文件的前一百万字节中的单词共现,标签代表单词的词性 Part-of-Speech:POS (由 Standford POS-Tagger 生成)。网络包含 4777 个节点,184812 条边,40 种不同标签。

    所有这些网络都同时呈现同质性和结构相等性。如:

    • 博主的社交网络呈现出很强的同质性,但是可能还有一些 “熟悉的陌生人”:博主之间没有关联但是兴趣相同。因此它们在结构上是等效的节点。
    • 蛋白质-蛋白质的相互作用网络中,当蛋白质和邻近蛋白质功能互补时,它们呈现出结构相等性;而在其他时候,它们基于同质性组织从而协助相邻蛋白质执行相似的功能。
    • 在单词共现网络中,当相邻的单词具有相同 POS 标签时,它们呈现出同质性;当相邻单词呈现某种语法模式,如 “限定词+名词“、”标点符号 + 名词” ,它们呈现结构相等性。
  3. 实验结果:每个模型输出的节点 representation 输入到一个 正则化的one-vs-rest 逻辑回归分类器中,采用Macro-F1 作为评估指标。Micro-F1 和准确率的趋势与 Macro-F1 类似,因此并未给出。训练数据和测试数据均拆分为 10 个随机实例。

    结论:node2vec 探索邻域时的灵活性使得它超越了其它算法。

    • BlogCatalog 中,可以设置较低的 值来较好的融合同质性的结构相等性,在 Macro-F1 分数中比 DeepWalk 提高 22.3%、比 LINE 提高 229.2%LINE 的表现低于预期,这可能是因为它无法 reuse samples ,而基于随机游走的策略可以reuse samples

    • 即使在我们的其它两个网络中(这两个网络也存在混合的相等性),node2vec 的半监督特性也可以帮助我们推断 feature learning 所需的适当的探索程度。

      • PPI 网络中,最佳探索策略 () 结果证明与 DeepWalk 的均匀探索() 几乎没有区别,但是 node2vec 通过高 值避免了重复访问已访问节点的冗余性,使得 node2vec 相比 DeepWalk 略有优势。而 node2vecMacro-F1 分数上相比 LINE 高出 23.8%
      • 然而,通常而言,均匀随机游走可能比 node2vec 的探索策略差得多。正如我们在 Wikipedia 单词共现网络中看到的那样,均匀随机游走不能导致最佳的采样,因此node2vecDeepWalk 提高了 21.8%,比 LINE 提高了 33.2%

  4. 数据稀疏性:为了进行更细粒度的分析,我们将train-test 拆分比例从 10%~90% ,超参数 10% 的数据上学习。结果表明:

    • 所有方法都明显超越了谱聚类,DeepWalk 优于 LINE
    • node2vec 始终超越了 LINE ,并且最差情况也等价于DeepWalk 、最好情况相比 DeepWalk 有巨大提升。例如在 70% 的标记数据中,我们在 BlogCatalog 上相比 DeepWalk 提升了 26.7%

  5. 参数敏感性:node2vec 算法涉及许多超参数,我们在 BlogCatalog 数据集上评估这些超参数的影响。我们使用标记数据和未标记数据之间的 50 - 50 拆分。除了待评估的参数外其它参数均为默认值( 的默认值均为 1 )。我们的评估指标为 Macro-F1 。结论:

    • 随着 的减小 node2vec 性能将有所提高,这是因为更小的 将达到预期的同质性和结构相等性。

      虽然鼓励向外探索,但是由于低 的平衡作用可以确保随机游走距离源点不会太远。

    • 提高维度 可以提升性能,但是一旦维度达到 100 左右,性能提升将趋于饱和。

    • 增加源点的游走序列数量 可以提升性能,增加序列的长度 也可以提升性能。

      这两个参数表明更大的采样预算sampling budget ,因此它们对于性能有较大的影响。

    • 上下文大小 以优化时间的增加为代价来提升性能,但是性能提升不明显。

  6. 扰动分析:对于许多现实世界的网络,我们无法获得有关网络结构的准确信息。我们进行了一项扰动研究,分析了 node2vecBlogCatalog 网络中的、边结构edge structure 的两个不完美信息场景imperfect information scenario 下的性能。

    • 第一个场景:我们评估缺失边missing edge 比例(相对于完整网络)对性能的影响。缺失边是随机选择的,但是存在连接的节点总数是固定的。如上半图所示,随着缺失边比例上升网络性能大致呈现线性下降,但是下降的斜率较小。

      在图随时间演变的情况下(例如,引文网络)或网络建设成本较高的情况下(例如,生物网络),网络对于缺失边的鲁棒性尤其重要。

    • 第二个场景:我们在网络中随机选择的节点对之间添加噪声边noisy edge 。如下半图所示,与缺失边相比这种情况的网络性能下降速度稍快,但是斜率趋于放缓。

      同样地,node2vec 对假边 false edge 的鲁棒性在多种情况下很有用,例如传感器网络 sensor network 其中传感器的值有噪声。

  7. 可扩展性:为测试可扩展性我们用 node2vec 学习 Erdos-Renyi 网络的节点 representation 。所有参数为默认值,网络规模从 100 到 一百万,每个节点的平均 degreee 固定为 10

    可以看到:node2vec 随着节点数量的增加,其收敛时间基本呈线性关系,在不到四个小时即可生成一百万节点的representation

    采样过程包括:为我们随机游走计算转移概率的预处理 perprocessing (时间成本小到可以忽略不计)、以及随机游走的模拟simulation 。我们使用负采样和异步 SGD 使得优化阶段变得高效。

    node2vec 的训练过程我们采用了很多优化技巧:如随机游走过程中的sample reusing重用技巧、Alias Table 技巧。虽然我们可以根据底层任务和领域自由地设置搜索超参数,但是学习搜索超参数的最佳设置会增加开销。然而,正如我们的实验所证实的,这种开销很小,因为 node2vec 是半监督的,因此可以用很少的标记数据有效地学习这些超参数。

6.2.4 链接预测任务

  1. 在连接预测任务中,我们给定一个删除了一定比例边的网络,希望模型能够预测这些被删除的边。数据集的生成方式为:

    • 网络中随机删除 50% 的边,剩下的所有边的节点pair 对作为正样本。但是,要确保删除边之后的残差网络是连通的。
    • 从网络中随机选择相同数量的、不存在边的节点 pair 对作为负样本。

    由于之前还没有针对链接预测的特征学习算法,因此我们将node2vec 和一些流行的启发式方法进行对比。这些启发式方法通过评估节点 的邻居集合 和节点 的邻居集合 的某种得分,然后根据该得分来判断 之间是否存在边。

  2. 数据集:

    • FaceBook 数据集:包含FaceBook 用户之间的社交关系,节点代表用户、边代表好友关系。网络一共包含 4039 个节点和 88234 条边。
    • Protein-Protein Interactions: PPI 数据集:在智人的 PPI 网络中,节点代表蛋白质,边代表蛋白质和蛋白质之间的关联。网络一共包含 19706个节点、390633 条边。
    • arXiv ASTRO-PH 数据集:包含 arXiv 网站上发表论文的作者之间的关联,节点代表作者、边代表两个作者共同参与同一篇论文写作。网络一共包含 18722个节点、198110 条边。
  3. 实验结果:我们经过超参数优化选择最佳的 ,优化过程这里不做讨论。下图给出了node2vec 的不同operator,以及不同启发式算法的结果,指标为 auc 。图中:a 表示均值算子operatorb 表示 Hadamard 积算子,c 表示 WeightedL1 算子,d 表示 WeightedL2 算子。

    结论:

    • 通过feature learning 学习节点pair 对特征(如node2vec, LINE, DeepWalk, Spectral Clustering 等等)的效果明显优于启发式方法。

    • 在所有feature learning 的算法中,node2vec 的效果最佳。

    • 当我们单独查看算子时,除了 Weighted-L1Weighted-L2 之外(这两种算子中 LINE 最佳),其它算子中 node2vec 超越了 DeepWalkLINE

      Hadamard 算子与 node2vec 一起使用时非常稳定stable ,在所有网络中平均提供最佳性能。

七、WALKLETS[2016]

  1. 社交网络本质上是分层hierarchical 的。例如,在人类社交网络中,每个人都是若干个社区 community 的成员,这些社区从小型(例如家庭、朋友)到中型(例如学校、企业)到大型(例如民族、国家)。随着这些关系的尺度 scale 发生变化,关系的拓扑结构也会发生变化。例如,考虑社交网络上某个大学的一名大学生(如下图所示):

    • Friends 尺寸:他可能与朋友或直系亲属非常紧密地联系在一起,并与这些人(朋友或直系亲属)形成紧密的图结构。
    • Classmates 尺寸:然而,他与同一座大学内的其它学生的关系更加松散。事实上,他与大多数学生没有直接的社交关系。
    • Society 尺度:最后,他与本国其他人的联系相对较少,但是由于共同的文化,他仍将与本国其他人共享很多属性。

    尺度在预测任务中也起着重要作用,因为这些任务也从与特定的用户属性相关(如用户的电影兴趣)到与用户所属社区的、更通用的属性相关(如用户所属的学校)。

    在搜广推领域,尺度在刻画 user/item 特征上也是很重要的。

    大多数关于 network representation learning 的先前工作都使用 “一刀切” 的方法来处理这个问题,其中每个用户都使用单个 network representation 来进行预测,因此无法显式捕获节点在网络中具有的多尺度关 系multiscale relationship。在论文 《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》 的作者看来,最好有一组 representation 从而捕获用户的、所有尺度的社区成员关系。

    在论文 《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》 中,作者研究了大型图中 node embedding 问题,其中该 embedding 捕获了节点所属的所有社区的潜在层次结构 latent hierarchy 。这些潜在的 multiscale representation 对于社交网络中的预测任务很有用。在预测时,可以利用(单独的、或者组合的)representation 来提供更全面的、用户的隶属关系affiliation 。下面的左图和右图说明了不同尺度上 representation 相似性之间的差异。中心的红色顶点表示源点,顶点颜色代表该顶点和源点的距离:距离越近颜色越红,距离越远颜色越蓝。

    • 左图给出了细粒度 representation 相似度的结果。在这一尺度下,只有源点的直系邻居才是相似的。
    • 右图给出了粗粒度 representation 相似度的结果。在这一尺度下,源点附近的很多顶点都是相似的。

    最近,人们对社交网络 representation learning 的兴趣激增,主要是基于神经矩阵分解 neural matrix factorization 。这些方法在半监督网络分类问题上展示了强大的任务性能。尽管它们在任务中的表现很强,但是作者发现这些方法还有很多不足之处。

    • 首先,最初的工作只是间接地解决了在多个尺度上学习 representation 的问题,或者作为学习过程的产物(《Deepwalk: Online learning of social representations》)、或者通过不同目标函数的不直观的组合(《Line: Largescale information network embedding》)。

      最近,《GraRep: Learning graph representations with global structural information》 提出了一种学习多尺度 representation 的方法,但是它的计算复杂度使得它对于大多数真实世界的图而言都难以处理。

    • 其次,这些方法中的大多数都依赖于network representation learning 的“一刀切”方法,它掩盖了图的每个单独尺度上存在的细微差别的信息。

    论文 《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》 提出了一种用于学习网络中顶点的、多尺度multiscalerepresentation 的新方法:WALKLETS 。这是一种用于学习社交 representation 的在线算法,它的 representation 以一种可推导derivable 的方式显式编码多尺度的顶点关系。与现有工作不同,WALKLETS 的维度具有意义,允许进行信息网络分类 informed network classification 以及被捕获关系的可视化。该方法本身是可扩展的,并且可以在具有数百万个顶点的图上运行。

    WALKLETS 通过在图的顶点上对短的随机游走short random walk 进行子采样subsampling 来生成这些多尺度关系multiscale relationship 。通过在每个随机游走中跳过某些 step ,论文的方法生成了一个由顶点pair 组成的语料库,其中这些顶点pair 可以通过固定长度的路径到达。然后可以使用该语料库来学习一系列潜在 representation,每个潜在 representation 都从邻接矩阵中捕获更高阶的关系。

    具体而言,论文的贡献如下:

    • 多尺度 representation learning:论文提出了一种 graph embedding 方法,它显式地捕获了多尺度关系 multiple scale relationship
    • 评估:论文在多个社交网络(如 BlogCatalog, DBLP, Flickr, YouTube, Arxiv )上广泛评估WALKLETSrepresentation 在多标签分类任务上的表现。在 Micro-F1 指标上,WALKLETSDeepWalk 等几个具有挑战性的 baseline 要高出多达 5%
    • 可视化和分析:WALKLETS 保留了潜在 representation 的多个尺度,作者用它来分析大型图中存在的多尺度效应 multiscale effect

    最后,WALKLETS 是一种在线算法,可以轻松扩展到具有数百万个顶点和边的 graph

  2. 相关工作:相关工作分为三类:无监督 feature learning、多尺度 graph clusteringgraph kernel

    • 无监督 feature learning:最近提出的社交 representation learningDeepWalk, LINE, node2vec, Graph Likelihood )使用 Word2Vec 提出的神经网络损失来学习 representation 从而编码顶点相似性 vertex similarity 。与我们的工作不同,这些方法没有显式保留网络中发生的多尺度效应。

      与我们最接近的相关工作 GraRep 是通过随机游走转移矩阵 random walk transition matrix 上的 SVD 来显式建模网络中的多尺度效应。我们的工作使用采样 sampling 和在线学习来操作更大规模的语料库。此外,我们的工作保留了多个尺度的 representation,这可以提供更好的任务性能的 modeling insight

      人们还提出了分布式 representation 来对不同领域的结构关系进行建模,如计算机视觉、语音识别、自然语言处理。

    • 多尺度社区检测:人们已经提出了很多用于检测图中多尺度离散社区的技术。一般而言,与我们的方法不同,这些方法试图返回一个描述图中社交层级结构的硬聚类 hard clustering

    • Graph KernelGraph Kernel 是一种方法,它使用关系数据作为分类程序的一部分,但是通常速度很慢。最近的工作已经应用神经网络来学习 graph kernel 的子图相似性subgraph similarity

7.1 模型

7.1.1 基础知识

  1. 基本概念:定义网络 ,其中 为网络的成员集合, 表示成员之间的链接集合,其中 。我们将 的邻接矩阵称作 ,当且仅当存在边 时,元素 是非零的。给定具有邻接矩阵 的图 ,我们将其在尺度 处的视图 view 定义为由 定义的图。

    我们将 representation 定义为映射 ,它将每个顶点 映射到低维空间 中的 维向量。在实践中,我们以参数矩阵 来表示映射 ,该矩阵通常从数据中估计。

    最后,令 表示部分标记partially labeled 的社交网络,其中特征为 ,标记为 为特征空间的维度, 为标签集合。

  2. 多尺度 Representation Learning:给定网络 ,多尺度学习的目标是学习一组 个逐渐粗化 coarser 的社交 representation ,其中 捕获了 在尺度 处的视图 view

    直观而言,每个 representation 都编码了不同视图的社交相似性 social similarity,对应于不同尺度的潜在社区的成员关系 membership

  3. 预测性学习任务predictive learning task:给定一个 representation 或一组 representation ,任务的目标是学习将 映射到标签集合label set 的假设 hypothesis 。这将允许泛化generalization ,即推断 中无标签顶点的标签。

  4. Representation Learningrepresentation learning 的目标是学习一个映射函数 ,它将图中每个顶点 映射到相关的潜在社交 representation 。在实践中,我们用自由参数 free parameter 的矩阵 来表示映射

    DeepWalk 引入了一个概念:将顶点建模为截断随机游走truncated random walk 中节点共现node co-occurrence 的函数。这些截断随机游走序列捕获了图中每个每个顶点周围的扩散过程 diffusion process,并对局部社区结构local community structure 进行了编码。因此,DeepWalk 的目标是估计顶点 与其局部邻域 local neighborhood 共现co-occurring 的可能性:

    其中 为顶点 representation

    然而,随着随机游走序列长度的增加,计算这个条件概率变得不可行。为解决这个问题,人们提出通过忽略相邻顶点的顺序来放松relax 这个问题:不是使用上下文context 来预测目标顶点,而是使用目标顶点来预测其局部结构。就 vertex representation 建模而言,这得到了最优化问题:

    有趣的是,这个优化目标直接等价于学习邻接矩阵 的低秩近似 low-rank approximation

  5. 神经矩阵分解 Neural Matrix Factorization:一种常用的方法建模节点 共现的概率是,使用 softmaxpairwise similarity 映射到概率空间,即:

    其中: 为节点 input representation 为节点 output representation

    不幸的是,上式分母的计算量很大。为此,人们提出了噪声对比估计 noise-contrastive estimation: NCE 作为上式的松弛 relaxationNCE 将节点共现 pair 的概率建模为:

    可以看出,这两个概率模型都对应于隐式分解邻接矩阵的某种变换transformation

    为了启发我们的方法,我们简要讨论一些矩阵,先前关于学习社交 representation 的工作就是隐式分解了这些矩阵。具体而言,我们讨论了我们最接近的相关工作 DeepWalk。如 《GraRep: Learning graph representations with global structural information》《Comprehend deepwalk as matrix factorization》 所述,描述由 DeepWalk 执行的隐式矩阵分解的闭式解是可能的。他们推导出了一个带 Hierarchical SoftmaxDeepWalkDeepWalk with Hierarchical Softmax: DWHS) 公式,表明 DeepWalk 正在分解一个矩阵 ,该矩阵包含高达 阶的随机游走转移矩阵 random walk transition matrix 。换句话讲,元素 是从节点 到节点 的、长度不超过 的路径的数量的期望。

    注:这意味着邻接矩阵 0-1 矩阵,即图 为无权图。

    其中:

    • 是计数函数,它统计随机游走中 的共现次数; 统计随机游走中 的出现次数。
    • 为一个one-hot 的行向量,它的第 个元素为 1 、其它元素都为 0
    • 表示选择向量的第 个元素。

7.1.2 多尺度神经矩阵分解

  1. 这里我们介绍用于创建多尺度 network representation 的算法。我们首先描述我们用于捕获不同尺度的 representation 的模型。我们接着讨论一些重点,如搜索策略和优化optimization。最后,我们对一个小型的、真实世界的引文网络进行了案例研究,说明了通过我们方法捕获不同尺度的 network representation

  2. 这里我们在Neural Matrix Factorization 的基础上,正式扩展了先前在社交 representation learning 中的方法,从而显式地建模现实世界网络中表现出的多尺度效应。

    如等式 所示,DeepWalk 隐式分解一个矩阵,该矩阵的元素包含 ,其中 为随机游走的窗口大小。 的每个幂次 都代表不同尺度的网络结构。回想一下, 表示节点 之间的、路径长度为 的路径数量。

    有趣的是,DeepWalk 已经隐式地对多尺度的依赖关系进行了建模。这表明学到的 representation 能够捕获社交网络中节点之间的短距离依赖关系和长距离依赖关系。尽管 DeepWalk 的表达能力足以捕获这些 representation,但是它的多尺度属性有局限性:

    • 不保证多尺度:多尺度 representation 不一定被 DeepWalk 捕获,因为多尺度没有被目标函数显式地保留。事实上,由于 DeepWalk 来自 的条目 entry 总是比来自 )的条目更多,因此它倾向于保持最小尺度(即 的最低幂次)的 representation 。为看清这一点,注意观察给定任何长度为 的随机游走序列,来自 的条目数量最多为 ,而来自 的条目最多为

      当大尺度(即高阶幂次)是网络上机器学习任务的适当 representation 时,这种小尺度bias 是一个根本性的弱点。例如,当对大尺度的图结构相关的特征进行分类时(例如,社交网络上的语言检测),与保留单个 edge 的、更细粒度的 representation 相比,更粗粒度的 representation 可以提供更好的性能。

    • 仅全局 representationDeepWalk 学习了一种全局 representation,它融合了所有可能尺度的网络关系。因此,不同尺度的 representation 是不可能独立地访问的。这是不可取的,因为每个单独的学习任务都需要从全局 representation 中解码相关尺度的相似度信息similarity information 。实际上,社交关系的理想 representation 将跨越多个尺度,每个尺度依次捕获更大范围的潜在社区成员关系community membership 。然后,每个学习任务都能够利用最佳 level 的社交关系来完成该任务。正如我们将在实验部分中展示的那样,可以通过不同尺度的社交 representation 来最大化每个学习任务的性能。

      比如线性组合或者非线性组合多个尺度的 representation,从而最优化目标任务的性能。

  3. 多尺度随机游走 WALKLETS:基于迄今为止讨论的观察结果,我们提出扩展 DeepWalk 引入的模型从而显式地建模多尺度依赖关系 multiscale dependency 。我们的方法通过分解邻接矩阵 的幂来操作,使用最近提出的算法来学习 representation

    DeepWalk 类似,我们通过从每个节点开始的一系列截断的随机游走 truncated random walk 从而对网络进行建模。正如 DeepWalk 中所讨论的,这些截断的随机游走中两个顶点的共现可以建模网络中的扩散速度diffusion rate 。然而,我们对采样程序进行了更关键的修改。具体而言,我们选择跳过随机游走中的一些节点。通过这种方式,我们形成了一组关系 relationship,这些关系是从 的连续的、更高的幂次中采样到的。我们用 来表示从邻接矩阵的幂次 导出的 WALKLETS

    的每个不同幂次都构成了一个语料库,这一系列 个语料库分别对网络中的特定距离依赖性specific distance dependency 进行建模。采样过程如下图所示,其中不同颜色代表不同的 值采样的edge (意味着原始图中距离为 的路径)。

    在根据尺度采样的关系进行分区之后,我们对观察样本顶点 和顶点 之间的概率进行建模。这意味着以下目标函数可以学习每个节点 representation

    其中 为尺度 生成的随机游走 pair 构成的语料库。

    寻求最大化 和上下文节点 共现的对数似然。这个目标通常称作 SkipGram,在 《Efficient estimation of word representations in vector space》 中首次被提出从而用于语言建模,并在 DeepWalk 中首次扩展到network representation learning

    • 损失函数优化:我们使用具有随机梯度下降的标准反向传播算法优化上述损失函数。除非另有说明,我们使用默认的学习率 0.025、默认的 embedding size

      这可以很容易地扩展到加权图(通过调整与权重成比例的梯度),边采样技术(在 LINE 中被提出)也可以适用于我们的方法。

    • 隐式矩阵分解的视角:通过以这种方式采样,我们可以表明我们学习了不同尺度的 representation。在 skipped random walk 上使用 DeepWalk,其中 skip factor 设置为 (我们对彼此距离为 的节点进行采样),我们隐式地考虑了从 派生的矩阵。

      WALKLETS 必须预先计算每个顶点 的、距离为 的顶点集合。论文的方法是:在常规的随机游走过程中,连续跳过 个随机游走。另一种简单的方法是计算 ,但是计算复杂度太高。

      观察到在 skip factorskipped random walk 中,每个连续的 node pair 都可以通过长度刚好为 的路径到达,因此它代表从 采样的边。当我们为 DeepWalk 提供的随机游走中,当前后节点之间的距离为 时,在 中仅有 对应的项存在。因此,我们隐式地分解从 派生的矩阵。

    • 搜索策略:DeepWalkLINEnode2vec 分别提出不同的搜索策略,从而根据图中的边生成不同的社交关系。广度优先策略从源节点依次扩展并检查其所有邻居,这对于局部邻居而言效果很好,但是随着更高 level 的扩展(即邻居的邻居)而面临状态空间爆炸state space explosion 。深度优先策略使用随机游走,它编码更远距离的信息,可能更适合学习更高阶的 network representation

      我们的方法通过随机游走采样random walk sampling 来观察多尺度关系,我们认为这将更具有可扩展性。值得一提的是,由于 node2vec 引入了一种有偏的随机游走方案,可以视为是对 DeepWalk 的扩展,我们的 skipping 算法也可以应用于 node2vec 生成的随机游走。

      另一种搜索策略(可能适用于较小的图)是直接计算 (即任何一对节点之间的路径距离为 ),并使用它来采样节点 pair

  4. 案例研究 Cora:为了说明 network representation 在多尺度上的影响,我们可视化了一个小的引用网络 Cora,它有 2708 个节点、5429 条边。下图展示了从特定节点() 到每个其它节点的社交 representation 的距离的直方图。当我们依次检查更深层的社交 representation 时,我们看到随着尺度的加大,越来越多的节点(如箭头标识)靠近 。这些节点是 所属的、更大的论文社区的一部分,具体而言是遗传算法领域。如果我们在 Cora 中进行分类任务,网络结构的这种清晰可分离clear separation 可以导致更容易的泛化。

    下图也说明了这种现象,该图展示了覆盖在原始网络结构上的、到节点 (如箭头标识)距离的热力图(经过 t-SNE 二维可视化)。距离越近颜色越红、距离越远颜色越蓝。注意不同尺度的网络 representation 的距离如何编码连续的、更大社区的成员关系。

7.2 实验

  1. 这里我们将我们的方法应用于几个在线社交网络,从而实验性地分析我们的方法。具体而言,我们的实验有两个主要目标:首先,我们试图描述不同现实世界社交网络中表现出的各种多尺度效应。其次,我们评估了我们的方法在捕获底层网络结构方面的效果。

  2. 数据集:

    • BlogCatalog:该数据集包含 BlogCatalog 网站上博主之间的社交关系,标签代表通过元数据推断出来的博主兴趣类别。网络包含 10312 个顶点、333983 条边、39 种不同标签。
    • DBLP Network:该数据集包含学者之间的论文合作关系。每个顶点代表一个作者,边代表一个作者对另一位作者的引用次数,标签代表学者的研究领域。网络包含 29199 个顶点、133664 条边、4 种不同标签。
    • Flickr 数据集:Flickr网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。网络包含 80513 个顶点、58999882 条边、195 种不同标签。
    • YouTube 数据集:YouTube 网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。网络包含 1138499 个顶点、2990443 条边、47 种不同标签。
  3. 由于我们的方法以无监督的方式学习社交网络中节点的潜在 representation,因此这些 representation 通常应该作为各种学习任务的有用特征。因此,我们在社交网络的多标签分类multi-label classification 任务上评估我们的方法。这项任务的动机是:观察到网络中的节点隶属于多个社区成员。例如,社交网络中的人是多个圈子(家庭、学校、公司、共同爱好)的成员。对这些不同的社区成员进行建模和预测,不仅对于理解现实世界的网络至关重要,而且还有几个重要的商业应用(例如更有效的广告 targeting )。

  4. baseline 方法:我们考虑三个最近提出的、代表 state-of-the-art 的社交 representation learning 模型。

    • DeepWalk:该方法使用截断的随机游走序列来学习顶点的representation ,学到的representation 捕获了多尺度社区成员关系的线性组合。
    • LINE:类似于 DeepWalk,该方法使用 SkipGram 目标函数学习节点 representation。但是这里我们仅仅 LINE 1st 方法,它只考虑
    • GraRep:该方法通过显式的计算 并执行 SVD 分解来产生多尺度的representation 。本质上该方法和 WALKLET 是类似的,但是它不是在线学习方法,且无法扩展到大型网络。
  5. 任务配置:我们使用 DeepWalk 中描述的相同实验程序来评估我们的方法。我们随机抽取标记节点的 比例,并将它们作为训练数据,剩余部分作为测试数据。这个过程重复 10 次,然后报告平均 MICRO-F1 得分。我们不包括其它评估指标(如准确率和 MACRO-F1 )的结果,因为这些指标都遵循相同的趋势。这使得我们能够轻松地将我们的方法和其它相关 baseline 进行比较。

    在所有情况下,我们都会学习一个逻辑回归分类模型(基于 one vs rest 策略)。我们使用 的默认 L2 正则化系数,并使用由 Liblinear 实现的优化算法。

    • 对于 WALKLETS ,我们仅使用尺度为 {1, 2, 3} 的随机游走生成的 representation

    • 在所有情况下,每个节点开始的随机游走数量为 1000,每条随机游走序列的长度为 11 。在所有情况下, embedding size 。这些设置也用于 baseline

    • 在多尺度 representation 的情况下,我们拼接所有多个尺度的特征并使用 PCA 将它们投影到 128 维。

      PCA 本质上是线性映射,因此这里是将多尺度 representation 进行线性组合。

    通过这些方法,我们可以控制训练数据大小的差异、以及超参数的差异,这些超参数控制了 representation 的容量 capacity 。这允许我们与其它方法和 baseline 进行可解释的比较。

  6. 实验结果:下表显示了我们算法的性能相对于其它两种 baseline (即 DeepWalkLINE )的增益。我们没有比较 GraRep,因为它不是在线算法,也无法扩展到大型图(如 FlickrYoutube )。

    • BlogCatalog:下表显示了 BlogCatalog 上多标签分类的结果。我们观察到使用 特征的 WALKLETSMicro-F1 上优于所有 baseline。当标记数据稀疏时(仅 10% 的节点被标记),Micro-F1 的差异在 0.001 水平上具有统计意义(比 DeepWalk 提升 8.9%,比 LINE 提升 58.4%)。我们在 10 次不同运行上使用 paired t-test 来得到统计显著性 statistical significance

    • DBLPDBLP 的实验结果如下表所示。我们注意到,与 DeepWalkLINE 相比,representationMicro-F1 上提供了统计上的显著提升。在标记节点为 1% 的情况下,WALKLETS) 相对于 DeepWalkLINE 的增益分别为 10.1%34.3%。这些更粗的 representation 为作者发表的主题领域提供了更好的编码。

      然而,我们注意到,在这项任务中 WALKLETS 未能超越 GraRep 学到的多尺度 representation 。我们将此归因于 DBLP 表现良好的事实。

      • 首先,它表现出高度同质化的行为,因为 co-authorship 保证了相似的属性(两位作者之间的共同出版物必须在同一个研究领域)。
      • 其次,图中的 co-authorship 边表明高度相似性(更难创建虚假的边)。

      当这些条件成立时,GraRep 对随机游走转移矩阵的直接计算可以产生很高的性能增益。然而,我们注意到 GraRep 的技术需要处理一个稠密矩阵,这本质上是不可扩展 unscalable 的。

    • Flickr:下表显示了 Flickr 数据集的结果。在这个数据集上,我们看到 派生的特征在 Micro-F1 指标上提供了最佳性能,显著优于所有 baseline。具体而言,我们观察到,当只有 1% 数据被标记为训练数据时,WALKLETSMicro-F1 分数上比 DeepWalk4.1%、比 LINE29.6%

      我们注意到,最具竞争力的 baseline GraRep 由于内存不足而无法在该数据集(仅 80513 个顶点)上运行。相反,我们的方法可以轻易地处理如此大型的网络,同时产生有竞争力的结果。

    • YouTubeYouTube 的结果如下表所示。再一次地,我们的方法优于所有 baseline 方法。有趣的是,组合的 representation 提供了最佳性能,在 p=0.05 水平上显著优于 DeepWalkLINE

      YouTube 包含更多的顶点,因此 GraRep 再次耗尽内存也就不足为奇了。我们注意到 WALKLETS 的在线设置允许学习具有数百万个顶点的图的 representation

  7. 分类任务中的多尺度效应:前面的实验结果表明,没有哪个单一尺度的 representation 在所有任务上都取得最佳性能。我们可以显式地提供各尺度的 representation ,从而解决其它 baseline 方法未能在多个尺度上显式编码信息的共同限制。

    Micro-F1 指标上, 的特征在两个图(BlogCatalog, Flickr )上的所有训练数据变体(包括不同训练集比例)中表现最好。这表明长度为 2 的路径是合适的社交依赖性,从而建模共享的用户兴趣。在 中捕获的 neighbor-of-neighbor 信息对于处理缺失信息missing information 的网络而言特别有用。发生这种情况的一个重要 case 是冷启动问题,其中一个节点刚刚加入网络并且还没有机会进行所有的连接。

    有趣的是,从 派生的 representation 分别在 DBLPYouTube 上提供了最佳的任务性能。在这些图上,分类性能随着representation 尺度的增加而单调增加。我们可以推测:这些图中的分类任务确实表现出层次结构 hierarchical structure ,并且通过我们的方法创建的 、distinct 的高阶 representation 允许利用图的层次结构和任务标签之间的相关性。

    我们在此强调:WALKLETS 显式地对社交网络中存在的多尺度效应进行建模,从而能够全面分析哪些尺度能够对给定学习任务提供最多的信息。而这是其它的一些方法无法实现的,例如 DeepWalkLINE 使用全局的 representation

    GraRep 也能够分析各个尺度,但是它无法扩展到大型图。

  8. 可扩展性:WALKLETS 是一种在线算法,它对从图中以不同依赖性水平 dependency level 采样的顶点进行操作。这种在线方法使用采样 sampling 来逼近高阶的转移矩阵 ransition matrix ,这允许扩展到具有数百万个顶点的大型图。这和最接近的相关方法 GraRep 形成鲜明对比, GraRep 需要操作稠密矩阵(如果图是连通的并且 edge 分布遵从幂律分布,那么随着 的增加, 会迅速失去稀疏性)。GraRep 需要计算转移矩阵的连续幂,并且进一步需要显式计算 SVD,这些都无法扩展到大型网络。

  9. 采样分析:这里我们通过将我们的方法和 GraRep 进行的显式和精确计算进行比较,从而分析我们提出的随机游走采样程序的有效性。给定一个图 ,我们使用 GraRep 显式计算它分解的矩阵 。然后,我们使用 WALKLETS 用到的随机游走来估计 WALKLETS 要分解的矩阵 。我们通过 来估计我们的近似值和精确值之间的接近程度。随机游走的超参数如前所述。

    我们在 DBLPBlogCatlog 数据集上评估了 Err 的平均误差,结果表明:两个图上的多尺度随机游走足以逼近显式计算的转移矩阵。我们观察到我们的近似值在各个尺度上的平均误差和标准差都很低,这表明我们的方法捕获了随机游走转移矩阵的合理近似值。增加 sample size (通过增加更多的随机游走)将导致越来越好的近似值。

八、SDNE[2016]

  1. 如今,网络无处不在,并且许多现实世界的 application 需要挖掘这些网络中的信息。例如,Twitter 中的推荐系统旨在从社交网络中挖掘用户偏好的推文,在线广告 targeting 通常需要将社交网络中的用户聚类到某些社区。因此,挖掘网络中的信息非常重要。这里的一个基本问题是:如何学习有用的 network representation

    一种有效的方法是将网络嵌入到低维空间中,即学习每个顶点的 vector representation ,目的是在学到的 embedding 空间中重建网络。因此,网络中的信息挖掘,如信息检索information retrieval 、分类classification、聚类clustering ,都可以直接在低维空间中进行。

    学习 network representation 面临以下巨大挑战:

    • 高度非线性:网络的底层结构是高度非线性的,因此如何设计一个模型来捕获高度非线性的结构是相当困难的。
    • 结构保持structure-preserving:为了支持分析网络的 application,需要 network embedding 能够保持网络结构。然而,网络的底层结构非常复杂。顶点的相似性取决于局部网络结构 local network structure 和全局网络结构global network structure 。因此,如何同时保持局部结构和全局结构是一个棘手的问题。
    • 稀疏性:许多现实世界的网络通常非常稀疏,以至于仅利用非常有限观察到的链接不足以达到令人满意的性能。

    在过去的几十年中,人们已经提出了许多浅层模型的 network embedding 方法,如 IsoMapLaplacian Eigenmaps: LELINE 。然而,由于浅层模型的表达能力有限,它们很难捕获到高度非线性的网络结构。尽管一些方法采用了核技巧kernel technique,但是核方法也是浅层模型,也无法很好地捕获高度非线性的结构。为了很好地捕获高度非线性的结构,在论文《Structural Deep Network Embedding》 中,作者提出了一种新的深度模型来学习网络的vertex representation 。这是由深度学习最近的成功所推动的。深度学习已经被证明具有强大的表达能力来学习数据的复杂结构,并在处理图像数据、文本数据、音频数据方面取得了巨大成功。具体而言,在论文提出的模型中,作者设计了一个由多个非线性函数组成的多层架构。多层非线性函数的组合可以将数据映射到高度非线性的潜在空间中,从而能够捕获到高度非线性的网络结构。

    为了解决深度模型中的结构保持、以及稀疏性问题,作者进一步提出在学习过程中联合利用一阶邻近性 first-order proximity 和二阶邻近性 second-order proximity 。一阶邻近性是仅在由edge 连接的顶点之间的局部 pairwise 相似性,它刻画了局部网络结构。然而,由于网络的稀疏性,许多合法的链接(即未观测到的链接)发生缺失 missing ,结果导致一阶邻近性不足以表达网络结构。因此,作者进一步提出二阶邻近性来表示顶点邻域结构的相似性,从而捕获全局网络结构。通过一阶邻近性和二阶邻近性,我们可以分别很好地刻画局部网络结构和全局网络结构。

    顶点邻域也是一种局部网络结构,并不是全局网络结构。只是顶点邻域的 “ 局部” 要比顶点 pairwise 的范围更大。

    为了在深度模型中同时保留局部网络结构和全局网络结构,论文提出了一种半监督架构,其中无监督组件unsupervised component重建二阶邻近性从而保留全局网络结构,而监督组件 supervised component 利用一阶邻近性作为监督信息从而保留局部网络结构。因此,学到的 representation 可以很好地保留局部网络结构和全局网络结构。此外,如下图所示,具有二阶邻近性的 vertex pair 的数量,要比具有一阶邻近性的 vertex pair 的数量要多得多。因此,二阶邻近性的引入能够在刻画网络结构方面提供更多的信息。因此,论文的方法对稀疏网络具有鲁棒性。

    论文在五个真实世界的网络数据集和四个真实世界的 application 上进行了实验。结果表明:和 baseline 相比,论文方法生成的 representation 可以显著更好地重建原始网络,并在各种任务和各种网络(包括非常稀疏的网络)上取得相当大的收益。这表明 SDNE 在高度非线性空间中学到的 representation 可以很好地保持网络结构,并且对稀疏网络具有鲁棒性。

    综上所述,论文的贡献如下:

    • 论文提出了一种 Structural Deep Network Embedding 方法(即 SDNE)来执行 network embedding 。该方法能够将数据映射到高度非线性的潜在空间从而保留网络结构,并且对稀疏网络具有鲁棒性。据作者所知,他们是最早使用 deep learning 来学习 network representation 的人之一。
    • 论文提出了一种新的、具有半监督架构的深度模型,它同时优化了一阶邻近性和二阶邻近性。结果,学到的 representation 同时保留了局部网络结构和全局网络结构,并且对稀疏网络具有鲁棒性。
    • 作者在五个真实数据集和四个应用场景上广泛评估了 SDNE 方法。结果证明了该方法在多标签分类、网络重建、链接预测、可视化等方面的优异性能。具体而言,当标记数据稀缺时,论文的方法相比 baseline 得到显著提升(20%)。
  2. 相关工作:

    • Deep Neural Network: DNNrepresentation learning 长期以来一直是机器学习的一个重要问题,许多工作旨在学习样本的 representation 。深度神经网络的最新进展见证了它们具有强大的表达能力,并且可以为多种类型的数据生成非常有用的 representation 。例如 《Imagenet classification with deep convolutional neural networks》 提出了一个七层卷积神经网络来生成 representation 从而用于图像分类。

      然而,据我们所知,处理 networkdeep learning 工作很少,尤其是学习 network representation《A non-iid framework for collaborative filtering with restricted boltzmann machines》 采用受限玻尔兹曼机进行协同过滤,《Learning deep representations for graph clustering》 采用深度自编码器进行 graph clustering《Heterogeneous network embedding via deep architectures》 提出了一种异质深度模型来进行异质数据的 embedding 。我们在两个方面与这些工作不同:

      • 首先,目标不同。我们的工作重点是学习低维的、结构保留的 representation,从而可以在各种下游任务之间使用。
      • 其次,我们同时考虑顶点之间的一阶邻近性和二阶邻近性,从而同时保留局部网络结构和全局网络结构。但是他们仅关注单个阶次的信息。
    • Network Embedding:我们的工作是解决 network embedding 问题,旨在学习网络的 representation

      一些早期的工作,如 Local Linear Embedding: LLEIsoMAP 首先基于特征向量 feature vector 构建 affinity graph ,然后将主要的特征向量 leading eigenvector 作为 network representation

      最近,LINE 设计了两个损失函数,试图分别捕获局部网络结构和全局网络结构。此外,GraRep 将工作扩展到利用高阶信息。尽管这些 network embedding 方法取得了成功,但是它们都采用了浅层模型。正如我们之前所解释的,浅层模型很难有效地捕获到底层网络中的高度非线性结构。此外,尽管他们中的一些人尝试使用一阶邻近性和高阶邻近性来保留局部网络结构和全局网络结构,但是他们分别独立地学习保留局部结构的 representation 和保留全局结构的 representation 并简单地拼接起来。显然,与在统一框架中同时建模并捕获局部网络结构和全局网络结构相比,他们的做法是次优的。

      DeepWalk 结合了随机游走和 SkipGram 来学习 network representation 。尽管在经验上是有效的,但是它缺乏明确的目标函数来阐明如何保持网络结构。它倾向于仅保留二阶邻近性。然而,我们的方法设计了一个明确的目标函数,旨在通过同时保留一阶邻近性和二阶邻近性,从而同时保留局部结构和全局结构。

8.1 模型

  1. 这里我们首先定义问题,然后介绍 SDNE 半监督深度模型,最后对模型进行一些分析和讨论。

8.1.1 问题定义

  1. 定义图 ,其中 为顶点集合, 为边集合。边 关联一个权重 。如果顶点 之间不存在链接,则 ,如果存在链接则对于无权图 、对于带权图

    network embedding 旨在将 graph data 映射到一个低维的潜在空间中,其中每个顶点都表示为一个低维向量。正如我们前面所解释的,局部结构和全局结构都必须同时被保留。接下来我们定义一阶邻近性,它刻画了局部网络结构。

  2. 一阶邻近性First-Order Proximity :一阶邻近性描述了顶点之间的 pairwise 邻近性。给定任何一对顶点 ,如果 ,则 之间存在正的一阶邻近性;否则 之间的一阶邻近性为零。

    自然地,network embedding 有必要保持一阶邻近性,因为这意味着:如果现实世界网络中的两个顶点存在链接,那么它们总是相似的。例如,如果一篇论文引用了另一篇论文,那么它们应该包含一些共同的主题。然而,现实世界的数据集通常非常稀疏,以至于观察到的链接仅占一小部分。存在许多彼此相似、但是不被任何 edge 链接的顶点。因此,仅捕获一阶邻近性是不够的,因此我们引入二阶邻近性来捕获全局网络结构。

  3. 二阶邻近性Second-Order Proximity:一对顶点之间的二阶邻近性描述了它们邻域结构neighborhood structure 的邻近性。令 为顶点 和其它所有顶点的一阶邻近性,那么顶点 的二阶邻近性由 的相似性来决定。

    直观地讲,二阶邻近性假设:如果两个顶点共享许多共同的邻居common neighbor ,那么这两个顶点往往是相似的。这个假设已经在许多领域被证明是合理的。例如,在语言学中,如果两个单词总是被相似的上下文包围,那么这两个单词将是相似的(《Context and contextual word meaning》)。如果两个人之间有很多共同的好友,那么这两个人就会成为朋友(《Structure of growing social networks》)。二阶邻近性已经被证明是定义顶点相似性的一个很好的指标,即使这对顶点之间不存在链接,因此可以高度丰富顶点之间的关系。因此,通过引入二阶邻近性,我们能够刻画全局网络结构并缓解数据稀疏问题。

    通过一阶邻近性和二阶邻近性,我们研究了如何在执行 network embedding 时集成二者,从而同时保持局部结构和全局结构。

  4. Network Embedding:给定图 network embedding 旨在学习映射函数 ,其中 embedding 维度。该映射函数的目标是使得 之间的相似性显式地、同时地保留 的一阶邻近性和二阶邻近性。

8.1.2 SDNE 模型

  1. 在本文中,我们提出了一种半监督深度模型来执行 network embedding,其整体框架如下图所示。

    具体而言,为了捕获高度非线性的网络结构,我们提出了一种由多个非线性映射函数组成的深度架构,它将输入数据映射到高度非线性的潜在空间中从而捕获网络结构。此外,为了解决结构保持structure-preserving 问题和稀疏性问题,我们提出了一个半监督模型来同时利用二阶邻近性和一阶邻近性。

    • 对于每个顶点,我们能够获取它的邻域。因此,我们设计了无监督组件unsupervised component ,通过重建每个顶点的邻域结构来保持二阶邻近性。
    • 同时,对于部分顶点 pair 对(因为并不是所有顶点pair 对之间都存在边),我们可以获得它们的成对相似性,即一阶邻近性。因此,我们设计监督组件supervised component ,从而利用一阶邻近性作为监督信息来 refine 潜在空间中的 representation

    通过在所提出的半监督深度模型中联合优化无监督组件和监督组件,SDNE 可以很好地保持高度非线性的局部网络结构和全局网络结构,并且对稀疏网络具有鲁棒性。接下来我们将详细介绍如何实现半监督深度模型。

  2. 我们首先描述无监督组件如何利用二阶邻近性来保持全局网络结构。二阶邻近性是指一对顶点的邻域结构有多么相似。因此,为了对二阶邻近性进行建模,首先需要建模每个顶点的邻域。给定一个网络 ,我们可以获得它的邻接矩阵 ,它包含 个实例 instance 。每个实例 描述了顶点 的邻域结构,因此 提供了每个顶点的邻域结构信息。利用 ,我们扩展了传统的深度自编码器 deep autoencoder 从而保持二阶邻近性。

    这里我们简要回顾深度自编码器的关键思想。深度自编码器是一个无监督模型,它由编码器 encoder 和解码器 decoder 两部分组成。编码器由多个非线性函数组成,它将输入数据映射到 representation 空间。解码器也由多个非线性函数组成,它将 representation 空间中的 representation 映射到重建空间 reconstruction space 。然后,给定输入 ,每一层的 hidden representation 如下所示:

    其中:

    • 为非线性激活函数。
    • 为编码器第 层的权重参数矩阵, 为编码器第 层的 bias 参数向量。
    • 为编码器第 层的 hidden representation 为编码器的层数。

    得到 之后,我们可以通过编码器的逆过程(即解码器)得到输出 。自编码器的目标是最小化输出和输入的重建误差 reconstruction error 。损失函数如下所示:

    正如 《Semantic hashing》 所证明的,尽管最小化重建损失reconstruction loss 并不能显式保留样本之间的相似性,但是重建准则 reconstruction criterion 可以平滑地捕获数据流形data manifold,从而保留样本之间的相似性。

    然后考虑我们的情况,如果我们使用邻接矩阵 作为自编码器的输入,即 ,由于每个实例 都刻画了顶点 的邻域结构,因此重建过程将使具有相似邻域结构的顶点具有相似的潜在 representation

    如果网络规模较大,比如一千万个顶点,则 的维度高达千万维,这对于深度自编码器是一个严重的挑战。

    然而,由于网络的某些特定属性,这种重建过程不能直接应用于我们的问题。

    • 在网络中,我们可以观察到一些链接,但同时无法观察到许多合法链接legitimate link(即理论上应该存在但是由于各种原因导致观察缺失),这意味着:顶点之间观察到链接确实表明顶点的相似性similarity ,但是没有观察到链接不一定表明顶点的不相似性 dissimilarity
    • 此外,由于网络的稀疏性, 中非零元素的数量远远少于零元素的数量。那么,如果我们直接使用 作为传统自编码器的输入,那么更容易重构 中的零元素。然而,这不是我们想要的。

    为了解决这两个问题,我们对非零元素的重构误差施加了比零元素更大的惩罚。修改后的目标函数为:

    一方面,对零元素的重建损失施加更小的惩罚,从而放松零元素的重建损失。另一方面,对非零元素的重建损失施加更大的惩罚,从而收紧非零元素的重建损失。

    其中:

    • 表示 Hadamard 积(逐元素乘积)。
    • 表示每个元素的惩罚系数。当 ;当 按行组成。
    • 按行组成, 按行组成。

    现在通过使用以邻接矩阵 作为输入的、修正后的深度自编码器,具有相似邻域结构的顶点将被映射到 representation 空间相近的位置,这将由重建准则reconstruction criterion 所保证。换句话讲,我们模型的无监督组件 unsupervised component 可以通过重建顶点之间的二阶邻近性来保留全局网络结构。

  3. 如前所述,我们不仅需要保留全局网络结构,还必须捕获局部网络结构。我们使用一阶邻近性来表示局部网络结构。一阶邻近性可以视为监督信息,从而约束一对顶点之间潜在 representation 的相似性。因此,我们设计了监督组件 supervised component 来利用一阶邻近性。这个监督组件的损失函数定义为:

    该损失函数借鉴了 Laplacian Eigenmaps 的思想,即相似的顶点映射到 embedding 空间中很远的地方时会产生惩罚。我们将这个思想融入到深度模型中,从而使得观察到链接的顶点映射到 embedding 空间中相近的位置。结果,该模型保留了一阶邻近性。

    但是 “不相似” 的顶点映射到 embedding 空间中很近的地方时不会产生惩罚。这在 network embedding 中是合理的,因为网络中未观察到链接的顶点之间可能是相似的,未观察到链接是因为链接缺失 missing

  4. 为了同时保持一阶邻近性和二阶邻近性,我们提出了一个半监督模型,它结合了 并联合最小化了以下目标函数:

    其中:

    • 为一个 L2 正则化项,用于防止过拟合:

    • 为超参数,用于平衡各部分损失之间的重要性。

    换个角度来看,这是一个多任务学习,主任务为保持一阶邻近性的监督学习任务,辅助任务为保持二阶邻近性的无监督学习任务。

  5. 为了优化上述损失函数,我们采用随机梯度下降stochastic gradient descent: SGD 来求解。注意,由于模型的高度非线性,它在参数空间中存在许多局部最优解。因此,为了找到一个好的参数区域,我们首先使用深度信念网络 Deep Belief Network 对参数进行预训练,这在 《Why does unsupervised pre-training help deep learning?》 中已被证明是深度学习参数的基础初始化方法。

8.1.3 分析和讨论

  1. 这里我们对提出的 SDNE 半监督深度模型进行一些分析和讨论。

  2. 新顶点:network embedding 的一个实际问题是如何学习新顶点的 representation。对于一个新的顶点 ,如果它和现有顶点的链接已知,那么我们可以得到它的邻接向量 ,其中 表示新顶点 和现有顶点 之间的边权重。然后我们可以简单地将 输入到我们的深度模型中,并使用经过训练的参数来获取 representation 。这一过程的复杂度是

    这里直接使用训练好的模型来推断,而没有继续训练的过程。

    如果 和现有顶点之间都不存在链接,那么我们的方法和其它 state-of-the-artnetwork embedding 方法都无法处理。为了处理这种情况,我们可以求助于其它辅助信息,如顶点的内容特征,我们将其留待未来的工作。

  3. 训练复杂度:不难看出我们模型的训练复杂度为 ,其中: 为顶点数量, 为隐层的最大维度, 为网络的average degree 为迭代的次数。

    超参数 通常与 embedding 向量的维度有关,但是与顶点数量无关。超参数 也独立于顶点数量。对于超参数 ,在实际应用中通常可以视为一个常数,例如在社交网络中,一个人的最大朋友数量总是有界的。因此, 无关,因此整体的训练复杂度与网络中的顶点数量成线性关系。

8.2 实验

  1. 这里我们在几个真实世界的数据集和 application 上评估我们提出的方法。实验结果表明我们的方法比 baseline 有显著提升。

  2. 数据集:为了全面评估 representation 的有效性,我们使用了五个网络数据集,包括三个社交网络social network 、一个引文网络citation network 、一个语言网络language network ,并用于三个实际 application ,即多标签分类任务、链接预测任务、可视化任务。考虑到这些数据集的特性,对于每个 application,我们使用一个或多个数据集来评估性能。

    • 社交网络数据集 BLOGCATALOG, FLICKR, YOUTUBE:它们是在线用户的社交网络,每个用户至少标记为一种类别。

      • BlogCatalog:该数据集包含 BlogCatalog 网站上博主之间的社交关系,标签代表通过元数据推断出来的博主兴趣。网络包含 39 种不同标签。
      • Flickr 数据集:Flickr网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。网络包含195 种不同标签。
      • YouTube 数据集:YouTube 网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。网络包含 47 种不同标签。

      这些标签类别可以用作每个顶点的真实 label,因此它们可以在多标签分类任务上进行评估。

    • ARXIV GR-QC 数据集:这是一个论文协同网络 paper collaboration network, 包括了 arXiv 上广义相对论General Relativity 和量子力学 Quantum Cosmology 领域的论文。每个顶点代表一个作者,边代表两个作者共同撰写了论文。因为我们没有顶点类别信息,因此该数据集用于链接预测任务。

    • 20-NEWSGROUP :该数据集包含两万个新闻组文档,每篇文档都标记为 20 个类别之一。我们用单词的 tf-idf 向量表示文档,用余弦相似度表示文档之间的相似性。我们可以根据这样的相似性来构建网络,网络中每个顶点代表一篇文档,边代表文档之间的相似性。

      我们选择以下三类标签的文档来执行可视化任务:comp.graphics, rec.sport.baseball, talk.politics.gums

    总而言之,这些数据集分别代表了加权图/无权图、稀疏图/稠密图、小型图/大型图。因此,数据集可以全面反映 network embedding 方法的特点。数据集的相似统计如下表:

  3. baseline 方法:我们使用以下五种方法作为 baseline。前四种是 network embedding 方法,最后一种 Common Neighbor 直接预测网络上的链接。Common Neighbor 已被证明是执行链接预测的有效方法。

    • DeepWalk:使用截断的随机游走和 SkipGram 模型来生成network representation
    • LINE:分别定义损失函数来保留一阶邻近性和二阶邻近性。在优化损失函数之后,它将一阶邻近性 representation 和二阶邻近性 representation 拼接起来 。
    • GraRep:扩展到高阶邻近性并基于 SVD 分解来求解模型。它也是拼接了一阶邻近性 representation 和高阶邻近性 representation 作为最终的 representation
    • Laplacian Eigenmaps:通过分解邻接矩阵的拉普拉斯矩阵来生成 network representation ,它仅仅保留了网络的一阶邻近性。
    • Common Neighbor:它仅使用共同邻居的数量来衡量顶点之间的相似性。该方法仅在链接预测任务中作为baseline 方法。
  4. 评估指标:在我们的实验中,我们分别执行重建任务、链接预测任务、多标签分类任务、可视化任务。

    对于重建和链接预测,我们使用 precision@kMean Average Precision: MAP 来评估性能。它们的定义如下:

    • precision@k

      其中: 为顶点集合; 为预测结果中顶点 在所有顶点预测结果中排名,得分越高排名越靠前; 表示顶点 中确实存在边。

      该指标的物理意义为:预测结果的 top k 顶点中,和顶点 真实存在边的顶点比例。

    • Mean Average Precision: MAP:和 precision@k 相比,MAP 更关注排名靠前的结果的表现。其计算公式为:

    对于多标签分类任务,我们采用 micro-F1macro-F1 指标。

    • macro-F1:给每个类别相等的权重,其定义为:

      其中: 为所有类别的取值空间集合, 为类别 F1 指标。

    • micro-F1:给每个样本相等的权重,其定义为:

      其中: 为所有类别的取值空间集合, 为类别 true positive 为类别 false positive 为类别 false negative

  5. 参数配置:我们在本文中提出了一种多层深度结构multi-layer deep structure ,层数随着数据集的不同而变化。每一层的维度如下表所示。BLOGCATALOG, ARXIV GR-QC, 20-NEWSGROUP 数据集为三层结构,FLICKR, YOUTUBE 数据集为四层结构。如果我们使用更深的模型,则性能几乎保持不变甚至变得更差。

    • 对于我们的方法,超参数 是通过在验证集上使用网格搜索来调优的。baseline 的超参数也被调优为最佳值。
    • 随机梯度下降的 mini-batch size 设为 1 。学习率的初始值设为 0.025。每个正样本采样的负样本数量设为 5,样本总数为 100 亿(包括负采样的)。
    • 此外,根据 LINE 的原始论文,当拼接 1-step representation2-step representation 并对最终 embedding 向量执行 L2 归一化时,LINE 会产生更好的结果。我们按照原始论文的方法来获取 LINE 的结果。
    • 对于 DeepWalk,我们将窗口大小设为 10,将 walk length 设为 40,将每个顶点开始的游走数量设为 40
    • 对于 GraRep,我们将最高的转移矩阵阶次设为 5

8.2.1 实验结果

  1. 这里我们首先评估重建性能,然后我们报告不同 embedding 方法生成的 network representation 在三个经典的数据挖掘和机器学习application (即多标签分类、链接预测、可视化)上的泛化结果。

    结果中,最佳性能以粗体突出显示。** 表示 0.01 的统计显著性,* 表示 0.05 的统计显著性(成对的 t-test )。

  2. 网络重建 Network Reconstruction :在继续评估我们的方法在实际 application 中的泛化性能之前,我们首先对不同 network embedding 方法的网络重建能力进行基本的评估。这个实验的原因是:一个良好的 network embedding 方法应该确保学到的 embedding 能够保留原始的网络结构。

    我们使用语言网络 ARXIV GR-QC 和社交网络 BLOGCATALOG 作为代表。给定一个网络,我们使用不同的 network embedding 方法来学习network representation,然后预测原始网络的链接。由于原始网络中的现有链接是已知的并且可以作为 ground-truth,因此我们可以评估不同方法的重建性能,即训练集误差。

    注意:这里的误差是训练误差,而不是测试误差。

    我们使用 precision@kMAP 作为评估指标,实验结果如下图所示。可以看到:

    • SDNE 在两个数据集上 MAP 指标始终超越其它baseline。当 增加时,SDNE 在两个数据集上 precision@k 始终最高。这表明我们的方法(即 SDNE )能够很好地保持网络结构。

      具体而言,在 ARXIV GR-QC 数据集上,一直到 ,我们方法的 precision@k 都可以达到 100% 并保持在 100% 左右。这表明我们的方法几乎可以完美地重建该数据集中的原始网络,特别是考虑到该数据集中的链接总数为 28980

    • 尽管 SDNELINE 都利用了一阶邻近性和二阶邻近性来保留网络结构,但是 SDNE 效果超越了 LINE,原因可能有两个:

      • LINE 采用浅层结构,因此难以捕获底层网络的高度非线性结构。
      • LINE 直接将一阶邻近性 representation 和二阶邻近性 representation 拼接在一起,这比 SDNE 直接联合优化一阶邻近性和二阶邻近性要差。
    • SDNELINE 均优于仅利用一阶邻近性来保持网络结构的 LE,这表明引入二阶邻近性可以更好的保留网络结构。

  3. 多标签分类Multi-label Classification :我们在本实验中通过多标签分类任务来评估不同 network representation 的效果。顶点的 representation 是从 network embedding 方法生成的,然后作为顶点分类任务中的顶点特征。

    具体而言,我们采用 LIBLINEAR package 来训练分类器。在训练分类器时,我们随机抽取一部分标记顶点作为训练集、剩余顶点作为测试集。对于 BLOGCATALOG 我们随机抽取 10%90% 的顶点作为训练集,剩余顶点作为测试集;对于 FLICKR,YOUTUBE 我们随机抽取 1%10% 的顶点作为训练集,剩余顶点作为测试集。另外我们删除 YOUTUBE 中没有任何类别标签的顶点。我们重复这样的过程 5 次并报告平均的 Micro-F1Macro-F1 指标。

    BLOGCATALOG 结果如下:

    FLICKR 结果如下:

    YOUTUBE 结果如下:

    可以看到:

    • SDNE 的效果始终超越baseline 方法,证明SDNE 学到的 network representation 相比 baseline 可以更好地泛化到分类任务中。

    • BLOGCATALOG 数据集中,当训练数据比例从 60% 降低到 10% 时,我们的方法相对于 baseline 的提升幅度更加明显。这表明:当标记数据有限时,我们的方法可以实现比 baseline 更显著的提升。这种优势对现实世界的 application 尤为重要,因为标记数据通常是稀缺的。

    • 大多数情况下, DeepWalk 的效果是所有 network embedding 方法中最差的。这有两个原因:

      • 首先,DeepWalk 没有显式的目标函数来捕获网络结构。
      • 其次,DeepWalk 使用随机游走来产生顶点的邻居。由于随机性这会引入很多噪音,尤其对于 degree 很高的顶点。
  4. 链接预测Link Prediction :在这里我们聚焦于链接预测任务并进行两个实验:第一个实验评估整体性能,第二个实验评估网络的不同稀疏性如何影响不同方法的性能。

    我们在这里使用数据集 ARXIV GR-QC。为了在网络中进行链接预测任务,我们随机隐藏一部分现有链接并使用剩余网络来训练 network embedding 模型。训练之后,我们可以获得每个顶点的 representation,然后使用获得的 representation 来预测未观察到的链接。与重建任务不同(预测训练期间已知的链接),该任务预测训练期间未知的链接,而不是重建现有的链接。因此,该任务可以展示不同 network embedding 方法的预测能力。此外,我们在该任务中添加了 Common Neighbor 方法,因为它已被证明是进行链接预测的有效方法。

    • 对于第一个实验,我们随机隐藏 15% 的现有链接(大约 4000 个链接),并使用 precision@k 作为预测隐藏链接的评估指标。我们逐渐将 2 增加到 10000,并在下表中报告结果。可以看到:

      • 增加时,SDNE 方法始终优于其它 network embedding 方法。这证明了 SDNE 学到的representation 对于未观察到的链接具有很好的预测能力。
      • 时,SDNEprecision 仍然高于 0.9,而其它方法的 precision 掉到 0.8 以下。这表明 SDNE 对于排名靠前的链接预测的比较准。对于某些实际 application ,如推荐和信息检索,这种优势非常重要。因为这些应用更关心排名靠前的结果是否准确。

    • 在第二个实验中,我们通过随机删除原始网络中的一部分链接来改变网络的稀疏性,然后按照上述流程报告不同 network embedding 方法的结果。结果如下图所示。可以看到:

      • 当网络更稀疏时,LESDNE/LINE 模型之间的差距增大。这表明:二阶邻近性的引入使得学到的representation 对于稀疏网络鲁棒性更好。
      • 当删除 80% 链接时,SDNE 仍然比所有其它方法好。这表明:SDNE 在处理稀疏网络时能力更强。

  5. 可视化 Visualizationnetwork embedding 的另一个重要 application 是在二维空间上生成网络的可视化。因此,我们可视化在 20-NEWSGROUP 网络学到的 representation 。我们使用 t-SNE 工具可视化不同 network embedding 方法学到的低维 network embedding 。结果,每篇文档都被映射到二维空间的一个点,不同类别的文档采用不同颜色:rec.sport.baseball 为蓝色、comp.graphics 为红色、talk.politics.guns 为绿色。因此,一个好的可视化结果是相同颜色的点彼此靠近。可视化结果如下图所示。除了可视化结果,我们还使用 Kullback-Leibler: KL 散度作为定量的评估指标。KL 散度越低,可视化性能越好。

    结论:

    • LEDeepWalk 的效果较差,因为不同类别的顶点彼此混合。
    • LINE 虽然不同类别形成了簇,但是中间部分不同类别的文档依然彼此混合。
    • GraRep 效果更好,但是簇的边界不是很清晰。
    • SND 在簇的分组以及簇的边界上表现最佳。
    • SDNE 方法的 KL 散度最低,定量地证明了我们的方法在可视化任务中的优越性。

8.2.2 参数敏感性

  1. 我们在本节中研究参数敏感性。具体而言,我们评估不同的 embedding 维度 、不同超参数 、不同超参数 值如何影响结果。我们在 ARXIV-GRQC 的数据集上报告 precision@k 指标。

  2. embedding 维度 :我们在下图展示 embedding 维度 如何影响性能。可以看到:

    • 最初,当 embedding 维度增加时效果先提升。这是因为更大的维度可以容纳更多的有效信息。
    • 但是,继续增加 embedding 维度将导致效果缓缓下降。这是因为太大的维度会引入更多的噪音,从而降低性能。

    总体而言 embedding 维度 很重要,但 SDNE 对此超参数不是特别敏感。

  3. 超参数 :超参数 平衡了一阶邻近性损失和二阶邻近性损失的权重,实验结果如下所示。可以看到:

    • 时,模型性能完全取决于二阶邻近性。当 越大,模型越关注一阶邻近性。
    • 或者 时模型性能最佳。这表明:一阶邻近性和二阶邻近性对于刻画网络结构都是必不可少的。

  4. 超参数 :超参数 控制了 中非零元素的重建。我们展示了 的值如何影响性能, 越大模型越倾向于重构非零元素。实验结果如下所示。可以看到:

    • 时效果不佳。因为 表示模型重构 时认为零元素和非零元素都是同样重要的。

      如前所述,虽然两个顶点之间没有链接不一定表示两个顶点不相似,但是两个顶点之间存在链接一定表明两个顶点的相似性。因此非零元素应该比零元素更加重要。所以 在零元素的重构中引入大量噪声,从而降低模型性能。

    • 太大时性能也较差。因为 很大表示模型在重构中几乎忽略了 的零元素,模型倾向于认为每一对顶点之间都存在相似性。事实上 之间的很多零元素都表明顶点之间的不相似。所以 太大将忽略这些不相似,从而降低模型性能。

    这些实验表明:我们应该更多的关注 中非零元素的重构误差,但是也不能完全忽略 中零元素的重构误差。

九、CANE[2017]

  1. network embedding: NE (即 network representation learning: NRL)旨在根据顶点在网络中的结构角色 structural role ,从而将网络的顶点映射到低维空间中。network embedding 提供了一种高效 efficient 且有效 effective 的方法来表达和管理大型网络,缓解了传统基于符号的representation 的计算问题和稀疏性问题。因此,近年来 network embedding 吸引了人们的许多研究兴趣,并在包括链接预测、顶点分类、社区检测在内的许多网络分析任务上取得了可喜的表现。

    在现实世界的社交网络中,一个顶点在与不同的邻居顶点交互时可能表现出不同的方面 aspect,这是很直观的。例如,研究人员通常与各种合作伙伴就不同的研究主题进行合作(如下图所示),社交媒体用户与分享不同兴趣的各种朋友联系,一个网页出于不同目的链接到多个其它网页。然而,现有的大多数 network embedding 方法只为每个顶点安排一个 single embedding 向量,并产生以下两个问题:

    • 这些方法在与不同邻居交互时,无法灵活转换不同的方面aspect

    • 在这些模型中,一个顶点倾向于迫使它的所有邻居之间的 embedding 彼此靠近,但事实上并非一直如此。例如下图中,左侧用户和右侧用户共享较少的共同兴趣,但是由于他们都链接到中间用户,因此被认为彼此接近。因此,这使得顶点 embedding 没有区分性。

      即:“朋友的朋友“ 不一定是朋友。

    为了解决这些问题,论文《CANE: Context-Aware Network Embedding for Relation Modeling》提出了一个 Context-Aware Network Embedding: CANE 框架,用于精确建模顶点之间的关系。更具体而言,论文在信息网络 information network 上应用 CANE。信息网络的每个顶点还包含丰富的外部信息,例如文本text、标签 label、或者其它元数据 meta-data。在这种场景下,上下文的重要性对 network embedding 更为关键。在不失一般性的情况下,论文在基于文本的信息网络中实现了 CANE,但是 CANE 可以很容易地扩展到其它类型的信息网络。

    在传统的 network embedding 模型中,每个顶点都表达为一个静态的 embedding 向量,即 context-free embedding 。相反,CANE 根据与当前顶点交互的不同邻居,从而将动态的 embedding 分配给当前顶点,称为 context-aware embedding 。以一个顶点 为例:当与不同的邻居交互时,context-free embedding 保持不变;而当面对不同的邻居时,context-aware embedding 是动态的。

    CANE 类似于 GAT,其中不同邻域顶点的 attention 权重是不同的。在 CANE 中,注意力权重是 hard 的(0 或者 1);在 GAT 中,注意力权重是 soft 的(01 之间)。

    当顶点 与它的邻居顶点 交互时,它们彼此相关的 context embedding 分别来自它们的文本信息。对于每个顶点,我们可以轻松地使用神经模型neural model ,例如卷积神经网络和循环神经网络来构建 context-free embeddingtext-based embedding 。为了实现 context-aware text-based embedding,论文引入了 selective attention 方案,并在这些神经模型中建立了 之间的互注意力 mutual attentionmutual attention 预期引导神经模型强调那些被相邻顶点 focus 的单词,并最终获得 context-aware embedding。每个顶点的 context-free embeddingcontext-aware embedding 都可以通过使用现有的 network embedding 方法学到(如 DeepWalkLINEnode2vec)并拼接起来。

    论文对不同领域的三个真实数据集进行了实验。与其它 state-of-the-art 方法相比,链接预测的实验结果展示了论文框架的有效性。结果表明,context-aware embedding 对于网络分析至关重要,特别是对于那些涉及顶点之间复杂交互的任务,如链接预测。论文还通过顶点分类和案例研究来探索论文框架的性能,这再次证实了 CANE 模型的灵活性和优越性。

    CANE 在链接预测方面比 state-of-the-art 方法取得了显著的提升,在顶点分类方面与 state-of-the-art 方法的性能相当。

  2. 相关工作:随着大型社交网络的快速增长,network embedding(即 network representation learning)已被提出作为网络分析任务的关键技术。

    近年来,人们已经提出了大量的 network embedding 模型来学习有效的顶点 embedding 。例如:

    • DeepWalk 在网络上执行随机游走,并引入了一种有效的 word representation learning 模型 SkipGram 来学习 network embedding
    • LINE 优化大型网络中 edge 的联合概率和条件概率,从而学习顶点 representation
    • node2vecDeepWalk 中的随机游走策略修改为有偏的随机游走 biased random walk ,从而更有效地探索网络结构。

    然而,这些 network embedding 模型中的大多数仅将结构信息编码为顶点 embedding,而没有考虑现实世界社交网络中伴随顶点的异质信息 heterogeneous information 。为解决这个问题,研究人员努力将异质信息整合到传统的 network embedding 模型中。例如:

    • text-associated Deep-Walk: TADW 使用文本信息改进了基于 DeepWalk 的矩阵分解。
    • max-margin DeepWalk: MMDW 利用顶点的 labeling 信息来学习 network representation
    • group enhanced network embedding: GENE 整合了 NE 中存在的 group 信息。
    • context-enhanced network embedding: CENE 将文本内容视为一种特殊的顶点,并同时利用结构信息和文本信息来学习 network embedding

    据我们所知,所有现有的 network embedding 模型都聚焦于学习 context-free embedding,但是忽略了顶点和其它顶点交互时的不同角色。相比之下,我们假设一个顶点根据与它交互的不同顶点而具有不同的 embedding ,并提出 CANE 来学习 context-aware embedding

9.1 模型

9.1.1 问题定义

  1. 我们首先给出一些基本的符号和定义。给定信息网络 information network ,其中 为顶点集合, 为边集合, 为顶点的文本信息。每条边 表示顶点 之间的关系,并且关联一个权重 。这里顶点 的文本信息表达为单词序列 ,其中 为序列 的长度。

    network representation learning 旨在根据网络结构和关联信息(如文本和 label)为每个顶点 学习低维 embedding ,其中 representation 空间的维度。

  2. Context-free Embedding 的定义:传统的 network representation learning 模型为每个顶点学习 context-free embedding 。这意味着顶点的 embedding 是固定的,并且不会根据顶点的上下文信息(即与之交互的另一个顶点)而改变。

  3. Context-aware Embedding 的定义:与现有的、学习 context-free embeddingnetwork representation learning 模型不同,CANE 根据顶点不同的上下文来学习该顶点的各种 embedding 。具体而言,对于边 CANE 学习 context-aware embedding

    CANE 的模型容量要比传统的 network representation learning 模型容量大得多。传统 network representation learning 模型只需要计算 embedding,而 CANE 模型需要计算 embedding。更大的模型容量可能会导致严重的过拟合。

    此外,CANE 模型中每个顶点有可变数量的 embedding,在顶点分类任务中,如何利用这些 embedding 是个难点。

9.1.2 模型

  1. 整体框架:为了充分利用网络结构和关联的文本信息,我们为顶点 提供了两种类型的 embedding:基于结构structure-basedembedding 、基于文本text-basedembedding structure-basedembeding 可以捕获网络结构中的信息,而 text-based embedding 可以捕获关联文本信息中的文本含义textual meaning 。使用这些 embedding,我们可以简单地拼接它们并获得顶点 embedding,其中 为拼接算子。

    CANE 并不是独立建模 structure-basedembedingtext-based embedding ,而是联合优化它们。

    注意, text-based embedding 可以是 context-free 的、也可以是 context-aware 的,这将在后面详细介绍。当 context-aware 时,整个顶点 embedding 也将是 context-aware

    通过上述定义,CANE 旨在最大化所有 edge 上的目标函数,如下所示:

    这里每条 edge 的目标函数 由两部分组成:

    其中: 表示基于结构的目标函数structure-based objective 表示基于文本的目标函数 text-based objective 。接下来我们分别对这两个目标函数进行详细介绍。

    CANE 仅建模一阶邻近性(即观察到的直接链接),并没有建模高阶邻近性,因为 CANE 隐含地假设了 “朋友的朋友“ 不一定是朋友。仅建模一阶邻近性会遇到数据稀疏的不利影响。

  2. 基于结构的目标函数:不失一般性,我们假设网络是有向的,因为无向边可以被认为是两个方向相反、且权重相等的有向边。因此,基于结构的目标函数旨在使用 structure-based embedding 来衡量观察到一条有向边的对数似然log-likelihood,即:

    遵从 LINE,我们将上式中的条件概率定义为:

  3. 基于文本的目标函数:现实世界社交网络中的顶点通常伴随着关联的文本信息。因此,我们提出了基于文本的目标函数来利用这些文本信息,并学习 text-based embedding

    基于文本的目标函数 可以通过各种度量指标来定义。为了与 兼容,我们将 定义如下:

    其中:

    • 为对应部分的重要性,为超参数。

      如果仅仅最小化 ,则只需要两个超参数即可。但是由于需要和 相加,因此 需要三个超参数。

    • 定义为:

      这里构建了 structure-based embeddingtext-based embedding 之间的桥梁,使得信息在结构和文本之间流动。

    上式中的条件概率将两种类型的顶点 embedding 映射到相同的 representation 空间中,但是考虑到它们自身的特点,这里并未强制它们相同。类似地,我们使用 softmax 函数来计算概率,如公式 所示。

    structure-based embedding 被视为 parameter,与传统的 network embedding 模型相同。但是对于 text-based embedding,我们打算从顶点的关联文本信息中获取它们。此外, text-based embedding 可以通过 context-free 的方式、或者 context-aware 的方式获取。接下来我们将详细介绍。

  4. Context-Free Text Embedding:有多种神经网络模型可以从单词序列 word sequence 中获取 text embedding,如卷积神经网络 CNN、循环神经网络RNN。在这项工作中,我们研究了用于文本建模的不同神经网络,包括 CNNBidirectional RNNGRU,并采用了性能最好的 CNNCNN 可以在单词之间捕获局部语义依赖性 local semantic dependency

    CNN 以一个顶点的单词序列作为输入,通过 lookup、卷积、池化这三层得到基于文本的 embedding

    • lookup:给定一个单词序列 lookup layer 将每个单词 转换为对应的 word embedding ,并且获得 embedding 序列 ,其中 word embedding 的维度。

    • 卷积:lookup 之后,卷积层提取输入的 embedding 序列 的局部特征 local feature 。具体而言,它使用卷积矩阵 在长度为 的滑动窗口上进行卷积操作,如下所示:

      表示 个卷积核,每个卷积核的尺寸为 为卷积核数量,也称作输出通道数。

      其中:

      • 为第 个滑动窗口内所有 word embedding 拼接得到的矩阵。
      • bias 向量。

      注意,我们在单词序列的边缘添加了零填充向量。

    • 最大池化:为了获得 text embedding ,我们对 进行最大池化和非线性变换,如下所示:

      其中:max 是在 embedding 维度上进行的,tanh 为逐元素的函数。

  5. Context-Aware Text Embedding:如前所述,我们假设顶点在与其它顶点交互时扮演不同的角色。换句话讲,对于给定的顶点,其它不同的顶点与它有不同的焦点,这将导致 context-aware text embedding

    为了实现这一点,我们采用 mutual attention 来获得 context-aware text embeddingmutual attention 使 CNN 中的池化层能够感知 edge 中的顶点 pair ,从而使得来自一个顶点的文本信息可以直接影响另一个顶点的 text embedding,反之亦然。

    加权池化,权重来自于当前顶点文本内容和另一个顶点文本内容的相关性。

    如下图所示,我们说明了 context-aware text embedding 的生成过程。给定一条边 和两个对应的文本序列 ,我们可以通过卷积层得到矩阵 。这里 表示 的长度, 表示 的长度。通过引入一个注意力矩阵 attentive matrix ,我们计算相关性矩阵 correlation matrix 如下:

    注意, 中的每个元素 表示两个隐向量(即 )之间的 pair-wise 相关性得分 correlation score 。然后,我们沿 的行和列进行池化操作从而生成重要性向量 importance vector,分别称作行池化 row-pooling 和列池化 column-pooling 。根据我们的实验,均值池化的性能优于最大池化。因此,我们采用如下的均值池化操作:

    其中:

    • 表示行池化向量,它就是 的重要性向量。
    • 表示列池化向量,它就是 的重要性向量。

    接下来,我们使用 softmax 函数将重要性向量 转换为注意力向量 attention vector ,其中:

    即:对重要性向量进行 softmax 归一化。

    最后,顶点 context-aware text embedding 计算为:

    现在,给定一条边 ,我们可以获得 context-aware embedding,它是 structure embeddingcontext-aware text embedding 的拼接:

    其中 为拼接算子。

  6. CANE 优化过程:如前所述,CANE 旨在最大化若干个条件概率。直观而言,使用 softmax 函数优化条件概率在计算上代价太大。因此,我们使用负采样,并将目标函数转换为以下形式:

    其中: 为负采样比例,sigmoid 函数, 为负顶点的采样分布, 为顶点 out-degree

    之后,我们使用 Adam 来优化新的目标函数。注意,CANE 通过使用训练好的 CNN 来为新顶点生成 text embedding,从而完全能够实现 zero-shot 场景。

9.2 实验

  1. 为了研究 CANE 对顶点之间关系建模的有效性,我们在几个真实世界的数据集上进行了链接预测实验。此外,我们还使用顶点分类任务来验证顶点的 context-aware embedding 是否可以反过来组成高质量的 context-free embedding

  2. 数据集:我们选择如下所示的、真实世界的三个数据集。

    • Cora :一个典型的论文引用网络数据集。在过滤掉没有文本信息的论文之后,网络中包含 2277 篇机器学习论文,涉及 7 个类别。
    • HepTh:另一个论文引用网络数据集。在过滤掉没有文本信息的论文之后,网络中包含 1038 篇高能物理方面的论文。
    • Zhihu:一个大型的在线问答网络,用户可以相互关注并在网站上回答问题。我们随机抽取了10000 名活跃用户,并使用他们关注主题的描述作为文本信息。

    这些数据集的详细统计信息如下表所示。

  3. baseline 方法:我们采用以下方法作为 baseline

    • 仅考虑网络结构:

      • Mixed Membership Stochastic Blockmodel: MMB: 是关系数据的一个传统图模型,它允许每个顶点在形成边的时候随机选择一个不同的topic
      • DeepWalk:使用截断的随机游走将图结构转化为线性结构,然后使用层次 softmaxSkipGram 模型处理序列从而学习顶点 embedding
      • LINE:分别定义损失函数来保留一阶邻近性和二阶邻近性来求解一阶邻近representation 和二阶邻近 representation,然后将二者拼接一起作为 representation
      • Node2Vec:通过一个有偏随机游走过程biased random walk procedure 来将图结构转化为线性结构,然后使用层次 softmaxSkipGram 模型处理序列。
    • 同时考虑结构和文本:

      • Naive Combination:用两个模型分别计算 structure embeddingtext embedding ,然后简单地将 structure embeddingtext embedding 拼接起来。
      • TADW:采用矩阵分解的方式将顶点的文本特征融合到 network embedding 中。
      • CENE:将文本内容视为一种特殊的顶点来利用结构和文本信息,并优化异质链接的概率。
  4. 评估指标:对于链接预测任务,我们采用标准的评估指标 AUC。对于顶点分类任务,我们采用 L2 正则化的逻辑回归来训练分类器,并评估分类准确率指标。

  5. 训练配置:

    • 为公平起见,我们将所有方法的 embedding 维度设为 200

    • 对于LINE 方法,负采样系数设置为 5 。一阶embedding 和 二阶 embedding 维度都是 100 维,使得拼接后的向量有 200 维。

    • 对于 node2vec 方法,我们使用网格搜索并选择最佳的超参数。

    • 对于 CANE 方法,我们通过超参数搜索选择最佳的 。为了加速训练过程,我们选择负采样系数

      为了说明文本 embedding 以及注意力机制的效果,我们设计了三个版本:

      • CANE with text only:仅包含 context-aware text embedding
      • CANE without attention:包含 structure embedding 以及 context-free text embedding
      • CANE:完整的 CANE 模型。
  6. 链接预测实验:我们分别移除了 Cora,HepTh,Zhihu 等网络不同比例的边,然后评估预测的 AUC 指标。注意,当我们仅保留 5% 的边来训练时,大多数顶点是孤立的,此时所有方法的效果都较差而且毫无意义。因此我们不考虑 5% 以下比例的情况。

    Cora 的结果如下,其中

    HepTh 的结果如下,其中

    Zhihu 的结果如下,其中

    从链接预测任务的实验结果可以看到:

    • CANE 在所有训练集、所有训练比例都取得最好的效果,这表明 CANE 在链接预测任务中的有效性,验证了 CANE 具备精确建模顶点之间关系的能力。

    • 在不同的训练比例下,CENETADW 的效果不稳定。具体而言:

      • CENE 在训练比例较小时效果比 TADW 较差,因为相比 TADWCENE 使用了更多的参数(如卷积核和word embedding),因此 CENE 需要更多的训练数据。
      • CENE 不同,TADW 在较小的训练比例时表现得更好,因为基于 DeepWalk 的方法即使在边有限的情况下也可以通过随机游走很好地探索稀疏网络结构。然而,由于它的简单性和 bag-of-words 假设的局限性,TADW 在较大的训练比例时表现不佳。
      • CANE 在各种情况下,效果都很稳定。这展示了 CANE 的灵活性和鲁棒性。
    • 通过引入注意力机制,学到的 context-aware embedding 比没有注意力的 embedding 效果更好。这验证了我们的假设:顶点和其它顶点交互时应该扮演不同的角色,从而有利于相关的链接预测任务。

    综上所述,以上所有实验结果表明:CANE 可以学习高质量的 context-aware embedding,这有利于精确估计顶点之间的关系。此外,实验结果也表明了 CANE 的有效性和鲁棒性。

    实验可以看到:引入顶点的文本信息可以更好地提升 network embedding 的质量。因此,CANE 应该和带文本信息的 baseline 方法进行比较。如果 CANEDeepWalk/LINE/node2vec 等纯结构的 network embedding 方法比较,则不太公平。

  7. 顶点分类实验:网络分析任务(如顶点分类和聚类)需要得到该顶点的整体 embedding,而不是顶点的很多个context-aware embedding。为了得到整体embedding,我们简单的将每个顶点的所有 context-aware embedding 取平均,如下所示:

    其中 为顶点 context-aware embedding 数量。

    使用生成的整体 embedding ,我们在 Cora 数据集上执行顶点分类任务,采用 2-fold 交叉验证并报告平均准确率。实验结果如下图所示,可以看到:

    • CANE 的性能与 state-of-the-artCENE 相当。这表明:学到的 context-aware embedding 可以通过简单的取平均操作转化为高质量的 context-free embedding,并进一步应用于其它网络分析任务。
    • 通过引入 mutual attention 机制,CANE 的性能比没有注意力的版本得到较大的提升。这与链接预测的结果是一致的。

    综上所述,实验结果表明 CANE 可以灵活地完成各种网络分析任务。

  8. 案例研究:为了说明 mutual attention 机制从文本信息中选择有意义特征的重要性,我们可视化了两个顶点的热力度。图中,每个单词都带有各种背景色,颜色越深该单词的权重越大。每个单词的权重根据注意力权重来计算,计算方式为:

    • 首先,对于每对顶点pair,我们获取其单词序列每个卷积窗口的注意力权重
    • 然后,在这个窗口内我们为每个单词分配注意力权重(窗口内的多个单词对应于该窗口的权重)。
    • 最后,考虑到一个单词可能会出现在多个窗口内(单个顶点的单词序列包含很多个窗口),我们将该单词的多个权重相加,得到单词的注意力权重。

    我们提出的注意力机制使得顶点之间的关系明确且可解释。如下图所示,我们选择 Cora 数据集存在引用关系的三篇论文 A,B,C 。可以看到:尽管论文 B,C 和论文 A 存在引用关系,但是论文 B 和论文 C 关注的是论文 A 的不同部分:

    • Edge #1 在论文 A 上重点关注 reinforcement learning
    • Edge #2 在论文 A 上重点关注 machine learning, supervised learning algorithms,complex stochastic models

    另外,论文A 中的所有这些关键元素都可以在论文 B 和论文 C 中找到对应的单词。这些关键元素对引用关系给出了准确的解释,这很直观。这些挖掘出的顶点之间显著的相关性,反应了 mutual attention 机制的有效性,同时也表明 CANE 精确建模关系的能力。

十、EOE[2017]

  1. 数据点之间的各种显式交互 explicit interaction 和隐式交互implicit interaction (例如 friendship, co-authorship, co-concurrence)使得 network 无处不在。因此,network representation 在许多数据挖掘 application 中是难以避免的。一方面,许多数据挖掘 application 都是为网络而设计的,例如社区检测 community detection 、链接预测 link prediction 。另一方面,其它数据挖掘 application 也可以从网络分析中受益,例如 collective classification 和降维 dimension reduction

    以上所有 application 都依赖于对网络交互 network interaction 或者 edge 的分析。如今,network embedding 越来越多地用于辅助网络分析,因为它可以有效地学习潜在特征 latent feature 从而编码链接信息。network embedding 的基本思想是通过在潜在空间中保持相连顶点pair 对,从而保持网络结构 network structure 。潜在特征是有益的,因为它比 edge 具有更强的表达能力,并且可以直接被现有的机器学习技术所使用。尽管之前人们已经提出了各种 network embedding 方法,但是这些方法仅设计用于在单网络 single network 上学习 representation

    此外,在大数据时代,不同类型的相关信息往往是可用的,并且可以融合在一起形成耦合异质网络 coupled heterogeneous network ,其中每种类型的信息都可以表示为一个独立的同质网络 homogeneous network 。我们将耦合异质网络定义为由两个不同的、但是相关的子网 sub-network 构成的网络。这些子网通过跨网链接 inter-network link 来连接,例如:

    • author and word networkauthor可以通过他们之间的交互而联系起来,例如 co-authorship 。单词可以通过共现 co-concurrence 关系联系起来。author可以和他们在paper中使用的单词联系起来。
    • social network user and word network:用户可以通过他们之间的好友关系而联系起来。单词可以通过共现 co-concurrence 关系联系起来。用户可以和他们使用的单词联系起来。
    • customer and movie network:消费者可以通过他们之间的好友关系而联系起来。电影可以通过共同演员或者共同导演关系而联系起来。消费者可以和他们看过的电影联系起来。
    • gene and chemical compound network:基因可以通过 gene-gene 相互作用而联系起来。化合物可以通过具有相同本体 ontology 的方式联系起来。基因可以通过 binding 关系从而和化合物联系起来。

    为了直观地说明这个概念,下图给出了 author and word network 的一个例子,其中author通过 co-authorship 联系起来,并且在同一个标题中的同时出现被定义为单词之间的 co-concurrence 关系。我们从 DBLP 数据集中对网络进行采样。被采样的 co-authorship 网络由 2000 年到 2003 年期间在两个数据挖掘会议 KDDICDM 、以及两个数据库会议 SIGMODVLDB 上发表paperauthor组成。结果表明,author构成了两个簇 cluster,单词也构成了两个簇,这些簇可以通过社区检测算法来生成。而且,数据挖掘专家对数据挖掘领域的单词相比数据库领域的单词有更多的链接,而数据库专家对数据库领域的单词相比数据挖掘领域的单词有更多的链接。

    为了学习author的潜在特征,同一个领域的author应该在潜在空间中彼此靠近。可以看出,author和单词之间的 edge 可以在已经存在 author edge 的情况下作为补充信息 complementary information 。这是因为同一个领域的 author 更有可能在其领域的单词上存在 edge ,这可以用来使得仅从 author edge 学习的潜在特征更加全面和准确。当 author edge 不存在时,补充信息更为重要,这可以称之为冷启动问题 cold-start problem 。学习单词潜在特征的情况也是类似的。

    author networkword network 都有可用的 embedding 方法。然而,将现有的、用于 single networkembedding 方法扩展到耦合异质网络并不简单。主要挑战来自于两个不同网络的异质特性 heterogeneous characteristics ,这将导致两个异质潜在空间 heterogeneous latent space 。因此,不同网络的潜在特征无法直接匹配。为了应对这一挑战,论文 《Embedding of Embedding (EOE) : Joint Embedding for Coupled Heterogeneous Networks》提出了一种叫做 embedding of embedding: EOE 的方法,该方法通过引入一个调和 harmoniousembedding 矩阵,从而进一步将 embedding 从一个潜在空间嵌入到另一个潜在空间。在 EOE 中,潜在特征不仅编码网内边 intra-network edge ,还编码跨网边 inter-network edge。具体而言,论文提出的 EOE 可以通过乘以适当设计的调和 embedding 矩阵,将潜在特征从一个空间转换到另一个空间。有了这个调和 embedding 矩阵,不同网络的潜在特征之间的计算就没有障碍了。作为一种 embedding 方法,论文提出的 EOE 还使得那些被 edge 链接的顶点能够在潜在空间中紧密靠近。

    EOE 与现有 single networkembedding 方法的主要区别在于:两个网络对应着三种类型的边、以及两种类型的潜在空间。此外,必须同时学习两个网络的潜在特征,因为任何一方都可以通过跨网边 inter-network edge 向另一方提供补充信息。

    很容易得出 EOE 的学习目标 learning objective 中需要优化的变量有三类:两个网络对应的两类潜在特征、以及调和 embedding 矩阵。因此,论文提出了一种交替优化算法alternating optimization algorithm ,其中学习目标单次仅针对一种类型的变量进行优化,直到算法收敛。这种交替优化算法可以用一系列更容易的优化来代替对三个变量的、困难的联合优化。EOE 模型和优化算法将在正文部分详细介绍。

    本文主要贡献如下:

    • 据作者所知,该论文是第一个研究耦合网络联合 embedding 问题的人。论文提出了一个联合 embedding 模型 EOE,该模型结合了一个调和 embedding 矩阵,从而进一步嵌入仅编码网内边 intra-network edgeembedding
    • 论文提出了一种交替优化算法来解决 EOE 的学习目标,其中学习目标单次仅针对一种类型的变量进行优化,直到算法收敛。
    • 论文对各种现实世界的耦合异质网络进行了全面的实验评估,从而展示联合学习在耦合网络上的优势。所提出的 EOE 在包括可视化visualization 、链接预测prediction 、多类别分类multi-class classification 、多标签分类 multi-label classification 在内的四个 application 中优于 baseline
    • 这项工作表明将耦合异质网络作为来自不同信息源的、融合信息的有效 representation,其中每个信息源都表示为单独的同质网络,并且inter-network link 捕获了异质网络顶点之间的关系。
  2. 相关工作:我们提出的 EOE 模型与常规的 graph embeddingnetwork embedding 方法密切相关,这些方法用于学习 graph 或者 network 顶点的潜在 representation

    人们之前已经提出了一些 graph embedding 方法或 network embedding 方法,但是它们最初是为已有特征的降维而设计的。具体而言,他们的目标是学习已有特征的低维潜在 representation,从而显著降低特征维度带来的学习复杂度 learning complexity 。在我们的场景中,不存在网络顶点的特征,而是网络的 edge 信息。

    另一种称作 graph factorization《Distributed large-scale natural graph factorization》)的 graph embedding 方法通常利用网络 edge 来学习潜在特征。它将graph 表示为矩阵,其中矩阵元素对应于顶点之间的边,然后通过矩阵分解来学习潜在特征。但是 graph factorization 方法仅在潜在空间中表示具有交互interaction 的顶点 pair 对。我们提出的 EOE 模型不仅将存在edge 的顶点紧密靠近,而且还将不存在 edge 的顶点彼此远离。后一种规则很重要,因为它将保留某些顶点不太可能交互的信息,这也是网络结构信息的一部分。

    最近一种叫做 DeepWalknetwork embedding 模型嵌入了从随机游走获得的局部链接信息 local link information 。它的动机是网络的 degree 分布和自然语言词频word frequency 分布之间的联系。基于这一观察,自然语言模型被重用于对网络社区结构进行建模。然而,随机游走可能会跨越多个社区,这对于保持网络结构的目标而言是不希望看到的。此外,DeepWalk 仅能处理无权网络unweighted network,而我们提出的 EOE 模型同时适用于加权网络 weighted network 和无权网络。

    state-of-the-art 的、相关的模型是用于大规模信息网络 embeddingLINELINE 保留了交互信息和非交互信息,这与我们提出的 EOE 类似。但是我们提出的 EOE 模型在代价函数的公式上与 LINE 不同。此外,我们提出的 EOE 是为嵌入耦合异质网络而设计的。包括 LINE 在内的现有方法都无法处理耦合异质网络。而耦合异质网络在现实世界中很常见,并且 EOE 有利于耦合异质网络中每个子网的 embedding

10.1 模型

10.1.1 基本概念

  1. 耦合异质网络coupled heterogeneous network 的定义:耦合异质网络由两个不同的、但是相关的子网络 sub-network 组成,这些子网络通过 inter-network edge 相连。术语 “不同” 指的是两个子网络的顶点属于不同的类型。术语 “相关” 意味着两个子网络的顶点具有特定类型的交互或关系。

    给定两个子网络 ,耦合异质网络表示为 ,其中:

    • 为第一个子网络的顶点集合, 为第二个子网络的顶点集合。
    • 为第一个子网络的边集合, 为第二个子网络的边集合, 为连接 inter-network edge 集合。 分别代表这些边的权重。所有这些边都可以是加权的/无权的、有向的/无向的。
  2. 为了学习 的潜在特征,EOE 利用网络 edge 从而作为 embedding 方法。具体而言,具有edge 的顶点 pair 对在潜在空间中紧密靠近。

    如果一对顶点之间存在边的概率相当高(理想情况下为 100%),则它们在潜在空间中是紧密靠近的。这个概率由以下公式来定义:

    其中 分别是子网络 中顶点 和顶点 embedding 向量。

  3. 上述方程是 在潜在空间中度量的,对于 其概率公式也是类似的。但是,上述方程无法计算来自 的顶点和来自 的顶点之间存在边的概率,因为这个概率涉及到两个不同的潜在空间。为了调和两个潜在空间的异质性,我们引入了一个调和 embedding 矩阵,从而进一步将 embedding 从一个潜在空间嵌入到另一个潜在空间。

    调和 embedding 矩阵 harmonious embedding matrix 是一个实值矩阵 ,其中 的潜在特征维度、 的潜在特征维度。使用调和 embedding 矩阵之后,衡量来自不同网络的顶点之间紧密程度的概率如下所示:

    其中 是子网络 中顶点 embedding 向量, 是子网络 中顶点 embedding 向量。

10.1.2 EOE

  1. 基于前述的定义,我们现在提出 EOE 模型。EOE 模型不仅将存在edge 的顶点紧密靠近,还将不存在 edge 的顶点彼此远离。后一种规则很重要,因为它将保留某些顶点不太可能交互的信息,这也是网络结构信息的一部分。

    要将这两个规则都转换为优化问题,则应该惩罚存在 edge 的顶点 pair 对的小概率、以及不存在 edge 的顶点 pair 对的大概率。惩罚前者的损失函数如下所示:

    其中:

    • 表示顶点 之间存在边的权重。

      中所有顶点的 embedding 向量构成的 embedding 矩阵, 中所有顶点数量, embedding 向量的维度。

    • 为待定义的惩罚函数。乘以 是反映权重所表示的关系强度。如果网络是无权的,则 是一个常数,例如 1

    作为一个合适的惩罚函数, 必须是单调递减的,并且当概率接近 1.0 时递减到 0.0。单调递减保证对较大概率的链接给予较小的惩罚。这个属性是必要的,因为我们只希望惩罚存在链接但是预估概率却很小的 case 。此外,为了便于优化, 应该是凸函数并且是连续可微的。该属性使得上述损失函数可以通过常用的梯度下降算法求解,并确保全局最优解。具有这两个属性的简单函数是负的对数似然,因此上式改写为:

    类似地,对于不存在 edge 的顶点 pair 对的惩罚函数 也是以这种方式定义的,只是必要的属性被调整为单调递增,并且在概率接近零时惩罚函数接近零。因此,惩罚预估概率很大但是却不存在链接的损失函数定义为:

    其中 是不存在 edge 的一对顶点, 是存在 edge 的一对顶点。在本文的剩余部分,我们以这种方式来表示存在 edge 的顶点pair 对、以及不存在 edge 的顶点 pair 对。

    在处理大规模网络时,在所有不存在edge 的顶点pair 对上计算该损失函数是不切实际的。从计算规模上考虑,我们对不存在 edge 的顶点 pair 对进行采样,使得其规模仅比存在 edge 的顶点 pair 对的数量大几倍。

  2. 的损失函数和来自不同子网络的顶点 pair 对都以这种方式进行衡量。所有这些损失函数都应该联合优化,因为每个子网络都可以通过 inter-network edge 向另一个子网络提供补充信息。组合所有这些损失函数的一种直接方法是将它们直接相加。我们将更复杂的组合方式留待未来的工作。

    在添加 L2 正则化项和 L1 正则化项从而避免过拟合之后,嵌入了耦合异质网络 的整体损失函数为:

    其中:

    • 为正则化系数。

    调和embedding 矩阵的 L1 正则化用于执行特征选择来协调两个潜在空间,因为这会引入稀疏性。

10.1.3 优化算法

  1. 最小化损失函数 是一个凸优化问题,因此我们可以使用基于梯度的算法来执行优化。 的梯度为 的梯度为 。但是,损失函数 对于 的零元素是不可微的,因此我们对 采用 sub-gradient 梯度,这可以通过以下公式获得:

    其中 为第 行第 列, 定义为:

    对于 不可微的,但是考虑到 在实际中很少会刚好为 0,因此如果 在梯度下降过程中穿越零点,则我们将其设置为零。这称作 lazy update,因此将鼓励 成为稀疏矩阵。

  2. 有了这些梯度,我们提出了一种基于梯度的交替优化算法 gradient-based alternating optimization algorithm 。在该优化算法中,损失函数每次针对一种类型的变量最小化,直到收敛。这种交替优化算法可以用一系列更容易的优化来代替对三个变量的、困难的联合优化。

    关于变量的交替时机,直到特定于当前变量的最小化收敛时才执行。这是因为每种类型的变量都会影响其它两种类型的变量,如果当前变量没有很好地优化,则它可能会传播负面影响 negative influence 。一个直观的例子是,如果存在边的两个相似单词在交替 author 之前在潜在空间中不接近,则由于 co-author 而应该接近的两个 author 可能会彼此远离,远离的原因仅仅是因为这两个 author 分别与前述单词存在边。

  3. EOE 交替优化算法:

    • 输入:

      • 耦合异质网络 embedding 维度
      • 正则化系数
    • 输出: embedding ,调和embedding 矩阵

    • 算法步骤:

      • 全零初始化 embedding 参数,以及矩阵

      • 预训练顶点集合 ,循环迭代直到算法收敛。迭代步骤为:

        • 里的所有顶点计算梯度 ,其中 为仅仅考虑子图 的损失函数
        • 线性搜索找到学习率
        • 更新参数: ,其中 为迭代次数
      • 预训练顶点 ,循环迭代直到算法收敛。迭代步骤为:

        • 里的所有顶点计算梯度 ,其中 为仅仅考虑子图 的损失函数
        • 线性搜索找到学习率
        • 更新参数: ,其中 为迭代次数
      • 循环直到收敛,迭代步骤为:

        • 固定 embedding 参数,利用梯度下降算法优化
        • 固定 embedding 参数和 ,利用梯度下降算法优化 embedding 参数
        • 固定 embedding 参数和 , 利用梯度下降算法优化 embedding 参数
      • 最终返回顶点 embedding 向量以及调和embedding 矩阵

  4. EOE 交替优化算法中,我们分别对 进行预训练从而学习 的潜在特征,这也是为了不将负面影响传播到其它变量。损失函数 之前未给出,它是仅包含 的损失。

    我们使用回溯线性搜索 backtracking line search 来为每次迭代学习一个合适的学习率。判断是否整体收敛的条件:当前迭代和上一轮迭代之间的相对损失小于一个相当小的值,如 0.001

  5. EOE 交替优化算法的复杂度和顶点embedding 梯度、调和 embedding 梯度的复杂度成正比。这些梯度的复杂度处于同一个水平,即 ,其中 是存在边的顶点 pair 对的数量, 的顶点 embedding 维度, 的顶点 embedding 维度。因此,上述算法的复杂度为 ,其中 为迭代次数。因此,我们提出的 EOE 交替优化算法可以在多项式时间内求解。

  6. 未来工作:将EOE 模型扩展到两个以上的网络,从而融合多个信息源。

10.2 实验

  1. 我们在可视化、链接预测、多分类、多标签分类等常见的数据挖掘任务上,评估 EOE 模型学到的潜在特征的有效性。

  2. baseline 方法:

    • 谱聚类spectral clustering: SC:该方法使用谱聚类来学习顶点的潜在特征。具体而言,它使用归一化的拉普拉斯矩阵的 top d 个特征向量作为 embedding 向量。

    • DeepWalk:通过截断的随机游走和 SGNS 来学习顶点的 embedding 向量。

      由于 DeepWalk 仅适用于未加权的边,因此所有边的权重设置为 1

    • LINE:它是为了嵌入大规模信息网络而提出的,适用于有向/无向图、加权/无权图。我们提出的 EOE 也适用于大规模网络,因为它可以在多项式时间内求解。此外,EOE 也适用于所有类型的网络(有向/无向、加权/无权)。

      LINE 分别定义损失函数来保留一阶邻近性和二阶邻近性来求解一阶邻近representation 和二阶邻近 representation,然后将二者拼接一起作为 representationLINE 有两个变体:LINE-1st 仅保留一阶邻近性,LINE-2nd 仅保留二阶邻近性。而我们提出的 EOE 模型仅保留一阶邻近性。

      由于如何合理的结合 LINE-1stLINE-2nd 尚不清楚,因此我们不与LINE(1st+2nd) 进行比较。

    注:这些方法都是同质图的 embedding 方法,仅能捕获单个图的信息。而 EOE 可以同时捕获多个图的信息,因此这种比较不太公平(EOE 有额外的输入信息,因此理论上效果更好)。

  3. EOE 的实验配置:

    • 设置 embedding size128DeepWalkLINEembedding size 也是 128 )。
    • 无边的顶点 pair 数量相对有边的顶点pair 的比例为 5
    • backtracking line search 采用常用设置。
    • 正则化项的所有系数为 1
    • 采用 0.001 作为相对损失的阈值,从而判断梯度下降算法是否收敛。

10.2.1 可视化

  1. embedding 在二维空间上的可视化是 network embedding 的一个重要应用。如果学到的 embedding 很好地保留了网络结构,则可视化提供了一种生成网络布局 network layout 的简单方法。我们用 author and word network 来说明这一点。

  2. 数据集:我们从 DBLP 数据集中采样了一个较大的网络。具体而言,我们选择了来自四个研究领域的热门会议,即:数据库领域的 SIGMOD,VLDB,ICDE,EDBT,PODS,数据挖掘领域的 KDD,ICDM,SDM,PAKDD, 机器学习领域的 ICML,NIPS,AAAI,IJCAI,ECML ,信息检索领域的 SIGIR,WSDM,WWW,CIKM,ECIR

    我们选择了 20002009 年发表的论文,过滤掉论文数量少于 3 篇的 author ,并过滤掉停用词(如where,how )。过滤后的 author network 包含 4941author17372 条链接(即 co-authorship)。过滤后的 word network6615个单词、78217条链接(即co-concurrence)。过滤后的 authorword 的链接有 92899 条。

  3. 所有 baseline 都分别独立学习 author embeddingword embeddingEOE 通过联合推断来学习这些 embedding 。所有方法生成的 embedding 维度为 128 。我们使用 t-SNE 工具将它们映射到二维空间中,如下图所示。其中:绿色为数据库领域、浅蓝色为信息检索领域、深蓝色为数据挖掘领域、红色为机器学习领域。

    下图的第二排第一图应该为 SpectralClustering Word Network,这个是作者原图的标示错误。

    author 子网络和 word 子网络应该显示四个聚类的混合,因为所选的四个研究领域密切相关。

    • 谱聚类的结果不符合预期,因为谱聚类的学习目标不是保留网络结构。

    • 尽管 DeepWalkLINE 在某种程度上表现更好,但是它们无法同时展示四个不同的聚类。

      • DeepWalk 的问题可能在于:随机游走跨越了多个研究领域,结果导致来自不同领域的数据点被分布在一起。
      • LINE 也有类似的问题,因为author可能具有来自不同领域的其它author的链接。
    • EOE 的结果最符合预期,因为 EOE 可以通过补充的文本信息来克服上述问题。具体而言,即使某些author 和很多不同领域的其它author存在链接,author的论文中的单词也能够提供该author研究领域的补充信息。

      单词网络的情况也类似。

10.2.2 链接预测

  1. 链接预测问题是指通过测量顶点之间的相似性来推断网络顶点之间新的交互。我们部署了两种链接预测场景来评估潜在特征:未来链接预测future link prediction 、缺失链接预测 missing link prediction

  2. 未来链接预测问题是推断未来会发生的交互。在未来链接预测中,我们采用 DBLP20002009 年发表的论文作为训练集,然后预测 2010 年、2010~2011年、2011~2012年、2010~2012 年这四个时期的链接。在这四个时期,我们除了直接得到正样本( 存在co-authorship 关系的author) 之外,我们还通过计算来间接得到负样本:通过随机生成数量与正样本相同、没有co-authorship 关系的author pair 对。通过负样本来评估模型检测负样本的能力。

    我们通过以下概率来预测新的co-authoreship 相似性:

    其中 为两个顶点的 embedding 向量。

    我们使用 AUC 来评估二类分类器的预测能力,结果如下。结果表明:

    • 所有的神经网络模型都优于谱聚类,这表明神经网络embedding 对于学习顶点潜在特征的有效性。
    • EOE 方法在四个时间都优于其它模型,这表明 EOE 方法捕捉的信息更全面、准确。

    为了从实验的角度研究 EOE 性能优异的原因,我们研究这些方法如何针对测试样本进行预测。我们给出两个具有代表性的测试样本。这两个测试样本是发生在 CVPR'10SIGIR'10 会议的两个co-authorship 关系。

    • 所有的 baseline 方法都低估这两个未来链接发生的概率。
    • EOE 通过 author 之间共享相似的研究方向的信息(通过common word 给出)给出了最佳的预测。
    • LINE(2nd) 给出的预测结果被忽略,因为它对所有测试样本(包括不存在 co-authorshipauthor pair 对)预测的概率都接近 100% 。我们不知道原因,并且其背后的原因也不在本文讨论范围之内。但是我们知道 LINE(2nd) 的学习目标是保留二阶邻近度,而推断新的链接是预测一阶邻近度,二者不匹配。

  3. 缺失链接预测问题是推断未观察到的现有交互。对于缺失链接预测,我们部署了其它三个任务,即论文引用预测、社交网络的 friendship 预测、基因交互预测。

    • 对于论文引用预测,我们采用 Embedding 可视化任务相同的数据集,但是这里考虑的是论文引用 paper citation关系,而不是 co-authorship 关系。我们采用 2000~2009 年的论文,过滤掉该时间段内未发表的参考文献,并且过滤掉词频小于5 的单词。最终论文引文子网络包含 6904 篇论文、19801 个引用关系(链接),单词子网络包含 8992 个单词、118518 条链接,论文和单词之间有 59471 条链接。
    • 对于基因交互预测,我们从 SLAP 数据集构建 gene and chemical compound network ,该数据集包含基因以及化合物之间的关系。基因子网络包含基因和基因之间的相互作用,化合物子网络包含化合物之间是否具有相同的本体,两个子网络之间包含基因和化合物之间的作用。最终化合物子网络有 883 个顶点、70746 个链接,基因子网络有 2472 个基因、4396 条链接,基因和化合物之间存在 1134 条链接。
    • 对于社交网络 friendship 预测,我们从 BlogCatalog 构建 user and word network 。我们选择四种热门类型(艺术、计算机、音乐、摄影)的用户,这包含 5009 个用户,用户之间存在 28406 条链接。我们基于这些用户的博客来构建单词子网络,词频小于 8 的单词被过滤掉。我们采用窗口大小为 5 的滑动窗口来生成单词共现关系。最终得到的单词子网络包含 9247 个单词、915655 条链接。用户和单词之间存在 350434 条链接。

    我们开展了10次实验,分别对训练集中的链接保留比例从 0%~90% 。其中, 0% 的保留比例即丢弃所有链接,这将导致冷启动问题。

    • 目前任何 baseline 模型都无法解决冷启动问题,因为所有 baseline 模型都依赖于已有的链接来学习潜在特征,而 EOE 可以通过补充信息来解决冷启动问题。
    • 在所有比例的情况下,EOE 仍然优于基准方法,这说明了EOE 针对耦合异质网络联合学习 embedding 的优势。

10.2.3 多分类

  1. 多分类任务需要预测每个样本的类别,其中类别取值有多个,每个样本仅属于其中的某一个类别。这里使用论文引用预测任务(Paper citation)中使用的 paper and word network 。具体而言,分类任务是预测每篇论文的研究领域,可以是数据库、数据挖掘、及其学习、信息检索四个领域之一。

    我们开展了 10次实验,分别对训练集中的链接保留比例从 10%~100% 。一旦学到潜在特征,我们使用具有线性核的 SVM 来执行分类任务。我们采用 10-fold 交叉验证的平均准确率作为评估指标,结果如下:

    • EOE 在所有比例的情况下,始终优于其它 baseline 模型。
    • 当链接比例越少(如 10%~20%),EOE 相比于 baseline 模型的提升越明显。这是因为论文的摘要中包含了大量的关于论文研究领域的信息,EOE 可以很好的利用这些信息。

10.2.4 多标签分类

  1. 多类分类任务需要预测每个样本的类别,其中每个样本可以属于多个类别。

    我们使用可视化中的 author and word network 来预测 author 的领域,一些 author 可能是多个领域的专家,因为他们在多个领域的会议上发表论文。此外,链接预测任务中使用的 BlogCatalog user and word network 也用于该实验,因为用户注册的博客可以属于多个类别。

    我们开展了5次实验,分别对训练集中的链接保留比例从 20%~100% 。一旦学到潜在特征,我们对学到的 author representation 执行二元 SVM 从而进行多领域预测任务。我们采用 10-fold 交叉验证的Micro-F1Macro-F1 作为评估指标,结果如下:

    • EOE 在所有任务中都超越了 baseline 模型。
    • 当链接比例越少(如 20%),EOE 相比于 baseline 模型的提升越明显。

  2. 结合可视化任务、链接预测任务、多分类任务、多标签分类人任务的实验结果,这表明 inter-networks edge 提供的互补信息是有益的,因为这些互补信息可以使得从 intra-network edge 学到的潜在特征更加全面和准确,并且在遇到冷启动问题时更为重要。

  3. 从可视化任务、链接预测任务、多类分类任务、多标签分类任务可以看到:多个子网络之间的链接提供的额外补充信息是有益的,因为它可以使得学到的潜在特征更加准确、全面,这在解决冷启动问题时尤为重要。

10.2.5 参数探索

  1. EOE 模型有两种主要的超参数:正则项的系数、潜在特征维度。在所有之前的实验中,这两个超参数都固定为常数,正则化系数设置为 1.0,潜在特征维度为 128 。这里我们将正则化系数分别设置为 0.1,0.5,1.0,2.0,5.0,10.0 、将潜在特征维度分别设置为 32,64,128,256,512,然后观察这些超参数的影响。

    注意:研究潜在特征维度时,正则化系数固定为 1.0;研究正则化系数时,潜在特征维度固定为 128 。我们的训练数据集为 DBLP co-authorship 数据集。

    • 潜在特征维度:可以看到 EOE 对于潜在特征维度不是特别敏感,只要该值不是太小。最佳性能出现在潜在特征维度为 128 时。

    • 正则化系数:可以看到 EOE 对于正则化系数更为敏感,当正则化系数为 1.0 时模型效果最好。

十一、metapath2vec[2017]

  1. 基于神经网络的模型可以表达潜在 embedding ,这些 embedding 可以捕获跨各种模式(如图像、音频、语言)的丰富、复杂数据的内部关系。社交网络 social network 和信息网络 information network 同样是丰富、复杂的数据,它们对人类交互 human interaction 的动态性 dynamic 和类型 type 进行编码,并且同样适用于使用神经网络的 representation learning 。具体而言,通过将人们选择好友和保持联系的方式映射为 social language,我们可以将 NLP 的最新进展自然地应用于 network representation learning,尤其是著名的 NLP 模型 word2vec 。最近的一些研究提出了 word2vec-based network representation learning 框架,例如 DeepWalkLINEnode2vec 。这些 representation learning 方法不是手工设计的网络特征,而是能够从 raw network 中自动发现有用的、且有意义的 latent 特征。

    然而,到目前为止,这些工作都集中在同质网络 homogeneous network (只有单一类型的节点、单一类型的关系)的 representation learning 上。但是,大量的社交网络和信息网络本质上是异质heterogeneous 的,涉及多种类型的节点、以及多种类型的关系。这些异质网络heterogeneous network 提出了独特的挑战,而这些挑战是专门为同质网络设计的 representation learning 模型所无法处理的。以异质学术网络 heterogeneous academic network 为例:我们如何在作者author、论文paper、会议 venue 、组织organization 等多种类型的节点之间有效地保留 word-context 概念?随机游走(如 DeepWalknode2vec 中所使用的的)能否可以应用于多种类型节点的网络?我们可以直接将面向同质网络的 embedding 架构(如 skip-gram)应用于异质网络吗?

    通过解决这些挑战,latent heterogeneous network embedding 可以进一步应用于各种网络挖掘任务,如节点分类、节点聚类、相似节点搜索。与传统的 meta-path-based 方法相比,潜在空间 representation learning 的优势在于它能够在没有 connected meta-path 的情况下对节点之间的相似性进行建模。例如,如果两个 author 从未在同一个 venue 上发表过论文(假设一个人在 NIPS 上发表了 10 篇论文,另一个人在 ICML 上发表了 10 篇论文),则他们基于 APCPAPath-Sim 相似度将为零。 但是,通过 network representation learning 可以自然地克服相似度为零这一缺点。

    论文 《metapath2vec: Scalable Representation Learning for Heterogeneous Networks》 形式化了异质网络 representation learning 问题,其目标是同时学习多种类型节点的低维潜在的 embedding 。论文介绍了 metapath2vec 框架及其扩展 metapath2vec++ 框架。metapath2vec 的目标是最大化同时保留给定异质网络的结构structure 和语义semantic 的可能性。在 metapath2vec 中,论文首先提出了异质网络中 meta-path based 随机游走,从而针对各种类型的节点生成具有网络语义 network semantic 的异质邻域 heterogeneous neighborhood。其次,论文扩展了 skip-gram 模型从而促进空间临近geographically close 节点和语义临近 semantically close 节点的建模。最后,论文开发了一种基于异质负采样heterogeneous negative sampling 的方法,称作 metapath2vec++,可以准确有效地预测节点的异质邻域。

    论文提出的 metapath2vecmetapath2vec++ 模型不同于传统的 network embedding 模型,后者专注于同质网络。具体而言,传统模型对不同类型的节点和不同类型的关系进行相同的处理,导致异质节点无法产生可区分的 representation ,正如论文在实验中所证明的那样。此外,metapath2vecmetapath2vec++ 模型在几个方面也与 Predictive Text Embedding: PTE 模型不同。

    • 首先,PTE 是一种半监督学习模型,它结合了文本数据的 label 信息。
    • 其次,PTE 中的异质性来自于 text network ,其中包含 word-word 链接、word-document 链接、word-label 链接。本质上,PTE 的原始输入是单词,输出是每个单词的 embedding,因此 PTE 并不是多种类型的对象。

    论文在下表中总结了这些方法的差异,其中列出了算法的输入,以及 《Pathsim: Meta path-based top-k similarity search in heterogeneous information networks》 中使用的相同两个 queryDBIS 网络的 top 5 相似搜索结果(每一列是一个 query 的结果)。通过对异质邻域建模并进一步利用异质负采样技术,metapath2vec++ 能够为两种类型的 query 实现最佳的 top 5 相似结果。

    下图展示了 16CS 会议和每个领域的相应知名学者学到的 embedding128 维)的 2D 投影(基于PCA )可视化。值得注意的是,论文发现 metapath2vec++ 能够自动组织这两种类型的节点并隐式学习它们之间的内部关系,这由链接每个 pair 的箭头的相似方向和距离所展示。例如, metapath2vec++ 学习 J. Dean -> OSDI 以及 C. D. Manning -> ACLmetapath2vec 也能够将每个 author-conference pair 紧密分组,例如 R. E. TarjanFOCS 。所有这些属性都无法从传统的 network embedding 模型中发现。

    总而言之,论文工作的贡献如下:

    • 形式化异质网络 representation learning 的问题,并确定由网络异质性带来的独特挑战。
    • 开发有效effective 的、高效efficientnetwork embedding 框架 metapath2vec & metapath2vec++ ,用于同时保留异质网络的结构相关性 structural correlation 和语义相关性 semantic correlation
    • 通过广泛的实验,证明了论文提出的方法在各种异质网络挖掘任务中的有效性和可扩展性,例如节点分类(相对于 baseline 提升 35% ~ 219%)和节点聚类(相对于 baseline 提升 13% ~ 16% )。
    • 演示了 metapath2vec & metapath2vec++ 自动发现异质网络中不同节点之间的内部语义关系,而这种关系现有工作无法发现。
  2. 相关工作:network representation learning 可以追溯到使用潜在因子模型进行网络分析和图挖掘任务,例如 factorization model 在推荐系统、节点分类node classification 、关系挖掘relational mining 、角色发现role discovery 中的应用。这一丰富的研究领域侧重于分解网络的 matrix/tensor 格式(例如,邻接矩阵),从而为网络中的节点或边生成潜在特征。然而,分解大型 matrix/tensor 的计算成本通常非常昂贵,并且还存在性能缺陷,这使得它对于解决大型网络中的任务既不实用、也不有效。

    随着深度学习技术的出现,人们致力于设计基于神经网络的 representation learning 模型。例如 Mikolov 等人提出了 word2vec 框架(一个两层神经网络)来学习自然语言中 word 的分布式 representationDeepWalkword2vec 的基础之上提出,节点的 context 可以通过它们在随机游走路径中的共现 co-occurrence 来表示。形式上,DeepWalk 将随机游走 walker 放在网络上从而记录 walker 的游走路径,其中每条随机游走路径都由一系列节点组成。这些随机游走路径可以被视为文本语料库中的 sentence 。最近,为了使节点的邻域多样化,Node2Vec 提出了有偏随机游走 walker (一种广度优先 breadth-first 和宽度优先width-first 混合的搜索过程),从而在网络上产生节点路径。随着节点路径的生成,这两项工作都利用 word2vec 中的 skip-gram 架构来对路径中节点之间的结构相关性进行建模。

    此外,人们已经提出了几种其它方法来学习网络中的 representation 。特别地,为了学习 network embeddingLINE 将节点的 context 分解为一阶邻近性(friend 关系)、二阶邻近性(friend’ friend 关系),这进一步发展为用于嵌入文本数据的半监督模型 PTE

    我们的工作通过设计 metapath2vecmetapath2vec++ 模型来进一步研究这个方向,从而捕获具有多种类型节点的大型异质网络所表现出的结构相关性和语义相关性。这是以前的模型所无法处理的,并且我们将这些模型应用于各种网络挖掘任务。

11.1 模型

11.1.1 问题定义

  1. 异质网络Heterogeneous Network 定义:异质网络是一个图 ,其中每个节点 和每条边 分别关联一个映射函数:

    其中 表示节点类型, 表示边的类型,且满足

    例如可以用作者 author:A、论文 paper:P、会议 venue:V、组织 organization:O 作为节点类型来表示下图中的学术网络academic network 。其中边可以表示coauthor 合作者关系 A-Apublish 发表关系 A-P,P-Vaffiliation附属关系 O-Areference 引用关系 P-P 。黄色虚线表示 coauthor 关系,红色虚线表示引用关系。

  2. 异质网络 representation learning 问题:给定一个异质网络 ,任务的目标是学习一个 维的 latent representation ,其中 ,使得该 representation 能够捕获网络的结构关系以及语义关系。任务的输出是一个低维矩阵 ,其第 行对应一个 维向量 ,即顶点 embedding

    注意,尽管 中存在不同类型的节点,但是各种类型节点的 embedding 都被映射到相同的潜在空间中。学到的节点 embedding 可以应用于各种异质网络挖掘任务,如节点分类、节点聚类、相似节点搜索等。

    问题的挑战来自于网络异质性,其中很难直接应用同质的 language embedding 方法和同质的 network embedding 方法。network embedding 模型的基本假设是:在embedding 空间保持节点及其邻域(上下文context)之间的邻近性。但是在异质网络中,如何定义和建模 node–neighborhood 的概念?另外,我们如何优化 embedding 模型,其中该模型有效维护多种类型节点和关系的结构和语义?

11.1.2 metapath2vec

  1. 我们提出了一个通用框架 metapath2vec,从而在异质网络中学习所需要的的 node representationmetapath2vec 的目标是在考虑多种类型的节点和边的情况下最大化网络概率network probability

  2. 同质的 network embedding :首先考虑 word2vec 模型及其在同质 network embedding 任务中的应用。给定一个文本语料库,Mikolov 等人提出 word2vec 来学习语料库中单词的分布式 representation。受此启发,DeepWalknode2vec 旨在将文本语料库中的 word-context 概念映射到 network 中。这两种方法都利用随机游走来实现这一点,并利用 skip-gram 模型来学习 node representation ,这有助于在同质网络中预测节点的结构上下文 structural context(即局部邻域 local neighborhood)。通常,给定网络 ,模型的目标是根据局部结构 local structure 来最大化网络概率:

    其中:

    • 为网络 中节点 的邻域,它可以由不同的定义方式,如 的直接相连的顶点集合。
  1. 为了对顶点的异质邻域建模,metapath2vec 引入了异质 skip-gram 模型 Heterogeneous Skip-Gram。为了将异质网络结构融合到异质 skip-gram 模型中,metapath2vec 引入了基于 meta-path 的随机游走。

  2. 异质 skip-gram 模型:在 metapath2vec 中,给定异质网络 ,其中 表示节点类型, 表示边的类型,。我们通过最大化给定节点 的条件下,异质上下文 的条件概率,使得 skip-gram 能够学习异质网络 的有效node representation

    通常由一个 softmax 函数定义:

    其中: 的第 行,是节点 embedding 向量; 为异质上下文 embedding 向量。

    注意:

    • 这里 node embeddingcontext embedding 都是在同一个 embedding 空间中,它们共享 embedding 矩阵
    • 由于 与顶点类型 无关,仅仅和节点 pair 有关,如果我们将 合并为 ,则上式就是 DeepWalk 的目标函数。因此 metapath2vec 的目标函数和 metapath2vec 的目标函数是相同的,而且区别在于随机游走的方式不同。

    表示节点 的第 种类型的邻域节点。考虑下图的学术网络,其中author 节点 的邻域可以为:author 邻域 venue 邻域organization 邻域 paper 邻域

    为了有效优化目标函数,Milkolov 等人引入了负采样,它从网络种随机采样相对较小的一组节点来代替 softmaxmetapath2vec 也采用了相同的负采样技术。给定一个负采样大小 ,则定义:

    其中:

    • sigmoid 函数。
    • 为预定义的节点分布函数,根据该分布来采样 个负采样节点 metapath2vec 无视节点类型来构建节点的频率分布frequency distribution
  3. 基于 meta-path 的随机游走:如何有效的将网络结构转化为 skip-gram?在 DeepWalknode2vec 中,这是通过将 random walker 在网络上结合一个邻域函数来遍历的节点路径来实现的。

    我们也可以将 random walker 放到异质网络中,从而生成多种类型节点的路径。在随机游走的第 步,我们定义转移概率 为:在节点 的邻域上的归一化概率分布,其中忽略节点类型。然后将生成的游走序列作为 node2vecDeepWalk 的输入。但是, 《Pathsim: Meta path-based top-k similarity search in heterogeneous information networks》 证明了:异质随机游走偏向于高度可见的节点类型(即那些在路径中频繁出现的节点类型),以及中心节点(即那些出现频繁出现在关键路径中的节点)。有鉴于此,我们设计了基于 meta-path 的随机游走,从而生成能够捕获不同类型节点之间语义相关性和结构相关性的随机游走序列,从而有助于我们将异质网络结构转化为异质 skip-gram

    形式化地,一个 meta-path 范式 定义为一个路径:

    其中:

    • 为类型为 的节点集合, 定义了类型为 的节点和类型为 的节点之间的关系。
    • 定义节点类型 之间关系的一个组合。

    以下图为例:meta-path: APA 代表两个author (类型为 A ) 在同一论文(类型为 P) 上的 co-author 关系,meta-path: APVPA 代表两个author (类型为 A )在同一个会议(类型为 V )的不同论文(类型为 P)上的 co-venue 关系。

    先前的工作表明:异质信息网络中的许多数据挖掘任务都可以通过 meta-path 建模受益。这里我们展示如何利用 meta-path 来指导异质 random walker 。给定一个异质网络 以及一个 meta-path 范式 ,在随机游走的第 步的转移概率定义为:

    其中: 表示第 步的节点; 表示顶点 的、类型为 的邻域节点。

    即,下一个节点仅在类型为 的邻域节点中选择。

    由于 ,这意味着 random walker 必须根据预定义的 meta-path 来游走。此外,通常meta-path 都是对称的,如 ,因此有:

    基于 meta-path 的随机游走策略可以确保不同类型节点之间的语义关系可以正确的合并到 skip-gram 中。如下图所示,假设上一个节点为 CMU,当前节点为 。在传统的随机游走过程中,下一个节点可能是 周围的节点 。但是在meta-path 的范式 OAPVPAO 下,下一个节点倾向于论文类型的节点 (类型为 P),从而保持路径的语义。

    总体而言,metapath2vecnode2vec 都是在 DeepWalk 基础上针对随机游走策略的改进。

11.1.3 metapath2vec ++

  1. metapath2vec 在创建点 的邻域 时,根据上下文节点的类型来区分节点 的上下文节点,但是它忽略了 softmax 函数中的节点类型信息。即:在给定节点 的条件下,为了推断来自邻域 中给定类型的上下文 metapath2vec 实际上采用了所有类型的负样本,包括相同类型 的负样本,以及其它类型的负样本。

  2. 异质负采样heterogeneous negative sampling:我们进一步提出 metapath2vec++ 框架,其中softmax 根据上下文 的类型进行归一化。具体而言, 根据指定的节点类型 来调整:

    其中 为类型为 的节点集合。

    这样做时,metapath2vec++skip-gram 模型输出层中的每种邻域类型定义一组 softmax 分布。回想一下,在 metapath2vec、node2vec、DeepWalk 中,输出softmax 分布的维度等于网络的节点数量 。但是在 metapath2vec ++ 中,输出 softmax 分布的维度由类型为 的节点数量 决定。如下图所示给定节点 metapath2vec ++ 输出四组softmax 分布,每一组分布对应于不同的邻域节点类型:会议V、作者 A、组织 O、论文 P 给出了类型为 的节点集合, 给出了节点邻域中类型为 的邻居节点数量(也是窗口大小),

    注意,这里对每种类型顶点指定各自不同的窗口大小。

    受到 PTE 的启发,metapath2vec 在负采样过程中同样可以根据邻居节点 的类型进行调整,因此有目标函数:

    其中 为类型为 的顶点的分布函数。

    上式的物理意义为:负采样仅在上下文 类型相同的节点集合 中进行,而不是在全部节点集合 中进行。

    目标函数的梯度为:

    其中 为一个示性函数,用于指示 是否为邻域上下文节点 ,并且当

    最终可以通过随机梯度下降算法来对模型进行优化求解。

  3. metapath2vec++ 算法:

    • 输入:

      • 异构网络
      • 一个 meta-path 范式
      • 每个顶点开始的游走序列的数量
      • 每条游走序列的长度
      • embedding 维度
      • 邻域大小 (即窗口大小)
    • 输出:顶点的 embedding 矩阵

    • 算法步骤:

      • 初始化

      • 迭代 ,迭代步骤为:

        遍历图 中的每个顶点 ,执行:

      • 返回

  4. MetaPathRandomWalk 算法:

    • 输入:

      • 异构网络
      • 一个 meta-path 范式
      • 当前顶点
      • 每条游走序列的长度
    • 输出:一条 meta-path 随机游走序列

    • 算法步骤:

      • 初始化:

      • 迭代 ,迭代过程为:

        根据 采样顶点 ,并记录

      • 返回

  5. HeterogeneousSkipGram 算法:

    • 输入:

      • 当前的
      • 邻域大小
      • 随机游走序列 ,以及它的长度
    • 输出:更新后的

    • 算法步骤:

      • 迭代 ,迭代步骤为:

        取出当前顶点 , 对左侧的 个顶点、右侧的 个顶点共计 个顶点进行更新:

        其中 为学习率。

  6. 下图给出了异质学术网络heterogeneous academic network ,以及学习该网络embeddingmetapath2vec/metapath2vec ++skip-gram 架构。

    • a 的黄色虚线表示 co-author 关系,红色虚线表示论文引用关系。
    • b 表示 metapath2vec 在预测 的上下文时,使用的 skip-gram 架构。其中 为节点数量, 的邻居顶点包括 ,窗口大小
    • c 表示 metapath2vec ++ 在预测 的上下文时,使用的 skip-gram 架构。metapath2vec++ 中使用异质 skip-gram。在输出层中,它不是为邻域中所有类型的节点指定一组多项式分布,而是为邻域中每种类型的节点指定各自的一组多项式分布。 给出了类型为 的节点集合, 给出了节点邻域中类型为 的邻居节点数量(也是窗口大小),

    注:我们可以指定多个 metapath,针对每个 metapath 学到对应的 embedding,最后将所有 embedding 聚合起来从而进行 metapath ensemble

  7. 未来方向:

    • metapath2vec/metapath2vec++ 模型和 DeepWalk/node2vec 一样,在对网络采样生成大量随机游走路径时,面临大量中间临时输出数据的挑战。因此识别和优化采样空间是一个重要方向。
    • 和所有基于 meta-path 异质网络挖掘方法一样,可以通过自动学习有意义的 meta-path 来进一步改善 metapath2vec/metapath2vec++
    • 扩展模型从而融合演变中的异质网络的动态性 dynamic
    • 将模型泛化到不同风格genre 的异质网络。

11.2 实验

  1. 这里我们展示了 metapath2vec/metapath2vec ++ 用于异质网络 representation learning 的效果和效率。我们评估了经典的三种异质网络挖掘任务,包括:节点分类问题、节点聚类问题、相似节点搜索问题。

    另外,我们还通过 tensorflowembedding 可视化来观察异质学术网络中学到的节点 embedding

  2. 数据集:我们使用以下两个异质网络,它们都是公开的:

    • AMiner Computer Science(CS) dataset:包含 2016 年之前j举行的 3883 个计算机科学venue(包含会议 conference 和期刊 journal )的 9323739 名计算机科学家,以及 3194405 篇论文。我们构建了一个异质网络,该网络包含三种类型的节点: author:Apaper:Pvenue:V 。不同类型节点之间的链接代表不同的关系。
    • Database and Information Systems(DBIS) dataset:包含 464 个会议,以及其中 top-5000 个作者,以及对应的 72902 篇论文。我们也构建了一个异质网络,该网络包含三种类型的节点: author:Apaper:Pvenue:V
  3. baseline 方法:我们将 metapath2vec/metapath2vec ++ 和以下几种最近的网络 representation learning方法进行比较:

    • DeepWalk/node2vec :在相同的随机游走序列输入下,我们发现 DeepWalkhierarchical softmaxnode2vec 的负采样之间并未产生显著差异,因此我们这里采用 node2vec
    • LINE:我们使用同时采用了1 阶邻近性和 2 阶邻近性的 LINE 模型。
    • PTE:我们构建了三个异质二部图 A-A, A-V, V-V ,并将其作为无监督 embedding 学习方法的约束。
    • 谱聚类Spectral Clustering/图因子分解 Graph Factorization:因为早前的研究表明 DeepWalkLINE 的性能超越了它们,因此这里并不考虑这两种方法。
  4. 参数配置:对于所有模型,我们使用以下相同的参数:

    • 每个顶点开始的随机游走序列数量
    • 每个随机游走序列长度
    • 隐向量维度 。注意:对于 LINE 模型,其一阶embedding 和 二阶 embedding 的维度都是 128
    • 邻域size
    • 负采样size
    • 对于 metapath2vec/metapath2vec ++ ,我们还需要指定 meta-path 范式来指导随机游走的生成。我们调查了大多数基于 meta-path 的工作,发现异质学术网络中最常用和有效的meta-path 范式是 APAAPVPA 。注意,APA 表示 co-author 语义,即传统同质网络的 collaboration 关系;APVPA 代表两个 author 在同一个 venue 发表了论文(可以是不同的论文)的异质语义。我们的实验表明:meta-path 范式 APVPA 产生的节点 embedding 可以泛化到各种异质学术网络的挖掘任务中。

     

最后,在参数敏感性实验中,我们对参数中的一个进行变化,同时固定其它参数来观察 metapath2vec/metapath2vec ++ 的效果。

11.2.1 节点分类

  1. 我们使用第三方的 label 来确定每个顶点的类别。

    • 首先将 Google Scholar 中的八个会议的研究类别与 AMiner 数据中的会议进行匹配:

      每种类别20 个会议。在这 160 个会议中,有 133 个已经成功匹配并进行相应的标记。每篇论文标记为它所属会议的类别。

    • 然后,对于这 133 个会议的论文的每位作者,将他/她分配给他/她大部分论文的类别,如果论文类别分布均匀则随机选择一个类别。最终有 246678 位作者标记了研究类别。

  2. 我们从完整的 AMiner 数据集中学到节点的 embedding ,然后将上述节点标记以及对应的节点 embedding 一起作为逻辑回归分类器的输入。

    我们将训练集规模从标记样本的 5% 逐渐增加到 90% ,并使用剩下顶点进行测试。我们将每个实验重复十轮,并报告平均的 macro-F1micro-F1

    下表给出了 Venue 类型顶点的分类结果。

    下表给出了 Author 类型顶点的分类结果:

    结论:

    • metapath2ve/metapath2vec ++ 模型始终一致且明显的优于所有其它基准方法。
    • 在预测 Venue 类型节点的类别时,在训练数据量较小的情况下,metapath2vec/metapath2vec ++ 的优势特别明显。例如,给定 5% 的节点作为训练集,相对于 DeepWalk/node2vec, LINE, PTEmetapath2vec/metapath2vec++Macro-F1 方面实现了 0.08 ~ 0.23 的绝对提升(相对提升 35% ~ 319%),在 Micro-F1 方面实现了 0.13 ~ 0.26 的绝对提升(相对提升 39% ~ 145% )。
    • 在预测 Author 类型节点的类别时,每种方法的性能在不同训练集规模情况下都相对稳定metapath2vec/metapath2vec ++ 相对LINEPTE 稳定提升 2% ~ 3%、比 DeepWalk/node2vec 稳定提升 ~20%

    总之,通过多分类性能评估,metapath2vec/metapath2vec++ 学到的异质 node embedding 比当前 state-of-the-art 的方法要好得多。metapath2vec/metapath2vec++ 方法的优势在于它们对网络异质性挑战(包含多种类型节点和多种类型边)的适当考虑和适应。

  3. 我们接下来对 metapath2vec ++ 的几个通用参数进行超参数敏感性分析。我们变化其中的一个超参数,然后固定其它的超参数。

    结论:

    • 从图 ab 可以看到,参数 对于 author 节点的分类性能是正向的,其中 左右,author 节点分类性能提到到峰值附近。

      但是令人惊讶的是, 对于 venue 节点的分类性能无关。

    • 从图 cd 可以看到,embedding 尺寸 和邻域大小 venue 节点分类性能无关。而 对于 author 节点分类性能至关重要,下降的曲线表明较小的邻域大小对于 author 节点能够产生更好的 embedding 表示。这和同质图完全不同。在同质图中,邻域大小 通常对节点分类显示出正向影响,而这里是负向影响。

    • 根据分析,metapath2vec++ 对这些参数并不严格敏感,并且能够在 cost-effective 超参数选择的条件下(选择范围越小则效率越高)达到高性能。此外,我们的结果还表明,这些通用的超参数在异质网络中表示出和同质网络中不同的效果,这表明对于异质网络 representation learning需要采用不同的思路和解决方案。

11.2.2 节点聚类

  1. 我们采用与上述分类任务中使用的相同的八个类别的 author 节点和 venue 节点(AMiner CS 数据集),我们针对这些节点的 embedding 进行聚类。这里我们使用 k-means 聚类算法,并通过归一化的互信息 NMI 来评估聚类效果。

    给定随机变量 ,则归一化的互信息定义为:

    所有聚类实验均进行十次,并报告平均性能,结果如下表所示。结论:

    • 总体而言,metapath2vecmetapath2vec ++ 优于其它所有方法。
    • venue 节点聚合结果可以看到,大多数方法(除了 DeepWalk/node2vec )的NMI 都较高,因此该任务相对容易。但是我们的方法比LINEPTE2% ~ 3%author 节点聚类指标都偏低,因此任务更难。但是我们的方法相比最佳baselineLINEPTE)上获得更显著的增益:大约提升 13% ~ 16%

    总之,和 baseline 相比,metapath2vecmetapath2vec ++ 为网络中不同类型的节点生成了更合适的 embedding,这表明它们能够捕获和整合异质网络中各种类型节点之间的底层结构关系和语义关系。

  2. 和分类实验的步骤相同,我们研究了聚类任务中 metapath2vec ++ 的参数敏感性,衡量指标为 NMI

    • 从图 ab 可以看到,author 节点和 venue 节点在 时可以在效果和计算效率之间取得平衡。增加 author 节点的聚类结构正向影响,但是对 venue 节点影响不大。

    • 从图 cd 可以看到,对于 author 节点, 与聚类性能呈负面影响;而对于venue 节点, 也与聚类性能负面影响,但是 增加时聚类 NMI 先增加后减小。

      所有这些意味着对于 author 节点和 venue 节点,当 时,生成的 embedding 可以得到较好的聚类结果。

11.2.3 相似节点搜索

  1. 我们从 AMiner 数据集选择 16 个不同领域的顶级 CS 会议,然后通过余弦相似度选择这些会议节点的 top 10 相似度结果。结论:

    • 对于query 节点 ACLmetapath2vec++ 返回的venue 具有相同的主题 NLP ,如 EMNLP(1st)NAACL(2nd)Computational Linguistics(3rd)CoNLL(4th)COLING(5th) 等等。

      其它领域的会议的 query 也有类似的结果。

    • 大多数情况下,top3 结果涵盖了和 query 会议声望类似的venue。例如theory理论领域的 STOCFOCSsystem系统领域的 OSDISOSParchitecture 架构领域的HPCAISCAsecurity 安全领域的 CCSS&Phuman-computer interaction 人机交互领域的 CSCWCHINLP 领域的 EMNLPACLmachine learning 机器学习领域的 ICMLNIPSweb 领域的 WSDMWWWartificial intelligence 人工智能领域的 AAAIUCAIdatabase 数据库领域的 PVLDBSIGMOD 等等。

  2. 类似的,我们从 DBIS 数据中选择另外的 5CS 会议,然后通过余弦相似度选择这些会议节点的 top 10 相似度结果。结论也类似。

  3. 我们从 DBIS 数据中选择一个会议节点、一个作者节点,然后比较不同 embedding 方法找出的 top-5 相似度的结果。结果如下表所示,其中 metapath2vec ++ 能够针对不同类型的 query 节点获得最佳的 top-5 相似节点。

11.2.4 可视化

  1. 我们使用 tensorflow embedding 2PCA 来进一步可视化模型学到的节点 embedding 。我们从 AMiner CS 数据集选择 16 个不同领域的顶级 CS 会议,以及对应的顶级作者进行可视化。

    • 从图 d 可以看到,metapath2vec++ 能自动组织这两种类型的节点,并隐式学习它们的内部关系。这种内部关系可以通过连接每对节点的箭头的方向和距离表示,如 J.Dean --> OSDIC.D.Manning --> ACLR.E.Tarjan --> FOCSM.I.Jordan --> NIPS 等等。

      这两类节点位于两个独立的“列”中,很显然图 abembedding 无法达到同样的效果。

    • 从图 c 可以看到,metapath2vec 能够将每对author-venue pair 对进行紧密的分组,而不是将两种类型的节点分类两列。如 R.E.Tarjan + FOCSH.Jensen + SIGGRAPHH.Ishli + CHIR.Agrawal + SIGMOD 等等。 常规的 embedding 方法也无法达到这种效果。

    • metapath2vec/metapath2vec++ 都可以将来自相似领域的节点放在一起、不同领域的节点相距较远。这种分组不仅反映在 venue 节点上,也反映在 author 节点上。

  2. 下图通过 t-SNE 可视化了metapath2vec++ 学到的AMiner 数据集不同领域的顶级 CS 会议,一共48 个会议、16个领域,每个领域 3 个会议。

    • 可以看到:来自同一个领域的会议彼此聚在一起,并且不同组之间的间隔比较明显。这进一步验证了 metapath2vec++embedding 能力。
    • 另外,异质 embedding 能够揭示不同领域的节点之间的相似性。如,右下角的 Core CS 领域的几个簇(计算机系统簇 OSDI、计算机网络簇SIGCOMM、计算机安全簇S&P、计算机架构簇ISCA)、右上角的 Big AI 领域的几个簇(数据挖掘簇 KDD、信息检索簇 SIGIRAIAI、机器学习簇 NIPSNLPACL、计算机视觉簇 CVPR)。

    因此,这些可视化结果直观地展示了 metapath2vec++ 的新能力:发现、建模、以及捕获异质网络中多种类型节点之间的底层结构关系和语义关系。

11.2.5 可扩展性

  1. metapath2vec/metapah2vec ++ 可以使用和 word2vec/node2vec 中相同的机制来并行化。我们对 AMiner 数据集进行实验,实验在 Quad 12(48) core 2.3 GHz Intel Xeon CPUs E7-4850 上进行。我们实现不同的线程数 {1,2,4,8,16,24,32,40} ,每个线程使用一个 CPU core

    下面给出了metapath2vec/metapath2vec++ 的加速比。最佳加速比由虚线 表示。我们的这两种方法都可以达到能够接受的亚线性加速比,它们都接近于虚线。具体而言,在使用 16core 时,它们可以实现 11-12 倍的加速比;使用 40core 时,它们可以实现 24-32 倍加速比。

    在使用 40core 时,metapath2vec ++ 的学习过程只需要 9 分组即可训练整个 AMS CS 网络的 embedding ,该网络由 900 万以上的作者、3300 多个 venue300 万篇论文组成。总体而言,对于具有数百万个节点的大规模异质网络,metapath2vec/metapath2vec++ 是高效的且 scalable 的。

十二、GraphGAN[2018]

  1. graph representation learning(也被称作 network embedding)旨在将图(或者network)中的每个顶点表达为一个低维向量。graph representation learning 可以促进对顶点和边的网络分析和预测任务。学到的 embedding 能够使广泛的实际application 受益,例如链接预测、节点分类、推荐、可视化、知识图谱 representation、聚类、text embedding、社交网络分析。最近,研究人员研究了将 representation learning 方法应用于各种类型的图,例如加权图weighted graph 、有向图directed graph 、有符号图signed graph、异质图 heterogeneous graph、属性图attributed graph。此外,先前的一些工作也试图在学习过程中保留特定的属性,例如全局结构global structure 、社区结构 community structure、分组信息 group information、非对称传递性 asymmetric transitivity

    总的来讲,大多数现有的 graph representation learning 方法可以分为两类。

    • 第一类是生成式 graph representation learning 模型。类似于经典的生成模型generative model (例如高斯混合模型Gaussian Mixture Model: GMM或潜在狄利克雷分配 Latent Dirichlet Allocation: LDA),生成式 graph representation learning 模型假设:对于每个顶点 ,存在一个底层的真实的连通性分布underlying true connectivity distribution ,它给出了 对图中所有其它顶点的连通性偏好 connectivity preference(或者相关性分布relevance distribution )。因此,图中的边可以被视为由这些条件分布生成的观察样本 observed sample ,并且这些生成模型通过最大化图中边的可能性来学习顶点 embedding 。例如,DeepWalk 使用随机游走对每个顶点的上下文顶点进行采样,并尝试最大化观察给定顶点的上下文顶点的对数似然。node2vec 通过提出有偏随机游走过程进一步扩展了这个想法,这个有偏随机游走过程在为给定顶点生成上下文时提供了更大的灵活性。
    • 第二类是判别式 graph representation learning 模型。与生成模型不同的是,判别式 graph representation learning 模型不会将边视为从底层条件分布生成的,而是旨在学习一个分类器来直接预测边的存在。通常,判别模型discriminative model 将两个顶点 共同视为特征,并根据图中的训练数据预测两个顶点之间存在边的概率,即 。例如,SDNE 使用顶点的稀疏邻接向量 sparse adjacency vector 作为每个顶点的原始特征,并应用自编码器在边存在edge existence 的监督下提取顶点的低维稠密特征。PPNE 直接通过对正样本(连接的顶点 pair 对)和负样本(未连接的顶点 pair 对)的监督学习来学习顶点 embedding,同时在学习过程中也保留了顶点的固有属性。

    尽管生成模型和判别模型通常是 graph representation learning 方法的两个不相交的类别,但是它们可以被视为同一枚硬币的两个方面。事实上,LINE 已经对于隐式地结合这两个目标(一阶邻近性和二阶邻近性)进行了初步的尝试。最近,生成对抗网络 Generative Adversarial Net: GAN 受到了极大的关注。通过设计一个博弈论 game-theoreticalminimax 游戏来结合生成模型和判别模型,GAN 及其变体在各种应用中取得了成功,例如图像生成image generation 、序列生成sequence generation 、对话生成dialogue generation 、信息检索information retrieval 、领域适应 domain adaption

    GAN 的启发,论文 《GraphGAN: Graph Representation Learning with Generative Adversarial Nets》提出了一种新颖的框架 GraphGAN,它统一了 graph representation learning 的生成式思维和判别式思维。具体而言,框架的目标是在 GraphGAN 的学习过程中训练两个模型:

    • 生成器 generator ,它试图拟合底层的真实的连通性分布 ,生成最有可能与 连接的顶点。
    • 判别器 discriminator ,它试图区分 well-connected 的顶点 pair 对和 ill-connected 的顶点 pair 对,并计算顶点 之间存在边的概率。

    在提出的 GraphGAN 中,生成器 和判别器 minimax 游戏中充当两个参与者:生成器试图在判别器提供的指导下产生最难以区分的 “假” 顶点,而判别器试图在 ground truth 和 “假” 顶点之间划清界限从而避免被生成器愚弄。这场博弈中的竞争促使它们双方都提高自己的能力,直到生成器(代表模型学到的条件分布)与真实的连通性分布 true connectivity distribution 无法区分。

    GraphGAN 框架下,论文研究了生成器和判别器的选择。不幸的是,作者发现传统的softmax 函数(及其变体)不适用于生成器,有两个原因:

    • 对于给定的顶点,softmax 会同等对待图中的所有其它顶点,缺乏对图结构和邻近性信息 proximity information 的考虑。
    • softmax 的计算涉及图中的所有顶点,耗时且计算效率低。

    为了克服这些缺陷,论文在 GraphGAN 中提出了一种新的、针对生成器的 softmax 实现,称作 Graph SoftmaxGraph Softmax 为图中的连通性分布提供了新的定义。论文证明了 Graph Softmax 满足规范化normalization 、图结构感知graph structure awareness 、以及计算效率 computational efficiency 的理想特性。据此,论文为生成器提出了一种基于随机游走的在线生成策略 online generating strategy ,该策略与 Graph Softmax 的定义一致,可以大大降低计算复杂度。

    论文在五个真实世界的图结构数据集上将 GraphGAN 应用于三个真实世界场景,即链接预测、节点分类、推荐。实验结果表明:与 graph representation learning 领域的 state-of-the-artbaseline 相比,GraphGAN 取得了可观的收益。具体而言,在准确率指标上,GraphGAN 在链接预测中的性能优于 baseline 0.59% ~ 11.13%,在节点分类中的性能优于 baseline 0.95% ~ 21.71%。此外,GraphGAN 在推荐任务上将 Precision@20 至少提高了 38.56%Recall@20 至少提高了 52.33%。作者将 GraphGAN 的优越性归因于其统一的对抗性学习框架以及邻近性感知 proximity-awareGraph Softmax 设计。其中,Graph Softmax 可以自然地从图中捕获结构信息。

12.1 模型

  1. 这里我们首先介绍 GraphGAN 的框架,并讨论了生成器和判别器的实现和优化细节。然后,我们展示了作为生成器实现的 Graph Softmax,并证明了它优于传统 softmax 函数的性能。

12.1.1 GraphGAN 框架

  1. 令图 ,其中 为顶点集合, 为边集合。对于给定顶点 ,定义 直接相连的顶点集合(即,直接邻域),通常该集合的规模远远小于全量顶点集合

    我们定义顶点 的底层真实连通性分布 underlying true connectivity distribution 为条件概率 ,它反映了 中所有其它顶点的连通性偏好 connectivity preference 。从这个角度来看, 可以视为从 中抽取的一组观测样本 observed sample

  2. 给定图 ,我们的目标是学习以下两个模型:

    • 生成器 generator :它的目标是逼近 ,然后针对 生成最有可能和它连接的顶点。更准确的说,是从 中选择和 最有可能连接的顶点。
    • 判别器 discriminator :它的目标是判断顶点 pair 之间的连通性 connectivity。它输出一个标量,代表顶点 之间存在边的概率。

    生成器 和判别器 充当两个对手:

    • 生成器 试图完美拟合 ,然后生成 “假” 顶点。这些生成的顶点和 真实连接的邻居顶点相似,从而欺骗判别器
    • 判别器 试图检测这些顶点是否是 的真实邻居,还是由生成器 生成的 ”假“ 顶点。

    形式化地,生成器 和判别器 正在参与具有以下值函数value function 的双人 minimax 游戏:

    其中生成器和判别器的参数可以通过交替最大化和最小化值函数 来学习。

    第一项要求判别器 尽可能给 ”真邻居” 以较高的预估概率,第二项要求判别器 尽可能给 “假邻居” 以较低的预估概率。

  3. GraphGAN 整体框架如下图所示。每次迭代过程中,我们使用来自 的正样本(绿色顶点)和来自生成器 的负样本(带蓝色条纹的顶点)来训练判别器 ,并在 的指导下使用策略梯度更新生成器

    之间的竞争促使它们都改进自己的参数,直到 无法区分。

  4. 判别器Discriminator:给定从底层真实连通性分布而来的正样本,以及从生成器而来的负样本,判别器 的目标是最大化将正确 label 分配给正样本和负样本的概率的对数。如果判别器 是可微的,则可以通过针对 的梯度上升来解决。

    GraphGAN 中,我们简单地定义判别器 为两个输入顶点的 embedding 内积的 sigmoid 函数。理论上 SDNE 等任何判别式模型都可以用作判别器 ,我们将如何选择合适的判别器作为未来的研究。因此,这里的判别器为:

    其中 分别是判别器 中顶点 representation 向量,

    注意到这里仅包含 ,这意味着给定一对样本 ,我们仅仅需要通过对应的梯度上升来更新

    即,没必要更新全量顶点的 embedding

  5. 生成器Generator:和判别器相比,生成器 的目标是,使得判别器 区分由 生成的 “假” 顶点的概率最小化。即,生成器通过调整参数 来移动其近似的连通性分布 approximated connectivity distribution,从而增加其生成的 “假” 顶点在判别器 中的得分。

    由于生成器采样的顶点 是离散的,因此遵循 《Gradient estimation using stochastic computation graphs》《Irgan: A minimax game for unifying generative and discriminative information retrieval models》的做法,我们建议通过策略梯度policy gradient计算 的梯度:

    其中 为生成器采样的顶点数量。

    考虑到 无关,以及 ,因此有:

    则有:

    梯度 的物理意义为: 的加权和,权重为

    • 更容易被判别器 识别时, 得分较小,则加权的权重较大。
    • 更不容易被判别器 识别时, 得分较大,则加权的权重较小。

    这表明:当我们对 应用梯度下降时,更容易被判别器 区分的 “假” 顶点将“拉扯”生成器,使其得到一个较大的更新。

    生成器 最简单直接的实现方式是通过 softmax 函数来实现:

    其中 为分别是生成器 中顶点 representation 向量,

    为了在每轮迭代中更新 ,我们首先基于 计算近似的连通性分布 approximated connectivity distribution ,然后根据该分布随机采样一组样本 ,然后通过随机梯度下降法来更新

    注意,采样“假”顶点时采用更新前的生成器,然后通过随机梯度下降得到更新后的生成器。

12.1.2 Graph Softmax

  1. 在生成器中应用 softmax 有两个限制:

    • 计算 softmax 函数时涉及到图中的所有顶点,这意味着对于每个生成的样本 ,我们需要计算梯度 ,并更新所有顶点。这在计算上是低效的,尤其是对于具有数百万个顶点的真实世界的大型Graph
    • 图结构信息编码了顶点之间丰富的邻近性信息,但是 softmax 函数完全忽略了来自图的结构信息,因为它不加区分地对待所有顶点。

    最近 hierarchical softmax 和负采样技术是 softmax 的流行替代方案。尽管这些方法可以在一定程度上减少计算量,但是它们也没有考虑图的结构信息,因此应用于graph representation learning 时也无法获得令人满意的性能。

  2. 为解决softmax 的问题,在 GraphGAN 中我们提出了一个新颖的 Graph Softmax,其关键思想是:重新对生成器 定义一个满足下面三个属性的、理想的softmax 方法:

    • 归一化normalized :生成器 应该是一个有效的概率分布。即:
    • 图结构感知graph structure aware :生成器 应该利用图的结构信息。直观而言,对于图中的两个顶点,它们的连通性概率应该随着它们之间最短路径距离shortest distance 的增加而下降。
    • 计算高效 computationally efficient:和计算全量 softmax 不同,计算 应该仅仅包含图中的一小部分顶点。
  3. Graph Softmax:为计算 ,我们首先从顶点 开始对原始图 进行广度优先搜索 Breadth First Search: BFS ,这得到一棵以 为根的 BFS 。给定 ,我们将 表示为 的邻居的集合,即和 直连的顶点,包括 的直系父顶点和直系子顶点。

    注意: 既依赖于顶点 ,又依赖于顶点 。如果根顶点 不同,则BFS 也不同,则 的邻居集合也不同。另外,这里仅包含直接相连的顶点(直系父顶点、直系子顶点)。

    对于给定的顶点 及其邻居顶点 ,我们定义给定 的条件下 的概率为:

    这其实是定义在 上的一个 softmax 函数。

    定义的是路径概率:给定树 和顶点 ,下一步选择其父顶点或子顶点的路径概率。这个概率并不是 “假” 顶点的生成概率。

    注意到 中的每个顶点 可以从根节点 通过唯一的一条路径达到,定义该路径为 ,其中 。则 Graph Softmax 定义为:

    其中 由上式定义。最后一项因子 是为了归一化从而得到概率分布。

  4. 可以证明这种定义的 Graph Softmax 满足归一性、结构感知、计算高效等性质。

    • 定理一:Graph Softmax 满足 。证明见原始论文。

    • 定理二:在原始图中如果 的最短路径增加,则 下降。

      证明:由于 是通过广度优先 BFS 得到的,因此路径 同时也定义了一条从 的最短路径,该路径长度为 。随着最短路径增加,则 中的概率乘积越多,因此 越小。

    • 定理三:计算 依赖于 个顶点,其中 是所有顶点的平均 degree 为所有顶点的大小。

      证明:计算 依赖于两种类型的顶点:

      • 在路径 上的顶点。路径的最长长度为 ,它是 BFS 树的深度。
      • 路径上顶点直接相连的顶点。路径上每个顶点平均有 个邻居顶点相连。

12.1.3 算法和讨论

  1. 在线生成策略 online generating strategy :生成器 生成 “假” 顶点的一个简单方法是:为所有的 顶点计算 ,然后根据这个近似的连通性概率执行随机采样。

    这里我们提出一种在线的顶点生成方法,该方法计算效率更高并且与 Graph Softmax 的定义一致。为了生成一个顶点,我们从 中的根节点 开始,根据转移概率 执行随机游走。在随机游走过程中,如果 首次需要访问 的父节点(即在路径上反向),则选择 作为生成的顶点。

    因为 Graph Softmax 的定义中包含 的一条路径,并且还包含 的父节点的反向。

    下图给出了 “假” 顶点的在线生成过程,以及 Graph Softmax 计算过程。蓝色数字表示概率 ,蓝色实线箭头表示随机游走的方向,蓝色条纹顶点是被采样的顶点。最后一幅图的带颜色顶点(绿色、橙色、蓝色、蓝色带条纹)是需要更新参数的顶点。我们将当前访问的顶点记作 ,前一个访问的顶点记作 (即父节点)。

    • 在每个随机游走步通过概率 随机选择当前顶点 的一个邻居顶点(标记为蓝色)。
    • 一旦 ,则将 作为采样顶点并返回(标记为蓝色带条纹)。
    • 然后根据 对路径 上的所有路径顶点、以及它们直接相连的顶点的参数进行更新。

    生成器 在线生成算法最多执行 个迭代步,因为随机游走路径最迟会在到达叶结点时终止。类似于 Graph Softmax,在线生成方法的计算复杂度为 ,这大大低于离线生成方法的

  2. 生成器 在线生成算法:

    • 输入:

      • BFS
      • 顶点的embedding
    • 输出:生成的顶点

    • 算法步骤:

      • 初始化:

        • 根据概率 随机选择一个顶点
        • 如果 ,则 ,直接返回
        • 否则
  3. GraphGAN 算法:

    • 输入:

      • embedding 维度
      • 生成样本数
      • 判别样本数
    • 输出:

      • 生成器
      • 判别器
    • 算法步骤:

      • 初始化和预训练 以及

      • 对每个顶点 ,构建 BFS

      • 迭代直到 GraphGAN 收敛,迭代步骤为:

          • 根据生成器在线生成算法,生成器 对每个顶点 采样 个顶点
          • 根据 更新
          • 对每个顶点 ,从真实邻居顶点中采样 个正样本,从 中采样 个负样本。
          • 根据 来更新
      • 返回

  4. 由于构建每棵BFS 树的算法复杂度为 ,则构建所有 BFS 树的计算复杂度 。其中 为顶点的平均degree

    G-steps ,每一行的算法复杂度都是 ;在 D-steps,第一行的算法复杂度为 ,第二行的算法复杂度为 。由于 都是常数,因此 GraphGAN 每次迭代的算法复杂度为

    因此总的算法复杂度为 ,由构建 BFS 树的部分决定。

  5. 读者注:论文将生成器的 embedding 作为顶点的最终 embedding,而并没有采用判别器的 embedding 。这是因为在链接预测任务的实验中表明:生成器 embedding 的效果要比判别器 embedding 的效果更好。

    理论上也可以尝试拼接生成器的 embedding 和判别器的 embedding 从而得到顶点的最终 embedding

12.2 实验

  1. 我们评估 GraphGAN 在一系列真实数据集上的性能,包括链接预测、节点分类、推荐等三个任务。

  2. 数据集:

    • arXiv-AstroPh 数据集:来自 arXiv 上天文物理领域的论文,包含了作者之间的 co-author 关系。顶点表示作者,边表示co-author 关系。该图包含 18772 个顶点、198110 条边。
    • arXiv-GrQc 数据集:来自 arXiv 上广义相对论与量子宇宙学领域的论文,包含了作者之间的 co-author 关系。顶点表示作者,边表示co-author 关系。该图包含 5242 个顶点、14496 条边。
    • BlogCatalog 数据集:来自 BlogCatelog 网站上给出的博主的社交关系网络。顶点标签表示通过博主提供的元数据推断出来的博主兴趣。该图包含 10312 个顶点、333982 条边、39 个不同的标签。
    • Wikipedia 数据集:来自维基百科,包含了英文维基百科 dump 文件的前 个字节中的单词 co-occurrence 网络。顶点的标签表示推断出来的单词词性Part-of-Speech:POS 。该图包含 4777 个顶点、184812 条边、40 个不同的标签。
    • MovieLens-1M 数据集:是一个二部图,来自 MovieLens 网站上的大约 100 万个评分(边),包含 6040 位用户和 3706 部电影。
  3. baseline 方法:

    • DeepWalk:通过随机游走和 skip-gram 来学习顶点 embedding
    • LINE:保留了顶点的一阶邻近性和二阶邻近性。
    • Node2Vec:是 DeepWalk 的一个变种,通过一个biased 有偏的随机游走来学习顶点 embedding
    • Struct2Vec:捕获了图中顶点的结构信息。
  4. 参数配置:

    • 所有方法的embedding 的维度

    • 所有baseline 模型的其它超参数都是默认值。

    • 在所有任务上,GraphGAN 的学习率都是 0.001 为测试集的正样本数,然后分别执行 G-stepsD-steps 30次。这些超参数都是通过交叉验证来选取的。

      最终学到的顶点 embedding 为生成器的 (而不是判别器的 ) 。

12.2.1 连通性分布

  1. 我们首先实验了图中连通性分布的模式,即:边的存在概率如何随着图中最短路径的变化而变化。

    我们首先分别从 arXiv-AstroPharXiv-GrQc 数据集中随机抽取 100 万个顶点 pair 对。对于每个选定的顶点 pair 对,我们删除它们之间的连接(如果存在),然后计算它们之间的最短距离。我们计算所有可能的最短距离上边存在的可能性,如下图所示。

    • 显然,顶点 pair 对之间存在边的概率随着它们最短路径的增加而急剧下降。

    • 从对数概率曲线几乎为线性可以看出,顶点 pair 对之间的边存在概率和它们最短距离的倒数成指数关系。这进一步证明了 Graph Softmax 捕获了真实世界 Graph 的本质。

      这进一步证明了 Graph Softmax 捕获了真实世界 Graph 的结构信息。

12.2.2 链接预测

  1. 在链接预测任务中,我们的目标是预测两个给定顶点之间是否存在边。因此该任务显式了不同的 graph representation learning 方法预测链接的能力。

    我们随机将原始图中 10% 的边作为测试集,并在图上删掉这些边,然后用所有的顶点和剩下的边来训练模型。训练后,我们根据所有顶点训练得到的 embedding 向量,然后用逻辑回归来预测给定顶点 pair 对之间存在边的概率。测试集包含原始图中删掉的 10% 条边作为正样本,并随机选择未连接的相等数量的pair 对作为负样本。

    我们使用 arXiv-AstroPharXiv-GrQc 作为数据集,并在下表报告准确率和 Macro-F1 的结果。结论:

    • LINEstruct2vec 的性能在链接预测方面相对较差,因为它们不能完全捕获图中链接存在的模式。
    • DeepWalknode2vec 的性能优于 LINEstruct2vec,这可能优于 DeepWalknode2vec 都利用了基于随机游走的 skip-gram 模型,该模型在提取顶点之间邻近性方面表现更好。
    • GraphGAN 优于所有 baseline 方法。具体而言,GraphGANarXiv-AstroPh 的预测准确率提升 1.18% ~ 4.27%、将 arXiv-GrQc的预测准确率提升 0.59% ~ 11.13%。我们认为,与 baseline 方法的单个模型训练相比,对抗训练为 GraphGAN 提供了更高的学习灵活性。

  2. 为直观了解 GraphGAN 学习的稳定性,我们进一步给出了生成器和判别器在 arXiv-GrQc 上的学习曲线learning curve。可以看到:GraphGAN 中的 minimax game 达到了平衡,其中生成器在收敛后表现出色,而判别器的性能首先增强然后逐渐降到 0.8以下。注意,判别器不会降级到随机盲猜的水平,因为在实践中生成器仍然提供很多真正的负样本。

    结果表明,与 IRGAN 不同,Graph Softmax 的设计使得 GraphGAN 中的生成器能够更有效地采样顶点和学习顶点 embedding

    这个实验表明生成器 embedding 要比判别器 embedding 效果更好。

12.2.3 节点分类

  1. 在节点分类中,每个顶点被分配一个或者多个标签。在我们观察到一小部分顶点及其标签之后,我们的目标是预测剩余顶点的标签。因此,顶点分类的性能可以揭示不同 graph representation learning 方法下顶点的可分性。我们在 BlogCatalogWikipedia 数据集上执行顶点分类任务。我们在整个图上训练模型,然后将顶点 embedding 作为逻辑回归分类器的输入。其中训练集、测试集按照 9:1 的比例进行拆分。我们报告了测试集的准确率和 Macro-F1 结果。

    可以看到:GraphGAN 性能在这两个数据集上都优于所有基准模型。例如,GraphGAN 在这两个数据集的准确率上分别实现了 1.75% ~ 13.17% 以及 0.95% ~ 21.71% 的增益。这表明:尽管GraphGAN 设计用于建模顶点之间的连通性分布,但是它仍然可以有效的将顶点信息编码到顶点 embedding 中。

12.2.4 推荐

  1. 我们使用 Movielens-1M 作为推荐数据集,我们的目标是对每个用户向该用户推荐一组尚未观看、但是可能被用户喜欢的电影。

    我们首先将所有的4星和 5星评级视为边,从而得到一个二部图。然后将原始图的 10% 边随机隐藏作为测试集,并为每个用户构建 BFS 树。注意:和之前的两个任务不同,在之前任务中,对于给定的顶点我们定义了它与所有其它顶点的连通性分布。但是推荐任务中,一个用户的连接概率仅定义在图中的一小部分电影顶点上(用户顶点之间不存在连接、电影顶点之间也不存在连接)。因此我们在用户的 BFS 树中,对于除根顶点之外的所有用户顶点,我们将它们和位于当前 BFS 树中的电影顶点添加直连边来 shortcut

    在训练并获得用户和电影的embedding 之后,对于每个用户,我们基于user embeding 和电影 embedding 的相似度来挑选 个用户未观看的电影来作为推荐结果。我们给出测试集上的 Precision@KRecall@K 指标。可以看到:GraphGAN 始终优于所有基准方法,并在两个指标上均有显著改进。以 Precision@20 为例,GraphGANDeepWalk, LINE, node2vec, struct2vec 分别高出 38.56%58.60%124.95%156.85% 。因此,我们可以得出结论:GraphGANranking-based 任务中保持了更出色的性能。

十三、struc2vec[2017]

  1. 在几乎所有网络中,节点往往具有一种或多种功能,这些功能极大地决定了节点在系统中的作用。例如,社交网络 social network 中的个体具有社会角色 social role 或社会地位 social position ,而 protein-protein interaction(PPI) network 中的蛋白质发挥特定功能。直观而言,这些网络中的不同节点可能执行类似的功能,例如公司的社交网络中的实习生、细胞的 PPI 网络中的催化剂。因此,节点通常可以根据它们在网络中的功能划分为等价的类别 equivalent class

    尽管此类功能的识别通常利用节点的属性和边的属性,但是当节点功能仅由网络结构定义时,会出现更具挑战性和更有趣的场景。在这种情况下,甚至节点的 label 都不重要,而只需要节点与其它节点(或者边)的关系。事实上,自 1970 年代以来,数学社会学家mathematical sociologist 一直在研究这个问题,定义和计算社交网络中个体的结构身份 structural identity。除了社会学之外另一个例子是,识别网页在 web-graph 中的结构身份(如 hubauthority ),正如 Kleinberg 的著名著作《Authoritative sources in a hyperlinked environment》所定义的那样。

    结构身份是一种对称性概念,其中节点是基于网络结构来识别的。这个概念与网络中节点所扮演的功能或角色密切相关。确定节点结构身份的最常见实用方法是基于距离或者递归。

    • 在基于距离的方法中,我们利用节点邻域的距离函数从而测量所有节点 pair 对之间的距离,然后执行聚类clustering或匹配matching 从而将节点放入等价的类别。
    • 在基于递归的方法中,我们构造一个关于相邻节点的递归,然后迭代展开 iteratively unfold 直到收敛,节点上的最终值final value 用于确定等价的类别。

    虽然这些方法有优点和缺点,但论文 《struc2vec: Learning Node Representations from Structural Identity》 提供了一种替代方法,一种基于无监督 representation learning 的方法用于识别节点的结构身份。

    最近在学习网络中节点的潜在 representation 方面的努力在执行分类和预测任务方面非常成功。具体而言,这些努力使用广义的节点邻域作为上下文 context (例如,随机游走的 步、或者具有共同邻居的节点集合),从而对节点进行编码。简而言之,具有相似邻域的节点应该具有相似的潜在 representation 。但是,邻域是由网络中的一些邻近性概念 notion of proximity 定义的局部概念 local concept 。因此,如果两个节点的邻域表现出结构相似但是相距很远,那么这两个节点将不会具有相似的潜在 representation 。下图说明了这个问题,其中节点 扮演相似的角色(即,具有相似的局部结构 local structure),但是这两个节点在网络中相距很远。由于它们的邻域没有交集,因此最新的方法无法捕获它们的结构相似性 structural similarity

    值得注意的是,为什么最近学习 node representation 的方法,如 DeepWalknode2vec 在分类任务中成功,但是在结构等价性任务 structural equivalence task 中往往失败。关键是在大多数真实网络中,许多节点特征都表现出强烈的同质性,例如具有相同政治倾向 political inclination 的两个博客存在连接的可能性相比随机的两个博客要大得多。具有给定特征的节点,其邻居更有可能具有相同的特征。因此,在网络和潜在 representation 中,“靠近” (close)的两个节点将倾向于有相似的 representation。同样地,“远离”(far)的两个节点将倾向于有不同的 representation,而与节点的局部结构无关。因此,潜在 representation 将无法正确地捕获结构等价性 structural equivalence。然而,如果分类任务更多地依赖于结构身份的特征而不是同质性的特征,那么捕获结构等价性的方法将超越最近的这些方法。

    论文 《struc2vec: Learning Node Representations from Structural Identity》 的主要贡献是一个灵活的、称作 struc2vec 的框架,用于学习节点结构身份的潜在representation 。该框架是基于潜在 representation 来研究结构身份的强大工具。 struc2vec 的关键思想是:

    • 独立于节点属性、边属性、以及节点和边在网络中的位置来评估节点之间的结构相似性 structural similarity 。因此,具有相似局部结构的两个节点被认为是相似的,而无关于节点在网络中的位置和节点的 label。并且该方法也不需要网络是连通的,可以在不同的连通分量connected component 中识别结构相似的节点。
    • 建立一个层级 hierarchy 来衡量结构相似性,从而允许更严格的结构相似性的的概念。具体而言,在 hierarchy 的底部,节点之间的结构相似性仅取决于它们的 degree;而在 hierarchy 的顶部,节点之间的结构相似性取决于整个网络(从节点的角度来看)。
    • 为节点生成随机上下文。该上下文是结构相似的节点序列,通过遍历一个多层图 multilayer graph (而不是原始网络)的加权随机游走而观察到的。因此,经常出现在相似上下文中的两个节点可能具有相似的结构。语言模型利用了这种上下文来学习节点的潜在 representation

    论文实现了一个 struc2vec 实例,并通过对 toy 网络和真实网络的实验展示了 struc2vec 的潜力,并将 struc2vec 的性能与 DeepWalknode2vecRolX 等方法进行比较。DeepWalknode2vec 是用于学习节点潜在 representation 的两种 state-of-the-art 技术,RolX 是一种识别节点角色的最新方法。

    论文的实验结果表明:

    • DeepWalknode2vec 未能捕获到结构身份的概念,而 struc2vec 在这项任务上表现出色,即使原始网络受到很强的随机噪声(随机地移除边)的影响。
    • struc2vec 在那些节点标签更多地依赖于结构身份的分类任务中表现出色,例如航空交通网络air-traffic network
  2. 相关工作:在过去的几十年中,在空间(例如欧式空间)中嵌入网络节点受到了不同社区的广泛关注。embedding 技术有助于帮助机器学习应用程序利用网络数据,因为 node embedding 可以直接用于分类和聚类等任务。

    在自然语言处理中,为稀疏数据生成稠密的 embedding 具有悠久的历史。最近,人们提出 SkipGram 作为一种有效的技术来学习文本数据的 embedding 。学到的语言模型将语义相似的单词在 embedding 空间中彼此靠近。

    DeepWalk 首先提出从 network 中学习语言模型。它使用随机游走从网络中生成节点序列,然后将节点序列视为句子sentence 并应用 SkipGram。直观而言,网络中靠近的节点往往具有相似的上下文,因此具有彼此靠近的 embeddingnode2vec 后来扩展了这一思想,并提出有偏 biased 的二阶随机游走模型,从而在生成节点上下文时提供了更大的灵活性。具体而言,node2vec 通过设计边权重(边权重会导致有偏的随机游走)从而尝试同时捕获节点同质性 vertex homophily 和结构等价性 structural equivalence 。然而,这里存在一个基本限制:如果节点的距离(hop 数)大于 SkipGram 窗口,那么结构相似的节点将永远不会共享相同的上下文。

    struc2vec 也是基于 DeepWalk 框架的,只是 struc2vec 生成随机游走序列的方式不同。

    subgraph2vec 是最近提出的另一种学习有根子图 rooted subgraphembedding 的方法。与以前的技术不同,它不使用随机游走来生成上下文。相反,节点的上下文仅由其邻居定义。此外,subgraph2vec 通过将具有相同局部结构local structure 的节点嵌入到空间中的同一个点来捕获结构等价性。尽管如此,结构等价性的概念是非常严格的,因为它被定义为由 Weisfeiler-Lehman 同构测试规定的二元属性 binary property0/1 代表是否某个子结构)。因此,结构上非常相似(但是未通过 Weisfeiler-Lehman 同构测试)并且具有非重叠邻居 non-overlapping neighbor 的两个节点在空间上可能不会靠近。

    subgraph2vec 类似,最近人们在学习网络节点更丰富的 representation 方面做出了相当大的努力。然而,构建显式捕获结构身份的 representation 是一个相对正交的问题,尚未受到太多关注。这是 struc2vec 的重点。

    最近一种仅使用网络结构来显式识别节点角色的方法是 RolX。这种无监督方法的思想为:

    • 枚举节点的各种结构特征。
    • 为这个联合特征空间找到更合适的基向量。
    • 为每个节点分配一个已识别角色(即基向量)的分布。

    这允许每个节点跨多个角色从而得到混合成员关系 mixed membership 。在未显式考虑节点相似性或节点上下文的情况下,RolX 很可能会遗漏结构上等价的节点 pair 对。

13.1 模型

  1. 考虑捕获网络中节点结构身份的 representation learning 问题。一个成功的方法应该有两个预期的属性:

    • 节点的潜在 representation 之间的距离应该与其结构相似性structural similarity 强相关。因此,具有相同结构身份的两个节点应该具有相同的潜在 representation,而具有不同结构身份的节点应该相距很远。
    • 节点的潜在 representation 不应该依赖于任何节点属性或边属性,包括节点 label。因此,结构相似的节点应该具有靠近的潜在 representation ,独立于其邻域中节点属性和边属性。节点的结构身份必须独立于节点在网络中的 “位置”。

    鉴于这两个属性,我们提出了 struc2vec框架。这是一个用于学习节点潜在 representation 的通用框架,由四个部分组成:

    • 结构相似性度量:基于不同的邻域大小,为图中每对节点 pair 对之间定义结构相似性。这在节点之间的结构相似性度量中引入了 hierarchy ,为评估 hierarchy 中每个 level 的结构相似性提供了更多信息。

      每个邻域大小定义了一组节点 pair 相似性。

13.1.1 结构相似性

  1. struc2vec 的第一步是在不使用任何节点属性或边属性的情况下确定两个节点之间的结构相似性。此外,这种相似性度量应该是层次的 hierarchical ,即随着邻域大小不断增加而捕获更精细的结构相似性概念。直观而言,具有相同degree 的两个节点在结构上相似。但是如果它们的邻居也具有相同的 degree,则这两个节点在结构上会更相似。

  2. 为一个无向无权图, 为节点集合, 为边集合, 为所有节点数量。设 为图的直径(节点 pair 对之间距离的最大值)。

    定义 为图中与节点 距离为 的节点的集合, 。根据该定义, 表示 的直接邻居节点的集合, 表示和 距离为 的环 ring 上的节点集合。定义 为节点集合 的有序degree 序列 ordered degree sequence

    通过比较节点 的距离为 (一个环 ring 上的节点)的有序degree 序列,我们可以得到节点 的相似性。根据不同的距离 ,我们可以得到一个 hierarchy 相似性。具体而言,定义 为节点 阶结构距离(考虑节点 k-hop 邻域,即距离小于或等于 的所有节点它们之间的边),我们递归定义为:

    其中 衡量了两个有序 degree 序列 的距离,且

    的物理意义为:节点 阶结构距离等于它们的 阶结构距离加上它们的第 阶环之间的距离。

    根据定义有:

    • 是随着 递增,并且只有当 各自都存在距离等于 的邻域节点时才有定义。
    • 将比较节点 各自距离为 的环的有序 degree 序列。
    • 如果 阶邻域是 isomorphic 同构的,则有
  3. 最后一步是确定某个函数来比较两个 degree 序列,即函数 。考虑到两个有序 degree 序列 可能具有不同的长度(因为对于不同节点,其 阶环的size 不同),且它们的元素是位于 之间的任意整数(可能有重复的整数),则如何选择合适的距离函数是一个问题。

    我们采用 Dynamic Time Warping: DTW 算法来衡量两个有序 degree 序列的距离,该算法可以有效地处理不同长度的序列并宽松地 loosely 比较序列模式 sequence pattern

    非正式地,DTW 算法寻找两个序列 之间的最佳对齐 alignment。给定序列元素的距离函数 DTW 的目标是匹配每个元素 ,使得被匹配的元素之间的距离之和最小。由于序列 的元素是节点的 degree,因此我们采用以下距离函数:

    注意:

    • 时,。因此,两个相同的有序 degree 序列将具有零距离。
    • 采用这种距离,degree 1degree 2 之间的距离,相比 degree 101degree 102 之间的距离,二者差异悬殊。这恰好是度量节点 degree 之间距离所需的属性。

    最后,虽然我们使用 DTW 来评估两个有序 degree 序列之间的相似性,但是我们的框架可以采用任何其它函数。

  4. DTW 算法:假设 ,则 DTW 算法需要寻找一条从 出发、到达 的最短路径。假设路径长度为 ,第 个节点为 ,则路径需要满足条件:

    • 边界条件:
    • 连续性性:对于下一个节点 ,它必须满足 。即数据对齐时不会出现遗漏。
    • 单调性:对于下一个节点 ,它必须满足 。即数据对齐时都是按顺序依次进行的。
    • 路径最短: ,其中 为单次对齐的距离。

    如下图所示,根据边界条件,该路径需要从左下角移动到右上角;根据单调性和连续性,每一步只能选择右方、上方、右上方三个方向移动一个单位。该问题可以通过动态规划来求解。

13.1.2 构建 context graph

  1. 我们构建了一个 multilayer 加权图来编码节点之间的结构相似性。定义 为一个multilayer 图,其中 layer )根据节点的 阶结构相似性来定义。

    layer 是一个包含节点集合 的带权无向完全图 complete graph (完全图表示任意一对节点之间存在边),即包含 条边。每条边的权重由节点之间的 阶结构相似性来决定:

    • 仅当 有定义时,layer 中节点 之间的边才有定义。
    • layer 中边的权重与结构距离(即 阶结构相似性)成反比。
    • layer 中边的权重小于等于1 ,当且仅当 时权重等于 1
    • 和节点 结构相似的节点将在 的各层中都具有更大的权重。

    由于 是随着 的增加单调增加的,因此同一对节点 multilayer 图的底层到高层,边的权重是逐渐降低的。

  2. 对于multilayer 图的不同层之间,我们使用有向边进行连接。每个节点可以连接上面一层、下面一层对应的节点。假设节点 layer 记作 ,则 可以通过有向边分别连接到

    对于跨 layer 的边,我们定义其边的权重为:

    其中 layer 中, 的所有边中权重大于该层平均边的权重的数量。即:

    因此 衡量了在layer ,顶点 和其它顶点的相似性(超出平均水平的、相似的节点数量)。这里采用对数函数,因为节点 超过层内平均权重的边的数量取值范围较大,通过对数可以压缩取值区间。

    • 如果 在当前层拥有很多结构相似的节点,则应该切换到更高层进行比较,从而得到更精细的上下文。

      根据定义有 ,因此每个每个节点连接更高层的权重不小于连接更低层的权重。

    • 通过向上移动一层,相似节点的数量只会减少。

      因为同一对节点 multilayer 图的底层到高层,结构相似性是逐渐降低的。

  3. 具有 层,每一层有 个节点,层内有 条边,层之间有 条边。因此multilayer 图有 条边。接下来我们会讨论如何优化从而降低生成 的计算复杂度,以及存储 的空间复杂度。

13.1.3 生成节点上下文

  1. 我们通过 multilayer 来生成每个节点 的结构上下文。注意: 仅仅使用节点的结构信息,而没有采用任何额外信息(如节点属性或节点 label)来计算节点之间的结构相似性。

    和之前的工作一样,我们也采用随机游走来生成给定节点的上下文。具体而言,我们考虑有偏的随机游走:根据 中边的权重来在 中随机游走。假设当前 layer 位于第 层:

    • 首先以概率 来决定:是在当前 layer 内游走还是需要切换 layer 游走。即以概率 来留在当前layer,以概率 来跨层。

      为一个超参数。

    • layer 内游走:当随机游走保留在当前 layer 时,随机游走从节点 转移到节点 的概率为:

      其中分母是归一化系数。

    因此随机游走更倾向于游走到与当前节点结构更相似的节点,避免游走到与当前节点结构相似性很小的节点。最终节点 的上下文中包含的更可能是和 结构相似的节点,与它们在原始网络 中的 label 和位置无关。

    • 层间游走:如果需要切换 layer ,则是移动到更上一层、还是移动到更下一层,这由层之间的有向边的权重来决定:

      跨层概率正比于层之间的有向边的权重。

  2. 最后,对于每个节点 ,我们从第 层开始进行随机游走。每个节点生成以它为起点的 条随机游走序列,每条随机游走序列的长度为

  3. 我们通过 SkipGram 来从随机游走序列中训练节点 embedding ,训练的目标是:给定序列中的节点,最大化其上下文的概率。其中上下文由中心窗口的宽度 来给定。

    • 为了降低计算复杂度,我们采用 Hierarchical Softmax 技巧。
    • 这里也可以不使用 SkipGram ,而采用任何其它的文本 embedding 技术。

13.1.4 优化

  1. 为了构建 ,我们需要计算每一层每对节点之间的距离 ,而 需要基于 DTW 算法在两个有序 degree 序列上计算。经典的 DTW 算法的计算复杂度为 ,其快速实现的计算复杂度为 ,其中 为最长序列的长度。

    为网络中的最大 degree,则对于任意节点 layer degree 序列的长度满足 ,其中 表示 次幂,它随着 的增加而很快接近 。由于每一层有 对节点,因此计算第 层所有距离的计算复杂度为 。最终构建 的计算复杂度为 。接下来我们介绍一系列优化来显著减少计算复杂度和空间复杂度。

  2. 优化一:降低有序 degree 序列的长度。

    为了降低对比长序列距离的代价,我们对有序degree 序列进行压缩:对序列中出现的每个 degree,我们保存它出现的次数。压缩后的有序 degree 序列由该 degree,以及它出现的次数构成的元组来组成。由于网络中很多节点往往具有相同的 degree,因此压缩后的有序 degree 序列要比原始序列小一个量级。

    注意:压缩后的有序 degree 序列也是根据 degree 进行排序。

    为压缩后的有序 degree 序列,它们的元素都是元组的形式。则我们在DTW 中的距离函数 修改为:

    其中 都是 degree 都是degree 对应出现的次数。

    注意:使用压缩的 degree 序列会使得具有相同 degree 的原始序列片段之间的比较。原始的 DTW 算法是比较每个 degree,而不是比较每个 degree 片段,因此上式是原始 DTW 的近似。由于 DTW 现在在 上计算,而它们要比 短得多,因此可以显著加速 DTW 的计算速度。

  3. 优化二:降低成对节点相似性计算的数量。

    在第 层,显然没有必要计算每对节点的相似性。考虑degree 相差很大的一对节点(如degree=2degree=20 ),即使在 层它们的结构距离也很大。由于节点之间的结构距离随着 的增大而增大,因此当 时它们的结构距离更大。因此这样的一对节点在 中的边的权重很小,则随机游走序列不太可能经过这种权重的边,因此在 中移除这类边不会显著改变模型。

    我们将每一层需要计算结构相似性的节点数量限制为:每个节点最多与 个节点计算相似性。令节点 需要计算相似性的邻居节点集合为 ,则 需要包含那些在结构上和 最相似的节点,并且应用到所有 layer

    我们选取和 degree 最相似的节点作为

    • 首先对全网所有节点的有序 degree 序列进行二分查找,查找当前节点 degree
    • 然后沿着每个搜索方向(左侧、右侧)获取连续的 个节点。

    计算 的计算复杂度为 ,因为我们需要对全网节点根据 degree 进行排序。现在 每一层包含 条边 ,而不是 条边。

  4. 优化三:降低层的数量。

    中的层的数量由网络直径 来决定。然而,对于许多网络,直径可能远远大于平均距离。此外,实际上当 的值足够大时,评估两个节点之间的结构相似性就没有任何意义。因为当 接近 时, 这两个序列都非常短,这使得 几乎相等。

    较大时,和目标节点 距离刚好为 的环非常稀疏。

    因此我们可以将 的层的数量限制为一个固定的常数 ,从而仅仅采用最重要的一些层来评估结构相似性。这显著减少了构建 的计算需求和内存需求。

  5. 尽管上述优化的组合会影响节点的结构embedding,但是我们实验证明:这些优化的影响是微不足道的,甚至是有益的。因此降低模型计算量和内存需求的好处远远超出了它们的不足。最后,我们还提供了 struc2vec 的源代码:https://github.com/leoribeiro/struc2vec

13.2 实验

13.2.1 杠铃图

  1. 我们定义 (h,k)-barbell 图:

    • 杠铃图包含两个完全图 ,每个完全图包含 个节点。
    • 杠铃图包含一个长度为 的路径 ,其节点记作 ,该路径连接两个完全图。
    • 两个节点 作为 bridge ,我们连接

    杠铃图中包含大量结构身份相同的顶点。

    • 定义 ,则所有的节点 为结构等价的。
    • 顶点对之间也是结构等价的。
    • 这对bridge 也是结构等价的。

    下图给出了 杠铃图,其中结构等价的顶点以相同的颜色表示。

  2. 我们期望 struc2vec 能够学习捕获上述结构等价的节点 representation 。结构等价的每个节点都应该具有相似的潜在 representation。此外,学到的 representation 还应该捕获结构层次 structural hierarchy:虽然节点 和节点 不等价,但是我们可以清楚地看到,从结构的角度来看,节点 更相似(它们的 degree 更接近)。

    我们使用 DeepWalk,node2vec,struc2vec 等模型学习杠铃图中节点的 embedding 。这些模型都采用相同的参数:每个节点开始的随机游走序列数量 20、每条游走序列长度 80SkipGram 窗口大小为5 。对于 node2vec

    下图给出了各模型针对 杠铃图学到的 embedding

    • DeepWalk 无法捕获结构等价性。这是符合预期的,因为 DeepWalk 并不是为结构等价性而设计的。

    • node2vec 也无法捕获结构等价性。实际上它主要学习图距离 graph distance,将图中距离相近的节点放到 embedding 空间中相近的位置。node2vec 的另一个限制是:SkipGram 的窗口大小使得 中的节点不可能出现在相同的上下文中。

      DeepWalk 也存在这样的问题。

13.2.2 Karate 网络

  1. Zachary's Karate Club 是一个由34 个节点、78 条边组成的网络,其中每个节点代表俱乐部成员、边表示两个成员是否在俱乐部以外产生互动,因此边通常被解释为成员之间的好友关系。

    我们的网络由该网络的两个拷贝 组成,其中 都有一个镜像节点 。我们还通过在镜像节点对 (1,37) 之间添加一条边来连通 。尽管 struc2vec 可以建模分离的连通分量,但是 DeepWalknode2vec 无法训练。为了与DeepWalk/node2vec 基准方法进行公平的比较,我们添加了这条边。下面给出了镜像网络,其中结构身份相等的节点采用相同的颜色表示。

  2. 我们使用 DeepWalk,node2vec,struc2vec 等模型学习镜像图中节点的 embedding 。这些模型都采用相同的参数:每个节点开始的随机游走序列数量 5、每条游走序列长度 15SkipGram 窗口大小为3 。对于 node2vec

    • DeepWalknode2vec 学习的 embedding 可视化结果如下图所示。可以看到,它们都未能在潜在空间中对结构等效的节点进行分组。

    • struc2vec 再次正确地学到能够捕获节点结构身份的特征。镜像节点pair 对在embedding 空间中距离很近,并且节点以一个复杂的结构层级structural hierarchy 聚合在一起。

      例如,节点134 (及其对应的镜像节点 3742)在网络中具有类似领导者 leader 的角色,struc2vec 成功捕获了它们的结构相似性,即使它们之间不存在边。

      潜在空间中的另一个簇由节点 2/3/4/33 以及它们的镜像节点组成。这些节点在网络中也具有特定的结构身份:它们具有很高的 degree,并且至少连接到一个 leader 。最后,节点 2625 具有非常接近的 representation,这与它们的结构角色一致:二者都具有低 degree,并且距离 leader 342跳。

      struc2vec 还捕获了 non-trivial 的结构等价性。注意,节点 750 (粉红色和黄色)映射到潜在空间中靠近的点。令人惊讶的是,这两个节点在结构上是等价的:图中存在一个自同构automorphism将一个节点映射到另一个节点。一旦我们注意到节点 67 在结构上也是等效的,并且节点 50 是节点 6 的镜像版本(因此在结构上也是等价的),就可以更容易地看到这一点。

    • RolX 一共识别出28 个角色。注意:节点134 被分配到不同角色中,节点137 也被分配到不同角色中,而 34 的镜像节点(节点42)被放置在与节点 34 相同的角色中。

      34 对镜像节点pair 对中仅有 7 对被正确分配角色。然而,还发现了一些其它结构相似性。例如,节点 67 是结构等价的,并且被分配了相同的角色。同样地,RolX 似乎捕获到了节点之间结构相似性的一些概念,但是 struc2vec 可以用潜在 representation 更好地识别和分离结构等价性。

  3. 我们测量了每个节点和它的镜像节点之间的representation 距离、每个节点和子图内其它节点的representation 距离,下图给出 node2vecstruc2vec 学到的embedding 的这两种距离分布。横轴为距离,纵轴为超过该距离的节点对的占比。

    • 对于 node2vec,这两个分布几乎相同。这表明node2vec 并未明显的区分镜像节点pair 对和非镜像节点pair 对,因此 node2vec 无法很好识别结构等价性。

    • 对于 struc2vec,这两个分布表现出明显的差异。94% 的镜像pair 对之间的距离小于 0.25 ,而68% 的非镜像 pair 对之间的距离大于 0.25

      此外,非镜像pair 对的平均距离是镜像 pair 对平均距离的 5.6 倍,而node2vec 这一比例几乎为 1

  4. 为了更好地刻画结构距离和 struc2vec 学到的潜在 representation 距离的关系,我们评估所有节点对之间的距离(通过 来衡量),以及它们在 embedding 空间中的距离(通过欧式距离来衡量)的相关性。我们分别计算 Spearman 相关系数和 Pearson 相关系数,结果如下图所示。

    这两个系数表明:对于每一层这两个距离都存在很强的相关性。这表明 struc2vec 确实在潜在空间中捕获了结构相似性。

13.2.3 鲁棒性

  1. 为了说明struc2vec 对噪音的健壮性,我们从网络中随机删除边从而直接修改其网络结构。给定图 ,我们以概率 随机采样图 中的边从而生成新的图 ,这相当于图 的边以概率 被删除。我们使用 再次重复该过程从而生成另一个新的图 。因此, 通过 在结构上相关,而 控制结构相关性的程度。注意,当 时, 是同构的;当 时,所有的结构身份都丢失了。

    我们从 Facebook 网络中随机采样,该网络包含 224 个节点、3192 条边,节点 degree 最大为 99 最小为 1 。我们采用不同的 来生成两个新的图 ,我们重新标记 中的节点从而避免 中存在相同编号的节点。我们将 的并集视为我们框架的输入网络。注意,合并后的图至少有两个连通分量(分别对应于 ),并且 中的每个节点在 中都有对应的镜像。

    下图给出了不同的 值,struc2vec 学到的所有节点 pair 对之间 embedding 的距离分布。其中 x 标记的是镜像节点 pair 对之间的距离,+ 标记的是所有节点 pair 对之间的距离。

    • 时,两个距离分布明显不同。所有节点pair 对之间的平均距离要比镜像节点 pair 对之间的平均距离大 21 倍。

    • 时,两个距离分布仍然非常不同。进一步减小 不会显著影响所有节点 pair 对的距离分布,但是会缓缓改变镜像节点pair 对的距离分布。

    • 即使在 时,这意味着原始边同时出现在 中的概率为 0.09struc2vec 仍然会将镜像节点pair 对进行很好的区分。

      这表明即使在存在结构噪音(通过随机移除边)的情况下,struc2vec 在识别结构身份方面仍然具有很好的鲁棒性。

13.2.4 分类任务

  1. 网络节点潜在 representation 的一个常见应用是分类。当节点 label与其结构身份相关时,可以利用 struc2vec 来完成节点分类任务。为了说明这种潜力,我们考虑一个空中交通网络。空中交通网络是一个无权无向图,每个节点表示机场,每条边表示机场之间是否存在商业航班。我们根据机场的活跃水平来分配label,其中活跃水平根据航班流量或者人流量为衡量。

  2. 数据集:

    • 巴西空中交通网络Brazilian air-traffic network :包含 20161月到201612月从国家民航局 ANAC 收集的数据。该网络有131个顶点、1038条边,网络直径为5。机场活跃度是通过对应年份的着陆总数与起飞总数来衡量的。
    • 美国空中交通网络American air-traffic network :包含 20161 月到 201610 月从美国运输统计局收集的数据。该网络有 1190 个顶点、13599 条边,网络直径为 8 。机场活跃度是通过对应年份的人流量来衡量的。
    • 欧洲空中交通网络European air-traffic network :包含 20161 月到 201611 月从欧盟统计局收集的数据。该网络包含 399 个顶点、5995 条边,网络直径为 5 。机场活跃度是通过对应年份的着陆总数与起飞总数来衡量的。

    对于每个机场,我们将其活跃度的标签分为四类:对每个数据集我们对活跃度的分布进行取四分位数从而分成四组,然后每一组分配一个类别标签。因此每个类别的样本数量(机场数量)都相同。另外机场类别更多地与机场角色密切相关。

  3. 我们使用 struc2vecnode2vec 来学习每个网络的顶点 embedding ,其中我们通过 grid search 来为每个模型选择最佳的超参数。注意,该步骤不使用任何节点标签信息。

    然后我们将学到的embedding 视为特征来训练一个带 L2 正则化的 one-vs-rest 逻辑回归分类器。我们还考虑直接将顶点的 degree 作为特征来训练一个逻辑回归分类器,从而比较使用原生特征和embedding 特征的区别。因为节点的 degree 捕获了一个非常基础basic 的结构身份概念。

    由于每个类别的规模相同,因此我们这里使用测试准确率来评估模型性能。我们将分类模型的数据随机拆分为80% 的训练集和 20% 的测试集,然后重复实验10 次并报告平均准确率。

    结论:

    • struc2vec 模型学到的 embedding 明显优于其它方法,并且其优化几乎没有产生影响。对于巴西网络,struc2vec 相比 node2vec,其分类准确率提高了 50%
    • 有趣的是,在巴西网络中,node2vec 模型学到的 embedding 的平均性能甚至略低于直接使用节点 degree,这表明在这个分类任务中,节点的结构身份起到了重要作用。

13.2.5 可扩展性

  1. 为了说明 struc2vec 的可扩展性,我们将采用优化一、优化二的 struc2vec 应用于 Erd¨os-R´enyi 随机图。我们对每个节点采样10 个随机游走序列,每个序列长度为 80SkipGram 窗口为 10embedding 维度为 128 。为加快训练速度,我们使用带负采样的 SkipGram

    为评估运行时间,我们在顶点数量从100100万 、平均degree10 的图上训练 struc2vec。每个实验我们独立训练10 次并报告平均执行时间。其中 training time 表示训练 SkipGram 需要的额外时间。

    下图给出了log-log 尺度的训练时间,这表明 struc2vec 是超线性的,但是接近 (虚线)。因此尽管struc2vec 在最坏情况下在时间和空间上都是不利的,但是实际上它仍然可以扩展到非常大的网络。

    的时间复杂度对于千万级甚至亿级的大型图而言仍然是难以接受的,其计算复杂度是线性复杂度的成千上万倍。

十四、GraphWave[2018]

  1. 图中的结构角色发现structural role discovery 侧重于识别具有相似拓扑网络邻域的节点,这些节点可能位于网络中相距遥远的区域。如下图所示,尽管节点 在图中相距甚远,但它们具有相似的结构角色 structural role 。直观而言,具有相似结构角色的节点在网络中执行相似的功能,例如公司社交网络中的 manager 、或者细胞分子网络中的酶。这种节点相似性的定义与传统的定义非常不同。传统的节点相似性定义假设图上一定程度的平滑性 smoothness ,因此网络中距离较近的节点是相似的。这种关于节点结构角色的信息可用于各种任务,包括作为机器学习问题的输入、识别系统中的关键节点(如社交网络中的核心 “影响者”、传染图中的关键 hub)。

    当在离散空间上定义节点的结构角色时,这些结构角色对应于局部网络邻域local network neighborhood 的不同拓扑,例如链条上的节点、星形的中心、两个簇之间的 bridge 。然而,这种离散角色必须预定义pre-defined ,并且需要领域内的专业知识和人工探查图结构。一种用于识别结构相似性的更强大、更鲁棒的方法是,以无监督的方式学习每个节点 的结构 embedding 向量 。这启发了根据拓扑 embedding 的邻近性对结构相似性structural similarity 的自然定义:对于任意 ,如果 则节点 被定义为 ϵ-structurally similar的。因此这种方法必须引入适当的embedding 方法以及一个合适的距离函数dist()

    虽然已有几种方法来学习图中节点的结构 embeddingstructural embedding) ,但是现有方法对拓扑中的小扰动极为敏感,并且缺乏对所学到 embedding 特性的数学理解。此外,它们通常需要人工标记拓扑特征(《RolX: structural role extraction & mining in large graphs》)、依赖于不可扩展non-scalable 的启发式方法(《struc2vec: Learning node representations from structural identity》)、和/或返回单个相似性得分而不是多维结构 embedding《Scalable and axiomatic ranking of network role similarity》《Axiomatic ranking of network role similarity》)。

    在论文 《Learning Structural Node Embeddings via DiffusionWavelets》 中,作者通过开发 GraphWave 来解决图上的结构学习structure learning 问题。基于图信号处理graph signal processing 技术,论文的方法基于以节点为中心的谱图小波的扩散 diffusion of a spectral graph wavelet ,从而为每个节点学习多维连续的结构 embedding 。直观而言,每个节点在图上传播一个能量单位 a unit of energy,并根据网络对该探针probe 的响应response 来刻画其邻域拓扑 neighboring topology 。论文正式证明了这个小波wavelet 的系数与图拓扑性质直接相关。因此,这些系数包含恢复结构相似节点的所有必要信息,而无需对特征进行显式地人工标记 hand-labeling

    然而,根据设计,小波在图上是局部的。因此如果两个节点相距较远,则它们之间的小波是无法进行比较的。这时需要为每对节点指定一个一对一的映射,从而使得一对节点之间的小波可以进行直接比较,如计算每对顶点的小波之间的相关系数或者计算 距离。这种节点对之间的一一映射计算量太大,因此是难以实现的。所以这些小波方法从未被用于学习结构embedding

    为了克服这一挑战,论文提出了一种新的方法从而将小波视为图上的概率分布。这样,结构信息包含在 “diffusion 如何在网络上传播”,而不是“diffusion 在网络上传播到哪里”。为了提供 embedding ,论文使用经验特性函数 empirical characteristic function 来嵌入这些小波分布 wavelet distribution 。经验特性函数的优点是它们捕获给定分布的所有矩(包括高阶矩)。正如论文在数学上证明的那样,这允许 GraphWave 对局部边结构 local edge structure 中的小扰动具有鲁棒性。GraphWave 的计算复杂度在 edge 数量上是线性的,因此可以扩展到大型(稀疏的)网络。最后,论文在真实数据集和人工合成数据集上,将 GraphWave 与几个 state-of-the-art 基准进行比较,获得了 137% 的提升。论文还展示了GraphWave 如何成为图中结构 embedding 的有效工具。

    论文的主要贡献如下:

    • 论文通过将谱图小波spectral graph wavelet 视为概率分布,并使用经验特性函数来刻画这个分布,从而提出了谱图小波的新用途。
    • 论文利用这些洞察开发了一种可扩展的方法 GraphWave,该方法基于图中结构相似性来学习节点 embedding,并优于现有的 state-of-the-art 基准方法。
    • 论文在数学上证明 GraphWave 准确地恢复了结构相似structurally similar 和结构等价structurally equivalent 的节点。
  2. 相关工作:关于挖掘相似结构角色节点的先前工作通常依赖于节点的显式特征。在基于这种启发式 heuristic representation 计算节点相似性之前,这些方法生成每个节点的局部拓扑属性local topological property 的详尽列表,例如节点 degree、节点参与的三角形数量、k-clique 数量、PageRank 得分。这些方法中的一个值得注意的例子是 RolX,它是一种基于矩阵分解的方法,旨在使用递归的特征抽取 recursive feature extraction 从而将节点的软聚类 softclustering 恢复为预定数量的 个不同角色。类似地,struc2vec 使用启发式方法构建基于拓扑指标 topological metricmultilayer graph ,并在图上模拟随机游走从而捕获结构信息。相比之下,我们的方法不依赖于启发式(因为我们在数学上证明了我们方法的有效性),并且不需要显式的人工特征工程、或人工超参数调优。

    最近的神经表示学习 neural representation learning 方法(structure2vecneural fingerprintgraph convolutional network: GCNmessage passing network 等等)是相关的研究方向。然而,这些 graph embedding 方法不适用于我们的 setting,因为它们解决了监督的图分类任务、和/或嵌入了整个 graph。相比之下,我们的方法是无监督的,并且仅嵌入单个节点。

    另一类相关工作是 graph diffusion kernel《Diffusion maps》),该方法已被用于各种图建模任务。然而,据我们所知,我们的论文是第一个应用 graph diffusion kernel 来确定图中结构角色的论文。 kernel 已被证明可以有效地捕获几何属性,并已成功用于图像处理社区中的形状检测shape detection 。然而,与形状匹配shape-matching 问题相比,GraphWave 将这些 kernel 视为真实世界的图上的概率分布。这是因为我们考虑的图是高度不规则的(与欧式图 Euclidean graph 和流形图 manifold graph 相反)。因此,传统的小波方法通常分析以规则和可预测的模式发生的、特定节点上的节点扩散 node diffusion ,这种方法并不适用于我们的场景。相反,GraphWave 刻画了扩散的形状diffusion shape,而不是扩散发生的特定节点。这一关键洞察使我们能够发现结构 embedding,从而进一步发现结构相似的节点。

14.1 模型

  1. 给定无向图 ,其中 为节点集合, 为边集合, 为节点数量。令邻接矩阵为 ,它是二元的或者带权重的。定义度矩阵 ,其中

    节点的结构embedding 问题为:对于每个节点 ,我们希望在一个连续的多维空间中学得一个 embedding 来表示它的结构角色structural role 。我们将这个问题构建为基于谱图小波spectral graph wavelet 的无监督学习问题,并开发了一种称为 GraphWave 的方法。该方法从数学上保证了所学到结构 embedding 的最优性能。

14.1.1 谱图小波

  1. 为未归一化的拉普拉斯矩阵,令 的特征向量eigenvector 组成的特征矩阵,则有:

    其中 的特征值eigenvalue

    图拉普拉斯矩阵的性质:

    • 图拉普拉斯矩阵是半正定矩阵,因此有
    • ,因为拉普拉斯矩阵每一行的和均为零。
    • 特征值中 0 出现的次数就是图连通区域的个数。对于单连通图,有
    • 最小非零特征值是图的代数连通度,通常记作

    为一个scaling 参数为 的滤波器核 filter kernel,这里我们采用热核heat kernel ,但是我们的结论适用于任何类型的 scaling wavelet 。另外,这里我们假设 是给定的,后续会讨论如何选择一个合适的 值。

    图信号处理graph signal processing 将与 相关的谱图小波spectral graph wavelet 定义为:以顶点 为中心的狄拉克信号的频域响应。因此谱图小波 定义为:

    其中 是顶点 one-hot 向量:顶点 对应的位置为1,其它位置为0 。因此节点 的第 个小波系数为

    谱图矩阵 ,它的第 列就是 ,它的第 列第 行就是

    的物理意义为:节点 处的狄拉克信号在节点 处的响应。并且该系数是对称的,即

  2. 可以看到在谱图小波中,核 调制 modulate 了特征谱eigenspectrum ,使得响应信号位于空域的局部区域以及频域的局部区域。如果我们将拉普拉斯矩阵和信号系统中的 ”时域-频域“ 进行类比,则发现:

    • 较小特征值对应的特征向量携带变化缓慢的信号,从而鼓励邻居节点共享相似的信息。
    • 较大特征值对应的特征向量携带迅速变化的信号,从而使得邻域节点之间区别较大。

    因此低通滤波器核low-pass filter kernel 可以看作是一种调制算子modulation operator ,它降低了较高的特征值并在图中平滑了信号的变化。

14.1.2 GraphWave

  1. 我们首先描述 GraphWave 算法,然后对其进行分析。对于每个节点 GraphWave 返回表示其结构embedding 的一个 2d 维的向量 ,使得局部网络结构相似的节点拥有相似的 embedding

  2. 算法中,我们首先应用谱图小波来获取每个顶点的 diffusion pattern, 然后收集到矩阵 中,其中第 列的列向量是以节点 为中心的 heat kernel 产生的谱图小波。

    现有的工作主要研究将小波系数视为scaling 参数 的函数,而这里我们将小波系数视为局部网络结构的函数:小波系数随着节点 的局部网络结构的变化而变化。具体而言,每个小波系数都由节点来标识,并且都有深刻的物理意义: 表示节点 从节点 接收到的能量的大小(由于对称性,它也表示节点 从节点 接收到的能量的大小)。我们将小波系数视为概率分布,并通过经验特性函数来刻画该分布。我们将证明:具有相似网络邻域结构的节点 将具有相似的谱图小波系数分布 。这是一个关键的洞察,这使得 GraphWave 可以通过谱图小波学习节点的结构 embedding

    更准确地说,我们通过计算每个节点的小波系数 的特性函数,并将其在 个均匀间隔的空间点采样,从而将谱图小波系数分布spectral graph wavelet coefficient distribution 嵌入到 维的空间。概率分布 的特性函数定义为:

    它完全刻画了分布 ,因为它捕获了关于分布 的所有矩的信息。将它进行泰勒展开得到:

    给定节点 scale s 的经验特性函数定义为:

    理论上我们需要计算足够多的点来描述 ,但是这里我们采样了 个均匀间隔的点,即 。最终得到:

    注意到我们在经验特性函数 上均匀采样了 个点,这创建了一个大小为 embedding,因此embedding 的维度和图的大小无关。

    GraphWave 核心思想:节点空域的局部结构相似性问题,转变为频域的小波相似性问题。它并没有采用最优化过程来优化某个代价函数,因此也没有梯度下降法来迭代求解。

  3. GraphWave 算法:

    • 输入:

      • scale 参数
      • 个均匀分布的采样点
    • 输出:节点的结构embedding 向量

    • 算法步骤:

      • 计算拉普拉斯矩阵 ,并进行特征分解:

      • 计算图谱小波

      • ,计算 column-wise 逐列均值。对于节点 ,将 的实部和虚部分配给 ,其中 的第 个元素。

        每个节点拼接 个实部和 个虚部,则得到一个 2d 维的向量。

  4. 结构 embedding 之间的距离:GraphWave 的输出为图中每个节点的结构embedding 。我们可以将结构embedding之间的距离定义为 距离,即节点 之间的结构距离定义为:

    根据函数的定义,这相当于在小波系数分布上比较不同阶次的矩。

  5. scaling 参数:scaling 参数 确定每个节点 周围的网络邻域的半径。

    • 较小的 会使用较小半径的邻域来确定节点的结构 embedding
    • 较大的 会使得扩散过程在网络上传播得更远,从而导致使用较大半径的邻域来确定节点的结构 embedding

    GraphWave 还可以采用 的不同取值来集成多尺度结构embedding ,这是通过拼接 个不同的 embedding 来实现的,每个embedding 都和一个scale 相关,其中 。我们接下来提供一个理论上的方法来找到合适的

    在多尺度版本的 GraphWave 中,最终节点 聚合的结构embedding 为:

  6. 计算复杂度:我们使用切比雪夫多项式来计算 ,拉普拉斯算子的每个幂具有 的计算成本,从而产生 的整体计算复杂度,其中 表示切比雪夫多项式逼近的阶数。因此 GraphWave 的整体计算复杂度是 edge 数量的线性的,这使得 GraphWave 可以扩展到大型稀疏网络。

14.1.3 理论分析

  1. 这里我们为基于谱图小波的模型提供了理论动机。我们首先通过理论分析表明:谱图小波系数刻画了局部网络领域的拓扑结构。然后我们理论上证明:结构等价/相似的节点具有几乎相等/近似的embedding ,从而为 GraphWave 的最优性能提供了数学保证。

  2. 谱图小波和网络结构:我们首先建立节点 的谱图小波和节点 的局部网络结构之间的关系。具体而言,我们证明了小波系数 提供了节点 和节点 之间网络连通性network connectivity 的度量。

    由于图拉普拉斯算子的谱是离散的,并且位于区间 之间,根据 Stone-Weierstrass 定理可知:核 在区间 上可以通过一个多项式来逼近。记这个多项式为 ,则这个多项式逼近是紧的 tight,其误差是一致有界的 uniformaly bounded 。即:

    其中 为多项式逼近的阶数, 为多项式系数, 为残差。

    我们可以将顶点 的谱图小波以多项式逼近的形式重写为:

    由于 是单位正交矩阵, 是一致有界的,因此我们可以通过Cauchy-Schwartz 不等式将等式右侧的第二项进行不等式变换 :

    其中等式左边为 的第 个元素, (因为 为单位正交矩阵), 以及:

    因此每个小波 可以由一个 阶多项式逼近,该多项式捕获了有关顶点 阶邻域信息。这表明谱图小波主要受到顶点的局部拓扑结构影响,因此小波包含了生成顶点结构embedding 所必须的信息。

  3. 结构等价节点的 embedding :然后我们证明局部邻域结构相同的顶点具有相似的 embedding 。假设顶点 阶邻域相同,其中 是一个小于图的直径的整数。这意味着顶点 在结构上是等价的。我们现在证明 GraphWave 中具有 ϵ-structurally similar embedding

    我们首先将 根据泰勒公式在零点展开到 阶:

    然后对于每个特征值 ,我们使用Taylor-Lagrange 等式来确保存在 ,使得:

    如果我们选择 使得满足:

    则可以保证绝对残差 对于任意 成立。这里 是一个参数,可以根据结构等效的顶点的embedding 期望的接近程度来指定,因此也称作 ϵ-structurally similar 。另外 越小则可以选择 更小,使得上界越紧。

    注意,这里采用 是因为最小的特征值

    由于顶点 的邻域是相同的,因此存在一个one-to-one 映射 ,它将 阶邻域 映射到 阶邻域 ,使得 。通过随机映射剩余的顶点( 阶邻域以外的顶点),我们将 作用到整个图 上。

    利用图拉普拉斯矩阵的 阶多项式近似,我们有:

    • 考虑第二行的第一项。由于顶点 阶邻域是等价的,以及拉普拉斯算子 K 阶幂的局部性(表示路径为 K 的路径)则有:

      因此这一项可以约掉。

      第二个等式为零,这是因为 不在节点 阶邻域内,因此也就不存在从节点 的、长度为 的路径。

    • 考虑第二行的第二项、第三项。使用前面的残差分析可以得到它们都有一个一致的上界 ,因此有:

      即: 中的每个小波系数和它对应的 中的小波系数的距离不超过

      考虑到我们使用经验特性函数来描述分布,因此这种分布的相似性就转换为embedding 的相似性。因此如果选择合适的 scale ,则结构上等价的节点具有 ϵ-structurally similar embedding

  4. 结构相似节点的 embedding :接着我们证明局部邻域结构相似的顶点具有相似的 embedding

    设顶点 阶领域为 为顶点 的一个扰动的 阶邻域,这是通过对顶点 的原始 阶邻域重新调整边来得到。假设扰动后的图拉普拉斯矩阵为 ,接下来我们证明:如果顶点邻域的扰动很小,则顶点的小波系数的变化也很小。

    假设扰动很小,即: 。我们使用核 阶泰勒公式在零点展开来表示扰动图的小波系数:

    我们使用 Weyl 定理将图结构中的扰动与图拉普拉斯算子的特征值变化联系起来。特别地,图的小扰动导致特征值的小扰动。即,对于每个 和原始的 接近:

    其中 表示 的一个无穷小量, 为一个常数。

    综合所有因素,则有:

    因此在GraphWave 中,结构相似的顶点具有相似的 embedding

14.1.4 scale 参数

  1. 我们开发了一个自动的方法来为heat kernel 中的 scale 参数 找到合适的取值范围,该方法将在 GraphWave 的多尺度版本中使用。

    我们通过分析热扩散 heat diffusion 小波的方差来指定 来作为区间边界。直观而言:

    • 较小的 值使得热传播的时间较短,从而使得热扩散的小波分布没有意义,因为此时只有很少的几个小波系数是非零,绝大多数小波系数都是零。
    • 较大的 值使得热传播的时间较长,热扩散的小波分布也没有意义,因为此时网络收敛到所有顶点都处于能量为 的同温状态。这意味着扩散分布diffusion distribution 与数据无关,因此没有信息。

    这里我们证明两个命题,从而为热扩散小波分布的方差和收敛速度提供洞察insight。然后我们使用这些结论来选择

  2. 命题一:热扩散小波 中非对角线的系数的方差与以下指标成正比:

    其中 随着 的增加单调递减。这是因为 ,它随着 的增加单调递减。

    注意,,因此

    证明:令小波 的非对角线系数均值为 。考虑到 为一个概率分布,因此有

    根据方差的定义有:

  3. 命题一证明了小波系数的方差是 的函数,因此为了最大化方差我们必须分析 。为了确保小波系数的分布具有足够大的容量(即分布的多样性足够大),我们需要最大化方差。

    因此我们选择区间 来使得 足够大,从而使得diffusion 既有足够长的时间来扩散、又不至于太长以至于到达网络的收敛状态(所有顶点的温度都相同)。

    注意, “足够大”并不意味着最大化这个变量。

  4. 命题二:热扩散小波系数 的收敛上下界为:

    证明:对于非负的 有:

    第一个不等式是因为 ,因此 。这里用到了不变式:

    对应的有:

    因此有:

    对于任意的 ,我们采用数学归纳法可以证明有:

    由于 的连续递增函数,因此我们选择大于等于零且满足条件的 进行向下、向上取整。

  5. 选择 :我们选择 使得小波系数被局限在局部邻域上(即不能收敛到同温状态)。根据命题二:

    • 当大部分特征值倾向于 时, 倾向于 (命题二的下界)。
    • 当大部分特征值倾向于 时, 倾向于 (命题二的上界)。

    如果 高于给定阈值 (其中 ),则扩散是局部的。事实上这确保了 最多收缩到其初始值 (因为 随着 的增加而单调递减 ),并产生如下形式的边界:

    这个边界意味着 或者 。为了在两种收敛场景之间找到一个中间地带,我们将 设为 的几何平均值。与算术平均值相比,几何平均值在 范围内保持相等的权重, 中的 的变化与 的变化具有相同的效果。因此,我们选择 为:

    其中 为超参数, 越接近1 越小, 越接近0 越大。

  6. 选择 :我们选择 使得每个小波都有足够长的时间来扩散,即限定:

    同样的分析我们有 。因此我们选择:

    其中超参数 参数越接近1 越小, 参数越接近0 则则 越大。

    为覆盖适当的 scale 区间,论文建议设置 以及

14.2 实验

  1. GraphWaveembedding 独立于下游任务,因此我们在不同任务中对其进行评估,从而证明它在捕获网络结构角色方面的潜力。

  2. baseline 方法:我们将 GraphWave 和两个结构嵌入的 state-of-the-art 基准方法 struc2vec、RolX 进行评估。

    • struc2vecstruc2vec 通过在 multilayer graph 上的一系列随机游走来发现不同尺度的结构嵌入。
    • RolXRolX 基于节点特征(如degree、三角形数量)的矩阵的非负矩阵分解的方法,该方法基于给定的一组潜在特征来描述每个节点。注意,GraphWavestruc2vec 在连续频谱上学习 embedding,而不是在离散的类别中学习。
    • 我们还将GraphWave 和最近的两种无监督节点 representation learning方法node2vec、Deepwalk 方法进行比较,以强调这些方法与我们基于结构相似性方法之间的差异。

    对于所有 baseline,我们使用这些模型的默认参数。对于 GraphWave 模型,我们使用多尺度版本,并设置 ,以及使用 内均匀间隔的采样点

    我们再次注意到,graph embedding 方法(structure2vecneural fingerprintGCN 等等)不适用于这些 setting,因为它们嵌入了整个 graph,而我们嵌入了单个节点。

14.2.1 杠铃图

  1. 我们首先考虑一个杠铃图。杠铃图由两个长链组成的稠密团构成,该图包含 8 个不同类别的结构等价节点,如图A 的颜色所示。我们通过PCA 可视化了不同模型学到的embedding ,相同的 embedding 具有相同的投影,这使得图 B~D 上的点发生重叠。

    • 从图D 可以看出, GraphWave 可以正确学习结构等价顶点的embedding,这为我们的理论提供了支撑(相同颜色的顶点几何完全重叠)。

14.2.2 结构等价的图

  1. 我们在人工合成的图上评估这些方法。我们开发了一个程序来生成合成图,这些合成图可以植入结构等价的子图,并且给出每个节点角色的真实标签。我们的目的是通过这些真实的角色标签来评估这些方法的性能。

    我们的合成图由不同类型的基础形状给出,这些形状类型包括 house,fan,star,它们沿着长度为 30 的圆环规则地放置。我们一共评估四种网络结构配置:

    • house 配置中,我们选择将4house 放置在一个长度为 30 的圆环上。
    • varied 配置中,我们对每个类型的形状选择8 个,并随机放置在一个长度为 40 的圆环上,从而生成具有更丰富、更复杂结构角色的合成图。
    • noise 配置中,我们随机添加边来增加扰动(最多 10% ),从而评估house perturbed, varied perturbed 的鲁棒性。

    我们对这四种网络结构 house, varied, house perturbed, varied perturbed 分别构造一个图,然后在这些构造的图上运行不同方法来得到节点 embedding

  2. 我们通过两种 setting来评估每个embedding 算法的性能:

    • 无监督评估 setting:我们评估每种embedding 方法将具有相同结构角色的节点嵌入到一起的能力。我们使用 agglomerative 聚类算法(采用 single linkage )来对每种方法学到的 embedding 进行聚类,然后通过以下指标来评估聚类质量:

      • 同质性 homogeneity:给定聚类结果的条件下,真实结构角色的条件熵。它评估聚类结果和真实结果的差异。

      • 完整性 completeness:在所有真实结构角色相等的节点中,有多少个被分配到同一个聚类。即评估聚类结果的准确性。

      • 轮廓系数 silhouette score :它衡量簇内距离和簇间距离的关系。即评估样本聚类的合理性。

        对于样本 ,假设它到同簇类其它样本的平均距离为 ,则 越小说明该样本越应该被聚到本簇,因此定义 为簇内不相似度。假设它到其它簇 的平均距离为 ,则定义簇间不相似度为 。定义轮廓系数为:

所有两种策略的每个实验都重复执行25 次,并报告评估指标的均值。

  1. 模型embedding 的效果比较如下图所示。

    • 对于无监督和有监督的 settingGraphWave 都优于其它四种方法。
    • 所有实验中,node2vec、DeepWalk 的效果都很差,其得分显著低于基于结构等价的方法。这是因为这两个方法的重点都是学习节点的邻近关系,而不是节点的结构相似性。
    • GraphWave 的效果始终优于 struc2vec ,在每种 setting 下的指标都获得更高的得分。
    • 虽然 RolX 在部分实验中效果强于 GraphWave,但是 GraphWave 整体效果较好。
    • 轮廓系数silhouette score 表明:GraphWave 发现的簇往往更聚集并且簇之间的间隔更好。

  2. 我们将GraphWave 学到的 embedding 进行可视化,这提供了一种观察节点之间结构角色差异的方法。

    如图 A 表示一个带 house 的环,图B 是它的 GraphWave 学到的 embedding2PCA 投影。这证明了 GraphWave 可以准确区分不同结构角色的节点。

    C 给出了特性函数 ,不同颜色对应不同结构角色的节点。其物理意义为:

    • 位于图外围的节点难以在图上扩散信号,因此派生出的小波具有很少的非零系数。因此这类节点的特性函数是一个较小的环状 2D 曲线。
    • 位于图核心(稠密区域)上的节点趋向于将信号扩散得更远,并在相同 值下到达更远的节点。因此这类节点的特性函数在 轴和 轴上具有更远的投影。

14.2.3 跨图的 Embedding 泛化

  1. 我们分析embedding 如何识别位于不同图上的节点的结构相似性,这是为了评估embedding 能否识别跨图的结构相似性。

    我们通过以下过程来生成 200 个具有真实顶点结构角色标签的图。

    • 首先以 0.5 的概率来选择环形图或者链式图,从而确定了图的骨架。
    • 然后通过均匀随机选择环的大小或者链的长度来决定骨架的大小。
    • 最后随机选择一定数量的小图挂载到骨架上,这些小图以 0.5 的概率从 5 个节点的 house 或者 5 个节点的chain 中选取。

    为了在噪音环境中评估embedding 方法,我们还在节点之间随机添加10 个随机边,然后训练每个节点的 embedding 。接着用学到的 embedding 来预测每个节点的真实结构角色。

  2. 为了评估每个方法在跨图上的泛化能力,我们使用10 折交叉验证,并且对于测试集中的节点我们选择训练集中和它最近邻(通过embedding 来计算距离)的4 个邻居节点来预测该测试节点的标签。注意:所选择的4 个邻居节点可能位于不同的图上。最后我们评估预测的准确率和 F1 得分,评估结果如下。结果表明:

    • GraphWave 方法在两个分类指标上均优于所有其它方法,这表明了 GraphWave 具有学习结构特征的能力,这种结构特征对于不同的图都有重要意义,且具有很高的预测能力。

14.2.4 可扩展性和鲁棒性

  1. 这里我们分析 GraphWave 的可扩展性以及它对输入图中噪声的敏感性。

  2. 为评估GraphWave 的可扩展性我们逐渐扩大了合成图的节点数量,我们给出了这些合成图上运行GraphWave 的时间和节点数量的关系,如下图所示。

    • GraphWave 的训练时间是边数量的线性函数,因此它是一种快速算法,可以使用稀疏矩阵表示 sparse matrix representation 来有效地实现。

    • GraphWave 的潜在瓶颈是通过经验特性函数将小波系数的分布转换成 embedding 向量。

      这里利用了小波系数的稀疏性。小波系数通常是稀疏的,因为GraphWave 通过合理的选择 scale 参数 使得小波不会被传播得太远。这种稀疏性可以降低embedding 过程的计算量,因为这里是一组稀疏矩阵相乘,并且在非零元素上应用 element-wise 函数。

    • 相比之下,struc2vec 无法应用到大图上,对于仅包含 100 个顶点的图,它都需要高达260 秒来学习顶点的 embedding 。而 RolX 可以扩展到类似大小的图上。

  1. 接下来我们评估GraphWave 对噪音的鲁棒性。我们将噪音采取与 varied perturbed 相同的方式注入到图中,噪音水平由随机扰动的边占原始边的百分比给出。

    对于每个图,我们首先使用 GraphWave 学习节点embedding,然后使用 affinity propagation 聚类算法对embedding 进行聚类。最后我们根据节点的真实结构角色来评估聚类质量。注意,affinity propagation 算法不需要簇的数量作为输入,而是自动生成簇。这在实验中很重要,因为每个簇的含义可能受到 high level 的噪音而难以理解。

    除了同质性、完整性指标之外,我们还报告检测到的聚类的数量,从而衡量 GraphWave 发现的角色的丰富程度,我们随机运行10 次并报告平均结果。

    结果如下图所示。结果表明:即使存在强烈的噪音,GraphWave 的性能也是缓慢地降低。

14.2.5 真实数据集

  1. 镜像 Karate 网络:我们首先考虑一个镜像 Karate 网络,并使用与 struc2vec 中相同的实验设置。镜像 Karate 网络是通过获取 karate 网络的两个副本,并添加给定数量的随机边而创建的。这些随机边中的每条边连接来自不同副本的镜像节点,代表 karate 俱乐部的同一个人,即镜像边 mirrored edge 。该实验的目标是通过捕获结构相似性来识别镜像节点。

    对于每个节点,我们基于节点embedding 利用 kNN 寻找结构最相似的节点,然后评估这些结构最相似节点中真实结构等价的比例。我们添加镜像边的数量从 125 不等,实验结果非常一致。GraphWave 的平均准确率为83.2%(最低为 75.2%、最高为 86.2%)、struc2vec 平均准确率为 52.5%(最低为 43.3%、最高为 59.4%)。此外,node2vecDeepWalk 的准确率都不会高于 8.5%,因为它们是基于邻近性而不是结构相似性进行嵌入的。

  2. 安然 email 网络:我们考虑对安然公司员工之间的电子邮件通信网络进行学习,由于公司存在组织架构,因此我们预期结构GraphWave 能够学到这种工作职位上的结构等价性。

    该网络中每个节点对应于安然的员工,边对应于员工之间的email 通信。员工的角色有七种,包括CEO、总裁 president、经理 manager 等。这些角色给出了网络节点的真实标签。我们用不同模型学习每个节点的 embedding,然后计算每两类员工之间的平均 L2 距离,结果如下所示。

    • GraphWave 捕获到了安然公司的复杂组织结构。如 CEO 和总裁在结构上与其它角色的距离都很远。这表明他们在电子邮件网络中的独特位置,这可以通过他们与其他人截然不同的局部连接模式来解释。另一方面,trader 交易员看起来离总裁很远、离董事director更近。
    • 相比之下,struc2vec 的结果不太成功,每个类别之间的距离几乎均匀分布。

  3. 欧洲航空网络:接下来我们分析一系列航空公司网络,这些网络编码了不同航空公司运营的、机场之间的直飞航班。我们考虑六家在欧洲机场之间运营的航空公司:四家商业航空公司、两家货运航空公司。每家航空公司对应一个Graph,其中顶点表示机场/目的地、边表示机场之间的直飞航班。

    这里一共有 45 个机场,我们对其标记为枢纽机场hub airport、区域枢纽、商业枢纽、重点城市等几个类别,这些类别作为节点的真实结构角色。对每个Graph我们学习图中每个机场的 embedding,然后将来自不同Graph 的同一个机场的 embedding 进行拼接,然后使用 t-SNE 可视化。我们还将拼接后的 embedding 作为 agglomerative 聚类的输入,然后评估同质性、完整性、轮廓系数。

    我们衡量了每个簇中的机场与ground-truth 结构角色的对应程度(如上表所示)。从上表可以看到,GraphWave 在所有三个聚类指标上都优于替代方法。

    下图展示了机场 embeddingt-SNE 可视化。结果如下所示:

    • struc2vec 学习的 embedding 捕获了不同的航空公司,可以看到各航空公司的节点几乎各自聚在一起。这表明struc2vec 无法在不同的航空公司网络之间泛化,因此无法识别那些结构等价、但是不属于同一个航空公司的机场。
    • RolX 学到的 embeddingt-SNE 投影几乎没有任何明显的模式。
    • GraphWave 可以学到节点的结构等价性,即使这些节点位于不同的图上。这表明 GraphWave 能够学到针对真实世界网络有意义的结构嵌入。

十五、NetMF[2017]

  1. 传统的网络挖掘、网络学习的范式通常从对网络结构属性structural property 的显式探索而开始。但是许多这类的属性(如中介中心度 betweenness centrality、三角计数 triangle count、模度 modularity)由人工制作,并且需要广泛的领域知识和昂贵的计算代价。鉴于这些问题,以及最近出现的 representation learning 所提供的机会,人们广泛研究了学习网络的潜在 representation(也就是 network embedding ),以便自动发现网络的结构属性并将其映射到一个潜在的空间。

    形式上,network embedding 的问题通常形式化如下:给定一个无向带权图 ,其中 为顶点集合、 为边集合、 为邻接矩阵,任务的目标是学习一个映射 ,该映射将每个顶点映射到一个能够捕获该顶点结构属性的 维向量。输出的 representation 可以用于各种网络科学任务、网络 learning algorithm 的输入,例如标签分类、社区检测。

    解决这个问题的尝试可以追溯到谱图理论 spectral graph theory 和社交维度学习 social dimension learning 。该问题最近的进展很大程度上受到 SkipGram 模型的影响。SkipGram 模型最初是为 word embedding 所提出的,其输入是由自然语言中的句子组成的文本语料库,输出是语料库中每个单词的 latent vector representation 。值得注意的是,受到该 setting 的启发,DeepWalk 通过将网络上随机游走所遍历的顶点路径视为句子,并利用 SkipGram 来学习潜在的节点 representation,从而开创了 network embedding 的先河。随着 DeepWalk 的出现,人们后续已经开发了很多 network embedding 模型,例如 LINEPTEnode2vec

    到目前为止,上述模型已经被证明非常有效。然而,它们背后的理论机制却鲜为人知。人们注意到,用于 word embedding 的、带负采样的 SkipGram 模型已经被证明是某个 word-context 矩阵的隐式分解,并且最近有人努力从几何角度从理论上解释 word embedding 模型。但是,目前尚不清楚 word-context 矩阵与网络结构之间的关系。此外,早期人们尝试从理论上分析 DeepWalk 的行为,然而他们的主要理论结果和原始 DeepWalk 论文的 setting 并不完全一致。此外,尽管 DeepWalk, LINE, PTE, node2vec 之间存在表面上的相似性,但是对它们的底层联系缺乏更深入的了解。

    在论文 《Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and node2vec》中,作者提供了关于几种基于 SkipGramnetwork embedding 方法的理论结果。具体而言:

    • 论文首先表明这里提到的模型(即 DeepWalk, LINE, PTE, node2vec )在理论上执行隐式矩阵分解。论文为每个模型推导出矩阵的封闭形式 closed form 。例如,DeepWalk (图上的随机游走加上 SkipGram)本质上是对一个随机矩阵进行因子分解,并且随着随机游走的长度趋于无穷大,该矩阵在概率上收敛到这个的闭式矩阵。
    • 其次,从它们矩阵的闭式形式观察,作者发现有意思的是,LINE 可以视为 DeepWalk 的一个特例:当 SkipGram 中的上下文窗口大小 时。此外,作者证明了 PTE 作为 LINE 的扩展,实际上是多网络的联合矩阵joint matrix 的隐式分解。
    • 第三,作者发现了 DeepWalk 的隐式矩阵implicit matrix 和图拉普拉斯矩阵graph Laplacian 之间的理论联系。基于这种联系,作者提出了一种新算法 NetMF 来逼近 DeepWalk 隐式矩阵的封闭形式。通过使用 SVD 显式分解该矩阵,论文在四个网络(在 DeepWalknode2vec 论文中所采用的)中的广泛实验证明了 NetMF 相比于 DeepWalkLINE 的出色性能(相对提升高达 50%)。

    论文的理论价值高于 NetMF 实用的价值,实际上 NetMF 很难应用到工业环境中,因为 NetMF 的时间复杂度和空间复杂度都太高。

  2. 论文展示了所有上述带负采样的模型都可以统一到具有封闭形式closed form 的矩阵分解框架中。论文的分析和证明表明:

    • DeepWalk 经验性empirically 地产生了网络归一化拉普拉斯矩阵的低秩变换low-rank transformation
    • LINE 理论上是 DeepWalk 的一个特例:当顶点的上下文 size1 时。
    • 作为 LINE 的扩展,PTE 可以视为多个网络的拉普拉斯矩阵的联合分解。
    • node2vec 正在分解与二阶随机游走的平稳分布、转移概率张量等相关的矩阵。

    这项工作为基于 SkipGramnetwork embedding 方法奠定了理论基础,从而更好地理解了潜在的 network representation learning

  3. 相关工作:network embedding 的故事来源于谱聚类 Spectral Clustering。谱聚类是一种数据聚类技术,它选择数据的亲和矩阵 affinity matrix 的特征值eigenvalue /特征向量 eigenvector 从而获得representation ,从而进一步用于聚类或嵌入到低维空间。谱聚类已广泛应用于社区检测和图像分割等领域。

    近年来,人们对 network embedding 越来越感兴趣。继 SocDimDeepWalk 等一些开创性工作之后,越来越多的文献试图从不同的角度解决这个问题,例如 heterogeneous network embedding 、半监督 network embedding、具有丰富顶点属性的 network embedding、具有高阶结构的 network embedding、有符号的 network embedding 、有向的network embedding、通过神经网络的 network embedding 等等。在上述研究中,一种常用的技术是为每个顶点定义 context,然后训练一个预测模型来进行上下文预测。例如,DeepWalk, node2vec, metapath2vec 分别通过基于一阶的随机游走、基于二阶的随机游走、基于 metapath 的随机游走来定义顶点的上下文。

    利用上下文信息的思想很大程度上是由带负采样的 SkipGram 模型skip-gram model with negative sampling: SGNS所推动的。最近,人们一直在努力理解这个模型。例如:

    • 《NeuralWord Embedding as Implicit Matrix Factorization》 证明了 SGNS 实际上是进行隐式矩阵分解,这为我们提供了分析上述 network embedding 模型的工具。
    • 《A latent variable model approach to pmi-based word embeddings》 提出生成模型 RAND-WALK 来解释 word embedding 模型。
    • 《Word embeddings as metric recovery in semantic spaces》word embedding 框架作为度量学习问题。

    基于隐式矩阵分解的工作,我们从理论上分析了流行的、基于 SkipGramnetwork embedding 模型,并将它们与谱图理论联系起来。

15.1 模型

  1. 这里我们首先介绍四种流行的 network embedding 方法(LINE, PTE, DeepWalk, node2vec)的详细理论分析和证明,然后提出我们的 NetMF 方法。

15.1.1 LINE

  1. 给定一个带权无向图 ,二阶邻近性的LINE(即 LINE(2nd) )的任务是学到两个representation 矩阵 :

    • vertex represetation 矩阵 :第 为顶点 作为vertex 时的 embedding 向量。
    • context representation 矩阵 :第 为顶点 作为contex 时的 embedding 向量。

    LINE(2nd) 的目标函数为:

    其中:sigmoid 函数, 为负采样系数, 为用于产生负样本的 noise 分布。在 LINE 原始论文中使用经验分布 ,其中 为顶点 的加权 degree

    LINE(2nd) 的目标函数为 (即 ),考虑到 以及负采样,则得到上述目标函数。这也是为什么 不仅作用在“正边”、也作用在 “负边” 上的原因。

  2. 本文我们选择 ,因为这种形式的经验分布将得到一个闭式解closed form solution 。定义 为所有顶点的加权 degree 之和,则有 。我们重写目标函数为:

    我们在图 的所有顶点上计算,从而得到期望为:

    因此有:

    则对于每一对顶点 (i,j),其局部目标函数local objective function 为:

    定义 ,根据 《NeuralWord Embedding as Implicit Matrix Factorization》 的结论:对于一个足够大的 embedding 维度, 每个 之间可以认为是相对独立的。因此我们有:

    为求解目标函数极大值,我们令偏导数为零,则有:

    这个方程有两个闭式解:

    • :其解为虚数,不予考虑。
    • :有效解。

    因此有:

    LINE(2nd) 对应于矩阵分解:

    其中对角矩阵

15.1.2 PTE

  1. PTELINE(2nd) 在异质文本网络heterogeneous text network 中的扩展。我们首先将我们对 LINE(2nd) 的分析调整到二部图网络。考虑一个二部图网络 ,其中 是两个不相交的顶点集合, 是边集合, 为二部图网络的邻接矩阵。定义图 volume 。则 PTE 的目标是学习每个节点 的节点 representation 、以及学习每个节点 的节点 representation 。则 LINE(2nd) 的目标函数为:

    这里 内节点和 内节点互为上下文,因此没必要引入 上下文的 embedding 变量、 上下文的 embedding 变量。

    LINE 相同的分析过程,我们可以发现最大化 等价于因子分解:

    其中 各行之和构成的对角矩阵, 各列之和构成的对角矩阵, 为全 1 的向量。

    当二部图是无向图时, (无向图的出边就是入边),则

  2. 基于上述分析,接下来我们考虑 PTE 中的异质文本网络。假设单词集合为 ,文档集合为 ,标签集合为 ,我们将文本网络分为三个子网络:

    • word-word 子网 :每个 word 是一个顶点,边的权重为两个 word 在大小为 T 的窗口内共现的次数。假设其邻接矩阵为 ,定义 行的元素之和, 定义 列的元素之和。定义对角矩阵 ,它们分别由 的各行之和、各列之和组成。
    • word-document 子网 :每个 worddocument 都是一个顶点,边的权重是word 出现在文档中的次数。同样地我们定义对角矩阵 ,它们分别由 的各行之和、各列之和组成。
    • word-label 子网 :每个 wordlabel 都是一个顶点,边的权重为 word 出现在属于这个 label 的文档的篇数。同样的我们定义对角矩阵 ,它们分别由 的各行之和、各列之和组成。

    PTE 的损失函数为:

    其中 分别为三个子网中的量, 为三个超参数来平衡不同子网的损失, 为负采样系数。根据 PTE 论文, 需要满足: ,这是因为PTE 在训练期间执行边采样,其中边是从三个子网中交替采样得到。

    根据前面的结论有:

    令:

    则有 ,且有:

    .

15.1.3 DeepWalk

  1. DeepWalk 首先通过在图上执行随机游走来产生一个 corpus ,然后在 上训练 SkipGram 模型。这里我们重点讨论带负采样的 SkipGram 模型skipgram with negative sampling:SGNS 。整体算法如下所示:

    • 输入:

      • 窗口大小
      • 随机游走序列长度
      • 总的随机游走序列数量
    • 输出:顶点的 embedding 矩阵

    • 算法步骤:

      • 迭代: ,迭代过程为:

        • 根据先验概率分布 随机选择一个初始顶点

        • 在图 上从初始顶点 开始随机游走,采样得到一条长度为 的顶点序列

        • 统计顶点共现关系。对于窗口位置

          • 考虑窗口内第 个顶点

            • 添加 vertex-context 顶点对 中。
            • 添加 vertex-context 顶点对 中。
      • 然后在 上执行负采样系数为 SGNS

  2. 根据论文 《NeuralWord Embedding as Implicit Matrix Factorization》SGNS 等价于隐式的矩阵分解:

    其中: 为语料库大小; 为语料库 vertex-context 共现的次数; 为语料库中 vertex 出现的总次数; 为语料库中 context 出现的总次数; 为负采样系数。

    这个矩阵 刻画了图结构的什么属性?目前并没有相关的分析工作。此外,这里是否可以去掉 log、是否可以去掉 log b ,也没有理论的解释。

  3. 接下来的分析依赖于一些关键的假设:

    • 假设图 为无向的undirected、连接的connectednon-bipartite 的,这使得 为一个平稳分布。
    • 假设每个随机游走序列的第一个顶点从这个平稳分布 中随机选取。

    对于 ,定义:

    • ,即 的子集,它的每个 context 顶点 都在每个 vertex 顶点 的右侧 步。另外定义 vertex-context 共现的次数。

    • , 即 的子集,它的每个 context 顶点 都在每个 vertex 顶点 的左侧 步。另外定义 vertex-context 共现的次数。

    • 定义 相乘),其中对角矩阵 。定义 的第 行、第 列。

      事实上 定义了一个概率转移矩阵, 定义了从顶点 经过一步转移到 的概率; 定义了从顶点 经过 步转移到 的概率。

    另外考虑到对称性,我们有

  4. 定理一:定义,则当 时有:

    其中: 表述依概率收敛。

    证明:

    首先介绍 S.N. Bernstein 大数定律:设 为一个随机变量的序列,其中每个随机变量具有有限的期望 和有限的方差 ,并且协方差满足:当 时, 。则大数定律 law of large numbers:LLN 成立。

    考虑只有一条随机游走序列(即 ): 。给定一个 vertex-context ,定义随机变量 为事件 发生的指示器 indicator

    我们观察到:

    • 。因此有:

    • 基于我们对图的假设和随机游走的假设,则有: 发生的概率等于 的概率乘以 经过 步转移到 的概率。即:

    • 基于我们对图的假设和随机游走的假设,则有:当 时有:

      其中:第一项为 采样到 的概率;第二项为从 经过 步转移到 的概率;第三项为从 经过 步转移到 得概率;第四项为从 经过 步转移到 的概率。

    则有:

    时,从 经过 步转移到 的概率收敛到它的平稳分布,即 。即:

    因此有 。因此随机游走序列收敛到它的平稳分布。

    应用大数定律,则有:

    类似地,我们有:

    时,我们定义 为事件 的指示器,同样可以证明相同的结论。

  5. 事实上如果随机游走序列的初始顶点分布使用其它分布(如均匀分布),则可以证明:当 时,有:

    因此定理一仍然成立。

  6. 定理二:当 时,有:

    证明:

    注意到 ,应用定理一有:

    进一步的,考察 的边际分布和 的边际分布,当 时,我们有:

    不大时,单边的、间隔 vertex-context 数量是固定的,为全体 vertex-context 数量的

  7. 定理三:在 DeepWalk 中,当 时有:

    因此DeepWalk 等价于因子分解:

    证明:

    利用定理二和continous mapping theorem,有:

    写成矩阵的形式为:

  8. 事实上我们发现,当 时,DeepWalk 就成为了 LINE(2nd), 因此 LINE(2nd)DeepWalk 的一个特例。

15.1.4 node2vec

  1. node2vec 是最近提出的 graph embedding 方法,其算法如下:

    • 输入:

      • 窗口大小
      • 随机游走序列长度
      • 总的随机游走序列数量
    • 输出:顶点

    • 算法步骤:

      • 构建转移概率张量

      • 迭代: ,迭代过程为:

        • 根据先验概率分布 随机选择初始的两个顶点

        • 在图 上从初始顶点 开始二阶随机游走,采样得到一条长度为 的顶点序列

        • 统计顶点共现关系。对于窗口位置

          • 考虑窗口内第 个顶点

            • 添加三元组 中。
            • 添加三元组 中。
      • 然后在 上执行负采样系数为 SGNS

      注意:这里为了方便分析,我们使用三元组 ,而不是vertex-context 二元组。

  2. node2vec 的转移概率张量 采取如下的方式定义:

    • 首先定义未归一化的概率:

      其中 表示在 的条件下, 的概率。

    • 然后得到归一化的概率:

  3. 类似 DeepWalk ,我们定义:

    这里 previous 顶点。

    定义 出现在 中出现的次数;定义 出现在 中出现的次数。

    定义二阶随机游走序列的平稳分布为 ,它满足: 。根据 Perron-Frobenius 定理,这个平稳分布一定存在。为了便于讨论,我们定义每个随机游走序列的初始两个顶点服从平稳分布

    定义高阶转移概率矩阵

    由于篇幅有限,这里给出 node2vec 的主要结论,其证明过程类似 DeepWalk

    因此 node2vec 有:

    尽管实现了 node2vec 的封闭形式,我们将其矩阵形式的公式留待以后研究。

  4. 注意:存储和计算转移概率张量 以及对应的平稳分布代价非常高,使得我们难以对完整的二阶随机游走动力学过程建模。但是最近的一些研究试图通过对 进行低秩分解来降低时间复杂度和空间复杂度:

    由于篇幅限制,我们这里主要集中在一阶随机游走框架DeepWalk 上。

15.1.5 NetMF

  1. 根据前面的分析我们将 LINE,PTE,DeepWalk,node2vec 都统一到矩阵分解框架中。这里我们主要研究 DeepWalk 矩阵分解,因为它比 LINE 更通用、比 node2vec 计算效率更高。

  2. 首先我们引用了四个额外的定理:

    • 定理四:定义归一化的图拉普拉斯矩阵为 ,则它的特征值都是实数。

      而且,假设它的特征值从大到小排列 ,则有:

      进一步的,假设该图是连通图 (connected),并且顶点数量 ,则有:

      证明参考:《Spectral graph theory》

    • 定理五:实对称矩阵的奇异值就是该矩阵特征值的绝对值。

      证明参考:《Numerical linear algebra》

    • 定理六:假设 为两个对称矩阵,假设将 的奇异值按照降序排列,则对于任意 ,以下不等式成立:

      其中 为对应矩阵的奇异值根据降序排列之后的第 个奇异值。

      证明参考:《Topics in Matrix Analysis》

    • 定理七:给定一个实对称矩阵 ,定义它的瑞利商为:

      假设 的特征值从大到小排列为 ,则有:

      证明参考:《Numerical linear algebra》

  3. 考察 DeepWalk 的矩阵分解:

    忽略常量以及 element-wiselog 函数,我们关注于矩阵:

    实对称矩阵 存在特征值分解 ,其中 为正交矩阵、 为特征值从大到小构成的对角矩阵。根据定理四可知, ,并且

    考虑到 ,因此有:

    • 我们首先分析 的谱。显然,它具有特征值:

      这可以视为对 的特征值 进行一个映射 。这个映射可以视为一个滤波器,滤波器的效果如下图所示。可以看到:

      • 滤波器倾向于保留正的、大的特征值。
      • 随着窗口大小 的增加,这种偏好变得更加明显。

      即:随着 的增加,滤波器尝试通过保留较大的、正的特征值来近似低阶半正定矩阵。

    • 然后我们分析 的谱。

      根据定理五,矩阵 的奇异值可以根据其特征值的绝对值得到。我们将 进行降序排列,假设排列的顺序为 ,则有:

      考虑到每个 都是正数,因此我们可以将 的奇异值根据特征值 降序排列。假设排列的顺序为 ,则有:

      特别的, 为最小的 degree

      通过应用两次定理六,我们可以发现第 个奇异值满足:

      因此 的第 个奇异值的上界为

      另外,根据瑞利商,我们有:

      应用定理七,我们有:

  4. 为了说明滤波器 的效果,我们分析了 Cora 数据集对应的引文网络。我们将引文链接视为无向边,并选择最大连通分量 largest connected component 。我们分别给出了 以及 按照降序排列的特征值,其中

    • 对于 ,最大的特征值为 ,最小特征值为

    • 对于 ,我们发现:它的所有负特征值以及一些小的正特征值都被过滤掉了 filtered out

    • 对于 ,我们发现:

      • 它的奇异值(即特征值的绝对值)被 的奇异值所限制 bounded
      • 它的最小特征值的被 的特征值所限制 bounded

  5. 基于前面的理论分析,我们提出了一个矩阵分解框架 NetMF ,它是对 DeepWalkLINE 的改进。

    为表述方便,我们定义:

    因此 对应于 DeepWalk 的矩阵分解。

    • 对于很小的 ,我们直接计算 并对 进行矩阵分解。考虑到直接对 进行矩阵分分解难度很大,有两个原因:当 的行为未定义; 是一个巨大的稠密矩阵,计算复杂度太高。

      受到 Shifted PPMI 启发,我们定义 。这使得 中每个元素都是有效的,并且 是稀疏矩阵。然后我们对 进行奇异值分解,并使用它的 top 奇异值和奇异向量来构造embedding 向量。

    • 对于很大的 ,直接计算 的代价太高。我们提出一个近似算法,主要思路是:根据 和归一化拉普拉斯矩阵之间的关系来近似

      • 首先我们对 进行特征值分解,通过它的 top 个特征值和特征向量来逼近 。由于只有 top 个特征值被使用,并且涉及的矩阵是稀疏的,因此我们可以使用 Arnoldi 方法来大大减少时间。

        大型稠密矩阵的特征值分解的代价太高,实际是不可行的。

      • 然后我们通过 来逼近

  6. NetMF 算法:

    • 输入:

      • 窗口大小
    • 输出:顶点的 embedding 矩阵

    • 算法步骤:

      • 如果 较小,则计算:

        如果 较大,则执行特征值分解: 。然后计算:

      • 执行 维的 SVD 分解: 或者

      • 返回 作为网络 embedding

  7. 对于较大的 ,可以证明 逼近 的误差上界,也可以证明 逼近 的误差上界。

    定理八:令 为矩阵的 Frobenius 范数,则有:

    证明:

    • 第一个不等式:可以通过 F 范数的定义和前面的定理七来证明。

    • 第二个不等式:不失一般性我们假设 ,则有:

      第一步成立是因为: 对于 ;第二步成立是因为: 。因此有

      另外,根据 的定义有:

      因此有:

15.2 实验

  1. 这里我们在在多标签顶点分类任务中评估 NetMF 的性能,该任务也被 DeepWalk, LINE, node2vec 等工作所采用。

  2. 数据集:

    • BlogCatalog 数据集:在线博主的社交关系网络,标签代表博主的兴趣。
    • Flickr 数据集:Flickr网站用户之间的关系网络,标签代表用户的兴趣组,如“黑白照片”。
    • Protein-Protein Interactions:PPI:智人 PPI 网络的子集,标签代表标志基因组和代表的生物状态。
    • Wikipedia 数据集:来自维基百科,包含了英文维基百科 dump 文件的前一百万个字节中的单词共现网络。顶点的标签表示通过Stanford POS-Tagger推断出来的单词词性Part-of-Speech:POS

    这些数据集的统计信息如下表所示。

  3. Baseline 模型和配置:我们将 NetMF(T=1)NetMF(T=10)LINE(2nd), DeepWalk 进行比较。

    • 所有模型的 embedding 维度都是 128 维。
    • 对于 NetMF(T=10) ,我们在 Flickr 数据集上选择 ,在其它数据集上选择
    • 对于 DeepWalk ,我们选择窗口大小为 10、随机游走序列长度 40、每个顶点开始的随机游走序列数量为 80

    我们重点将 NetMF(T=1)LINE(2nd) 进行比较,因为二者窗口大小都为 1 ;重点将 NetMF(T=10)DeepWalk 进行比较,因为二者窗口大小都为 10

  4. DeepWalk 相同的实验步骤,我们首先训练整个网络的 embedding,然后随机采样一部分标记样本来训练一个one-vs-rest 逻辑回归分类模型,剩余的顶点作为测试集。在测试阶段,one-vs-rest 模型给出 label 的排名,而不是最终的 label 分配。为了避免阈值效应,我们假设测试集的 label 数量是给定的。

    对于 BlogCatalog,PPI,Wikipedia 数据集,我们考察分类训练集占比 10%~90% 的情况下,各模型的性能;对于 Flickr 数据集,我们考察分类训练集占比 1%~10% 的情况下,各模型的性能。我们评估测试集的 Micro-F1 指标和 Macro-F1 指标。为了确保实验结果可靠,每个配置我们都重复实验 10 次,并报告测试集指标的均值。

    完成的实验结果如下图所示。可以看到:NetMF(T=1) 相对于 LINE(2nd) 取得了性能的提升(它们的上下文窗口 T=1 ),NetMF(T=10) 相对于 DeepWalk 也取得了性能提升(它们的上下文窗口 T=10 )。

    • BlogCatalog,PPI,Flickr 数据集中,我们提出的 NetMF(T=10)Baseline 性能更好。这证明了我们提出的理论基础在 network embedding 的有效性。

    • Wikipedia 数据集中,窗口更小的 NetMF(T=1)LINE(2nd) 效果更好。这表明:短期依赖足以建模 Wikipedia 网络结构。这是因为 Wikipedia 网络是一个平均 degree77.11 的稠密的单词共现网络,大量单词之间存在共现关系。

    • 如下表所示,大多数情况下当标记数据稀疏时,NetMF 方法远远优于 DeepWalkLINE

    • DeepWalk 尝试通过随机游走采样,从而用经验分布来逼近真实的 vertex-context 分布。尽管大数定律可以保证这种方式的收敛性,但是实际上由于真实世界网络规模较大,而且实际随机游走的规模有限(随机游走序列的长度、随机游走序列的数量),因此经验分布和真实分布之间存在gap ,从而对 DeepWalk 的性能产生不利影响。

      NetMF 通过直接建模真实的 vertex-context 分布,从而得到比DeepWalk更好的效果。

十六、NetSMF[2019]

  1. 近年来 network embedding 为图和网络建模提供了革命性的范式。network embedding 的目标是自动学习网络中对象(例如顶点、边)的潜在 representation 。重要的研究表明:潜在representation 能够捕获网络的结构特性,促进各种下游网络应用,例如顶点分类任务、链接预测任务。

    network embedding 发展过程中,DeepWalk, LINE, node2vec 模型通常被认为是评估 network embedding 研究的强大基准方案。LINE 的优势在于它对大规模网络的可扩展性,因为它仅对一阶邻近性和二阶邻近性建模。也就是说,LINEembedding 没有对网络中的 multi-hop 依赖。另一方面,DeepWalknode2vec 利用图上的随机游走和具有较大 context sizeSkipGram 来对更远的节点(即全局结构)进行建模。因此,DeepWalknode2vec 处理大规模网络的计算成本更高。例如,使用默认参数设置的 DeepWalk 需要几个月的时间来嵌入一个由 6700 万顶点、8.95 亿条边组成的学术协作网络 academic collaboration network 。而执行高阶随机游走的 node2vec 模型比 DeepWalk 需要更多时间来学习 embedding

    最近的一项研究表明,DeepWalkLINE 方法都可以看作是一个闭式closed-form 矩阵的隐式分解。在这个理论的基础上,该研究提出了 NetMF 方法来显式分解这个矩阵,从而实现比 DeepWalkLINE 更有效的 embedding 。不幸的是,待分解的矩阵是一个 的稠密矩阵,其中 为网络中的顶点数量,这使得直接构造和分解大规模网络的成本过高。

    鉴于现有方法的这些局限性(如下表中的总结),论文 《NetSMF: Large-Scale Network Embedding as Sparse Matrix Factorization》建议研究大规模网络的 representation learning ,目标是达到高效率、捕获全局结构上下文global structural context 、并具有理论上的保证。论文的思想是找到一个稀疏矩阵,该矩阵在谱上逼近由 DeepWalk 隐式分解的、稠密的 NetMF 矩阵。稀疏矩阵需要较低的构造成本和分解成本。同时,使其在谱上逼近原始 NetMF 矩阵可以保证网络的谱信息 spectral information 保持不变,并且从稀疏矩阵中学到的 embedding 与从稠密 NetMF 矩阵中学到的 embedding 一样强大。

    在这项工作中,论文提出了作为稀疏矩阵分解的 network embedding learning 方法 NetSMFNetSMF 包含三个步骤:首先,它利用谱图稀疏化技术 pectral graph sparsification technique 为网络的随机游走矩阵多项式random-walk matrix-polynomial 找到稀疏化器 sparsifier 。然后,它使用这个稀疏化器来构造一个非零元素数量明显少于原始 NetMF 矩阵、但是在谱上逼近原始 NetMF 矩阵的矩阵。最后,它执行随机奇异值分解randomized singular value decomposition 以有效地分解稀疏的 NetSMF 矩阵,从而产生网络的 embedding

    通过这种设计,NetSMF 保证了效率和效果,因为稀疏矩阵的逼近误差approximation error 在理论上是有界的。论文在代表不同规模和类型的五个网络中进行实验。实验结果表明:对于百万级或更大的网络,NetSMFNetMF 实现了数量级上的加速,同时保持了顶点分类任务的有竞争力的性能competitive performance 。换句话讲,NetSMFNetMF 都优于公认的 network embedding 基准方法(即 DeepWalk, LINE, node2vec),但是 NetSMF 解决了 NetMF 面临的计算挑战。

    总而言之,论文引入了通过稀疏矩阵分解来产生 network embedding 的思想,并提出了 NetSMF 算法。NetSMF 算法对 network embedding 的贡献如下:

    • 效率:NetSMF 的时间复杂度和空间复杂度显著低于 NetMF。值得注意的是,NetSMF 能够在 24 小时内在单台服务器上为包含 6700 万个顶点、8.95 亿条边的大型学术网络 academic network 生成 embedding,而 DeepWalknode2vec 将花费数月时间。另外在相同的硬件上,NetMF 在计算上是不可行的。
    • 效果:NetSMF 学到的 embedding 能够保持与稠密矩阵分解的解决方案相同的表达能力。在网络中的多标签顶点分类任务中,NetSMF 始终优于 DeepWalknode2vec 高达 34%、始终优于 LINE 高达 100%
    • 理论保证:NetSMF 的效率和效果在理论上得到了保证。稀疏的 NetSMF 矩阵在谱上逼近于精确的 NetMF 矩阵,并且逼近误差是有界的,从而保持了 NetSMF 学到的 embedding 的表达能力。
  2. 相关工作:这里我们回顾了 network embedding、大规模 embedding 算法、谱图稀疏化spectral graph sparsification 等相关的工作。

    • network embeddingnetwork embedding 在过去几年中得到了广泛的研究。network embedding 的成功推动了许多下游网络应用network application,例如推荐系统。简而言之,最近关于 network embedding 的工作可以分为三类:

      • word2vec 启发的、基于 SkipGram 的方法,如 LINE, DeepWalk, node2vec, metapath2vec, VERSE
      • 基于深度学习的方法,如 《Semi-Supervised Classification with Graph Convolutional Networks》《Graph Convolutional Neural Networks for Web-Scale Recommender Systems》
      • 基于矩阵分解的方法,如 GraRep, NetMF。其中,NetMF 通过将一系列基于 SkipGramnetwork embedding 方法统一到一个矩阵分解框架中来连接第一类工作和第三类工作。

      在这项工作中,我们利用了 NetMF 的优点并解决了它在效率方面的局限性。

      在文献中,PinSage 是一个用于十亿规模网络的 network embedding 框架。NetSMFPinSage 的主要区别在于:NetSMF 的目标是以无监督的方式预训练通用的 network embedding;而 PinSage 是一种有监督的图卷积方法,既结合了推荐系统的目标,也结合了现有的节点特征。话虽如此,NetSMF 学到的 embedding 也可以被 PinSage 用于下游的网络应用。

    • large-scale embedding learning:一些研究试图优化 embedding 算法从而用于大型数据集。其中的一部分专注于改进 SkipGram 模型,另一部分则聚焦于改进矩阵分解模型。

      • 分布式 SkipGram 模型:受 word2vec 的启发,大多数现代的 embedding learning 算法都基于 SkipGram 模型。有一系列工作试图在分布式系统中加速 SkipGram 模型。例如,《Parallelizing word2vec in shared and distributed memory》 在多个 worker 上复制 embedding 矩阵并定期同步synchronize 它们。《Network-efficient distributed word2vec training system for large vocabularies》embedding 矩阵的列(维度)分配给多个 executor ,并将它们与一个 parameter server 进行同步。

        负采样negative samplingSkipGram 的关键步骤,它需要从噪声分布noisy distribution 中采样负样本。《Distributed Negative Sampling for Word Embeddings》 专注于通过使用别名方法 alias method 的分层采样算法hierarchical sampling algorithm 代替了 roulette wheel selection 从而优化负采样。

        最近,《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》 提出了一个十亿规模的network embedding 框架。该框架通过启发式地将输入图划分为小的子图,然后并行地、单独地处理这些子图。然而,该框架的性能高度依赖于图划分graph partition 的质量。另外,基于分区partition-basedembedding learning 的缺点是:在不同子图中学到的 embedding 不共享相同的潜在空间,因此无法跨子图比较节点。

      • 高效的矩阵分解:隐式分解 NetMF 矩阵(例如 LINE, DeepWalk)或显式分解 NetMF 矩阵(例如 NetMF 算法)会遇到两个问题:首先,即使对于中等的上下文窗口大小(例如 T=10),该矩阵的稠密程度也会使得计算变得昂贵。其次,非线性变换(即,逐元素的矩阵对数)很难近似approximateLINE 通过设置 T=1 解决了这个问题。通过这种简化,LINE 以预测性能为代价实现了良好的可扩展性。NetSMF 通过有效地稀疏化稠密的 NetMF 矩阵来解决这个问题,其中这个稀疏化过程具有理论上有界的近似误差。

    • spectral graph sparsification:谱图稀疏化在图论中已经研究了几十年。谱图稀疏化的任务是通过一个稀疏图来近似并代替一个稠密图。我们的 NetSMF 模型是第一个将谱图稀疏化算法纳入 network embedding 的工作。NetSMF 提供了一种强大而有效的方法来近似和分析 NetMF 矩阵中的随机游走矩阵多项式random-walk matrix-polynomial

16.1 模型

16.1.1 基本概念

  1. 通常,network embedding 问题形式化如下:给定一个带权无向图 ,其中 个顶点组成的顶点集合, 条边组成的边集合, 为邻接矩阵。network embedding 学习任务的目标是学习函数 ,从而将每个顶点 映射到一个 维的 embedding 向量 ,其中 。这个 embedding 向量捕获了网络的结构属性 structural property,例如社区结构。顶点的 embedding 向量可以提供给下游应用程序使用,例如链接预测任务、顶点分类任务等等。

  2. DeepWalk 模型是 network embedding 的开创性工作之一,并且在过去几年中一直被认为是一个强大的基准。简而言之,DeepWalk 模型分为两个步骤:首先,DeepWalk通过网络中的随机游走过程生成一些顶点序列;然后,DeepWalk 在生成的顶点序列上应用 SkipGram 模型来学习每个顶点的潜在 representation 。通常,SkipGram 使用上下文窗口大小 和负采样比例 进行参数化。最近,《Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE,and node2vec》 的理论分析研究表明:DeepWalk 本质上分解了从随机游走过程中派生出 derived 的矩阵。更正式地讲,该论文证明了当随机游走序列的长度达到无穷大时,DeepWalk 隐式且渐进地分解以下矩阵:

    其中:

    • 为每个顶点的 embedding 向量组成的 embedding 矩阵, 为每个顶点作为 context 时的 embedding 矩阵。
    • 为矩阵的逐元素 log
    • 为顶点 degree 为所有顶点的 degree 组成的对角矩阵, 为所有顶点 degree 的和。 也称作图的 volume

    这种矩阵形式提供了基于 SkipGramnetwork embedding 方法的另一种观点(即,矩阵分解的观点)。此外,该论文还提出了一种叫做 NetMF 的显式矩阵分解方法来学习 embedding 。该论文表明:基于 NetMFembedding 在顶点分类任务上的准确率要优于基于 DeepWalkLINEembedding

    注意,如果在 T hop 中存在一对无法到达的顶点,那么上述等式中的矩阵将是未定义 ill-defined 的,因为 。因此,遵循 《NeuralWord Embedding as Implicit Matrix Factorization》NetMF 使用截断的对数,即 。因此,NetMF 的目标是分解矩阵:

    在这项工作的其余部分,我们将这个矩阵称作 NetMF 矩阵。

  3. 然而,在实践中利用 NetMF 矩阵时存在一些挑战。首先,距离 内的每一对顶点几乎都对应于 NetMF 矩阵中的一个非零项。回想一下,许多社交网络social network 和信息网络information network 都表现出小世界smallworld 的属性,即大多数顶点之间可以通过少量 step 而相互抵达。例如,截至 2012 年,Facebook 的可达顶点对reachable pair92% 的距离小于等于 5 。因此,即使设置一个中等的上下文窗口大小(例如,DeepWalk 中的默认设置 T=10 ),NetMF 矩阵也将是具有 个非零元素的稠密矩阵。这种矩阵的精确构造和精确分解对于大型网络而言是不切实际的。更具体而言,计算矩阵 时涉及到 复杂度的矩阵幂次运算,另外对稠密的 NetMF 矩阵进行矩阵分解也很耗时。

    为了降低构造成本,NetMF 使用 top 特征值和特征向量来近似 。然而这个近似矩阵approximated matrix 仍然是稠密的,使得这种策略无法处理大型网络。在这项工作中,我们旨在解决 NetMF 的效率和可扩展性的缺陷,同时保持其效果优势。

    计算 NetMFtop 特征值和特征向量也是耗时的。

16.1.2 NetSMF

  1. 在本节中,我们将 network embedding 开发为稀疏矩阵分解 sparse matrix factorization(即 NetSMF)。我们提出了 NetSMF 方法来构造和分解一个稀疏矩阵,这个稀疏矩阵逼近了稠密 的 NetMF 矩阵。我们利用的主要技术是随机游走矩阵多项式稀疏化 random-walk matrix-polynomial sparsification

    我们首先介绍谱相似度spectral similarity 的定义和随机游走多项式稀疏化定理。

  2. 谱相似度 Spectral Similarity :假设有两个带权无向图 ,令 分别为它们的拉普拉斯矩阵。如果下面的关系成立,我们就说 谱相似的spectrally similar

  3. 定理(随机游走多项式的谱稀疏化器Spectral Sparsifier):对于随机游走多项式 random-walk molynomial

    其中 ,则可以在 时间复杂度内构造一个 spectral sparsifier ,其中 具有 个非零项。对于无权图,时间复杂度可以进一步降低到

    证明参考:《Efficient sampling for Gaussian graphical models via spectral sparsification》《Spectral sparsification of random-walk matrix polynomials》

  4. 为构建一个包含 个非零项的 sparsifier ,该稀疏化算法包含两步:

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

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

  5. 我们取 ,因此有:

    我们定义:

    因此有:

    采用 的稀疏化版本 ,我们定义 。可以发现 也是一个稀疏矩阵,其非零元素的规模和 非零元素规模相当。最终我们可以分解这个稀疏矩阵从而获得每个顶点的 embedding

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

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

      • 首先均匀随机选择一条边 ,均匀随机选择一个路径长度

      • 然后从顶点 开始进行 步随机游走,得到顶点序列 ;从顶点 开始进行 步随机游走,得到顶点序列 。这一过程产生了一个长度为 的路径 。同时我们计算:

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

        这条新的边代表了图 中一条长度为 的随机游走序列,权重就是转移概率。其中

      • 最终我们计算 的未归一化的拉普拉斯矩阵 ,它具有 个非零项。

        这个被构造出的图的未归一化拉普拉斯矩阵与 产生联系。

    • NetMF 稀疏器 sparsifier 的构造:即计算 。这一步并未改变非零项的规模。

    • 截断的奇异值分解:对 执行 维的 RandomizedSVD 分解。

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

      采用 SVD 的另一个优势是:我们可以通过使用诸如 Cattell’s Scree test 来确定 embedding 的维度。在测试中,我们绘制奇异值并选择一个 rank ,使得奇异值幅度显著下降或者奇异值开始趋向于平衡的位置。

      实际上自动选择一个 rank d 需要对 进行奇异值分解,这对于大型网络而言是不可行的。

  7. NetSFM 算法:

    • 输入:

      • 非零项的数量
      • embedding 维度
    • 输出:顶点 embedding 矩阵

    • 算法步骤:

      • 初始化 ,即只有顶点没有边。

      • 迭代 ,迭代步骤为:

        • 均匀随机选择一条边

        • 均匀随机选择一个长度

        • 随机采样一条路径:

        • 添加边 中,边的权重为

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

      • 计算 的未归一化的拉普拉斯矩阵

      • 计算

      • 执行 维的 RandomizedSVD 分解,得到

      • 返回

  8. PathSampling 算法:

    • 输入:

      • 采样的路径长度
    • 输出:路径的初始顶点 、结束顶点 、路径

    • 算法步骤:

      • 均匀随机采样一个整数

      • 从顶点 开始执行 步随机游走,采样到的顶点记作

      • 从顶点 开始执行 步随机游走,采样到的顶点记作

      • 计算整条路径的路径 值:

      • 返回

  9. Randomized SVD 算法:

    • 输入:

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

    • 步骤:

      • 采样一个高斯随机矩阵 作为投影矩阵。
      • 计算映射后的矩阵
      • 对矩阵 进行正交归一化。
      • 计算矩阵
      • 采样另一个高斯随机矩阵 作为投影矩阵。
      • 计算映射后的矩阵
      • 对矩阵 进行正交归一化。
      • 计算矩阵
      • 执行 Jacobi SVD 分解:
      • 返回
  10. PathSampling 算法的说明:

    • 引理:给定一个长度为 的路径 ,则PathSampling 算法采样到该路径的概率为:

      其中:

    • 引理:假设采样到一个长度为 的路径 ,则新的边 的权重应该为:

    根据上述引理,则添加到 中的边的权重为:

    对于无向图,则 ,则权重简化为

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

16.1.3 复杂度

  1. 算法复杂度:

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

      另外我们需要 的空间存储 ,以及额外的 空间来存储算法的输入。

    • 第二步:我们需要 的时间来计算 以及

      另外我们需要 空间来存储degree 矩阵 的空间来存储

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

  2. 示例:假设网络 的顶点数量 ,边的数量为 ,上下文窗口大小 ,逼近因子approximation factor

    • NetSMF 调用 PathSampling 算法次数为 次,得到一个稀疏矩阵大约 个非零值,稠密度大约为

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

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

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

  3. 并行化:NetSMF 的每个步骤都可以并行化,从而scale 到非常大的网络。NetSMF 的并行化设计如下图所示。

    • 第一步:我们可以同时启动多个 PathSampling worker 来独立的、并行的采样多个路径,每个 worker 负责采样一批路径。这里,我们要求每个 worker 能够有效访问网络数据集 。有很多选择可以满足这一要求,最简单的方法是将网络数据的副本拷贝到每个 worker 的内存中。但是如果网络非常大(例如万亿规模),或者 worker 内存受限时,应该采用图引擎来支持随机游走等图操作。

      在这一步结束时,我们设计了一个 reducer 来合并平行边并汇总它们的权重。

    • 第二步:我们可以简单直接地并行计算

    • 第三步:我们可以将稀疏矩阵组织为行优先的格式,这种格式可以在稀疏矩阵和稠密矩阵之间进行高效的乘法运算。其它稠密矩阵的算子(如高斯随机矩阵生成、Gram-Schmidt 正交归一化、Jacobi SVD)可以通过使用多线程或者常见的线性代数库来轻松加速。

16.1.4 近似误差分析

  1. 我们假设逼近因子 。我们假设顶点的 degree 是降序排列: 。 我们令 为矩阵从大到小排列的奇异值中的第 个奇异值。

    我们首先证明一个结论:令 ,以及 ,则有:

    证明:

    它是某个图的归一化的拉普拉斯矩阵,因此有特征值

    由于 是矩阵 spectral sparsifier,因此有:

    ,则有:

    其中最后一个不等式是因为

    根据瑞利商的性质有:

    根据奇异值和特征值的关系,我们有:

  2. 定理: 的奇异值满足:

    证明:

    根据奇异值的性质,我们有:

  3. 定理:令 为矩阵的 Frobenius 范数,则有:

    证明:很明显 函数满足是 1- Lipchitz 的。因此我们有:

  4. 上述界限是在未对输入网络进行假设的情况下实现的。如果我们引入一些假设,比如有界的 、或者特定的随机图模型(如 Planted Partition Model 或者 Extended Planted Partition Model ),则有望通过利用文献中的定理来探索更严格的边界。

16.2 实验

  1. 数据集:我们使用五个数据集,其中四个规模(BlogCatalog, PPI, Flickr, YouTube)相对较小但是已被广泛用于 network embedding 的论文,剩下一个是大规模的 academic co-authorship network

    • BlogCatalog 数据集:在线博主的社交关系网络。标签代表博主的兴趣。
    • Flickr 数据集:Flickr网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。
    • Protein-Protein Interactions:PPI:智人 PPI 网络的子图。顶点标签是从标志基因组hallmark gene set 中获取的,代表生物状态。
    • Youtube 数据集:YouTube 网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。
    • Open Academic Graph:OAG 数据集:一个学术网络,顶点标签位每个作者的研究领域,共有 19 种不同的标签。每位作者可以研究多个领域,所以有多个标签。

    这些数据集的统计信息如下表所示。

  2. baseline 和配置:我们将 NetSMFNetMF, LINE, DeepWalk, node2vec 等方法进行比较。

    • 所有模型的 embedding 维度设置为
    • 对于 NetSMF/NetMF/DeepWalk/node2vec ,我们将上下文窗口大小设为 ,这也是 DeepWalk, node2vec 中使用的默认设置。
    • 对于 LINE我们仅使用二阶邻近度,即 LINE(2nd),负样本系数为 5,边采样的数量为 100亿。
    • 对于 DeepWalk,随机游走序列的长度为40,每个顶点开始的随机游走序列数量为 80,负采样系数为 5
    • 对于node2vec,随机游走序列的长度为40,每个顶点开始的随机游走序列数量为 80,负采样系数为 5 。参数 中进行 grid search 得到。
    • 对于 NetMF,我们在 BlogCatalog,PPI,Flickr 数据集中设置
    • 对于 NetSMF,我们在 PPI,Flickr,YouTube 数据集中设置采样数量 ;我们在 BlogCatalog 数据集中设置采样数量 ;我们在 OAG 数据集中设置采样数量
    • 对于 NetMFNetSMF,我们设置负采样系数
  3. DeepWalk 相同的实验步骤执行多标签顶点分类任务:我们首先训练整个网络的 embedding,然后随机采样一部分标记样本来训练一个one-vs-rest 逻辑回归分类模型(通过 LIBLINEAR 实现),剩余的顶点作为测试集。在测试阶段,one-vs-rest 模型产生标签的排序,而不是精确的标签分配。为了避免阈值效应,我们采用在 DeepWalk, LINE, node2vec 中所作的假设,即给定测试数据集中顶点的 label 数量。我们评估测试集的 Micro-F1 指标和 Macro-F1 指标。为了确保实验结果可靠,每个配置我们都重复实验 10 次,并报告测试集指标的均值。所有实验均在配备 Intel Xeon E7-8890 CPU64 核)、1.7TB 内存、2TB SSD 硬盘的服务器上进行。

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

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

    我们首先重点对比 NetSMFNetMF,因为 NetSMF 的目标是解决 NetMF 的效率和可扩展性问题,同时保持 NetMF 的效果优势。从结果可以看到:

    • 在训练速度上:对于大型网络 (YouTube,OAG),NetMF 因为空间复杂度和时间复杂度太高而无法训练,但是 NetSMF 可以分别在4h 内、 24h 内完成训练;对于中型网络(Flickr),二者都可以完成训练,但是 NetSMF 的速度要快2.5倍;对于小型网络,NetMF 的训练速度反而更快,这是因为 NetSMF 的稀疏矩阵构造和分解的优势被 pipeline 中其它因素抵消了。
    • 在模型效果上:NetSMFNetMF 都能产生最佳的效果(和其它方法相比)。在 BlogCatlog 中,NetSMF 的效果比 NetMF 稍差;在 PPI 中,两种方法性能难以区分、在 Flicker 中,NetSMF 的效果比 NetMF 更好。这些结果表明:NetSMF 使用的稀疏谱近似sparse spectral approximation,其性能不一定比稠密的 NetMF 效果更差。

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

    我们还将 NetSMF 与常见的 graph embedding 基准(即 DeepWalk, LINE, node2vec)进行了比较。

    • 对于 OAG 数据集,DeepWalknode2vec 无法在一周内完成计算,而 NetSMF 仅需要 24 小时。根据公开报道的 SkipGram 运行时间,我们预计 DeepWalknode2vec 可能需要几个月的时间来为 OAG 数据集生成 embedding

      BlogCatalog 中,DeepWalkNetSMF 需要差不多的计算时间。而在 Flickr, YouTube, PPI 中,NetSMF 分别比DeepWalk2.75 倍、5.9 倍、24 倍。

      在所有数据集中,NetSMFnode2vec 实现了 4 ~ 24 倍的加速。

    • 此外,NetSMF 的性能在 BlogCatalog, PPI, Flickr 中显著优于 DeepWalk。在 YouTube 中,NetSMF 取得了与 DeepWalk 相当的结果。与 node2vec 相比,NetSMFBlogCatalog, YouTube 上的性能相当,在 PPI, Flickr 上的性能显著更好。总之,NetSMF 在效率和效果上始终优于 DeepWalknode2vec

    • LINE 在所有五种方法中是效率最高的,然而它的预测效果也最差,并且在所有数据集上始终以很大的差距输给其它方法。总之,LINE 以忽略网络中的 multi-hop 依赖性作为代价从而实现了效率,而所有其它四种方法都支持这些依赖,这证明了 multi-hop 依赖性对于学习 network representation 的重要性。

    • 更重要的是,在除了 LINE 以外的四种方法之间,DeepWalk 既没有达到效率上的优势,也没有达到效果上的优势。node2vec 以效率为代价实现了相对较好的性能。NetMF 以显著增加的时间和空间成本为代价实现了更好的效果。NetSMF 是唯一同时实现了高效率和高效果的方法,使得它能够在一天内在单台服务器上为数十亿规模的网络(例如 9 亿条边的 OAG 网络)学习有效的 embedding

  4. 这里我们讨论超参数如何影响 NetSMF 的效率和效果。我们用 Flickr 数据集的 10% 标记顶点作为训练集,来评估NetSMF 超参数的影响。

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

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

      NetSMF 能够自动选择选择最佳 embedding 维度的前提是计算矩阵 的奇异值。对于大型网络,计算奇异值是不可行的。

    • 非零元素数量:理论上 ,当 越大则近似误差越小。不失一般性我们将 设置为 ,其中 ,我们研究随着 的增大模型性能的影响。

      如图 c 所示,当增加非零元素数量时,NetSMF 效果更好,因为更大的 带来更小的误差。但是随着 的增加,预测性能提升的边际收益在递减。可以看到当 时,NetSMF 的效率和效果得到平衡。

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

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