Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

https://dl.acm.org/doi/10.14778/3583140.3583150
这篇论文的背景部分介绍的,介绍得好好!
不了解GNN的建议先看 GNN简介 这篇博客

时态图

image-20240223161523922

image-20240223161540309

T GNN原理

image-20240223161608706

Temporal Message Passing

image-20240223161657328

黄色的便签内容:

tao和来的interaction的t有啥关系:
tao最开始传进来是传的t,由于要拿temporal邻居的h,求邻居的h要递归下去

绿色的便签内容:

递归在这里发生:求这个要递归下去

figure 1:

image-20240223161820505

关键是这里,展示为啥是递归:

image-20240223162014345

State Update

image-20240223161838120

时间复杂度

image-20240223161944594

和静态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来说一定是有冗余的

评论