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

本文主要是介绍TGAT:INDUCTIVE REPRESENTATION LEARNING ON TEMPORAL GRAPHS 论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

INDUCTIVE REPRESENTATION LEARNING ON TEMPORAL GRAPHS

  • 摘要
  • 简介
  • TGAT框架
    • Time Encoding函数
    • 时序图注意力层(TGAT layer)
    • 如果边上有不同的特征
  • 实验
    • 实验设置
    • Loss Function

摘要

在时序图上进行推断式表示学习十分重要。作者提出节点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的可见边。

这篇关于TGAT:INDUCTIVE REPRESENTATION LEARNING ON TEMPORAL GRAPHS 论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/389800

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi