图的表达2

十七、PTE[2015]

  1. 学习有意义且有效的文本(例如worddocument)的 representation ,是许多机器学习任务(例如文本分类、文本聚类、文本检索)的关键前提条件。传统上,每个word都相互独立地表示,并且每个document都表示为 bag-of-words。然而,这两种representation 都存在数据稀疏、多义性polysemy 、同义性synonymy 等问题,因为在这两种representation 中不同word之间的语义相关性semantic relatedness 通常被忽略。

    worddocument的分布式representation 通过在低维空间中表达worddocument,从而有效地解决了这个问题。在这个低维空间中,相似的word/document彼此紧密地嵌入。这些方法的基本思想来自于分布式假设 distributional hypothesis :一个单词的意义是由它的使用环境所形成的 (you shall know a word by the company it keeps )。 《Distributed representations of words and phrases and their compositionality》 提出了一种简单而优雅的 word embedding 模型,称作 SkipGramSkipGram 使用 target wordembedding 来预测局部窗口 local window 中每个单独的 context wordembedding《Distributed representations of sentences and documents》 进一步扩展了这一思想,并提出了 Paragraph Vector 从而嵌入任意的文本片段,例如sentencedocument。其基本思想是:使用 sentence/documentembedding 来预测 sentence/documentwordembedding 。和也利用 word context 的分布式相似性distributional similarity 的其它经典方法(如布朗聚类 Brown clustering、最近邻法)相比,这些 text embedding 方法已被证明是非常有效的,可以在单台机器上扩展到数百万个 document

    由于采用无监督学习,通过这些 text embedding 模型学到的 representation 足够通用,可以应用于分类classification 、聚类clustering、以及排序ranking 等各种任务。然而,和端到端的复杂的深度学习方法(如卷积神经网络)相比时,text embedding 的性能通常在特定任务上达不到要求。这毫不奇怪,因为深度神经网络在学习数据 representation 时充分利用了可用于任务的 label 信息。大多数 text embedding 方法在学习 representation 时都无法考虑 label 信息。只有在使用训练好的 representation 作为特征来训练分类器时,label 才会被使用。换句话讲,无监督的 text embedding 对于不同的任务是可泛化generalizable 的,但是对于特定任务的预测能力较弱。

    尽管存在这一缺陷,但是和深度神经网络相比,text embedding 方法仍有相当大的优势。

    • 首先,深度神经网络(尤其是卷积神经网络)的训练是计算密集型的,在处理大量数据的时候通常需要多个 GPUCPU 集群。
    • 其次,卷积神经网络通常假设大量的标记样本可用,这在许多任务中是不现实的。对于容易获取的未标记数据,卷积神经网络通常使用预训练的方式来间接利用。
    • 第三,卷积神经网络的训练需要多许多超参数进行详尽的调优,即使对于专家而言也是非常耗时的,而对于非专家而言是不可行的。

    另一方面,像 SkipGram 这样的 text embedding 方法效率更高、更容易调优、并且天然地适应于未标记数据。

    在论文 《PTE:Predictive Text Embedding through Large-scale Heterogeneous Text Networks》 中,作者通过提出 predictive text embedding: PTE 来填补这一空白。PTE 具有无监督 text embedding 的优点,但是在 representation learning 过程中自然地利用了标记信息。通过 PTE,我们可以从有限的标记样本和大量的未标记样本中联合学习有效的低维 representation 。与无监督 embedding 相比,这种 representation 针对特定任务进行了优化,就像卷积神经网络所作的那样。即,PTE 学到的 representation 对特定的分类任务具有很强的预测能力。

    PTE 自然地扩展了作者之前的无监督信息网络 embedding 工作(《Line: Large-scale information network embedding》),并首先提出通过异质文本网络heterogeneous text networt 学习word 的低维 embedding 。该网络对 word-wordword-documentword-label 之间不同 level 的共现信息co-occurrence information 进行编码。该网络被嵌入到一个低维向量空间中,该空间保留了网络中顶点之间的二阶邻近性second-order proximity 。任意一段文本(例如 sentencedocument)的 representation 可以简单地推断为 word representation 的均值,结果证明这是非常有效的。整个优化过程仍然非常高效,在单台机器上可以扩展到数百万个 document 和数十亿个 token

    论文对现实世界的文本语料库进行了广泛的实验,包括 long documentshort document 。实验结果表明:PTE 在各种文本分类任务中显著优于 state-of-the-art 的无监督 embedding。与用于文本分类的端到端卷积神经网络相比,PTElong document 上表现更好、在 short document 上表现相当。与卷积神经网络相比,PTE 具有各种优势,因为它更高效、有效地利用大规模未标记数据,并且对模型超参数不太敏感。作者相信PTE 的探索指向了一个学习 text embedding 的方向,该方向可以在特定任务中与深度神经网络进行正面竞争。

    总而言之,论文的贡献如下:

    • 论文提出以半监督的方式学习 predictive text embedding。未标记数据和标记信息被集成到一个异质文本网络中,该网络包含不同 level 的文本共现信息。
    • 论文提出了一种高效的算法 PTE,它通过将异质文本网络嵌入到低维空间中来学习文本的分布式 representation 。该算法非常有效,几乎没有需要调优的超参数。
    • 论文使用各种真实世界的数据集进行了广泛的实验,并将 PTE 与无监督 text embedding、卷积神经网络进行了比较。
  2. 相关工作:我们的工作主要涉及分布式文本 representation learning 和信息网络 embedding

    • Distributed Text Embedding:文本的分布式 representation 已被证明在许多自然语言处理任务中非常有效,例如单词类比 word analogy、词性标注 POS taggingparsing、语言建模 language modeling 、以及情感分析sentiment analysis 。现有的方法通常可以分为两类:无监督方法、监督方法。

      • 最近提出的无监督方法通常通过在局部上下文 local context (例如 SkipGram)或者 document 级别(例如 Paragraph Vector ),利用 word co-occurrence 来学习 word/documentembedding 。这些方法非常有效,可以扩展到数百万个 document
      • 监督方法通常基于深度神经网络架构,例如 recursive neural tensor network: RNTNconvolutional neural network: CNN。在 RNTN 中,每个 word 都嵌入到一个低维向量中,并且通过在 parse tree 中的子短语 sub-phrase 或者 word 上应用相同的、基于张量tensor-based 的组合函数composition function 来递归学习短语 phraseembedding 。在 CNN 中,每个 word 也用一个向量来表示,并且在 sentence 的不同位置的上下文窗口上应用相同的卷积核,然后是一个最大池化层和一个全连接层。

      这两类方法之间的主要区别在于它们如何在 representation learning 阶段利用标记信息和未标记信息。无监督方法在 representation learning 时不包含标记信息,仅在将数据转换为学到的 representation 之后,才使用 label 来训练分类器。RNTNCNNlabel 直接结合到 representation learning 中,因此学到的 representation 特别针对分类任务进行了调优。然而,为了融合未标记的样本,这些神经网络通常必须使用间接方法,例如使用无监督方法预训练 word embedding 。和这两类方法相比,PTE 以半监督方式学习 text embeddingrepresentation learning 算法直接利用标记信息和大量的未标记数据。

      predictive word embedding 类似的另一项工作是 《Learning word vectors for sentiment analysis》,该工作学习特别针对情感分析调优的 word embedding 。然而,他们的方法无法扩展到数百万个 document,也无法推广到其它分类任务。

    • Information Network Embedding:我们的工作还与 network/graph embedding 问题有关,因为 PTEword representation 是通过异质文本网络 heterogeneous text network 学到的。

      network/graph 嵌入到低维空间,这在各种应用中非常有用,例如节点分类、链接预测。MDSIsoMapLaplacian eigenmap 等经典 graph embedding 算法不适用于嵌入包含数百万个顶点、数十亿条边的大型网络。

      最近有一些工作试图嵌入非常大的现实世界网络。《Deepwalk: Online learning of social representations》 提出了一种叫做 DeepWalknetwork embedding 模型,该模型在网络上使用截断的随机游走,并且仅适用于具有二元边的网络。我们先前的工作提出了一种新的大规模网络嵌入模型,称作 LINELINE 适用于任意类型的信息网络,无向或有向、二元边或者带权边。LINE 模型优化了一个目标函数,该目标函数旨在保持局部网络结构 local network structure 和全局网络结构 global network structureDeepWalkLINE 都是无监督的,只能处理同质网络homogeneous networkPTE 使用的 network embedding 算法扩展了 LINE 从而处理异质网络(网络中存在多种类型的顶点和边)。

17.1 模型

17.1.1 基本概念

  1. 让我们从正式定义 predictive text embedding 问题(通过异质文本网络)来开始。与学习文本的通用语义representation 的无监督 text embedding 方法(包括 SkipGramParagraph Vector )相比,我们的目标是学习针对给定文本分类任务优化的文本 representation 。换句话讲,我们期待 text embedding 对给定任务的性能具有很强的预测能力。基本思想是:在学习 text embedding 时结合标记信息和未标记信息。为了实现这一点,首先需要有一个统一的 representation 对这两类信息(标记的和未标记的)进行编码。在本文中,我们提出了不同类型的网络来实现这一点,包括 word-word co-occurrence networkword-document networkword-label network

  2. word-word co-occurrence networkword-word 共现网络表示为 Gw,w=(V,Ew,w),它捕获了未标记数据的局部上下文local context 中的 word 共现信息。Vword 的词表 vocabularyEw,wword 之间的边的集合(共现关系)。word vivj 之间的边的权重 wi,j 定义为:这两个word 在给定窗口大小的上下文窗口中同时出现的次数。

  3. word-word 网络捕获局部上下文中的 word 共现,这是现有 word embedding 方法(如 SkipGram )使用的基本信息。除了局部上下文之外,document levelword 共现也在经典的文本 representation 中被广泛探索,例如统计主题模型 statistical topic model(如 latent Dirichlet allocation: LDA)。为了捕获 document levelword 共现,我们引入了另一个网络,即 word-document 网络。

  4. word-document networkword-document 网络表示为二部图 Gw,d=(VD,Ew,d) ,其中 Ddocument 的集合,Vword 的集合,Ew,dworddocument 的链接构成的边集合。word vidocument dj 之间的边的权重 wi,j 定义为:word vi 出现在 document dj 中的频次。

  5. word-word 网络和 word-document 网络对大规模语料库中的未标记信息进行编码,在局部上下文 leveldocument level 捕获 word 共现。为了对标记信息进行编码,我们引入了 word-label 网络,该网络在 category-level 捕获 word 共现。

  6. word-label networkword-label 网络表示为二部图 Gw,l=(VL,Ew,l),其中 Lclass 的集合,Vword 的集合,Ew,lwordclass 的链接构成边的集合。Gw,l 捕获了 category-levelword 共现。word viclass cj 之间的边的权重 wi,j 定义为: wi,j=(d:ld=j)nd,i ,其中 nd,idocument dword vi 出现的频次,lddocument dclass label

  7. 上述三种网络可以进一步融合为一个异质文本网络heterogeneous text network (如下图所示)。

    Heterogeneous Text Network:异质文本网络是由标记文本数据和未标记文本数据共同构建的 word-word 网络、word-document 网络、word-label 网络的组合。它捕获不同 levelword 共现,并同时包含标记信息和未标记信息。

    注意,异质文本网络的定义可以推广到融合其它类型的网络,例如 word-sentence 网络、word-paragraph 网络、document-label 网络等等。在这项工作中,我们使用三种类型的网络(word-wordword-documentword-label)作为说明性示例。我们特别关注 word 网络,以便首先将 word 表示为低维空间。然后可以通过聚合 word representation 来计算其它文本单元(如 stentenceparagraph)的 representation

    子网的构建需要结合具体任务,并且对任务性能产生重大影响。但是论文并未给出子网构建的原则。可以借鉴的是:这里的 word-word 捕获局部共现、word-document 捕获全局共现。

  8. 最后,我们正式定义 predictive text embedding 问题如下:

    Predictive Text Embedding:给定具有标记信息和未标记信息的大量文本数据,predictive text embedding 问题旨在通过将由文本数据构建的异质文本网络嵌入到低维向量空间中从而学习 word 的低维 representation

  9. 接下来我们将介绍通过异质文本网络学习 predictive text embedding 的方法。我们的方法首先将异质文本网络嵌入到低维空间来学习 word 的向量 representation ,然后根据学到的 word embedding 推断 text embedding 。由于异质文本网络由三个二部图组成,我们首先介绍一种嵌入单个二部图的方法。

17.1.2 二部图 Embedding

  1. 在我们之前的工作中,我们引入了 LINE 模型来学习大规模信息网络的 embeddingLINE 主要是为同质网络而设计的,即具有相同类型节点的网络。LINE 无法直接应用于异质网络,因为不同类型边的权重不具有可比性。在这里,我们首先将 LINE 模型用于嵌入二部图。基本思想是:利用顶点之间的二阶邻近性,假设具有相似邻域的顶点彼此相似,因此应该在低维空间中紧密地表示。

    对于二部图,假设顶点 A 和顶点 B 具有相似的邻域,则暗示了 AB 的顶点类型相同。

  2. 给定一个二部图 G=(VAVB,E),其中 VAVB 是不同类型的、两个不相交的顶点集合,E 是它们之间的边的集合(相同类型顶点之间不存在边,只有不同类型顶点之间才存在边)。我们首先将集合 VB 中顶点 vj 生成集合 VA 中顶点 vi 的条件概率定义为:

    p(vivj)=exp(uiuj)viVAexp(uiuj)

    其中:uiVA 中顶点 viembedding 向量,ujVB 中顶点 vjembedding 向量。

    对于 VB 中的每个顶点 vj ,上式给出了一个定义在 VA 中所有顶点上的条件分布 p(vj) 。对于 VB 中的每对顶点 vj,vj,它们的二阶邻近性second-order proximity 可以由它们的条件分布 p(vj)p(vj) 来决定。为了保持二阶邻近性,我们可以使条件分布 p(vj) 接近其经验分布 p^(vj) ,这可以通过最小化以下目标函数来实现:

    O=vjVBλjdist(p^(vj),p(vj))

    其中:

    • dist(,) 为两个分布之间的距离函数,这里采用 KL-divergence 函数。
    • λj 为顶点 vj 在网络中的重要性,我们设置为顶点的 degreedegj=iwi,j
    • 经验分布 p^(vj) 定义为 p^(vivj)=wi,jdegj

    忽略常数项,则上述目标函数重写为:

    O=(vi,vj)Ewi,jlogp(vivj)

    我们可以采用带边采样edge sampling 和负采样 nagative sampling 的随机梯度下降法来求解该最优化问题。在梯度下降的每一步:

    • 首先以正比于权重 wi,j 的概率随机采样一条二元边 binary edge e=(vi,vj) ,即 edge sampling
    • 然后通过noise distribution pn(j) 来随机采样若干条负边,即 nagative sampling

    采样过程解决了学习 network embedding 中随机梯度下降的重大缺陷。详细的优化过程可以参考 LINE 的原始论文。

  3. word-word 网络、word-document 网络、word-label 网络的 embedding 都可以通过上述模型来学习。注意,word-word 网络本质上是一个二部图,可以将每条无向边视为两条有向边,并且将 VA 视为源顶点的集合、VB 视为目标顶点的集合。因此,我们可以定义条件概率 p(vivj),p(vidj),p(vilj) ,然后通过优化目标函数来学习 embedding

17.1.2 异质文本网络 Embedding

  1. 异质文本网络由三个二部图组成:word-word 网络、word-document 网络、word-label 网络,其中 word 顶点在三个网络之间共享。为了学习异质文本网络的 embedding,一种直观的方法是共同嵌入三个二部图,这可以通过最小化以下目标函数来实现:

    Opte=Ow,w+Ow,d+Ow,lOw,w=(vi,vj)Ew,wwi,jlogp(vivj)Ow,d=(vi,vj)Ew,dwi,jlogp(vidj)Ow,l=(vi,vj)Ew,lwi,jlogp(vilj)

    上述目标函数可以通过不同的方式进行优化,具体取决于如何使用标记信息(即 word-label 网络)。

    • 一种解决方案是同时使用未标记数据(word-word 网络和 word-document 网络)和标记数据训练模型。我们称这种方法为联合训练 joint training
    • 另一种解决方案是首先使用未标记数据来学习 embedding,然后使用 word-label 网络来微调 embedding 。这是受到深度学习文献中预训练和微调 pre-training and fine-tuning 思想的启发。
  2. 在联合训练中,所有三种类型的网络一起使用。优化目标 Opte 的直接解决方案是合并三个集合 Ew,w,Ew,d,Ew,l 中的所有边,然后执行边采样 edge sampling (在每个 step 中对边进行采样从而进行模型更新,采样概率与边的权重成正比)。然而,当网络是异质的时候,不同类型顶点之间的边的权重是不可比的。更合理的解决方案是从三组边中交替采样。

  3. PTE 联合训练算法:

    • 输入:

      • 异质文本网络的三个子网 Gw,w,Gw,d,Gw,l
      • 采样数量 T
      • 负采样比例 K
    • 输出:所有单词的 embedding U

    • 算法步骤:

      循环迭代,直到迭代了 Tstep 。迭代过程为:

      • Ew,w 采样一条正边和 K 个负边,更新 word embedding
      • Ew,d 采样一条正边和 K 个负边,更新 word embeddingdocument embedding
      • Ew,l 采样一条正边和 K 个负边,更新 word embeddinglabel embedding
  4. PTE 预训练和微调算法:

    • 输入:

      • 异质文本网络的三个子网 Gw,w,Gw,d,Gw,l
      • 采样数量 T
      • 负采样比例 K
    • 输出:所有单词的 embedding U

    • 算法步骤:

      预训练阶段:循环迭代,直到迭代了 Tstep 。迭代过程为:

      • Ew,w 采样一条正边和 K 个负边,更新 word embedding
      • Ew,d 采样一条正边和 K 个负边,更新 word embeddingdocument embedding

      微调阶段:循环迭代,直到迭代了 Tstep 。迭代过程为:

      • Ew,l 采样一条正边和 K 个负边,更新 word embeddinglabel embedding
  5. Text Embedding:异质文本网络对不同 levelword co-occurrence 进行编码,这些编码是从未标记数据和特定分类任务的标记信息中提取的。因此,通过嵌入异质文本网络学习的 word representation 不仅更加鲁棒,而且针对该特定任务进行了优化。一旦学到了 word vector,就可以通过简单地对这段文本中 word 的向量求均值来获得任意一段文本的 representation 。即,一段文本 d={w1,w2,,wn}的向量 representation 可以计算为:

    d=1ni=1nui

    其中 uiword wiembedding 向量。

    事实上,word embedding 的均值是最小化以下目标函数的最优解:

    O=i=1nloss(ui,d)

    其中 loss(,)word embeddingtext embedding 之间的、欧式距离的损失函数。

    与之相关的是 paragraph vector 的推断过程,它的目标函数相同但是具有不同的损失函数:

    loss(ui,d)=11+exp(uid)

    然而这个损失函数对应的目标函数没有闭式解close form solution ,因此必须通过梯度下降算法来优化。

17.2 实验

  1. 数据集:我们选择了长文document、短document两种类型的数据集:

    • document数据集:

      • 20newsgroup 数据集:广泛使用的文本分类数据集,包含 20 个类别。
      • wiki 数据集:20104 月的维基百科数据集,包含大约 200 万篇英文文章。我们仅保留 2010 年维基百科中出现的常见词汇。我们选择了七种不同类别,包括 Art, History, Human, Mathematics, Nature, Technology, Sports 。每种类别我们随机选择 9000 篇文章作为标记的document 来训练。
      • Imdb 数据集:一个情感分类数据集。为避免训练数据和测试数据之间的分布偏差,我们随机混洗了训练数据和测试数据。
      • RCV1 数据集:一个大型文本分类基准语料库。我们从数据集中抽取了四个子集,包括 Corporate, Economics, Government, Market 。在 RCV1 数据集中,文档已经被处理为 bag-of-word: BOW 的格式,因此 word 的顺序已经被丢失。
    • document数据集:

      • DBLP 数据集:包含来自计算机科学领域论文的标题。我们选择了六个领域的论文,包括 database, arti cial intelligence, hardware, system, programming languages, theory 等。对于每个领域,我们选择该领域具有代表性的会议并收集该会议中发表的论文作为标记的 document

我们并没有在原始数据上执行进一步的文本归一化text normalization ,如删除停用词或者词干化。下表给出了数据集的详细统计信息。

  1. baseline 方法:我们将 PTE 算法和其它的文本数据 representation learning 算法进行比较,包括经典的 BOW 算法、 state-of-the-art 的无监督 text embedding 、以及 state-of-the-art 的监督 text embedding 方法。

    • BOW:经典的 BOW 方法。每篇文档使用一个 |V| 维的向量来表达,向量第 i 个元素为word viTFIDF 值。

    • SkipGram:根据 SkipGram 训练得到 word embedding,然后我们使用word embedding 的均值来作为 document embedding

    • PVDBOW:一种 paragraph embedding 模型,其中documentword 的顺序被忽略。

    • PVDM :另一种paragraph embedding 模型,其中documentword 的顺序被考虑。

    • LINE:我们之前的工作提出的大规模信息网络 embedding 模型。我们使用 LINE 模型分别学习 word-word 网络和 word-dococument 网络,分别记作 LINE(Gw,w),LINE(Gw,d)。另外,我们也考虑联合学习 word-word 网络和 word-document 网络,记作 LINE(Gw,w,Gw,d)

    • CNN:基于卷积神经网络 CNN 模型来监督学习 text embedding。尽管原始论文用于建模sentence,我们这里将其改编为适用于长文本在内的一般word 序列。尽管CNN 通常适用于完全标记的 documnet,但是它也可以通过无监督的 word embedding 从而对模型进行预训练来利用未标记数据,这被记作 CNN(pretrain)

    • PTE:我们提出的、学习predictive text embedding 的方法。PTE 有多种变体,它们使用 word-wordword-documentword-label 的不同组合。

      • PTE(Gw,l) 为仅使用 word-label 的版本。
      • PTE(Gw,w,Gw,l) 为使用 word-wordword-label 的版本。
      • PTE(Gw,d,Gw,l) 为仅使用 word-documentword-label 的版本。
      • PTE(pretrain) 为使用 word-wordword-document 进行无监督训练,然后使用 word-label 来微调的版本。
      • PTE(joint) 为联合训练异质文本网络的版本。
  2. 实验配置:

    • SkipGram, PVDBOW, PVDM, PTE, PTE 模型:

      • 随机梯度下降的 mini-batch size 设为 1
      • 学习率设为 ρt=ρ0(1t/T) ,其中 T 为总的迭代步数,ρ0=0.025
      • 负采样次数为 K=5
    • SkipGram, PVDBOW, PVDM, PTE 模型:word-word 网络共现窗口大小为 5

    • CNN 模型:我们使用 《Convolutional neural networks for sentence classi cation》 中的 CNN 结构。该结构使用一个卷积层,然后是最大池化层和全连接层。卷积层的窗口大小设为 3feature map 数量设为 100,随机选择训练集的 1% 作为验证集来执行早停。

    • 所有embedding 模型的词向量维度为 100

    注意:对于 PTE 模型,默认情况下在不同数据集上,超参数均按照上述设置。唯一需要调整的超参数的边采样中的样本数 T ,它可以较为安全地设为较大的值。

  3. 评估方式:一旦构建或学习了 document 的向量representation,我们就会使用相同的训练数据集应用相同的分类过程。具体而言,训练集中的所有文档都用于 representation learning 阶段和classifier learning 阶段。

    • 如果使用无监督 embedding 方法,则在 representation learning 阶段不使用 document 的类别标签,仅在classifier learning 阶段使用类别标签。
    • 如果使用 predictive embedding 方法,则同时在这两个阶段都使用类别标签。

    对于测试数据集,我们在这两个阶段都留出 hold-out 标签数据和 document 文本。

    注意:在 representation learning阶段保留所有测试数据,即这一阶段模型看不到测试数据的标签、也看不到测试数据的文本。

    在分类阶段,我们使用 LibLinear package 中的 one-vs-rest 逻辑回归模型,并评估 micro-Fmacro-F1 指标。每一种配置我们都执行十次,并报告指标的均值和方差。

  4.  

17.2.1 实验结果

  1. 我们在 20NG,Wiki,IMDB 数据集上的长文本效果对比如下。

    首先我们比较无监督 text embedding 方法,可以看到:

    • 具有 document-levelword 共现的 LINE(Gw,d) 的效果,在无监督 embedding 中表现最好。
    • PVDM 性能不如 PVDBOW,这和原始论文中的结论不同。不幸的是我们始终无法得出他们的结论。

    然后我们比较 predictive embedding 方法,可以看到:

    • PTE(Gw,d,Gw,l) 或者PTE(joint) 效果最好。
    • 所有带 word-label 网络PTE 方法都超越了对应的无监督方法(即 LINE 模型),这表明了在监督学习下 predictive text embedding 的强大能力。
    • PTE(joint) 超越了 PTE(Gw,l) ,这表明了使用未标记数据可以显著改善监督学习的质量。
    • PTE(joint) 也超越了PTE(pretrain),这表明联合训练未标记数据和标记数据,要比将它们分别独立训练并微调更有效。
    • 另外我们通过 LINE(Gw,l+Gw,d) 学到的单词 embedding 来对 CNN进行预训练,然后使用 label 信息对其进行微调。出乎意料的是:预训练 CNN20NGIMDB 数据集上显著提高,并且在 Wiki 上几乎保持不变。这意味着训练良好的无监督 embeddingCNN 进行预训练非常有用。
    • 但是,即使是预训练的 CNN,其性能仍然不如 PTE(joint) 。这可能的因为 PTE 模型可以联合训练标记数据和未标记数据,而 CNN 只能通过预训练和微调两阶段来各自独立的使用标记数据和未标记数据。
    • PTE(joint) 也始终优于经典的 BOW 模型,尽管 PTE(joint)embedding 向量维度远小于 BOW 的向量维度。

  2. 我们在 RCV1 数据集上的长文本效果对比如下。由于word 之间的顺序丢失,因此要求保留word 顺序信息的 embedding 方法不适用。这里我们观察到了类似的结论:

    • predictive embedding 方法超越了无监督 embedding
    • PTE(joint) 方法比 PTE(pretrain) 方法更有效。

  3. 我们比较了 CNNPTE(joint)IMDB 数据集上的训练实践。我们采用异步随机梯度下降算法,在 1T 内存、2.0G HZ40CPU 上执行。平均而言 PTE(joint) 要比 CNN10 倍以上。当使用 pretrain 时,CNN 虽然训练速度加快,但是仍然比 PTE(joint) 慢 5倍以上。

  4. 我们在短文本上比较了模型性能如下。

    首先我们比较无监督 text embedding 方法,可以看到:

    • 结合了 document-levellocal-context levelword 共现的 LINE(Gw,w,Gw,d) 效果最好。
    • 使用局部上下文级别 word 共现的 LINE(Gw,w) 要优于使用document级别 word 共现的 LINE(Gw,d) 。这和长文本实验中结论相反。这是因为在短文本中,document 级别的 word 共现非常稀疏。我们在主题模型中也观察到了类似的结果。
    • PVDM 性能仍然不如 PVDBOW 性能,这和长文本中结论一致。

    然后我们比较 predictive embedding 方法,可以看到:

    • PTEDBLP,MR 数据集上性能最佳,CNNTwitter 数据集上性能最好。

    • 融合了word-label 网络的 PTE 方法超越了对应的无监督embedding 方法(即 LINE 模型),这和长文本中结论一致。

    • PTE(joint) 超越了 PTE(Gw,l) ,这证明了融合未标记数据的有效性。

    • PTE(joint) 超越了 PTE(pretrain),这证明了对标记数据和未标记数据联合训练的优势。

    • 我们观察到 PTE(joint) 并不能始终超越 CNN。原因可能是单词歧义 ambiguity 问题,这类问题在短文本中更为严重。

      CNN 通过在卷积核中使用局部上下文的word 顺序来减少单词歧义问题,而 PTE 抛弃了word 顺序。我们相信:如果利用了word 顺序,则 PTE 还有很大提升空间。

17.2.2 标记数据 & 未标记数据

  1. 我们考察标记样本规模的变化对 CNNPTE 的影响。我们考虑两种模式:

    • 监督学习:不包含未标记数据。如 PTE(Gw,l)CNN
    • 半监督学习:包含未标记数据。如 PTE(joint)CNN 等。

    在半监督学习中,我们还比较了经典的半监督方法:带 EM 的朴素贝叶斯NB+EM、标签传播算法 label propagation:LP

    可以看到:

    • CNNPTE 随着标记数据规模的增加,性能持续改善。
    • 在监督学习的 CNNPTE(Gw,l) 之间,PTE(Gw,l) 均优于CNN 或可与 CNN 媲美。
    • 在半监督学习的 CNN(pretrain)PTE(joint) 之间,PTE(joint) 始终优于 CNN(pretrain)
    • PTE(joint) 还始终优于经典的 NB+EMLP 方法。

    另外我们还注意到:

    • 当标记数据规模不足时,使用无监督 embedding 的预训练 CNN非常有效,尤其是在短文本上。当训练样本太少时,它甚至优于所有的 PTE
    • 当标记数据规模增加时,预训练 CNN 并不总是能够改善其性能,如 DBLPMR 数据集。
    • 对于 SkipGram 模型,增加标记数据规模几乎不会进一步改善其性能。
    • DBLP 数据集上,当标记样本太少时 PTE 性能甚至不如 SkipGram 。原因是当标记数据太少时,word-label 网络的噪音太多。PTEword-label 网络与噪音较少的 word-word, word-document 网络同等对待。一种解决办法是:在标签数据不足时,调整 word-label, word-word, word-document 网络的采样概率。

  2. 我们考察未标记数据规模的变化对 CNN(pretrain)PTE 的影响。由于篇幅有限,这里我们仅给出 20NGDBLP 数据集的效果。对于 CNN,未标记数据可用于预训练。对于 PTE,未标记数据可用于预训练或联合训练。

    20NG 数据集上,我们使用 10% 文档作为标记数据,剩余文档作为未标记数据;在 DBLP 数据集上,我们随机抽取其它会议发表的 20 万篇论文的标题作为未标记数据。

    我们使用 LINE(Gw,w,Gw,d) 作为 CNN 的预训练模型。可以看到:

    • 当未标记数据规模增加时,CNNPTE 性能都有改善。
    • 对于 PTE 模型,未标记数据和标记数据联合训练的效果要优于“预训练和微调”的方式。

17.2.3 参数敏感性与可视化

  1. PTE 模型除了训练步数 T 之外,大多数超参数对于不同训练集都是不敏感的(如学习率、batch size ),所以可以使用默认配置。

    我们在 20NGDBLP 数据集上考察了 PTE(joint) 对于参数 T 的敏感性。可以看到:当 T 足够大时,PTE(joint) 性能会收敛。

    实际应用中,我们可以将 T 的数量设置称足够大。经验表明:T 的合理范围是异质文本网络中所有边的数量的几倍。

  2. 我们给出了无监督 embedding (以 LINE(Gw,d) 为代表)和 predictive embedding (以 PTE(Gw,l) 为代表)在 20NG 数据集上采用 tSNE 可视化的结果。

    我们对训练集和测试集的文档均进行了可视化,其中 document embeddingdocument 内所有word embedding的均值。可以看到:在训练集和测试集上,predictive embedding 均比无监督 embedding 更好地区分了不同的类别。这直观表明了 predictive embedding 在文本分类任务中的强大能力。

17.2.4 讨论

  1. 无监督 embedding 使用的基本信息是局部上下文级别或者document级别的word 共现。

    • 在长文本中,我们可以看到document级别的word 共现比局部上下文级别的word 共现效果更好,并且二者的结合并不能进一步改善效果。
    • 在短文本中,局部上下文级别的word 共现比document级别的word 共现效果更好,并且二者的结合可以进一步改善效果。这是因为document级别的word 共现受到文本长度太短的困扰,即文本太稀疏。
  2. predictive embedding 中:

    • PTE 相比, CNN 模型可以更有效地处理标记信息,尤其是在短文本上。这是因为 CNN 的模型结构比 PTE 复杂得多,尤其时 CNN 可以在局部上下文中利用词序从而解决word 的歧义问题。因此,在标记数据非常稀疏的情况下,CNN 可以超越 PTE,尤其是在短文本上。但是这个优势是以大量的计算、详尽的超参数调优为代价的。

    • CNN 相比,PTE 训练速度更快、超参数调整更容易(几乎没有需要调整的超参数)。当标记数据更为丰富时,PTE 的性能至少和 CNN 一样好并且通常更好。

      PTE 模型的一个明显优势是它可以联合训练标记数据和未标记数据。相比之下 CNN 只能通过预训练来间接利用未标记数据。当标记数据非常丰富时,这种预训练并不总是有帮助的。

  3. 实践指南:基于上述讨论,我们提供以下实践指南。

    • 当没有标记数据时:

      • 在长文本上使用 LINE(Gw,d) 来学习无监督 text embedding
      • 在短文本上使用 LINE(Gw,w,Gw,d) 来学习无监督 text embedding
    • 当只有少量标记数据时:

      • 在长文本上使用 PTE 来学习text embedding
      • 在短文本上使用 CNN(pretrain) ,其中预训练采用 LINE(Gw,w,Gw,d)
    • 当有大量标记数据时:

      • 在长文本上使用 PTE(joint) 来学习 text embedding
      • 在短文本上从 PTE(joint)CNN 或者 CNN(pretrain) 三者之间选择,其中主要考虑训练效率和模型效果之间的平衡。
  4. 未来方向:PTE 中考虑 word 的词序。

十八、HNE[2015]

  1. 向量化的 data representation 经常出现在许多数据挖掘 application 中。向量化的 data representation 更容易处理,因为每个数据都可以被视为驻留在欧式空间中的一个 point 。因此,可以通过一个合适的指标来直接衡量不同 data point 之间的相似性,从而解决分类、聚类、检索等传统任务。如 《Data Classification: Algorithms and Applications》 所示,学习良好的 representation 是数据挖掘和 web 搜索中的基本问题之一。与设计更复杂的模型相比,学习良好的 representation 对任务效果的影响通常更大。

    不幸的是,许多network 数据源(如 Facebook, YouTube, Flickr, Twitter)无法自然地表示为向量化的输入。这些社交网络和社交媒体数据通常以图数据 graph data 和关系数据 relational data 二者组合的形式来表示。当前的研究集中在预定义pre-defined 的特征向量、或者复杂的 graph-based 的算法来解决底层任务。人们在各种主题上完成了大量的研究,例如协同分类 collective classification、社区检测community detection 、链接预测link prediction 、社交推荐social recommendation 、定向广告targeted advertising 等等。对于内容和链接而言,网络数据network dataembedding 形式开发的 unified representation 非常重要。 unified representation 的基本假设是:一旦获得向量化的 representation,网络挖掘任务就可以很容易地通过现有的机器学习算法来解决。

    然而,网络数据的 feature learning 并不是一项简单的任务,因为网络数据具有许多特有的特性,例如网络的规模、动态性、噪声、以及异质性heterogeneity 。首先,社交网站上的多媒体数据量呈指数级增长。到 2011 年年中,Facebook 上的照片估计数量已达 1000 亿张,并且每天上传的新照片数量高达 3.5 亿张。其次,鉴于用户的不同背景background ,社交媒体往往噪音很大。而且研究人员注意到,垃圾邮件发送者产生的数据比合法用户更多,这使得网络挖掘更加困难。最后,社交媒体数据包含多样diverse 的、异质的信息。例如,当事件发生时,不同类型的媒体数据都会进行报道。如下图所示,当在谷歌中搜索 “马航 MH17” 时,相关结果中不仅包含文本文档,还包含图像和视频。

    此外,社交媒体数据不是孤立存在的,而是由各种类型的数据组合而成的。这些交互可以通过它们之间的链接显式或隐式地形成。例如,在同一网页中同时出现的图像和文本提供了它们之间的显式链接,而文本到文本的链接是通过不同 web document 之间的超链接显式形成的。另一方面,用户的交互活动可以被视为隐式反馈,它链接了不同的社交媒体部分social media component 。如果用户以相似的标签tag 描述多张图像,那么一个合理的假设是:这些图像之间存在语义关系。很明显,如此庞大的数据量导致了复杂的异质网络,这给学习 uniform representation 带来了巨大的挑战。

    为了应对上述挑战,论文 《Heterogeneous Network Embedding via Deep Architectures》 提出了一种关于 network representation learning 的新思想,称作 Heterogeneous Network Embedding: HNEHNE 同时考虑了内容信息 content information 和关系信息relational informationHNE 将不同的异质对象映射到一个统一unified 的潜在空间中,以便可以直接比较来自不同空间的对象。

    与传统的线性 embedding 模型不同,HNEfeature learning 过程分解为深层的多个非线性层。HNE 通过迭代求解关于 feature learningobjective minimization 的问题,从而协调并相互加强这两个部分。HNE 同时建模了底层网络的全局链接结构global linkage structure 和局部链接结构local linkage structure,这使得它在捕获网络链接方面比浅层 embedding 方案更强大,特别是当链接信息在揭示不同对象之间的语义相关性方面起关键作用时。沿着这个研究方向,论文利用网络链接来设计一个损失函数,从而迫使网络中存在链接的不同对象在 embedding 空间是相似的。network-preserved embedding 的思想如下图所示。

    事实上根据 HNE 的模型公式,HNE 仅建模了局部链接结构(即,保留一阶邻域),并未建模全局链接结构。

    HNE 框架的主要优点如下:

    • 鲁棒性:HNE 探索不同异质对象之间的全局一致性 global consistency ,从而学习由网络结构指导 guideunified feature representation
    • 无监督:HNE 是无监督并且独立于任务的,这使其适用于许多面向网络的数据挖掘 application
    • out-of-sampleHNE 能够处理 out-of-sample 问题(即 unseen 顶点)。这解决了动态网络相关的挑战,其中随着时间的推移可能会在网络中添加新顶点。
  2. 相关工作:

    • Network Embeddingfeature embedding 的一个分支是由网络中的协同过滤和链接预测等 application 所推动的。这些 application 根据潜在属性对实体之间的关系进行建模。这些模型通常将问题迁移 transfer 为学习实体的 embedding,这在数学上对应于对观察到的关系矩阵的矩阵分解问题。

      • 《Combining content and link for classification using matrix factorization》 提出了一种在链接邻接矩阵linkage adjacency matrixdocument-term frequency 矩阵上联合分解的方法,从而用于网页分类。
      • 此外,《Structure preserving embedding》 提出了一种 structure preservingembedding 框架,该框架将图嵌入到低维欧式空间中,并保持了全局拓扑属性。
      • 此外,DeepWalk 从截断的随机游走中学习网络中顶点的潜在 representation

      然而,这些模型仅关注单一关系single relation,这无法应用于异质网络。而且这些模型中的大多数很难泛化到 unseen sample (即训练期间未见过的顶点)。

      这些方法对异质网络的自然扩展是将多个关系矩阵堆叠在一起,然后应用传统的张量分解。这种 multi-relational embedding 的缺点是不同 term 之间共享参数,这无法扩展到大型网络。《Latent feature learning in social media network》 提出的非线性 embedding 模型使用 Restricted Boltzmann Machine: RBM 进行跨模型链接分析 crossmodel link analysis 。但是,它没有利用原始数据中的所有社交信息,这导致了次优的解决方案。此外,计算机视觉和语音方面的工作表明,与 DNNCNN 相比,layer-wiseRBM 训练对于大规模数据而言效率低下。

    • 深度学习:近年来,机器学习研究已经从基于人工制作的特征显著转向为基于原始数据学到的特征,这主要归功于深度学习的成功。深度学习模型在语音识别、图像识别/检测、以及最近的自然语言处理中变得越来越重要。深度学习技术是通用函数的逼近器approximator。然而,从历史上来看,训练具有两层以上隐层的深度神经网络很难成功。困难在于高维的参数空间、以及高度非凸的目标函数,这使得基于梯度的方法受到局部极小值的困扰。

      深度学习的最新进展得益于多种因素的推动,例如大规模数据集的使用、算力的增长、以及无监督和监督训练算法的进步。

      • 无监督深度学习(通常被称为预训练 pre-training),借助大量可用的未标记数据来提供鲁棒的初始化和正则化。例如,《Reducing the dimensionality of data with neural networks》 首次使用 RBM 对深度神经网络进行 layer-wise 初始化。《Greedy layer-wise training of deep network》 也提出了类似的方法,采用自编码器来进行权重初始化。
      • 最近,多层神经网络的监督学习已经成为可能。dropout 的方法已经展示出特别的前景。《Imagenet classification with deep convolutional neural networks》 提出的七层卷积神经网络在 ImageNet 大规模视觉识别挑战赛上取得了 state-of-the-art 的性能。该挑战赛是计算机视觉中最具挑战性的任务之一。来自这个七层卷积神经网络的中间层的特征,后来被证明是其它计算机视觉任务(如对象检测object detection )的良好的 feature representation

      在深度学习架构的背景下,人们对利用来自多模态multiple modalities 的数据越来越感兴趣。自编码器和 RBM 等无监督深度学习方法被部署并联合重建(部分共享的网络partially shared network)音频和视频来执行 feature learning,从而成功应用于多模态任务multimodal task 。另一种方案,也有人努力学习具有多个任务的联合 representation 。对于图像和文本,一种特别有用的场景是通过将语义上有意义的 embedding 空间与图像 label 相结合,从而实现对 unseenlabel 进行图像分类的 zero-shot learning

      据我们所知,之前很少有人尝试利用网络中的链接结构进行 representation learning 。在《A deep learning approach to link prediction in dynamic network》 中,它使用条件conditional 的动态 temporaryRBM 对网络链接的动态性进行建模,主要任务是使用历史数据预测未来的链接。与我们最相似的工作是 《Latent feature learning in social media network》,其中它在多媒体链接数据上训练一个 content RBM 。我们在几个方面与他们的工作不同:我们在无监督环境中使用监督学习的方案,我们的方法可以扩展到大规模数据集,我们执行多任务学习从而融合来自不同模态的形式。

18.1 模型

  1. 异质网络 heterogeneous network 指的是具有不同类型对象、和/或具有不同类型链接的网络。从数学上讲,我们定义一个无向图 G=(V,E),其中 V={v1,,vn} 为顶点集合,E 为边集合。一条边 ei,jE 当且仅当顶点 vivj 之间存在无向链接。

    此外,图 G 还关联了对象类型映射函数 fv:VO、以及链接类型映射函数 fe:ER,其中 O 代表对象类型集合、R 代表关系类型集合。每个顶点 viV 属于一个特定的对象类型 fv(vi)O。类似地,每个链接 ei,jE 属于一个特定的关系类型 fe(ei,j)R 。值得一提的是,边的链接类型自动地定义了其端点的顶点类型。

    网络的异质性分别由集合 OR 的大小所反映。当 |O|=|R|=1 的情况下,网络是同质heterogeneous 的。否则网络是异质heterogeneous 的。下图说明了一个异质网络的示例,其中包含两种对象类型和三种链接类型。为了进一步便于理解,我们将假设对象类型为 image: Itext: T 。链接关系 R 包含 image-to-image(红色点虚线)、text-to-text (绿色短虚线)、image-to-text(蓝色实线),分别用 RII, RTT, RIT 表示。因此,在这种情况下,我们有 |O|=2,|R|=3 。虽然在文本域和图像域的这种简单抽象仅仅是为了便于在本文中进一步讨论,但是这个假设并未失去一般性,因为这些思想很容易推广到任意数量的类型。

    因此,任何顶点 viV 都可以被划分到两个不相交的子集 VIVT ,分别对应于文本域和图像域。因此,我们有:VIVT=V ,以及 VIVT=ϕ 。 类似地,边集 E 可以划分为三个不相交的子集,分别记作 EI,I,ET,T,EI,T 。此外,每个顶点都聚合了 unique 的内容信息。具体而言:

    • 对于每个图像顶点 viVI,我们给出图像张量的内容 XiRdI×dI×3,其中 dI 为图像的尺寸。
    • 对于每个文本顶点 viVT,我们给出文本向量的内容 zjRdT,其中 dT 为文本的长度。

    例如,图像的内容是 RGB 颜色空间中的原始像素格式,文本的内容是文档的 Term Frequency - Inverse Document Frequency: TF-IDF 得分。我们将链接关系表示为一个对称的邻接矩阵 ARn×n,如果 ei,jEAi,j=1,否则 Ai,j=1 (为了模型简单)。

    注意,这里的邻接矩阵元素取值为 {+1, -1},这和经典的 {+1, 0} 不同。这是为了后面的损失函数服务,给 “负边”(即,未链接的顶点对)一个非零值可以在损失函数中引入 “负边” 的信息。虽然这种邻接矩阵是完全稠密的矩阵,但是我们可以仅存储“正边”,从而仍然存储一个稀疏版本的邻接矩阵。

  2. 接下来,我们首先引入一种新的损失函数来衡量跨网络的相关性,并以数学方式展示我们的 HNE 框架。本质上,embedding 过程为每个对象同时将异质内容和异质链接编码到一个 representation 中。

    然后我们提出了一种 linkage-guided 的深度学习框架,从而同时对潜在空间 embeddingfeature learning 进行联合建模。这可以通过使用反向传播技术有效地求解。

    最后,我们讨论了将 HNE 算法直接扩展到多于两种对象类型的一般情况。

18.1.1 线性 HNE

  1. 异质 embedding 任务的主要目标是学习映射函数,从而将不同模态的数据映射到公共空间,以便直接衡量对象之间的相似性。假设与图像顶点相关联的原始内容 XiRdI×dI×3 可以转换为向量representation xiRdI 。原始输入数据到 xi 的转换将在下一节内容中描述。一种朴素的方法是将图像的每一列拼接起来,或者通过feature machine 。值得一提的是,dIdT 不必相同,因为图像和文本是完全不同领域的特征。

    我们使用两个线性变换矩阵 URdI×rVRdT×r 将两种类型的样本变换到一个均匀的潜在空间,其中 U 用于图像域、V 用于文本域。对于图像和文本,变换后的represetnation 分别为 x~Rr,z~Rr。因此我们有:

    x~=Ux,z~=Vz

    尽管图像和文本可能在不同维度的空间中表示,但是变换矩阵 UV 将它们映射到一个共同的 r 维空间。相同类型的两个 data point 之间的相似性可以表示为投影空间中的内积,即:

    s(xi,xj)=x~ix~j=(Uxi)Uxj=xiMI,Ixjs(zi,zj)=z~iz~j=(Vzi)Vzj=ziMT,Tzj

    注意,由于嵌入到公共空间,不同类型对象(如文本和图像)之间也可以进行相似度计算,即:

    s(xi,zj)=x~iz~j=(Uxi)Vzj=xiMI,Tzj=z~jx~i=(Vzj)Uxi=zjMI,Txi

    这里 MI,I=UURdI×dIMT,T=VVRdT×dT 为半正定矩阵,而 MI,T=UVRdI×dT

    潜在 embedding 与文献 《Learning locally-adaptive decision functions for person verification》 中已被广泛研究的相似性学习 similarity learning和度量学习 metric learning 密切相关。即,两个顶点之间的相关性correlation 可以通过投影矩阵 UV 进行参数化,也可以通过矩阵 MI,I,MT,T,MI,T 定义的双线性函数进行参数化。 这提供了 application-specific 的方式来建模异质关系的灵活性。

  2. 对象之间的交互被表示为网络中的异质链接。我们假设:如果两个对象是连接的,则它们之间的相似性应该比孤立对象之间的相似性更大,从而反映这一事实(即,对象是连接的)。

    注意,这里仅考虑一阶邻近性,即直接连接关系。

    考虑两个图像 xixj。为了对链接信息进行编码,我们设计了一个 pairwise 决策函数 d(xi,xj)

    d(xi,xj){>0,if Ai,j=1<0,else

    注意,要推断 d(,),我们不需要知道 A 的相应元素值,也不要求异质顶点为 in-sample 。这意味着该方法具有泛化能力从而嵌入 unseen 顶点。

    这句话的意思是,d(,) 的计算仅与 xixj 本身有关,与链接权重无关、也与是否存在链接无关。对于 unseen 的顶点,我们也可以计算 d(,) ,从而预测它与其它顶点之间是否存在链接。

    对于所有顶点 vi,vjVI,考虑 d(xi,xj)=s(xi,xj)tI,I ,其中 tI,I 为基于关系的 bias 值。则损失函数可以定义为:

    L(xi,xj)=log(1+exp(Ai,j×d(xi,xj)))

    这可以视为由网络链接引导 guided 的二元逻辑回归。text-text 损失函数和 image-text 损失函数也是类似的,只需要将 s() 替换为相应模态的损失函数即可。类似地,tT,TtI,T 表示相应的、基于关系的 bias 值。

    该损失函数仅捕获一阶邻近性(即局部网络结构),没有捕获高阶邻近性(既全局网络结构)。

    该损失函数迫使相连的顶点之间的 embedding 是相似的、不相连的顶点之间的 embedding 是不相似的。这就是为什么 Ai,j 取值为 {+1,1},和传统邻接矩阵不同的原因。

    最终我们的目标函数如下:

    minU,V1NI,Ivi,vjVIL(xi,xj)+λ1NT,Tvi,vjVTL(zi,zj)+λ2NI,TviVI,vjVTL(xi,zj)+λ3(||U||F2+||V||F2)

    其中:

    • NI,I 表示image-image 链接的数量,即 |EI,I|NT,T 表示text-text 链接的数量,即 |ET,T|NI,T 表示 image-text 链接的数量,即 |EI,T|
    • λ1,λ2,λ3 为平衡系数,用于平衡不同类型损失以及正则化项。||||F2 为矩阵的 F 范数。
    • tI,I,tT,T,tI,Tbias 值既可以从数据中学习得到,也可以设为固定值。为简单考虑,我们都设置为固定值。

    该最优化问题可以通过坐标下降法coordinate descent 得到有效解决,每次固定一个变量从而求解另一个变量:首先固定参数 V 从而求解参数 U,然后固定参数 U 从而求解参数 V

18.1.2 深度 HNE

  1. 目前为止,我们已经证明了我们的损失函数融合了网络结构,从而将不同异质成分heterogeneous component 映射到统一的潜在空间。然而,这种 embedding 函数仍然是线性的,可能缺乏建模复杂网络链接的能力。接下来我们引入深度学习框架。

    前面部分我们的解决方案可以分为两个步骤:

    • 手动构造顶点的feature representation :对于文本顶点使用其 TF-IDF 向量,对于图像顶点使用其原始 RGB 像素点拼接而成的向量。
    • 将不同的feature representation 嵌入到公共的低维空间中。

    这里我们通过深度学习将 feature representationlearningembedding 合并在一起。

  2. feature representation learning

    • 定义图像特征抽取的非线性函数为 pDI(),其参数为 DI 。通常我们使用 CNN 来抽取图像特征。下图为一个图像特征抽取模型,它由五个卷积层、两个全连接层组成。所有层都采用 ReLU 非线性激活函数。该模块称作 deep image 模块。

    • 定义文本特征抽取的非线性函数为 qDT() ,其参数为 DT 。由于文本是非结构化的,不包含空间信息,因此通常使用全连接层FC 对文本的 TF-IDF 输入来抽取特征。该模块称作 deep text 模块。

    则我们的损失函数变为:

    minU,V,DI,DT1NI,Ivi,vjVIL(pDI(Xi),pDI(Xj))+λ1NT,Tvi,vjVTL(qDT(zi),qDT(zj))+λ2NI,TviVI,vjVTL(pDI(Xi),qDT(zj))+λ3(||U||F2+||V||F2)
  3. feature representation embedding:我们可以通过一个额外的线性embedding layer 来级联deep image 模块和 deep text 模块。

    定义 p~DI(X)=UpDI(X) ,其中 DI=DI{U} 。定义 q~DT(z)=VqDT(z) ,其中 DT=DT{V} 。则目标函数变为:

    minDI,DT1NI,Ivi,vjVIL(p~DI(Xi),p~DI(Xj))+λ1NT,Tvi,vjVTL(q~DT(zi),q~DT(zj))+λ2NI,TviVI,vjVTL(p~DI(Xi),q~DT(zj))

    其中:

    • 我们使用 dropout 代替了 L2 正则化项,因此上式没有 λ3 对应的项

    • 我们使用新的损失函数:

      L(a,b)=log(1+exp(Ai,jab))

      与前面的 L(,) 相比,这里的损失函数移除了bias 项。

    该目标函数可以通过随机梯度下降SGD 来求解。

  4. 为进行端到端的 HNE 学习,我们将deep image 模块和 deep image 模块连接起来。我们以 text-text 链接为例,另外两种类型的链接也是类似的。下图包含两个deep text 模块,它们构成了pairwisetext-text 模块。

    • deep text 模块包含两个FC 全连接层,然后是一个线性 embedding 层。

      这里有些违反直觉。主流的 DNN 模型都是先通过一个 embedding 层,然后再通过 FC 层。

    • 线性 embedding 层的输出是公共潜在空间中的低维向量,该低维向量进一步送到预测层 prediction layer 来计算损失函数。

    • text-text 模块是对称的,下图中相同颜色的神经元共享相同的权重和偏差,箭头表示前向传播的方向。

  5. HNE 的整体架构如下图所示,图中展示了三个模块,从左到右依次为 image-image 模块、image-text 模块、text-text 模块。这些模块分别连接到prediction layer 来计算损失函数。下图中,相同的颜色代表共享权重。箭头表示前向传播和反向传播的方向。

  6. 讨论:

    • 目前为止我们仅展示了两种类型顶点的异质网络embedding 方法。事实上,我们的框架也支持多种类型顶点的异质网络 embedding
    • 由于深度学习是高度非线性和非凸的,因为无法保证全局最优解。参数的初始化对模型性能至关重要。文献表明,即使最终任务与 pre-training 任务不同,精心设计的 pre-training 也可以显著提高最终任务的表现。
    • 值得一提的是,我们提出的方法是无监督学习方法,因此可以作为下游fine-tuning 微调阶段的预训练pretraining 步骤来使用。换句话讲,如果我们想对网络顶点进行分类,那么我们可以从 embedding layer 获得最终特征并应用相应的机器学习算法。或者我们也可以将prediction layer 替换为 softmax 层,然后进行微调为 task-specific 的端到端监督学习深度神经网络。

18.2 实验

  1. 数据集:我们使用来自现实世界社交网络的两个公开数据集。所有实验结果均在五次不同的运行中取均值。

    • BlogCatalog:一个社交博客网络,博主可以在预定义的类别下对其博客进行分类。这样的分类用于定义类标签,而 following(即,关注)行为用于构建博主之间的链接。我们使用每个博主的所有博客内容的 TF-IDF 向量作为博主的内容特征。最终我们得到一个无向、同质图,每个顶点代表一个博主,顶点的特征为TF-IDF 向量。最终该图包含 5196 个顶点、171743 条边、类别数量 6、内容向量维度 8189,并且该数据集各类别是平衡的。

    • NUS-WIDEFlickr 上的图像和文本数据,包含 269648 张关联有 tag 的图像,其中 tag 集合大小为 5018 。每一组image-tag 标记有一个 label ,一共 81 个类别。

      由于原始数据中包含很多不属于任何类别的噪音样本,因此这些样本被删除。另外,我们将频次最高的 1000tag 作为文本并抽取其 TF-IDF 向量作为特征。我们进一步删除了不包含任何这 1000tag 中单词的样本。最终我们分别随机抽样了 5384436352 个样本进行训练和测试。

      我们将图像和文本分别视为独立的顶点来构建异质网络,训练网络包含 107688 个顶点、测试网络包含 72704 个顶点。如果两个顶点共享至少一个概念 concept,则构建它们之间的语义链接。我们对每个顶点最多随机采样 30 个链接,从而构建稀疏的邻接矩阵 A

      值得一提的是,我们以 out-of-sample 方式来评估不同的算法。即,训练样本绝对不会出现在测试数据集中。

  2. 网络重建Network Reconstruction:在分类、聚类或检索任务之前,我们首先对网络链接重建的质量进行基本的、直观的评估,从而验证我们的假设。我们从 BlogCatalog 数据集中随机选择 500 个顶点,然后可视化其链接,其中每个顶点的颜色代表其类别。可以看到:

    • 相对而言,社交“关注” 关系倾向于将具有相似属性的用户聚合在一起。

    • 绝对而言,这种聚合之中存在大量噪音,其中59.89% 的链接连接到了不同类别的顶点。

      这是可以理解的,因为即使 HNE 百分之百地重建了网络,但是原始网络本身就存在大量的、不同类别的顶点链接在一起的情况。

    我们评估了算法学习 embedding 过程中,训练集每个 mini-batch 的链接重建准确率 :预估正确的 pair 对的数量, 除以所有的 pair 对的数量。其中 mini-batch = 128 。结果如下图所示,其中横轴表示 epoch ,每个 epoch 包含 500step 。红线表示每个 epoch 重建准确率的均值。可以看到:随着学习的推进,算法能够正确地重建 80% 以上的链接,而一开始的准确率只有 55%

    注意,这里是训练集的重建准确率,而不是测试集的。

18.2.1 BlogCatalog 数据集

  1. 分类任务:在 BlogCatalog 数据集上,我们将我们的 feature learning 方法和以下 feature learning 方法进行比较:

    • Content:基于原始空间的内容特征,即用户所有博主的 TF-IDF 特征向量。
    • Links:基于原始空间的链接特征,即用户的邻接关系作为特征。
    • Link-Content:将内容和邻接关系都视为特征。
    • LUFS:针对内容和链接的无监督特征抽取框架。
    • LCMF:基于链接和内容的矩阵分解方法。
    • HNE:我们提出的异质网络特征抽取方法。

    对于这些抽取出来的特征,我们使用标准的 kNN 分类器来评估特征的分类效果。为确保公平比较,所有方法的 embedding 维度固定为 100 。对于 Content/Links/Link-Content 方法抽取的特征,我们使用 PCA 算法投影到 100 维的空间。

    这些模型的分类准确率如下所示。可以看到:

    • 在不同规模的训练集中,HNE 始终优于其它的 baseline 方法。这是因为网络链接可以编码很多有用的信息。
    • 如果将 embedding 视为预训练步骤,并通过将多类 softmax 替换掉 predict layer 来微调整个模型,则我们的效果会进一步提升。这表明了无监督的 embedding 学习对于有监督分类任务提供了很好的初始化,并能进一步提升性能。

     

  2. 聚类任务:我们还比较了BlogCatalog 数据集上不同方法得到的 embedding 的聚类表现。与分类任务相比,聚类任务是完全无监督的,并很大程度上依赖于相似性度量函数。这里我们采用最常见的余弦相似度。我们根据聚类后的结果以及label 信息,同时给出了准确率和互信息 normalized mutual information :NMI 作为评估指标。

    结果表明:

    • 类似分类任务,仅使用链接会带来最差的结果。这可能是因为:在没有全局内容信息指导的条件下,相似性往往是局部的,并且对噪音非常敏感。
    • 仅内容相似性不足以捕获关系信息。
    • 通过链接和内容的简单组合,这可以提供与其它 baseline 相当的性能。
    • 我们的 HNE 模型优于所有其它 baseline 模型并达到 state-of-the-art 的水平。

18.2.2 NUS-WIDE 数据集

  1. BlogCatalog 相比,NUS-WIDE 数据集构成了一个包含图像、文本的异质网络。我们将在分类任务、跨模态检索cross-modal retrieval 任务中评估 HNE 的性能。注意,跨模态检索任务在前一个数据集的同质场景中是不可行的。

  2. 分类任务:鉴于 BlogCatalog 的异质场景,我们将我们的方法和以下无监督的、能够处理多模态输入的 baseline 进行比较:

    • Canonical Correlation Analysis: CCA:根据输入的多个数据源的关系将它们嵌入到共同的潜在空间。
    • DT:一种迁移学习方法,通过潜在 embedding 来减少图像和文本之间的语义距离。
    • LHNEHNE 的线性版本。

    我们为所有其它baseline 方法抽取了 4096 维的特征,但是由于我们的HNE 方法是端到端的,因此不需要为图像手动抽取特征。由于 NUS-WIDE 数据集是类别不平衡的,因此我们用平均精度 average precsision:AP 来评估每种可能的标签结果的分类性能。

    AP 就是P-R 曲线下的面积,mAP 就是所有类别的 AP 的均值。事实上,AP 就是把 recall 的取值根据 {0,0.1,,0.9,1.0} 一共 11 个水平(也可以划分更小的单位),然后取对应的 Precision 的平均值。在 P-R 曲线上这等价于曲线的线下面积。

    为了方便比较,所有方法的公共嵌入空间的维度为 400 维,并且使用线性支持向量机 SVM 来作为所有方法产出的 embedding 的通用分类器。之所以用 SVM 是因为计算 AP 需要预估一个概率值,而这不方便从深度神经网络分类器中取得。

    我们比较了三种配置:

    • image only:仅在图像顶点上学习 embedding,然后训练 SVM、执行分类测试。
    • text only:仅在文本顶点上学习 embedding,然后训练 SVM、执行分类测试。
    • image + text:同时使用图像顶点和文本顶点学习 embedding,然后后训练 SVM、执行分类测试。

    可以看到:

    • 对于所有方法,仅使用文本数据进行分类效果最差。这可能是由于:和图像输入相比,文本输入非常稀疏。
    • 仅使用线性的 HNE ,我们就可以获得与 DT 相当的结果,并且优于 CCA
    • 非线性HNE 在所有三种配置中进一步提高性能,这表明使用非线性函数同时优化feature learning 和潜在 embedding 的优势。

  3. 跨模态检索:为进一步验证 HNE 的能力,我们在跨模态检索任务中将我们的方法和 baseline 进行比较。我们的目标是希望通过文本 query 来召回对应的图片。在所有 81label 中,有 75 个出现在 TF-IDF 文本向量中。因此我们基于这 75label word 来构建 query 向量:

    queryi=(0,0,,0,1,0,,0)

    其中query 向量长度为 1000, 除了第 ilabel 对应的位置为 1,其它所有位置为零。query 向量一共有 75 个。

    根据学到的 embedding 函数,我们将这些 query 向量都映射到公共潜在空间中,并通过欧式距离来检索测试集中的所有图像。我们报告了 average precision at rank k: p@ktop k 结果中的平均precision 值) 的结果。 可以看到:HNE 明显优于其它 baseline

    然后我们给出一些检索的案例。可以看到:

    • Mountain 的第三个检索结果不正确,这可能是由于其它Mountain 图像和带有牛的Mountain图像之间存在极大的视觉相似性。

    • Cow 的检索结果中包含三只鹿,这是因为这些图像具有多个tag,并通过“动物” 概念进行链接。

      由于我们的方法以及 ranking 函数完全是无监督的,因此 cowdeer 等对象之间的联系会混淆我们的 embedding 学习。我们预期使用监督 ranking 可以提升性能。

18.2.3 其它

  1. 训练收敛性:我们展示了HNEBlogCatalog 数据集上目标函数的变化,从而验证模型的收敛性。其中 x 轴代表 epoch 。可以看到:目标函数经过 60epoch 的持续性降低之后趋向于平稳,这表明算法可以收敛到稳定结果。

十九、AANE[2017]

  1. 网络分析已经成为许多实际应用中的有效工具,例如精准营销 targeted marketing 和基因分析。识别有效特征对于这些任务至关重要,但是这涉及大量的人力和大规模的工程实验。作为替代方案,network embedding 将每个节点的拓扑结构topological structure 映射为低维的向量represetnation ,从而可以很好地保留原始网络邻近性proximity 。已有工作表明,network embedding 可以使各种任务收益,例如节点分类、链接预测、网络聚类。

    虽然现有的 network embedding 算法专注于纯网络 pure network,但是现实世界网络中的节点通常关联一组丰富的特征或属性,这称作属性网络attributed network 。像同质性 homophily 和社交影响 social influence 等社会科学理论表明:节点属性与网络结构高度相关,即一方的形成取决于并影响了另一方。例如,微博中用户帖子和“关注” 关系之间的强关联,论文主题和引用关系的高度相关性。在各种应用中,已有工作表明联合利用这两个信息源(即节点拓扑结构和节点属性)可以提高学习性能。受到这些的启发,论文《Accelerated Attributed Network Embedding》提出研究节点特征是否可能有助于学到更好的 embedding representation

    此外,现实世界的网络通常是大规模的,具有大量节点和高维特征。例如,截至 2016 年,美国每月有超过 6500 万活跃的 Twitter 用户,每个用户可以发布数千条推文。这对 embedding 算法的可扩展性提出了更高的要求。属性网络 embedding 在以下三个方面具有挑战性:

    • 高的时间复杂度可能是限制算法在实践中应用的瓶颈。一些工作致力于利用网络结构和属性信息来寻找低秩low-rank 的潜在 representation 。它们要么在每次迭代中需要具有 O(n3) 时间复杂度的特征分解 eigen-decomposition(其中 n 为节点的总数),要么采用通常收敛速度较慢的梯度下降。
    • 由于异质信息heterogeneous information 的各种组合,在网络和属性的联合空间中评估节点邻近性node proximity 具有挑战性。另外,随着网络规模的扩大,节点属性邻近性node attribute proximity 矩阵往往太大,无法存储在单机上,更不用说对它的操作了。因此,如果 embedding 算法也是可扩展的,那么将很有吸引力。
    • 两个信息源都可能不完整incomplete 的且充满噪音noisy 的,这进一步加剧了 embedding representation learning 问题。

    因此,鉴于数据的独有特性,现有方法不能直接应用于可扩展的、属性网络的 embedding 。为了应对上述挑战,论文研究了在属性网络上有效地学习 embedding representation 的问题。论文旨在回答以下问题:

    • 如何在网络结构和节点属性组成的联合空间中有效地建模节点邻近性?
    • 如何使 vector representations learning 过程具有可扩展性scalable 和高效efficient

    通过调研这些问题,论文提出了一个称作 Accelerated Attributed Network Embedding: AANE 的新框架。总之,本文贡献如下:

    • 正式定义属性网络 embeding 问题。
    • 提出一个可扩展的、高效的框架 AANEAANE 通过将节点属性邻近性纳入 network embedding,从而学到有效的、统一的 embedding representation
    • 提出一种分布式优化算法。该算法将复杂的建模和优化问题分解为许多低复杂度的子问题,使得 AANE 能够高效地处理每个节点。
    • 在三个真实数据集上验证了 AANE 的效率和效果。
  2. 相关工作:

    network embedding 已经成为处理大规模网络的有效工具。人们已经从各个方面进行了努力。

    • 《Scalable learning of collective behavior based on sparse social dimensions》 提出了一种 edge-centric 的聚类方案,从而提高学习效率并减轻内存需求。
    • 《Distributed large-scale natural graph factorization》 提出了一种基于随机梯度下降的分布式矩阵分解算法来分解大规模图。
    • 《LINE: Large scale Information Network Embedding》 通过将weighted edge 展开 unfolding 为多个binary edge 来提高随机梯度下降的效率。
    • 《Asymmetric transitivity preserving graph embedding》 设计了一种 Jacobi-Davidson 类型的算法来近似和加速 high-order proximity embedding 中的奇异值分解。
    • 《Structural deep network embedding》 涉及深度架构从而有效地嵌入节点的一阶邻近性和二阶邻近性。

    人们已经研究并分析了各个领域中的属性网络,并表明:通过联合利用几何结构和节点属性来提高学习性能变得越来越有希望。

    • 《What's in a hashtag? content based prediction of the spread of ideas in microblogging communities》 通过利用内容和拓扑特征改善了对思想ideas 传播的预测。
    • 《Exploring context and content links in social media: A latent space method》 基于 pairwise 相似性对内容信息进行建模,并通过学习语义概念semantic concept 之间的结构相关性structural correlation,从而将内容信息与上下文链接一起映射到语义潜在空间中。
    • 《Probabilistic latent document network embedding》 通过为网络链接和文本内容找到一个联合的低维 representation,从而为文档网络提出了一个基于概率的框架。
    • 《Heterogeneous network embedding via deep architectures》 设计了一种深度学习方法,将丰富的链接信息和内容信息映射到潜在空间,同时捕获跨模态数据之间的相关性。

    属性网络分析不同于多视图学习。属性网络的网络结构不止一个视图,其底层属性很复杂,包括连通性connectivity 、传递性transitivity 、一阶和更高阶的邻近性等等。

19.1 模型

19.1.1 基本概念

  1. G=(V,E,W) 为一个网络,其中 V={v1,,vn} 为节点集合,n 为节点数量,E 为边的集合,W={wi,j}Rn×n 为边的权重矩阵。定义节点 vi 的直接邻居节点为 N(vi) ,其大小为 Ni

    每条边 (vi,vj)E 关联一个权重 wi,j0 。这里我们关注于无向图,因此有 wi,j=wj,i 。更大的 wi,j 意味着节点 vivj 之间产生更强的关联,或者说更大的相似性。wi,j=0 意味着节点 vivj 之间不存在边。

    定义节点 vi 的属性向量为 aiRm ,其中 m 为属性的维度。定义属性矩阵为 ARn×m ,其中 aiA 的第 i 行。

    定义attributed network embedding 为:给定网络 G=(V,E,W) 以及属性矩阵 A ,任务的目的是给出每个节点 viV 一个低维embedding 向量 hiRd ,使得embedding 向量能够同时保留节点的结构邻近关系、节点的属性邻近关系。所有节点的 embedding 向量构成 embedding 矩阵 HRn×d

19.1.2 AANE

  1. 现实世界属性网络的理想 embedding 方法需要满足以下三个要求:

    • 首先,它需要能够处理任意类型的边(如,无向/有向边、无权/带权边)。
    • 其次,它需要同时在网络空间和属性空间中都很好地保持节点邻近性。
    • 最后,可扩展性很重要,因为节点的数量 n 和属性维度 m 可能很大。

    为此,我们开发了一个满足所有要求的、有效的、高效的框架 AANE。这里我们将描述 AANE 如何以有效的方式联合建模网络结构邻近性和属性邻近性。

  2. 网络结构建模:为了保持 G 中的节点邻近性, AANE 提出两个假设:

    • 首先,假设基于图的映射graph-based mapping 在边上是平滑的,特别是对于节点密集的区域。这符合 “聚类假设” cluster hypothesis
    • 其次,具有更相似拓扑结构或由更高权重连接的一对节点更有可能具有相似的 embedding

    为了实现这些目标,我们提出以下损失函数来最小化相连节点之间的 embedding 差异:

    JG=(vi,vj)Ewi,jhihj2

    其中 hi,hj 分别为节点 vivjembedding representationwi,j 是节点 vi,vj 之间边的权重。核心思想是:为最小化 JG ,当 wi,j 较大时(节点 vivj 相似性更大),模型将迫使 hihj 的距离较小。

  3. 属性邻近性建模:节点的属性信息与网络拓扑结构紧密相关。网络空间中的节点邻近性应该与节点属性空间中的节点邻近性一致。为此,我们研究如何使得 embedding representation H 也很好地保持节点属性的邻近性。

    受对称矩阵分解symmetric matrix factorization 的启发,我们提出使用 HH 的乘积来近似属性亲和矩阵attribute affinity matrix SRn×n 。基本思想是:强制 embedding representation hihj 的内积与对应的属性相似性 si,j 相同。在数学上,该损失函数定义为:

    JA=i=1nj=1n(si,jhihj)2=SHHF2

    其中亲和矩阵可以通过节点属性相似性来计算,具体而言这里我们采用余弦相似度。假设节点 vivj 的属性相似性为 si,j ,即 si,j=aiaj

    计算亲和矩阵的时间复杂度为 O(n2),存储亲和矩阵的空间复杂度为 O(n2) 。我们可以对每个节点仅计算和存储最相似属性的 top k 个节点,从而将时间复杂度和空间复杂度降低到 O(kn)

  4. Joint Embedding Representation Learning:现在我们有两个损失函数 JGJA,它们分别建模网络拓扑结构中的节点邻近性、节点属性中的节点邻近性。为了对这两种邻近性互补,形成一个统一的联合空间,我们在以下优化问题中对这两种类型的信息进行联合建模:

    J=JA+λJG=SHHF2+λ(vi,vj)Ewi,jhihj2

    其中 λ 用于平衡网络结构损失和属性损失:

    • λ0 时,网络拓扑结构不影响最终的节点 embedding,。因此每个节点都可以是一个孤立的 cluster
    • λ+ 时,最优解倾向于使得所有节点的 embedding 相同(即 hi=hj ), 此时所有节点在embedding 空间中形成单个 cluster

    因此我们可以通过调节 λ 从而调整 embedding 空间中 cluster的数量。

    AANE 可以视为带正则化项的矩阵分解,其中将 S 分解为 HH 。在分解过程中施加了基于网络结构的正则化 λ(vi,vj)Ewi,jhihj2,该正则化迫使相连的节点在 embedding 空间中彼此靠近。

    AANE 仅考虑网络结构的一阶邻近性,无法捕获网络结构的高阶邻近性。

    AANE 仅捕获线性关系,未能捕获非线性关系。

    AANE 分别独立地建模网络结构邻近性和节点属性邻近性,并未建模二者之间的交互。

19.1.3 加速算法

  1. AANE 的目标函数不仅联合建模网络结构邻近性和节点属性亲和性,而且它还具有特殊的设计, 从而能够更有效地和分布式地优化:J 对每个 hi 都是可分离separable 的,因此可以重新表述为双凸优化问题 bi-convex optimization

    如果我们添加一个副本 Z=HziRdZ 的第 i 行。因此有:

    SHZF2=i=1nsihiZ22=i=1nsiHzi22

    则目标函数重写为:

    minHi=1nsihiZ22+λ(vi,vj)Ewi,jhizj2s.t.hi=zi

    这表明 J 对每个 hizi 都是可分离 separable 的。考虑到上式的每一项都是凸函数,因此这是一个双凸优化问题。因此我们可以将原始问题划分为 2n 个更小的凸优化子问题。

    但是, 对于这 2n 个子问题无法获得闭式解,所以我们参考交替乘子法 Alternating Direction Method of Multipliers: ADMM 的做法来加速优化过程:将学习过程转换为 2n 个子问题的updating step 和一个矩阵 updating step

    也可以用随机梯度下降法来求解。这里介绍的优化算法需要 O(n2) 的复杂度,因此对于大型网络是不可行的。

  2. 现在我们介绍优化过程的细节。我们首先引入增强的拉格朗日函数:

    L=i=1nsihiZ22+λ(vi,vj)Ewi,jhizj2+ρ2i=1n(hizi+ui22ui22)

    其中 uiRd 为对偶变量, ρ>0 为罚项参数。

    我们可以交替优化 H,Z,U 从而得到 L 的极小值点。U 为对偶变量构成的矩阵,其中 uiRdU 的第 i 行。对于节点 vi ,在第 k+1step 的更新为:

    hi(k+1)=argminhi(sihiZ(k)22+λvjN(vi)wi,jhizj(k)2+ρ2hizi(k)+ui(k)22)zi(k+1)=argminzi(siH(k+1)zi22+λvjN(vi)wj,izihj(k+1)2+ρ2zihi(k+1)+ui(k)22)U(k+1)=U(k)+(H(k+1)Z(k+1))

    根据偏导数为零,我们解得 hi(k+1)zi(k+1)

    hi(k+1)=2siZ(k)+λvjN(vi)wi,jzj(k)hi(k)zj(k)2+ρ(zi(k)ui(k))2Z(k)Z(k)+(λvjN(vi)wi,jhi(k)zj(k)2+ρ)Izi(k+1)=2siH(k+1)+λvjN(vi)wi,jhj(k+1)zi(k)hj(k+1)2+ρ(hi(k+1)+ui(k))2H(k+1)H(k+1)+(λvjN(vi)wi,jzi(k)hj(k+1)2+ρ)I

    这里我们使用 hi(k) 来估计距离 hi(k)zj(k)2《Efficient and robust feature selection via joint l2,1 -norms minimization》证明了这种更新规则的单调递减特性。由于每个子问题都是凸的,因此当 hi(k)=hi(k+1)hi(k) 就是极值点。因此当 hi(k)hi(k+1) 足够接近时,停止迭代。

    由于原始问题是一个 bi-convex 问题, 因此可以证明我们方法的收敛性,确保算法收敛到一个局部极小值点。这里有几点需要注意:

    • 在计算 zi(k+1) 之前必须计算所有的 hi(k+1)

    • 计算 hi(k+1) 之间是相互独立的。

    • 如果机器内存有限,则也可以不必存储亲和矩阵 S ,而是需要的时候独立计算 si

      si=(aiA)(1qiq)q=(a1a1,,anan)

      其中 qiq 的第 i 项, 为逐元素积。

  3. 为了进行适当的初始化,我们在第一次迭代中将 H 初始化为 A0 的左奇异值。其中 A0Rn×2d 为一个矩阵,它包含了 A 的前 2d 列。

  4. AANE 将优化过程分为 2n 个子问题,然后迭代地求解它们。在每轮迭代过程中,可以分布式地将 hi (或者 zi )的 nupdating step 分配给 tworker 。当原始残差 hi(k+1)hi(k) 或者对偶残差 ui(k+1)ui(k) 足够小时,停止迭代。

    整体而言,AANE 优化算法有几个不错的特性:

    • 首先,它使得 hi (或 zi)的 nupdating step 彼此独立。因此,在每次迭代中,global coordination 可以将任务并行分配给 worker 并从这些 worker 中收集结果,而无需考虑任务顺序。
    • 其次,所有 updating step 都具有低复杂度。
    • 最后,该方法快速收敛到一个合适的解。
  5. AANE 优化算法:

    • 输入:

      • G(V,E,W)
      • 节点属性矩阵 ARn×m
      • embedding 维度 d
      • 收敛阈值 ϵ
    • 输出:所有节点的 embedding 矩阵 HRn×d

    • 步骤:

      • 从属性矩阵 A 中提取前 2d 列,构成 A0Rn×2d

      • 初始化:k=0H(k)A0 的左奇异向量, U(0)=0Z(k)=H(k)

      • 计算属性亲和矩阵 SRn×n

      • 迭代,直到残差 hi(k+1)hi(k)2ϵ 或者对偶残差 ui(k+1)ui(k)2ϵ 。迭代步骤为:

        • 计算 Z(k)Z(k)
        • 分配 n 个子任务到 tworker, 然后更新:对于 i=1,,n 计算 hi(k+1)
        • 计算 H(k+1)H(k+1)
        • 分配 n 个子任务到 tworker, 然后更新:对于 i=1,,n 计算 zi(k+1)
        • 计算 U(k+1)U(k)+(H(k+1)Z(k+1))
        • 更新 kk+1
      • 返回 H

  6. 下图说明了 AANE 的基本思想:给定一个 n=6 个节点的网络,它首先将属性亲和矩阵 SRn×n 分解为 HH 的乘积。同时,它对这种分解施加了基于边的惩罚,使得相连的节点在 H 中彼此靠近,并且靠近程度由 W 中的边权重所控制。模型的目标是使得网络空间中更相似的节点在 H 中更靠近。

    为了加速优化算法,我们提出了一种分布式优化算法,将原始问题分解为 2n=12 个低复杂度的子问题。前 n=6 个子问题被设计为相互独立,而后 n=6 个子问题也是相互独立的。所有子问题都可以分配给 t=3worker。在最终输出中,节点 1 和节点 3 分别分配了相似的向量 [0.54, 0.27][0.55, 0.28],这表明这两个节点在原始网络和属性的联合空间joint space中彼此相似。

  7. 算法复杂度:由于AANE 的优化算法是一个典型的 ADMM 算法,因此训练算法在迭代很少的几个 step 之后就能收敛到很高的精度。

    • 在初始化步骤,由于需要计算奇异值向量,因此计算复杂度为 O(d2n)

    • 在每个子任务过程中,更新 hi 的计算复杂度为 O(d3+dn+dNi) 。注意:我们只需要在每轮迭代中计算一次 Z(k)Z(k) ,其分摊的算法复杂度为 O(n2/t)。由于 dn, 因此其计算复杂度为 O(n)

      另外,可以验证每个子任务的空间复杂度为 O(n)

    因此 AANE 总的时间复杂度为 O(n×nA+n2/t) ,其中 nA 为矩阵 A 的非零元素数量, tworker 数量。

    AANE 的算法复杂度总体而言在 O(n2) ,这对于大型图(如上亿节点)而言是不可行的。

19.2 实验

  1. 数据集:

    • BlogCatalog 数据集:一个博客社区,用户彼此关注从而构成一个网络。用户可以生成关键词来作为其博客的简短描述,我们将这些关键词作为节点(用户)的属性。用户也可以将其博客注册为指定的类别,我们将这些类别作为用户的 label 。没有关注或者没有指定类别的用户从网络中剔除。
    • Flickr 数据集:一个在线图片共享社区,用户彼此关注从而构成一个网络。用户可以为图片指定 tag ,我们将这些 tag 作为节点(用户)的属性。用于可以加入不同的组,我们将这些组作为用户的 label
    • Yelp 数据集:一个类似大众点评的本地生活评论网站。我们基于用户的社交关系来构成一个网络。我们从用户的评论中利用bag-of-word 抽取文本信息来作为用户的属性信息。所有本地商家分为 11 个主要类别,如 Active Life, Fast Food, Services... ,我们将用户所点评的商家的类别作为用户的 label

    这些数据集的统计信息如下所示。

  2. baseline 模型:为评估节点属性的贡献,我们对比了 DeepWalk,LINE,PCA 等模型,这些baseline 模型仅能处理网络结构或者节点属性,无法处理二者的融合;为了对比AANE 的效率和效果,我们对比了其它的两种 ANE 模型 LCMF, MultiSpec

    • DeepWalk:使用 SkipGram 学习基于图上的、截断的随机游走序列从而得到图的 embedding
    • LINE:建模图的一阶邻近度和二阶邻近度从而得到图的 embedding
    • PCA:经典的降维技术,它将属性矩阵 Atop d 个主成分作为图的 embedding
    • LCMF:它通过对网络结构信息和顶点属性信息进行联合矩阵分解来学习图的 embedding
    • MultiSpec:它将网络结构和顶点属性视为两个视图 view ,然后在两个视图之间执行 co-regularizing spectral clustering 来学习图的 embedding
  3. 实验配置:在所有实验中,我们首先在图上学习顶点的 embedding,然后根据学到的 embedding 向量作为特征,来训练一个SVM 分类模型。分类模型在训练集上训练,然后在测试集上评估Macro-F1Micro-F1 指标。

    在训练SVM 时,我们使用五折交叉验证。所有的顶点被随机拆分为训练集、测试集,其中训练集和测试集之间的所有边都被移除。考虑到每个顶点可能属于多个类别,因此对每个类别我们训练一个二类 SVM 分类器。

    所有模型的 embedding 维度设置为 d=100 。所有实验均随机重复 10 并报告评估指标的均值。

  4. 属性信息的影响:我们分别将分类训练集的规模设置为 10%,25%,50%,100%。其中,由于 Yelp 数据集的规模太大,大多数ANE 方法的复杂度太高而无法训练,因此我们随机抽取其 20% 的数据并设置为新的数据集,即 Yelp1

    所有模型的分类效果如下所示:

    所有模型在完整的 Yelp 数据集上的分类效果如下所示,其中 PCA,LCMF,MultiSpec 因为无法扩展到如此大的数据集,因此不参与比较:

    结论:

    • 由于利用了顶点的属性信息,因此LCMF,MultiSpec,AANE 等属性网络embedding 方法比 DeepWalk,LINE 等网络结构embedding 方法效果更好。例如,在 BlogCatalog 数据集上,结合属性信息的 AANEMicro-average 得分上比 DeepWalk 相对提升 38.7%、比 LINE 提升 36.3%
    • 我们提出的 AANE 始终优于 LCMF, MultiSpec 方法。例如,在 Flickr 数据集上,AANELCMF 相对提升 18.2%。这可以解释为通过分解网络矩阵network matrix 和属性矩阵attribute matrix学到的潜在特征是异质的,并且很难将它们直接结合起来。
    • LCMF,MultiSpec 方法无法应用于大型数据集。
  5. 效率评估:然后我们评估这些方法的训练效率。我们将 AANELCMF,MultiSpec 这些属性网络 embedding 方法进行比较。下图给出了这些模型在不同数据集上、不同顶点规模的训练时间。

    结论:

    • AANE 的训练时间始终比 LCMFMultiSpec 更少。
    • 随着顶点规模的增加,训练效率之间的 gap 也越来越大。
    • AANE 可以在多线程环境下进一步提升训练效率。

    这种比较意义不大,本质上 AANEO(n2) 的复杂度,因为无法适用于大型网络。另外,其它两种方法和 AANE 的时间曲线是平行的,也就是相差常数时间。在算法中,相差 O(1) 的复杂度并不会带来本质上的效率提升。

  6. 参数敏感性:这里我们研究参数 λd 的影响。

    • 参数 λ 平衡了网络结构和顶点属性之间的贡献。为研究 λ 的影响,我们将其从 106 变化到 103 ,对应的分类 Micro-F1 效果如下所示。

      • λ 接近于 0 时,模型未考虑网络结构信息,就好像所有节点都是孤立的。随着 λ 的增加,AANE 开始根据拓扑结构对节点进行聚类,因此性能不断提升。
      • λ 接近 0.1 时,模型在 BlogCatalogFlickr 上的效果达到最佳。随着 λ 的继续增加,模型性能下降。因为较大的 λ 倾向于使得所有顶点具有相同的 embedding

    • 为研究 embedding 维度 d 的影响,我们将 d20 变化到 180,对应的分类 Micro-F1 效果如下所示。我们仅给出 Flickr 数据集的结果,BlogCatalogYelp 的结果也是类似的。

      可以看到:

      • 无论 d 为多少,DeepWalkLINE 都不如属性网络 embedding 方法(AANE,LCMF,MultiSpec
      • 无论 d 为多少,AANE 的效果始终最佳。
      • d 增加时,这些模型的效果先提高、然后保持稳定。这表示低维 embedding 已经能够捕获大多数有意义的信息。

二十、LANE[2017]

  1. 属性网络 attributed network 在各种现实世界的信息系统中无处不在,例如学术网络、医疗保健系统。与仅观测节点之间交互和依赖关系的常规网络不同,属性网络中的每个节点通常关联一组丰富的特征。例如,随着社交网络服务的普及,人们不仅可以结识朋友从而形成在线社区,还可以积极分享意见、发表评论。在社会科学中,人们已经研究了社交影响理论social influence theory ,即:个体的属性既可以反映、也可以影响他们的社区结构。此外,许多数据挖掘应用程序(如情感分析、信任预测)都可以受益于几何结构和节点属性之间的相关性。

    network embedding 作为一种高效的图挖掘计算工具,旨在将网络中所有节点的拓扑邻近性topological proximity 映射为连续的低维向量 representation 。学到的 embedding representation 有助于节点分类、链接预测、网络可视化等众多应用。虽然 network embedding 已被广泛研究,但是对 Attributed Network Embedding: ANE 的研究仍处于早期阶段。与从纯网络pure network 学习的 network embedding 相比,ANE 的目标是利用网络邻近性proximity 和节点属性亲和性affinity 。由于两种信息源的异质性,现有的 network embedding 算法很难直接应用于 ANE

    人们在各种现实世界的网络中收集了丰富的 label,如 group 或者社区类别。例如,在 FacebookFlickr 等许多社交网络中,用户被允许加入一些预定义的分组。同组的用户倾向于分享类似主题的帖子或照片,并且组内用户之间也经常互动。引文网络是另一个例子。在同一个研究社区中发表的论文通常具有共同的主题,它们还大量引用来自同一社区的其它论文。这些事实可以用同质性假设homophily hypothesis 来解释,即,具有相同 label 的个体通常具有相似的社交关系和相似的节点属性。label 受到网络结构和属性信息的强烈影响,并与它们固有地相关。受到这一事实(即,label 可能有助于学习更好的联合 embedding representation)的启发,而现有方法关注于以无监督的方式学习 embedding,论文 《Label Informed Attributed Network Embedding》建议研究如何利用 label 信息并将其整合到 ANE 中。

    然而,在属性网络中建模和利用 label 是一项困难的任务。有两个主要挑战:

    • 首先,属性网络和 label 信息可能是稀疏sparse 的、不完整incomplete 的、噪音noisy 的。例如,在社交网络中,单个用户的好友数量相比总用户量而言总是极少的,特定 label 的活跃用户的占比也可能很小。
    • 其次,鉴于属性网络及其 label 的异质性,学习统一的 representation 具有挑战性。与评论和帖子等属性不同,label 将实例划分为不同的分组或社区。很难显式地建模所有这些多模态信息源之间的相关性correlation ,并将它们共同嵌入到信息量丰富的 embedding representation 中。

    因此,利用异质的、噪音的信息来相互补充从而获得有效的、鲁棒的 embedding representation 是一项具有挑战性的任务。

    在论文 《Label Informed Attributed Network Embedding》中,作者研究了 label informed attributed network embedding 的问题,并提出了一个有效的框架 LANE。具体而言,论文旨在回答以下问题:

    • 如何将 label 建模且融合到 ANE 框架中?
    • labelembedding representation learning 的潜在影响是什么?
    • LANE 通过利用 label 对其它学习任务(如节点分类)做出多大贡献?

    总之,论文的主要贡献如下:

    • 正式定义 label informed attributed network embedding 问题。
    • 提出一个新的框架 LANELANE 可以将 label 与属性网络关联,并通过建模它们的结构邻近性和相关性,将它们平滑地嵌入到低维 representation 中。
    • 提出一种有效的交替算法来解决 LANE 的优化问题。
    • 实验评估和验证了 LANE 在真实世界属性网络上的有效性。
  2. 相关工作:

    近年来,network embedding 越来越受欢迎。

    • network embedding 的开创性工作可以追溯到 graph embedding 问题,该问题由 《On determining the genus of a graph in O(v^{O(g)}) steps》1979 年作为 graph genus determining 问题所引入。

    • 一系列更通用的 graph embedding 方法是在 2000 年代左右开发的。他们的目标是生成可以对数据的非线性几何进行建模的低维流形low-dimensional manifold,包括 IsomapLaplacian Eigenmap、谱技术。

    • 到目前为止,由于网络数据的普遍性,人们已经实现了各种 network embedding 算法。

      • 《Probabilistic latent semantic visualization: topic model for visualizing documents》 将概率潜在语义分析probabilistic latent semantic analysis: pLSA 应用于嵌入文档网络。
      • 《Community evolution in dynamic multi-mode networks》 研究了利用时间信息分析动态多模式网络的优势。
      • 《Structure preserving embedding》 利用半定程序semidefinite program 来学习低维 representation ,从而很好地保留了全局拓扑结构。
      • 《Topic modeling with network regularization》 设计了一种基于 harmonic regularizationembedding 框架来解决具有网络结构的主题建模问题。
      • 《Distributed large-scale natural graph factorization》 提出了一种用于大规模图的异步分布式矩阵分解算法。
      • 《Learning social network embeddings for predicting information diffusion》 将观察到的时间动态投影到潜在空间中,从而更好地建模网络中的信息扩散。
      • 《node2vec: Scalable feature learning for networks》 通过增加邻域的灵活性,进一步推进了基于随机游走的 embedding 算法。
      • 为了嵌入异质网络,《Learning latent representations of nodes for classifying in heterogeneous social networks》transductive 模型和深度学习技术扩展到该问题中。
      • 《Revisiting semi-supervised learning with graph embeddings》 利用概率模型以半监督方式进行 network embedding

      最近,人们提出了几种基于深度学习的 embedding 算法,从而进一步提高学习 representation 的性能。

    在众多现实世界网络中,节点往往关联丰富的节点属性信息,因此人们提出了属性网络分析。在这些网络中,人们普遍认为几何结构和节点属性之间存在相关性。因此,同时利用这两者的算法可以提高整体的学习性能。例如,《What's in a hashtag? content based prediction of the spread of ideas in microblogging communities》 通过分析社交图的拓扑和内容,从而推进对思想ideas 传播的预测。为了解决复杂的数据结构,人们致力于将两个信息源联合嵌入到一个统一的空间中。

    • 《Exploring context and content links in social media: A latent space method》 探索了一种有效的算法,通过构建语义概念semantic concept 的潜在空间,从而联合嵌入社交媒体中的链接和内容。
    • 《Probabilistic latent document network embedding》 提出一个整体框架来同时处理文档链接和文本信息,并找到一个统一的低维 representation。他们通过联合概率模型来实现这一目标。
    • 《Unsupervised streaming feature selection in social media》 利用流式特征选择框架联合学习高维内容数据和链接信息中的潜在因子的概率。
    • 《Heterogeneous network embedding via deep architectures》 将内容转换为另一个网络,并利用非线性多层 embedding 模型来学习构建的内容网络与原始网络之间的复杂交互。

    在许多应用中,数据表现出多个方面multiple facets,这些数据被称作多视图数据。多视图学习 multi-view learning 旨在从多个信息源中学习统计模型。人们已经提出了许多算法。

    • 《A reconstruction error based framework for multi-label and multi-view learning》 研究了一种基于重构误差的框架,用于处理 multi-labelmulti-view 学习。该框架可以显式量化多个 label 或视图的合并的性能。
    • 《Pre-trained multi-view word embedding using two-side neural network》 应用了一个 two-side 多模态神经网络来嵌入基于多个数据源的 word

    《A survey of multi-view machine learning》 对多视图学习给出了更详细的回顾。我们的工作与多视图学习之间的主要区别在于:属性网络可以被视为一个特殊构建的数据源,而且 ANE 本身就是一个具有挑战性的问题。label 也是具有特定形式的特殊数据源。

20.1 模型

20.1.1 基本概念

  1. 定义 G=(V,E,W,A) 为一个属性网络,其中:

    • V={v1,,vn} 为所有的节点集合, n 为节点数量; E 为所有边的集合。
    • W={wi,j}Rn×n 为所有边的权重矩阵, wi,j>0 表示边 (vi,vj)E 的权重。当 (vi,vj)Ewi,j=0
    • A={ai,j}Rn×m 为所有节点的属性矩阵, m 为属性向量的维度。 A 的第 iai=(ai,1,,ai,m)Rm 表示节点 vi 的属性向量。

    除了网络结构和节点属性之外,每个节点还关联一组 label 。节点的 label 矩阵为 Y={yi,j}Rn×k ,其中 klabel 种类。 Y 的第 iyi=(yi,1,,yi,k)Rklabel 向量, yi,j=1 表示节点属于第 jlabel ,每个节点可以属于其中某一类 label 或者某几类 label

    我们定义 label informed attributed network embedding 为:给定属性网络 G 以及 label 信息 Y ,为每个节点 vi 学习低维的向量representation hiRd ,使得 hi 尽可能包含属性网络信息和 label 信息。

  2. 我们提出了一种新颖的informed attributed network embedding: LANE 方法。LANE 可以建模属性网络空间和 label 信息空间中的节点邻近性,并将它们联合嵌入到统一的低维 representation 中。下图说明了 LANE 的主要思想,图中有一个含有六个节点的属性网络,每个节点都有各自的label

    LANE 通过两个模块来学习节点的embedding :属性网络嵌入 Attributed Network Embedding、标签信息嵌入 Label Informed Embedding

    • 首先,我们将网络结构邻近性和网络节点属性邻近性映射到两个潜在representation U(G)U(A) 中,然后通过抽取 U(G)U(A) 的相关性从而将 U(A) 融合到 U(G) 中。
    • 其次,我们利用融合的 U(G) 来平滑label 信息,从而统一嵌入到另一个潜在空间 U(Y) 中。
    • 最后,我们将所有学到的潜在representation 映射到一个统一的 representation H 中。

    如下图所示,节点 1 和节点 3embedding向量分别为 [0.54, 0.27][0.55, 0.28],这意味着它们在原始空间中具有相似的属性。为了有效地学习节点 embedding ,我们设计了一种高效的交替优化算法。

20.1.2 Attributed Network Embedding: ANE

  1. Attributed Network Embedding 模块的目标是寻找两个 n×d 矩阵来表示 G 中的节点,从而保持网络结构信息和节点属性信息。具体而言,我们旨在为结构相似或者属性相似的节点分配相似的向量representation

  2. 首先考虑对网络结构进行建模。网络结构建模的核心思想是:如果节点 vivj 的网络结构相似,则它们的representation 向量 uiuj 也应该相似。这里我们用余弦距离 si,j=cos(wi,wj) 来衡量节点 vi,vj 的结构相似性,用欧式距离 uiuj22 来衡量representation 向量的相似性,其中 wiRn 为边权重矩阵的第 i 行。当然,也可以使用其它相似度来衡量节点 vi,vj 的结构相似性。

    wi 的相似性刻画了节点一阶邻域之间的相似性。而 AANE 中采用边权重 wi,j 作为结构相似性指标。

    我们通过 si,j×uiuj22 来衡量 si,j{ui,uj} 之间的不一致程度:

    • 当节点 vivj 的结构相似时(即 si,j 较大), uiuj 应该彼此靠近(即 uiuj22 较小)。
    • uiuj 彼此距离较远时,节点 vivj 的结构应该不相似(即 si,j 较小)。

    该损失函数无法解决结构不相似但是 uiuj 彼此靠近的情况。即上式存在一个特殊解:所有节点的 embedding 都相等。因此论文增加了约束条件 U(G)U(G)=I

    考虑所有节点,则我们得到总的不一致程度为:

    12i=1nj=1nsi,j×uiuj22

    定义图结构的pair-wise 结构相似性矩阵为 S(G),其中 si,j 为第 i 行、第 j 列的元素, di=jsi,j 为第 i 行的元素之和。考虑到有些节点和很少的节点相似(即 di 较大),有的节点和非常多的节点相似(即 di 较小)。因此使用 didj 进行归一化:

    12i=1nj=1nsi,j×uidiujdj22

    这里采用这种归一化形式是为了得到拉普拉斯矩阵的矩阵形式。

    则我们的目标函数为:

    minU(G)12i=1nj=1nsi,j×uidiujdj22

    其中 U(G) 为网络结构 representation 矩阵,其第 i 行为 ui 。根据归一化图拉普拉斯矩阵的定义,我们将结构邻近性建模的目标函数重写为:

    maxU(G)JG=tr(U(G)L(G)U(G))s.t.U(G)U(G)=I

    其中: tr() 为矩阵的迹,L(G)=D(G)12S(G)D(G)12 为归一化的拉普拉斯矩阵, D(G)=diag(d1,,dn) 为对角矩阵。

    我们添加约束 U(G)U(G)=I 是为了得到唯一解。如果没有该约束,则解为任意多个。

  3. 与网络结构建模类似,我们对节点属性邻近性建模过程也是类似的。定义节点属性pair-wise 邻近性矩阵为 S(A), 定义节点属性 representation 矩阵为 U(A)。节点属性邻近性建模的目标是最小化 U(A)S(A) 之间的不一致性。

    定义归一化拉普拉斯矩阵 L(A)=D(A)12S(A)D(A)12D(A)=diag(d1(A),,dn(A)) 为对角矩阵, di(A)S(A)i 行之和。则节点属性邻近性建模的目标函数为:

    maxU(A)JA=tr(U(A)L(A)U(A))s.t.U(A)U(A)=I
  4. 为了将 U(A) 融合到 U(G),我们将 U(A) 投影到 U(G) 所在的空间。我们认为:结构相似性的节点之间很可能节点属性也相似。即,结构邻近性和节点属性邻近性相关性很大。我们将 U(A) 投影后的矩阵的方差作为相关性度量:

    ρ1=tr(U(A)U(G)U(G)U(A))

    U(G)U(A) 表示将 U(A) 投影到 U(G) 所在空间,它类比于向量 a 在向量 b 上的投影。

    这里是通过正则化的方式,迫使结构邻近性和节点属性邻近性产生高度的相关。

    为了使得网络结构信息和节点属性信息互补,我们在模型中共同最大化 JG,JA , 以及 U(A),U(G)之间的相关性 ρ1

    maxU(G),U(A)(JG+α1JA+α1ρ1)s.t.U(G)U(G)=I,U(A)U(A)=I

    其中 α1 平衡 ANE 模块内部网络结构和节点属性的贡献。

    论文 《Accelerated Attributed Network Embedding》 提出的 AANE 中,U(A)=U(G),因此相关性指标 ρ1 最大。相比之下,这里放松了 U(A)U(G) 的约束,使得模型表达能力更强。

  5. 我们在 ANE 模块基于pair-wise 相似性来执行属性网络 embedding。这种方法和谱聚类相一致,它有几个优点:

    • 对于输入没有很强的假设,即普适性较好,可以推广到很多实际问题。
    • 目标函数可以使用很多图论来解释,如 ratio-cut partitioning、随机游走。
    • 可以通过eigen-decomposition 特征值分解很容易求解问题。

20.1.3 Label Informed Embedding: LIE

  1. label 信息在确定每个节点内部结构方面起着至关重要的作用,它和网络结构、节点属性有着强烈的、固有的相关性。除了这些强相关性之外,label 还可能被纳入前面提到的 ANE 模块中。然而,label 通常是噪音noisy 的、且不完整incomplete 的。直接探索label 可能会对最终的 embedding 产生负面影响。我们提出了一种对 label 进行建模的方法,并且使用两个步骤来强化 embedding representation learninglabel information modelingcorrelation projection

  2. Label Information Modeling:在这一步中,我们将label 邻近性映射到潜在representation U(Y) 中。其基本思想是:利用属性网络embedding 来平滑label 邻近性,使得当节点具有相同的 label 时,它们的网络结构、节点属性、以及最终的representation 都趋近于相似。

    具体而言,我们根据label 将节点划分到对应的团clique 中,对应的表示形式为 YYRn×n 。其中第 ij 列的元素为 yiyj ,表示节点 vivjlabel 向量的内积。假设每个节点仅属于一个label 类别:

    • 当节点 vivj 属于不同的类别时, yiyj=0 ,即顶点 vivj 属于不同的clique
    • 当节点 vivj 属于相同的类别时,yiyj=1,即顶点 vivj 属于相同的clique

    如果节点可以有多个label 类别,则 yiyj 对应于节点 vivj 的类别交集。

    我们根据 YY 来对label 邻近性来建模。令 S(YY)YY 的余弦相似度,定义其拉普拉斯矩阵为 L(YY)=D(Y)12SYYD(Y)12 。其中,度矩阵 D(Y) 是一个对角矩阵,每个元素为 S(YY) 对应行的和。

    我们可以参考网络结构邻近性和节点属性邻近性建模,通过矩阵的特征值分解来求解 U(Y) 。但是注意到label 信息的特殊结构:YRn×k 的秩小于等于 k ,因此 YY 的秩也小于等于 k ,因此 S(YY) 的秩小于等于 k 。通常 kd ,这导致对 L(YY) 的特征值分解的效果不理想。

    为解决该问题,我们利用学到的网络结构邻近性 U(G)U(G)smooth 模型。我们定义以下目标函数使得相同label 的节点具有相似的representation

    maxU(Y)JY=tr(U(Y)(L(YY)+U(G)U(G))U(Y))s.t.U(Y)U(Y)=I

    这里假设结构相似的节点可能具有相同的 label 。这里没有考虑属性邻近性,主要是为了将 label 融合到网络结构中。

    这里是否可以考虑引入一个平衡因子 λ ,从而平衡 label 信息和属性网络embedding 信息,即:L(YY)+λU(G)U(G) ?论文并未讨论。

    JA+ρ1=tr(U(A)(L(A)+U(G)U(G))U(A)) ,因此属性网络 embedding 也是用网络结构邻近性 U(G)U(G)smooth 模型。

    这种方式有几个优点:

    • 首先,矩阵 U(G)Rn×d ,因此 U(G)U(G) 的秩为 d 并且位于噪声显著降低的低秩空间。

    • 其次,联合的邻近性融合了更多的信息,这使得label 信息与网络结构、节点属性等信息相一致。

      另外第二项 tr(U(Y)U(G)U(G)U(Y)) 也度量了 U(G)U(Y) 之间的相关性,这有助于label 邻近性学习,因为label 和节点结构、节点属性是高度相关的。

    • 最后,学到的潜在representation U(Y) 中的噪音大大降低,并且原始的 label 空间中大部分信息可被恢复。

    因此,尽管label 信息可能是不完整的、且噪音的,但我们仍然能够捕获label 空间中的节点邻近性。

  3. Correlation Projection:现在我们已经得到了属性网络embedding U(A),U(G) , 以及label 信息embedding U(Y) ,最终我们需要根据它们联合学到一个统一的embedding H

    我们将这些 embedding 都投影到新的embedding 空间 H 。为了尽可能保留投影后的信息,我们利用投影矩阵的方差作为其相关性的度量,定义为:

    ρ2=tr(U(G)HHU(G))ρ3=tr(U(A)HHU(A))ρ4=tr(U(Y)HHU(Y))

    则投影的目标函数定义为:

    maxU(),HJcorr=ρ2+ρ3+ρ4

    其中 U() 表示所有的三个潜在 embedding

    这里通过相关性最大,从而从三个潜在 embedding 中得到统一的embedding H

20.1.4 联合学习

  1. 现在我们考虑所有的 embedding ,以及所有的相关性。我们定义两个参数来平衡不同度量的重要性从而得到 LANE 的目标函数:

    maxU(G),U(A),U(Y),HJ=(JG+α1JA+α1ρ1)+α2JY+Jcorrs.t.U(G)U(G)=I,U(A)U(A)=IU(Y)U(Y)=I,HH=I

    其中: α1>0 用于平衡 ANE 模块内部网络结构和节点属性的贡献,α2>0 用于平衡 ANE 模块和 LIE 模块的贡献。

    通过求解 J 的最优解,我们能够使得 embedding representation learningcorrelation projection 高度相关。通过这种方式,H 能够捕获结构邻近性、属性邻近性、label 邻近性,以及它们之间的相关性。

  2. 优化算法:目标函数有四个矩阵变量需要优化,因此无法得到闭式解。这里我们采用一种交替优化算法来逼近最优解。基本思想是:每轮迭代时固定其中三个变量而求解另外一个变量的局部最优解。当固定其中三个变量时,目标函数就是剩下变量的凸函数。

    考虑 U(G) 的二阶导数:

    U(G)2J=L(G)+α1U(A)U(A)+α2U(Y)U(Y)+HH

    其中 L(G) 为一个对称矩阵。由于 α1>0,α2>0U(G)U(G),HH 都是对称矩阵,因此 U(G)2J 为半正定矩阵。

    U(A),U(Y),H 固定时, JU(G) 的凸函数,则可以通过拉格朗日乘子法来求最优解。令 λ1,λ2,λ3,λ4 为对应的拉格朗日乘子,根据 U(G)J=0 ,则有:

    (L(G)+α1U(A)U(A)+α2U(Y)U(Y)+HH)U(G)=λ1U(G)

    U(G) 的解对应于 L(G)+α1U(A)U(A)+α2U(Y)U(Y)+HHtop d 特征向量。

    类似地,最大化 J 等价于找出下列特征值分解问题的 top d 特征向量:

    (α1L(A)+α1U(G)U(G)+HH)U(A)=λ2U(A)(α2L(YY)+α2U(G)U(G)+HH)U(Y)=λ3U(Y)(U(G)U(G)+U(A)U(A)+U(Y)U(Y))H=λ4H

    由于每个updating step 都是求解凸优化问题,因此可以保证收敛到局部最优解。

    我们从主要的信息源的representation U(G) 开始更新,这是为了确保有一个合适的初始化。然后根据局部的特征值分解来分别更新四个参数矩阵,直到目标函数 J 的增长低于指定阈值 ϵ 为止。

  3. LANE 训练算法:

    • 输入:

      • 异质网络 G(V,E,W,A)
      • label 信息矩阵 Y
      • embedding 维度 d
      • 收敛阈值 ϵ
    • 输出:节点的 embedding 矩阵 H

    • 步骤:

      • 构建结构邻近度矩阵 S(G)、属性邻近度矩阵 S(A)label 邻近度矩阵 S(YY)

      • 计算拉普拉斯矩阵 L(G),L(A),L(Y)

      • 初始化:t=1,U(A)=0,U(Y)=0,H=0

      • 迭代,直到 JtJt1ϵ 。迭代步骤为:

        • 通过求解下式来更新 U(G)

          (L(G)+α1U(A)U(A)+α2U(Y)U(Y)+HH)U(G)=λ1U(G)
        • 通过求解下式来更新 U(A) :(这里采用更新后的 U(G)

          (α1L(A)+α1U(G)U(G)+HH)U(A)=λ2U(A)
        • 通过求解下式来更新 U(Y) :(这里采用更新后的 U(G),U(A)

          (α2L(YY)+α2U(G)U(G)+HH)U(Y)=λ3U(Y)
        • 通过求解下式来更新 H:(这里采用更新后的 U(G),U(A),U(Y)

          (U(G)U(G)+U(A)U(A)+U(Y)U(Y))H=λ4H
  4. 算法复杂度:LANE 框架在收敛之前只需要进行少量的迭代,在每轮迭代过程中都需要进行四个特征值分解。为计算 Rn×n 矩阵的top d 个特征向量,类似于 Lanczos 方法的特征值分解方法最坏情况需要 O(dn2) 复杂度。

    Ta 表示计算所有邻近度矩阵需要的计算复杂度,则 LANE 的总的时间复杂度为 O(Ta+dn2) ,这与谱嵌入 spectral embedding 的计算复杂度相同。由于 dn ,而 TaWA 中的非零元素决定,因此LANE 总的时间复杂度为 O(n2+nT) ,其中 TWA 中所有非零元素总数。

    另外,可以很容易得到 LANE 的空间复杂度为 O(n2)

    这种复杂度对于大型网络而言是不可行的。

  5. 在某些网络中节点属性或者节点label 可能不可用。如,当移动通信公司希望分析客户网络以便提供更好的服务时,他们只能收集到通讯网络及其部分label 信息,通讯内容、用户偏好之类的属性不可用。LANE 也能够处理这类场景,其中节点属性或节点label 之一发生缺失,或者二者全部缺失。

    我们以label 信息缺失为例,此时 J 的两项不可用:JY(它用于为label 信息建模)、ρ4 (它用于对label 邻近性和 H 的相关性进行建模)。移除这两项之后,我们的目标函数为:

    maxU(G),U(A),HJ=JG+β1JA+β2ρ1+ρ2+ρ3s.t.U(G)U(G)=I,U(A)U(A)=I,HH=I

    其中 β1>0,β2>0 决定了节点属性的贡献,以及节点属性和网络结构相关性的贡献。

    LANE 的这种变体我们称作 LANE_w/o_LABEL ,其求解方法也类似于上述交替优化算法。

20.2 实验

  1. 数据集:

    • BlogCatalog 数据集:一个博客社区,用户彼此关注从而构成一个网络。用户可以生成关键词来作为其博客的简短描述,我们将这些关键词作为节点(用户)的属性。用户也可以将其博客注册为指定的类别,我们将这些类别作为用户的 label
    • Flickr 数据集:一个在线图片共享社区,用户彼此关注从而构成一个网络。用户可以为图片指定 tag ,我们将这些 tag 作为节点(用户)的属性。用于可以加入不同的组,我们将这些组作为用户的 label

  2. Baseline 模型可以分为四类:

    • 首先,为评估embedding 的效果,我们使用原始特征作为 baseline
    • 然后,为评估节点属性的贡献,我们考虑三种仅嵌入网络结构的方法,包括 DeepWalk,LINE, LANE_on_Net
    • 接着,为评估label信息的贡献,我们考虑两种 ANE 方法,包括 LCMFLANE_w/o_Label
    • 最后,为评估 LANE 的效果,我们考虑SpecCombMultiView 方法。

    具体描述如下:

    • Original Features 原始特征:将原始网络结构特征、原始节点属性特征直接拼接,从而作为节点特征。
    • DeepWalk:使用 SkipGram 学习基于图上的、截断的随机游走序列从而得到图的 embedding
    • LINE:建模图的一阶邻近度和二阶邻近度从而得到图的 embedding
    • LCMF:它通过对网络结构信息和节点属性信息进行联合矩阵分解来学习图的 embedding
    • SpecComb:将属性网络 Glabel Y 拼接到一个矩阵,然后执行归一化的谱嵌入 normalized spectral embedding 。最后选择 top d 的特征向量作为embedding
    • MultiView:将网络结构、节点属性、节点 label 视为三个视图,并在它们上共同应用正则化的谱聚类spectral clustering
    • LANE_on_NETLANE_W/o_LABEL:是LANE 的两个变种。LANE_on_NET 仅对单纯的网络结构建模, LANE_W/o_LABEL 对网络结构和节点属性建模(没有节点label 信息)。
  3. 实验配置:我们验证不同算法学到的 embedding 对节点分类任务的有效性。我们使用五折交叉验证,并随机将数据集划分为训练集和测试集。其中,训练集不包含任何测试集的信息(训练期间测试节点是 unseen 的),但是测试集包含测试节点到任何其它节点的链接信息。

    我们首先在训练集上学到节点的 embedding,然后在训练集上训练一个SVM 分类器,分类器的输入为节点的 embedding、输出为节点的label 类别。然后,为了得到测试集的 embedding,我们首先构造两个线性映射函数 B(G)B(A),它将图的权重矩阵 W 和节点属性矩阵 A 映射到 embedding 空间 V

    W=VB(G),A=VB(A)

    这相当于是根据 WA 来拟合unseen 节点的 V

    为简单起见这里我们使用线性映射,也可以使用其它非线性映射函数。我们并没有根据测试集来训练 embedding,因为这会泄露测试集的 label 信息 Y 。我们可以通过训练集来学习参数 B(G)B(A),然后对于测试集的第 k 个顶点,其 embedding 向量为:

    hk=wk(B(G))1+δak(B(A))1

    其中: δ>0,它平衡了 WA 的贡献; ()1 为逆矩阵。

    最后我们基于测试集的 embedding 和训练集学到的 SVM 分类器来对测试集进行分类,并报告分类的 F1 指标。每种配置都随机执行 10 次并报告指标的均值。

    对于所有方法,embedding 维度为 d=100Baseline 方法的其它超参数都使用原始论文中的超参数,LANE 方法的超参数通过grid search 搜索到合适的值。

  4. 为证明embedding 的有效性,我们将 LANE 及其变体与原始特征进行比较。其中 BlogCatalog 数据集的原始特征为 12346 维、Flickr 数据集的原始特征为 18107 维。实验中,我们将 embedding 维度从5 增加到 100。我们给出了Flickr 数据集上不同 d 对应的分类效果。我们忽略了 BlogCatalog 数据集,因为结果也类似。

    结论:

    • d=60 远小于18107 时,LANE_w/o_Label 可以达到和原始特征相近的分类能力。
    • d=35 远小于18107 时,LANE 可以达到和原始特征相近的分类能力。
    • LANE_on_Net 比原始特征效果更差,这是因为它仅包含网络结构信息。

    因此,通过利用 embedding representation learningLANE 实现了比原始特征更好的性能。

  5. 为研究 LANE 的有效性,我们对比了所有的 Baseline 模型。我们固定 d=100 ,并将训练样本规模设置为原始训练集大小的 {116,18,14,12,1}

    结论:

    • 所有情况下,LANE 总是优于Baseline 模型。
    • 当训练数据规模从 116 增加到 100% 时,LANE 的性能持续改善,但增长的幅度变小。

  6. 为评估label 信息对于 embedding 的影响,我们分析上表中的数据。

    • 与单纯的网络结构embedding 方法(DeepWalk, LINE, LANE_on_Net ) 相比,使用了节点属性信息的 LANE_w/o_Label 的效果更好。但是利用了label 信息之后,LANE 进一步超越了LANE_w/o_Label。这证明了将label 信息融合到 embedding 中的优势。

      另外 LANE 也超过了属性网络embedding 方法 LCMF,这进一步证明了label 信息的优势。

    • 通过 LANESpecComb/MultiView 的比较发现,SpecComb/MultiView 的效果始终不如 LANE,甚至比单纯的网络结构 embedding 方法(如 DeepWalk )更差。这是因为:

      • SpecComb 没有明确考虑固有的相关性,并且直接拼接异质信息并不是组合异质信息的合适方法。
      • MultiView 会平等对待网络结构、节点属性、label 信息,这也不是融合这些异质信息的好方法。

    所有这些观察结果表明:

    • 属性网络和label 之间确实存在很强的相关性。
    • label 信息确实可以帮助我们获得更好的 embedding representation
    • 如何融合label 信息需要一种合适的方法。

    LINE 通过执行 label informed embedding 成功地实现了这一提升,并始终优于所有 baseline 方法。我们要强调的是:在节点分类任务中,所有方法都可以访问训练集中的 label,并以不同的方式利用label 信息。只有 LANE, SpecComb, MultiView 可以将这些 label 合并到 embedding representation learning 中。因此,LANE 的优势不是拥有额外的信息源,而是执行 label informed embedding 的结果。

  7. 超参数 α1,α2 平衡了属性网络和label 信息的贡献。我们同时将它们从 0.01 增加到 100Flickr 数据集上的指标如下,BlogCatalog 也有类似结果因此省略。

    结论:

    • 当属性网络和label 信息都具有足够的贡献时,即 α1>1,α2>10 时,LANE 会实现相对较高的性能。

    • α1 很小,最佳性能出现在 α2 适中,如 α21 。当 α2 很小,结论也类似。

    • 当固定 α1=100α20.01 变化到 100 时,模型性能提升了 42.7%;当固定 α2=100, α10.01 变化到 100 时,模型性能提升了 16.07%。这表明label 信息对于 LANE 的影响大于属性网络。

      因为在相同范围内取值时,模型性能随 α2 的波动更大,这说明 label 信息的影响更大。

    总之,通过配置合理的参数,LANE 可以实现相对较高的性能。同时,label 信息在 embedding 过程中非常重要。

  8. 我们将 d20 变化到 180 来研究分类性能的影响。。在 Flickr 数据集上不同方法的效果和 d 的关系如下图,BlogCatalog 也有类似结果因此省略。

    结论:

    • d>20 时之前观察到的结论都成立:LANE始终比所有基准方法效果更好。
    • 增加 dLANE 的分类性能首先提高,然后保持稳定。这在实际应用中很有吸引力,因为人们可以在大范围内安全地调整超参数 d

  9. 最后我们比较 LANE 和两种属性网络 ANE 方法(LCMFMultiView )的运行时间。我们在 Flickr 数据集上观察输入节点数量和训练时间(对数表示)的关系,BlogCatalog 也有类似结果因此省略。

    结论:LANE 的运行时间最少。原因是:

    • LCMF 基于随机梯度下降来优化,这通常收敛速度很慢。
    • MultiView 具有和 LANE 相同的时间复杂度,但经验表明 LANE 可以在这两个数据集上仅使用几个迭代就能收敛。因此这证明了 LANE 的计算效率。

二十一、MVE[2017]

  1. 由于在现实世界中的广泛应用,挖掘和分析大规模信息网络(如社交网络、引文网络、航空网络)最近引起了很多关注。为了有效地、高效地挖掘此类网络,首要条件是找到有意义的 network representation 。传统上,网络被表示为节点的邻接矩阵,这个矩阵既是高维的、又是稀疏的。最近,人们越来越关注将网络表示为低维空间(也称作 network embedding),其中每个节点都用一个低维向量来表示。这样的向量能够保持节点之间的邻近性proximity ,因此可被视为节点特征并有助于各种下游应用(如节点分类、链接预测、节点可视化)。

    尽管这些工作在许多网络中经验性地有效和高效,但是它们都假设网络中的节点之间仅存在一种类型的邻近性,而实际上网络中存在多种类型的邻近性。以科技文献中作者之间的网络为例,可以通过 co-authorship 关系来得到邻近性,即两位作者是否曾经共同撰写过同一篇论文;也可以通过引用关系来得到邻近性,即一位作者是否引用另一位作者的论文。另一个例子是社交网站中用户之间的网络,其中存在多种类型的邻近性,例如由关注(following-followee)、回复、转发、引用等关系所产生的邻近性。每种邻近性定义了一个网络视图,多个邻近性产生了一个具有多视图multiple views 的网络。每个单独的视图通常是稀疏sparse 的、有偏biased 的,因此现有方法学到的node representation 可能不是那么全面。为了学到更鲁棒的 node representation,一个自然的解决方案可能是利用来自多个视图的信息。

    这促使我们研究一个新的问题:学习多视图网络的 node representation ,旨在通过考虑网络的多个视图来学习节点的 robust representation。在文献中,人们已经提出了各种方法来从多个视图中学习数据 representation,例如多视图聚类 multi-view clustering 方法、多视图矩阵分解multi-view matrix factorization 方法。这些方法在许多application 上表现良好,例如聚类任务、推荐任务。但是,当应用于我们的问题时,它们具有以下局限性:

    • 视图协同collaboration 不足。由于网络的每个单独的视图通常都是有偏biased 的,因此学习节点的 robust representation 需要多个视图的协同。然而,大多数现有的多视图学习方法旨在找到跨不同视图的 compatible representation,而不是促进不同视图的协同从而找到节点的 robust representation
    • 缺乏权重学习 weight learning 。为了学习节点的 robust representation,需要整合来自多个视图的信息。在集成过程中,由于不同视图的重要性可能存在差异,因此需要仔细确定它们的权重。现有方法通常为所有视图分配相同的权重。换句话讲,不同的视图被同等对待,这对于大多数多视图网络而言是不合理的。

    为了克服这些限制,我们正在寻求一种能够促进不同视图协同,并在集成过程中自动推断视图权重的方法。

    在论文《An Attention-based Collaboration Framework for Multi-View Network Representation Learning》中,作者提出了这种方法。作者首先引入一组 view-specificnode representation ,从而保持不同视图中节点的邻近性。然后作者组合 view-specificnode representation 从而用于投票出节点的 robust representation 。由于不同视图的信息量可能不同,因此理想的情况下,在投票过程中需要以不同的方式对待每个视图。换句话讲,每个视图的权重应该不同。受到最近神经机器翻译neural machine translation 中注意力机制attention mechanism 进展的启发,在论文中作者提出了一种基于注意力的方法来推断不同节点的各个视图权重。该方法利用一些标记数据。整个模型可以通过反向传播算法进行有效地训练,在优化 view-specific node representation 、以及投票出节点的 robust representation (通过学习不同视图的权重)之间交替进行。

    作者对各种现实世界的多视图网络进行了广泛的实验。多标签节点分类任务、链接预测任务的实验结果表明:论文提出的方法优于用于学习单视图 node representation 的最新方法、以及多视图的其它竞争性方法。

    总之,论文贡献如下:

    • 论文建议研究 multi-view network representation learning,旨在通过利用来自多个视图的信息来学习 node representation
    • 论文提出了一个新颖的协同框架,该框架促进了不同视图的协同collaboration ,以投票的方式得到节点的 robust representation。论文引入了一种注意力机制,用于在投票期间学习不同视图的权重。
    • 论文在几个多视图网络上进行了实验。两项任务的实验结果证明了所提出的方法在许多竞争性的 baseline 上的效率和效果。
  2. 相关工作:我们的工作与现有的、用于学习 network representationscalable 方法有关,包括 DeepWalk, LINE, node2vec。这些方法使用不同的搜索策略来探索网络结构:深度优先搜索 depth-first search: DFS、广度优先搜索 breadth-first search: BFS、以及这两种搜索策略的组合。然而,所有这些方法都侧重于学习单视图网络single-view networknode representation,而我们研究多视图网络multiple-view network

    另一类相关工作是多视图学习multi-view learning ,旨在利用来自多个视图的信息,并在分类、聚类、ranking、主题模型topic modeling 等任务中显示出有效性。与我们最相似的工作是多视图聚类、以及多视图矩阵分解方法。例如:

    • 《Co-regularized multi-view spectral clustering》 提出了一个谱聚类spectral clustering 框架来正则化regularize不同视图的聚类假设clustering hypotheses
    • 《Multiview spectral embedding》 提出了一种多视图非负矩阵分解模型,旨在最小化每个视图的相关系数矩阵 coefficient matrix 和共性矩阵 consensus matrix 之间的距离。

    我们的多视图 network representation 方法与这些工作具有相似的直觉,旨在找到跨多个视图的、鲁棒的 data representation 。然而,主要区别在于现有方法为所有视图分配相同的权重,而我们的方法采用基于注意力的方法,从而为不同节点学习不同的视图投票权重。

    此外,我们的工作还与基于注意力的模型 attention based model有关。基于注意力的模型旨在推断训练数据不同部分的重要性,并让 learning 算法专注于信息量最大的部分。基于注意力的模型已经应用于各种任务,包括图像分类、机器翻译、语音识别。据我们所知,这是在 multi-view network representation learning 问题中首次尝试使用基于注意力的方法。

21.1 模型

21.1.1 基本概念

  1. 信息网络Information Network定义:信息网络 G=(V,E) 编码不同对象之间的关系,其中 V 为节点集合(每个节点代表一个对象),E 为边的集合。每条边 e=(u,v) 关联一个权重 wu,v>0,表示节点 u 和节点 v 之间关系的强度。

    一个网络视图来自于节点之间的、单一类型的关系或邻近性proximity,可以用一个边集合 E 来刻画。

  2. 传统上,网络被表示为稀疏的、高维的邻接矩阵。最近,人们越来越关注学习网络的低维向量 representation (也称作 network embedding )。

    Network Embedding 定义:给定一个信息网络 G=(V,E)network embedding 问题旨在为每个节点 vV 学习一个低维向量 representation xvRd (其中 d|V|),该representation 保留节点之间的邻近性。

  3. 最近人们已经提出了各种 network embedding 方法。尽管它们已被证明在各种场景中有效果、高效率,但是它们都专注于具有单一类型关系的网络。然而,在现实中,我们经常观察到节点之间多种类型的关系。例如,对于社交网站(如 Twitter)的用户,除了 following(关注)关系之外,还存在其它关系,如转发retweet 、引用mention 等关系。每种类型的关系定义了节点之间的一个网络视图,而多种类型的关系产生了具有多个视图的网络。网络的不同视图之间通常互补,因此考虑多个视图可能有助于学习节点的 robust representation。这促使我们研究学习多视图网络的 node representation 问题。

    Multi-view Network Embedding 定义:给定带 K 个视图的信息网络 G=(V,E1,E2,,EK) ,多视图network embedding 旨在为每个节点 vV学到低维的 robust representation xvRd (其中 d|V|),该 representation 在不同的视图中是一致 consistent 的。

  4. 为了学习跨不同视图的、节点的 robust representation,我们需要设计一种方法来促进不同视图的协同、并投票来产生节点的 robust representation。由于视图的质量不同,该方法还应该能够在投票期间对不同的视图进行不同的加权。

    这里我们介绍我们提出的、用于嵌入多视图网络的方法。大多数现有的多视图 network embedding 方法,例如多视图聚类和多视图矩阵分解算法,都未能取得令人满意的结果。这是因为它们在训练过程中不能有效地促进不同视图的协同。此外,在组合多视图信息时,这些方法也无法为不同的视图分配合适的权重。

    为了解决这些挑战:

    • 我们的方法首先挖掘了编码单个视图的邻近性的node representation。在编码期间,我们提出了一个协同框架 collaboration framework 来促进不同视图的协同。
    • 然后,我们通过投票vote 来进一步集成不同的视图,从而得到节点的 robust representation。在投票过程中,我们通过基于注意力的机制来自动学习每个视图的投票权重。

    我们的目标函数总结为:

    O=Ocollab+Oattn

    其中:

    • Ocollab 为协同框架的目标函数,其目标是学习单个视图的节点邻近性,同时通过投票来产生节点的 robust representation
    • Oattn 是学习投票权重的目标函数。

    注意:这里并没有引入超参数来平衡这两个目标函数。理论上可以引入超参数,比如 λ,使得 O=Ocollab+λOattn

    我们的方法如下所示,其中:黄色部分为协同框架,蓝色部分为基于注意力的权重学习,不同颜色的边代表不同的视图(共有三个视图),红色的节点为待分类的节点。

12.1.2 协同框架

  1. collaboration framework 协同框架的目标是学习编码了单个视图节点邻近性的node representation ,同时将它们集成起来通过投票产生节点的 robust representation 。对于每个节点 viV ,我们引入 view-specific representation {xik}k=1K 来编码单个视图中的结构信息。我们还引入了节点的 robust representation xi 来集成所有视图中的信息。

    考虑视图 k ,为保持视图 k 中的结构信息,对视图 k 中的每条有向边 (vi,vj) ,定义它们之间存在链接的概率为条件概率 pk(vjvi) 为:

    pk(vjvi)exp(xjkci)

    这意味着 pk(vjvi)=exp(xjkci)jexp(xjkci)

    其中 ci 为节点 vicontext representation 。在我们的方法中,节点 vicontext representation在所有视图之间共享,这使得不同的view-specific representation 将位于相同的语义空间中。我们还尝试了对不同视图采用不同的 context representation ,这作为我们方法的一个变种,并在试验中进行比较。

    context representation在所有视图之间共享,这使得节点的 view-specific representation 位于相同的语义空间中,这就是 “协同” 的含义。

  2. 根据定义,概率分布 pk(vi) 定义了视图 k 中节点 vi 的邻居分布 neighbor distribution 。定义视图 k 中节点 vi 的经验邻居分布为 p^k(vi) ,则 view-specific representation 的目标是最小化邻居分布 pk(vi) 和经验领居分布 p^k(vi) 的距离。这里我们采用 KL 散度作为概率分布之间的距离的度量。

    我们将经验邻居分布定义为 p^k(vjvi)=wi,j(k)/di(k) ,其中: wi,j(k) 为视图 k 中边 (vi,vj) 的权重; di(k) 为视图 k 中节点 vi 的出度 out degree,即 di(k)=jwi,j(k)

    经过简化之后,视图 kview-specific representation 的目标函数为:

    Ok=(i,j)Ekwi,j(k)logpk(vjvi)

    该目标函数优化一阶邻近性(即直接邻域)。

  3. 直接优化视图 k 的目标函数代价太大,因为在计算条件概率 pk(vjvi) 时需要遍历所有的节点。这里我们采用负采样negative sampling 技术,从而简化了条件概率的计算:

    pk(vjvi)=logσ(xjkci)+n=1NEvnPnegk(v)[logσ(xnkci)]

    其中 σ(x)=11+exp(x)sigmoid 函数,N 为负采样比例。

    • 第一项用于最大化“正边”,即观察到的边 observed edge
    • 第二项用于最小化“负边”,即不存在的噪音边noisy edge。其中 vn 是从噪音分布 Pnegk(v)(dv(k))3/4 采样到的噪音节点, dv(k) 为视图 k 中节点 v 的出度。
  4. 通过最小化 view-specific representation 的目标函数, {xik}k=1K 可以保留不同视图中的结构信息。然后我们通过投票来促进不同视图的协同,从而得到节点的robust representation。在投票过程中由于各个视图的重要性可能不同,因此我们需要为每个视图分配不同的权重。

    考虑所有这些因素,我们引入正则化项:

    R=i=1|V|k=1Kλikxikxi22

    其中: ||||2L2 正则化; λik 为节点 vi 在视图 k 中的正则化系数,它也是表示视图 k 的重要性。

    该正则化使得最终的robust representation 与各view-specific representation 保持一致。其物理意义为:

    • 一方面,要求节点的 robust representatioin xi 尽可能保留不同视图中的结构信息,即尽可能逼近 {xik}k=1K 。这也是view-specific representation 的一致性consistency

    • 另一方面,如果节点的 robust representation 无法保留所有视图中的结构信息,则它保留较重要的那些视图的结构信息。即尽可能逼近 λik 较大的那些 xik

      如果采用相等的权重,那么 R 最优化的解就是各 view-specific representation 的均值。

    直观而言,通过为每个节点 vi 学习适当的权重 {λik}k=1K ,我们的方法可以让每个节点专注于信息量最大的视图。我们将在下一节介绍如何自动学习这些权重。

    最终,不同的view-specific representation 基于以下方式投票从而产生 robust representation

    xi=k=1Kλikxik

    视图的权重作用在两个地方:投票产生 robust representation、不同视图的正则化系数。

    根据 R=i=1|V|k=1Kλikxiks=1Kλisxis22 可以看到,权重在 R 是三次多项式的关系,这更加强化了信息量大的视图。

    很自然地, robust representation 被计算为 view-specific representation 的加权组合,加权系数为视图的投票权重,这非常直观。

  5. 通过整合view-specific representation 学习阶段的目标、投票阶段的目标(即正则化项),则协同框架的最终目标为:

    Ocollab=k=1KOk+ηR

    其中 η 为平衡正则化项的系数。

    η=0 时,不考虑 view-specific representation 之间的一致性。

12.1.3 attention 机制

  1. 上述框架提出了一种灵活的方式让不同的视图相互协同。这里我们介绍一种基于 attention 机制,用于在投票期间学习不同视图的权重。我们提出的方法非常通用,只需要提供少量标记数据就可以为 specific-task 学习不同节点的视图权重。

    基于attention 机制,我们使用 softmax 单元来定义节点 vi 的视图 k 的权重为:

    λik=exp(zkxiC)k=1Kexp(zkxiC)

    其中:

    • xiC=(xi,11,,xi,d1,,xi,dK)RKd 为所有的 view-specific representation 的拼接向量

    • zkRKd 为视图 k 的特征向量 feature vector,用于描述哪些特征的节点认为视图 k 是信息质量较高的(informative)。

      这里 zk 是与节点无关、仅与视图相关,因此它是跨所有节点共享的。另外,这里的 λik 是权重归一化的,即使所有视图对于 vi 都是没有信息量的,权重也是非零的。

      这里使用拼接后的向量作为 query,而没有使用每个视图的 representation 向量作为 query。后者使用局部的、单个视图的 representation,前者使用全局的、所有视图的 representation

    xiCzk 较大时,则意味着节点 vi 认为视图 k 是信息量较高的,因此节点 vi 的视图 k 将分配较大的权重。

    另外,每个节点的视图权重将由其view-specific representation 的拼接向量 xiC 来决定,因此,邻近性较大的两个节点可能学到相似的 view-specific representation,因此视图权重也相似。这种性质是合理的,这使得我们能够利用 view-specific representation 中保留的邻近性更好地推断不同节点的注意力,即相似的representation 有相似的attention

  2. 一旦学到视图的权重,则可以通过 xi=k=1Kλikxik 来得到节点的 robust representation 。然后我们可以将该representation 应用于不同的预测任务,并基于部分标记数据来使用反向传播算法来自动学习投票权重。

    以节点分类任务为例,我们基于视图的特征向量 {zk}k=1K 来最小化以下目标函数:

    Oattn=viSL(xi,yi)

    其中:S 为带标签的节点集合;xi 为节点 virobust representationyi 为节点 vi 的标签;L(,)task-specific 损失函数。

    我们根据梯度下降法来求解该最优化问题,其梯度为:

    zkOattn=viS[l=1K(OattnλikOattnλil)λikλil]xi

    一旦求解出参数 {zk}k=1K 之后,所有节点(无论有标签还是无标签)的各个视图的权重 λik 就可以直接计算出来。在实验中我们证明了权重学习仅需要少量标记数据即可收敛,并还将证明该方法非常有效。

    总的目标函数为:O=k=1KOk+ηR+viSL(xi,yi) ,其中第一、二项为 Ocollab ,第三项为 Oattn  。注意,Oattn 可以乘以超参数 γ 从而平衡注意力损失函数的重要性,但是论文未使用这种方式从而直接用原始的注意力损失。

  3. 在本文中,我们研究两类预测任务:节点分类、链接预测。

    • 在节点分类任务中,目标函数定义为:

      Oattnclass=viS||wxiyi||22

      其中:yi 为标签 yione-hot 向量;w 为分类器的参数。

    • 在链接预测任务中,目标函数定义为:

      Oattnlink=(vi,vj)Scos(xi,xj)

      其中: (vi,vj) 为存在链接的节点pair 对; cos(,) 为向量的 cos 相似度。

12.1.4 优化

  1. 我们使用梯度下降法和反向传播算法来优化模型。具体地说,在每轮迭代中:

    • 我们首先从网络中采样一组边,并优化节点的 view-specific representation {xik}k=1K
    • 然后我们使用标记数据来训练视图的参数向量 {zk}k=1K ,并更新不同节点的视图投票权重 {λik}k=1K
    • 最后,基于学到的视图投票权重,我们集成节点的view-specific representation 来得到节点的 robust representation

    算法本质上是一个半监督学习,以多任务的形式进行学习:无监督地优化节点邻近性损失、监督地优化节点分类损失。训练是以交替优化无监督损失、监督损失的方式进行。

  2. MVE 算法:

    • 输入:

      • 多视图网络 G=(V,E1,E2,,EK)
      • 标记数据 S
      • 更新 view-specific representation 中采样的样本数 T
      • 负采样比例 N
    • 输出:节点的 robust representation {xi}i=1|V|

    • 算法步骤:

      迭代直到算法收敛,迭代步骤为:

      • 更新节点的 view-specific representation。 更新方式为:迭代直到本轮采样的“正边”数量大于 T 。迭代过程为:

        • 随机选择一个视图,记作视图 k
        • Ek 中随机采样一条“正边”、以及 N 条“负边”
        • 求解 xik(Ocollab+Oattn) ,根据该梯度来更新节点的 view-specific representation
        • 求解 ciOcollab ,根据该梯度来更新节点的 context representation
      • 更新顶点的投票权重。更新方式为:

        • 求解 zkOattn ,根据该梯度来更新视图的特征向量 zk
  1. MVE 算法由三个过程组成:

    • view-specific representation 学习过程:该过程根据未标记数据、标记数据分别来学习节点的 view-specific representation 。根据之前的研究,这部分的计算复杂度为 O(|E|×d×N) ,其中 |E| 为所有视图的边的总数,d 为节点representation 的维度,N 为负采样比例。
    • robust representation 学习过程:该过程根据每个节点的view-specific representation 投票得到最终的 robust representation。这部分的计算复杂度为 O(|V|×d×K) ,其中 K 为视图总数。
    • 投票权重学习过程:这部分通过注意力机制来学习每个视图的投票权重。这部分的计算复杂度为 O(|S|×d×K) ,其中 |S| 为标记样本数量。实际应用中,我们通常采样非常少的标记样本,即 |S||V|

    考虑到大多数网络有 |V||E| ,因此总的算法复杂度为 O(|E|×d×N) ,它和图中边的总数成正比。对于大多数真实世界的网络,由于边的数量通常是稀疏的,因此大多数情况下我们的方法计算效率较高。

21.2 实验

  1. 数据集:一共包含 5 个数据集,其中前三个数据集用于节点分类任务,后两个数据集用于链接预测任务。

    • DBLP:包含来自计算机科学领域论文的作者author。网络包含三种类型的视图:

      • co-authorship 视图:边的类型定义为作者之间共同发表论文的关系,边的权重为共同发表文章的数量。
      • author-citation 视图:边的类型定义为作者之间的论文引用关系,边的权重为作者 i 的论文引用作者 j 的论文的数量。
      • text-similariry 视图:边的类型定义为作者论文之间的相似度,边的权重为每个作者发表论文的标题、摘要计算得到的 TF-IDFcos 相似度,每个顶点仅保留最相似的 5 个邻居顶点的链接及其权重。

      我们选择8 个不同的研究领域作为label,包括 machine learning, computational linguistics, programming language, data mining, database, system technology, hardware, theory 。对于每个 label 我们选择该领域若干个具有代表性的会议,并且只有在这些会议中发表的论文才用于构建这三个视图。

    • Flickr 数据集:一个在线图片共享社区,用户彼此关注从而构成一个网络。用户可以为图片指定 tag ,我们将这些 tag 作为节点(用户)的属性。用于可以加入不同的组,我们将这些组作为用户的 label

      该网络包含两个视图:

      • friendship 视图:边的类型定义为用户之间的关注,边的权重为 0 (没有关注)或 1 关注。
      • tag-similarity 视图:边的类型定义为用户所有图片 tag 之间的相似性,边的权重就是 tag 之间的相似度。每个节点仅保留最相似的 100 个邻居节点的链接及其权重。
    • PPI 数据集:一个 protein-protein interaction network ,只考虑人类基因作为节点。我们根据 coexpression, cooccurrance, database, experiments, fusion, neighborhood information 构建了六个视图。Hallmark 基因组提供的基因分组视为节点的类别。

      考虑到原始的网络非常稀疏,因此我们对每个视图通过添加邻居的邻居来扩展 degree 小于 1000 的节点的邻居集合,直到扩展的邻居集合的规模达到 1000

    • Youtube 数据集:根据 Youtube 网络的用户社交数据构建的用户社交网络。我们构建了五个视图:

      • common friends 视图:边的类型定义为用户之间的共同好友,边的权重共同好友数量。
      • common subscription 视图:边的类型定义为共同订阅用户(站在subscriber的角度) ,边的权重为共同订阅用户数量。
      • common subscriber 视图:边的类型定义为共同订阅者(站在订阅用户的角度),边的权重为共同订阅者的数量。
      • common favorite video 视图:边的类型定义为共同喜爱的视频,边的权重为共同喜爱视频的数量。
      • friendship 视图:边的类型定义为是否好友关系,边的权重为 01

      我们认为 friendship 视图可以更好地反映用户之间的邻近性,因此我们使用前四个视图来训练,并预测第五个视图中的链接。

    • Twitter 数据集:根据 Twitter 网络的用户社交数据构建的用户社交网络。由于原始网络的稀疏性,我们将其视为无向图。我们根据回复reply、转发 retweet、提及 mention、好友 friendship 等关系定义了四个视图,其中前三个视图用于训练(以 PPI 数据集相同的形式重建),预测第四个视图中的链接。

  2. Baseline 模型:我们比较了两类方法:基于单视图single-view 的方法、基于多视图 multi-view 的方法。

    • LINE:一种用于单视图、可扩展的embedding 方法。我们给出了它在所有单个视图的结果中,效果最好的那一个。

    • node2vec:另一种用于单视图、可扩展的embedding 方法。我们给出了它在所有单个视图的结果中,效果最好的那一个。

    • node2vec-mergenode2vec 的一个变种。为了融合多视图,我们合并了所有视图的边从而得到一个大的视图,然后通过 node2vec 来学习该视图的 embedding

    • node2vec-concatnode2vec 的另一个变种。为了融合多视图,我们首先从每个视图学到 node embedding,然后将节点在每个视图的 embedding 拼接起来。

    • CMSC:一个 co-regularized 多视图谱聚类模型。它可以应用于我们的任务,但是无法扩展到大规模的图。

      我们使用基于质心的变体,因为其效率更高并且质心的特征向量 eigen-vector 可以视作节点的 representation

    • MultiNMF:一个多视图的非负矩阵分解模型。它可以应用于我们的任务,但是无法扩展到大规模的图。

    • MultiSPPMI:一个词向量模型,它通过分解单词的共现矩阵从而得到单词的 embedding 。这里我们通过联合分解不同视图的邻接矩阵,并在不同视图之间共享node representation ,从而利用该模型来学习node representation

    • MVE:我们提出的方法,其中使用了协同框架和注意力机制。

    • MVE-NoCollabMVE 的一个变体。我们针对不同的视图引入了不同的 context node representation,因此节点的 view-specific representation 将位于不同的语义空间中。因此在训练期间,节点的 view-specific representation 无法协同。

    • MVE-NoAttnMVE 的另一个变体。我们在投票期间为每个视图赋予相同的权重,因此没有采用注意力机制。

    注意,我们并没有比较 DeepWalk 模型,因为 DeepWalk 可以视为参数 p=1,q=1node2vec 模型的特例。

  3. 实验配置:

    • 对于除了 node2vec-concat 以外的其它所有方法,node representation 维度设置为 d=100 ;对于 node2vec-concat 方法,每个视图的representation 维度为 100,最终的维度为 100×KK 为视图的数量。
    • 对于 LINEMVE,负采样系数为 N=5 ,初始学习率为 0.025
    • 对于 node2vec ,窗口大小设为 10、随机游走序列长度为 40,超参数 p,q 根据标记数据来择优。
    • 对于 MVE,每轮迭代中的“正边”数量 T1000 万,参数 η 默认为 0.05
  4. 节点分类任务:我们将不同算法学到的node reprsentation 作为特征,并使用 Lib-Linear 软件包来训练 one-vs-rest 线性分类器。在分类器的训练过程中:

    • 对于 DBLPPPI 数据集,我们随机抽取 10% 的节点作为训练集,剩余 90% 作为测试集。
    • 对于Flickr 数据集,我们随机选择 100 个节点作为训练集,以及 10000 个节点作为测试集。

    为了学习视图权重,我们随机选择少量的标记样本来训练MVE 模型,这些标记样本不包含在测试集中,标记节点的数量参考数据集部分提供的图表。

    我们给出在测试集上的分类 Micro-F1/Macro-F1 值,每种配置随机执行10 次并报告平均结果。由于 CMSC 无法扩展到非常大的网络,因此仅报告它在 PPI 网络上的结果。

    结论:

    • 基于单视图的方法(LINEnode2vec )分类效果都比较一般。
    • node2vec-merge 通过合并不同视图的边来利用多视图信息。但是,不同视图的邻近性是无法直接比较的,简单地将它们融合在一起会破坏每个视图的网络结构。在 Flickr 数据集上,node2vec-merge 方法的效果甚至还不如基于单视图的方法。
    • node2vec-concat 通过将学到的多个视图的view-specific representatioin 进行拼接来利用多视图信息。但是,来自某些稀疏视图的representation 可能会有严重有偏 biased,这可能会破坏最终的 representation。因此,即使该方法使用了更高的维度,node2vec-concat 也不会显著优于其它的、基于单视图的方法。
    • 多视图聚类CMSC 和多视图矩阵分解(MultiNMFMultiSPPMI) 的效果都较差,因为它们无法有效地实现不同视图的协同,也无法学习不同视图的权重。
    • 我们提出的 MVE 在不使用标签信息来学习视图权重的情况下,MVE-NoAttn 超越了所有 baseline 方法。当使用注意力机制之后,MVE 可以进一步提升效果。
    • 如果 MVE 去掉了不同视图的协同(即 MVE-NoCollab ),则会观察到较差的结果。这表明我们的协同框架确实可以通过促进视图的协同来提升性能。

  5. 链接预测任务:链接预测任务旨在预测网络中最有可能形成的链接。由于节点规模巨大,因此预测全网的所有可能的链接是不现实的。因此我们为每个数据集构造一个核心节点集合,并且仅预测核心节点集合中的节点链接。

    • 对于 Youtube 数据集,核心节点集包含同时出现在所有四个视图中的所有节点,一共 7654 个节点。
    • 对于 Twitter 数据集,由于节点数量太多,我们随机采样了出现在所有三个视图中的 5000 个节点。

    对核心节点集中的每对节点,我们用它们robust representation 向量的余弦相似度来作为形成链接的概率。另外,为了获得 MVE 模型中视图的投票权重,我们从每个数据集中随机抽取 500 条边作为标记数据,这些标记数据不包含在评估数据集中。

    我们通过核心数据集的AUC 来评估不同模型的链接预测能力。由于 CMSC/MultiNMF 无法扩展到非常大的网络,因此我们仅报告 Youtube 数据集上的结果。

    结论:

    • 基于单视图的方法(node2vec/LINE )效果都比较一般。
    • node2vec-merge 通过合并不同视图的边来利用多视图信息。由于这两个数据集的不同视图具有可比性和互补性,因此 node2vec-merge 的效果得到改善。
    • node2vec-concat 通过将学到的多个视图的view-specific representatioin 进行拼接来利用多视图信息。但是某些稀疏的视图(如Twitter 数据集上的 reply 视图)可能会有严重的bias ,这可能会破坏最终的 representation
    • 多视图聚类CMSC 和多视图矩阵分解(MultiNMFMultiSPPMI) 的效果仍然都较差,因为它们无法有效地实现不同视图的协同,也无法学习不同视图的权重。
    • 我们提出的 MVE 方法让然优于所有的 baseline 方法。如果移除视图协同(MVE-NoCollab )或者移除注意力机制(MVE-NoAttn),则效果将下降。这表明我们协同框架的有效性和注意力机制的重要性。

  6. 数据稀疏性:这里我们检查 MVE 是否对稀疏数据也是鲁棒的。具体而言,我们研究MVE 在不同degree 节点上的性能,这对应于不同级别的数据稀疏性。每个节点的 degree 是所有视图的 degree 的总和。根据节点的 degree,我们将 DBLP 数据集的所有节点划分为 10 个不同的分组、将 Youtube 数据集中所有节点划分为 5 个不同的分组。

    我们比较了 MVE, node2vec-mergeMVE-NoCollab 在不同分组上的性能,效果如下图所示。图中组id 越小则节点 degree 越大,组 id 越大则节点 degree 越小。因此越靠近右侧,数据越稀疏。

    结论如下:

    • 对于 BDLP 数据集,这三个模型在左侧的分组上效果均不理想。这是因为很多 degree 非常高的节点属于多个研究领域,因此难以正确分类。

      在右侧的分组中,node2vec-mergeMVE-NoCollab 的性能仍然很差,但是 MVE 明显优于它们。

    • 对于 Youtube 数据集,也观察到类似的结果。这三个模型在左侧的分组上效果均不理想,但是在右侧的分组中 MVE 的效果优于 node2vec-mergeMVE-NoCollab

    总之,MVE 在更稀疏的节点上取得了更好的效果,并且始终优于 MVE-NoCollabnode2vec-merge 。这表明我们的方法可以有效解决数据稀疏性问题,并帮助学到更鲁棒的node representation

  7. 参数 η 的敏感性:在我们的协同框架中,参数 η 将控制正则项项的系数。该系数平衡了 view-specific representation 保留的邻近性与 view-specific representation 的一致性。我们在节点分类任务和链接预测任务上比较了 MVE 随着不同 η 上的性能。

    结论:

    • η=0 时,MVE 效果较差,因为不同视图无法通过正则化来彼此交流信息。
    • η>0 并逐渐提高时,MVE 效果持续改善。
    • η(0.025,0.1) 时,MVE 的效果比较稳定。
    • η>0.1 并逐渐增加时,MVE 效果持续下降。这是因为更大的 η 倾向于使得不同的 view-specific representation 趋同,从而忽略了视图之间的差异。

  8. 标记数据规模的敏感性:为了学习不同节点的视图投票权重,我们的框架需要一些标记数据。这里我们考察不同规模的标记数据对于效果的影响。我们观察随着标记数据规模的变化, MVEMVE-NoAttn 的性能。

    结论:

    • 通过利用标记数据来学习视图的投票权重,MVE 始终超越了其变体 MVE-NoAttn
    • 在这两个数据集上,MVE 只需要很少的标记数据就可以使得预测性能收敛,这证明了我们基于注意力机制来学习投票权重的有效性。

  9. 效率:我们在 DBLPTwitter 数据集上对比 MVEnode2vec/LINE/MVE-NoAttn 的训练时间。

    结论:

    • MVELINE/node2vec 的运行时间都很接近。
    • 在拥有超过 30 万顶点、1 亿边的 Twitter 数据集上,MVE 训练过程不超过 15 分钟,非常高效。
    • 对比 MVEMVE-NoAttn 的训练时间,我们观察到 MVE 的权重学习过程在这两个数据集上花费的时间不到总训练时间的 15%。这证明了我们基于注意力的权重学习方法具有很高的效率。

  10. 注意力权重分析:我们考察MVE 学到的注意力,以及这些注意力为什么能够改善性能。

    首先我们研究哪些视图会得到更高的注意力。我们以 DBLPYoutube 数据集为例。对每个视图,我们报告单独使用view-specific representation 进行分类/链接预测的结果,以及每个视图所有节点的平均注意力得分。

    结论:单个视图的性能和它们分配的平均注意力正相关。即:我们的方法使每个节点关注于效果最好的视图。

    然后,我们比较不同label 中节点的注意力,从而在更细粒度进一步研究学到的注意力。我们以 DBLP 数据集为例,并研究四种label 中的节点,包括 hardware (HW), programming language (PL), data mining (DM) and machine learning (ML) 。对每种 label,我们计算属于该label 的节点各视图平均分配的权重,并报告与其它label 的节点各视图平均分配的权重的比值,以便了解哪些视图对于各label 而言效果最好。

    结论:

    • HW/PL 领域的节点而言,它们对 citation 视图的关注相对更多。
    • DM/ML 邻域的节点而言,它们对 co-author 视图的关注相对更多。

    这是因为我们的节点分类任务旨在预测不同作者的研究领域。为了提高预测的准确性,我们的注意力机制需要让节点关注于最能够与其它领域作者区分开的视图。

    • 对于 HWPL 领域作者而言,与其它领域节点(每个节点就是一位作者)相比,这两个领域的作者可能会引用非常不同的论文,因此论文引用视图对它们的区分度最大。因此,HW/PL 领域的节点对 citation 视图的注意力更大。
    • 对于 DM/ML 领域作者而言,他们更可能使用相似的术语并引用相似的论文,因此文本相似度视图、引文视图都无法将这些领域区分开来。因此,这些领域的节点很少关注文本相似性视图和引文视图,而更多地关注 co-author 视图。

    总之,通过注意力机制学到的视图权重非常直观:迫使每个节点专注于信息量最高的视图。

  11. case 研究:最后我们提供一些case 来展示 view-specific representationrobust representation 之间的差异。我们以 DBLP 数据集为例。 给定一个作者作为 query,我们根据不同的 embedding 找出最相似的作者,相似度通过embedding 向量的余弦相似度来衡量。

    结论:view-specific representation 可以很好地保留各个视图的结构邻近性,而 robust representation 则利用了来自所有不同视图的信息。

二十二、PMNE[2017]

  1. 随着大数据的兴起(尤其是社交网络),图挖掘已经成为分析对象之间的多样化关系、理解底层图的复杂结构的必要条件。分析如此复杂的系统对于了解社交网络的形成方式、或者预测未来的网络行为至关重要。

    然而,图挖掘对网络的拓扑结构topological structure 非常敏感。例如,在社交网络分析中,图挖掘可以利用拓扑信息来识别网络中的社区,但是无法确定拓扑是否包含噪声(或其它错误)。避免这种情况的一种方法是使用多层网络multilayer network 。多层网络是描述节点之间多种关系的一组网络,其中每个网络(一个网络代表一层 )代表一种特定类型的关系。

    多层网络也就是多视图网络。

    AUCS 数据集为例。多个层代表大学院系 61 名员工之间的五种不同关系类型:共同工作、共进午餐、facebook好友、共度闲暇时光、共著学术论文。下图显示了这些不同层之间的距离(根据论文 《Structural reducibility of multilayer networks》 的方法),其中层之间的距离是包含双方的最小子树的根节点的 distance value 。从下图中,我们观察到一些关键的交互:例如,我们观察到 “共同工作”、“共进午餐” 密切相关,因为它们具有较小的 layer distance ;而 “共度闲暇时光” 和 “facebook好友” 也是密切相关的。一般而言,我们认为,多层网络通过考虑多种关系类型从而固有地反映了节点之间的基本交互 essential interaction ,并且对任何单个关系类型中的噪音都具有鲁棒性。

    如今,多层网络上的图挖掘方法通常集中在不同的网络粒度,具体取决于任务。例如:

    • 在节点粒度/边粒度上,《Multiplex networks and interest group influence reputation: An exponential random graph model》《Conditions for viral influence spreading through multiplex correlated social networks》 专注于开发合适的中心性 centrality 指标,例如多层网络的 cross-layer degree 中心性。

      《Individual neighbourhood exploration in complex multi-layered social network》《A method for group extraction in complex social networks》 提出了多层局部聚类系数 multilayered local clustering coefficient: MLCC 和跨层聚类系数 cross-layer clustering coefficient: CLCC 来描述多层网络中节点的聚类系数。

    • 相比之下,cluster 级别通常用于社区检测,而 layer 级别通常用于分析不同层类型之间的交互。

    在论文 《Principled Multilayer Network Embedding》中,作者尝试通过结合所有粒度级别的分析,提出三种新颖的、多层网络的图挖掘方法。作者通过将多层网络的节点嵌入到向量空间来实现这一点。这个向量空间可以被解释为多层网络的隐式度量空间metric space ,它自然地定义了节点之间的相似性概念,并捕获了原始多层网络的多个方面,最终促进了基于向量的 representation 来解决一系列任务。

    在标准的网络分析中,人们已经开发了许多这样的 network embedding 方法,如 DeepWalk, LINE, node2vec。这些方法都基于在输入图上生成随机游走的样本,随机游走的方式因方法而异。然而,这些方法是建立在单个图之上的,据作者所知,多层网络的 graph embedding 方法尚未得到严格的探索。因此,作者提出了一个通用的多层网络 embedding 框架,该框架适用于为单层网络开发的任何 graph embedding 方法。具体而言,作者介绍了将 graph embedding 扩展到多层网络的三种方法,即:网络聚合Network Aggregation、结果聚合Results Aggregation、网络协同Network Co-analysis

    • 网络聚合:该方法的假设是来自不同层的所有边都是等价的。基于该假设,该方法将所有网络聚合为单个网络(如果不允许节点之间存在多条边,则聚合后为加权网络),然后应用现有的 graph embedding 算法来分析合并的图。注意,这个合并的图不再区分关系类型。
    • 结果聚合:该方法的假设是不同的层有完全不同的边,这意味着即使两个节点在不同的层中都有边,那么这些边是完全不同的、无法合并的。基于这个假设,该方法将 graph embedding 方法分别应用于每一层,然后将向量空间合并在一起从而定义多层网络的向量空间。
    • 网络协同:与前两种方法仅考虑 inter-layer 边(network aggregation)或 intra-layer 边(results aggregation )不同,该方法利用不同层之间的交互来允许层之间的遍历,并保留每个层的结构。具体而言,论文引入了一种能够跨层遍历的、新的随机游走方法,从而编码节点和层之间的重要交互。

    多层网络中的随机游走方法是单层 embedding 方法的通用扩展。例如,node2vecDeepWalk 都是state-of-the-art 的单层 graph embedding 方法。就像 node2vecDeepWalk 添加了控制随机游走的同质性homophily 和结构等价性structural equivalence 的能力,论文使得随机游走能够遍历多个层。具体而言,论文添加 r[0,1] 参数来控制随机游走的下一步将在多层网络中跨层遍历的概率。

    论文没多大价值,典型的 ”水“ 文。

  2. 相关工作:这里我们回顾了标准的 network embedding 的相关工作,即为单层网络提出的 embedding 方法。

    随着无监督 feature learning 技术的发展,深度学习方法通过神经语言模型在自然语言处理任务中被证明是成功的。这些模型通过将 word 嵌入为向量来捕获人类语言的语义结构semantic structure 和语法结构 syntactic structure ,甚至是捕获逻辑类比logical analogy 。由于图可以被解释为一种语言(通过将随机游走视为等价的 sentence ),DeepWalk 将此类方法引入网络分析,从而允许将网络节点投影到向量空间中。为了解决这类方法在应用于现实世界信息网络(通常包含数百万个节点)时的可扩展性问题,人们开发了 LINELINEDeepWalk 的均匀随机游走扩展为一阶加权随机游走或二阶加权随机游走,从而可以在几个小时内将具有数百万节点、数十亿条边的网络投影到向量空间中。

    但是,这两种方法都有局限性。由于 DeepWalk 使用均匀随机游走进行搜索,因此它无法控制所探索的邻域。相比之下,LINE 提出了一种广度优先策略来采样节点,并在一阶邻域和二阶邻域上独立地优化似然性 likelihood ,但是它无法灵活地探索更深的节点。为了解决这两个限制,node2vec 提供了一种灵活的、可控的策略,通过参数 pq 来探索网络邻域。从实践的角度来看,node2vec 具有可扩展性,并且对扰动具有鲁棒性。

    当然,这些方法都无法处理多层网络的 layer 之间的随机游走。因此,我们的网络协同方法是已有工作在随机游走能力方面的自然扩展。

22.1 模型

  1. 给定多层网络 G=(V,L,A),其中 V 为顶点集合,Llayer 集合,A 为边的集合。

    其中 A{(x,y,l)x,yV,lL} 。如果顶点 (x,y)layer l 存在边,则记作 ax,yl=1

    多层网络嵌入任务是学习一个映射函数 f:VRd,该函数将多层网络的顶点映射到低维向量空间,并在低维空间中保留顶点的结构信息。其中 d 为低维向量空间的维度。

    我们提出了多层网络嵌入的三种架构如下图所示:

    这篇论文是典型的 ”水”文,每什么价值。

22.1.1 网络聚合

  1. 网络聚合network aggregation 方法将多层网络的多个layer 合并成单层网络,然后将常规的 node2vec 应用于合并后的单层网络。该方法的关键在于网络聚合函数:g:G(V,L,A)G(V,E) 。该函数将多层网络聚合成单层网络,其中 G 为一个单层网络,它和 G 共享所有的节点、但是聚合了 G 中所有层的边:

    E={(i,j)lLai,jl1}

    注意:这种方式将所有的层组合在一起,从而失去了每一层的细节信息,并且在学习映射 f 时也无法利用层之间的交互信息。

  2. 多层网络嵌入之网络聚合算法:

    • 输入:

      • 多层网络 G(V,L,A)
      • node2vec 的超参数
    • 输出:顶点的 embedding

    • 算法步骤:

      • 初始化 G=(V,E=Φ)

      • 网络聚合:

        • 遍历每一对节点 (i,j)V

          遍历每一层 lL ,如果 ai,jl=1,则添加边到 E 中:E=E(i,j)

      • G 上执行 node2vec 并返回每个节点的 embedding

22.1.2 结果聚合

  1. 结果聚合results aggregation方法将多层网络中的每一层视为一个独立的网络 Gl=(V,El),其中 GlG 共享所有节点,但是 El 仅包含 G 中第 l 层的边:

    El={(i,j)ai,jl=1}

    我们独立地学习每个网络 Gl 中的节点 embedding,然后将节点在所有层的 embedding 拼接起来作为该节点的最终embedding 。这种方法可以保持每一层的网络结构,但是无法利用层之间的交互信息。

  2. 多层网络嵌入之结果聚合算法:

    • 输入:

      • 多层网络 G(V,L,A)
      • node2vec 的超参数
    • 输出:节点的 embedding

    • 算法步骤:

      • 遍历每一层 lL

        • 初始化 Gl=(V,El=Φ)
        • 遍历 (i,j)V,如果 ai,jl=1 则添加边到 El 中:El=El(i,j)
        • Gl 上执行 node2vec 得到顶点在第 l 层的 embedding
      • 拼接节点在所有层的 embedding,得到节点的最终 embedding

22.1.3 网络协同

  1. 为了克服网络聚合、结果聚合都无法利用层间交互的缺陷,我们采用网络协同layer co-analysis 来构建顶点embedding,该方法可以识别各层之间的交互,并保留各层的结构。

  2. 考虑下图所示的多层网络随机游走,其中黑色点线代表每层顶点之间的对应关系,黑色粗线代表网络中的边。

    • 如果在图 (a) 中使用结果聚合,则节点 A 到节点 C 没有路径,因为结果聚合无法在层之间遍历。因此该方法无法学到节点 AC 的关联。
    • 如果在图 (b) 中使用网络聚合,则会忽略节点 AB 之间的多条边(由红色粗线表示)。

    这使得我们我们寻求一种方法,该方法可以遍历从 AC 的跨层路径(图 (a) 的红色虚线表示),并可以保留多条边隐含的信息。

  3. node2vecDeepWalk 基础上引入了参数 pq 来控制随机游走的局部 bias 和全局 bias,我们在 node2vec 基础上再引入参数 r 来控制多层网络中的跨层遍历。

    i|L| 为节点 i 在多层网络中存在链接的层的数量(去重),即:

    i|L|=l=1|L|I((i,j,l)Eai,jl1)

    其中 I() 为示性函数。

    我们引入参数为 p,q,r 的二阶随机游走。假设第 ti1 步随机游走在第 l 层、从节点 z 游走到节点 x 。现在位于第 l 层的节点 x 需要决定下一步的顶点 y

    • 如果当前节点 x 仅在层 l 上存在边(即 x|L|=1 ),则我们使用 node2vec 在层 l 内的随机游走:

      p(ti=(x,y,l)ti1=(z,x,l))ap,q(z,y,l)

      其中 ap,q(z,y,l)node2vec 针对多层网络的修改:

      ap,q(z,y,l)={1p,dz,yl=01,dz,yl=11q,dz,yl=2

      其中 dz,yl 表示在层 l 中节点 zy 的最短路径(以节点数量来衡量)。注意:y 有可能和 z 是相同的顶节。

    • 如果当前节点 x 在多个层上都存在边,则随机游走序列留在当前 l 层的概率为 r 、游走到第 l 层的概率为 (1r)

      p(ti=(x,y,l)ti1=(z,x,l)){ap,q(z,y,l)×r,l=lap,q(z,y,l)x|L|1×(1r),else

    本文仅考虑二元边,也可以通过将遍历边的概率乘以归一化的边权重从而推广到加权的多层网络。

    另外,我们将在未来探索如何通过分析多层网络的层距离来自动学习 r ,当前我们仅将其视为一个超参数。

  4. 多层网络嵌入之网络协同算法:

    • 输入:

      • 多层网络 G(V,L,A)
      • 随机游走序列数量 N
      • 每条游走序列长度 M
      • 超参数 p,q,r
    • 输出:节点的 embedding

    • 算法步骤:

      • 初始化游走路径集合 W=ϕ

      • 迭代直到生成 N 条随机游走序列。对第 n 条随机游走序列:

        • 随机选择一条边作为序列的起始边:(i,j,l)(i0,j0,l0),其中 j 为当前节点、l 为当前层、i 为序列中的前一个节点

        • 迭代直到第 n 条随机游走序列的长度为 M

          • 以概率 r 选择留在当前层、或者均匀随机地选择其它层作为 next_layer
          • 以概率 Error: '_' allowed only in math mode 选择next_layer 中的下一个节点
          • Error: '_' allowed only in math mode
      • 对随机游走路径集合 W 执行node2vecSGD(基于 node2vec 对数似然目标函数的随机梯度下降)。

  5. 超参数 r 衡量了是留在同一层重要、还是跨层交互重要。

    • r0 时随机游走总是跨层,因此算法认为跨层交互重要。
    • r1 时随机游走总数留在同一层(也就是初始化的层),因此算法认为留在同一层重要。

22.2 实验

  1. 数据集:

    • AUCS 数据集:数据集为一个多层网络,代表大学部门的 61 位员工之间的五种不同关系:coworking, having lunch together, facebook friendship, onine friendship(having fun together), coauthorship

    • Terrorist 数据集:数据集为一个多层网络,代表恐怖分子之间的不同关系:communication, financial, operation, trust

    • Student 数据集:数据集为一个多层网络,代表 Ben-Gurion University185 名学生之间的不同关系: Computer Network(学生在同一台机器上完成论文)、Partner’s Networt(学生共同完成论文)、Time Network(学生在同一时间提交论文)。

    • Vickers Chan 数据集VC:数据集为一个多层网络,代表七年级学生社交的不同互动关系:你在班上和谁打交道、谁是你班上最好的朋友、你最想和谁一起玩。

    • Leskovec-Ng collaboration 数据集LN:数据集为一个多层网络,代表从 19952014 不同年代 Jure LeskovecAndrew Ng 的共同著作网络。我们将 coauthorship 网络按照 5 年一个layer,最终得到四层网络。在每层网络中,如果和这两个作者任意一个至少由一篇共同著作,则存在一条边。

      根据协作的频次,每位学者被标记为 Leskovec 的协作者、或者 Ng 的协作者。

  2. 我们在这些多层网络数据集上执行链接预测任务,从而比较不同方法在链接预测任务上的性能。

    我们将边 E 划分为训练集 ET 和测试集 EP,其中 E=ETEPETEP=Φ 。这里我们选择 10% 的边作为测试集。

    我们使用我们的embedding 方法在训练集 ET 上训练得到顶点 embedding,然后计算 EP 中节点对的距离,并将这些距离升序排列。我们将排序的顶点对中的前 10% 预测为存在边,并将预测结果和 EP 中的真实结果进行比较。评估指标为准确率和 F1 得分:

    • 准确率 accacc=C|EP| ,其中 C 表示 EP 中预测正确的边的数量。

      这个指标其实是召回率指标,而不是准确率。

    • F1 得分为 F1=1|L|l=1LF1l ,其中 F1l 为第 l 层链接预估的 precisionrecall 的调和均值。

      这个指标预估每个层的边。

    我们的方法中,超参数设置为:p=q=r=0.5、每个顶点开始的随机游走序列数量为 10、每条随机游走序列的长度为 80

  3. baseline 模型:我们在融合的网络中引入两个著名的链接预测算法:

    • Common Neighbor SimilarityCNx,y=|Γ(x)Γ(y)| 。其中 Γ(x) 表示融合图中顶点 x 的邻居集合。
    • Jaccard SimilarityJaccardx,y=|Γ(x)Γ(y)||Γ(x)Γ(y)|

    这两种方法也是选择相似度最大的 top 10% 来预测存在边。

    baseline 没有 graph embedding 方法,垃圾。数据集太拉胯。

  4. 不同方法在不同数据集上的评估结果如下表所示。可以看到,除了 LN 数据集以外,我们的方法可以实现更高的准确率和 F1 得分。

  5. 不同数据集中各层之间的距离如下所示:

  6. 我们使用下图来给出三个多层网络每一层和相应的融合层的结构。由于 VC 数据集和 LN 数据集带有标签信息,因此我们使用不同的形状和颜色来展示不同标签的顶点。

    • Terrorists 数据集中,多层网络显式了恐怖分子如何协作。显然,不同层之间的作用影响很大。这意味着如果我们需要预测两个顶点之间的链接,则需要考虑这两个顶点在不同层之间的交互。以图 (a) 为例,尽管 financial 层的顶点很少,但是四层之间的交互作用很强,而网络协同可以通过不同层的随机游走来恢复必要的信息。

      对于 AUCS/Students 数据集,也是类似的结果。

    • VC 数据集中,不同question 代表不同的关系,因此不同层之间的作用影响较弱。比如,“你在班上和谁打交道” (Q1 )并不意味着你和她/他就是好朋友关系 (Q2 )。由于第一个问题过于笼统,导致产生大量的噪音,因此无法指示这些顶点之间的真实关系。

      如果我们将这些层合并,或者更多地关注层交互上,那么网络聚合和网络协同都无法揭示真实的信息,反而会引入更多噪音。

    • LN 数据集中,不同时间区间的layer 没有任何交互。如,第一层没有蓝色顶点、第二层和第三层中两个簇自行扩展。这表明以下事实:层之间的交互作用并不是对应层中形成拓扑结构的关键。而且,各层之间的间隔为 5 年,因此层内的噪音使得我们的方法效果较差。

      相反,原始 Jaccard 方法最好,因为它仅关心两个顶点的平均共享邻居数量,这种方法受噪音影响最小。

二十三、ANRL[2018]

  1. 网络是对现实世界中复杂系统进行探索和建模的通用数据结构,包括社交网络、学术网络、万维网等等。在大数据时代,网络已经成为一个重要媒介,用于有效地存储、访问交互实体的关系知识relational knowledge 。在网络中挖掘知识已经引起了学术界和工业界的持续关注,例如在线广告 targeting 、推荐系统。大多数的这些任务都需要精心设计的模型,并且需要大量专家努力进行特征工程,而 representation learning 是自动化的 feature representation 方案。采用 representation learning 之后,可以通过在低维向量空间中学习从而极大地提升网络中的知识挖掘任务,如聚类、链接预测、分类等任务。

    network representation learning 中的相关工作可以追溯到基于图的降维方法,例如局部线性嵌入 Locally Linear Embedding: LLELaplacian Eigenmap: LELLELE 都通过构建最近邻图nearest neighbor graph 来维护数据空间中的局部结构local structure 。为了使相互连接的节点在 representation 空间中彼此更接近,人们计算亲和图 affinity graph 的相应 eigenvector 作为节点的 representation。这些方法的一个主要问题是:由于计算 eigenvector 的计算复杂度太高,它们很难扩展到大型网络。

    受到 word2vec 模型最近成功的启发,人们已经提出了许多基于网络结构的 representation learning 方法,并在各种 application 中显示出良好的性能。然而,节点属性信息没有受到太多关注,实际上这些节点属性信息可能在许多 application 中发挥重要作用。我们经常在现实世界的网络中观察到带各种属性的节点,这种网络被称作属性信息网络 attributed information network 。例如,在 Facebook 社交网络中,用户节点通常关联了个性化的用户画像,包括年龄、性别、教育、以及发帖内容。最近的一些努力通过整合网络拓扑信息和节点属性信息来探索属性信息网络,从而学到更好的 representation

    属性信息网络中的 representation learning 仍然处于早期阶段,能力相当有限,原因是:

    • 网络拓扑和节点属性是两个异质的信息源,因此很难在公共向量空间中保存它们的属性。
    • 观察到的网络数据往往是不完整attributed information network 的,甚至是噪音noisy 的,这使得更加难以获取有信息量的 representation

    为了解决上述挑战,论文 《ANRL: Attributed Network Representation Learning via Deep Neural Networks》提出了一个统一的框架,称作 ANRL。该框架通过联合地集成网络结构信息和节点属性信息来学习属性信息网络中的、鲁棒的 representation。更具体而言,论文利用深度神经网络的强大表达能力来捕获两个信息源的、复杂的相关性,这两个信息源由邻域增强自编码器neighbor enhancement autoencoder 、以及属性感知attribute-awareSkipGram 模型组成。总而言之,论文的主要贡献如下:

    • 论文提出了一个统一的框架 ANRL,它将网络结构邻近性proximity 和节点属性亲和性affinity 无缝集成到低维 representation 空间中。更具体而言,论文设计了一个邻域增强自编码器,它可以在 representation 空间中更好地保持数据样本之间的相似性。论文还提出了一个属性感知的 SkipGram 模型来捕获结构相关性。这两个组件与一个共享的编码器相连,其中这个共享编码器捕获了节点属性信息以及网络结构信息。
    • 论文通过两个任务(链接预测任务、节点分类任务)对六个数据集进行了广泛的实验,并通过实验证明了所提出模型的有效性。
  2. 相关工作:一些早期的工作和其它谱方法 spectral method 旨在保留数据的局部几何结构,并在低维空间表达数据。这些方法是降维技术的一部分,可以被视为 graph embedding 的先驱。

    最近,network representation learning 在网络分析中越来越受欢迎。network representation learning 专注于嵌入当前的网络而不是构建亲和图 affinity graph 。其中:

    • DeepWalk 执行截断的随机游走从而生成节点序列,并将节点序列视为 sentence 并输入到 SkipGram 模型从而学习 representation
    • Node2vec 通过采用广度优先 breadth-first: BFS 和深度优先 depth-first: DFS 的图搜索策略来探索不同的邻域,从而扩展了 DeepWalk
    • LINE 不是执行随机游走,而是优化一阶邻近性和二阶邻近性。
    • GraRep 提出为 graph representation 捕获 k 阶关系信息 relational information
    • SDNE 将图结构整合到深度自编码器deep autoencoder 中,从而保持高度非线性的一阶邻近性和二阶邻近性。

    属性信息网络在许多领域中无处不在。通过同时使用网络结构信息和节点属性信息来实现更好的 representation ,这是很有前景的。一些现有的算法已经研究了将这两个信息源联合地嵌入到一个统一空间中的可能性。例如:

    • TADWDeepWalk 和相关的文本特征整合到矩阵分解框架中。
    • PTE 利用 label 信息和不同 level 的单词共现信息来生成 predictive text representation
    • TriDNR 使用来自三方的信息(包括节点结构、节点内容、节点 label)来联合学习 node representation

    尽管上述方法确实将节点属性信息融合到 representation 中,但它们是专门为文本数据设计的,不适用于许多其他类型的特征(如连续数值特征)。

    最近,人们已经提出了几种特征类型无关的 representation learning 算法,以通过无监督或半监督的方式进一步提高性能。这些算法可以处理各种特征类型,并捕获结构邻近性structural proximity 以及属性亲和性attribute affinity

    • AANE 是一种分布式 embedding 方法,它通过分解属性亲和矩阵,并使用 network lasso 正则化来惩罚互相连接的节点之间的 embedding difference,从而联合地学习 node representation
    • Planetoid 同时开发了 transductive 方法和 inductive 方法来联合预测图中的 class label 和邻域上下文。
    • SNE 通过利用端到端神经网络模型来捕获网络结构信息和节点属性信息之间复杂的相互关系,从而生成 embedding
    • 另一个半监督学习框架 SEANO 采用输入样本属性、以及它平均邻域属性聚合的方式,从而缓解异常值在 representation leraning 过程中的负面影响。

    也有一些工作在探索异质信息网络中的 representation learning

    • metapath2vec 利用基于 metapath 的随机游走来生成异质节点序列,并采用异质 SkipGram 模型来学习 node representation
    • 《Attributed network embedding for learning in a dynamic environment》 提出了一种模型,该模型可以在动态环境而不是静态网络中处理 representation learning
    • 《Attributed signed network embedding》 研究了有符号信息网络中的 representation learning 问题。

    我们将这些可能的扩展保留为未来的工作。

23.1 模型

  1. G=(V,E,X) 为一个属性信息网络,其中 V={v1,,vn} 为节点集合,E={ei,j} 为边的集合。XRn×m 为节点的属性集合,xiRmX 的第 i 行,表示节点 vi 的特征向量。

    属性信息网络的 representation learning 任务的目标是:学习一个映射函数 f:viyiRd ,其中 dn ,它将每个节点 vi 映射到一个低维向量 yi ,并在映射过程中保持网络结构邻近性 network structure proximity、节点属性邻近关系node attribute proximity

23.1.1 邻域增强自编码器

  1. 为了编码节点的属性信息,我们设计了一个邻域增强自编码器模型。该自编码器由编码器和解码器组成,旨在重建目标节点的邻域而不是目标节点本身。值得注意的是,当我们的目标邻域是输入节点本身时,该自编码器退化为传统的自编码器。

    具体而言,对于节点 vi 假设属性特征向量为 xi。假设目标邻域 target neighbor 的聚合函数为 T() 。由于自编码器只能重建一个变量,无法重建所有邻居,因此这里采用聚合函数来聚合目标节点的邻域,并重建聚合后的结果。

    定义每一层的隐向量为:

    yi(1)=σ(W(1)xi+b(1))yi(k)=σ(W(k)yi(k1)+b(k)),k=2,,K

    其中:K 为编码器和解码器的层数,σ() 为激活函数(如 ReLU),W(k),b(k) 为第 k 层的模型参数。

    我们的目标是最小化自编码器的损失:

    Lae=i=1nx^iT(vi)22

    其中: x^i 为解码器的重建输出,T(vi) 为节点 vi 的目标邻域。

    函数 T() 定义了目标节点的邻域的聚合方式,可以采用以下形式:

    • 邻域加权平均 Weighted Average Neighbor

      T(vi)=1|N(i)|jN(i)wi,jxj

      其中: N(i) 为节点 vi 的邻域节点集合, wi,j 为节点 vivj 的边的权重。对于无权图,则 wi,j=1

    • 邻域的逐元素中位数 Elementwise Median Neighbor

      T(vi)=x~i=(x~1,,x~m)

      其中 x~k 为所有邻域节点的特征向量在第 k 维的中位数(带权重):

      x~k=median(wi,1×x1,k,,wi,|N(i)|×x|N(i)|,k)

      中位数指的是排序之后位于正中间的那个数。

  2. 与传统的自编码器相比,我们的邻域增强自编码器在保持节点之间的邻近性方面效果更好。因为邻域增强自编码器迫使节点重建相似的目标邻域,从而使得位置相近的节点具有相似的representation。因此,它捕获了节点属性信息和局部网络结构信息。

    另外,重建的目标综合了多个邻域节点的信息,这比传统的重建单个节点(目标节点自身)更为鲁棒。因为单个节点的波动更大。

    最后,我们提出的邻域增强自编码器是一个通用框架,可用于各种自编码器的变体,如降噪自编码器、变分自编码器。

23.1.2 属性感知 SkipGram 模型

  1. 属性感知SkipGram 模型将属性信息融合到 SkipGram 模型。具体而言,在SkipGram 的目标函数中为随机游走上下文提供当前节点的属性信息:

    Lsg=i=1nvjCilogp(vjxi)

    其中:

    • vj 为随机游走序列中当前节点 vi 的上下文。 Ci 为当前节点 vi 的上下文集合。

    • p(vjxi) 为给定当前节点 vi 及其节点属性的条件下,上下文节点为 vj 的概率。我们定义该条件概率为:

      p(vjxi)=exp(cjf(xi))j=1nexp(cjf(xi))

      其中:

      • xi 为节点 vi 的属性信息。
      • f() 为任意的属性编码器,如针对图片数据的 CNN 编码器、针对序列数据的 RNN 编码器。这里我们使用邻域增强自编码器(见小面的小节)。
      • cj 为节点 vj 作为上下文时的上下文representation

      因此,p(vjxi) 不仅对节点属性进行建模,还对网络结构进行建模。

  2. 直接优化 p(vjxi) 的计算代价太大,因为分母需要对所有节点进行求和。同样地,我们使用负采样技巧:

    Lsg=i=1nvjCi{logσ(cjf(xi))+s=1SEjPn(v)[logσ(cjf(xi))]}

    其中:

    • σ(x)=1/(1+exp(x))sigmoid 函数。
    • S 为每个正样本的负采样数量。
    • Pn(v) 为负采样的概率分布。这里我们使用 Pn(v)dv3/4 ,其中 dv 为节点 vdegree

23.1.3 ANRL 模型

  1. ARNL 模型同时利用了网络结构和节点属性信息。如下图所示,ANRL 模型由两个耦合的模块组成:邻域增强自编码器模块、属性感知SkipGram 模块。

    编码器将输入的属性信息映射到低维向量空间,并扩展出两路输出:

    • 左路输出为邻域增强自编码器的解码器部分。
    • 右路输出用于预测属性感知SkipGram 的节点上下文。

    邻域增强自编码器、属性感知 SkipGram 共享网络的前几层(编码器部分),因此这两个模块相互耦合。通过这种方式,ARNL 学到的节点 virepresentation yi(K) 同时捕获了节点属性信息、网络结构信息。

    ANRL 可以视为多任务模型,包括:基于邻域增强自编码器的邻域属性重建任务、基于属性感知 SkipGram 的上下文预测任务。二者共享节点的 representation

  2. ANRL 模型通过联合学习邻域增强自编码器模块、属性感知SkipGram 模块两个模块,其目标函数为:

    L=Lsg+αLae+βLreg=i=1nvjCi{logσ(cjzi)+s=1SEjPn(v)[logσ(cjzi)]}+αi=1nx^iT(vi)22+β2k=1K(W(k)F2+W^(k)F2)

    其中:

    • α,β 分别为邻域增强自编码器模块、正则化的权重。
    • Ci 为节点 vi 随机游走的上下文节点集合,cj 为节点 vj 作为上下文时的上下文representation
    • yi 为编码器模块的输出,即 f(xi)=yi=yi(K)
    • W(k)W^(k) 分别表示第 k 层编码器和第 k 层解码器的权重矩阵。

    通过这种方式,ANRL 将节点属性、局部网络结构、全局网络结构保留在一个统一的框架中。

    通过邻域增强自编码器模块捕获网络局部结构信息,通过属性感知的 SkipGram 模块捕获网络全局结构信息,通过这两个模块同时捕获节点属性信息。

    值得注意的是:属性感知的 SkipGram 模块的函数 f() 正是自编码器模块的编码器部分,它将节点属性信息转换为 representation yi(K)。因此,网络结构信息和节点属性信息将共同影响 yi(K)

    此外,为简单起见,我们使用单个非线性层来捕获图的上下文信息,并可以轻松地扩展到多个非线性层。

  3. 我们使用随机梯度算法来优化 L。我们迭代优化这两个耦合的模块,直到模型收敛。

  4. ANRL 训练算法:

    • 输入:

      • 属性信息网络 G=(V,E,X)
      • 每个节点开始的随机游走序列数量 γ
      • 随机游走序列长度 t
      • 上下文窗口大小 b
      • embedding 维度 d
      • 损失函数平衡系数 α,β
    • 输出:节点的representation 矩阵 YR|V|×d

    • 算法步骤:

      • 对每个节点执行 γ 次随机游走,游走序列长度为 t

      • 从随机游走序列中构建每个节点的上下文集合 C

      • 根据函数 T() 构建每个节点的目标邻域。

      • 随机初始化所有的参数 Θ

      • 迭代直到模型收敛,迭代步骤为:

        • 随机采样一个mini-batch 的节点及其上下文。
        • 计算梯度 ΘLae ,并更新自编码器模块的参数。
        • 计算梯度 ΘLsg,并更新 SkipGram 模块的参数。
      • 返回 Y=Y(K) 作为节点的embedding 矩阵。

23.2 实验

  1. 数据集:

    • 社交网络数据集:FacebookUNC 数据集是两个典型的社交网络数据集,节点代表用户,边代表用户的好友关系。

    • 引文网络数据集:CiteseerPubmed 是典型的引文网络数据集,节点代表论文或出版物,边代表它们之间的引用关系。

      • Citeseer 中的论文分为六种类别:Agents,AI,DB,IR,ML,HCI
      • Pubmed 中的论文分别三种类别:Diabetes Mellitus ExperimentalDiabetes Mellitus Type 1I型糖尿病)、Diabetes Mellitus Type 2II 型糖尿病)。
    • 用户行为网络数据集: UniIDFraud Detection 是阿里巴巴提供的两个真实的用户行为数据集。

      • UniID 网络中的节点表示物理设备的ID,边表示在同一个用户的行为记录中观察到两个ID 同时出现。

      • Fraud Detection 网络中存在两种类型的节点:cookie节点(代表买家)、seller节点(代表卖家)。cookie 节点包含了带属性的 cookie 信息。

        为了获得同质cookie 网络,我们采用如下方法将二部图映射为仅包含 cookie 节点的图:当且仅当两个 cookie 之间存在至少五个共同的 seller 节点时,连接这两个 cookie 节点。我们的目标是鉴别哪些 cookie 是可疑的。

  2. Baseline 模型:我们将当前state-of-the-artnetwork representation learning方法划分为以下几组:

    • 仅属性的方法Attribute-only:仅考虑节点属性信息。这里我们选择 SVM 和自编码器作为 baseline 模型。
    • 仅结构的方法Structure-only:仅考虑网络结构信息。这里我们选择 DeepWalk, node2vec, LINE, SDNE 作为 baseline 模型。
    • 属性和结构的方法Attribute + Structure :同时考虑节点属性信息和网络结构信息。这里我们选择 AANE, SNE, Planetoid-T,TriDNR, SEANO 作为 baseline 模型。

    最后我们还给出 ANRL 的几个变体:

    • ANRL-WAN:使用 Weighted Averate Neighbor 来构造目标邻域。
    • ANRL-EMN:使用 Elementwise Media Neighbor 来构造目标邻域。
    • ANRL-OWN:采用传统的自编码器来重建节点自己,而不是重建目标邻域。
  3. 模型配置:

    • 对于 baseline 模型,我们使用原始作者发布的实现版本,并且 baseline 模型的参数已经调整为最优。

    • Fraud Detection 数据集中,我们选择将 embedding 维度设置为 d=64 ,其它数据集 d=128

    • 对于 LINE 模型,我们将一阶representation 和二阶 representation 拼接起来作为最终 representation

    • 对于 ANRL,我们选择随机游走序列长度为 80、每个节点开始的随机游走序列数量为 10、负采样比例为 5、窗口大小为 10

      另外,ANRL 左路输出(包括了编码器和解码器)的层数和尺寸如下图所示,而右路输出仅使用单层神经网络。

  4. 链接预测任务:我们通过链接预测任务来评估各种算法学到的 embedding 的链接预测能力。

    我们随机移除图中 50% 的链接,然后在移除后的图上训练节点 embedding 。一旦获得了节点 embedding,我们将被移除的链接作为正样本,然后随机选择相同数量的、并不存在的链接作为负样本,从而构造测试集。我们在测试集上评估embedding 的链接预测能力,具体做法是:根据余弦相似度对正样本和负样本进行排序。我们采用 AUC 来评估排序的质量,较高的 AUC 表示更好的性能。

    在三个无标签的数据集(Facebook,UNC,UniID)上进行链接预测任务的效果如下图所示。结论:

    • ANRL 在所有数据集上都显著超越了baseline

    • 由于DeepWalk,node2vec,LINE,SDNE 仅利用网络结构信息,因此当网络极为稀疏时(如UniID 数据集),它们的性能相对较差。

      有趣的是,在这一组四个模型中,node2vec 取得了最好的结果。主要是因为 node2vec 可以通过有偏的随机游走探索各种网络结构信息。

    • 与之前的研究结果一致:我们观察到结合节点属性和网络结构信息可以提高链接预测性能,这反映了属性信息的价值。

      其中,AANE,TriDNR 仅利用一阶网络结构信息,它们无法捕获足够的信息来进行链接预测。而该组其余算法通过在网络上执行随机游走从而捕获更高阶的网络邻近信息从而获得更好的性能。

    • ARNL 同时利用了节点属性信息(通过邻域增强自编码器和属性感知 SkipGram 模型)、全局结构信息(通过属性感知 SkipGram 模型)、局部结构信息(通过邻域增强自编码器)。我们认为性能提升的主要原因之一是 ANRL 同时考虑了局部结构信息和全局结构信息。

  5. 节点分类:我们通过分类预测任务来评估各种算法学到的 embedding 的分类预测能力。

    我们从每个类别中随机选择 20 个样本,并将它们作为标记数据(剩余所有节点在训练 embedding 过程中 label 信息不可用)来训练半监督 baseline 。在学到节点embedding 之后,我们随机选择 30% 的节点来训练 SVM 分类器,剩余节点作为测试集用于评估性能。我们重复该过程 10 次,并报告测试集上的平均Macro-F1 和平均 Micro-F1 。实验结果如下。结论:

    • ANRL-WAN 在所有数据集中超越了所有baseline 方法,其它基于属性和结构的方法紧随其后,然后是基于结构的方法。这证明了属性信息的价值,对节点属性进行适当的建模可以带来更好的 representation ,并显著提高性能。

    • attribute-only 方法优于大多数 structure-only 方法。因为和节点属性相比,单纯的网络结构为分类任务提供的信息非常有限。

      另外,我们发现自编码器比 SVM 稍差,这表明降维的过程中可能会丢失一部分有用的信息。

    • SEANO 通过在representation learning 阶段聚合邻域的属性信息,超越了其它几种最新的 Attribute + Structure 方法。

      AANE 在该组的表现不佳,原因是 AANE 涉及到亲和矩阵affinity matrix 的分解操作。由于我们通常不知道每对节点之间的相似性,因此需要根据特定的相似性度量进行计算。这大大降低了 AANE 的性能。

    • ANRL-WANANRL-EMN 的性能优于 ANRL-OWN以及大多数其它baseline 方法。

      ANRL-WAN 明显优于 ANRL-OWN,这证明了我们提出的邻域增强自编码器的有效性。此外,我们的属性感知 SkipGram 模块和邻域增强自编码器模块使得潜在 representation 更加平滑和鲁棒,这对于很多任务而言也是很重要的。

二十四、DANE[2018]

  1. 网络在现实世界中无处不在,例如社交网络、学术引用网络、通信网络。在各种网络中,属性网络attributed network 近年来备受关注。与仅有拓扑结构可用的普通网络plain network不同,属性网络的节点拥有丰富的属性信息,并有利于网络分析。例如,在学术引用网络中,不同文章之间的引用构成了一个网络,其中每个节点都是一篇文章,每个节点都有关于文章主题的、大量的文本信息。另一个例子是社交网络,用户之间可以相互联系,并且每个用户节点都有个性化的用户画像属性信息。此外,社会科学表明:节点的属性可以反映和影响其社区结构。因此,研究属性网络是必要且重要的。

    network embedding 作为分析网络的基本工具,最近在数据挖掘和机器学习社区引起了极大的关注。network embedding 在保持邻近性的同时为每个节点学习低维 representation。然后,下游任务(如节点分类、链接预测、网络可视化)可以从学到的低维 representation 中获益。近年来,人们已经提出了各种 network embedding 方法,如 DeepWalk, Node2Vec, LINE。然而,大多数现有的方法主要关注普通网络,忽略了节点的有用属性。例如,在 FacebookTwitter 等社交网络中,每个用户都与其它用户连接,从而构成一个网络。大多数现有的方法在学习 node representation 时仅关注连接。但是每个节点的属性也可以提供有用的信息。一个很好的例子是用户画像。一名年轻用户可能与另一名年轻用户具有更多的相似性,而与年长用户不太相似。因此,在学习 node representation 时结合节点属性很重要。

    另外,网络的拓扑结构和节点属性是高度非线性的。因此,捕获高度非线性的特性从而发现底层模式underlying pattern 非常重要。然后,就可以在学到的 node representation 中更好地保留邻近性。然而,大多数现有的方法仅采用浅层模型,未能捕获到高度非线性的特性。此外,由于复杂的拓扑结构和节点属性,很难捕获这种高度非线性的特性。因此,捕获属性网络 embedding 的高度非线性特性是一项挑战。

    为解决上述问题,论文《Deep Attributed Network Embedding》提出了一种用于属性网络的、新颖的 deep attributed network embedding: DANE 方法。具体而言,论文提出了一个深度模型来同时捕获网络拓扑结构和节点属性中底层的高度非线性。同时,所提出的模型可以迫使学到的 node representation 保持原始网络中的一阶邻近性和高阶邻近性。此外,为了从网络的拓扑结构和节点属性中学习一致consistent 的和互补complementaryrepresentation,论文提出了一种同时结合这两种信息的新策略。另外,为了获得鲁棒的 node representation,论文提出了一种有效的 “最负采样” (most negative sampling)策略来使得损失函数更鲁棒。最后,论文进行了大量的实验来验证所提出方法的有效性。

  2. 相关工作:

    • 普通网络 embeddingnetwork embedding 可以追溯到 graph embedding 问题,如 Laplacian EigenmapsLPP。这些方法在保持局部流形结构local manifold structure 的同时学习数据 embedding 。然而,这些方法不适用于大型网络 embedding,因为它们涉及耗时的 eigen-decomposition 操作,其时间复杂度为 O(n3)n 为节点数量。

      最近,随着大型网络的发展,很多 network embedding 纷纷出现。例如:

      • DeepWalk 采用截断的随机游走和 SkipGram 来学习 node representation。该方法基于以下观察:随机游走中节点的分布与自然语言中的单词分布很相似。
      • LINE 提出在学习节点representation 时保持一阶邻近性和二阶邻近性。
      • GraRepLINE 的基础上进一步提出保持高阶邻近性。
      • Node2Vec 提出通过一个有偏 biased 的随机游走来得到灵活的邻域概念。

      然而,所有这些方法都仅利用了拓扑结构,而忽略了节点的有用属性。

    • 属性网络 embedding :近年来,属性网络 embedding 引起了广泛的关注。人们已经为属性网络提出了各种各样的模型。

      • TADW 提出了一种 inductive 的矩阵分解方法来结合网络拓扑结构和节点属性。然而,它本质上是一个线性模型,对于复杂的属性网络而言是不够的。
      • AANELANE 采用图拉普拉斯graph Laplacian 技术从网络拓扑结构和节点属性中学习联合 embedding
      • 《Semi-supervised classification with graph convolutional networks》 提出了一种用于属性网络的图卷积神经网络模型。但是,这个模型仅是一种半监督方法,无法处理无监督的情况。
      • 《Tri-party deep network representation》 提出将 DeepWalk 与神经网络结合起来用于 network representation 。尽管如此,DeepWalk 部分仍然是一个浅层模型。
      • 最近,人们提出了两种无监督的深度属性网络 embedding 方法:《Variational graph auto-encoders》《Inductive representation learning on large graphs》。但是它们仅能隐式地探索拓扑结构。

      因此,有必要以更有效的方式探索深度属性网络 embedding 方法。

24.1 模型

24.1.1 基本概念

  1. G=(V,E,X) 为一个属性信息网络,其中:

    • V={v1,,vn} 为节点集合,E 为边的集合。
    • XRn×m 为节点的属性集合,xiRmX 的第 i 行,表示节点 vi 的特征向量。
    • ERn×n 为邻接矩阵,如果 vi,vj 之间存在边则 ei,j>0 ;如果 vi,vj 之间没有边则 ei,j=0
  2. 一阶邻近性定义:给定一个网络 G=(V,E,X),定义节点 vivj 的一阶邻近性 first-order proximityei,j 。如果 ei,j 越大则说明节点 vivj 关系越紧密。

    一阶邻近性表示:如果两个节点之间存在链接则它们是相似的,否则它们是不相似的。因此,可以将一阶邻近性视为局部邻近性local proximity

  3. 高阶邻近性定义:给定一个网络 G=(V,E,X),定义节点 vivjk 阶邻近性为:sim(mi(k),mj(k)) 。其中:

    • E^Rn×n 为节点之间的一阶转移概率矩阵,它就是将 E 进行行归一化的矩阵。

      E^ 的第 i 行刻画了节点 vi 经过单步转移到其它节点的概率。

    • E^k=E^E^kRn×n 为节点之间的 k 阶概率转移矩阵。

      E^k 的第 i 行刻画了节点 vi 经过 k 步转移到其它节点的概率。

    • M(k)=E^+E^2++E^kRn×nGk 阶邻近性矩阵proximity matrixmi(k)RnM(k) 的第 i 行。

      mi(k) 刻画了节点 vik 步之内转移到其它节点的概率。

    • sim() 为向量的相似度函数(如余弦相似度)。

    高阶邻近性刻画了节点之间的邻域相似性。具体来讲:如果两个节点共享相同的邻域则它们是相似的,否则是不相似的。因此,高阶邻近性high-order proximity可以视为全局邻近性。

  4. 语义邻近性定义:给定一个网络 G=(V,E,X),定义节点 vivj 的语义邻近性 semantic proximity为:sim(xi,xj) 。其中: sim() 为向量的相似度函数(如余弦相似度),xiRm 为节点 vi 的属性向量。

  5. 属性网络representation learning 任务的目标是学习一个映射函数 f:vihiRd ,其中 dn ,它将每个节点 vi 映射到一个低维向量 hi ,并在映射过程中保持网络结构邻近性(包括一阶邻近性、高阶邻近性)、节点属性邻近性。

24.1.2 DANE

  1. 属性网络embedding 面临三大挑战:

    • 高度非线性:网络拓扑结构和节点属性的底层结构都是高度非线性的,这种高度非线性很难捕获。
    • 邻近性保持:属性网络的邻近性取决于网络拓扑结构和节点属性,如何挖掘和保持邻近性关系是一个难点。
    • 信息的一致性consistent和互补性complementary:网络拓扑结构和节点属性这两种信息源为每个节点提供了不同的视角,二者是是一致的(都能刻画节点之间的关系)、互补的(包含对方没有的信息)。因此,学到的节点embedding 同时编码这两种信息的一致性、互补性非常重要。

    为了解决这三个挑战,我们开发了一种新颖的 deep attributed network embedding: DANE 方法。DANE 利用深度神经网络分别捕获网络结构的非线性、节点属性的非线性来解决这些问题,整体架构如下。DANE 有两个分支:

    • 第一个分支捕获高度非线性的网络结构,从而将输入 M(k) 映射到低维空间。
    • 第二个分支捕获高度非线性的节点属性,从而将输入 X 映射到低维空间。

    这两路分支都采用深度非线性网络组成,从而捕获数据中的非线性关系。

    模型的算法复杂度为 O(n2),因此无法应用于大型网络。

  2. 高度非线性:为捕获数据中的高度非线性,DANE 中的每一路分支都是一个自编码器。自编码器是用于 feature learning 的强大无监督深度模型。基本的自编码器包含三层,分别为输入层、隐层、输出层:

    hi=σ(W(1)xi+b(1))x^i=σ(W(2)hi+b(2))

    其中:xiRn 为第 i 个输入数据,hiRn 为编码器的hidden representationx^iRn 为解码器重构的输出,θ={W(1),b(1),W(2),b(2)} 为模型参数,σ() 为非线性激活函数。

    自编码器的目标是最小化重构误差:

    minθi=1Nx^ixi22

    其中 N 为训练集的大小。

    为捕获网络拓扑结构和节点属性中的高度非线性,DANE 使用了 L 层的编码器(相应地,解码器也有 L 层):

    hi(1)=σ(W(1)xi+b(1))hi(L)=σ(W(L)xi+b(L))

    其中编码器的第 L 层输出就是我们想要的节点 embeddinghi=hi(L)

    DANE 中:

    • 第一路分支的输入是高阶邻近矩阵 M(k) 用于捕获网络拓扑结构中的非线性,学到的embedding 记作 H<M>
    • 第二路分支的输入是节点属性矩阵 X 用于捕获节点属性中的非线性,学到的 embedding 记作 H<X>
  3. 邻近性保持:属性网络中存在三种类型的邻近性,语义邻近性semantic proximity 、高阶邻近性high-order proximity, 、一阶邻近性first-order proximity

    • 为保持语义邻近性,我们最小化编码器输入 X 和解码器输出 X^ 的重构误差:

      Ls=i=1nx^ixi22

      原因在 《Semantic hashing》 中披露。具体而言,重建损失可以强迫神经网络平滑地捕获数据流形,从而可以保持样本之间的邻近性。因此,通过最小化重建损失,我们的方法可以保持节点属性中的语义邻近性。

    • 为了保持高阶邻近性,我们最小化编码器输入 M(k) 和解码器输出 M^(k) 的重构误差:

      Lh=i=1nm^imi22

      具体而言,高阶邻近性 M(k) 刻画了邻域结构。如果两个节点具有相似的邻域结构(即 mi(k)mj(k) 是相似的),则通过最小化重建损失学到的 representation 也将彼此相似。

    • 一阶邻近性捕获了局部结构,因此我们也需要捕获一阶邻近性。根据一阶邻近性的定义,如果两个节点之间存在边则它们是相似的。为保持这种邻近性,我们最大化对数似然: ei,j>0pi,j ,其中 pi,j 为节点 vivj 的联合概率。

      注意,我们需要同时保留网络拓扑结构的一阶邻近性和节点属性的一阶邻近性,以便我们可以从这两种不同来源的信息中间取得一致的结果。

      对于网络拓扑结构,节点 vivj 的联合概率定义为:

      pi,j<M>=11+exp(hi<M>hj<M>)

      类似地,对于节点属性,节点 vivj 的联合概率定义为:

      pi,j<X>=11+exp(hi<X>hj<X>)

      因此我们定义以下目标函数从而来同时保持网络拓扑结构的一阶邻近性和节点属性的一阶邻近性:

      Lf=ei,j>0logpi,j<M>ei,j>0logpi,j<X>
  4. 一致性、互补性的 embedding :网络拓扑结构和节点属性是同一个网络的两种不同模态的信息,因此我们应该确保从它们中学到的embedding 是一致consistent 的,即一致性。另一方面,这两种信息描述了同一个节点的不同方面,提供了互补的信息,因此学到的emedding 应该是互补complementary 的,即互补性。

    融合两种形式的 embedding H<M>H<X> 最简单直接的方式是将它们拼接起来作为节点的最终 embedding 。这种方式可以使得两种模式的 embedding 之间信息互补,但是无法确保它们之间是一致的。

    一致性指的是:hi<M>hj<M>hi<X>hj<X> ,互补性指的是 hi<M>hi<X>

    另一种融合的方式是:强制DANE 的两个分支采用共享的最高编码层,即 H<M>=H<X> 。尽管这确保两种模态的 embedding 之间是一致的,但是丢失了大量的互补信息。因此,对于属性网络 embedding,如何将网络拓扑结构和节点属性结合在一起是一个具有挑战性的问题。

    为了得到一致的、互补的 embedding,我们提出最大化以下似然估计:

    i,jnqi,jsi,j(1qi,j)1si,j

    其中:

    • qi,j 是两个模态之间的联合分布:

      qi,j=11+exp(hi<M>hj<X>)
    • si,j{0,1} 描述了 hi<M>hj<X> 是否来自于同一个节点,即:

      si,j={1,i=j0,ij

    因此我们定义损失函数:

    Lc=i[logqi,ijilog(1qi,j)]

    通过最小化该损失函数,我们可以强制 hi<M>hj<X>

    • 当它们来自于同一个节点时,尽可能地一致。但是它们又不完全相同,因此可以提供互补的信息。
    • 当它们来自于不同节点时,尽可能推开。

    但是上述损失函数的第二项过于严格。例如,如果两个节点 vivj 之间存在链接,则根据一阶邻近性它们是相似的。因此尽管 vivj 是不同的节点, hi<M>hj<X> 应该相似。即,我们不应该将它们的 embedding 推开。因此我们放松条件为:

    Lc=i[logqi,iei,j=0log(1qi,j)]

    即:

    • 当节点 i=j 时,强制 hi<M>hj<X> 尽可能一致。
    • ijvi,vj 之间没有链接时,强制 hi<M>hj<X> 推开。
  5. 为了保持节点之间的邻近性(三种类型的邻近性),并学习一致和互补的 embeddingDANE 共同优化了目标函数:

    L=Lf+Ls+Lh+Lc=ei,j>0logpi,j<M>ei,j>0logpi,j<X>+i=1nx^ixi22+i=1nm^imi22i[logqi,iei,j=0log(1qi,j)]

    通过最小化该目标函数,我们获得了 H<M>H<X> 。我们将二者的拼接作为节点的最终低维 representation,从而可以从网络拓扑结构和节点属性中保留一致、互补的信息。

    理论上可以利用超参数来平衡不同损失函数的重要性:L=Lf+α1×Ls+α2×Lh+α3×Lc

24.1.3 最负采样策略

  1. 考虑损失函数 Lc,它等价于对每个节点 vi 优化损失:

    Lci=logqi,ij,ei,j=0log(1qi,j)

    实际应用中,很多链接由于各种原因未能观测到,所以邻接矩阵 E 非常稀疏。但是,未观测到的链接并不意味着两个节点不相似。如果我们推开两个潜在的相似节点,则学到的embedding 效果会较差。

    具体而言,假设当前节点为 vi ,对于 ei,j=0 的节点 vj 我们有:

    hj<M>Lci=qi,jhi<X>

    因此参数 hj<M> 的更新规则为 hj<M>hj<M>αqi,jhi<X> ,其中 α 为学习率。

    由于更新过程中 hi<X> 固定,因此 qi,j 决定了更新后的结果。而 qi,j 依赖于 hi<M>hj<X> :如果两个节点 vivj 潜在地相似,但是没有观测到链接,则 qi,j 很大。此时,hj<M> 将和 hi<X> 推得越来越远。结果,embedding 效果越来越差。

    为缓解该问题,我们提出一个最负采样策略来获得更加鲁棒的 embedding 。具体而言,在每次迭代过程中,我们首先计算 H<M>H<X> 的相似度:

    Q=H<M>H<X>Rn×n

    然后对每个节点 i ,我们选择最负most negative 的负样本:

    ji=argminj,ei,j=0Qi,j

    然后基于这个最负样本,我们设置目标函数为:

    Lci=logqi,ilog(1qi,ji)

    采用这种最负采样策略,我们尽可能不违反潜在的相似节点,因此结果更加鲁棒。

    “最负”样本本质上是最可能的“负样本”,这等价于为负样本赋予不同的置信度。

  2. 最负采样策略依赖于相似度矩阵 Q,其计算复杂度为 O(n2) 。原始的计算 Lci 的计算复杂度也为 O(n2) ,因为需要遍历所有的 ei,j=0 。这里我们忽略了计算 qi,j 的计算复杂度。

    因此,最负采样策略并没有增加太大的额外开销。

24.3 实验

  1. 数据集:

    • 论文引用数据集:我们采用 Cora, Citeseer, PubMed 三个论文引用数据集,边代表论文之间的引用链接,节点的属性为论文的 Bag-Of-Word 表示。
    • Wiki 数据集:维基百科数据集,边代表网页中的超链接,节点的属性为网页内容的 Bag-Of-Word 表示。

  2. Baseline 方法:为评估DANE 的性能,我们将它与其它几种 baseline 方法进行比较,包括 4 种普通网络的embedding 方法、5 种属性网络embedding 方法。

    • 普通网络embedding 方法:DeepWalk,Node2vec,GraRep,LINE
    • 属性网络embedding 方法:TADW, ANE, 图自编码器Graph Auto-Encoder: GAE,变分图自编码器 VGAE, SAGE
  3. 参数配置:

    • 对于 DeepWalk, Node2Vec,我们将窗口大小设为 10、随机游走序列长度为 80、每个节点开始的随机游走序列数量为 10

    • 对于 GraRep,我们设定最大转移步长为 5 (即从一个节点最多经过 5 步转移到其它节点)。

    • 对于 LINE,我们将一阶embedding 和二阶 embedding 拼接起来作为最终 embedding

    • 所有方法的 embedding 维度为 200LINE 的最终 embedding 维度为 200 + 200 = 400 )。

    • 对于所有其它 baseline 方法,超参数配置都参考各自的原始论文。

    • 对于 DANE,为获得高阶邻近性矩阵 M(k) ,我们利用 Deep Walk 获取随机游走序列,然后使用大小为 10 的滑动窗口来构造高阶邻近性矩阵 M(k) 。我们并没有通过邻接矩阵 E 来直接计算 M(k) ,因为直接计算的代价太大。

    • 对于 DANE,我们使用 LeakyReLU 作为激活函数。DANE 在四个数据集上采用不同的体系结构,如下表所示。对于每个数据集,第一行对应于网络拓扑结构的体系结构,第二行对应于节点属性的体系结构。这里我们仅给出编码器的体系结构,解码器的体系结构为编码器结构的翻转。

  4. 节点分类任务:我们首先使用不同的模型在数据集上通过无监督训练节点的 embedding,然后对学到的节点 embedding 进行节点分类任务。

    我们使用 L2 正则化的逻辑回归作为分类器。为进行全面的评估,我们分别随机选择 {10%,30%,50%} 的节点作为训练集,剩余节点作为测试集。对于随机选择的训练集,我们使用五折交叉验证来训练分类器,然后在测试集中评估分类性能,评估指标为 Micro-F1Macro-F1

    不同embedding 方法的分类性能如下表所示,结论:

    • 与普通网络embedding 方法相比,DANE 取得显著提升。
    • 与属性网络embedding 方法相比,DANE 大多数都效果更好。

  5. 节点聚类任务:为展示DANE 在无监督任务上的性能,我们对学到的节点embedding 进行聚类。这里我们采用k-means 聚类方法,并使用聚类准确率(利用标签信息来评估)作为评估指标。评估结果如下。结论:大多数情况下,DANE 具有更好的聚类效果。

  6. 网络可视化:为进一步展示DANE 的效果,我们使用 t-SNE 可视化节点的embedding。我们仅给出 Cora 数据集的三种代表性 baseline 的结果。可以看到,和其它方法相比,DANE 可以实现更紧凑、间隔更好的类簇。因此,我们的方法可以在有监督任务和无监督任务上实现更好的性能。

  7. 为评估采样策略的效果,我们将最负采样策略和其它两种替代方法进行比较:

    • 第一种为随机采样策略 DANE-RS,此时负样本为随机采样得到。

    • 第二种为重要性采样策略DANE-IS,此时负样本采样概率为:

      pi(j)=exp(Qi,j)jexp(Qi,j)

      其中 Q=H<M>H<X>i 为当前的节点(需要采样它的负样本), pi(j) 表示 j 为负样本概率。

      直观而言,这种策略使得不相似的节点被采样为负样本的概率更大。

    我们分别使用这两种采样策略来学习节点的 embedding,然后在 Cora 数据集上进行节点分类。结果如下所示。结论:

    • DANE-RS 性能最差,因为它无法区分不同的负样本。
    • DANE-IS 效果更好,但是比最负采样策略更差。因为最负采样策略始终可以找到最负的样本。

二十五、HERec[2018]

  1. 近年来,帮助用户从大量资源中发现感兴趣item 的推荐系统,已经在各种在线服务中发挥着越来越重要的作用。传统的推荐方法(如矩阵分解)主要旨在学习一个有效的预测函数来刻画 user-item 交互记录(即,user-item 评分矩阵)。随着 web 服务的快速发展,各种辅助数据(即,辅助信息side information )在推荐系统中变得可用。尽管辅助数据可能包含对推荐有用的信息,但在推荐系统中很难建模和利用这些异质的、复杂的信息。此外,开发一种相对通用的方法来对不同系统或平台中的这些不同的数据进行建模更具挑战性。

    作为一个有前途的方向,人们提出了异质信息网络heterogeneous information network: HIN 来作为一种强大的信息建模方法。异质信息网络由多种类型的节点和链接组成,并在建模数据异质性方面具有灵活性,因此已在推荐系统中用于刻画丰富的辅助数据。如下图所示,我们展示了一个以 HIN 刻画的电影推荐的例子。我们可以看到:HIN 包含由不同类型的关系链接的多种类型的实体。在HIN-basedrepresentation 下,推荐问题可被认为是 HIN 上的相似性搜索 similarity search 任务。这种推荐 setting 称为 HIN-based 的推荐,并在文献中受到了广泛关注。大多数现有的 HIN-based 推荐方法的基本思想是:利用 path-based 的、user-item 之间的语义相关性 semantic relatedness (如metapath-based 相似性)而不是 HIN ,从而进行推荐。 path-based 相似性无法充分挖掘用户和 item 的潜在结构特征。

    尽管 HIN-based 方法在一定程度上实现了性能提升,但这些使用 metapath-based 相似性的方法存在两个主要问题。

    • 首先,metapath-based 相似性依赖于显式的路径可达path reachability,当路径稀疏或存在噪音时,推荐可能不可靠。HIN 中的某些链接很可能是偶然形成的,它们没有表达有意义的语义。

    • 其次,metapath-based 相似性主要刻画在 HIN 上定义的语义关系,可能无法直接应用于推荐系统。在某些情况下,派生的 path-based 相似性可能对推荐系统没有显式的影响。现有方法主要学习线性加权机制来结合 path-based 相似性或潜在因子,无法学习 HIN 信息的、复杂的映射机制mapping mechanism 进行推荐。

      metapath-based 相似性,不一定意味着推荐有效性,即二者之间存在 gap

    这两个问题本质上反映了 HIN-based 推荐的两个基本问题,即 HIN-based 有效信息的提取 extraction 和利用exploitation

    对于第一个问题,由于数据的异质性,开发一种方法来有效提取和表达 HIN 的有用信息具有挑战性。与以前使用 metapath-based 相似性的研究不同,论文《Heterogeneous Information Network Embedding for Recommendation》的思想是:学习有效的异质网络 representation,从而表达 HIN 重要的结构特征和属性。遵循 DeepWalknode2vec,论文用低维向量(即 embedding)来刻画 HIN 中的节点。论文不想依赖显式的路径链接,而是希望使用潜在向量来编码 HIN 中的有用信息。与 metapath-based 相似性相比,学到的 embedding 具有更紧凑的形式,更易于使用和集成。此外,network embedding 方法本身更能抵抗稀疏的、噪音的数据。然而,现有的大多数 network embedding 方法侧重于仅由单个类型的节点和链接组成的同质网络homogeneous network ,无法直接处理由多种类型的节点和链接组成的异质网络heterogeneous network 。因此,论文提出了一种新的异质网络 embedding 方法。考虑到 metapath 所反映的异质特性以及丰富的语义,所提出的方法首先使用由 metapath 派生的随机游走策略来生成节点序列。对于每个 metapath,论文通过最大化根据给定 metapath 采样的节点序列中相邻节点的共现概率co-occurrence probability 来学习节点的 unique embedding representation。论文融合了节点关于不同 metapath 的多个 embedding,从而作为 HIN embedding 的输出。

    在从 HIN 获得 embedding 之后,论文研究如何从推荐系统中集成和利用这些信息。论文并未假设学到的 embedding 自然地适用于推荐系统。相反,论文提出并探索了三种融合函数fusion function ,从而将一个节点的多个 embedding 集成到单个 representation 中来进行推荐。这三种融合函数包括:简单的线性融合、个性化的线性融合、个性化的非线性融合。这些融合函数提供了灵活的方法将 HIN embedding 变换为有用的推荐信息。特别地,论文强调个性化和非线性是该论文 setting 中信息变换information transformation 需要考虑的两个关键点。最后,论文通过集成了 fused HIN embedding 来扩展经典的矩阵分解框架。预测模型 prediction model 和融合函数fusion function 针对评分预测rating prediction 任务而联合地优化。

    通过将上述两部分集成在一起,论文提出了一种新颖的、HIN embedding based 的推荐方法,称作 HERecHERec 首先使用所提出的 HIN embedding 方法提取有用的、HIN-based 的信息,然后使用所提取的信息利用扩展的矩阵分解模型进行推荐。下图展示了所提出方法的总体说明。对三个真实世界数据集的广泛实验证明了所提出方法的有效性。论文还验证了 HERec 缓解冷启动问题的能力,并检查了 metapath 对性能的影响。

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

    • 论文提出了一种由 metapath 派生的异质网络 embedding 方法,从而揭示异质信息网络的语义信息和结构信息。此外,论文提出了一种通用的 embedding 融合方法,用于将基于不同 metapath 的不同 embedding 集成为单个 representation
    • 论文提出了一种新颖的异质信息网络 embedding 推荐模型,称作 HERecHERec 可以有效地集成 HIN 中的各种 embedding 信息,从而提高推荐性能。此外,论文设计了一组三个灵活的融合函数 fusioin function ,从而有效地将 HIN embedding 变换为有用的推荐信息。
    • 对三个真实世界的数据集的广泛实验验证了所提出模型的有效性。此外,论文还展示了所提出的模型对冷启动预测问题的能力,并揭示了来自 HIN 的、变换后的 embedding 信息可以提高推荐性能。
  2. 相关工作:在这里,我们将从推荐系统、异质信息网络、network embedding 三个方面回顾相关的工作。

    • 推荐系统:在推荐系统的文献中,早期的工作主要采用协同过滤 collaborative filtering: CF 方法来利用历史交互进行推荐。具体而言,矩阵分解matrix factorization: MF 方法在许多 application 中展示了它的效果和效率。MFuser-item 评分矩阵分解为两个低秩的 user-specific 矩阵和 item-specific 矩阵,然后利用分解后的矩阵做进一步的预测。

      由于 CF 方法通常存在冷启动问题,许多工作尝试利用额外的信息来提高推荐性能。例如:

      • 《Recommender systems with social regularization》 将社交关系集成到矩阵分解中用于推荐。
      • 《Ratings meet reviews, a combined approach to recommend》 同时考虑了评分信息和评论信息,并提出了一个统一的模型来结合 conten-based 过滤和协同过滤,从而用于评分预测任务。
      • 《Exploiting geographical influence for collaborative point-of-interest recommendation》 将用户偏好、社交影响力、地理影响力纳入推荐,并提出了统一的 POI 推荐框架。
      • 最近,《Low-rank linear cold-start recommendation from social data》 解释了三种流行的冷启动模型的缺点,并进一步提出了一种 learning-based 方法来解决冷启动问题,从而通过随机 SVD 来利用社交数据。

      许多工作开始利用深度模型(例如卷积神经网络、自编码器)来利用文本信息、图像信息、以及网络结构信息来获得更好的推荐。此外,还有一些典型的框架聚焦于结合辅助信息进行推荐。

      • 《Svdfeature: a toolkit for feature-based collaborative filtering》 提出了一个典型的 SVDFeature 框架来有效地解决 feature-based 矩阵分解。
      • 《Factorization machines》 提出了因子分解机 factorization machine: FM,这是一种结合特征工程通用性generality 的通用方法。
    • 异质信息网络:作为一个新兴方向,异质信息网络可以自然地对推荐系统中的复杂对象及其丰富的关系进行建模,其中对象具有不同的类型、对象之间的链接代表不同的关系。人们已经提出了几种 path-based 相似性度量来评估异质信息网络中对象的相似性。因此,一些研究人员开始意识到 HIN-based 推荐的重要性。《Incorporating heterogeneous information for personalized tag recommendation in social tagging systems》 提出了 OptRank 方法,该方法通过利用社交标签系统social tagging system 中包含的异质信息来缓解冷启动问题。

      此外,人们将metapath 的概念引入混合推荐系统 hybrid recommender system

      • 《Collaborative filtering with entity similarity regularization in heterogeneous information networks》 利用 metapath-based 相似性作为矩阵分解框架中的正则化项。
      • 《Personalized entity recommendation: A heterogeneous information network approach》 利用异质信息网络中不同类型的实体关系,提出了一种用于隐式反馈数据集的个性化推荐框架。
      • 《Hete-cf: Social-based collaborative filtering recommendation using heterogeneous relations》 提出了一种使用异质关系的、基于协同过滤的社交推荐方法。
      • 最近,《Semantic path based personalized recommendation on weighted heterogeneous information networks》 提出了加权异质信息网络的概念,设计了一种 metapath-based 的协同过滤模型,灵活地集成异质信息从而进行个性化推荐。
      • 《Integrating heterogeneous information via flexible regularization framework for recommendation》《Recommendation in heterogeneous information network via dual similarity regularization》《Dual similarity regularization for recommendation》 中,用户相似性和 item 相似性都通过不同语义 metapath 下的、path-based 相似性度量来评估,并提出了一种基于对偶正则化框架dual regularization framework 的矩阵分解来进行评分预测。

      大多数 HIN-based 方法依赖于 path-based 相似性,这可能无法充分挖掘 HIN 上的用户潜在特征和 item 潜在特征从而进行推荐。

    • network embedding:另一方面,network embedding 在结构特征提取方面显示出它的潜力,并已成功应用于许多数据挖掘任务,如分类、聚类、推荐。

      • Deepwalk 结合了截断的随机游走和 SkipGram 来学习 network representation
      • Node2Vec 是一种基于有偏 biased 的随机游走过程的、更灵活的 network embedding 框架。
      • 此外,LINESDNE 刻画了二阶邻近性以及邻域关系。
      • GraRep 模型可以捕获高阶邻近性用于学习 network representation

      除了仅从网络拓扑结构中学习 network embedding 之外,还有许多其他工作利用节点内容信息、以及其它可用的图信息graph information 来学习鲁棒的 representation 。不幸的是,大多数 network embedding 方法都聚焦于同质网络,因此它们无法直接应用于异质网络。

      最近,一些工作试图通过 embedding 方法分析异质网络。具体而言:

      • 《Heterogeneous network embedding via deep architectures》 设计了一个深度 embedding 模型来捕获网络中异质数据之间的复杂交互。
      • 《Embedding of embedding (eoe): Joint embedding for coupled heterogeneous networks》 提出了一种 EOE 方法来编码耦合异质网络的 intra-network edgesinter-network edges
      • 《metapath2vec: Scalable representation learning for heterogeneous networks》 通过 metapath 定义节点的邻域,并通过带负采样的 SkipGram 来学习异质 embedding

      尽管这些方法可以学习各种异质网络中的 network embedding,但它们的 node representationedge representation 对于推荐而言可能不是最优的。

      因为这些 representation 是基于无监督学到的,没有推荐任务的监督信息。

    据我们所知,这是首次尝试采用 network embedding 方法从异质信息网络中提取有用信息,并利用这些信息进行评分预测。该方法利用 HIN 的灵活性对复杂的异质上下文信息进行建模,同时借用 network embedding 的能力来学习有效的信息 representation。最终的评分预测组件进一步集成了变换机制 transformation mechanism ,从而利用来自 network embedding 所学到的信息。

25.1 模型

25.1.1 基本概念

  1. 异质信息网络 heterogeneous information network: HIN 定义:一个异质信息网络记作 G=(V,E) ,其中节点集合 V={v1,,vn},边集合 E={ei,j}

    每个节点关联一个节点类型 ϕ:VA,每条边也关联一个边类型 ψ:ER,其中节点类型和边类型满足:|A|+|R|>2

  2. 异质信息网络的复杂性驱使我们提供 meta level 的描述(如 schema-level ),以便更好地了解网络中节点类型和链接类型。因此,我们提出了网络模式 network schema 的概念,从而描述网络的 meta 结构。

    网络模式network schema 的定义: 定义网络模式为 S=(A,R) ,它是针对网络 G 的、具有节点类型映射 ϕ 和链接类型映射 ψmeta 模板。S 是在节点类型 A 上定义的有向图,边由 R 定义。

    如电影推荐的案例中:我们有多种类型的节点,包括用户 U、电影 M、导演 D ,因此 A={U,M,D} 。我们有多种类型的关系,包括用户好友关系(U-U)、用户对电影评分关系 U-M 、导演和电影的拍摄关系(D-M),因此 R={U-U,U-M,D-M} 。因此可以通过 A,R 定义一个有向图 SS中的节点表示 G 的节点类型、 S 中的边表示 G 的链接类型。

    网络模式 S 可以类比于图 G ,其中 A 对应于 VR 对应于 E

    如下图所示,这是我们实验的三个数据集对应的网络模式。由于我们的任务重点关注用户和 item,因此用户和 item 类型用大的圆圈表示,其它类型用小圆圈表示。

  3. HIN 中,两个节点可以通过不同的语义路径semantic path 来链接,称作元路径 metapathmetapath 是定义在网络模式 S=(A,R) 上的一条路径。

    元路径metapath定义:定义 metapath ρ 为:

    ρ=A1R1A2R2RlAl+1

    简称 ρ=A1A2Al+1 ,它描述了一组类型为 A1,A2,,Al+1 的节点之间根据类型为 R=R1R1Rl 的关系组成的路径。

    其中:lmeta-path ρ 的长度;AiA 为节点类型;RiR 为关系类型。

    以电影推荐为例,两个节点之间可以通过多种metapath 相连,如:U-UU-M-UU-M-D-M-U 。不同的 metapath 通常表示不同的语义。如:

    • U-U:表示用户之间的好友关系。
    • U-M-U:表示两个用户看过同一部电影。
    • U-M-D-M-D :表示两个用户看过同一个导演的不同电影。

    下表给出了实验中使用的 metapath 信息。

  4. 最近,HIN 已经成为建模各种复杂交互系统的主流方法。特别地,它已被用于描述复杂的、异质的推荐 setting 的推荐系统中。

    HIN based 推荐的定义:在推荐系统中,各种类型的信息可以通过 HIN G=(V,E) 来建模。在面向推荐的 HIN 中,我们仅关注两类节点(User 节点、Item 节点),以及它们之间的关系(即评分)。定义用户节点集合为 UVitem 节点集合为 IV 。定义三元组 <u,i,ru,i> 表示评分关系,它表示用户 uitem i 的评分为 ru,i 。定义集合 O={<u,i,ru,i>} 为所有观察到的评分关系,则有 OE

    HIN 推荐的目标是:给定 HIN G=(V,E) ,预估用户 u 在未评分item i 上的评分 ru,i

  5. 目前在 HIN based 推荐上已有一些工作,但是它们大多数主要利用 metapath-based 相似性来增强推荐能力。我们提出一种新的 HIN-based 推荐方法 HERec,该方法能够有效地利用 HIN 的信息。HERec 主要分为两个部分:

    • 一种新的 HIN embedding 方法,从而从 HIN 中学习 user embeddingitem embedding
    • 一组灵活的融合函数fusion function ,从而将学到的 embedding 集成到经典的矩阵分解框架中。

    整体框架如下图所示:首先构建 HIN(图 (a)),然后是 HIN embedding (图 (b)) 和 Recomendation(图 (c))。

25.1.2 HIN embedding

  1. network embedding 最新进展的启发,我们采用 representation learning 方法来提取和表达 HIN 的有用信息从而进行推荐。给定HIN G=(V,E) ,我们的目标是为每个节点 vV 学习一个低维的representation evRd ,其中 d|V| 。这个低维 emebdding 向量高度概括了节点 v 的信息。和 metapath-based 相似性相比,学到的 embedding 更容易在后续过程中使用和集成。

    然而,现有的大多数network embedding 方法主要集中在同质图上,因此无法有效针对异质图进行建模。例如,开创性的工作 deepwalk 使用随机游走来生成节点序列,它无法区分不同类型的节点和边。因此,需要一种更通用的方式来遍历 HIN 并生成有意义的节点序列。

  2. metapath-based 随机游走:要生成有意义的节点序列,关键是设计一种有效的游走策略,该策略能够捕获 HIN 中反映的复杂语义。在 HIN 的文献中,metapath 是刻画 HIN 语义模式 semantic pattern 的重要概念。因此,我们建议使用metapath-based 的随机游走方法来生成节点序列,然后利用 SkipGram 模型从节点序列中学到节点的 embedding

    给定异质网络 G=(V,E) 以及一个meta path ρ=A1R1A2R2RlAl+1 ,我们通过以下分布来生成随机游走序列:

    p(nt+1=xnt=v,ρ)={1|NvAt+1|,(v,x)E and ϕ(x)=At+10,else

    其中: nt 为随机游走序列中第 t 步的节点, v 的类型为 AtNvAt+1 为节点 v 相邻的类型为 At+1 的直接邻域节点集合。

    随机游走序列将遵循 metapath ρ 的模式重复生成新的序列节点,直到序列达到预期的长度。

    以电影推荐为例:

    • 给定一个metapath UVM ,从 Tom 开始我们可以生成两条随机游走序列:

    • 给定一个 metapath UMDMU,从 Tom 开始我们能够生成另外一条随机游走序列:

    可以直观看到这些 metapath 生成的随机游走序列对应了不同的语义关系semantic relation

  3. 类型约束和过滤:我们的目标是提升推荐性能,因此重点是学习user embeddingitem embedding ,其它类型节点(如 Director )的 embedding 我们不太感兴趣。因此,我们仅选择从 user 类型节点或 item 类型节点开始的 metapath

    注意,这里进行的 ”开始节点“ 的过滤,仅保留 ”开始节点“ 类型为 useritem 的序列。

    使用上述方法生成了随机游走序列之后,序列中可能包含不同类型的节点。我们进一步删除了序列中和起始节点类型不同的其它节点,最终得到的随机游走序列仅包含和起始类型相同的节点。

    这时,随机游走序列要么都是 user 节点、要么都是 item 节点。

    这种对随机游走序列的节点进行类型过滤有两个好处:

    • 尽管随机游走序列是通过具有异质类型的 metapath 构建的,但是最终的 representation 是在同质的邻域中学习的。同质邻域学习使得我们将相同类型的节点嵌入到相同的空间中。相对而言,将不同类型的节点嵌入到相同的空间的难度更大。
    • 当窗口的长度固定时,类型过滤后的序列中,一个节点可以利用到更多的同质邻居。这些同质邻居可能比其它类型的异质邻居相关性更大。

    如下图所示,为学习user embeddingitem embedding,我们仅考虑起始类型为用户类型或者 item 类型的 metapath。我们可以衍生出一些 metapath ,如 UMU, UMDMU,MUM 等。以 metapath UMU 为例,我们可以根据概率 p(nt+1=xnt=v,ρ) 生成一个随机游走序列:

    u1m1u2m2u3m2u4

    一旦序列被生成,我们进一步删除与起始节点类型不同的其它节点,这样的到了一个同质的节点序列:

    u1u2u3u4

    在这条同质节点序列中,节点之间的关系实际上是通过异质邻居节点(被删除的)构建的。

  4. 优化目标:现在我们聚焦于如何学习同质节点序列的 node embedding 。给定过滤后的随机游走同质节点序列,对于每个节点 u ,我们以固定长度窗口中的共现来构造节点 u 的邻域集合 Nu 。和 node2vec 一致,我们最大化以下目标函数:

    maxfuVlogp(Nuf(u))

    其中:

    • f:VRd 为一个映射函数(也是我们需要学习的目标),从而将每个节点映射到低维向量空间。
    • NuV 为节点 u 在指定 metapath 下随机游走序列的同质邻域。

    我们采用随机梯度下降 SGD 来优化目标函数,从而学到 embedding 映射函数 f() 。我们的方法和已有方法的主要区别在于邻域 Nu 的构造。我们的方法使用 metapath-based 的随机游走,并进行节点过滤来选择同质的邻居。

    这里是无监督的、同质的一阶邻近性保持。

  5. 单个 metapath 的节点 embedding 算法:

    • 输入:

      • HIN G=(V,E)
      • metapath ρ=A1R1A2R2RlAl+1
      • 目标节点类型 A
      • embedding 维度 d
      • 随机游走序列长度 l
      • 上下文窗口大小 w
      • 每个节点开始的随机游走序列数量 r
    • 输出:每个节点 v 在该 metapath 下的 embedding ev

    • 算法步骤:

      • 通过标准正态分布来随机初始化 {ev}v=1n

      • 初始化随机游走路径集合为空:paths=[]

      • 对于每个类型为 A 的节点 v ,开始迭代:

        • for i=1,2,r

          • 初始化空路径:path =[]
          • 从节点 v 开始,根据概率 p(nt+1=xnt=v,ρ) 执行随机游走。将游走序列中和 A 类型相同的节点加入到 path 中。当 path 中节点数量为 l 时,该随机游走序列结束。
          • path 添加到 paths 中。
      • paths 上,基于参数 dw 执行 SkipGramembedding 学习算法。

      • 返回学到的节点 embedding {ev}v=1n

  6. embedding 融合 Embedding FusionHIN embedding 提供了从 HIN 抽取有效信息的通用方法。假设 metapath 的集合为 P={P1,,PK},则每个 metapath 都能学到 HINembedding ,其中 Kmetapath 的数量。换句话将,对于每个节点 vV ,我们能够学到一组 embedding {ev(1),,ev(K)} 。因此我们需要一个融合方法,从而将节点在不同 metapath 下学到的 embedding 转化为更合适的形式,从而有助于提高推荐性能。

    已有的研究通常采用线性加权的方式来融合 HIN 中提取的信息,这可能无法获得对推荐任务有效的信息表示。因此我们建议采用更通用的函数 g() (而不是线性函数),其目标是为用户和 item 融合各 metapath 下学到的 node embedding

    eu(U)g({eu(k)}k=1K),ei(I)g({ei(k)}k=1K)

    其中 eu(U)ei(I) 分别为用户 uitem i 的最终 embedding

    当前阶段我们并未指定 g() 的具体形式。我们认为应该根据具体任务来学习融合函数,因此我们将融合函数留待推荐模型中设计和优化。

25.1.3 矩阵分解扩展

  1. 前面我们研究了如何从 HIN 中提取和表达有效信息来进行推荐。通过 HIN embedding,我们能够获得用户embedding {eu(U)}uUitem embedding {ei(I)}iI ,它们由待学习的融合函数 g() 来得到。现在我们研究如何利用学到的 embedding 进行推荐。

  2. 评分预测器 Rating Predictor:我们基于经典的矩阵分解MF 模型来构建 predictor。在 MF 模型中,每个用户 u 关联一个潜在因子向量 xuRD ,每个 item i 关联一个潜在因子向量 yiRD ,其中 D 为潜在因子向量的维度。用户 uitem i 的评分预估为:

    r^u,i=xuyiR

    由于我们已经获得了用户 uitem iembedding,因此可以考虑将潜在因子向量和 embedding 向量集成在一起。集成后的 predictor 为:

    r^u,i=xuyi+αeu(U)γi(I)+βγu(U)ei(I)

    其中:

    • eu(U)ei(I) 为用户 uitem iHIN embedding 向量。
    • xuyi 为用户 uitem i 的潜在因子向量。
    • γu(U)γi(I) 为用户 uitem i 的、和 HIN embedding 配对的潜在因子向量。
    • α,β 为超参数,用于平衡这三项之间的系数。

    对于该公式,我们需要注意两点:

    • 首先, eu(U)ei(I) 是融合函数 g() 的输出。我们假设通过函数 g() 融合后的embedding 适用于 MF

    • 其次,我们并没有直接使用 eu(U)ei(I) 。回顾前文所述,HIN embedding 刻画的是相同类型节点之间的相关性。因此,我们使用一组新的潜在因子 γu(U)γi(I) 。我们并没有假设 eu(U)ei(I) 必须在同一个空间,这增加了模型的灵活性。

      这里很巧妙,它刻画了这样的事实:节点的相关性不同于推荐有效性。

      这等价于:拼接 eu(U)ei(I) ,并通过一个线性模型来得到它对于 predictor 的贡献。

  3. 融合函数 Fusion Function :前面我们假设融合函数 g() 已经给出,现在我们研究融合函数 。融合函数 g()HIN 学到的节点embedding 转化为对推荐系统有用的形式。这里我们仅讨论融合用户 embedding 的情况,item embedding 融合也是类似的。

    我们建议使用三种类型的融合函数来融合 embedding

    • 简单的线性融合。我们假设每个用户对每个 metapath 都相同的偏好,因此我们为每个 metapath 分配统一的权重(即均值)。此外,我们还将 embedding 线性映射到目标空间:

      g({eu(k)}k=1K)=1Kk=1K(M(k)eu(k)+b(k))

      其中 Pmetapath 集合,M(k)RD×d,b(k)RD 为第 kmetapath 的线性映射参数。

    • 个性化线性融合。简单的线性融合无法建模用户对 metapath 的个性化偏好,因此我们进一步为每个用户 u 分配了每个 metapath 上的偏好 wu(k) 。在实际应用中,每个用户都有其个性化兴趣偏好是更合理的:

      g({eu(k)}k=1K)=1Kk=1Kwu(k)×(M(k)eu(k)+b(k))

      其中 wu(k) 为用户 u 在第 kmetapath 上的偏好权重。

    • 个性化非线性融合。线性融合在建模复杂数据关系时的表达能力有限,因此我们使用非线性函数来增强表达能力:

      g({eu(k)}k=1K)=σ(1Kk=1Kwu(k)×σ(M(k)eu(k)+b(k)))

      其中 σ() 为线性函数。这里我们采用 sigmoid 函数。

      尽管这里使用了两个非线性变换,也可以灵活地推广到多个非线性层,如多层感知机。

  4. 模型学习:我们将融合函数整合到矩阵分解框架中,联合学习融合函数和矩阵分解模型的参数。我们的目标函数为:

    L=<u,i,ru,i>∈O(ru,ir^u,i)2+λ(uxu2+iyi2)+λγ(uγu(U)2+iγi(I)2)+λΘ(Θ(U)2+Θ(I)2)

    其中:

    • r^u,i 为模型预估评分, ru,i 为真实评分。
    • Θ(U),Θ(I) 为融合函数 g() 分别针对用户融合的参数、item 融合的参数。
    • λ,λγ,λΘ 分别为正则化系数。

    我们采用随机梯度下降 SGD 来优化目标函数。

    这里一个难点是:梯度如何在矩阵分解模型、HIN embedding 模型之间传播。论文给出的方案是两阶段模型:

    • 首先通过 HIN embedding 预训练,得到 {eu(k)}k=1K{ei(k)}k=1K 。这时,HIN embedding 作为矩阵分解模型的输入特征。
    • 然后通过随机梯度下降算法优化矩阵分解模型(包括融合函数)。

    更好的做法是共同训练 HIN embedding 模型和矩阵分解模型,使得监督信息能够输入给 HIN embedding 模型。此时,HIN embedding 模型捕获矩阵分解模型的残差,从而构成 boosting 范式。

  5. HERec 训练算法:

    • 输入:

      • HIN G=(V,E)
      • 用户的 metapath 集合 P(U)itemmetapath 集合 P(I)
      • embedding 维度 d
      • 潜在因子向量的维度 D
      • 随机游走序列长度 l
      • 上下文窗口大小 w
      • 每个节点开始的随机游走序列数量 r
      • user-item 评分集合 O
      • 学习率 η
      • 超参数 α,β
      • 正则化系数 λ,λγ,λΘ
    • 输出:

      • 用户的潜在因子 {xu}uUitem 的潜在因子 {yi}iI
      • HIN embedding 配对的潜在因子 {γu(U)}uU,{γu(I)}iI
      • 融合函数的参数 Θ(U),Θ(I)
    • 算法步骤:

      • 根据 HIN embedding 算法获取每个用户 metapath Pk(U)P(U)embedding ,得到用户 embedding {eu(k)}uUk=1,,K

      • 根据 HIN embedding 算法获取每个 item metapath Pk(I)P(I)embedding ,得到 item embedding {ei(k)}iIk=1,,K

      • 基于标准的正态分布来初始化参数 {xu}uU,{yi}iI,{γu(U)}uU,{γi(I)}iI,Θ(U),Θ(I)

      • 迭代直到收敛,迭代步骤为:

        • 随机从 O 中选择一个三元组 <u,i,ru,i>
        • 基于经典的矩阵分解模型来更新参数 xu,yi
        • k=1,2,,K ,计算梯度 Θu,k(U)L 并更新 Θu,k(U)
        • 计算梯度 γu(U)L 并更新 γu(U)
        • k=1,2,,K ,计算梯度 Θi,k(I)L 并更新 Θi,k(I)
        • 计算梯度 γi(I)L 并更新 γi(I)
      • 返回 {xu}uU,{yi}iI,{γu(U)}uU,{γi(I)}iI,Θ(U),Θ(I)

  6. 算法复杂度:HERec 包含两个阶段:

    • HIN embedding 阶段:这一阶段主要通过 metapath based embedding 算法得到每个节点在不同 metapath 下的 embedding 。由于 DeepWalk 的算法复杂度为 O(d×|V|),其中 dembedding 维度。因此每个metapath 下,学习 user embedding 的算法复杂度为 O(d×|U|) ,学习 item embedding 的算法复杂度为 O(d×|I|) 。则整个HIN embedding 阶段的算法复杂度为 O(K×d×(|U|+|I|))

      值得注意的是:可以很容易地并行训练 HIN embedding 。我们将使用多线程模式来实现 HIN embedding,从而提高训练效率。

    • 矩阵分解MF 阶段:这一阶段通过联合学习融合函数和矩阵分解模型,从而得到最终的node representation

      对于每个三元组 <u,i,ru,i>,更新 xu,yi,γu(D),γi(I) 的算法复杂度为 O(D) ,其中 D 为潜在因子的维度。更新 Θu(U),Θi(I) 的算法复杂度为 O(K×D×d) 。在我们的方法中,K 通常都很小,而 d,D 都在几百维。因此 HERec 对于的大型数据集的训练非常高效。

      另外,SGD 随机梯度下降在实践中表现很好,在我们的数据集中具有很快的收敛速度。

25.2 实验

  1. 数据集:

    • 豆瓣电影数据集 Douban Movie:包含 13367 名用户在 12677 部电影上的 1068278 个评分。电影评分从 15 分。此外,数据集还包含用户和电影的社交信息和属性信息。
    • 豆瓣读书数据集 Douban Book:包含 13024 名用户在 22347 本图书上的 792026 个评分。书籍评分从 15 分。数据集也包含用户和书籍的社交信息和属性信息。
    • Yelp 数据集:包含 16239 名用户在 14282 个本地商家上的 198397 个评分。评分从 15 分。数据集包含用户和商家的社交关系和属性信息。

    这三个数据集的详细说明如下。可以看到这三个书籍除了属于不同的领域之外,它们的数据稀疏性也不同:Yelp 数据集非常稀疏,Douban Movie 数据集相对稠密。

    我们也给出这三个数据集用到的 meta-path 集合:

  2. 评估指标:我们采用 mean absolute error: MAEroot mean square error: RMSE 来评估推荐结果的质量。

  3. baseline 方法:

    • PMF:经典的概率矩阵分解模型,它将评分矩阵显式分解为两个低维矩阵。
    • SoMF:引入社交网络信息的矩阵分解模型。社交关系通过正则化引入并集成到基本的矩阵分解模型中。
    • FM-HIN:上下文感知的分解机模型,它能够利用各种辅助信息。在我们的实验中,我们抽取异质信息作为上下文特征,并将其集成到 FM 中。
    • HeteMF:一种矩阵分解模型,它利用了 HINmetapath-based 相似性。
    • SemRec: 一种加权HIN 上的协同过滤方法。它以相同的评分来连接用户和 item 。它通过加权的 metapath 以及加权的 ensemble 方法灵活地集成异质信息。
    • DSR:一种具有双重相似度正则化的矩阵分解方法。该方法同时对用户和相似度较高的 item、用户和相似度较低的 item 同时施加了约束。
    • HERec-dwHERec 的一个变体,它采用了同质网络的 DeepWalk 而忽略了 HIN 中节点的异质性。
    • HERec-mpHERec 的一个变体,它结合了 metapath2vec ++HIN embedding。这里它并没有执行随机游走序列的节点过滤,而是对包含异质节点的随机游走序列执行 embedding
    • HERec:我们提出的 HIN 推荐模型。在有效性实验中,我们采用个性化的非线性融合函数。

    我们的 baseline 全面覆盖了现有的评分预测方法:PMF, SoMF 为经典的 MF 预估方法; FM-HIN, HeteMF, SemRec, DSR 为基于 HIN 的推荐,它们使用metapath-based 相似性,代表了state-of-the-art 的、基于的 HIN 方法。

    我们提出的方法包含一个 HIN embedding 组件,它可以使用任何其它网络 embedding 方法取代。因此这里比较了两个变体:HERec-dwHERec-mp

  4. 配置:

    • 所有 MF 模型的潜在因子维度为 D=10 ,其它 baseline 配置要么使用原始论文的最佳配置,要么使用 10% 的验证集来择优。

    • 所有基于 HIN 的方法都需要指定metapath。我们在下表中给出使用的 metapath。我们选择比较短的 metapath (最多 4step),因为长的 metapath 可能会引入语义噪音。

    • 基于 HERec 的方法的配置为:embedding 维度 d=64、随机游走序列长度 l=40 、超参数 α=β=1.0

  5. 有效性实验:对每个数据集,我们将原始的评分数据拆分为训练集和测试集。

    • 对于豆瓣电影和豆瓣读书数据集,我们选择训练集的拆分比例分别为 {80%, 60%, 40%, 20%}
    • 对于Yelp 数据集,考虑到数据集非常稀疏,因此我们选择训练集的拆分比例为 {90%, 80%, 70%, 60%}

    在每种拆分比例下,我们训练每个模型并报告各模型在测试集上评估结果。对每种拆分比例我们随机拆分 10 次并评估 10 次,最终给出每个模型的评估均值。实验结果如下表所示。我们以 PMF 的结果作为基准,给出了其它方法相对于 PMF 的提升。

    结论:

    • 所有 baseline 方法中,基于 HIN 的方法(HeteMF,SemRec, FM-HIN, DSR)的性能优于传统 MF 方法(PMF,SoMF )。这证明了异质信息的有效性。

      值得注意的是:FM-HIN 模型在基于 HIN 的三个 baseline 中非常有效。一个直观解释是:在我们的数据集中,大多数原始特征是用户属性或 item 属性,这些属性信息可能包含了有效信息来改善推荐性能。

    • 我们的 HERec 方法始终优于 baseline 。和其它 HIN based 方法相比,HERec 采取了更有效的方式来利用 HIN 从而改进推荐系统。

    • HERec 在训练数据稀疏时的效果更为突出。如,在豆瓣图书数据集上使用 20% 的训练数据时,HERec 相对于 PMF 的提升高达 40%。这些结果表明了所提出方法的有效性,尤其是在稀疏数据集中。

    • HERec 的两个变体 HERec-dwHERec-mp 可以看到:

      • HERec-dw 的效果要差得多。HERec-dw 忽略数据的异质性,并将 HIN 视为同质网络。这表明异质信息的重要性。

      • HERec-mp 没有使用节点类型过滤,而是尝试使用异质序列将所有类型的节点都映射到相同的 embedding 空间中。相比较而言,HERec 进行节点过滤,从而将同质节点映射到相同的 embedding 空间。

        虽然 metapath2vec 更为通用,但是我们的方法在推荐任务中表现更好。我们的重点是学习 user embeddingitem embedding,而其它类型的对象仅用作构建同质邻域的桥梁。基于结果(HERec 优于 HERec-mp),我们认为执行 task-specific HIN embedding 有利于提高推荐性能。

  6. 不同融合函数:HERec 需要一种融合方法从而将节点的不同metapath 下的 embedding 转换为合适的形式。这里我们讨论不同融合方法的效果。

    我们将线性融合函数的 HERec 变体称作 HERec-sl,将个性化线性融合函数的HERec 变体称作 HERec-pl, 将个性化非线性融合函数的 HERec 变体称作 HERec-pnl 。我们给出三个数据集上不同变体的性能比较,如下图所示。

    • 总体而言,这些变体的性能为:HERec-pnl > HERec-pl > HERec-sl
    • 这三个变体中,简单的线性融合函数表现最差,因为它忽略了个性化和非线性。事实上,用户确实可能对 metapath 有不同的偏好,因此应在 metapath based 方法中予以考虑。因此个性化融合函数显然可以提高性能。
    • HERec-pnl 相对于 HERec-pl 的提升相对不大。一个可能的原因是:个性化的组合参数提高了线性模型的容量。尽管如此,通过考虑个性化和非线性变换, HERec-pnl 仍然表现最好。

    考虑到 HERec-pnl 效果最好,因此后续的实验都将采取 HERec-pnl

  7. 冷启动问题:HIN 有助于改善冷启动问题,因为虽然冷启动预测的评分记录较少,但是可以使用异质的上下文信息。我们以评分数量来衡量冷启动的严重程度。我们将测试集的用户根据他们的评分数量划分为三组:(0,5], (5,15], (15,30] 。可以看到,第一组的预测最为困难,因为他们的评分数量最少。

    这里我们仅选择 HIN based baseline 方法,包括 SoMF,HeteMF,SemRec,DSR, FM-HIN。我们报告了它们相对于 PMF 的提升比例。

    • 总体而言,所有方法都优于 PMF
  1. 不同 metapath:为分析 metapath 数量对模型效果的影响,我们考虑不同的 P 集合的效果。我们将这些 metapath 依次添加到 HERec 中,并检查模型性能变化。

    可以看到:

    • 用户节点开始的metapathitem 节点开始的 metapath 都有助于提升性能。
    • 通常而言,随着更多 metapath 的加入,性能通常会得到提高。但是,更多的metapath 并不总是能够提升性能,而是略有波动。原因是某些 metapath 可能包含噪音,或者与现有的 metapath 存在信息冲突。
    • 仅仅加入了几个 metapath,模型很快就实现了相对较好的性能。这证明了之前的发现:少量的高质量 metapath 就能带来较大性能改进。因此我们只需要选择少量的 metapath 就可以有效控制模型的复杂度。

  1. 参数敏感性:HERec 有几个关键的超参数。

    • 首先,对于基于矩阵分解的方法而言,最重要的超参数是潜在因子的维度 D 。我们将潜在因子维度 D 以步长为 55 增加到 50 ,然后检查模型性能和 D 的关系。可以看到:似乎使用 D=10 就可以达到最佳性能。这表明潜在因子数量 D 应该设为一个较小的值。

    • 然后我们固定潜在因子数量 D=10 ,然后探索超参数 α,β 。它们作为权重来融合precitor 中的不同信息。对 α,β,我们对其搜索的空间为 {0.1,0.5,1,2} 。可以看到:最佳参数在 (1,1) 附近。这表明 user HIN embeddingitem HIM embedding 都很重要。

      总体而言,模型性能随着 α,β 的变化趋势是平稳的。这表明 HERec 对这两个参数不是很敏感。

    • 最后我们研究性能随迭代次数的变化。可以看到 HERec 的收敛速度较快:对于稠密数据集(如豆瓣电影和豆瓣读书) 大约需要 4060 次迭代;对于稀疏数据集(如 Yelp),大约需要 20 次迭代。

二十六、GATNE[2019]

  1. network embeddingnetwork representation learning 是一种很有前途的方法,可以将网络中的节点投影到低维连续的空间,同时保持网络结构和固有属性。由于network embedding 推动了节点分类、链接预测、社区检测等下游 network learning 的重大进展,因此它最近引起了人们的极大关注。DeepWalk, LINE, node2vec 是将深度学习技术引入网络分析从而学习 node embedding 的开创性工作。NetMF 对不同 network embedding 算法的等价性equivalence 进行了理论分析,而随后的 NetSMF 通过稀疏化给出了可扩展的解决方案。然而,它们被设计为仅处理具有单一类型节点和边的同质网络homogeneous network

    最近,人们针对异质网络提出了 PTE, metapath2vec, HERec。然而,现实世界的网络应用(例如,电商)要复杂得多,不仅包含多种类型的节点和边,还包含一组丰富的属性。由于 embedding learning 的重要性和挑战性,已有大量工作尝试来研究复杂网络的 embedding learning 。根据网络拓扑(同质的或异质的)、属性(带属性或不带属性),论文《Representation Learning for Attributed Multiplex Heterogeneous Network》对六种不同类型的网络进行了分类,并在下表中总结了它们的相对进展。这六个类别包括:同质网络Homogeneous Network: HON、属性同质网络Attributed Homogeneous Network: AHON、异质网络Heterogeneous Network: HEN、属性异质网络Attributed Heterogeneous Network: AHEN、多重异质网络Multiplex Heterogeneous Network: MHEN、属性多重异质网络Attributed Multiplex Heterogeneous Network: AMHEN。可以看到,人们对 AMHEN 的研究最少。

    在论文《Representation Learning for Attributed Multiplex Heterogeneous Network》中,作者专注于 AMHENembedding learning,其中不同类型的节点可能与多种不同类型的边相连接,而且每个节点可能关联一组不同的属性。这在许多online application 中很常见。例如,在论文使用的四个数据集中,Twitter20.3%YouTube21.6%Amazon15.1%Alibaba16.3% 的边具有不止一种类型。例如,在电商系统中,用户可能与item 进行多种类型的交互,如点击click 、转化conversion 、加购物车add-to-cart 、收藏add-to-preference 。下图说明了这样的一个例子。显然, useritem 具有本质上不同的属性,不应该一视同仁。此外,不同类型的 user-item 交互意味着不同程度的兴趣,应该区别对待。否则,系统无法准确捕获用户的行为模式behavioral pattern 和偏好,因此无法满足实际使用的需求。

    下图中,左侧的用户和属性相关联,用户属性包括性别、年龄、地域;右侧的item 也和属性相关联,item 属性包括价格、品牌等。 user-item 之间的边有四种类型:点击、加购物车、收藏、转化(即购买)。中间的三个子图代表三种建模方式,从上到下依次为 HON, MHEN, AMHEN 。最右侧给出了在阿里巴巴数据集上不同模型相对于 DeepWalk 性能的提升。可以看到,GATNE-I 相比 DeepWalk 提升了 28.23%

    不仅因为异质性heterogeneity 和多重性 multiplicity ,在实践中处理 AMHEN 带来了几个独有的挑战:

    • 多重边 multiplex edge:每对节点 pair 对之间可以存在多种不同类型的关系,因此结合不同类型关系并学习统一的 embedding 非常重要。
    • 部分观测 partial observation:真实网络的数据实际上只有部分被观测到。如,一个长尾用户可能只与某些商品产生很少的交互。现有的大部分 network embedding 方法仅关注于 transductive 场景,因此无法解决长尾或冷启动问题。
    • 可扩展性scalability:真实网络通常具有数十亿个节点、数百亿甚至千亿的边。因此模型的可扩展性非常重要。

    为应对上述挑战,论文《Representation Learning for Attributed Multiplex Heterogeneous Network》提出了一种新颖的方法来捕获丰富的属性信息,并利用来自不同节点类型的多重拓扑结构multiplex topological structure ,即通用属性多重异质网络嵌入 General Attributed Multiplex HeTerogeneous Network Embedding: GATNEGATNE 的主要特性如下:

    • 作者正式定义了 attributed multiplex heterogeneous network embedding 问题,这是现实世界网络的更通用的representation
    • GATNE 同时支持 attributed multiplex heterogeneous networktransductive embedding learninginductive embedding learning 。论文还给出了理论分析,从而证明所提出的 transductive 模型比现有模型(如 MNE 更通用)。
    • 论文为 GATNE 开发了高效且可扩展的学习算法,从而能够有效地处理数亿个节点和数十亿条边。

    论文进行了广泛的实验,从而在四种不同类型的数据集(Amazon, YouTube, Twitter, Alibaba)上评估所提出的模型。实验结果表明:与 state-of-the-art 方法相比,论文的方法可以实现显著的提升。作者已经在阿里巴巴的分布式系统上部署了所提出的模型,并将该方法应用到了阿里巴巴的推荐引擎中。离线 A/B test 进一步证实了论文所提出方法的效果和效率。

  2. 相关工作:这里我们回顾了 network embeddingheterogeneous network embeddingmultiplex heterogeneous network embeddingattributed network embedding 相关的 state-of-the-art 方法。

    • Network Embeddingnetwork embedding 方面的工作主要包括两类,graph embedding: GEgraph neural network: GNN

      GE 的代表工作包括:

      • DeepWalk 方法通过随机游走在图上生成语料库,然后在语料库上训练 SkipGram 模型。
      • LINE 学习大型网络上的 node representation,同时保持一阶邻近性和二阶邻近性。
      • node2vec 设计了一个有偏的随机游走程序来有效地探索不同类型的邻域。
      • NetMF 是一个统一的矩阵分解框架,用于从理论上理解和改进 DeepWalk, LINE

      GNN 中的热门工作包括:

      • GCN《Semi-Supervised Classification with Graph Convolutional Networks》) 使用卷积运算将邻域的 feature representation 融合到当前节点的 feature representation 中。
      • GraphSAGE 提供了一种将网络结构信息和节点特征相结合的 inductive 方法。GraphSAGE 学习 representation 函数而不是每个节点的直接 embedding,这有助于它可以应用到训练期间 unseen 的节点。
    • Heterogeneous Network Embedding :异质网络包含各种类型的节点和/或边。众所周知,由于异质内容和结构的各种组合,这类网络很难挖掘。目前人们在嵌入动态的、异质的大型网络方面所作的努力有限。

      • HNE 共同考虑网络中的内容和拓扑结构,将异质网络中的不同对象表示为统一的向量 representation
      • PTElabel 信息和不同级别的 word co-occurrence 信息中构建大型异质文本网络,然后将其嵌入到低维空间中。
      • metapath2vec 通过 metapath-based 随机游走来构建节点的异质邻域,然后利用异质 SkipGram 模型来执行 node embedding
      • HERec 使用 metapath-based 随机游走策略来生成有意义的节点序列从而学习 network embedding 。这些 embedding 首先通过一组融合函数进行变换,然后集成到扩展的矩阵分解模型中。
    • Multiplex Heterogeneous Network Embedding:现有方法通常研究节点之间具有单一类型邻近关系proximity 的网络,它仅捕获网络的单个视图。然而,在现实世界中,节点之间通常存在多种类型的临近关系,产生具有多个视图的网络。

      • PMNE 提出了三种将多重网络投影到连续向量空间的方法。
      • MVE 使用注意力机制将多视图网络嵌入到单个协同的 embedding 中。
      • MNE 对每个节点使用一个 common embedding 以及若干个 additional embedding ,其中每种类型的边对应一个 additional embedding 。这些 embedding 由一个统一的 network embedding 模型来共同学习。
      • mvn2vec 探索了通过同时建模 preservationcollaboration 以分别表示不同视图中边语义 edge semantic meaning 从而实现更好的 embedding 结果的可行性。
    • Attributed Network Embedding:属性网络旨在为网络中的节点寻找低维向量 representation,以便在 representation 中同时保持原始网络拓扑结构和节点属性邻近性。

      • TADW 在矩阵分解框架下,将节点的文本特征融入 network representation learning 中。
      • LANElabel 信息平滑地融合到属性网络 embedding 中,同时保持节点的相关性。
      • AANE 能够以分布式方式完成联合学习过程,从而加速属性网络 embedding
      • SNE 提出了一个通用框架,通过捕获结构邻近性和属性邻近性来嵌入社交网络。
      • DANE 可以捕获高度非线性并保持拓扑结构和节点属性中的各种邻近性。
      • ANRL 使用邻域增强自编码器对节点属性信息进行建模,并使用基于属性编码器和属性感知 SkipGram 模型来捕获网络结构。

26.1 模型

26.1.1 基本概念

  1. 给定图 G=(V,E) ,其中 V 为节点集合 V={v1,,vn}E 为边的集合 E={ei,j} 。每条边 ei,j=(vi,vj) 都有一个权重 wi,j0 ,它表示节点 vivj 的关系强度。

    G 可以为有向图,而也可以为无向图。对于无向图有 ei,j=ej,iwi,j=wj,i ,对于有向图则有 ei,jej,iwi,jwj,i

  2. 异质网络Heterogeneous Network 定义:一个异质网络 G=(V,E) 关联一个节点类型映射函数 :ϕ:VO ,以及一个边类型映射函数:ψ:ER ,其中 OR 代表所有节点类型的集合和所有边类型的集合。每个节点 vV 属于某个节点类型,每条边 eE 属于某个边类型。如果 |O|+|R|>2,则这个网络被称作是异质的heterogeneous ,否则是同质的 homogeneous

    对于异质网络,考虑到节点 vi,vj 之间可能存在多条边,每条边属于不同的类型。因此我们标记边为 ei,j(r),它表示 vivj 之间类型为 rR 的边。

  3. 属性网络Attributed Network 定义:一个属性网络 G=(V,E,A) ,其中每个节点 viV 关联一个属性向量 xiA 为所有节点的属性集合: A={xiviV}

  4. 属性多重异质网络Attributed Multiplex Heterogeneous Network: AMHEN定义:一个属性多重异质网络 G=(V,E,A) ,其中 E=rRErEr 由所有类型为 r 的边组成,并且 |R|>1 。我们根据边的类型将图 G 拆分为独立的多个视图:Gr=(V,Er,A)

  5. AMHEN Embedding 问题:给定一个 AMHEN 网络 G=(V,E,A),对每种边的类型 rR ,学习每个节点的低维 embedding 。即,对每种边类型 r ,找到函数 fr:VRd ,其中 d|V|

    对节点 vi,这里为每个视图 rR 学习一个 embedding ,而不是所有视图共享一个 embedding 。这有两个好处:

    • 首先,可以通过各个视图的 embedding 来聚合得到一个所有视图共享的 embedding
    • 其次,各个视图的 embedding 保持了各个视图的语义,因此可以用于 view-level 的任务,例如某个视图下的链接预测。
  6. 我们首先在 transductive 上下文中提出 GATNE 框架,对应的模型称作 GATNE-T 。我们还将 GATNE-T 与新的流行模型(如 MNE)之间的联系进行了讨论。

    为解决部分观测partial observation 问题,我们进一步将模型扩展到 inductive 上下文中,并提出了 GATNE-I 模型。针对这两个模型,我们还提出了有效的优化算法。

26.1.2 GATNE-T

  1. transductive 环境中,我们将给定节点 vi 在关于边类型 roverall embedding 拆分为两个部分,如下图所示:

    • base embedding:节点 vibase embedding 在节点的不同边类型之间共享。
    • edge embedding:节点 vi 在视图 Grembedding

  2. 现在考虑 edge embedding 。类似于 GraphSage,我们假设节点 viGr 上的 embedding 一共有 K 层,第 1kKembedding 为:

    ui,r(k)=agg({uj,r(k1)vjNi,r})

    其中:

    • Ni,r 为节点 vi 在视图 Gr 上的邻居节点集合。

    • agg 为一个聚合函数。类似于 GraphSAGE,它可以为均值聚合:

      ui,r(k)=σ(W^(k)mean({uj,r(k1)vjNi,r}))

      也可以为池化聚合,如最大池化:

      ui,r(k)=max({σ(W^pool(k)uj,r(k1)+bpool(k)^)vjNi,r})

      其中 σ() 为激活函数。

    • ui,r(0)transductive 模型中通过随机初始化。

    Kembedding ui,r(K) 为节点 viembedding ui,r 。我们拼接节点 vi 所有的类型 rembedding 得到节点 viembedding 矩阵:

    Ui=(ui,1,,ui,|R|)Rs×|R|

    其中 sedge embedding 的维度, |R| 为边的类型数量。

    进一步地,我们使用 self-attention 机制来计算加权系数 ai,r ,从而线性组合 {ui,1,,ui,|R|} ,得到节点 viedge embedding

    ai,r=softmax(wrtanh(WrUi))R|R|u^i,r=Uiai,rRs

    其中:

    • wrRdaWrRda×s 都是针对边类型 r 的参数。
    • u^i,r 为最终节点 vi 在节点类型为 r 上的 edge embedding

    注意,这里在每种节点类型上都计算一个 self-attention,而并不是所有节点类型共享同一个 self-attention

  3. 假设节点 vibase embeddingbiRd,节点 vi 在视图 Gr 上的 embeddingu^i,r=Uiai,r 。则节点 vi 在边类型为 r 上的 overall embedding 为:

    vi,r=bi+αrMru^i,r=bi+αrMrUiai,r

    其中:

    • MrRs×d 为一个线性映射的转化矩阵,用于将 edge embedding 映射到和 base embedding 的同一空间。

    • αr 为超参数,用于平衡 base embeddingedge embedding 的重要性。

      Mr~=αr×Mr,则通过学习参数 M~r 就相当于间接学习了 αrMr 。因此这里的 αr 似乎没有必要?

      另外,这里 embedding 训练的目标是什么?要保持什么属性?论文都未提及。根据论文的示意图,猜测是用异质 SoftMax 保持一阶邻近性。

26.1.2 GATNE vs MNE

  1. 这里我们讨论 GATNE-TMNE 的关系。在 GATNE-T 中,我们使用 attention 机制来捕获不同边类型之间的影响因子。我们从理论上证明,GATNE-TMNE 的更为泛化的形式,可以提高模型的表达能力。

  2. MNE 模型中,节点 vi 在类型 r 的边上的 overall embedding 为:

    v~i,r=bi+αrXroi,r

    其中 Xr 为类型 r 的边采用的映射矩阵。

    相比之下,GATNE-T 中,节点 vi 在边类型为 r 上的 overall embedding 为:

    vi,r=bi+αrMrUiai,r=bi+αrMrp=1|R|λpui,p

    其中 λpai,r 的第 p 个元素,并且计算为:

    λp=exp(wrtanh(Wrui,p))t=1|R|exp(wrtanh(Wrui,t))
  3. 定理:对于任意 rR,存在参数 wr 以及 Wr,使得对于任意 oi,1,,oi,|R|Rs 以及对应的 XrRs×d,存在 ui,1,,ui,|R|Rs+|R| 以及对应的 MrR(s+|R|)×d,满足 vi,rv~i,r

    证明见原始论文。

    因此,GATNE-T 的模型空间几乎包含了 MNE 的模型空间。

26.1.3 GATNE-I

  1. GATNE-T 的局限性在于它无法处理未观测数据。实际很多应用中,我们获得的数据只是部分观测的。这里我们将模型扩展到 inductive 环境中,并提出了 GATNE-I

    • 我们将节点 vibase embedding bi 定义为节点属性 xi 的函数:

      bi=hz(xi)

      其中 hz 为一个映射函数,并且 z=ϕ(i) 为节点 vi 对应的类型。

      即,不同类型的节点采用不同类型的映射函数。

      注意:不同类型的节点可能具有不同维度的属性 xi 。函数 hz 可能具有不同的形式,如多层感知机。

    • 类似地,节点 i 对于边类型 r 的初始 edge embedding ui,r(0) 也可以视为 xi 的函数:

      ui,r(0)=gz,r(xi)

      其中 gz,r 也是一个映射函数,将节点 vi 的属性转换为边类型 redge embedding,其中 z 为节点 vi 的节点类型。

    • 进一步地,在 inductive 环境下,我们为最终的 overall embedding 添加了一个额外的属性项:

      vi,r=hz(xi)+αrMrUiai,r+βrDzxi

      其中 βr 为平衡系数,Dz 为节点类型为 z 的属性映射矩阵。

  2. GATNE-T 仅使用网络结构信息,而 GATNE-I 考虑了网络结构信息和节点属性信息。我们采用异质 SkipGram 算法,它的输出层给出了一组多项式分布,每个分布对应于输入节点 v 的邻域的每种节点类型。

    如下图所示,这里有三种类型的节点(红色、绿色、蓝色)、两种类型的边(蓝色、橙色)。节点集合 V=V1V2V3K1,K2,K3 分别为节点 v 的不同节点类型的邻域大小。

  3. GATNE-TGATNE-I 的区别主要在于 base embedding bi 和初始 edge embedding ui,r(0) 的生成方式。

    • transductiveGATNE-T 中,每个节点的 base embedding bi 和初始 edge embedding ui,r(0) 基于网络结构来直接训练,并且 GATNE-T 无法处理训练期间未曾见过的节点。
    • inductiveGATNE-I 中,每个节点的 base embedding bi 和初始 edge embedding ui,r(0)并不是针对每个节点进行训练,而是训练映射函数 hz()gz,r(),它们从原始的属性 xi 映射到节点的 base embedding bi 和初始 edge embedding ui,r(0) 。这可以适用于训练期间从未出现过的节点。。

26.1.4 模型学习

  1. 下面我们讨论如何学习 GATNE-TGATNE-I 。我们使用随机游走来生成节点序列,然后使用 SkipGram 来学习节点 embedding 。由于输入网络的每个视图都是异质的,因此我们使用 metapath-based 随机游走。

    给定网络在边类型 r 上的视图 Gr=(V,Er,A),以及一个 metapath schema T:V1V2VtVl ,其中 lschema 的长度。则在随机游走的第 t 步的转移概率为:

    p(vjvi,T)={1|Ni,rVt|,(vi,vj)Er,vjVt+10,(vi,vj)Er,vjVt+10,(vi,vj)Er

    其中 viVtNi,r 为节点 vi 在边类型 r 上的邻域。

    基于 metapath 的随机游走策略可以确保不同类型节点之间的语义关系能够适当地融合到 SkipGram 模型中。

  2. 假设随机游走在视图 Gr 上产生一条长度为 l 的随机游走序列 P=(vp1,,vpl),其中 (vpt1,vpt)Er,t=2,,l 。定义 vpt 的上下文为:C={vpkvpkP,|kt|c,tk} ,其中 c 为窗口大小。

    给定节点 vi 及其上下文 C,我们的目标是最小化负的对数似然:

    logPθ({vjvjC}vi)=vjClogPθ(vjvi)

    其中 θ 表示所有的参数。

    metapath2vec 一样,我们也使用 heterogeneous softmax 函数,该函数针对节点 vj 的节点类型进行了归一化。具体而言,给定 vi 条件下 vj 的概率为:

    Pθ(vjvi)=exp(cjvi,r)kVtexp(ckvi,r)

    其中 vjVtck 为节点 vkcontext embedding 向量, vi,r 为节点 vi 在边类型 r 上的overall embedding 向量。

    这里分母仅考虑节点 vj 所属类型的节点集合。注意,节点 vi 的类型与 vj 的类型可能不一致,它们的节点类型规则由 metapath 给出。

  3. 最后,我们使用异质负采样heterogeneous negative sampling 来近似每对 (vi,vj) 的损失函数 logPθ(vjvi)

    L(vi,vj)=logσ(cjvi,r)l=1LEvkPt(v)[logσ(ckvi,r)]

    其中:σ(x)sigmoid 函数,L 为负采样系数,vk 为从噪音分布 Pt(v) 中随机采样的节点,Pt(v) 是根据节点 vj 对应类型的节点集 Vt 来定义的噪音分布 noise distribution

  4. GATNE 算法:

    • 输入:

      • 网络 G=(V,E,A)
    • overall embedding 维度 d

      • edge embedding 维度 s
      • 学习率 η
      • 一组 metapath schema
      • 负采样系数 L
      • 随机游走序列长度 l
      • 上下文窗口大小 c
      • 平衡系数 α,β
      • 模型深度 K
    • 输出:每个节点 vi 在每个边类型 r 上的 overall embedding vi,r

    • 算法步骤:

      • 初始化模型所有的参数 θ

      • 对于每个边类型 r ,根据 metapath schema 生成随机游走序列 Pr

      • 对每个边类型 r ,从随机游走序列 Pr 中生成训练样本 {(vi,vj,r)}

      • 迭代直到收敛。迭代步骤为:

        • 节点pair 对在每个边类型上迭代(即 (vi,vj,r)) :

          • 根据 vi,r=bi+αrMrUiai,rGATNE-T) 或者 vi,r=hz(xi)+αrMrUiai,r+βrDzxi (GATNE-I) 计算 vi,r
          • 采样 L 个负样本,并根据 L(vi,vj)=logσ(cjvi,r)l=1LEvkPt(v)[logσ(ckvi,r)] 计算损失函数。
          • 更新模型参数: θθηθL
  5. GATNE 算法中,基于随机游走算法的时间复杂度为 O(n×|R|×dL) ,其中 n 为节点数量,|R| 为边类型数量, doverall embedding 维度, L 为负采样系数。

    空间复杂度为 O(n×(d+|R|×s)) ,其中 sedge embedding 维度。

26.2 实验

  1. 这里我们首先介绍四个评估数据集和 baseline 算法的细节。我们聚焦于链接预测任务,从而对比我们的方法与其它 state-of-the-art 方法。然后我们讨论参数敏感性、收敛性、可扩展性。最后我们在阿里巴巴推荐系统上报告了我们方法的离线 A/B test 结果。

  2. 数据集:

    • Amazon Product Dataset:它是来自 Amazon 的商品评论和商品 metadata 的数据集。在我们的实验中,我们仅使用商品 metadata,包含商品属性以及商品之间的共同浏览 co-viewing, 共同购买co-purchasing 关系。商品属性包括:价格、销售排名、品牌、类目。

      数据集的节点类型集合为 O={product} 。数据集的边类型集合为 Error: '_' allowed only in math mode ,这表示两个商品分别由同一个用户共同购买或者共同浏览。数据集中的商品被划分为很多类目 category。如果考虑所有商品则规模庞大,因此我们选择“电子”类目的商品进行试验。但是对很多 baseline 算法来讲,电子类目的商品数量仍然过于庞大,因此我们从整个图中提取了一个连通子图 connected subgraph

    • YouTube Dataset:由 15088 个用户的各种互动行为组成的多重网络。一共包含 5 种互动类型,包括: 联系 contact ,共享好友shared friends,共享的订阅 shared subscription, 共享的订阅者shared subscriber,共享的收藏视频shared favorite vieoes 。因此在该数据集中, |O|=1 ,以及 |R|=5

    • Twitter Dataset:包含 2012-07-012012-07-07 之间与希格斯玻色子Higgs boson 的发现相关的推文。它由 450000Twitter 用户之间的四种关系组成,包括:转发re-tweet,回复 reply,提及mention,好友/关注者 friendship/follower 。 因此在该数据集中, |O|=1 ,以及 |R|=4

    • Alibaba Dataset:包含 useritem 两种类型的节点,并且 user-item 之间存在四种交互类型。交互包括:点击click 、添加到收藏add-to-preference 、加到购物车add-to-cart 、以及转化conversion (即购买)。因此, O={user,item} ,边的类型集合 |R|=4

      整个数据集太大无法在单台机器上评估不同方法的性能,因此我们在采样后的数据集上评估模型性能。 采样的阿里巴巴数据集称作 Alibaba-S 。另外,我们也在阿里巴巴分布式云平台上对完全的数据集进行评估,完整的数据集称作 Alibaba

    下表给出了这些数据集的统计信息,其中 n-typese-types 分别表示顶点类型和边类型的数量。

    另外,由于单台机器的限制,我们用到的公共数据集是从原始公共数据集中采样的子图。下表给出了原始公共数据集的统计信息。

  3. baseline:我们对比了以下几组baseline

    • Network Embedding Method:包括 DeepWalk,LINE,noe2vec 。由于这些方法只能处理同质图,因此我们向它们提供具有不同类型边的独立视图,并为每个视图获取node embedding

    • Heterogeneous Network Embedding Method:使用 metapath2vec。当网络只有一种类型的节点时,它退化为 DeepWalk

    • Multiplex Heterogeneous Network Embedding Method:比较的方法包括 PMNE,MVE,MNE

      我们将 PMNE 的三种方法分别表示为 PMNE(n),PMNE(r),PMNE(c)MVE 使用 collaborated context embedding 并将注意力机制应用于 view-specific embeddingMNE 对每种边类型使用一个 comment embedding 和一个 additional embedding,这些 embedding 由统一的 network embedding 共同学习。

    • Attributed Network Embedding Method:我们使用 ANRLANRL 使用邻域增强自编码器对节点属性信息进行建模,并使用基于属性编码器的属性感知 SkipGram 模型来捕获网络结构。

    • Attributed Multiplex Heterogeneous Network Embedding Method:使用我们提出的 GATNE

    另外,由于阿里巴巴数据集超过 4000 万顶点、5 亿条边,规模太大。考虑其它baselinescalability,我们仅在该数据集上比较 GATNE, DeepWalk, MVE, MNE 等模型。

    对于一些没有节点属性的数据集,我们为它们生成节点特征。

  4. 运行环境:我们的运行环境分为两个部分:

    • 一个是单台 Linux 服务器,其配置为 4 Xeon Platinum 8163 CPU @2.50GHz512G Ram8 NVIDIA Tesla V100-SXM2-16GB 。该服务器用于训练四个较小的数据集。
    • 另一个是分布式云平台,包含数千个 worker,每两个 worker 共享一个 NVIDIA Tesla P100 GPU(16GB 显存) 。该平台用于训练最大的完整的阿里巴巴数据集。

    单机版可以分为三个部分:随机游走、模型训练和模型评估。随机游走部分参考 DeepWalkmetapath2vec 的相应部分来实现。模型训练部分参考 tensorflowword2vec 教程来实现。模型评估部分使用了 scikit-learn 中的一些标准评估函数。模型参数通过使用 Adam 的随机梯度下降进行更新和优化。

    分布式版根据阿里巴巴分布式云平台的编程规范来实现,以最大化分布式效率。

  5. 参数配置:

    • 所有方法的 base/overall embedding 维度均为 d=200edge embedding 维度为 s=10

    • 每个节点开始的随机游走序列数量为 10,随机游走序列长度为 10,上下文窗口大小为 5,负采样系数为 5 ,用于训练 SkipGram 模型的迭代数量为 100

    • 对于阿里巴巴数据集,metapath schema 设置为 U-I-UI-U-I。其中 U 表示用户顶点,I 表示item 顶点。(metapath2vecGATNE 都采用这种schema

    • DeepWalk:对于小数据集(公开数据集和 Alibaba-S 数据集),我们使用原作者的 Github 代码。对于阿里巴巴数据集,我们在阿里云平台上重新实现了 DeepWalk

    • LINE:我们使用原作者的 Github 代码。我们使用 LINE(1st+2nd) 作为 overall embedding。一阶embedding 和二阶 embedding 大小均为 100。样本量设为 10 亿。

    • node2vec:我们使用原作者的 Github 代码,其中超参数 p=2,q=0.5

    • metapath2vec:作者提供的代码仅适用于特定的数据集,无法推广到其它数据集。我们基于原始 C++ 代码,用 python 重新开发从而为任意顶点类型的网络重新实现了 metapath2vec

      对于三个公共数据集,由于节点类型只有一种,因此 metapath2vec 退化为 DeepWalk。对于阿里巴巴数据集, metapath schema 设置为 U-I-UI-U-I

    • PMNE:我们使用原作者的 Github 代码,其中 PMNE(c) 的层级转移概率为 0.5

    • MVE:我们通过 email 从原作者取到代码。每个视图的 embedding 维度为 200,每个 epoch 训练样本为 1 亿,一共训练 10epoch

      对于阿里巴巴数据集,我们在阿里云平台上重新实现了该方法。

    • MNE:我们使用原作者的 Github 代码。对于阿里巴巴数据集,我们在阿里云平台上重新实现了该方法。

      我们将 additional embedding 维度设为 10

    • ANRL:我们适用来自阿里巴巴的 Github 代码。

      由于 YouTubeTwitter 数据集没有节点属性,因此我们为它们生成节点属性。具体而言,我们将顶点经过DeepWalk 学到的 200embedding 视为节点属性。

      对于 Alibba-SAmazon 数据集,我们使用原始特征作为属性。

    • GATNE

      • 最大的 epoch 设为 50。如果 ROC-AUC 指标在验证集上有 1 个训练 epoch 未能改善,则我们执行早停。
      • 对于每个边类型 r ,系数 αr,βr 都被设为 1
      • 我们使用 tensorflowAdam 优化器,并使用默认配置,学习率设为 0.001
      • 对于 A/B test 试验,我们设置 N=50 (用于计算 top N 命中率)。
      • GATNE 可以采用不同的聚合函数,如均值聚合或池化聚合都达到了相似的性能。最终我们在这里使用了均值聚合。
      • GATNE-I 中,我们采用 hzgz,r 均为线性函数。
  6. 我们通过链接预测任务来比较不同模型的效果。对于每个原始图,我们分别创建了一个验证集和测试集。

    • 验证集包含 5% 随机选择的 postive 边、5% 随机选择的 negative 边,它用于超参数选择和早停。
    • 测试集包含 10% 随机选择的 postive 边、10% 随机选择的 negative 边,它用于评估模型,并且仅在调优好的超参数下运行一次。我们使用 ROC 曲线 (ROC-AUC)、 PR 曲线( PR-AUC)以及 F1 指标来评估。所有这些指标都在所选择的边类型之间取均值。

    我们将剔除这些 postive 边剩下的图作为训练集来训练 embedding 以及分类器。下图给出了三个公共数据集和 Alibba-S 的试验结果。

    可以看到:

    • GATNE 在所有数据集上优于各种 baseline

    • 由于节点属性比较少,所以 GATNE-TAmazon 数据集上性能优于 GATNE-I。而阿里巴巴数据集的节点属性丰富,所以 GATNE-I 的性能最优。

    • ANRL 对于节点属性比较敏感,由于 Amazon 数据集的节点属性太少,因此其效果相对其它baseline 最差。

      另外,阿里巴巴数据集中 UserItem 的节点属性位于不同的空间,因此 ANRLAlibaba-S 数据集上效果也很差。

    • YoutubeTwitter 数据集上,GATNE-I 性能类似于 GATNE-T,因为这两个数据集的节点属性是 Deepwalk 得到的顶点 embedding,它是通过网络结构来生成的。

    进一步地,我们给出阿里巴巴数据集的实验结果。

    • GATNE 可以很好地扩展到阿里巴巴数据集上,并实现最佳效果。与之前的 state-of-the-art 算法相比,PR-AUC 提高 2.18%ROC-AUC 提高 5.78%F1 得分提高 5.99%
    • 在大规模数据集中,GATNE-I 的性能超越了 GATNE-T,这表明 inductive 方法在 AMHEN 中效果更好。

  7. 收敛性分析:我们在阿里巴巴数据集上分析了GATNE 的收敛性,如下图所示。可以看到:在大规模真实数据集上,GATNE-I 的收敛速度更快、性能更好。

  8. 可扩展性分析:我们研究了 GATNEscalability 。如下图所示,我们给出了阿里巴巴数据集中,不同 worker 数量的加速比。可以看到:GATNE 在分布式平台上具有很好的可扩展性,当增加 worker 数量时训练时间显著降低。

  9. 超参数敏感性:我们研究了不同超参数的敏感性,包括 overall embedding 维度 dedge embedding 维度 s 。下图给出了从给定配置 d=200,s=10 更改 dsGATNE 的性能。可以看到:GATNE 的性能在较大范围的 ds 时相对稳定,当 ds 太大或太小时性能会有降低。

  10. 我们在阿里云分布式平台上为我们的推荐系统部署了 GATNE-I。训练数据集包含 1 亿用户和 1000item, 每天有 100 亿次交互。我们用该模型为用户和商品生成 embedding 向量。对于每个用户,我们使用 kNN 和欧式距离来计算用户最有可能点击的 top N item 。我们的目标是最大化 top N 的命中率。

    推荐的 topN 列表中包含用户点击的商品,则认为是命中。命中的推荐列表占所有推荐列表的比例,则为命中率。

    A/B test 框架下,我们对 GATNE-I, MNE, DeepWalk 进行离线测试。结果表明:与 GATNE-I 的命中率比 MNE 提高 3.25%、比 DeepWalk 提高 24.26%

    这一对比没有多大实际意义,因为阿里巴巴在线推荐框架不太可能是 MNE 或者 DeepWalk 这种简单的模型。

  11. 目前已有的一些公共数据集,并没有公开的训练集、验证集、测试集拆分方式。这导致在同一个数据集上进行随机拆分,最终评估的结果会不同。因此,我们无法使用先前论文中的结果。研究人员必须重新实现并运行所有的 baseline 模型,从而减少了他们对于改进自己提出的模型的关注。

    这里我们呼吁所有的研究人员提供标准化的数据集,其中包含标准化的训练集、验证集、测试集拆分。研究人员可以在标准环境下评估他们的方法,并直接比较各论文的结果。这也有助于提高研究的可重复性 reproducibility

  12. 除了网络的异质性之外,网络的动态性对于网络表示学习也至关重要。捕获网络动态信息的方法有三种:

    • 可以将动态信息添加到节点属性中。如我们可以用 LSTM 之类的方法来捕获用户的动态行为。
    • 动态信息(如每次交互的时间戳)可以视为边的属性。
    • 可以考虑代表网络动态演化的几个快照。

    我们将动态属性的多重异质网络的representation learning 作为未来的工作。

二十七、MNE[2018]

  1. network embedding (也称作 graph embedding )使用稠密向量来表达节点,并且已被很好地研究了多年。最近,受循环神经网络 RNN 的启发,人们基于图上的随机游走和随机梯度下降优化从而对 network embedding 进行了重新研究和开发,并可以应用于非常大的图。节点的 embedding 向量可用于编码网络的一些拓扑结构,然后可以作为下游模型的特征。network embedding 已被证明有助于网络分析任务,包括链接预测、节点分类、社区检测。

    有些网络呈现多重性multiplexity 的特点,尤其是对于社交网络。在社交网络分析中,多重性是指两个人之间的多方面关系。如果我们把这个思想推广到各种网络,多重网络 multiplex network 是指网络中包含多种类型的关系,其中每一种关系都可以构成网络的一个子网(也称作一层 layer 或子图)。以社交网络为例。在 Facebook 等社交网络中,用户之间存在不同类型的交互,如好友关系、转发文章关系、聊天关系、转账关系。每种关系都将在所有用户之间创建一个子网。如果我们将所有关系视为一个统一的整体,那么我们将得到一个巨大的多重网络。虽然网络的每个子网仅能代表用户之间的一种交互,但是为了更好地理解多重网络整体,最好把来自这些子网的不同类型的信息集成在一起,而不牺牲各种类型信息的特有属性。

    考虑到网络可能很大的事实,在论文《Scalable Multiplex Network Embedding》中,作者提出了一种可扩展的多重网络embedding 模型,从而有效地将多类型关系multi-type relation 的信息存储和学习到统一的 embedding 空间中。

    • 对于每个节点,论文提出一个高维的 common embedding 向量,该向量在多重网络的所有子网中共享。论文通过 common embedding 向量在网络的不同子网之间建立桥梁。
    • 对于每个节点,为了在不同子网上以较低内存需求的方式学习各子网的独有属性,论文还为每种类型的关系提出了一个低维的 additional embedding

    论文的贡献仅仅是这一个点,总体而言没有什么大的创新点,不够深入,一篇“水文”。

    为了将这些不同维度(有高维的、有低维的)的 embedding 对齐,论文为网络的每个子网引入了一个全局变换矩阵global transformation matrix 。遵从 DeepWalk,论文使用随机梯度下降来优化所提出的模型。由于全局变换矩阵的更新次数要比节点向量的更新次数多得多,因此论文添加了一个额外的正则化项来约束全局变换矩阵的范数。

    总而言之,本文贡献如下:

    • 论文正式定义了多重网络 embedding 问题,以及处理网络的多重属性 multiplexity property
    • 论文提出了一种可扩展的多重网络 embedding 模型,该模型将来自多类型关系multi-type relation 的信息表达到统一的 embedding 空间中。
    • 论文在链接预测、节点分类这两个网络分析任务上评估了所提出的 embedding 算法。和当前的 state-of-the-art 模型相比,所提出的模型实现了更好或相当的性能,并且内存占用更少。
  2. 相关工作:

    • 多重网络分析:传统上,在社会科学中,多重性multiplexity 被用于描述用户之间社交关系的多个方面。多重性的思想可以推广到各种网络。在数据挖掘社区中,人们有时也使用 “多关系网络” multi-relational network 这个术语来表达社交网络中的多类型关系multi-type relation ,并验证在社交网络中考虑多类型关系可以帮助进行社区挖掘或链接预测等数据挖掘任务。此外,在生物信息学社区中,人们已经表明通过集成多个网络,可以改善 node representation 从而帮助基因功能分析。

      如今,多重网络上的图挖掘方法主要针对特定任务。对于链接预测,可以将传统方法应用于多重网络,而无需考虑边的类型信息。对于社区检测,《A degree centrality in multi-layered social network》 提出了跨子网的中心度centrality 度量从而捕获多重网络中节点的中心度。除此之外,人们还提出了多子网局部聚类系数 multilayered local clustering coefficient: MLCC 和跨子网聚类系数 cross-layer clustering coefficient: CLCC 来描述多重网络中节点的聚类系数。

      在本文中,我们从 network embedding 的角度提出了多重网络分析的通用解决方案。

    • network embeddingnetwork embedding(也称作graph embedding)已被很好地研究了很多年。network embedding 也与流形学习manifold learning 有关,而流形学习通常应用于高维数据的降维。network embedding 侧重于为真实网络生成节点的向量representation ,从而促进对网络的进一步分析。传统的 network embedding 方法通常涉及耗时的计算,例如用于分析图的谱属性 spectral property 的特征值分解 eigenvalue decomposition 。然而,由于真实世界的网络规模可能很大,这类方法算法复杂度太高从而不可行。

      最近,受到循环神经网络 RNN 发展的启发,尤其是高效的 word embedding 方法,人们已经提出了许多 network embedding 方法来处理大型社交网络。例如,DeepWalk 提出在网络上执行随机游走从而生成节点序列,然后对这些序列执行 SkipGram 算法从而生成节点 embedding。在 DeepWalk 之上,Node2Vec 增加了两个超参数来控制随机游走过程从而实现有偏biased 的随机游走。其它的一些 embedding 模型专注于网络中特定类型的结构。例如,LINE 尝试使用 embedding 来逼近网络的一阶邻近性和二阶邻近性。

      上述所有模型都已被证明对单一网络single network 的分析有用,但它们都没有考虑多重性。最近,《Principled multilayer network embedding》 提出了三种方法来从多重网络中学习一个整体 embedding 。与该方法不同,我们提出一个高维的 common embedding、以及每种类型的关系一个低维的 additional embedding 。最近的一项工作 《Multi-layered network embedding》 本质上是一个异质的信息网络,因为在该论文中,不同的子网有不同类型的节点。

27.1 模型

  1. 给定多重网络 multiplex network G=(V,E),其中 V={v1,v2,,vn} 。假设网络有 M 种不同的关系类型,对应的边集合为 E1,E2,,EM ,其中 EmE,m=1MEm=E 。定义类型为 m 的子网为 Gm(V,Em)

    对于每个节点 viV ,我们有一个 common embedding 向量 biRd ,它在所有关系类型之间共享。我们使用 common embedding 向量作为跨不同关系类型传输信息的桥梁。

    为捕获不同关系类型的特点,对于每个节点我们在每个子网 Gm 上还有一个 additional embedding 向量 ui(m)Rs 。为了防止模型整体太大,我们选择 sdn

    为了将 additional embedding 空间映射到 common embedding 空间,我们引入变换矩阵 X(m)Rs×d 。最终我们定义节点 vi 在子网 Gm 下的 embedding 向量为:

    vi(m)=bi+w(m)×X(m)ui(m)

    其中 w(m) 为超参数,表示关系类型 m 的全局重要性。

    这里变换矩阵是节点无关的,它在所有节点 V 上共享。 超参数 w(m) 也可以通过模型从数据中学到。

  2. 对于多重网络 G 中的关系类型 m ,我们对 Gm 进行随机游走从而生成节点序列,然后对这些节点序列执行 SkipGram 算法学习 node embedding

    对于 Gm 中的随机游走序列,假设节点 vi 在大小为 c 的上下文窗口中的邻居节点集合为 Nvi(m),则SkipGram 的目标函数为:

    logP(m)(Nvi(m)vi)=logvjNvi(m)logp(m)(vjvi)

    我们定义 p(m)() 为:

    p(m)(vjvi)=exp(cjvi(m))jGexp(cjvi(m))

    其中:

    • vi(m) 为节点 viGm 下的 embedding

    • cjRd 为节点 vjcontext embedding,它在所有子网中共享。

      不仅 common embedding 向量 bi 是跨不同关系类型传输信息的桥梁,context embedding cj 也是跨不同关系类型传输信息的桥梁,因为它们都是跨子网共享的。

      此外,假设两个节点在不同子网中共享相同的邻域节点,那么这两个节点之间是相似的,即使它们位于不同的子网。这确保了相似性的跨子网的一致性。

    为加速训练,我们采用负采样技术:

    L=logσ(cjvi(m))k=1KEjQn(m)(v)logσ(cjvi(m))

    其中: K 为负采样比例,Qn(m)(v) 为子网 Gm 的负采样分布,σ()logistic 函数。

    我们根据随机梯度下降SGD 来优化该目标函数。我们初始化所有的 bi,ui(m) 为零向量,X(m) 为零矩阵,但是我们随机初始化上下文向量 cj

    由于子网 Gm 中,每一个节点都会更新参数 X(m) ,因此 X(m) 被更新的次数非常多。为防止 X(m) 的范数太大,我们添加约束:X(m)r ,其中 r 为超参数。

  3. MNE 算法:

    • 输入:

      • 多重网络 G=(V,E) ,其中包含 M 种不同的关系类型 E1,E2,,EM
      • common embedding 维度 d
      • additional embedding 维度 s
      • 学习率 η
      • 随机游走序列长度 l
      • 从每个顶点开始的随机游走序列数量 nwalk
      • 上下文窗口大小 c
      • 负采样比例 K
      • 转换矩阵的正则化参数 r
      • 关系类型的全局重要性 {w(m)}m=1M
    • 输出:每个节点 vi 在每个子网 Gm 下的 embedding {vi(m)}i=1,,nm=1,,M

    • 算法步骤:

      • 初始化 bi,ui(m),X(m) 为零,随机初始化 cj

      • 对每子网 Gm 进行迭代:

        生成随机游走序列集合 {Path1(m),Path2(m),,} 。其中对于每条随机游走序列 Path(m)

        对于每个节点 viPath(m)

        • 对于节点 vi 上下文窗口内的每个上下文 vj

          • 随机采样 K 个负样本。

          • 计算 vi(m)=bi+w(m)×X(m)ui(m)

          • 对正样本 vjK 个负样本,通过梯度更新参数 bi,{ck}k=1K,ui(m),X(m)

          • 如果 X(m)>r ,则进行截断:

            X(m)rX(m)X(m)
      • 最终输出每个节点 vi 在每子网 Gm 下的 embedding {vi(m)}i=1,,nm=1,,M

  4. 我们的算法基于随机游走策略。假设有 M 种关系类型 n 个节点,则我们的时间复杂度为 O(M×n) ,空间复杂度为 O((d+s×M)×n)

27.2 实验

  1. 数据集:

    我们选择了Manlio De Domenico 项目公开的四个多重网络,选择标准是:节点数量不能太少,且边不能太稀疏。这意味着每种关系类型的每个节点至少具有一条边。

    • Vickers:对澳大利亚维多利亚州一所学校初一年级29 名学生问卷调查得到的数据。问卷调查分三个问题,每个问题创建了网络中的一种关系。
    • CKM:由伊利诺伊州、布卢明顿市、昆西市、加勒斯堡市四个镇的医师收集的数据。医师们提出了三个问题,每个问题都创建了网络中的一种关系。
    • LAZEGA:多重社交网络,包含企业中的三种关系(工友co-work 、好友、咨询 advice )。
    • C.ELEGANS:神经元多重网络,神经元不同的突触连接创建了网络中的不同关系。连接类型包括: ElectrJMonoSynPolySyn

    另外,由于上述多重网络的规模相对较小,为了测试我们模型的可扩展性和效果,我们还选择了两个真实的大型社交网络。

    • Twitter:包含一周内关于“希格斯玻色子发现”的所有推文。我们选择最大的两种关系(跟帖following 和转发 retweet )来构建多重网络。

    • Private:一个在线社交网络。在该网络中,用户可以建立好友关系并将自己的文章发送给好友。我们随机选择 40000 名用户,这些用户都有毕业大学的信息,然后我们记录了这些用户一个月内所有文章的转发活动。

      我们在文章内容上应用了主题模型topic model,然后将文章根据主题来分类。最终我们得到了 16 个主题,每个主题都创建了多重关系网络中的一种关系。如果再加上好友关系,则一共有 17 种关系。

  2. baseline 方法:

    • DeepWalk:通过随机游走策略构建节点序列,然后在节点序列上应用 SkipGram 算法来生成 node embedding
    • LINE:保持图的一阶邻近度和二阶邻近度从而得到 node embedding
    • Node2vec:基于有偏的随机游走得到节点序列,然后在节点序列上应用 SkipGram 算法来生成 node embedding
    • PMNE:提出三种不同的模型将多重网络聚合,并为每个节点点生成一个 overall embedding。这三种模型分别为 PMNE(n)PMNE(r)PMNE(c)

    除了 embedding based 之外,我们还比较了 structure based 方法,包括:

    • Common neighbor:CN:每对节点pair 对,它们的公共邻居节点越多,则存在链接的可能性越大。
    • Jaccard Coefficient:JC:每对节点pair 对,使用它们的邻居总数对公共邻居数量进行归一化。
    • Adamic/Adar:AA:类似于 JC,但是 AA 给那些邻居更少的节点更大的权重。
  3. 评估指标:

    • 对于链接预测任务,我们使用 ROC-AUC 作为评估指标。
    • 对于节点分类任务,我们对学到的 embedding 采用 L2 正则化的逻辑回归分类器训练并分类,并评估分类的准确率 accuracy
  4. 参数配置:

    • 所有 embedding 方法的 embedding 维度为 200

      由于 LINE 有一阶embedding 和二阶 embedding,因此它们的维度都是 100,最终拼接后的维度是 200

    • 对于所有基于随机游走的方法,我们将上下文窗口设为 10,负采样比例为 5

    • 对于 node2vec,我们根据实验使用最佳超参数,即 p=2,q=0.5

    • 对于 PMNE 模型,我们使用原始论文给出的超参数。

    • 对于 MNE,我们将additional embedding 的维度设为 s=10

  5. 链接预测任务:对每对节点我们计算其 embedding 的余弦相似度,相似度越大则它们之间越可能存在链接。

    • 对于简单网络模型(如 DeepWalk,LINE,Node2Vec),我们将为每个子网训练一个单独的 embedding,并使用该 embedding 来预估对应关系上的链接。这意味着这些embedding 没有来自网络其它类型的信息。
    • 对于多重网络模型,我们得到的 node embedding 可以融合网络其它类型的信息。

    我们在网络的每个子网上计算 AUC,并取所有子网的 AUC 均值作为最终结果。我们使用五折交叉验证,并报告了结果的均值和标准差。

    注意:TwitterPrivate 数据集中,following 关系和 friendship 关系是其它关系类型的基础。如,我们只能将文章发送给好友。因此在选择子网负边时,我们需要确保选择的是满足基础关系(如 following/friendship 关系)的负边。并且我们不会评估基础网络(即 following/friendship 网络)。

    结论:

    • 对于几乎所有网络,联合考虑网络的不同关系类型都是有帮助的。这与我们假设一致,即来自任何单个子网的信息不足,并且不同子网的信息可以互补。
    • baseline 方法的性能因为不同网络拓扑结构差异很大。如 LAZEGAC.ELEGANS 这样的稠密网络,传统简单方法的性能就足够好,有时甚至比 embedding 方法还要好。但是当网络相对稀疏时,embedding based 方法更好。
    • 我们的方法和 PMNE 区别在于:PMNE 为一个节点生成一个 overall embedding,而我们的方法生成一组 embedding 用于捕获每种关系类型的不同信息。实验结果表明,这些信息可能非常重要。

    总而言之,我们的方法稳定地超越了其它所有 baseline,或达到 baseline 相当的性能。我们的理解是:模型的 common embedding 会合并来自不同关系类型的信息,而additional embedding 会保留每种关系类型特有的信息。

  6. 参数敏感性:我们的方法有三个超参数:低维 additional embedding 的维度 s 、低维addtional embedding 的权重 {w(m)}m=1M 、变换矩阵范数上限 r 。为清楚地了解这些超参数的影响,我们使用不同的配置重复进行连接预测实验。对于四个小数据集,我们取其评估结果的均值来查看变化的趋势。

    • 如图 (a) 所示,当增加 s 时模型性能得到改善(固定 w(m)=1,r=1000 )。当 s=10 时模型性能最高。这证明在 common embedding 的帮助下,我们可以使用非常低的维度(约为 common embedding 维度的十分之一)来表达多重网络的每种关系类型。
    • 如图 (b) 所示,当增加 w(m) 时模型性能将会提高(固定 s=10,r=1000)。但是达到 1.0 之后性能略有下降。
    • 如图 (c) 所示,如果将 r 设置得太小,则可能会限制模型的学习过程(固定 s=10,w(m)=1)。当 r>10 时模型性能将趋于稳定。

  7. 节点分类:我们进行节点分类任务来评估embedding 质量。CKM 社交网络是唯一提供分类标签的多重网络,因此我们将其作为实验数据集,labelresearcher 的原始公司。考虑数据集的大小,我们使用两折交叉验证。

    对于 DeepWalk/LINE/Node2Vec,由于它们是为简单网络设计的,因此我们为每个子图单独训练一个 embedding,然后取所有子图的embedding 均值作为最终 embedding。对于我们的方法,我们将所有类型的权重 w(m) 设置为 1.0 ,然后所有子图 embedding 取平均作为最终 embedding

    如下图所示,我们的方法在所有 embedding 方法中性能最好。可以看到即使是最简单的embedding 取平均,我们的模型也可以得到高质量的 overall embedding

    数据集太小太简单,结论没有多大的说服力。

  8. 可扩展性:最后我们研究模型的可扩展性。由于现实世界的社交网络可能非常庞大,因此如果我们学习所有子图的 embedding,这些模型的训练和存储可能是一个巨大挑战。因此,我们提出了小维度的 addtional embedding 和变换矩阵的结构,试图在不牺牲整体性能的条件下减小整体模型的大小。

    如下所示,我们的方法使用的内存几乎和网络大小成线性关系。

    • Node2VecLINE 相比,我们的模型在不牺牲性能的情况下仅使用十分之一的内存空间。DeepWalk/Line 的空间复杂度为 O(d×M×n) ,而我们的空间复杂度为 O((d+s×M)×n) 。由于 sd ,因此我们模型的空间复杂度要小得多。
    • 对于 PMNE,由于它们将多重网络合并到单个网络中,因此它们的模型最小。但是它们的模型也丢失了各种类型关系特有的信息,这些信息在之前的实验中被证明很重要。

二十八、MVN2VEC[2018]

  1. 在实际 application 中,对象可以通过不同类型的关系来连接。这些对象及其关系可以自然地由多视图网络 multi-view network 来表达,即多重网络multiplex networkmulti-view graph。下图给出了一个示例性的多视图网络,其中每个视图对应于一种类型的边,并且所有视图共享同一组节点。作为一个更具体的例子,关于用户节点的四视图网络可用于描述社交网络服务,其中包括好友friendship、关注 following、互发信息message exchange、帖子查看 post viewing 等关系。随着多视图网络的广泛应用,挖掘多视图网络是有意义的。

    与此同时,network embedding 已成为一种用于网络数据的、可扩展的representation learning 方法。具体而言,network embedding 将网络的节点投影到 embedding 空间中。通过编码每个节点的语义信息,学到的 embedding 可以直接作为各种下游应用的特征。受到 network embedding 在同质网络中的成功的激励,论文 《MVN2VEC: Preservation and Collaboration in Multi-View Network Embedding》 认为更好地理解多视图网络embedding 很重要。

    要设计多视图网络的 embedding 方法,主要挑战在于如何使用来自不同视图的边的类型信息。因此,我们的兴趣集中在以下两个问题:

    • 当有多种类型的边可用时,对于多视图网络 embedding 而言,特定specific 的、重要important 的目标是什么?

      即,多视图网络 embedding 要优化的是什么目标?

    • 我们可以通过联合建模这些目标来实现更好的 embedding 质量吗?

    为了回答第一个问题,我们从嵌入真实世界多视图网络的实践中确定了两个这样的目标:保持preservation 和协同 collaboration

    • collaboration:在某些数据集中,由于共享的潜在原因,可能观察到同一对节点pair 对之间在不同视图中都存在边。例如,在社交网络中,如果我们在 message exchangepost viewing 视图中观察到用户 pair 对之间存在边,那么这两个用户很可能乐意彼此成为好友。在这种情况下,这些视图可能会互补,并且联合嵌入它们可能会比单独嵌入它们产生更好的结果。在联合嵌入多视图过程中,我们将这种协同效应synergetic effect 称作 collaborationcollaboration 也是大多数现有多视图网络算法背后的主要直觉。

    • preservation:另一方面,不同的网络视图可能具有不同的语义。也可能一部分节点在不同视图中具有完全不一致的边,因为不同视图中的边是由不相关的潜在原因unrelated latent reason 而形成的。

      例如,职场关系professional relationship 可能并不总是与好友关系 friendship 保持一致。如果我们将图 (b) 中的职场关系视图和友谊关系视图嵌入到同一个 embedding 空间中,那么 Garyembedding 将靠近 TildeElton 。因此,由于传递性,Tildeembedding 也不会离 Elton 太远。然而,这并不是一个理想的结果,因为根据原始的多视图网络,TildeElton 在职场关系或好友关系方面都没有密切关联。换句话讲,以这种方式的 embedding 无法保持不同网络视图所携带的、独有 unique 的信息。我们将保持不同视图所携带的 unique 信息的这种需求need 称作保持 preservation 。在论文中,我们将详细讨论 preservationcollaboration 的有效性和重要性。

    此外,preservationcollaboration 的需求可能在同一个多视图网络中共存。有两种场景会导致这种情况:

    • 一对视图是由非常相似的潜在原因产生的,而另一对视图是由完全不同的潜在原因产生的。。
    • 在同一对视图中,一部分节点在不同视图中具有一致的边,而另一部分节点在不同视图中具有完全不一致的边。例如,在某些国家,职场关系和好友关系并不一致;而在另一些国家,同事之间经常成为好友。

    因此,我们也有兴趣通过同时建模 preservationcollaboration 来探索实现更好 embedding 质量的可行性。我们将在论文中详细介绍这一点。

    我们注意到,与其提出一个超越很多 baseline 方法的、复杂的模型,不如将重点放在多视图网络 embeddingcollaborationpreservation 目标上。在实验中,我们在不同场景中比较了侧重于不同目标的方法。出于同样的原因,本文排除了可以使用监督信息的场景,而从无监督场景学到的经验教训也可以应用于有监督的多视图网络 embedding 算法。此外,通过无监督方法学到的 node embedding 可以直接应用于不同的下游任务,而监督算法产生的 embedding 专有地适合监督信息所在的任务。

    总而言之,我们的贡献如下:

    • 我们研究了对多视图网络 embedding 而言特定 specific 的、重要 important 的目标,并且从嵌入现实世界的多视图网络的实践中,确定了 preservationcollaboration 这两个目标。
    • 我们探索通过同时建模 preservationcollaboration 来获得更好 embedding 的可行性,并提出了两种多视图网络 embedding 方法:MVN2VEC-CONMVN2VEC-REG
    • 我们在四个数据集上对各种下游 application 进行了实验。这些实验证实了 preservationcollaboration 的有效性和重要性,并证明了所提出方法的有效性。
  2. 相关工作:

    • network embeddingnetwork embedding 已成为学习分布式 node representation 的一种高效的、有效的方法。传统的无监督 feature learning 方法利用了常见的、网络的谱属性 spectral property。与传统方法相反,大多数 network embedding 方法都是根据网络的局部属性local property 来设计的,这些局部属性涉及节点之间的链接和邻近性。这种聚焦于局部属性的方法已被证明更具有可扩展性。

      许多最近的 network embedding 算法的设计都是基于网络的局部属性,并且可以追溯到 SkipGram 模型,其中 SkipGram 模型被证明具有可扩展性和广泛的适用性。为了利用 SkipGram 模型,人们已经提出了各种策略来定义网络场景中的节点上下文。除了 SkipGram 模型之外,在文献中还可以找到保持某些其它网络属性的 embedding 方法。

    • 多视图网络:大多数现有的多视图网络方法旨在提高传统任务的性能,如聚类clustering 、分类classification 、稠密子图挖掘dense subgraph mining 等任务。

      另一个研究方向侧重于衡量和分析多视图网络中的交叉视图交互关系 cross-view interrelation 。但是他们没有讨论嵌入多视图网络的目标,也没有研究他们所提出的度量和分析如何与多视图网络的 embedding learning 相关联。

    • 多视图网络 embedding:最近,《An attention-based collaboration framework for multi-view network representation learning》 提出了一种基于注意力的协同框架,从而用于多视图网络 embedding。这项工作的 setting 与我们不同,因为该工作需要监督信号从而用于注意力机制。此外,该方法并不直接建模 preservation(该方法重点关注协同),而我们认为 preservation 是对多视图网络 embedding 很重要的目标之一。在该框架中, final embedding 通过线性组合得到,因此是所有视图的 representation 之间的权衡 trade-off

      《Co-regularized deep multi-network embedding》 还提出了一种用于嵌入multi-network 的深度学习架构,其中 multi-network 是比多视图网络更通用的概念,并且允许跨网络进行多对多的对应 correspondence 。虽然所提出的模型可以应用于更具体的多视图网络,但是它并不聚焦于多视图网络 embedding 目标的研究。

      另一组相关工作研究了使用潜在空间模型联合建模多个网络视图的问题。这些工作再次没有建模 preservation。还有一些研究涉及多视图网络 embedding ,但是它们即不建模 preservationcollaboration,也不旨在提供对这些目标的深入研究。

      此外,多视图矩阵分解问题也与多视图网络 embedding 有关。《Multi-view clustering via joint nonnegative matrix factorization》 提出了一种多视图非负矩阵分解模型,旨在最小化每个视图的邻接矩阵与共识矩阵 consensus matrix 之间的距离。虽然这些方法可以为每个节点生成一个向量,但是这些向量被建模以适应某些具体任务(如矩阵补全或聚类任务),而不是可用于不同下游 application 的、节点的分布式 representation

    • 其它类型网络的 embedding 技术:在更大的范围内,人们最近在嵌入更通用的网络方面进行了一些研究,如异质信息网络 heterogeneous information network: HIN 。有些工作在 metapath 之上构建算法,但是相比于多视图网络, metapath 对于具有多种类型节点的 HIN 而言更有意义。另一些工作是为具有额外辅助信息或特定结构的网络而设计的,这些网络不适用于多视图网络。最重要的是,这些方法是为它们想要嵌入的网络而设计的,因此并不专注于研究多视图网络 embedding 的特定需求和目标。

    • 多关系multi-relational 网络 embedding (或知识图谱 embedding):多关系网络 embedding 体现了与多视图网络 embedding 相关的另一个研究方向。这个方向的研究重点与多视图网络 embedding 有所不同,并不直接适用于我们的场景,因为这些网络中涉及的关系通常是有向的。此类方法中的一族流行方法是基于翻译的,其中有向边的 head entity h 、有向边的 tail entity t、有向边上的关系 r ,这三个 embedding 满足:(t+r)h 相似。 这种假设对于具有无向子网络视图的多视图网络而言是无效的。

28.1 模型

28.1.1 基本概念

  1. 多视图网络定义:多视图网络 G=(V,E),其中 V={v1,v2,,vn} 。假设网络有 M 个不同的视图,对应的边集合为 E1,E2,,EM ,其中 EmE,m=1MEm=E 。定义类型为 m 的子网为 Gm(V,Em)
  2. 多视图网络embedding 的目标是为每个节点 viV 学到一个 center embedding 向量 viRd 从而保持多视图网络的原始结构信息,其中 dn 。除了 center embedding 向量之外,一系列流行的算法还为每个节点 viV 学到一个 context embedding ciRd 。此外,当需要把学到的 embedding 用作下游任务的特征向量时,我们遵从常见的做法,将 center embedding 作为特征。

28.1.2 朴素方法

  1. 可以通过把简单网络 embedding 方法推广到多视图,从而得到多视图网络 embedding 的两种简单直接的方法:独立模型independent model 、单空间模型 one-space model

    定义节点 vi 在视图 m 上的 embeddingvi(m)Rdm ,其中 dm 为视图 Gmembedding 维度。

    • 独立模型分别独立嵌入每个视图,然后将所有视图的 embedding 拼接从而得到 final embedding

      vi=mMvi(m)Rd

      其中 d=mdm 表示向量拼接。

      这种方法得到的 node embedding 保持了每个视图的信息,但是无法跨不同视图进行协同collaboration

    • 单空间模型:单空间模型假设每个视图共享相同的参数,final embedding 为:

      vi=vi(m)Rd

      其中 d=dm

      在单空间模型中所有视图的 embedding 都相同,它们就是final embedding。因此final embedding和所有视图有关。

      这种方法得到的 node embedding 鼓励不同视图进行协同,但是没有保持每个视图独有的信息。

  2. 我们通过 YouTube, Twitter 这两个多视图网络来评估独立模型、单空间模型的效果。

    在这两个网络中,每个节点代表一个用户。YouTube 网络有三个视图,分别代表共同观看视频 cmn-vid、共同订阅者 cmnsub、共同好友 cmn-fndTwitter 有两个视图,分别表示回复 reply、提及 mention 。下游任务是评估两个用户是否好友关系。

    评估结果如下表所示。可以看到并没有哪个模型的效果始终比另外一个更好。

    • YouTube 数据集上,独立模型的效果优于单空间模型。
    • Twitter 数据集上,单空间模型的效果优于独立模型。

  3. 我们认为:不同网络的network embedding 对建模 preservation 和建模collaboration 的需求不同,这使得采用独立模型、单空间模型的效果不同。具体而言:独立模型仅捕获 perservation,单空间模型仅捕获 collaboration。因此:

    • 如果某个数据集更需要建模 preservation,那么独立模型的效果将优于单空间模型。
    • 如果某个数据集更需要建模 collaboration,那么单空间模型的效果将优于独立模型。

    为证明我们的观点,我们检查了数据集中不同网络视图之间信息的一致性。给定两个集合,我们通过 Jaccard 系数来衡量两个集合之间的相似性:

    J(S1,S2)=|S1S2||S1S2|[0,1]

    给定多视图网络中的一对视图 Gm1,Gm2,节点 vi 可以在这两个视图中分别连接到不同的邻居节点。假设在 Gm1 中节点 vi 的邻居节点集合为 Nvi(m1),在 Gm2 中节点 vi 的邻居节点集合为 Nvi(m2) ,则节点 vi 在这对视图中的一致性为:

    Jvi(m1,m2)=J(Nvi(m1),Nvi(m2))

    对于每对视图,我们检查所有节点在它们之间的一致性,并给出一致性大于 0.5 的节点占所有节点的比例。该比例定义为视图之间信息的一致性,即:

    rate(Gm1,Gm2)=viVI(Jvi(m1,m2)>0.5)|V|

    其中 I() 为示性函数。

    YouTube, Twitter 数据集上不同视图的信息一致性结果如下图所示:

    • YouTube 数据集中每对视图之间几乎没有一致性。因此,该数据集最需要的是建模 perservation,而不是collaboration 。因此在该数据集上独立模型优于单空间模型。
    • Twitter 数据集中每对视图之间一致性较高,因此对该数据集建模 collaboration 可以带来效果的提升。因此该数据集上单空间模型优于独立模型。

28.1.3 MVN2VEC 模型

  1. 我们将 preservationcollaboration 定义为多视图网络 embedding 中的重要目标。

    • 一种极端情况是,每个视图都具有独特的语义。此时仅需要建模 preservation,因此独立模型就可以产生比较好的结果。
    • 另一种极端情况是,每个视图都具有相同的语义。此时仅需要建模 collaboration,因此单空间模型就能得到令人满意的结果。

    但是,通常多视图网络介于两者之间,因此需要同时建模 preservationcollaboration。为此,我们提出两种方法 MVN2VEC-CONMVN2VEC-REG,它们都可以同时捕获这两个目标。其中 MVN2VEC 表示 multi-view network to vectorCON 表示constrainedREG 表示 regularized

  2. 根据之前的定义,节点 vi 在视图 m 上的 embeddingvi(m)Rdm 。定义节点 vi 在视图 m 中作为上下文时的 context embeddingci(m)Rdm 。为方便模型设计,我们选择 dm=d/M

    给定视图 Gm ,我们定义视图内损失函数 intra-view loss 来衡量当前 embedding 来表达视图 Gm 的效果:

    l({vi(m),ci(m)}Gm)

    我们这里先不给出损失函数 l() 的具体定义,其定义在后续给出。

  3. MVN2VEC-CONMVN2VEC-CON 方法同时建模 collaborationpreservation

    首先,该方法不对 vi(m) 进行进一步处理,从而希望保持每个视图的语义,即建模 preservation。然后,该方法对 context embedding 施加约束:要求不同视图中的 context embedding 共享。具体做法为:

    ci(m)=(1θ)×gi(m)+θ×1Mm=1Mgi(m)

    其中 giRdmθ[0,1] 是控制参数parameter 共享比例的超参数,取值越大则参数共享比例越高,从而更多地建模 collaboration

    θ 也可以利用模型从数据中自动学习。

    最终,MVN2VEC-CON 模型需要求解以下最优化问题:

    min{vi(m),gi(m)}l({vi(m),gi(m)}Gm;θ)

    当模型完成训练之后,每个节点 vifinal embedding 为:

    vi=mMvi(m)Rd

    其中 表示向量拼接。注意:当 θ=0 时,MVN2VEC-CON 模型退化为独立模型。

    注意,这里用向量拼接而没有用均值聚合或 sum 聚合。拼接操作能够保持每个视图的语义,即 preservation

    进一步地,为区分不同视图我们将 θ 替换为 view-specific 参数 θm ,即每个视图都有一个共享比例超参数,我们将该研究作为未来工作。

  4. MVN2VEC-REGMVN2VEC-REG 方法也同时建模 collaborationpreservation 。该方法并未要求不同视图之间的参数共享,而是对不同视图的 embedding 施加正则化。

    MVN2VEC-REG 的目标函数为:

    min{vi(m),ci(m)}l({vi(m),ci(m)}Gm)+γ×(Ri(m)+R~i(m))

    其中 γ 为超参数,表示正则化系数。 Ri(m)R~i(m) 为正则化项:

    Ri(m)=vi(m)1Mmvi(m)2R~i(m)=ci(m)1Mmci(m)2

    ||||2 表示 l2 正则化。

    • 一方面,MVN2VEC-REG 通过让 {vi(m)}{ci(m)} 位于view-specificembedding 子空间中,从而建模 preservation
    • 另一方面,MVN2VEC-REG 通过跨视图的正则化来建模 collaboration

    类似于 MVN2VEC-CON 模型,在 MVN2VEC-REG 模型中超参数 γ 越大,则模型越倾向于建模 collaboration 。当 γ=0MVN2VEC-REG 模型退化为独立模型。

    进一步地,为区分不同视图我们将 Ri(m)R~i(m) 替换为:

    Ri(m)= vi(m)mλm×vi(m)mλm2R~i(m)=ci(m)mλm×ci(m)mλm2

    其中超参数 λm 刻画了视图 Gm 的的重要性。我们将该研究作为未来工作。

  5. 视图内损失函数 intra-view loss:视图内损失函数 l() 有多种形式,这里我们采用基于随机游走的 SkipGram 模型。具体而言,对于每个视图 Gm ,我们首先通过随机游走来采样节点序列。对于每个节点 vi,我们选择所有序列中该节点位于窗口大小为 B 的上下文节点集合 Cvi(m) 。则视图内损失函数定义为:

    l({vi(m),ci(m)}Gm)=viVcjCvi(m)logp(m)(cjvi)

    其中:

    p(m)(cjvi)=exp(vi(m)cj(m))jexp(vi(m)cj(m))

    这个损失函数旨在保持视图内的一阶邻近性。

  6. 模型推断:为了优化 MVN2VEC-CONMVN2VEC-REG 的目标函数,我们选择异步随机梯度下降 asynchronous stochastic gradient descent: ASGD 。此外,我们也采用负采样技术来近似 p(m)(cjvi) ,即:

    p(m)(cjvi)logσ(vi(m)cj(m))+k=1KEjP(m)logσ(vi(m)cj(m))

    其中:σ()sigmoid 函数,K 为负采样比例,P(m)(v)(dv(m))3/4 为噪音分布。dv(m) 为节点 v 在视图 Gm 中的度 degree ,或者也可以选择 dv(m) 为节点 vGm 的所有随机游走序列中出现的次数。

    当使用负采样之后:

    • MVN2VEC-CON 的目标函数为:

      ci(m)=(1θ)×gi(m)+θ×1Mm=1Mgi(m)LCON=viVcjCvi(m)[logσ(vi(m)cj(m))+k=1KEjP(m)logσ(vi(m)cj(m))]
    • MVN2VEC-REG 的目标函数为:

      Ri(m)=vi(m)1Mmvi(m)2,R~i(m)=ci(m)1Mmci(m)2LREG=viVcjCvi(m)[logσ(vi(m)cj(m))+γ×(Ri(m)+R~j(m))+k=1KEjP(m)[logσ(vi(m)cj(m))+γ×(Ri(m)+R~j(m))]]

    .

  7. 随机游走 pair 生成:在缺乏额外监督信息的情况下,我们假设不同网络视图的重要性相同,并从每个视图中采样相同数量的 N 个随机游走序列。定义视图 Gm 中非孤立节点的数量为 n(m) ,定义 nmax=maxmn(m)。假设每个节点开始的随机游走序列数量为 SS 为超参数),则我们选择 N=S×nmax

    给定网络视图 Gm,我们根据现有研究来生成随机游走 pair 对,其中节点的转移概率与所有 outgoing edge 的权重成正比。

  8. 复杂度分析:对于每个网络视图,随机游走都是根据现有方法独立生成的。《node2vec: Scalable feature learning for networks》 的分析表明,整体复杂度为 O(MLB(LB)),其中 L 为每条随机游走序列的长度( L 为超参数),B 为上下文窗口大小,M 为视图个数。因此随机游走的计算复杂度是 M 的一次关系。

    对于模型推断,ASGD 的迭代步数和 (node, context) pair 对的数量成线性关系,而这个数量正比于 LBSM 。此外, ASGD 每步迭代的梯度计算正比于 M 。因此 ASGD 的计算复杂度是 M 的二次关系。

  9. MVN2VEC 训练算法:

    • 输入:

      • 多视图网络 G=(V,E),其中每个视图 Gm=(V,Em)EmE
      • 每个节点开始的随机游走序列数量 S
      • 随机游走序列长度 L
      • 上下文窗口大小 B
      • 负采样比例 K
      • 超参数 θ 或者 γ
    • 输出:每个节点的 embedding {vi}

    • 算法步骤:

      • 从每个视图 Gm 中均采样 N=S×nmax 条长度为 L 的随机游走序列。

      • 对每个节点 vi ,生成视图 Gm 中的、窗口大小为 B 的上下文 Cvi(m)

      • 对每个节点 vi ,混洗所有视图的上下文,得到总的上下文 Cvi

      • 迭代(下面的迭代步骤可以并行进行):

        • for (viV,cjCvi): 基于梯度更新参数。
      • 对于每个节点 viV ,返回 vi=mvim

28.2 实验

28.2.1 人工合成数据集

  1. 为直接研究不同模型在具有不同程度的 preservationcollaboration 网络上的性能,我们设计了一组人工合成网络,并执行多类分类任务。这些人工合成网络记作 G(p) ,其中 p[0,0.5] 表示冲突概率intrusion probability 。我们首先描述如何生成 G(0)

    • 在带有标签 AB 的所有节点上生成一个随机网络,并在带有标签 CD 的所有节点上生成另一个随机网络。将这两个随机网络的所有边放入视图 G1
  1. 对于每个 G(p) ,我们分别应用independent, one-space, MVN2VEC-CON, MVN2VEC-REG 等方法学习 node embedding,然后使用逻辑回归来执行分类任务来评估生成的 embedding 质量。

    我们从 4000 个样本中采样得到验证集,通过验证集来调优超参数。同时我们随机抽取一部分节点作为测试集,并给出不同方法生成的 embedding 在测试集上的分类准确性和交叉熵。

    结论:

    • p 很小时,independent 模型优于 one-space 模型,此时 preservation 占据统治地位。
    • p 很大时,one space 模型优于 independent 模型,此时 collaboration 占据统治地位,
    • 大多数情况下(除了 p 接近 0.5 之外),我们提出的 MVN2VEC 性能优于 independent/one-space 模型。这意味着 MVN2VEC 有可能通过同时建模 preservationcollaboration 来实现更好的性能。
    • p 接近 0.5 时,one-space 效果更好。这是可以预期的,因为在 G(0.5) 中不需要 preservation。并且,任何针对 preservatinon 的额外建模都不会提高性能。

     

28.2.2 真实数据集

  1. 数据集:

    • Youtube 数据集:一个视频分享网站。我们使用该数据集构建了一个三视图网络,其中核心用户core user 为节点,三个视图分别为:共同好友关系、共同订阅者关系、共同爱好关系(都喜欢某个视频)。注意, core user 为数据集作者通过爬虫爬取到的那些用户,而他们的好友可能不属于 core user

      由于没有类别标签,因此我们在该数据集上执行链接预测任务,目标是预测两个 core user 之间是否是好友关系。由于原始数据集只有正样本(好友关系),因此对于每个 core user 的好友关系,我们随机选择 5 个非好友的 core user 来构造负样本。我们将数据集拆分为训练集、验证集、测试集。

    • Twitter 数据集:在线新闻和社交网站。我们使用该数据集构建了一个两视图网络,其中用户为节点,两个视图分别为:reply 关系、mention 关系。

      同样地,我们也在该数据集上执行链接预测任务,预测两个用户是否是好友。我们也采用相同的方式构造负样本。训练集、验证集、测试集的拆分方法与 Youtube 数据集中的拆分方法相同。

    • Snapchat 数据集:一个多媒体社交网络。我们使用该数据集构建一个三视图网络,其中用户为节点,三个视图分别为:好友关系、聊天关系、故事阅读关系。我们收集了 2017 年春季连续两周的数据作为构建网络的数据,下游评估任务的数据是接下来一周(第三周)收集的数据。

      我们在Snapchat 数据集上采用不同模型学到 node embedding,然后将 node embedding 作为输入从而执行下游的标签分类任务、链接预测任务。

      • 在分类任务中,我们根据第三周用户观看的历史记录,对用户是否观看了 10 个最热门的发现频道 discover channel 进行分类。对于每个频道,观看过该频道的用户都被标记为正样本。我们随机选择未观看该频道的 5 倍用户(正样本的5倍)作为负样本。这是一个多标签分类问题,旨在推断用户对不同发现频道的偏好,从而指导内容服务中的产品设计。

        然后,我们将这些用户随机拆分为训练集、验证集、测试集,拆分比例为 80%:10%:10%

      • 在连接预测任务中,我们预测两个用户是否会在第三周阅读彼此发布的 story。 正样本是一对好友,他们阅读了对方发布的 story;负样本是一对好友,他们未阅读对方发布的 story 。注意:这种方式产生的正样本比负样本更多,这也是在实验中观察到较高 PRC-AUC 的原因。

        数据被随机分为训练集、验证集、测试集,约束条件是用户最多只能在三个子集中的一个子集中显示为阅读者 viewer 。该任务旨在估计朋友之间阅读故事的可能性,以便 application 可以相应地对故事就那些排名。

      我们提供了 Snapchat 视图的一致性结果,可以看到在 Snapchat 网络中,视图一致性介于 YouTubeTwitter 之间。

  2. 数据处理:

    • 如果节点在多视图中至少一个视图中是孤立节点(在该视图中不与其它任何节点相连),则该节点将从评估中排除。这种处理方式可以确保仅嵌入单个视图时,每个节点都具有有效的embedding
    • 对于所有三个网络上的每个任务,训练集、验证集、测试集的拆分比例为 80%:10%:10% 。我们重复 20 次随机拆分数据集并执行评估,最终报告每个评估指标的均值和标准差。
  3. baseline 方法:

    • independent 模型:等价于 θ=0MVN2VEC-CON ,以及 γ=0MVN2VEC-REG 方法。它保留了每个视图独有的信息,但是不允许嵌入过程中跨视图的协同。

    • one-space 模型:它使得不同的视图可以协同学习统一的 embedding,但不会保留每个视图特有的信息。

    • view-merging 模型:它首先将所有视图合并为一个统一的视图,然后学习该统一视图的 embedding 。为满足所有视图重要性都相同的假设,我们将统一视图中边的权重调整为所有视图中该边的权重之和。

      这种方法是one-space 的一个替代方法,而且区别在于:随机游走是否能够穿越不同的视图。就像 one-space 一样,view-merging 方法也不会建模 perservation

    • single-view 模型:它仅从某一个视图中学习 embedding ,目的是为了验证引入更多的视图是否能够带来效果的提升。它等价于使用 DeepWalk 来嵌入多视图网络中的某一个视图。

    我们还尝试了两个用于多视图网络 embedding 的其它方法,包括:

    • MVE:一种基于注意力机制的多视图网络 embedding 的半监督方法。为了公平地比较,在我们的无监督链接预测实验中,我们将相同的 dummy class label 分配给 1% 随机选择的节点。我们观察到,随机选择节点的比例并不会显著影实验中的评估结果。
    • DMNE:一种基于深度学习体系结构的多视图网络embedding 方法。

    由于可扩展性的原因,我们在较小的 YouTubeTwitter 数据集上比较了这两个 baseline

  4. 评估方式:为公平起见,我们使用相同的、带有 L2 正则化的逻辑回归模型来进行节点分类和链接预测任务,其中 L2 正则化系数始终通过验证集来选择最优的。

    根据 《Line:L arge-scale information network embedding》,每个 embedding 向量通过投影到单位球上从而进行后处理。

    在多标签分类任务中,节点特征仅仅是节点的 embedding,并且为每个 label 训练一个独立的逻辑回归模型。在链接预测任务中,节点 pair 对的特征是两个节点 embedding 向量的 Hadamard product,正如 《node2vec: Scalable feature learning for networks》 所建议的。

  5. 超参数配置:

    • 对于 independent, MVN2VEC-CON, MVN2VEC-REG,我们设置 embedding 维度为 d=128×M。即每个子视图的embedding 维度 dm=128

      对于 single-view,我们设置 d=128 ;对于所有其它方法,我们同时评估了 d=128d=128×M

    • 对于随机游走序列,我们设置每个序列长度为 L=20 ,窗口大小 B=3 。对于 Snapchat 数据集,每个节点开始的随机游走序列数量 S=10 (因为数据集太大),其它数据集的 S=50

    • 我们SkipGram 负采样比例为 K=5

    • 每个模型仅训练一个 epoch

    • MVN2VEC 模型的 θ,γ 经过验证集调优。

  6. 评估指标:

    • 对于链接预测任务,我们使用 ROC-AUCPRC-AUC 这两个指标。
    • 对于多标签分类任务,我们先计算每种标签的 ROC-AUC 以及 PRC-AUC,然后报告所有标签在这些指标上的均值。
  7. 实验结果:

    • 所有利用多视图的模型都优于仅使用单视图的模型,这证明了利用多视图的必要性。

    • one-space 方法和 view-merging 方法在所有数据集上的性能都差不多。这是可以预期的,因为它们都仅对 collaboration 进行建模,并且彼此之间的区别仅在于随机游走是否跨网络视图。

    • YouTube 上,我们提出的 MVN2VEC 模型表现不错,但是没有明显的超越 independent 模型。这是由于 YouTube 网络中,对 preservation 建模的需求占主导地位。在这种极端情况下,对collaboration 额外的建模并不会带来显著的效果提升。

    • Twitter 上,collaborationpreservation 更为重要,因此 one-space 方法要比 independent 方法更好。

      此外,MVN2VEC-REG 优于所有的 baseline ,而 MVN2VEC-CON 超越了 independent 但是比 one-space 更差。这一现象的原因可以解释为:尽管我们通过配置超参数 θ[0,1] 来调节context embedding {ci(m)} 的参数共享,但是MVN2VEC-CON 中每个视图的 {vi(m)} 相互独立,因此它建模 collaboration 的能力受到限制。

    • preservationcollaboration 目标而言,Snapchat 网络位于 YouTubeTwitter 之间。在 Snapchat 网络上,我们提出的 MVN2VEC 在所有指标上都优于所有 baseline 。这证明了通过同时建模 preservationcollaboratioin 来提升模型性能的可行性,并且不会使得模型过度复杂化、也不需要监督信息。

    • MVNYouTube 上的表现不如 MVN2VEC,我们认为 MVE 是一个 collaboration 框架,它并未显式地建模 preservation 。而 preservation 目标又是 Youtube 数据集必须的。

      同时,MVE 并未从其注意力机制中获得性能提升,因为在我们的实验设置中,并未为它提供所需要的监督信息。

    • DMNEYouTube 上性能较差,原因是我们采用原始论文的超参数。另外,DMNE 是为更通用的多网络 multi-network 而设计,并不是专门针对多视图网络而设计。

    这些观察结果共同证明了通过同时建模 preservationcollaboration 来提高性能的可行性,而不会使得模型过度复杂化,也不需要监督信息。

  8. 最后我们研究超参数的影响。

    • 首先评估 embedding 维度 d 的影响。我们通过不同的 d 来评估在 G(0) 上的分类效果。注意:G(0) 仅需要对 preservation 进行建模。

      结论:

      • one-space 方法在 d=256 时效果最佳,但是它比 d=256independent 效果更差。不能期望 one-space 方法采用更大维度的 embedding 空间来保持多视图中不同视图携带的信息。
      • independent 方法在 d=512 时效果最佳。
      • 所有四种方法的最佳性能都集中在 d=256512 之间。特别是 one-space 在四种方法之间,到达峰值性能的 d 值最小。这是意料之中的,因为 one-space 不会划分 embedding 空间从而适应多个视图。

    • 然后我们评估 θ,γ 的影响。这里我们并未针对每个视图来配置各自的 θm,γm ,每个视图个性化的配置留待未来研究。

      我们首先关注 snapchat 网络。

      • 对于 MVN2VEC-REG ,当 γ=0 时它仅建模 preservation;随着 γ 的增加它逐渐建模更多的 collaboration ,可以看到对应地模型性能逐步改善。模型的性能峰值在 γ=0.010.1 之间达到。
      • 对于 MVN2VEC-CON,当 θ=0 时它仅建模 preservation;随着 θ 的增加它逐渐建模更多的 collaboration 。注意:当 θ=1 时,MVN2VEC-CON 虽然context embedding 的参数 {ci(m)} 共享,但是每个视图的参数 {vi(m)} 相互独立,这阻止了 MVN2VEC-CON 来建模更多的 collaboration

      YouTube 网络上,无论 θ,γ 怎样变化 MVN2VEC 都不会明显优于 independent,因为 YouTube 网络被 preservation 统治。

      Twitter 网络上,当 γ 较大时 MVN2VEC-REG 超越了 one-space;而无论 θ 怎样变化 MVN2VEC-CON 都无法超越 one-space,因为 Twitter 网络更多地需要建模 collaboration,而MVN2VEC-CON 的设计阻止了它建模更多的 collaboration

二十九、SNE[2018]

  1. 社交网络是一类重要的网络,涵盖各种媒体,包括 FacebookTwitter 等社交网站、学术论文的引文网络、移动通信的 caller–callee 网络等等。许多 application 需要从社交网络中挖掘有用的信息。例如,内容供应商content provider 需要将用户分组从而用于定向广告投放targeted advertising,推荐系统需要估计用户对 item 的偏好从而进行个性化推荐。为了将通用机器学习技术应用于网络结构化数据,学习有信息量informativenode representation 是有必要的。

    最近,人们对 representation learning 的研究兴趣已经从自然语言扩展到网络数据。人们已经提出了许多 network embedding 方法,并在各种 application 中展示出有前景的性能。然而,现有的方法主要集中在通用网络上,并且仅利用结构信息。对于社交网络,论文《Attributed Social Network Embeddin》指出:除了链接结构之外,几乎总是存在关于社交参与者social actor 的丰富信息。例如,社交网站上的用户可能拥有年龄、性别、文本评论等画像信息。我们将所有此类辅助信息称为属性attribute ,这些辅助信息不仅包含人口统计学数据,还包括其它信息如附属文本、可能存在的标签等等。社交参与者的这些丰富的属性信息揭示了同质效应homophily effect,该效应对社交网络的形成产生了巨大的影响。

    本质上,属性对社交网络的组织产生巨大的影响。许多研究证明了属性的重要性,从客观的人口统计学数据,到主观的政治取向和个人兴趣等偏好数据。为了说明这一点,我们从三个视图绘制了 Facebook 数据集的 user-user 友谊矩阵。每一行或每一列代表一个用户,一个彩色点表示对应的用户是好友关系。每个视图是用户按照“年级”class year 、“专业”major、“宿舍” dormitory 等特定属性重新排序的结果。例如,图 (a) 首先按照 “年级” 属性对用户进行分组,然后按照时间顺序对 “年级” 进行排序。可以看到,每个视图中都存在清晰的块状结构block structure,其中块内的用户的连接更紧密。每个块结构实际上都指向相同属性的用户,例如,图 (a) 的右下角对应于 2009 年毕业的用户。这个现实世界的例子支持了属性同质性attribute homophily 的重要性。通过共同考虑属性同质性和网络结构,我们相信可以学到更有信息量的 node representation。此外,通过利用辅助的属性信息,可以很大程度上缓解链接稀疏link sparsity和冷启动cold-start问题。

    在论文《Attributed Social Network Embedding》 中,作者提出了一个叫做 SNE 的神经网络框架,用于从社交网络数据中学习 node representationSNE 是使用实值特征向量的通用machine learner ,其中每个特征表示节点的 ID (用于学习网络结构)或一个属性。通过这种方式,我们可以轻松地集成任何类型和数量的属性。在论文的 SNE 框架下,每个特征都关联一个 embedding,节点的 final embedding 是从节点的 ID embedding (保持结构邻近性structural proximity))和属性 embedding (保持属性邻近性attribute proximity )聚合而成。为了捕获特征之间的复杂交互,论文采用多层神经网络来利用深度学习的强大的 representationgeneralization 能力。

    总之,论文贡献如下:

    • 论文证明了集成网络结构和属性对于学习更有信息量的社交网络 node representation 的重要性。
    • 论文提出了一个通用框架 SNE,该框架通过保持社交网络的结构邻近性和属性邻近性来执行社交网络 embedding
    • 论文对四个数据集进行了广泛的实验,其中包括链接预测、节点分类这两个任务。实验结果和案例研究证明了 SNE 的效果和合理性。
  2. 相关工作:这里我们简要总结了关于属性同质性attribute homophily 的研究,然后我们讨论与我们的工作密切相关的 network embedding 方法。

    • 社交网络中的属性同质性:社交网络属于一类特殊的网络,其中社交关系的形成不仅涉及自组织的网络过程self-organizing network process ,还涉及基于属性的过程attribute-based process 。在 embedding 过程中考虑属性邻近性的动机源自属性同质性的巨大影响,其中属性邻近性在基于属性的过程中起着重要作用。因此,我们在这里对同质性研究进行简要概述。

      一般而言,“同质性原则”homophily principle (即,“物以类聚,人以群分”)是社交生活中最引人注目和最强大的经验规律之一。

      • 相似的人倾向于成为好友的假设至少可以追溯到上世纪 70 年代。在社会科学中,人们普遍预期:个体与大约同龄的其他人建立好友关系(《“Friendships and friendly relations》)。
      • 《Homophily in voluntary organizations: Status distance and the composition of face-to-face groups》 中,作者研究了群体的同质构成homogeneous composition 和同质性出现the emergence of homophily 的相互联系。
      • 《Homophily in online dating: when do you like someone like yourself?》 中,作者试图找出同质性在用户做出的在线约会选择中的作用。他们发现,在线约会系统的在线用户寻找像他们一样的人的频率要比系统预测的要高得多,就像在离线世界中一样。
      • 近年来,《Origins of homophily in an evolving social network》 调查了大型大学社区中同质性的起源,该论文记录了随着时间推移的交互interaction 、属性attribute 、以及附属关系affiliation

      毫不奇怪,人们已经得出结论,除了结构邻近性之外,属性相似性的偏好也为社交网络的形成过程提供了一个重要因素。因此,为了获得更多关于社交网络的、有信息量的 representation,我们应该考虑属性信息。

    • network embedding:一些早期的工作,例如局部线性嵌入Local Linear Embedding: LLEIsoMapLaplacian Eigenmap 首先将数据转换为基于节点的特征向量的亲和图 affinity graph(例如节点的 k 近邻),然后通过求解亲和矩阵affinity matrixtop-neigenvector 来嵌入 graph

      最近的工作更侧重于将现有网络嵌入到低维向量空间中,从而帮助进一步的网络分析并实现比早期工作更好的性能。

      • 《Deepwalk: Online learning of social representations》 中,作者在网络上部署了截断的随机游走来生成节点序列。生成的节点序列在语言模型中被视为句子,并馈送到 SkipGram 模型来学习 node mebdding
      • 《node2vec: Scalable feature learning for networks》 中,作者通过平衡广度优先采样和深度优先采样,从而改变了生成节点序列的方式,最终实现了性能的提升。
      • 《Line: Large-scale information network embedding》 没有在网络上随机游走,而是提出了显式的目标函数来保持节点的一阶邻近性和二阶邻近性。
      • 《Structural deep network embedding》 也没有在网络上随机游走,并且引入了具有多层非线性函数的深度模型来捕获高度非线性的网络结构。

      然而,所有这些方法都只利用了网络结构。在社交网络中,存在大量的属性信息。单纯基于结构的方法无法捕获这些有价值的信息,因此可能会导致信息量少的 embedding。此外,当发生链接稀疏问题时,这些方法很容易受到影响。最近的一些工作探索了集成内容从而学习更好的 representation 的可能性。

      • 例如,TADW 提出了关联文本的 DeepWalk ,从而将文本特征融合到矩阵分解框架中。但是,TADW 仅能处理文本属性。

      • 面对同样的问题,TriDNR 提出从基于结构的 DeepWalklabel-fusedDoc2Vec 模型中分别学习 embedding,学到的 embeddingiterative 的方式线性组合在一起。在这样的方案下,两个独立模型之间的知识交互knowledge interaction 只经过一系列的加权和运算,并且缺乏进一步的收敛约束convergence constrain

        相比之下,我们的方法以端到端的方式同时建模结构邻近性和属性邻近性,并且没有这些限制。此外,通过早期融合结构模型和属性模型,这两部分将相互补充从而产生足够好的知识交互。

      也有工作致力于探索用于 network embedding 的半监督学习。

      • 《Deep learning via semi-supervised embedding》 将基于 embedding 的正则化器与监督学习器结合起来,从而集成了标签信息。
      • 《Revisiting semi-supervised learning with graph embeddings》 没有强迫正则化,而是使用 embedding 来预测 graph 中的 context,并利用标签信息来构建 transductive 公式和 inductive 公式。在我们的框架中,标签信息可用的时候可以通过类似的方式融合。我们将这种扩展作为未来的工作,因为我们的工作聚焦于 network embedding 的属性建模。

29.1 模型

29.1.1 基本概念

  1. 定义社交网络 G=(U,E,A) ,其中 U={u1,,un} 为节点集合,代表用户;E={ei,j} 为边集合,代表用户之间的链接;A 为节点属性集合,如用户画像。

    每条边 ei,j 可能关联一个权重 si,j ,代表节点 ui,uj 之间的连接强度。本文重点关注无权图,因此这里 si,j=1 。实际上我们的方法也可以通过邻域采样策略来推广到带权图。

  2. 社交网络embedding 的目的是将节点映射到低维向量空间中。由于网络结构和节点属性提供了不同的信息源,因此关键是要同时捕获这两者。

    如下图所示,数字代表节点编号,相同的颜色代表相同的属性。基于网络结构embedding 的方法通常假设连接紧密的节点在 embedding 空间中彼此靠近。如, (u1,u2,u3,u4,u5) 应该彼此靠近, (u8,u9,u11,u12) 应该彼此靠近。然而,我们认为仅仅捕获网络结构信息是远远不够的。考虑到属性同质效应 ,(u2,u9,u11,u12) 也应该彼此靠近,因为他们都主修 computer science 。尽管 u2 并未直接连接到 u9,u11,u12 ,我们可以预期 (u9,u11,u12) 喜欢看的计算机科学类的文章, u2 可能也会感兴趣。

    要学到用户的更有信息量的 representation,必须捕获属性信息。在这项工作中,我们努力开发 embedding 方法从而同时保持社交网络的结构邻近性和属性邻近性。

  3. 我们首先定义结构邻近性和属性邻近性:

    • 结构邻近性 Structural Proximity :以网络链接关系表示的节点邻近性。对于节点 uiuj ,如果它们之间存在链接 ei,j 则表示直接邻近;如果 ujui 的上下文内,则表示间接邻近。直观而言,直接邻近性对应于一阶邻近性,间接邻近性对应于高阶邻近性。产生上下文的一种流行方法是通过网络中执行随机游走,这里我们采用 node2vec 的随机游走策略。

    • 属性邻近性 Attribute Proximity:以属性表示的节点邻近性。对于节点 ui 和节点 uj ,我们将用户 ui 的属性 Ai 和用户 uj 的属性 Aj 的交集表示属性邻近性。通过属性邻近性的强制约束,我们可以建模属性同质效应,使得具有相似属性的用户在 embedding 空间中彼此靠近。

      这里假设用户属性特征都是离散型的(如果有连续型属性则可以离散化)。

29.1.2 SNE 模型

  1. 结构建模Structure Modeling :根据结构邻近性的定义,网络结构建模的关键在于定义节点的 pairwise 邻近性。

    f(,) 为节点 ui,uj 的邻近性得分函数,我们定义给定 ui 的条件下,节点 ujui 存在链接的概率为:

    p(ujui)=exp(f(ui,uj))j=1nexp(f(ui,uj))

    令节点 ui 的邻居集合为 Ni(包括了直接邻居、高阶邻居),我们假设链接存在概率的条件独立性,则有:

    p(Niui)=jNip(ujui)

    通过最大化所有节点上的这种条件概率,我们可以实现保持网络结构邻近性的目标。具体而言,我们建模全局网络结构的目标函数为:

    L=i=1np(Niui)=i=1njNip(ujui)

    建立了学习的目标函数之后,现在我们需要设计一个 embedding 模型来估计 pairwise 邻近性函数 f(ui,uj) 。先前的大多数工作都是采用浅层模型来建模节点邻近性,如矩阵分解、单层神经网络。这些方法将两个节点的邻近性建模为 embedding 向量的内积。但是,众所周知,简单地将 embedding 向量内积会限制模型的表达能力,并导致较大的 ranking loss 。为了捕获现实世界网络的复杂非线性,我们建议采用一种深度架构来对节点的 pairwise 邻近性建模:

    f(ui,uj)=u~jσL(W(L)(σ1(W(1)ui+b(1)))+b(L))

    其中:

    • ui 为节点 uiembedding 向量。
    • u~i 为节点 ui 作为上下文时的 context embedding 向量。
    • L 为神经网络的层数, W(l),b(l) 为第 l 层的参数, σl() 为第 l 层的激活函数。

    注意:在我们的方案中,每个节点 ui 都有两个潜在的 embedding 表示形式:节点 embedding ui 、作为上下文时的 context embedding u~i 。最终我们可以直接拼接或相加这两个 embedding,从而作为节点 ui 在下游任务中的 embedding 。根据经验,这种方式效果更好。

    浅层 embedding 模型到深层 embedding 模型是一种很自然的想法。

  2. 属性编码Encoding Attributes :很多现实世界的社交网络包含丰富的属性信息,这些属性信息可能是异质并且多样化的。为了避免人工特征工程,我们将所有属性转化为通用的 feature vector 的形式,从而有助于设计一种从属性数据中学习的通用方法。无论属性的语义如何,我们都可以将属性分为两类:

    • 离散属性:我们通过 one-hot encoding 将离散属性转换为一组 binary feature 。如:性别属性的取值集合为 {male, female},那么对于一位女性用户,我们用 v=(0,1) 来表示其性别为 female
    • 连续属性:社交网络上自然地存在连续属性,如图像原始特征和音频原始特征。或者也可以通过离散变量人为地转换生成连续属性,如通过 TF-IDF 将文档的 bag-of-words representation 转换为实值向量。另一个例子是历史特征,如用户购买 item 历史行为特征、用户 checkin 地点的历史行为特征,它们总是被归一化为实值向量从而减少可变长度的影响。

    假设属性特征向量 v 中有 S 项,对于第 s 个特征项,我们关联一个低维的 embedding 向量 es ,它对应于权重矩阵 Watt 的第 s 列,如下图

    所示。然后我们聚合用户所有的属性特征embedding

    u=s=1Svses=Wattv

    这里没有进行连续特征离散化,而是将连续特征直接嵌入并乘以特征取值。此外,这里直接均值聚合,可以结合 attention 机制进行聚合。

    类似于网络结构建模,节点属性建模的目标是采用深度模型来近似属性之间的复杂的相互作用,从而对属性邻近性建模:

    f(ui,uj)=u~jσK(W(K)(σ1(W(1)ui+b(1)))+b(K))

    其中 K 为神经网络层数,u~j 为节点 uj 作为上下文时的 context embedding 向量。

    pair-wise 属性邻近性建模从直觉上需要馈入两个节点的内容,但是这里只有一个节点内容和另一个节点的 context embedding

  3. SNE 模型:为了结合网络结构建模和节点属性建模,一种直观的方法是:将各自模型学到的 embedding 拼接起来,即后期融合late fusion方案。这种方法的主要缺点是:各个模型在彼此不知道对方的情况下单独训练,训练之后简单地组合各模型的 embedding 从而得到结果。相反,早期融合early fusion方案允许同时优化所有参数,因此属性建模和结构建模相互补充,使得两个部分密切交互。从本质上讲,早期融合方案在端到端深度学习方法中更为可取,因此,我们提出了如下所示的通用社交网络嵌入框架 SNE,它通过在输入层之后进行早期融合来集成网络结构建模和节点属性建模。

    • 输入层:

      • 网络结构建模的输入层为节点的 one-hot
      • 节点属性建模的输入层为节点的属性特征向量 v
    • embedding 层:

      • 网络结构建模的 embedding 层将 one-hot 映射到捕获了网络结构信息的稠密向量 u 上。
      • 节点属性建模的 embedding 层对属性特征向量进行编码,并生成聚合了属性信息的稠密向量 u
    • 隐层:我们选择了 L 层隐层,每一层隐层为 h(1),,h(L) 。其中:

      h(0)=[uλu]h(k)=σk(W(k)h(k1)+b(k)),k=1,2,,L

      λR 用于调整属性信息的重要性。我们将最后一层隐层的表示 hi(L) 作为用户 uiembedding 向量。

      注意:一种常见的网络架构设计是使用塔式结构,即每层的神经元数量从底部到顶部依次减少。我们也遵循该设计原则,如下图所示。

    • 输出层:定义邻居 uj 作为上下文时的 context embeddingu~j,它对应于权重矩阵 U~ 的第 j 行。因此定义 uiuj 的邻近性为:

      f(ui,uj)=u~jhi(L)

      context embedding 中缺乏节点的属性信息。

      因此节点 uj 和节点 ui 存在链接的概率为:

      p(ujui)=exp(u~jhi(L))j=1nexp(u~jhi(L))

      输出层将最后一层隐层 hi(L) 映射为一个概率向量 oi,它给出了节点 ui 链接到其它所有节点的概率:

      oi=(p(u1ui),,p(unui))

  4. 优化Optimization :为求解模型参数,我们需要选择一个目标函数来进行优化。我们的目标函数是:使得所有节点上的条件链接概率最大化。即:

    Θ=argmaxΘi=1njNip(ujui)=argmaxΘi=1njNilogp(ujui)=argmaxΘi=1njNilogexp(u~jhi(L))j=1nexp(u~jhi(L))

    其中: Θ 为网络需要学习的参数, Ni 为节点 ui 的邻居集合(包括了直接邻居、高阶邻居)。

    这个目标函数有两个效果:强化 ui 以及 uNi 之间的相似性,削弱 ui 以及 uNi 之间的相似性。但是这带来两个问题:

    • 两个用户之间没有链接,并不意味着他们是不相似的。如,社交网络中很多用户之间没有链接,不是因为他们不相似,而是因为他们没有彼此认识的机会。因此,迫使 uiuNi 之间用户不相似是不合适的。
    • 目标函数中,为了计算单个概率 p(ujui) ,我们需要遍历所有节点。这种计算效率非常低下。

    为避免这些问题,我们使用负采样,从整个社交网络中采样一小部分负样本。主要思想是在梯度计算过程中进行近似,即:

    logp(ujui)=f(ui,uj)jMp(ujui)f(ui,uj)

    其中:f(ui,uj)=u~jhi(L)M 为负采样的节点集合。

    注意,给定用户 ui,上式第二项实际上是 f(ui,uj) 的期望,记作 E[f(ui,uj)]。对用户集合采样的关键思想是:逼近这一期望从而降低计算复杂度,并且避免对用户 ui 未链接到的其它用户节点施加过强的约束。

    为优化上述框架,我们使用了 Adam 优化算法。此外,我们还使用了 batch normalization 。在 embedding layer 和每个隐层中,我们还使用了 dropout 。最终我们使用 h(L)+u~ 来作为节点的final embedding

29.1.3 与其它模型关联

  1. 这里我们讨论 SNE 框架与其它相关模型的联系。我们展示了 SNE 包含了 state-of-the-artnetwork embedding 方法 node2vec,也包含了线性潜在因子模型 SVD++。具体而言,这两个模型可以视为浅层 SNE 的一个特例。为便于进一步讨论,我们首先给出单层 SNE 的预测模型为:

    f(ui,uj)=u~jσ1(W(1)[uiλui]+b(1))
    • 当选择:λ=0σ1 为恒等映射、W(1) 为单位矩阵、b(1)=0 时,上式退化为:

      f(ui,uj)=u~jui

      此时 SNE 退化为 node2vec

    • 当选择:λ=1σ1 为恒等映射、b(1)=0W(1)=[I,I] 为两个单位矩阵拼接而成时,上式退化为:

      f(ui,uj)=u~jW(1)[uiui]=u~j(ui+ui)=u~j(ui+s=1Svses)

      此时 SNE 退化为 SVD++

    通过 SNE 与一系列浅层模型的联系,我们可以看到我们设计 SNE 背后的合理性。具体而言,SNE 加深了浅层模型,从而捕获网络结构和属性之间的底层交互。在建模可能具有复杂的、非线性固有结构的真实世界数据时,我们的 SNE 更有表达能力,并且可以更好地拟合真实世界数据。

29.2 实验

  1. 这里我们对四个可公开访问的社交网络数据集进行实验,旨在回答以下研究问题。

    • state-of-the-artnetwork embedding 相比,SNE 能否学到更好的 node representation
    • 导致 SNE 学到更好 representation 的关键原因是什么?
    • 更深的隐层是否有助于学到更好的社交网络 embedding
  2. 数据集:

    • 社交网络:我们使用 Facebook 的两个网络,分别包含来自两所美国大学的学生: University of OklahomaOKLAHOMA)、University of North Carolina at Chapel HillUNC) 。除了用户 ID 之外,还有七个用户属性:状态、性别、专业、第二专业、宿舍、高中、入学年份。注意,并非所有学生都有这七个属性,如在 UNC 数据集中的 18163 个学生中只有 4018 个学生包含所有属性。
    • 引文网络:我们使用 DBLPCITESEER 数据集,每个节点代表一篇论文。属性为去除停用词以及词干化之后每篇论文的标题和内容。DBLP 数据集由计算机科学四个研究方向的会议论文组成。CITESEER 数据集由来自十个不同研究领域的科学出版物组成。这些研究方向或研究领域在节点分类任务中被视为标签。

  1. 评估方式:我们采用了链接预测和节点分类任务。链接预测任务评估 node representation 在重建网络结构中的能力,节点分类评估 node representation 是否包含足够的信息用于下游应用。

    • 链接预测任务:我们随机将 10% 的链接作验证集来调整超参数,随机将 10% 的链接作为测试集,剩下 80% 的链接作为训练集来训练 SNE 。由于测试集/验证集仅包含正样本,因此我们随机选择数量相等、不存在的边作为负样本。我们使用 AUROC 作为评估指标(ROC 曲线的面积),该指标越大越好。

    • 节点分类任务:我们首先在训练集上训练模型(包含所有节点、所有边、所有属性,但是没有节点 label ),从而获得node embedding 。其中模型的超参数通过链接预测任务来选取。然后我们将 node embedding 输入到 LIBLINEAR 分类器进行节点分类。我们随机选择 ρ{10%,30%,50%} 的标记节点作为训练集,然后剩余的标记节点作为测试集。

      根据链接预测任务获取节点分类任务的超参数,这种做法可能不是最佳的,应该根据节点分类任务来得到模型超参数。但是这里是两阶段的,因此如何根据第二阶段的标签信息来得到第一阶段的模型超参数,这是一个问题。

      我们重复该过程十次并报告平均的 Macro-F1Micro-F1 得分。注意:由于只有 DBLPCITESEER 数据集包含节点的类别标签,因此仅针对这两个数据集执行节点分类任务。

  2. baseline 方法:这里我们将 SNE 和若干个 state-of-the-artnetwork embedding 方法进行比较。

    • node2vec:基于有偏的随机游走产生节点序列,然后对节点序列应用 SkipGram 模型来学习 node embedding 。有两个关键的超参数 pq 控制随机游走,我们以原始论文相同的方式调优它们。注意,当 pq 设置为 1.0 时,node2vec 降级为 DeepWalk
    • LINE:分别通过保持网络的一阶邻近性和二阶邻近性来为每个节点学习一阶邻近性 embedding 和 二阶邻近性 embedding 。节点的 final embedding 为二者的拼接。
    • TriDNR:通过耦合多个神经网络来联合建模网络结构、node-content 相关性、label-content 相关性,从而学习 node embedding 。我们搜索文本权重超参数 tw 的范围为 [0.0,0.2,,1.0]

    所有的 baseline 都采用原始作者发布的实现。注意,node2vec/LINE 都是仅考虑结构信息,为了和利用属性信息的 SNE 进行公平的比较,我们将它们学到的 node embedding 和属性向量拼接起来,从而扩展为包括属性的形式。我们称这类变体为 node2vec+attrLINE+attr 。此外,我们了解到最近的 network embedding 工作 《Label informed attributed network embedding》 也考虑了属性信息,但是由于他们的代码不可用,因此我们没有进一步比较它。

  3. SNE参数配置:

    • node2vec/LINE方法一致,我们选择 embedding 维度 d=128 。用于控制随机游走的超参数 p/qnode2vec 相同。
    • 我们的实现基于 tensorflow ,选择 mini-batchAdam 优化器,搜索的batch size 范围从 [8,16,32,64,128,256] ,搜索的学习率从 [0.1,0.01,0.001,0.0001]
    • 我们搜索超参数 λ 的搜索空间为 [0.0,0.2,,1.0] ,当 λ=0SNE 退化为仅考虑网络结构。
    • 我们使用 softsign 函数作为隐层激活函数。我们尝试了多种激活函数,最终发现 softsign的效果最好。
    • 我们使用均值 0.0、标准差 0.01 的高斯分布来随机初始化模型参数。
    • 如无特殊说明,我们选择两个隐层,即 L=2

    下表给出了通过验证集择优的每种方法的最佳超参数。

  4. 不同方法在四个数据集上链接预测任务的效果如下图所示。为探索不同网络稀疏性条件下各方法的鲁棒性,我们改变了训练链接的比例并研究了性能的变化。

    结论:

    • SNE 在所有方法中效果最佳。值得注意的是:和单纯的基于网络结构的 node2vec/LINE 相比,SNE 在使用一半链接的条件下,性能更好。这证明了节点属性在链接预测方面的有效性,以及 SNE 通过节点属性学到更好的 node embedding 的合理性。

      此外,我们观察到 node2vec/LINEDBLPCITESEER 上的性能随着训练比例越低,性能下降的更为明显。原因是 DBLP/CITESEER 数据集本身的链接就很少,因此当训练链接的比例降低时,链接的稀疏问题变得更加严重。相反,当我们使用更少的链接进行训练时,我们的 SNE 表现出更高的稳定性。这证明了对属性建模是有效的。

    • 聚焦于带属性的方法,我们发现集成属性的方式对于性能起着关键作用。

      • 带属性的 node2vec+attr/LINE+attr 相比 node2vec/LINE 略有改进,但是改进的幅度不大。这表明简单地将节点属性和 embedding 向量进行拼接的方式,无法充分利用属性中丰富的信号。这说明了将节点属性融合到网络 embedding 过程中的必要性。
      • SNE 始终优于 TriDNR。尽管 TriDNR 也是联合训练节点属性,但是我们的方法是在模型早期(输入层之后)就无缝地融合了属性信息,使得随后的非线性隐层可以捕获复杂的 ”网络结构-节点属性“ 交互信息,并学习更有效的 node embedding
    • 在基于结构的 embedding 方法中,我们观察到 node2vec 在四个数据集中都优于 LINE。一个合理的原因是:通过在社交网络上执行随机游走,node2vec 可以捕获更高阶的邻近信息。相比之下,LINE 仅对一阶邻近性和二阶邻近性建模,无法为链接预测捕获足够的信息。为验证这一点,我们进一步探索了一个额外的 baseline:在随机游走时,选择和当前节点共享最多邻居的节点,从而直接利用二阶邻近性(即选择二阶邻近性最大的节点来游走)。不出所料,该baseline 在所有数据集上的表现都很差(低于每个子图的底线)。这再次表明需要建模网络的高阶邻近性。

      由于 SNE 使用和 node2vec 相同的随机游走过程,因此它可以从高阶邻近性中学习,并通过属性信息得到进一步补充。

  5. 不同方法在两个数据集上的节点分类任务效果如下表所示。性能趋势和链接预测任务中的趋势一致。

    • 在所有情况下,SNE 方法均超越了所有 baseline
    • 仅使用网络结构的 node2vecLINE 表现最差,这进一步证明了社交网络上建模节点属性的有效性,并且正确建模属性信息可以导致更好的 representation learning 并有利于下游 application

  6. 超参数 λ 调节了顶点属性的重要性。为进一步探索 λ 的影响,我们考察了 λ{0,0.01,0.1,1,10,100} 时,SNE 模型的效果。我们以相同的方式来评估链接预测任务、节点分类任务,其中链接预测任务采用 80% 的链接作为训练集,节点分类任务采用 50% 的标记节点作为训练集。

    注意:当 λ=0 时意味着仅考虑网络结构而不考虑节点属性信息,当 λ 较大时会近似于单纯的属性建模而不考虑网络结构信息。

    • 最佳结果通常在 λ[0,1] 之间取得。当 λ 很大时,节点属性的重要性严重超过网络结构信息,此时性能甚至要比单纯的网络结构建模更差。因此,我们将 λ 的探索集中于 [0,1] ,探索的步长为 0.2
    • 通常属性信息在 SNE 中起着重要作用,这一点可以通过 λ 增加时 SNE 性能得到提升得以证明。当 λ0.0 增加到 0.2时,我们观察到 CITESEER 的性能显著提高。由于该数据集的链接较少,因此性能的提升表明属性有助于缓解链接稀疏问题。
    • λ=0 时(仅考虑网络结构信息)SNE 的效果优于 node2vec。由于我们使用和 node2vec 相同的游走过程以及超参数 p,q ,因此我们认为性能的提升来自于隐层引入的非线性。

  7. 为了解 SNE 为什么要比其它方法效果好,这里我们对 DBLP 数据集进行研究。我们首先用每种方法学习每个节点的 embedding,然后给定 query paper 我们利用 node embedding 检索最相似的三篇论文。其中,相似性是通过 embedding 的余弦相似度来衡量。

    为了和基于结构的方法进行公平比较,我们选择了 KDD 2006 的一篇热门论文 Group formation in large social networks: membership, growth, and evolution ,该论文引用量达到 1510 。根据这篇论文的内容,我们预期相关结果应该是关于社交网络中群体或社区的结构演变。不同embedding 方法检索到的最相关论文如下表。

    结论:

    • SNE 返回了非常相关的结果:三篇论文都是关于动态社交网络分析和社区结构的。
    • 仅利用结构信息,node2vec 返回的结果似乎与 query 不太相似。node2vec 似乎倾向于找到相关性较低、但是引用率较高的论文。这是因为随机游走过程可能容易偏向于具有更多链接的热门节点。尽管 SNE 也依赖于随机游走,但是 SNE 可以通过利用属性信息在一定程度上纠正这种偏差。
    • LINE 也返回了和 query 不太相似的结果。这可能是由于仅建模一阶邻近性和二阶邻近性,忽略了丰富的属性信息。

    通过以上定性分析我们得出结论:使用网络结构和节点属性都有利于检索相似节点。和单纯的基于结构的 embedding 方法相比,SNE 返回的结果与 query 更为相关。值得注意的是,对于本次研究,我们特意选择了一个热门的节点来缓解稀疏性问题,这实际上有利于基于结构的方法。即便如此,基于结构的方法也无法识别相关的结果。这揭示了仅依赖网络结构进行社交网络 embedding 的局限性,也证明了对节点属性进行建模的重要性。

  8. 最后我们探索隐层对于 SNE 的影响。众所周知,增加神经网络的深度可以提高模型的泛化能力,但是由于优化困难这也可能降低模型性能。因此我们迫切想知道:使用更深层的网络是否可以提升 SNE 的性能。我们在 DBLP 上验证了SNE 模型不同数量的隐层对应的链接预测、节点分类任务的性能。在其它数据集上的结论也是类似的,因此我们仅以 DBLP 为例。由于最后一层隐层的大小决定了 SNE 模型的表达能力,因此我们将所有模型的最后一层隐层都设为 128 维从而公平地比较。对每个比较的模型,我们都重新调优超参数从而充分发挥模型的能力。

    结论:

    • 可以看到一个趋势:隐层越多模型性能越好。这表明在 SNE 中使用更深的网络效果更好。但是,其代价是更多的训练时间。在普通的商用服务器上(2.4GHzIntel Xeon CPU),单层SNE 耗时 25.6秒/epoch、三层 SNE 耗时 81.9秒/epoch

    • 我们停止探索更深层的模型,因为当前的 SNE 使用全连接层,而深层的全连接层很难优化。并且很容易随着层的加深出现过拟合 over-fitting 和退化 degrading 。表中效果提升的衰减也暗示了这一点。

      为了解决该问题,我们建议采用现代的神经网络设计方法,如残差单元 residual unithighway network 。我们将该工作留给未来的工作。

    • 值得注意的是:当没有隐层时SNE 的性能会很差,与 TriDNR 处于同一水平。当增加了一层隐层时,模型效果大幅提升。这证明了以非线性方式学习 “网络结构 -- 节点属性” 交互的有效性。为证明这一点,我们进一步尝试在隐层使用恒等函数 identity 替代 softsign 激活函数,最终效果要比非线性 softsign 激活函数差得多。

三十、ProNE[2019]

  1. 在过去的几年里,representation learning 为网络挖掘和分析提供了一种新的范式。representation learning 的目标是将网络结构投影到一个连续的 embedding 空间,同时保持网络的某些属性。广泛的研究表明,学到的 embedding 可以使得众多的数据挖掘任务受益。

    network embedding 的最新进展大致可以分为三类:基于矩阵分解的方法,如 SocDim, GraRep, HOPE, NetMF;基于 SkipGram 的模型,如 DeepWalk, LINE, node2vec;基于图神经网络graph neural network: GNN的方法,如 Graph Convolution, GraphSage, Graph Attention。通常,前两种方法预训练的 embedding 被输入到下游任务的学习模型中。因此,高效地生成有效的 network embedding 从而服务于大型网络application 至关重要。然而,大多数现有模型都聚焦于提高 embedding 的效果effectiveness ,使得模型的效率efficiency 和可扩展性scalability 受到限制。例如,在基于分解的模型中,GraRep 的时间复杂度为 O(n3),其中 n 为网络中的节点数量,这使得在大型网络中的计算成本太高。在基于 SkipGram 的模型中,当使用默认超参数时,在现代服务器上使用 20 个线程来学习一亿个节点、五亿条边的网络的 embeddingLINE 将花费数周时间,DeepWalk/node2vec 将花费数月时间。

    为了解决当前工作的效率和可扩展性的限制,论文《ProNE: Fast and Scalable Network Representation Learning》 提出了一种高效的、且可扩展的 network embedding 算法 ProNEProNE 的总体思想是:首先以有效的方式初始化 network embedding,然后增强这些 embedding 的表达能力。受大多数真实网络的长尾分布及其产生的网络稀疏性network sparsity 的启发,第一步是通过将 network embedding 形式化为稀疏矩阵分解来实现。第二步是利用高阶 Cheeger 不等式对初始化的 embedding 进行谱域传播,目标是捕获网络的局部平滑localized smoothing 信息和全局聚类global clustering 信息。

    这种设计使得 ProNE 成为一个速度极快的 embedding 模型,同时保持效果上的优势。论文在五个真实世界网络和一组随机网络上进行了实验。大量实验表明,单线程 ProNE 模型要比具有 20 个线程的、流行的 network embedding benchmark (包括 DeepWalk, LINE, node2vec )快大约 10 ~ 400 倍,如下图所示。论文的可扩展性分析表明,ProNE 的时间成本与network volumenetwork density 呈线性相关,使得 ProNE 可以扩展到数十亿规模的网络。事实上,通过仅使用一个线程,ProNE 只需要 29 个小时来学习上述一亿个节点的网络的 embedding 。注意,ProNE 也很容易并行化。

    除了效率和可扩展性优势之外,ProNE 在多标签节点分类任务的所有数据集中也始终优于所有 baseline。更重要的是,ProNE 中的第二步(即,谱域传播 spectral propagation )是增强 network embedding 的通用框架。通过将 DeepWalk, LINE, node2vec, GraRep, HOPE 生成的 embedding 作为输入,论文的谱域传播策略在一秒钟内为所有这些 embedding 进行了增强,并带来了平均 +10% 的相对提升。

    这篇论文的基本思想是:首先训练一个 initial embedding ,然后通过消息传递机制在network 上传播这个 initial embedding 从而 refine 。它复用了标签传播的思想,并没有太大的创新。至于 initial embedding 方法可以有多种选择,不一定必须采用论文中提到的方法。

  2. 相关工作:最近出现的 network embedding 很大程度上是由 SkipGram 在自然语言和网络挖掘中的应用所引发的。network embedding 的历史可以追溯到谱聚类 spectral clustering 和社交维度学习 social dimension learning 。在 network embedding 的发展过程中,大多数方法旨在隐式地或显式地建模节点之间分布式distributional 的相似性。

    word2vec 模型的启发,人们已经提出了一系列基于 SkipGramembedding 模型,用于将网络结构编码为连续空间,如 DeepWalk, LINE, node2vec 。最近的一项研究 《Neural word embedding as implicit matrix factorization》 表明,基于 SkipGramnetwork embedding 可以理解为隐式矩阵分解。此外,受到该研究的启发,《Network embedding as matrix factorization: Unifying deepwalk, line, pte, and node2vec》 提出了 NetMF 模型来执行显式矩阵分解从而学习 network embeddingNetMF 与我们模型的区别在于:NetMF 要分解的矩阵是稠密矩阵,其构造和分解涉及到 O(n3) 时间复杂度的计算(n 为网络节点数量),而我们的 ProNE 模型将 network embedding 形式化为 O(|E|) 的稀疏矩阵分解(|E| 为网络中边的数量)。

    其它一些近期的、基于矩阵分解的 network embedding 模型包括 GraRepHOPE 。谱域的network emebdding 与谱域降维方法有关,例如 IsomapLaplacian Eigenmapspectral clustering 。这些基于矩阵分解的方法通常需要昂贵的计算、以及过多的内存消耗,因为它们的时间复杂度和空间复杂度都很高。

    另一个重要的工作方向是将图谱 graph spectral 推广到监督的 graph learning 中,如图卷积网络 graph convolution network: GCN 。在 GCN 中,卷积操作是在谱空间中定义的,参数化的 filter 是通过反向传播来学习的。与它们不同的是,我们的 ProNE 模型具有一个带通滤波器 band-pass filter (该滤波器的参数是人为设定的,因此不需要学习),该滤波器同时结合了空间局部平滑spatial locality smoothing 和全局聚类global clustering 两个特点。此外,ProNE 是一种无监督且任务无关的模型,旨在预训练通用的 embedding,而大多数 GCN 是以辅助特征side feature (例如由 ProNE 学到的 network embedding )作为输入的监督学习。

30.1 模型

  1. 定义图 G=(V,E) ,其中 V={v1,,vn} 为所有节点集合,E={ei,j} 为所有边的集合。定义 A 为图 G 的邻接矩阵。定义度矩阵 degree matrix 为对角矩阵 D=diag(Di,i) ,其中 Di,i=jAi,j 。这里我们仅考虑无向图(不考虑有向图),边可以是带权重的也可以是无权重的。

    给定网络 G=(V,E)network embedding 的目标是学习一个映射函数 f:VRd,dn ,从而将每个节点 vi 映射成一个低维向量 viRd ,其中 vi 捕获了网络结构信息 。广泛的研究表明,学到的 node representation 可以使得各种下游的图挖掘任务受益。然而,目前的一个主要挑战是:大多数network embedding 模型处理大规模网络在计算上不可行。例如,即使使用 20 个线程,DeepWalk 学习一个包含一亿节点的稀疏图的embedding 需要耗时几个月。

  2. 我们提出的ProNE是一种用于大规模网络的 embedding 的非常快速且可扩展的模型,它由两个步骤组成,如下图所示:

    • 首先 ProNEnetwork embedding 建模为稀疏矩阵分解,从而获得节点的有效初始 embedding
    • 然后 ProNE 利用高阶 Cheeger 不等式来调制 modulate 谱域空间,并在调制后的谱域空间传播学到的 embedding ,从而集成了局部平滑信息和全局聚类信息。

30.1.1 稀疏矩阵分解

  1. 分布式假设 distributional hypothesis 启发了最近出现的 word embeddingnetwork embedding。这里我们展示了如何将基于分布式相似性 distributional similarity-basednetwork embedding 形式化为矩阵分解。

  2. network embedding 作为稀疏矩阵分解:通常我们利用结构上下文structural context 来建模节点相似性。我们建议利用最简单的结构,即 edge ,来表示 node-contextpair 对。然后我们得到了 node-context 集合 D ,根据定义有 D=E 。公式化地,我们给定节点 vi 的条件下, context vj 出现的概率为:p^i,j=σ(cjvi) 。其中: σ()sigmoid 函数, cj 为节点 vj 作为上下文时的 context embeddingvi 为节点 viembedding

    这里我们的上下文只考虑直接相连的节点(即,随机游走序列中的上下文窗口大小为 1 )。

    考虑所有的边,则损失函数为 L=(vi,vj)Dlogp^i,j 。考虑到不同节点的 degree 不同,因此我们对损失函数进行加权:

    L=(vi,vj)Dpi,j×logp^i,j

    其中 pi,j=Ai,j/Di,i 表示边 (vi,vj) 的权重占 vi 所有边的权重的比例,比例越大则 p^i,j 的预估越重要。

    上述目标函数存在一个平凡解:对于任意 vi,vj 都有 p^i,j=1 。即,对于任意一对节点 (vi,vj) ,模型预估它们之间存在边。这一平凡解的本质原因是:L 只有“正边”、没有“负边”(即不存在的链接)。因此我们将损失函数修改为:最大化“正边”概率,且最小化“负边”概率。

    假设负采样比例为 λ ,采样到 vj 作为 ”负边“ 上下文的概率为 PD,j ,则有:

    L=(vi,vj)D(pi,j×logσ(cjvi)+k=1,vkVk=λPD,k×logσ(ckvi))

    其中 PD,j 定义为:

    PD,j(vi:(vi,vj)Dpi,j)α=(vi:(vi,vj)DAi,jDi,i)α

    α=1.0 或者 0.5

    根据偏导数为零 L(cjvi)=0 ,我们得到:

    cjvi=logpi,jlog(λPD,j),(vi,vj)D

    定义邻近性矩阵proximity matrix M 为:

    Mi,j={logpi,jlog(λPD,j),(vi,vj)D0,(vi,vj)D

    因此基于分布式相似性的 network embedding 的目标函数等价于对 M 进行矩阵分解。我们使用谱方法,截断的奇异值分解truncated Singular Value Decomposition:tSVD ,来求解,即:

    MUdΣdVd

    其中: Σdtop d 个奇异值组成的对角矩阵; UdVd 分别为奇异值分解中对应的分解矩阵的前 d 列。

    最终 UdΣd1/2embedding 矩阵,第 i 行表示节点 viembedding 向量。

    可以看到,由于 M 仅在“正边”上非零,从而使得 M 为一个稀疏矩阵。

  3. 用于快速 embedding 的稀疏化随机 tSVD :虽然可以通过矩阵分解来求解 network embedding,但是在大规模矩阵上执行 tSVD 的时间复杂度、空间复杂度仍然非常高。为了实现快速的 network emebdding ,我们建议使用随机 tSVD。根据随机矩阵理论,该方法可以大大加快 tSVD 的速度,并具有理论的近似保证。

    • 首先寻找一个矩阵 QRn×d,它包含 d 个正交列,使得 MQQM
    • 假设找到这样的矩阵 Q,定义 H=QMRd×n ,它是一个小得多的矩阵,并可以通过标准的 SVD 进行高效地分解。
    • 假设已经得到分解 H=SdΣdVd, 则最终有 MQQM=(QSd)ΣdVd 。因此最终节点的 embedding 矩阵为 (QSd)Σd1/2 ,其中 SdRd×d

    随机矩阵理论使我们能够有效地找到 Q

    • 首先生成一个 n×d 维的高斯随机矩阵 ΩRn×d,其中 Ωi,jN(0,1d)
    • 然后定义矩阵 Y=MΩ ,并对 Y 进行 QR 分解:Y=QR 。这个矩阵 QRn×d 就是我们希望找到的。

    已有工作证明,基于 SkipGramnetwork embedding 模型等价于隐式的矩阵分解,但是分解的是一个稠密矩阵,其计算复杂度为 O(n3) 。而我们这里涉及的是一个稀疏矩阵分解,计算复杂度为 O(|E|)

30.1.2 embedding 谱域传播

  1. DeepWalk,LINE 等其它流行方法类似,通过稀疏矩阵分解得到的 embedding 仅捕获局部结构信息。为了进一步集成全局网络属性(如社区结构),我们提出在谱域中传播 embedding 。注意,该策略是通用的,也可用于提升现有的 embedding 模型。

  2. network embeddinggraph spectrumgraph partition 的关联:高阶 Cheeger 不等式表明,graph spectral 中的特征值与网络的空间局部平滑 spatial locality smoothing 、全局聚类global clustering 密切相关。 我们首先介绍公式,然后展示如何帮助增强 network embedding

    在图论中,归一化的图拉普拉斯矩阵定义为:

    L=ID1A

    L 可以分解为 L=UΛU1 ,其中:

    • Λ=diag(λ1,,λn)0=λ1λnL 的特征值。
    • U 为特征向量组成的矩阵,第 i 列为 λi 对应的特征向量。

    给定信号 x,图上的傅里叶变换为:x^=U1x ,图上的傅里叶逆变换为: x=Ux^ 。因此图上的信号传播 D1Ax 可以理解为:首先将 x 通过傅里叶变换转换到谱域,然后在谱域根据拉普拉斯矩阵的特征值进行缩放,最后把谱域缩放后的信号逆变换为空域。

    图上的信号传播 D1Ax 其物理意义为:信号沿着边进行流动,每条边的流量为 Ai,jDi,i

    给定图 G 的一个划分 SV,我们通过定义 Cheeger 常数来衡量图的划分效果:

    CS=|E(S)|min(vol(S),vol(VS))

    其中:E(S) 为一个点在 S 内、另一个点在 S 外的边的集合,vol(S) 为节点集合 S 中所有节点的 degree 之和。

    Cheeger 常数的物理意义为:随机选择 S 或者 VS 中节点的一条边,这条边扩展到集合外的概率。

    给定图 G 的一个 k-way 划分:

    S1S2Sk=VS1S2=S1S3==Sk1Sk=ϕ

    定义 kCheeger 常数为 ρG(k)=max{CSi} ,它反映了将图划分为 k 个部分的效果,取值越小则说明划分得越好。高阶 Cheeger 不等式给出了graph partitiongraph spectrum之间的联系:

    λk2ρG(k)O(k2)λk

    可以看出:

    • 无向图中连通分量的数量,等于拉普拉斯矩阵中取值为零的特征值数量。这可以通过设置 λk=0 从而得到 ρG(k)=0 来导出。

    • 小特征值通过将网络划分为几个大的部分,从而控制网络的全局聚类效果;大特征值通过将网络划分为很多小部分,从而控制网络的局部平滑效果。

      这启发我们通过在划分后的(或者说调制后的)网络的谱域中传播 embedding,从而将全局信息和局部信息集成到 network embedding 中。

    假设 node embedding 矩阵为 Rd ,经过谱域空间传播后的 embedding 为:

    Rd(IL~)Rd

    其中:

    • L~=Ug(Λ)U1 为通过函数 g modulated 调制的拉普拉斯矩阵, g 称作谱域调制器 spectral modulator
    • (IL~) 为调制后的网络。当 g 为恒等映射时,上式退化为 IL=D1A

    为同时考虑全局结构信息和局部结构信息,我们选择谱域调制器为:

    g(λ)=exp(12((λμ)21)θ)

    其中 μθ 为参数。g(λ) 可以被认为是带通滤波器,它将某个范围内的特征值通过,并衰减范围外的特征值。因此 ρG(k) 针对 top 最大和 top 最小的特征值进行衰减,分别导致放大局部网络信息和全局网络信息。调制的拉普拉斯矩阵为:L~=Udiag(g(λ1),,g(λn))U

    为什么选择这种结构的谱域调制器,作者并未说明原因。另外,是否可以考虑简单地邻域聚合方式来 refine embedding

    注意:

    • 带通滤波器是通用的谱域网络调制器,也可以使用其它类型的滤波器。
    • 可以利用截断的切比雪夫多项式来避免求解 L~ 的显式特征值分解和傅里叶变换。
    • 为了保持由稀疏 tSVD 实现的原始embedding 空间的正交性,我们再次在 Rd 上应用 SVD
  3. 算法复杂度:

    • H SVD 分解的算法复杂度为 O(n×d2) ,对 YQR 分解的算法复杂度为 O(n×d2)
    • 由于 |E|n×n ,因此 M 是一个稀疏矩阵,上述对 M 的乘法的计算复杂度为 O(|E|)

    因此第一步稀疏矩阵分解的算法复杂度为 O(n×d2+|E|) 。当使用切比雪夫多项式来近似 L~ 后,第二步embedding 谱域传播的计算复杂度为 O(k×|E|+n×d2) 。总之,ProNE 的计算复杂度为 O(n×d2+k×|E|)k 为切比雪夫多项式的阶数。ProNE 的空间复杂度为 O(n×d+|E|)

  4. 并行性:ProNE 计算的主要时间消耗在稀疏矩阵乘法上,用单线程来处理足够高效,因此ProNE 主要是单线程的。另外,目前稀疏矩阵乘法的并行化已经取得了一些进展,我们预期将来可以通过多线程的稀疏矩阵乘法进一步提升ProNE 的训练效率。

30.2 实验

  1. 数据集:我们使用五个广泛使用的数据集来证明 ProNE 的有效性,另外我们还使用一组人工合成网络来评估其效率和可扩展性。

    • BlogCatalog 数据集:一个社交博客网络,其中博主的兴趣作为label
    • Wiki 数据集: Wikipedia dump 文件前一百万个字节中的单词共现网络,其中节点标签是单词的的词性 tag
    • PPI 数据集:一个 PPI 网络的子集,其中节点标签是从基因组中提取的,代表生物学状态。
    • DBLP 数据集:一个学术引文网络,节点代表作者,会议conference 为标签。
    • YouTube 数据集:一个 YouTube 用户之间的社交网络,其中节点标签代表基于所喜欢视频类型的用户分组。

  2. baseline 方法:我们将 ProNE 和流行的 baseline 比较,其中包括基于 SkipGram 的 方法(DeepWalk, LINE, node2vec ),以及基于矩阵分解的方法(GraRep, HOPE )。

    我们并未考虑基于卷积的方法,因为大多数基于卷积的方法都是监督的或半监督的,这要求额外的标签信息。

  3. 配置:

    • 为进行公平比较,所有方法的 embedding 维度为 d=128 。对其它超参数,我们使用原始论文中的值。
    • 对于 DeepWalk,node2vec,我们选择窗口大小为 10,每个节点开始的随机游走序列的数量为 10, 随机游走序列长度为 40
    • node2vec 中的参数 p,q 的搜索空间为 {0.25,0.50,1,2,4}
    • 对于 LINE ,负采样系数为 k=5 。总的样本量为 T=r×t×|V|
    • 对于 GraRep,为公平起见,拼接的 embedding 维度为 d=128
    • 对于 HOPEβ 根据作者的代码来计算,并从 (0,1) 之间搜索最佳的值。
    • 对于 ProNE,切比雪夫展开项的数量 k=10μ=0.1θ=0.5

    运行配置:在 Intel Xeno(R) CPU E5-4650(2.70GHz) ,以及 1T RAMRed Hat server 上运行。

  4. 评估方式:我们随机抽取不同比例的标记节点从而训练 liblinear 分类器,并将剩余的标记节点用于测试。我们重复训练和预测十次,报告平均的 Micro-F1Macro-F1 的结果也类似,但是由于篇幅有限我们并未显示。

    我们根据 wall-clock 时间来评估算法效率,并通过多种规模的网络中的学习时间来分析 ProNE 的可扩展性。

  5. 效率:我们比较了不同方法的训练时间,并展示了 ProNE 的可扩展性,如下图所示(单位为秒)。我们仅给出最快的三个 baseline 方法,因为矩阵分解的baseline 方法 GraRep, HOPE 比它们要慢得多。

    注意:所有baseline 都使用了 20 个线程,而 ProNE 仅使用单个线程。

    结论:单线程 ProNE 模型比 20 线程的 LINE, DeepWalk, node2vec 模型快 10~400 倍,也远远超越了其它矩阵分解方法。

  6. 可扩展性:我们通过人工合成网络来评估 ProNE 的可扩展性。首先我们生成节点 degree 固定为 10 的随机图,节点规模从 10001 亿。

    • (a) 给出不同大小随机图上 ProNE 的学习时间,这表明 ProNE 的时间代价随着网络规模的增加而线性增加。

      我们在图上也标注出 ProNE 在五个真实数据集上的学习时间,其趋势也是和网络规模呈线性。另外,蓝色曲线表示 ProNE 的稀疏矩阵分解sparse matrix factorization:SMF 的时间代价。

    • (b) 给出了 ProNE 在固定大小的 1 万个节点上,且节点 degree1001000 之间变化的随机图上的学习时间。可以看到:ProNE 的学习效率和网络密度线性相关。

    结论:ProNE 是一种可扩展的 network embedding 方法,它可以处理大规模、稠密的网络。

  7. 效果:我们在下表给出了不同模型预测的效果(给出了Micro-F1 的均值和标准差)。除了 ProNE,我们还报告了 ProNE 中由稀疏矩阵分解 SMF 步骤生成的初始 embedding 结果。另外对于 YouTubenode2vec 在五天内无法完成,而 HOPE,GraRep 由于内存消耗太多而无法处理。

    结论:

    • ProNE 在五个数据集中始终比 baseline 效果更好,这证明了其有效性。
    • ProNE 中第一步使用的简单稀疏矩阵分解 SMF 的效果与 baseline 相比相差无几甚至更好。随着谱域传播技术的进一步结合,由于有效地建模了局部结构平滑信息和全局聚类信息,ProNE 在所有 baseline 中产生了最佳性能。

  8. 用于 embedding 增强的谱域传播:最后我们将 DeepWalk, LINE, node2vec, GraRep, HOPE 学到的 embedding 输入到 ProNE 的谱域传播步骤中。下图显示了 Wiki 上的原始结果和增强结果(称作 ProBaseline ),说明了 Pro 版本对所有五个 baseline 的显著改进。平均而言,我们的谱域传播策略可以为所有方法提供 +10% 的相对提升,例如HOPE 的改善为 25% 。另外,所有增强实验都在1 秒钟内完成。

    结论:ProNE 的谱域传播是有效的,并且是改善 network embedding 的通用且高效策略。