图的表达

  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