[转载]GNN algorithm(5): Graph Encoder-Decoder Mechanism

参考transformer encoder-decoder结构:

  • encoder用于embedding representation。
  • decoder用于预测、生成任务。

目录

Problem Definition

Method Categories

Encoder-Decoder Framework

参考


Problem Definition

  • Graph机器学习的核心问题:如何把Graph结构信息纳入机器学习模型中。常用的Graph结构信息包括:节点的全局位置(Global Position)和节点的局部近邻结构(The structure of the node's local graph neighborhood)
  • Graph Embedding目标:学习node或entire (sub)graph的低维embedding,使得embedding space中的几何关系能够反应原始Graph的结构信息,如两个node节点在embedding space中的距离能够反应原始高维空间Graph中二者的相似性。(Learn embeddings that encode graph structure)

Method Categories

目前主流的Graph Embedding方向是Node Embedding,包含了3大类主流方法:Matrix Factorization、Random Walk、Graph Convolution Networks

  • Matrix Factorization:矩阵分解。将Graph结构信息使用矩阵来刻画,例如Graph邻接矩阵或节点的共线矩阵,衡量了所有节点之间的相似性,对该矩阵进行分解,学习节点的低维向量表示。例如:Graph Laplacian Eigenmaps、Graph Factorization。
  • Random Walk:随机游走。构建Graph中node的随机游走序列,构建游走序列内部节点之间的上下文共现对,再使用Word2Vec方法进行学习。例如:DeepWalk、Node2Vec。
  • Graph Convolutional Networks: Graph卷积网络。将卷积从Image/Sentence拓展到Graph。基于节点local neighborhoods的汇聚。例如: GCN、GraphSAGE。

Encoder-Decoder Framework

作者针对Node Embedding,提出了一个统一的Encoder-Decoder编程框架来设计和实现Graph Embedding算法,上述所述目前主流的Graph Embedding算法都可以用该框架来重新组织代码结构。

  • Encoder:目标是将每个Node映射编码成低维的向量表示,或embedding。
  • Decoder:目标是利用Encoder输出Embedding,来解码关于图的结构信息。

这一框架的核心思想在于,如果我们能够基于编码得到的低维embeddings,来学习高维graph结构信息的解码,这些信息包括节点的全局位置或节点的局部近邻结构等,那么,原则上,这些低维embedding包含了所有下游机器学习任务所需要的全部信息

形式化地,Encoder是如下映射函数:

ENC: V \rightarrow R^{d}

即,将节点i∈V映射成embedding zi∈Rd。

Decoder是这样一个函数,函数的输入是上述node embeddings集合,输出是要解码的、用户自定义的Graph结构信息。例如:Decoder目标可能是预测在给定节点embedding条件下,节点之间的连边是否存在;或给定embeddings下,预测节点所属的社区类别。Decoder的形式是多样化的,但最常用的是pairwise decoder

DEC: R^{d}\times R^{d} \rightarrow R^{+}

即,Decoder的输入是Node Pair的embeddings,输出是一个实数,衡量了这两个Node在原始Graph中的相似性

为了学习embedding,我们的目标是重构节点低维embeddings的相似性,以反映二者在原始Graph中的相似性。即给定Node Pair(vi, vj),

DEC(ENC(v_{i}), ENC(v_{j})) = DEC(z_{i},z_{j}) \approx s_{G}(v_{i},v_{j})

其中,DEC(z_{i},z_{j})是模型基于编码的embedding,解码得到的二者的相似性(Emtimated); 而s_{G}是用于定义的、原始图中,顶点之间的相似性(Gound Truth),例如可以使用邻接矩阵A来表示。那么,学习的目标就是所欲训练集Node Pairs上,上述重构误差最小化,

L=\sum_{v_{i},v_{j}\subseteq D} l(DEC(z_{i}),z_{j}, s_{G}(v_{i},v_{j}))

L是RxR -> R是用于定义的损失函数,衡量了两个输入之间的差异。例如可以使用平方损失或交叉熵损失等。其中,DEC(zi,zj)可以看做是估计的相似值,sG(vi,vj)可以看做是真实的相似值。

上述框架涉及到的4大组件:

  • pairwise similarity function
  • encoder function
  • decoder function
  • loss function

参考

图表示学习Encoder-Decoder框架介绍和拓展 | 蘑菇先生学习记

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值