【论文导读】- Variational Graph Recurrent Neural Networks(VGRNN)

news2024/11/27 1:45:31

文章目录

  • 文章信息
  • 摘要
  • Background
    • Graph convolutional recurrent networks (GCRN)
    • Semi-implicit variational inference (SIVI)
  • Variational graph recurrent neural network (VGRNN)
    • VGRNN model
    • Semi-implicit VGRNN (SI-VGRNN)

文章信息

Variational Graph Recurrent Neural Networks(VGRNN)
在这里插入图片描述

原文地址:Variational Graph Recurrent Neural Networks(VGRNN):https://arxiv.org/abs/1908.09710
源码: https://github.com/VGraphRNN/VGRNN

摘要

Representation learning over graph structured data has been mostly studied in static graph settings while efforts for modeling dynamic graphs are still scant. In this paper, we develop a novel hierarchical variational model that introduces additional latent random variables to jointly model the hidden states of a graph recurrent neural network (GRNN) to capture both topology and node attribute changes in dynamic graphs. We argue that the use of high-level latent random variables in this variational GRNN (VGRNN) can better capture potential variability observed in dynamic graphs as well as the uncertainty of node latent representation. With semi-implicit variational inference developed for this new VGRNN architecture (SI-VGRNN), we show that flexible non-Gaussian latent representations can further help dynamic graph analytic tasks. Our experiments with multiple real-world dynamic graph datasets demonstrate that SI-VGRNN and VGRNN consistently outperform the existing baseline and state-of-the-art methods by a significant margin in dynamic link prediction.

对图结构化数据的表示学习主要在静态图设置中进行研究,而对动态图进行建模的努力仍然很少。在本文中,我们开发了一种新颖的分层变分模型,该模型引入了额外的随机变量来联合建模图递归神经网络(GRNN)的隐藏状态,以捕获拓扑和节点属性变化的非动态图。我们认为,在这个变分GRNN(VGRNN)中使用高级潜在随机变量可以更好地捕获动态图中观察到的潜在变异性以及节点潜在表示的不确定性。通过为这种新的VGRNN架构(SI-VGRNN)开发的半隐式变分推理,我们表明灵活的非高斯潜在表示可以进一步帮助动态图分析任务。我们使用多个真实世界动态图数据集的实验表明,SI-VGRNN 和 VGRNN 在动态链接预测方面始终优于现有的基线和最先进的方法。

Background

Graph convolutional recurrent networks (GCRN)

GCRN用于对静态图节点上定义的时间序列数据进行建模。视频中的一系列帧和传感器网络上的时空测量是此类数据集的两个示例。GCRN将图卷积网络(GCN)与循环神经网络(RNN)相结合,以捕获数据中的空间和时间特征。更准确地说,给定一个具有 N 个节点的图 G,其拓扑由邻接矩阵 A 确定,节点属性序列 在这里插入图片描述,GCRN 读取 M 维节点属性在这里插入图片描述并对每个时间步 t 更新其隐藏状态 ht:
在这里插入图片描述
这里 f 是一个非概率深度神经网络。它可以是任何递归网络,包括门控激活函数,如长短期记忆(LSTM)或门控循环单元(GRU),其中它们内部的深层被图卷积层取代。GCRN 通过将联合概率分布的因式分解参数化为条件概率的乘积来对节点属性序列进行建模。
在这里插入图片描述由于转移函数f的确定性,这里映射函数g的选择有效地定义了联合概率分布sp(X(1), X(2), . . , X(T )|A)可以用标准GCRN表示。对于高度可变的序列,这可能会有问题。更具体地说,当 X 的变异性很高时,模型试图在隐藏状态 h 中映射这种变异性,从而导致 h 的潜在高变异,进而导致训练数据的过度拟合。因此,GCRN并不完全能够对具有高变异的序列进行建模。自回归模型的这一基本问题已通过向模型引入随机隐藏状态来解决非图结构数据集。

在本文中,我们将GCN和RNN集成到一个图RNN(GRNN)框架中,这是一个动态图自动编码器模型。虽然GCRN旨在对静态图上定义的动态节点属性进行建模,但GRNN可以在不同的时间快照获得不同的邻接矩阵,并通过在隐藏状态ht上采用内积解码器在时间t重建图。更具体地说,ht可以看作是动态图在时间t的节点嵌入。为了进一步提高GRNN的表达能力,我们通过结合GRNN和变分图自动编码器(VGAE)来引入随机潜在变量。这样,我们不仅可以在不假设平滑性的情况下捕获图之间的时间依赖关系,而且每个节点都用潜在空间中的分布表示。此外,VGRNN中设计的先前构造使其能够预测未来时间步中的链接。

Semi-implicit variational inference (SIVI)

SIVI已被证明可以有效地学习具有偏度、峰度、多模态和其他特征的后验分布,而现有的变分推理方法无法捕捉到这些特征。为了表征潜在的后验q(z|x),SIVI在原始后验分布的参数上引入了混合分布,以扩展具有分层结构的变分族:z ∼ q(z|ψ)与ψ ∼ qφ(ψ)。φ表示要推断的分布参数。虽然原始后验q(z|ψ)需要具有解析形式,但其混合分布不受这种约束,因此边际后验分布通常是隐含的,没有解析密度函数更具表现力。层次结构的边缘是隐式的也很常见,即使后验分布和混合分布都是显式的。我们将SIVI集成到我们的新模型中,为动态图推断更灵活和可解释的节点嵌入。

Variational graph recurrent neural network (VGRNN)

我们考虑一个动态图G = {G(1), G(2), . . . , G(T )},其中G(t)= (V(t), E(t))是时间步长t的图,V(t)和E(t)分别是相应的节点和边集。在本文中,我们旨在开发一个与节点和边缘集中的潜在变化普遍兼容的模型。(V(t),E(t))(V(t 1),E(t 1))之间的关系没有约束,即新节点可以加入动态图并创建现有节点的边,或者以前的节点可以从图中消失。

另一方面,快照之间可以形成新的边,而现有边可以消失。设 Nt 表示节点的数量,即 V(t) 在时间步长 t 的基数。因此,VGRNN可以将可变长度邻接矩阵序列A = {A(1), A(2), . . . , A(T )}作为输入。此外,在考虑节点属性时,可以在不同的快照上观察到不同的属性,具有可变长度节点属性序列 X = {X(1), X(2), . . . , X(T )}。请注意,A(t) 和 X(t)分别是 Nt × Nt 和 Nt × M 矩阵,其中 M 是节点属性的维度,该维度随时间变化是恒定的。受变分递归神经网络(VRNN)的启发,我们通过集成GRNN和VGAE来构建VGRNN,以便充分和同时地对拓扑和节点属性动力学之间的复杂依赖关系进行建模。此外,每个节点在每个时间都用分布表示,因此在VGRNN中也对节点潜在表示的不确定性进行了建模。

VGRNN model

在这里插入图片描述

VGRNN 模型采用 VGAE 对每个图形快照进行建模。VGAEs在时间范围内以状态变量ht−1为条件,由GRNN建模。这样的架构设计将帮助每个VGAE考虑动态图的时间结构。更重要的是,与标准VGAE不同,VGRNN中的VGAE通过允许分布参数通过前一个时间步的信息的显式或隐式复杂函数进行建模,从而在潜在随机变量上采用新的先验。更具体地说,VGRNN 中的 VGAE 不是强加具有确定性参数的标准多元高斯分布,而是根据先前时间步中的隐藏状态学习先验分布参数。因此,我们的VGRNN允许更灵活的潜在表示,具有更大的表达能力,可以捕获拓扑和节点属性演化过程之间和内部的依赖关系。特别是,我们可以将实验中采用的先验分布的构造写成如下:
在这里插入图片描述其中,在这里插入图片描述在这里插入图片描述
表示条件先验分布的参数。

此外,生成分布将以在这里插入图片描述为条件:
在这里插入图片描述

其中π(t)表示生成分布的参数;φprior和φdec可以是任何高度灵活的函数,例如神经网络。

另一方面,骨干GRNN可以灵活地对复杂的依赖关系进行建模,包括图拓扑动力学和节点属性动力学。GRNN 使用递归方程更新其隐藏状态:
在这里插入图片描述
其中 f 最初是方程 (1) 的转移函数。与GRNN不同,图拓扑可以在不同的时间步长中发生变化,就像在现实世界的动态图中一样,并且邻接矩阵A(t)在VGRNN中是时间相关的。为了进一步增强表达能力,φx和φz为深度神经网络,它们在每个节点上独立运行,并分别从X(t)和Z(t)中提取特征。这些特征提取器对于学习复杂的图形动力学至关重要。基于 (4),ht 是 A≤(t)、X≤(t) 和 Z≤(t) 的函数。因此,方程 (2) 和 (3) 中的先验分布和生成分布分别定义了分布在这里插入图片描述在这里插入图片描述。生成模型可以分解为
在这里插入图片描述其中第一个快照的先验被认为是标准多元高斯分布,即在这里插入图片描述。此外,如果在快照 t 处将一个以前未观察到的节点添加到图中,我们认为该节点在快照 t − 1 处的隐藏状态为零,因此该节点在时间 t 处的先验状态为 N (0, I)。如果发生节点删除,我们假设节点的标识可以保持,因此删除一个节点,相当于删除了与其连接的所有边,不会影响下一步的先前构造。更具体地说,A和X的大小可以随时间变化,而它们的潜在空间会随时间而保持。

Semi-implicit VGRNN (SI-VGRNN)

为了进一步提高VGRNN变分后验的表达能力,我们引入了aSI-VGRNN动态节点嵌入模型。我们对 (8) 中的变分分布参数施加了混合分布,以使用半隐式分层结构对 VGRNN 的后验进行建模:
在这里插入图片描述虽然变分分布 q(Z(t)| ψt)需要显式,但混合分布 qφ 不受这种约束,导致相当灵活的 Eψt∼qφ(ψt|A(t),X(t),ht−1)(q(zt|ψt))。更具体地说,SI-VGRNN 通过图形神经网络转换随机噪声 t 从 qφ 中提取样本,这通常会导致 qφ 的隐式分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.OpenCV 运行环境配置(Python)

一、安装Python 1.在Python官网下载Python。Download Python | Python.org 下载有点慢,需耐心等一等。(用迅雷下载挺快) 2.下载完后,一步一步的安装即可。我本地安装在 D:\Python\,路径可以自定义。安装时勾选了添加…

​selenium+python做web端自动化测试框架与实例详解教程

最近受到万点暴击,由于公司业务出现问题,工作任务没那么繁重,有时间摸索seleniumpython自动化测试,结合网上查到的资料自己编写出适合web自动化测试的框架,由于本人也是刚刚开始学习python,这套自动化框架目…

Linux操作系统的启动流程

一、(通常)操作系统的启动流程步骤 【关于BIOS的介绍,如果是操作系统小白可以参考一下百度百科的解释:】 通常操作系统启动的流程一般包括以下步骤: BIOS自检:计算机开机后,会进入Power On Se…

CMOS组合逻辑(二)

在前面介绍了静态互补CMOS逻辑,这里主要说明有比逻辑和动态CMOS逻辑。 CMOS组合逻辑_vtc曲线_沧海一升的博客-CSDN博客介绍了静态互补CMOS逻辑https://blog.csdn.net/qq_21842097/article/details/107456036 一、有比逻辑 1、伪NMOS 因为互补CMOS优点是全轨输出&…

WinForm——软件加载读条界面卡死问题

WinForm——软件加载读条界面卡死问题 前言一、问题现象二、测试部分代码1.Loading窗体2.加载代码Program处 三、分析原因四、解决方案代码1.Loading窗体2.加载代码Program处 前言 在制作软件开启界面,读条加载时,在Program中new了个Loading窗体&#x…

02 表达客观事物的术语

文章目录 02 表达客观事物的术语类与对象(1)定义与表示(2)类名(类的标识)(3)属性(attribute)属性的作用范围:定义属性的格式为: (4)操作(operation)表达操作的完整语法格式 &#xf…

帮忙投票的链接创建投票链接设置投票怎么弄的微信怎么

近些年来,第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放,更多人选择微信投票小程序平台,因为它有非常大的优势。 1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

【CMake 入门与进阶(7)】 CMakeLists.txt 部分常用变量-续(附使用代码)

继续来学习CMakeLists.txt 常用变量 描述系统的变量 顾名思义,这些变量描述了系统相关的一些信息: 变量说明CMAKE_HOST_SYSTEM_NAME运行 cmake 的操作系统的名称(其实就是 uname -s)CMAKE_HOST_SYSTEM_PROCESSOR运行 cmake 的操…

Android协程

协程 文章目录 协程1.讲协程之前的一些相关概念1.并发与并行2.同步与异步3.阻塞3.1Looper的阻塞3.1.1 loop的源码3.1.2loopOnce源码3.1.3注意 3.2Looper处于死循环是否会导致ANR3.2.1ANR是什么3.2.2Looper的死循环是否会导致ANR3.2.3总结 4.挂起4.1阻塞和挂起的区别 5.多任务 2…

pytorch深度学习框架—torch.nn模块(二)

pytorch深度学习框架—torch.nn模块(二) 激活函数 pytorch中提供了十几种激活函数,常见的激活函数通常为S形激活函数(Sigmoid)双曲正切激活函数(Tanh) 和线性修正单元(ReLu)激活函数等 层对应的…

Material—— RBD(Houdini To UE)

Houdini刚体碎块导入UE,有两个方面需还原,一是材质还原,一是动态还原; 一,ABC to UE 材质方面,Houdini里的每个Primtive Group属性,都表示UE内的对应材质球;导入时勾选Find Material…

AST使用(一)

关于安装及环境配置可以看https://mp.csdn.net/mp_blog/creation/editor/131155968 下面所有案例的JS原代码如下&#xff1a; const a 3; let string "hello"; for (let i 0;i < 3;i){string "world" } console.log("string",string) …

深度学习QA之卷积神经网络

深度学习Q&A之卷积神经网络 前言1 卷积基础知识问题1 简述卷积的基本操作&#xff0c;并分析其与全连接层的区别 &#xff08;难度&#xff1a; ★ \bigstar ★&#xff09;分析与解答&#xff1a; ♣ \clubsuit ♣ 局部连接: ♣ \clubsuit ♣ 权值共享: ♣ \clubsuit ♣ 输…

ubuntu 20.04 aarch64 平台交叉编译 opencv

编译环境 win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本&#xff1a; 来自 github 当前最新 4.7 目的 交叉编译 opencv&#xff0c;用于 嵌入式 aarch64 平台 下载 opencv 可以直接从 github 下载 release 版本或者 使用 git clon…

『2023北京智源大会』6月9日上午|开幕式及全体大会

『2023北京智源大会』6月9日上午|开幕式及全体大会 文章目录 一. 黄铁军丨智源研究院院长1. 大语言模型2. 大语言模型评测体系FlagEval3. 大语言模型生态(软硬件)4. 三大路线通向 AGI(另外2条路径) 二. Towards Machines that can Learn, Reason, and Plan(杨立昆丨图灵奖得主…

Spring Boot整合JPA

文章目录 一、Spring Boot整合JPA&#xff08;一&#xff09;创建Spring Boot项目JPADemo&#xff08;二&#xff09;创建ORM实体类1、创建评论实体类 - Comment2、创建文章实体类 - Article &#xff08;三&#xff09;创建自定义JpaRepository接口 - ArticleRepository&#…

【Flutter】Flutter 中处理 loading 状态

文章目录 一、引言二、在 Flutter 中处理 loading 状态三、用具体业务逻辑代码示例展示四、常见问题及解决方案五、结语 一、引言 今天我们将一起探讨在 Flutter 中如何控制 loading 状态。 Flutter&#xff0c;作为一个高效、简洁的 UI 框架&#xff0c;已经在全球范围内得到…

FPGA基础知识-数据流建模

目录 学习目标 学习内容 1.门的类型 2.门延迟 学习时间 学习小结 学习目标 学习Verilog 提供的门级原语 理解门的实例引用、门的符号以及andor&#xff0c;bufnot类型的门的真值表 学习如何根据电路的逻辑图来生成verilog描述 讲述门级设计中的上升、下降和关断延迟 …

【MyBatis学习】MyBatis操纵数据库进行查询操作 ?MyBatis与JDBC想比怎么样,赶快与我一起探索吧 ! ! !

前言: 大家好,我是良辰丫,从今天开始我们就要进入MyBatis的学习了,请君与我一起操纵数据库,MyBatis到底是什么呢?我们慢慢往下瞧! ! !&#x1f48c;&#x1f48c;&#x1f48c; &#x1f9d1;个人主页&#xff1a;良辰针不戳 &#x1f4d6;所属专栏&#xff1a;javaEE进阶篇之…

前端——自定义组件

目录 一、创作纪念日——6月7日&#xff08;机缘巧合&#xff09; 二、收获 三、前端组件 3.1、重要的CSS 3.2、实用组件 1、站点访问次数 2、鼠标样式 3、烟花点击特效 4、GIF动态小人&#xff08;出现在左下角&#xff09; 5、天气插件 6、音乐播放器 3.3、CSS组…