定位:连续动态图的图神经网络
优点:
(1) 获得图神经网络的进化结构;
(2) 只要有新的连接就更新节点信息。建立新的连接时需要考虑节点属性(新的交互代表着用户最近的喜好),也会影响节点的属性。
(3) 交互间考虑时间间隔(会影响节点的更新策略,交互信息的传播策略;不仅影响与交互相关的两个节点,还有相近的节点)。
内容:
这个DGNN有两个组件:更新组件和传播组件
1、更新组件(update component):用于更新每次直接交互的两个点的过程

(1)interact unit
看一下update component的第一个步骤就是 interact unit。看一下interact unit输入的是什么信息——它输入的是v2和v5在t7时刻之前的信息进行一个组合。我们可以看一下公式——它就是source节点在t时刻之前的特征加上target节点在t时刻之前的特征加上,分别经过一个全连接层,再加上一个batch,输出的就是e(t).
(2)update unit
再看第二个过程,是update unit。我们输入的节点的cell特征,就是这个节作为source节点的cell 特征, 还有这个节点的hidden 特征 还有这个节点的再上一个输出的e(t), 再经过一个时间间隔delta(t), 我们就更新了这个节点的cell特征和这个节点的hidden特征。
这里要注意的是这个节点可能是source节点和target节点,我们就分成了source update和 target update。 但是这两个部分都是同样的结构,唯一的不同是网络参数的不同。
(3)merge unit
我们进入到第三个组件merge unit,我们看一下merge unit 在做什么。首先我们看一下v2节点。之前我们得到了v2节点作为source和targte得到的cell和hidden 特征,现在我要求v2节点的节点更新。我们将v2节点作为source节点的hidden 特征和v2节点作为target节点的hidden 特征进行聚合,就得到了v2节点在t7时刻的节点更新。我们可以看一下这个更新公式是怎么样的——这边的source节点的hidden 特征和target节点的hidden 特征经过一个Ws和Wg再加上一个batch,就更新了v2节点的特征表示。同理,target节点也用这样的方式去更新。
2、传播组件(propogation component):用于更新直接交互的两个点的邻居节点的过程

(1)interact unit
(2)Prop unit
4种传播:从源节点到源节点邻居(以该节点为源,和目标的邻居集合) + 从源节点到目标节点邻居 + 从目标节点到源节点邻居 + 从目标节点到目标节点邻居。这四种节点都要做更新——
g是递减函数,时间间隔越大,短期记忆保存得越少。
h用来过滤较早的邻居:如果时间间隔太大,信息将停止传播给他的邻居,使传播更有效。
f是注意函数,获得节点间的连接强度。