Representation Learning on Graphs: Methods and Applications阅读笔记

Representation Learning on Graphs: Methods and Applications

摘要:

1 introduction

1.1 符号和基本假设

2 Embedding nodes

2.1 方法概览:一个编码解码的视角

讨论方法之前先提出一个统一的编码解码框架,我们首先开发了一个统一的编译码框架,它明确地构建了这种方法的多样性,并将各种方法置于相同的标记和概念基础上。
采用这种encoder-decoder的观点,我们按照以下四个方法学组成部分组织我们对各种节点嵌入方法的讨论:

  • 一对节点的相似性函数
  • 编码函数
  • 解码函数
  • 损失函数

各种节点嵌入方法的主要方法区别在于它们如何定义这四个组件。

2.1.1 优化和实现的细节

我们审查的所有方法都涉及通过最小化类似于公式4(损失函数)的损耗来优化编码器算法的参数。
Representation Learning on Graphs: Methods and Applications阅读笔记

2.2 浅嵌入方法

Representation Learning on Graphs: Methods and Applications阅读笔记
encoder函数映射/编码节点成一个embeddings
Representation Learning on Graphs: Methods and Applications阅读笔记

2.2.1 基于因式分解的方法

拉普拉斯特征映射
内积的方法

2.2.2 随机游走方法

deepwalk和node2vec
LINE
HARP
通过对graph进行预处理,即使用图粗化程序将G中的相关节点一起折叠成“超节点”(supernodes),之后上述的node2vec、LINE去run这个折叠后的G。在嵌入粗化的G版本之后,每个超节点的学习嵌入被用作超节点组成节点的随机游走嵌入的初始值(在另一轮“更细粒度”的图版本的优化中)。这个一般的过程可以在不同粗糙程度的层次结构中重复,并被证明可以持续地提高DeepWalk、node2vec和LINE[13]的性能。
随机游走思想的其它变体: 这个一般的过程可以在不同粗糙程度的层次结构中重复,并被证明可以持续地提高DeepWalk、node2vec和LINE[13]的性能。

2.3 通用编解码器架构

浅嵌入方法存在的弊端:

  1. 编码器中节点间不共享参数
  2. 浅嵌入也不能在编码中利用节点属性
  3. 浅层嵌入方法固有的传导性:
    它们只能为在训练阶段出现的节点生成嵌入,并且不能为以前没有出现的节点生成嵌入,除非执行额外的优化以优化这些节点的嵌入。对于不断发展的图,无法完全存储在内存中的海量图或需要在训练后归纳为新图的域而言,这存在很大问题。

新的方法正在解决这些问题。这些方法仍属于第2.1节中概述的编码器-解码器框架之内,但它们与第2.2节中的浅层嵌入方法的不同之处在于,它们使用更复杂的编码器,通常基于深度神经网络,并且通常更依赖于结构和图的属性。

2.3.1 邻居自编码方法

与浅层嵌入方法不同,Deep Neural Graph Representations (DNGR) [10] 和 Structural Deep Network Embeddings (SDNE) 使用深度神经网络将图结构直接合并到编码器算法中。
这些方法背后的基本思想是,它们使用自动编码器来压缩关于节点的本地邻居的信息(图6)。
DNGR和SDNE也不同于之前回顾的方法,因为他们使用的是一元解码器(unary decoder)而不是成对解码器。
Representation Learning on Graphs: Methods and Applications阅读笔记
在这些方法中,每个节点vi都与一个邻域向量si\inR|V|相关联,该邻域向量对应于矩阵S中vi 节点的行(S包含成对节点的相似性,即, Si,j = sG(vi,vj))。
注:在这里,s是一个记录邻居相似度的向量,大S是一个记录节点相似度sG(vi,vj))的矩阵。
si向量包含vi与图中所有其他节点的相似度,并作为vi的邻域的高维向量表示。
Representation Learning on Graphs: Methods and Applications阅读笔记