Learning temporal attention in dynamic graphs with bilinear interactions
作者是Boris Knyazev, Carolyn Augusta, and Graham W. Taylor,于2020年发表。
背景知识
- DyREP提出,动态图中边分为2种:
k = 0:Long-term association,如网络中节点增加、边的增加,导致邻接矩阵A改变。
k = 1:Communication,已有节点之间的交互,不会引入新的节点和新的边,无论他们之间的long-term association是否存在。 - 四元组表示event:时间戳表示发生事件时间。
提出问题
如何学习动态图中的节点表达?
存在问题:
- 长期存在的边更依赖于人工标记,如DyREP。
- DyREP中邻居节点聚合只是使用简单的拼接。
相关工作
DynGem,DySAT,DynamicTriad,GC-LSTM,DyGGNN
解决方法
本文提出了LDG方法,这是基于DyREP并结合了NRI,在动态图中学习temporal attention。
节点更新
第2项是节点embedding的自传播,第3项是时间差的一个函数。重点介绍第1项:聚合邻居。
Temporal Attention
聚合的是一阶邻居特征,不同:DyREP利用已知的A更新temporal weights - S;LDG基于NRI,不需要使用A,即未知连边类型。只使用上一个时间点所有节点的embedding,经过2轮的encoder得到时序权重,并且更新了连边的表示。
举例:节点 u 和 v 之间在时间 t 发生连边。
- 第1轮使用了上一个时间点的所有节点 j 的表达
- 第2轮最后只计算 u 和 v 之间连边的 h 。
最后u和v之间的时序注意力S的表达为:
特别注意的是,这里边的类型是未知的,有r种(DyREP是2种),即S不是一维的:
损失函数
本文提出的损失函数包括了真实发生的event和随机产生的non-event,
这里的损失函数使用了一种强度函数,并且是符合 xWy 的双线性变换,作者认为DyREP只是使用简单的拼接,只能得到 xW 或者 yW 的信息。
实验
采用了social evolution 和 GitHub 这2个数据集进行链路预测任务。论文的源码和数据集在Github可以找到。
贡献
- 动态图节点更新不再依赖于邻接矩阵,只需要上一个时间点的节点表达来学习temporal attention。
- 在DyREP的基础上拓展为多关系图,可以研究多种类型的边。
- bilinear layer更加能捕捉节点之间的信息。
相关思考
- temporal attention这里是使用了2层encoder,是否有更好的方法?
- 损失函数的设计