一、摘要

学习复杂网络上的连续时间动态对于理解、预测和控制科学和工程中的复杂系统至关重要。然而,由于高维系统结构中的组合复杂性、它们难以捉摸的连续时间非线性动力学以及它们的结构-动力学依赖性,使得这项任务非常具有挑战。

为了解决这些挑战,我们提出将常微分方程系统(ODEs)和图神经网络(GNNs)相结合,以数据驱动的范式来学习复杂网络上的连续时间动态变化

我们用GNN来建模微分方程系统。我们并未在前向过程中使用离散数量的神经网络层进行映射,而是在连续时间上数值地整合GNN层,从而捕获图上的连续时间动态。我们的模型可以解释为连续时间GNN模型或图神经ode模型。我们的模型可以用于:

  • 连续时间网络动态预测
  • 结构化序列预测(定期采样情况)
  • 单馈框架下的节点半监督分类任务(单快照情况)。

我们通过在上述三种情况下进行的大量实验,验证了我们的模型。较好的实验结果表明,我们的模型能够在一个单一的框架中联合捕获复杂系统的结构和动力学。

二、内容

将固定结构的图的节点特征随时间的动态变化,建模成微分方程(变化用微分方程建模是常规操作,还可以偏微分),同时用GNN模型来充当微分方程的右式,即变化公式(既利用神经网络的优势,有利用了GNN编码节点之间结构关联的能力)

对微分方程进行一阶近似(欧拉公式,一阶差分近似微分;或进行积分,再进行数值积分,殊途同归),再加上一个节点特征变换,即可得到本文公式。

值得注意的是,现实世界中常有时序预测的需求,例如传感器采集数据,假如不同的传感器构成网络,则变成了时空预测问题。然而,这个时候用动态图的算法不一定就优于传统时序预测或对传感器聚类分群建模预测等算法或方案,这可能是实际数据的空间依赖性并不强。

下图为论文PPT总结。

Neural Dynamics on Complex Networks-KDD20的更多相关文章

  1. 深度复数网络 Deep Complex Networks

    转自:https://www.jiqizhixin.com/articles/7b1646c4-f9ae-4d5f-aa38-a6e5b42ec475  (如有版权问题,请联系本人) 目前绝大多数深度 ...

  2. Adaptive Synchronization of Dynamics on Evolving Complex Networks

    原文链接:https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.100.114101 发表在:PRL 2008 ------------- ...

  3. The Unreasonable Effectiveness of Recurrent Neural Networks (RNN)

    http://karpathy.github.io/2015/05/21/rnn-effectiveness/ There’s something magical about Recurrent Ne ...

  4. NEURAL NETWORKS, PART 1: BACKGROUND

    NEURAL NETWORKS, PART 1: BACKGROUND Artificial neural networks (NN for short) are practical, elegant ...

  5. Online handwriting recognition using multi convolution neural networks

    w可以考虑从计算机的“机械性.重复性”特征去设计“低效的”算法. https://www.codeproject.com/articles/523074/webcontrols/ Online han ...

  6. 为什么深度神经网络难以训练Why are deep neural networks hard to train?

    Imagine you're an engineer who has been asked to design a computer from scratch. One day you're work ...

  7. 神经网络可以拟合任意函数的视觉证明A visual proof that neural nets can compute any function

    One of the most striking facts about neural networks is that they can compute any function at all. T ...

  8. 论文翻译:2020_Densely connected neural network with dilated convolutions for real-time speech enhancement in the time domain

    提出了模型和损失函数 论文名称:扩展卷积密集连接神经网络用于时域实时语音增强 论文代码:https://github.com/ashutosh620/DDAEC 引用:Pandey A, Wang D ...

  9. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement

    论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...

  10. 论文翻译:2020_DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement

    论文地址:DCCRN:用于相位感知语音增强的深度复杂卷积循环网络 论文代码:https://paperswithcode.com/paper/dccrn-deep-complex-convolutio ...

随机推荐

  1. Python通过SNMP监控网络设备

    前段时间,为了实现自动化巡检,我开发了自动化巡检工具,由于我的系统设备版本比较多,所以我是分别开发的客户端程序,服务端使用dll文件与客户端通信,服务端的dll在与python通信,通过Python丰 ...

  2. 遥感图像处理笔记之【Land use/Land cover classification with Deep Learning】

    遥感图像处理学习(1) 前言 遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月14日CSDN平台 2024年1月24日搬运至本人博客园平台 文章标题:Land use/Land ...

  3. Java中的自动装配注解

    1.说明 springboot 框架的亮点之一就是依赖注入和自动装配,它避免了我们在写代码时纠结类的生命周期问题 本文只记录一些注解的常用方法,并不深入说明 2.@Autowired 顾名思义,该注解 ...

  4. 面试官:SpringCloudGateway过滤器类型有哪些?

    在 Spring Cloud Gateway 中,过滤器是在请求到达目标服务之前或之后,执行某些特定操作的一种机制.例如,它可以实现对传入的请求进行验证.修改.日志记录.身份验证.流量控制等各种功能. ...

  5. [奶奶看了都会]ChatGPT接入企业微信成为聊天机器人

    1.聊天效果 上次给大家讲了ChatGPT接入个人微信的方法,但是个人微信容易被封号.这次就教大家接入企业微信,不会再被封号哦~ 话不多说,直接看机器人的聊天效果.基本能实现ChatGPT的聊天效果了 ...

  6. 单片机 IAP 功能基础开发篇之APP升级(二)

    1.前言 上一篇单片机 IAP 功能基础开发篇之APP升级(一)讲到了单片机 IAP 功能给 APP 程序升级的设计思路,这篇介绍的是具体实现方式. 下一篇单片机 IAP 功能基础开发篇之APP升级( ...

  7. DBGRIDEH 鼠标滚动 和 点击单元格解决思路【无意间看到,主从表】

    DBGRIDEH 鼠标滚动 和 点击单元格因为我是用2个DBgridEH,主表数据变化(用的是OnCellClick),明细表也变化.现在的情况时,鼠标滚动时,明细表数据不变化好像也没看到相关的事件请 ...

  8. MySQL8.0-CTE递归查询(避免死循环)

    TSQL脚本能实现递归查询,用户使用共用表表达式 CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询. 本文详细介绍CTE递归调用的特性和使用示例,递归查 ...

  9. MySQL优化技术系列-谓词下推(pushdown)

    谓词下推 将外层查询块的 WHERE 子句中的谓词移入所包含的较低层查询块(例如视图),从而能够提早进行数据过滤以及有可能更好地利用索引. 这在分区数据库环境中甚至更为重要,其原因在于,提早进行过滤有 ...

  10. SpringBoot中单元测试如何对包含AopContext.currentProxy()的方法进行测试

    今天在工作中遇到一个问题,一个Service类中有一个方法,其中使用了 AopContext.currentProxy() 去访问自身的函数,例如 int result = ((OrderServic ...