dyngraph2vec:使用全连接层和递归层学习动态图的节点embedding

dyngraph2vec-Capturing Network Dynamics using Dynamic Graph Representation Learning

作者是Palash Goyal,Sujit Rokka Chhetri,Arquimedes Canedo,于Knowledge-Based Systems 2020 发表。

1 问题背景

现在图表示学习的有2种方法:

  • aggregated,把时间T之前的所有边构造成一个图
  • snapshot,分成多个时间片t

2 相关工作

  • Static Graph Embedding
  • Dynamic Graph Embedding
  • Dynamic Link Prediction

3 模拟实例

已知动态图可表示为多个时间快照:
在这里插入图片描述
其中初始G1用Stochastic Block Model产生,2个community各500个。
evolution pattern分为3步:

  • 从黄色社区中随机、统一地选择10个节点(图中红色表示其中的2个节点)
  • 在第一步中选择的每个节点和靛蓝社区中的随机节点之间随机添加30条边。
  • 步骤2中选择的节点的社区成员从黄色变为靛蓝色。类似地,边(图中红色)被删除或添加,以反映跨块和块内连接的概率。

在这里插入图片描述

任务是学习10个节点的社区变化的嵌入预测。图2显示了演化的第一步之后节点的嵌入。为社区转换选择的节点用红色表示。 以下是各种方法的示例:
在这里插入图片描述

  • DynGEM将红色节点移到黄色社区的边缘,但不会将任何节点移到其他社区
  • optimalsvd方法不能移动任何节点
  • DynamicTriad结果显示,在下一步中,它只将1到4个节点移动到它的实际社区
  • d-f是本文方法,可以很好地捕捉动态,并把10个节点中的大部分保留在靛蓝社区。

这表明,捕捉动态是理解网络进化的关键。

4 本文方法

问题描述

图用G(V,E)表示,A是带有权重的邻接矩阵,不支持新节点产生,节点间的边会以特定的temporal pattern而变化。
在这里插入图片描述
目标是为每个节点用向量表达:如在时刻 i 节点v的embedding:
在这里插入图片描述

dyngraph2vec
算法流程

时间步 t+d 的embedding用到 t,t+1,…t+l 的图,l称为temporal look back:
在这里插入图片描述

损失函数:

在这里插入图片描述
其中B的作用如下:
在这里插入图片描述

Variant

一共有3种变体,f 不相同:

  • (i) dyngraph2vecAE,以直接的方式将自动编码器扩展到动态设置;
  • (ii) dyngraph2vecRNN 和 (iii) dyngraph2vecAERNN,捕捉动态信息,克服模型多参数的限制。
    在这里插入图片描述

dyngraph2vecAE
使用多个完全连接的层来建模时间内和时间跨节点的互连.
节点u 的邻居向量集合为:
在这里插入图片描述
第k层的表达为:
在这里插入图片描述
dyngraph2vecRNN
使用LSTM处理长期信息。但这种方法参数依然很多。
在这里插入图片描述
如果将稀疏邻域向量简化为低维表示,LSTM网络可能能够更好地学习时间表示。于是有了第三种方法。

dyngraph2vecAERNN
使用全连接编码器来初始获取低维隐藏表示,p是全连接编码器输出层。
在这里插入图片描述

然后传递给LSTM:
在这里插入图片描述
然后隐藏层的表示再传递给一个全连接层。

优化

梯度:W_K代表了三个模型的倒数第二层权重,使用了SGD。
在这里插入图片描述

5 实验

数据集

2个真实数据集Hep-th和Autonomous Systems,1个合成数据集Stochastic Block Model(社区消失)
在这里插入图片描述

Baseline

OptimalSVD,IncSVD,RerunSVD,dynamicTriad,dynGEM

评价指标

MAP

实验结果

本文dyngraph2vec和其他的动态模型(如DynGEM等)代码实现:
Github
在这里插入图片描述

6 总结思考

本文提出了一个使用全连接层和递归层学习动态图embedding的方法,有些部分我还不是特别理解它的可解释性。值得肯定的是,本篇论文的作者实现了一个动态模型的库,方便我们使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值