zoukankan      html  css  js  c++  java
  • [论文阅读笔记] HARP Hierarchical Representation Learning for Networks

    [论文阅读笔记] HARP Hierarchical Representation Learning for Networks


    本文结构

    1. 解决问题
    2. 主要贡献
    3. 主要内容
    4. 参考文献

    (1) 解决问题

    • DeepWalk及之后一系列基于神经网络算法,比如LINE,node2vec等等都取得了非常大的成功。但是他们都只局限于结点周围的结构,比如说DeepWalk,node2vec使用短的随机游走去探索结点的局部邻域,而LINE则采样至多距离源点不超过两跳的结点,这种学习方式可能忽略了图的全局结构信息,导致图嵌入过程中更多信息的流失。即,对图的高阶结构信息不建模。
    • 另外他们都使用随机梯度下降求解非凸优化目标,这样子可能导致局部最优。(由于一个不太好的初始化)即,SGD对于非凸优化可能导致局部最优。

    (2) 主要贡献

    Contribution: 提出一种新颖的层次表示学习策略HARP来捕获网络的全局结构信息(基于图粗化技术),并且该策略可以用于增强现有的算法的嵌入结果。(NEU算法类似,是一种表征嵌入增强策略


    (3) 主要内容

    1. 预备知识

    由于HARP策略是基于图粗化来做的,因此首先介绍HARP中使用到的粗化方法。

    • 边粗化(Edge Collapsing
      ):如下图所示,从E中选互不相交的两条边将两端的顶点合并成一个超结点(偏向于保留一阶相似度)。
      (因此每次得到更粗的图,结点数至少为原来的一半)

      然而,边粗化策略不是对网络中的所有结构都是有效的。网络中经常会有星形结构,上述边缘折叠算法虽然简单有效,但是他往往不能压缩类星形的结构,如下图所示:

      因此,进一步提出了星型粗化
    • 星型粗化(Star Collapsing):如下图所示,星形折叠方案是将具有相同邻居的结点合并成一个超节点,偏向于保留二阶相似度(保留节点共享邻居的结构)。因此k度的中心点引导的星形结构就压缩成了k/2个结点

    为了解决上述提到了DeepWalk、Line、Node2vec存在的两个问题,本文引入了层次表示学习
    寻找一个图Gs,它能够捕捉原始图G的重要的结构,并且比原始图小,由于以下两个原因,Gs可能会更容易嵌入:

    • 边少,结点也少。随着样本空间的缩小,训练实例的变化较小。这将产生一个更平滑的目标函数,更易于优化。
    • 由于Gs有比G更小的直径,因此基于局部的游走也是可能可以利用图的全局结构的。

    2. 核心思想

    简单说,找到一个更小的粗化图,该图可以理解为原来输入图的全局结构,利用这个粗化图用来学习一组初始表示。
    上述过程不断递归就是HARP算法(需要结合已有的表征学习算法)。

    详细来说,就是通过某种粗化策略得到一堆逐层粗化的图,G0,G1,G2,G3...GL
    再从最简化的图(节点数最少,即粗化级别最大的)开始,每个图用于学习一组节点向量表示,这些表示作为嵌入下一个更详细的图(节点数较多的,即粗化级别较低的)的良好初始化。这个过程不断重复,直到得到原图中所有结点的初始向量表示,在这基础上,最后再对原图进行学习节点嵌入即可。

    我们来看看伪代码加深理解

    HARP算法一共包含三个步骤
    图粗化,图嵌入和表示向量细化(优化)。

    • Graph Coarsening (line 1):结合上述讲的星形折叠和边折叠得到子图的方法,来进行图的压缩(对于输入图先进行星形折叠,消除星形结构,再用边折叠 得到粗化图。重复这个过程,直到得到一个足够小的图,一般GL小于100个顶点即可)。得到多个带有层次结构的子图,即一系列连续较小的图G0, G1, · · · , GL。
    • Graph Embedding on the Coarsest Graph (line 2-3):利用其他图嵌入算法(如DeepWalk、Line、Node2vec),在最粗图GL上得到图的嵌入。
    • Graph Representation Prolongation and Refinement (line4-7):我们从最粗图的节点表示一直拓展到最优图的表示即G0(G原图)。对于每一个Gi,我们拓展Gi+1的嵌入表示作为Gi的最初嵌入。再作为图嵌入算法初始化更进一步求精,得到更好的表示。
      一个疑问:如何把Gi+1的结点表示转化为Gi的初始向量表示?
      可以发现Gi+1中每个结点要么是Gi中的合并的结果(超节点)的表示,要么是Gi中未能进行合并结点的表示。在这两种情况下,可以简单地重用父节点v∈Gi的表示-,即过梯度更新快速分离子节点。

    总结: HARP通过星型折叠和边折叠将图粗化成多个层次图,通过学习粗化图上的节点嵌入作为上一级简单图的节点嵌入,以此来优化原始图的节点嵌入表示。其中,各层次图的节点嵌入学习可以采用现有的表征学习算法,如DeepWalk、Line、Node2vec等。


    (4) 参考文献

    Chen H, Perozzi B, Hu Y, etal. Harp: Hierarchical representation learning for networks[J]. arXiv preprint arXiv:1706.07845, 2017.


  • 相关阅读:
    【十大思想实验之中的一个】电车难题
    XMLHTTP使用具体解释
    高速排序 解析
    RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
    java设计模式演示样例
    [Network]Transport Layer
    【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
    WebService究竟是什么?
    epoll使用具体解释(精髓)
    贪心算法
  • 原文地址:https://www.cnblogs.com/wangqinze/p/14783021.html
Copyright © 2011-2022 走看看