文献阅读(74)KDD2022-ROLAND: Graph Learning Framework for Dynamic Graphs

本文是对《ROLAND: Graph Learning Framework for Dynamic Graphs》一文的总结,如有侵权即刻删除。

朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~

Chinese-Reading-Notes-of-Graph-Learning

更多相关文章,请移步:文献阅读总结:网络表示学习/图学习

Title

《ROLAND: Graph Learning Framework for Dynamic Graphs》

——KDD2022

Author: 尤佳轩

总结

文章指出当前动态图方法没有将静态图上的经典有效工作利用上,而是重新开始提出一系列方法。为了避免又一次的迭代出经典工作,提出了ROLAND算法,在动态图上构建了通用的框架,将静态图的有效工作迁移到动态图上去。

1 问题定义

此处的动态图指的是离散图,也成为静态快照,即一个动态图会按照等长时间间隔分为多个快照,每个快照可视为静态图,多个快照之间存在时间先后的关系。即 G=(G_t), t=1,2,…,T,而对任意G_t=(V,E)。此外还可能存在节点特征X和边特征F。

传统图神经网络是通过堆叠多层网络层来聚合多阶邻域信息,即:

在这里插入图片描述

2 从静态图到动态图

文章指出,传统动态图上使用GNN的方法,在每张静态快照读入的时候,高阶邻域的信息传递模块都会重新进行一遍,这样既效率慢,又没有考虑到信息的动态变化。具体而言,文章将GNN的每个层输出的结果都视为节点的一个状态,在新的图读进后,会对每层的节点状态都进行更新,即:

在这里插入图片描述

换言之,GNN的每个时刻中每一层得到的结果都传向下一层和下一时刻,传向下一层是用来聚合最终得到本时刻嵌入,传向下一时刻是用来更新当前层在下一时刻的变化结果。其示意图与伪代码如下:

在这里插入图片描述
在这里插入图片描述

对于如何更新每层的节点表征,文章提出了三种方法并在实验中分别进行了验证,即:Moving Average,MLP和GRU,其中GRU效果最好,后两者皆为经典结构,第一种方法公式如下:

在这里插入图片描述
在这里插入图片描述

那么最终,ROLAND上的GNN架构如下所示:

在这里插入图片描述

对于链路预测任务而言,模型会结合两个节点表征生成边的表征,再用MLP得到预测结果:

在这里插入图片描述

3 动态变化的评估

文章指出,传统的动态图方法都是按照百分比取时间在前的数据为训练集,最后的为测试集,这种无法很好地衡量模型真正的好坏,因为不同时刻的节点交互频率或内容是不同的,最后的数据集很可能与先前的网络演变模式不符。因此,文章提出了动态变化的评估,即在每次静态快照送入后,都取训练集和验证集进行评估,并在测试集上得到结果,最终平均T个周期的结果作为最终的性能。其流程图与伪代码如下所示:

在这里插入图片描述
在这里插入图片描述

4 训练策略

文章对训练策略也进行了改进,首先是增量式学习,即每次只读入一个静态快照送入GPU中训练,得到结果后再读取下一个静态快照送去GPU中。传统方法将所有的静态快照全部读入,是很不利于大规模训练的。

此外,文章还引入了元学习的思想,即将每个静态快照的预测都视为一个不同的任务,那么元学习就是试图在多个任务中找到其共同性。具体而言,对每个静态快照,文章使用一个元GNN模型来初始化GNN模型,而后随着不断地反向传播,微调这一元模型,使其可以捕捉更具有代表性的结果。在下一个静态快照读入后,会使用更新后的元模型再次初始化为GNN模型。其伪代码如下:

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值