系列文章目录
阅读笔记Graph Representation Learning–Chapter2
阅读笔记Graph Representation Learning–Chapter3
阅读笔记Graph Representation Learning–Chapter4
阅读笔记Graph Representation Learning–Chapter5
阅读笔记Graph Representation Learning–Chapter6
阅读笔记Graph Representation Learning–Chapter8
文章目录
Neighborhood Reconstruction Methods
3.1 An Encoder-Decoder Perspective
简介:在编码器-解码器框架中,我们认为图形表示学习问题涉及两个关键操作。 首先,编码器模型将图中的每个节点映射为低维向量或嵌入。 接下来,解码器模型获取低维节点嵌入,并使用它们来重构有关原始图中每个节点邻域的信息
3.1.1 The Encoder
shallow embedding:类似于字典,输入节点的ID输出一个低维embedding;
3.1.2 The Decoder
解码器的角色是从编码器生成的nodeembeddings中重构特定的图统计信息。
Pairwise decoders可以解释为预测节点对之间的关系或相似性。
**S[u,v]**是节点之间基于图的相似性度量。它可以是两个节点是否相连,也可以是任何针对成对节点的邻域重叠统计信息。
3.1.3&3.1.4 Optimizing an Encoder-Decoder Model & Overview of the Encoder-Decoder Approach
编码器-解码器框架的主要优点是,它允许人们根据(i)它们的解码器函数,(ii)它们的基于图形的相似性度量,(iii)它们的损失函数来简洁地定义和比较不同的嵌入方法。
一些众所周知的浅层嵌入算法的总结。
3.2 Factorization-based approaches
Laplacian eigenmaps
这种方法背后的直觉是当非常相似的节点有距离很远的嵌入时,对模型进行惩罚。
Inner-product methods
我们假设两个节点之间的相似度,例如它们局部邻域之间的重叠与它们的嵌入的点积成正比
GraphFactorization:
损失函数:
3.3 Random walk embeddings
以上这些方法的关键创新在于对节点嵌入进行了优化,这样如果两个节点在图上的短随机游走中同时出现,它们就会有类似的嵌入。
本节的这些方法相比于直接重建邻接矩阵A或A的某些确定性函数,而是优化嵌入以对随机游走的统计信息进行编码。
node2vec&deepwalk:
为了训练随机游走嵌入,一般的策略是使用公式(3.10)中的解码器,并最小化下面的交叉熵损失
Deepwalk采用的是构建一个hierarchical softmax来近似第一个式子,node2vec采用的是负采样来近似。
node2vec方法引入了超参数,这些超参数允许随机游走概率在与图的广度优先搜索或深度优先搜索更相似的游走之间平滑地插值。
LINE:
LINE未明确利用随机游走,但与DeepWalk和node2vec共享概念上的动机。
LINE利用两个encoder-decoder目标。第一个目标是编码一阶邻接信息和使用以下解码器:
第二个目标与随机游走方法更相似。第二个目标的解码器是:
但是使用KL散度对其进行了训练,以对两对偶性信息进行编码。因此,LINE在概念上与node2vec和DeepWalk相关。它使用概率解码器和概率损失函数(基于kl -散度)。它显式地重建了一阶和二阶邻域信息。
Random walk methods and matrix factorization
可以表明,随机游走方法实际上与矩阵分解方法密切相关。假设我们定义以下节点-节点相似度值矩阵。
我们定义以下节点节点的相似值:
b是一个常值,
3.4 Limitations of Shallow Embeddings
在shallow embedding这些方法中,将节点映射到嵌入的编码器模型只是一个嵌入查找(公式3.2),它为图中的每个节点训练唯一的嵌入。shallow embeddings的缺点:
- 第一个问题是,浅层嵌入方法不会在编码器的节点之间共享任何参数,因为编码器会直接为每个节点优化唯一的嵌入向量。 缺少参数共享在统计和计算上均效率低下。 从统计的角度来看,参数共享可以提高学习效率,并且还可以充当正则化的强大形式。 从计算的角度来看,缺少参数共享意味着浅层嵌入方法中的参数数量必定会随着O(| V |)的增长而增加,这在大规模图中是很难处理的。
- 浅层嵌入方法的第二个关键问题是它们不利用编码器中的节点特征。 许多图形数据集具有丰富的特征信息,这些信息可能在编码过程中提供信息。
- 最后,也许是最重要的是,浅层嵌入方法本质上是转导性的。 这些方法只能为训练阶段中存在的节点生成嵌入。无法生成在训练阶段之后观察到的新节点的嵌入-除非执行其他优化以学习这些节点的嵌入,否则是不可能的。 此限制阻止了浅层嵌入方法用于归纳应用程序,该方法涉及在训练后推广到看不见的节点。
为了减轻这些限制,可以使用更复杂的编码器来替换浅层编码器,而这些编码器通常更依赖于图的结构和属性。