TGAT:INDUCTIVE REPRESENTATION LEARNING ON TEMPORAL GRAPHS 论文笔记

本文介绍了时序图注意力网络(TGAT)模型,该模型旨在捕捉时序图中节点的动态特性。TGAT通过时间编码函数和自注意力机制,将静态特征与时间变化的拓扑特征结合,形成节点的时序表示。实验表明,TGAT能够有效地进行链接预测和节点分类,适用于inductive任务,展示了其在处理时序图数据的强大能力。
摘要由CSDN通过智能技术生成

摘要

在时序图上进行推断式表示学习十分重要。作者提出节点embedding应该同时包括静态节点特征以及变化的拓扑特征。作者提出的TGAT模型以自注意力机制为基础并根据谐波分析的经典Bochner定理开发了一种新颖的功能时间编码技术。通过堆叠TGAT层可以推测未观测过的或者观察过的节点embedding。

简介

面临挑战

  1. 为了模拟时间动态,节点嵌入不仅应该是拓扑结构和节点特征的投影,而且应该是连续时间的函数。 因此,除了通常的向量空间外,还应该在某些功能空间中进行时间表示学习
  2. 由于时间的出现,造成了对节点聚合以及信息传递的限制。

TGAT框架

Time Encoding函数

Time Encoding函数的目标是给定时间戳T,我们可以通过函数 Φ \Phi Φ得到维度为 d T d_T dT的低维向量。用符号表示为 Φ : T → R d T \Phi : T \rightarrow \mathbb{R}^{d_T} Φ:TRdT

时序图注意力层(TGAT layer)

在这里插入图片描述
符号说明

  1. 节点 i i i的原始节点特征表示为 x i ∈ R d 0 x_i \in \mathbb{R}^{d_0} xiRd0
  2. l l l层中节点 i i i t t t时刻下的隐藏表示为 h ~ i ( l ) ( t ) \widetilde{h}^{(l)}_i(t) h i(l)(t)
  3. 节点 v 0 v_0 v0 t t t时刻的邻居节点为 N ( v 0 ; t ) = { v 1 , . . . , v N } \mathcal{N}(v_0;t)=\{v_1,...,v_N\} N(v0;t)={v1,...,vN}
  4. TGAT的输入邻居节点的信息 Z = { h ~ 1 ( l − 1 ) ( t ) , . . . , h ~ N ( l − 1 ) ( t ) } Z=\{\widetilde{h}^{(l-1)}_1(t),...,\widetilde{h}^{(l-1)}_N(t)\} Z={h 1(l1)(t),...,h N(l1)(t)}以及目标节点信息及其时间戳 ( h ~ 0 ( l − 1 ) ( t 1 ) , t ) (\widetilde{h}^{(l-1)}_0(t_1),t) (h 0(l1)(t1),t);输出为时间 t t t时生成目标节点 v 0 v_0 v0的时间感知表示 h ~ 0 ( l ) ( t ) \widetilde{h}^{(l)}_0(t) h 0(l)(t)

定义实体-时间特征矩阵:
Z ( t ) = [ h ~ 0 ( l − 1 ) ( t ) ∣ ∣ Φ d T ( 0 ) , h ~ 1 ( l − 1 ) ( t 1 ) ∣ ∣ Φ d T ( t − t 1 ) , . . . , h ~ N ( l − 1 ) ( t N ) ∣ ∣ Φ d T ( t − t N ) ] T Z(t)=[\widetilde{h}^{(l-1)}_0(t)||\Phi_{d_T}(0),\widetilde{h}^{(l-1)}_1(t_1)||\Phi_{d_T}(t-t_1),...,\widetilde{h}^{(l-1)}_N(t_N)||\Phi_{d_T}(t-t_N)]^T Z(t)=[h 0(l1)(t)ΦdT(0),h 1(l1)(t1)ΦdT(tt1),...,h N(l1)(tN)ΦdT(ttN)]T‘query’,‘key’,'value’定义如下:
q ( t ) = [ Z ( t ) ] 0 W Q ,   K ( t ) = [ Z ( t ) ] 1 : N W K ,   V ( t ) = [ Z ( t ) ] 1 : N W V q(t)=[Z(t)]_0W_Q,\ K(t)=[Z(t)]_{1:N}W_K,\ V(t)=[Z(t)]_{1:N}W_V q(t)=[Z(t)]0WQ, K(t)=[Z(t)]1:NWK, V(t)=[Z(t)]1:NWV其中 W Q , W K , W V ∈ R ( d + d T ) × d h W_Q,W_K,W_V \in \mathbb{R}^{(d+d_T) \times d_h} WQ,WK,WVR(d+dT)×dh是权重矩阵用于捕获时间信息节点特征

注意力权重定义为:
α i = e x p ( q T K i ) / ( ∑ q e x p ( q T K q ) ) \alpha_i=exp(q^TK_i)/(\sum_q exp (q^TK_q)) αi=exp(qTKi)/(qexp(qTKq))代表节点 i i i对节点 v 0 v_0 v0的影响权重。

通过注意力机制得到的隐藏邻居表示
h ( t ) = A t t n ( q ( t ) , K ( t ) , V ( t ) ) ∈ R d h h(t)=Attn(q(t),K(t),V(t))\in \mathbb{R}^{d_h} h(t)=Attn(q(t),K(t),V(t))Rdh为了将邻居表示与目标节点特征相结合,我们采用了GraphSAGE的相同做法:
h ~ 0 ( l ) ( t ) = F F N ( h ( t ) ∣ ∣ x 0 ) ≡ R e L U ( [ h ( t ) ∣ ∣ x 0 ] W 0 ( l ) + b 0 ( l ) ) W 1 ( l ) + b 1 ( l ) \widetilde{h}^{(l)}_0(t)=FFN(h(t)||x_0) \equiv ReLU([h(t)||x_0]W_0^{(l)}+b^{(l)}_0)W^{(l)}_1+b_1^{(l)} h 0(l)(t)=FFN(h(t)x0)ReLU([h(t)x0]W0(l)+b0(l))W1(l)+b1(l) W 0 ( l ) ∈ R ( d h + d 0 ) × d f ,   W 1 ( f ) ∈ R d f × d ,   b 0 ( l ) ∈ R d f ,   b 1 ( l ) ∈ R d W^{(l)}_0 \in \mathbb{R}^{(d_h+d_0) \times d_f},\ W_1^{(f)} \in \mathbb{R}^{d_f \times d}, \ b_0^{(l)} \in \mathbb{R}^{d_f},\ b_1^{(l)} \in \mathbb{R}^d W0(l)R(dh+d0)×df, W1(f)Rdf×d, b0(l)Rdf, b1(l)Rd

其中 h ~ 0 ( l ) ( t ) ∈ R d \widetilde{h}^{(l)}_0(t) \in \mathbb{R}^d h 0(l)(t)Rd表示在 t t t时刻的节点embedding。

此外,考虑 k k k个不同的多头注意力机制,即 h ( i ) ≡ A t t n ( i ) ( q ( t ) , K ( t ) , V ( t ) ) ,   i = 1 , . . . , k h^{(i)} \equiv Attn^{(i)}(q(t),K(t),V(t)), \ i=1,...,k h(i)Attn(i)(q(t),K(t),V(t)), i=1,...,k
h ~ 0 ( l ) ( t ) = F F N ( h ( 1 ) ( t ) ∣ ∣ . . . ∣ ∣ h ( k ) ( t ) ∣ ∣ x 0 ) \widetilde{h}^{(l)}_0(t)=FFN(h^{(1)}(t)||...||h^{(k)}(t)||x_0) h 0(l)(t)=FFN(h(1)(t)...h(k)(t)x0)

如果边上有不同的特征

假设两个节点 v i v_i vi以及 v j v_j vj之间的边特征为 x i , j ( t ) x_{i,j}(t) xi,j(t),则 Z ( t ) Z(t) Z(t)拓展为:
Z ( t ) = [ . . . , h ~ i ( l − 1 ) ( t i ) ∣ ∣ x 0 , i ( t i ) ∣ ∣ Φ d T ( t − t i ) , . . . ] Z(t)=[...,\widetilde{h}^{(l-1)}_i(t_i)||x_{0,i}(t_i)||\Phi_{d_T}(t-t_i),...] Z(t)=[...,h i(l1)(ti)x0,i(ti)ΦdT(tti),...]

实验

实验设置

作者选择使用链接预测设置进行训练。 然后,使用获得的捕获了时间信息的节点embedding作为输入,将节点分类视为下游任务。
Transductive task
通过链接预测节点分类任务对于可见的节点进行训练。
在这里插入图片描述

Inductive task
对于不可见的节点进行训练,通过预测不可见节点之间的链接,并且通过推测的embedding信息将节点分类来捕获inductive学习的好坏。
在这里插入图片描述
在这里插入图片描述

Loss Function

l = ∑ ( v i , v j , t i j ) ∈ ε − l o g ( σ ( − h ~ i l ( t i j ) T h ~ j l ( t i j ) ) ) − Q . E v q ∽ p n ( v ) l o g ( σ ( h ~ i l ( t i j ) T h ~ q l ( t i j ) ) ) l=\sum_{(v_i,v_j,t_{ij})\in \varepsilon} -log(\sigma(-\widetilde{h}^{l}_i(t_{ij})^T\widetilde{h}^{l}_j(t_{ij})))-Q .\mathbb{E}_{v_q \backsim p_n(v)}log(\sigma(\widetilde{h}^{l}_i(t_{ij})^T\widetilde{h}^{l}_q(t_{ij}))) l=(vi,vj,tij)εlog(σ(h il(tij)Th jl(tij)))Q.Evqpn(v)log(σ(h il(tij)Th ql(tij)))其中 Q Q Q是负采样的数量,而 P n ( v ) P_n(v) Pn(v)在节点空间上的负采样分布; σ \sigma σ是sigmoid函数, ∑ ∗ \sum* 代表由节点 v i v_i vi v j v_j vj在时间 t i j t_{ij} tij的可见边。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值