https://dl.acm.org/doi/10.14778/3583140.3583150
这篇论文的背景部分介绍的,介绍得好好!
不了解GNN的建议先看 GNN简介 这篇博客
时态图
T GNN原理
Temporal Message Passing
黄色的便签内容:
tao和来的interaction的t有啥关系:
tao最开始传进来是传的t,由于要拿temporal邻居的h,求邻居的h要递归下去
绿色的便签内容:
递归在这里发生:求这个要递归下去
figure 1:
关键是这里,展示为啥是递归:
State Update
时间复杂度
和静态GNN的区别
为啥静态GNN就没有递归这种说法?
其实时态GNN也可以没有递归,但是这样的话,L层的GNN,对于某个temporal node (v,t)来说,要求其L阶邻居内所有顶点*所有t之前的时间戳(当然可能实际传播下去并不会是所有的时间戳)的temporal node都要从第一层开始计算,一直计算到第L层,这涉及到的node比静态GNN多很多(静态GNN:对于一个node,最多是其L阶邻居内所有顶点),
所以采用递归的方式,实际上可以理解为一种lazy策略,要它的时候才启动计算的感觉
不过,从这个过程中我们可以看到,如果每来一个event(interaction),其涉及的两个temporal node (v,t)都要严格aggregate所有在t之前的L阶邻居的话,注意到来的event的时间戳是递增的,这样产生的计算对于同样的v来说一定是有冗余的