Flow Prediction in Spatio-Temporal Networks Based on Multitask Deep Learning(TKDE2020)

article/2025/8/21 23:15:49

Flow Prediction in Spatio-Temporal Networks Based on Multitask Deep Learning(TKDE2020)

摘要:预测交通流(如车辆、人群和自行车的交通),包括在一个节点的进出交通和不同节点之间的过渡,在交通运输系统的时空网络中起着重要的作用。然而,这是一个非常具有挑战性的问题,受到多种复杂因素的影响,如不同地点之间的空间相关性,不同时间间隔之间的时间相关性,以及外部因素(如事件和天气)。此外,节点上的流(称为节点流)和节点之间的转换(边缘流)相互影响。为了解决这些问题,我们提出了一个多任务深度学习框架,可以同时预测整个时空网络的节点流和边缘流该方法基于完全卷积网络分别设计了两个复杂的节点流和边缘流预测模型。这两个模型通过耦合中间层的潜在表示联系在一起,并训练在一起。外部因素也通过门控融合机制集成到框架中。在边缘流预测模型中,我们采用了一个嵌入组件来处理节点之间的稀疏转换。我们基于北京和纽约的出租车数据对我们的方法进行了评估。实验结果表明,该方法优于ConvLSTM、CNN、Markov Random Field等11个基线。

背景:预测ST网络所有节点的进出流量和边缘的转移是非常具有挑战性的,因为以下几个方面

1) Scale and complexity: 一个地点的进出流动取决于它的近邻以及地理空间上的远邻,因为人们可以在任何地点之间流动,特别是当一些事件发生在一个城市时。假设一个大城市的位置数量很大(N),则有N2种转变的可能性,尽管这些转变可能不会在一段时间间隔内同时发生。因此,要预测位置的流动,无论是流入/流出还是过渡流动,我们都需要考虑位置与其他位置之间的依赖性。此外,预测还与过去时间间隔的流量有关。此外,我们无法分别预测每个位置的流量,因为城市中的位置是相互联系、相互关联、相互影响的。其复杂性和规模对传统的机器学习模型如概率图形模型提出了巨大的挑战。

2) Model multiple correlations and external factors: 在处理此类预测问题时,我们需要建立三种类型的相关性。第一个是不同位置的流之间的空间相关性,包括近位置之间的相关性和远位置之间的相关性。二是不同时间间隔的地点的流量之间的时间相关性,包括时间封闭性、周期性和趋势性。第三,进出流与过渡流高度相关,相互加强。流到某个位置的转换的总和就是该位置的流入流。

3) Dynamics and sparsity: 地点之间的流随时间的变化比进出流的变化要大得多。将在下一个时间间隔中真正发生的(一个地点和其他地方之间的)转变可能只占N2可能性的很小一部分(即非常稀疏)。在如此高维的空间中预测如此稀疏的转换是一项非常具有挑战性的任务

PROBLEM FORMULATION

让(τ;x;Y)为时间地理空间坐标,τ表示时间戳,(x;Y)为地理空间点。

Converting time-varying graphs into tensors

为了将深度神经网络应用于时变图,我们建议首先将时刻t的每个图转换为一个张量。给定一个有向图Gt = (Vt;Et)在时刻t. 我们首先展开它,然后计算有向权矩阵(例如,转移矩阵St),最后得到一个张量

 Flow Prediction Problem

MULTITASK DEEP LEARNING

MDL框架,由三个组件组成,分别用于数据转换、节点流建模和边缘流建模

我们首先将地图上沿时间方向的轨迹(或行程)数据转换为两种类型的流 :i)节点流为张量时间有序序列(Step (1a)); ii)边流为图的时间有序序列(转移矩阵) (步骤(2a)),将其转化为张量序列(步骤(2b))。然后将这两种类型的数据输入到NODENET和EDGENET。NODENET和EDGENET中间层的潜在表示通过一个BRIDGE组件耦合在一起进行训练。我们采用一个嵌入层(Em)来处理转换稀疏性问题。门控融合组件用于整合外部因素。此外,还对节点流与边缘流之间的相关性进行了正则化建模

3.1 EDGENET

将每个时间区间的转移图转换为a tensor Mt。空间嵌入倾向于学习映射a的函数将结点rij的2n维向量投影到k维空间

我们选取最近、近和远的关键帧来预测时间区间t

输出(即下一个时间间隔的预测)与输入具有相同的分辨率。这种任务非常类似于众所周知的图像分割问题,可以通过一个完全卷积网络(FCN)[22]来处理。我们在这里提出了一个三流FCN (3SFCN,见图4)来捕获时间的紧密性、周期和趋势依赖性。每个流都是一个FCN,由多个卷积组成(见图5)。根据卷积的性质,一个卷积层可以捕获空间近依赖性。随着卷积层数量的增加,FCN可以捕获越来越远的依赖性,甚至是全市范围的空间依赖性。然而,这种深度卷积网络的训练变得非常困难。因此,我们使用剩余连接[12]来帮助培训。与残差网络[13]中使用的残差块类似,我们使用了一个由批归一化(BN,[16]),纠偏线性单元(ReLU,[19])和卷积(Conv)组成的块。不同的节点可能具有不同的封闭性、周期和趋势属性。为了解决这个问题,我们建议使用一种基于参数矩阵的融合,合并他们

NODENET and BRIDGE

由于节点流与边缘流是相关的,所以需要连接从NODENET和EDGENET学习到的表示。连接NODENET和EDGENET,假设NODENET和EDGENET的两个潜在表示分别是Xfcn和Mfcn。本文提出两种融合方法:

1)SUM Fusion,求和融合方法将这两种表示直接相加,跨通道c的同一空间节点rij处的输出映射为

2)CONCAT Fusion 我们提出了另一种融合方法,称为CONCAT。形式上,两种潜在表示的串联映射Xfcn和Mfcn在跨通道c的同一空间节点rij上的映射为

CONCAT融合后

Fusing External Factors Using a Gating Mechanism

外部因素,如事件和天气,可以影响st网络不同部分的流量。这种外部因素就像一个开关,一旦发生,流动将会发生巨大的变化。基于这一见解,我们在此开发了一种基于门控机制的融合

Losses

EXPERIMENTS

在节点流量预测的实验结果

在边流量预测的实验结果

聚合函数和外部因素的影响

我们介绍了不同熔合机制的经验实验。为了实现NODENET和EDGENET的耦合,我们引入了CONCAT融合

类似 Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction∗(AAAI2016)


http://chatgpt.dhexx.cn/article/cWMZgrbB.shtml

相关文章

GPT2.0语言模型 Language Models are Unsupervised Multitask Learners

论文链接:https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf Tensorflow代码链接:https://github.com/openai/gpt-2 Pytorch代码链接:https://github.com/huggingface/pytorch-pretrained-BERT 参考文档&…

论文阅读《Language Models are Unsupervised Multitask Learners》

论文地址:《Language Models are Unsupervised Multitask Learners》 代码地址:https://github.com/openai/gpt-2 文章目录 论文介绍模型框架实验分析结论 论文介绍 本文将常识推理和情感分析两项任务联系起来,采取更一般的方法。证明了语言…

MulT: An End-to-End Multitask Learning Transformer 多任务共享注意力

文章 同时学习多个高级视觉任务,包括深度估计、语义分割、reshading表面法线估计、2D 关键点检测和边缘检测。 与单个任务Transformer相比,跨任务联合培训的Transformer模型能否提高每个任务的性能?在基于Transformer的框架中,可…

Paper | Multitask learning

目录 1. MTL的定义2. MTL的机制 2.1. Representation Bias2.2. Uncorrelated Tasks May Help?3. MTL的用途 3.1. Using the Future to Predict the Present3.2. Time Series Prediction3.3. Using Extra Tasks to Focus Attention3.4. Quantization Smoothing3.5. S…

GPT2(Language Models are Unsupervised Multitask Learners)论文阅读

1. 论文阅读 论文地址:Language Models are Unsupervised Multitask Learners 1.1 背景介绍 2019年OpenAI发布的模型,OpenAI在2018年的GPT1中给出了一种半监督的训练方法,在GPT2中针对如下问题做了升级: 以前机器学习训练代价大…

#Paper Reading# Language Models are Unsupervised Multitask Learners

论文题目: Language Models are Unsupervised Multitask Learners 论文地址: https://life-extension.github.io/2020/05/27/GPT技术初探/language-models.pdf 论文发表于: OpenAI 2019 论文所属单位: OpenAI 论文大体内容: 本文主要提出了GPT-2(Gener…

【论文阅读】Multitask Prompted Training Enables Zero-shot Task Generalization

前言 本文源自 ICLR 2022 原文地址:Multitask Prompted Training Enables Zero-shot Task Generalization Discussion 中提到的 FLAN 参考博文 【论文阅读】Finetuned Language Models Are Zero-Shot Learners_长命百岁️的博客-CSDN博客 Abstract 大模型在多种…

MultiTask Learning Survey

目录 一、常见Multi-Task 架构 二、MTL的一些优化方法 三、ExperimentConclusion 原文链接:MultiTask Survey 一、常见Multi-Task 架构 Hard和Soft区分:Hard共享底层参数,在高层提取中相互独立;Soft使用十字绣的形式&#xf…

Multitask Learning

参考 Multitask Learning - 云社区 - 腾讯云 1、单任务学习VS多任务学习 单任务学习:一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。多任务学习:把多个相关(related)的任务…

Multi-Task 多任务学习, 那些你不知道的事

作者 | 三和厂妹 来源 | 文末『阅读原文』处 概念 当在一个任务中要优化多于一个的目标函数[1] ,就可以叫多任务学习 一些例外 「一个目标函数的多任务」:很多任务中把loss加到一起回传,实质优化的是一个目标函数, 但优化的是多个任务&…

多任务学习综述:推荐系统多任务学习(multitask)的实战总结和常见问题(一)

多任务学习算法系列的主要内容是回顾和总结自己2019-2021间在深度学习多任务学习算法(multitask)的工业实践和遇到的常见问题,欢迎更多同学讨论和指正,同时也宣传一波我们组在推荐方向的工作成果——大规模推荐算法库PaddleRec(https://githu…

VS2012下载和安装

1.下载链接 https://pan.baidu.com/s/1YR7Xk9Zlv7zQWCsERdVgIQ 提取码:stvi 2.鼠标右击【Visual Studio2012】压缩包选择【解压到Visual Studio2012】。 3.打开解压后的文件夹,鼠标右击【vs_ultimate】选择【以管理员身份运行】。 4.点击【…】可更改安…

Visual Studio 2013 详细安装教程(安装+注册)

转载自:安装注册:https://jingyan.baidu.com/article/09ea3ede3b2496c0afde3944.html IE10报错解决办法:https://jingyan.baidu.com/article/ff42efa92f79cac19e2202cd.html 1.还是老样子,首先要下载安装文件,这里提供…

使用cubemx工具的STM32对外部flash(W25Q64)的简单编程

SPI SPI简介 SPI通信原理 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为…

stm32 W25QXX系列驱动 W25Q80 W25Q16 W25Q32 W25Q64 W25Q128 W25Q256

头文件 #ifndef W25QXX__H #define W25QXX__H #include "sys.h"#define W25Q80 0XEF13 #define W25Q16 0XEF14 #define W25Q32 0XEF15 #define W25Q64 0XEF16 #define W25Q128 0XEF17 #define W25Q256 0XEF18#define W25QXX_CS PAout(4)//指令表 #define W25X…

SPI专题(二)——STM32驱动FLASH(W25Q64)

前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。 github:my github 注:博客所涉及的关于 st…

STM32系列(HAL库)——F103C8T6通过SPI方式读写W25Q64—(Flash存储模块)

1.软件准备 (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) 2.硬件准备 (1)W25Q64模块 (2)F1的板子,本例使用经典F103C8T6 (3)ST-link 下载器 (4)USB-TTL模块 (5)杜邦线若干 3.模块资料 (1)模块简介: W25Q64(64M-bit)&#xff0c…

SPI协议学习Cubmx——读写Flash W25Q64

这是最好的时代,这是最坏的时代; 这是智慧的时代,这是愚蠢的时代; 这是信仰的时期,这是怀疑的时期; 这是光明的季节,这是黑暗的季节; 这是希望之春,这是失望之冬&#xf…

STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)

使用QUADSPI读写W25Q64 QUADSPI介绍硬件连接双闪存模式禁止双闪存模式使能 QUADSPI命令序列指令阶段地址阶段交替字节阶段空指令周期阶段数据阶段 QUADSPI主要信号接口协议模式单线SPI模式双线SPI模式四线SPI模式 使用QUADSPI操作W25Q64发送命令函数状态轮询函数读ID函数QUADSP…

W25Q64内部结构

和STM32片上一样 我们分析 函数接口: 擦除1个扇区 【参数必须是4096的倍数】 void SPI_FLASH_SectorErase(uint32_t SectorAddr) 擦除芯片全部 void SPI_FLASH_BulkErase(void) 写入一页【数据比256小】 pBuffer:待写入数据的指针 WriteAddr&#xff…