本文是对《Pre-Training on Dynamic Graph Neural Networks》一文的浅显翻译与理解,如有侵权即刻删除。
朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~
Chinese-Reading-Notes-of-Graph-Learning
更多相关文章,请移步:文献阅读总结:网络表示学习/图学习
Title
《Pre-Training on Dynamic Graph Neural Networks》
——arXiv2021
Author: Jiajun Zhang
总结
文章认为当前用在图上的预训练模型往往关注于静态网络,没有考虑到网络的动态变化。因此,提出了PT-DGNN算法,考虑在动态属性图上的预训练模型应用。具体而言,预训练部分通过构建以交互时间为权重概率的子图采样,对子图中的部分节点属性和边信息进行掩码。而后,通过生成掩码的节点属性和边来训练节点嵌入。微调部分,通过结合具体的下游任务(如链路预测),进一步训练有针对性的节点嵌入。该算法示意图如下:
1 问题定义
文章首先对动态网络、表征学习和预训练等概念进行了定义:
即,动态网络是包含节点交互信息的网络,还可能包含节点属性。网络表征学习,即将高维稀疏的网络结构数据压缩为低维稠密的节点嵌入向量,从而更适应下游任务的计算。
在本文中,用于动态图神经网络上的预训练,是使用动态图生成任务实现的,即通过考虑边的时间信息来学习动态图的通用特征。
2 动态子图采样
预训练部分要进行子图采样后掩码,而动态图上的子图采样,要考虑到网络随时间演变的问题。在此,文章随机抽取w个节点作为初始采样节点,而后将节点交互时间视为权重概率,按照概率随机采样其邻居来构建子图。采样概率计算如下:
具体的采样过程如下所示:
3 动态属性图生成
为学习动态网络的演变,获取了随机采样的子图后,算法对子图进行了掩码。具体而言,掩码内容分为两部分,一种是对部分节点间边的掩码,目的是通过现有边预测未来边(遵从时间先后),即动态边生成。一种是对部分节点属性的掩码,目的是通过节点邻居属性计算被掩码的节点属性,即节点属性生成。对边的掩码过程如下:
3.1 动态边生成
在这一部分,文章强调,要通过现有的边来预测未来的边,即必须遵守时间先后的规律,较早的交互得以保留,较晚的交互则被掩码。在这一过程中,通过生成节点嵌入r来预测两个节点间的交互可能性,从而生成动态边。公式如下所示:
3.2 节点属性生成
在这一过程中,如果一个节点的属性被掩码了,那么其属性就会变为一个可学习的向量X’。而后,通过GNN来生成节点嵌入,并使用MLP来进行解码得到生成的节点属性。最终,通过约束生成属性和原有属性尽可能相似,来优化这一生成过程。