[论文阅读笔记] HARP Hierarchical Representation Learning for Networks
本文结构
- 解决问题
- 主要贡献
- 主要内容
- 参考文献
(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.