jasperzhong / read-papers-and-code

My paper/code reading notes in Chinese
44 stars 3 forks source link

WWW '23 | TIGER: Temporal Interaction Graph Embedding with Restarts #326

Closed jasperzhong closed 1 year ago

jasperzhong commented 1 year ago

https://arxiv.org/pdf/2302.06057.pdf

jasperzhong commented 1 year ago

对TGN #280 的改进

image

对于TIGE,基本可以理解为保存node embedding为一种memory,记作M-,用于message生成. 根本区别在这里 image

对于TGN,$s_i(t)$和$s_j(t)$都是memory,而TIGE用的是node i和node j之前的node embedding. rationale是node embedding包含一些比较新鲜的信息,能feedback给memory module. 看实验似乎的确有效果.

从系统角度来讲,需要为每个node额外保存一份node embedding. 这让我想起了node embedding cache.

jasperzhong commented 1 year ago

另外做了一个Restarter,给定事件t,Restarter可以只利用一小部分数据预测node embedding. 这看上去很神奇,其实就是一个对整个模型的模型蒸馏,用MSE作loss. 提出了两种restarter,一种用transformer预测,会使用一部分数据, 一种叫static restarter,看上去就是用全零. 而且restarter是伴随模型一起训练的. 这样的好处是可以将edge set分成多个连续chunk,然后每个worker拿一个chunk,用restarer预测其初始memory,然后进行data parallel训练.

jasperzhong commented 1 year ago

有一个有意思的实验用前20%的训练数据训练后,之后便不训练,直接进行validation evaluate. 要知道validatation set和前20%的训练集隔了很多events,时间距离很远. 而本文提出的restarter方法,在进行validatation set evaluate之前,重新用restarter预测了memory内容,取得了更好的效果. image

其实很意外,只用了20%的训练数据,TGN表现其实不俗.