STGCN时空图卷积网络:用于交通预测的深度学习框架

时空图卷积网络:用于交通预测的深度学习框架

及时准确的交通预测对城市交通控制和引导至关重要。由于交通流的高度非线性和复杂性,传统的方法不能满足中长期预测任务的要求,往往忽略了空间和时间的相关性。本文提出了一种新的深度学习框架——时空图卷积网络(spatial - temporal Graph Convolutional Networks, STGCN)来解决交通域的时间序列预测问题。我们不使用正则卷积和递归单元,而是在图上表达问题,并建立具有完整卷积结构的模型,这使训练速度更快,参数更少。实验表明,我们的模型STGCN通过对多尺度交通网络建模,有效地捕获了综合的时空相关性,并始终优于各种真实世界交通数据集的最先进的基线。

1 Introduction

交通在每个人的日常生活中起着至关重要的作用。根据2015年的一项调查,美国司机平均每天在方向盘后面花费48分钟在这种情况下,准确实时的交通状况预测对道路使用者、私营部门和政府来说至关重要。广泛使用的交通服务,如流量控制、路线规划和导航,也在很大程度上依赖于高质量的交通状况评估。总体而言,多尺度交通预测是城市交通控制与引导的前提和基础,也是智能交通系统的主要功能之一。在交通研究中,通常选择交通流的基本变量,即速度、流量和密度作为监测当前交通状况和的指标预测未来。根据预测的长度,交通预测一般分为两个尺度:短期(5 ~ 30分钟)、中期和长期(30分钟以上)。大多数流行的统计方法(例如,线性回归)能够在短区间预测中表现良好。然而,由于交通流的不确定性和复杂性,这些方法对于相对长期的预测效果较差。

以往关于中长期交通预测的研究大致可以分为两大类:动态建模和数据驱动方法。动力学建模使用数学工具(如微分方程)和物理知识,通过计算仿真来制定交通问题[Vlahogianni, 2015]。为了达到稳态,仿真过程不仅需要复杂的系统编程,而且需要消耗大量的计算能力。模型中不切实际的假设和简化也会降低预测精度。因此,随着交通数据采集和存储技术的快速发展,大量的研究人员开始将注意力转向数据驱动的方法。

经典的统计模型和机器学习模型是数据驱动方法的两个主要代表。在时间序列分析中,自回归综合移动平均(ARIMA)及其变体是基于经典统计的最统一的方法之一[Ahmed and Cook, 1979;Williams和Hoel, 2003]。然而,这类模型受时间序列平稳假设的限制,未能考虑到时空相关性。因此,这些方法限制了高度非线性交通流的可表征性。近年来,经典的统计模型受到了交通预测任务中的机器学习方法的挑战。这些模型可以实现更高的预测精度和更复杂的数据建模,如k近邻算法(KNN)、支持向量机(SVM)和神经网络(NN)。

目前,深度学习方法已经被广泛成功地应用于各种交通任务中。相关工作取得了显著进展,如深度信念网络(DBN) [Jia等人,2016;黄等人,2014],stacked autoencoder (SAE) [Lv等人,2015;Chen等,2016]。然而,对于这些密集的arXiv:1709.04875v4 [cs]来说,这是困难的。LG] 2018年7月12日联合网络从输入中提取时空特征。此外,在狭窄的约束条件下,甚至在完全缺乏空间属性的情况下,这些网络的代表能力将受到严重的阻碍。

为了充分利用空间特征,一些研究人员使用卷积神经网络(CNN)捕捉交通网络之间的相邻关系,并在时间轴上使用回归神经网络(RNN)。Wu和Tan[2016]结合长-短期记忆(LSTM)网络[Hochreiter和Schmidhuber, 1997]和一维CNN,提出了一种用于短期交通预测的特征级融合架构CLTFP。尽管它采用了一个直截了当的策略,CLTFP仍然第一次尝试对齐空间和时间的规律。随后,Shi等人[2015]提出了卷积LSTM,它是一种嵌入卷积层的扩展全连接LSTM (FC-LSTM)。然而,常规的卷积运算限制模型只能处理网格结构(如图像、视频),而不能处理一般领域。同时,用于序列学习的递归网络需要迭代训练,引入了误差逐步积累。此外,众所周知,基于rnn的网络(包括LSTM)训练困难且计算量大

为了克服这些问题,我们引入了几种策略来有效地建模交通流的时间动力学和空间依赖性。为了充分利用空间信息,我们用一般图形来建模交通网络,而不是单独对待它(如网格或分段)。为了解决递归网络的固有缺陷,我们采用了时间轴上的全卷积结构。首先,我们提出了一种新的深度学习架构——时空图卷积网络,用于交通预测任务。该架构包括几个时空卷积块,它们是图卷积层[Defferrard等人,2016]和卷积序列学习层的组合,以建模空间和时间依赖性。据我们所知,在交通研究中应用纯卷积结构同时从图结构时间序列中提取时空特征尚属首次。我们在两个真实世界的交通数据集上评估我们提出的模型。实验表明,该框架在具有多个预估长度和网络规模的预测任务中性能优于现有的基线。

2 Preliminary

2.1基于道路图的交通预测

交通预测是一个典型的时间序列预测问题,即在给定之前的M个交通观测值的情况下,预测下一个H时间步中最可能的交通测量值(例如速度或交通流量):

其中vt∈Rn是n个路段在时间步长t时的观测向量,每个元素记录单个路段的历史观测值。

在这项工作中,我们在一个图上定义交通网络,并重点关注结构化交通时间序列。观

### 时空图卷积网络 (STGCN) 在交通预测中的应用 #### 架构概述 时空图卷积网络STGCN)是一种专门设计用于处理结构化时间序列数据的深度学习框架,特别适用于交通流量预测任务。该模型通过将交通网络表示为图形来捕捉其内在的空间关系,并利用全卷积结构在时间维度上进行特征提取[^1]。 #### 关键组件解析 - **空间图卷积层**:此部分负责从交通网络中抽取节点间的关系信息。具体来说,就是把城市路网视为一张无向图,在此基础上执行图卷积操作以获取局部邻域内的交互模式。 - **门控时间卷积层**:这部分旨在解决传统RNN难以长期记忆的问题。采用因果卷积的方式构建滤波器,使得每一时刻只依赖于过去的信息;并通过引入门机制控制信息流动路径,从而更好地模拟实际场景下的动态变化过程。 - **注意力模块**:为了进一步增强模型表达能力,可以在某些版本的STGCN中加入Attention Module。这一单元接收来自各个节点的数据作为输入,经过两次线性变换加上ReLU激活之后再经Softmax归一化得出各位置的重要性程度——即所谓的“注意力建议”。最终这些权重会被用来调整原始信号强度,达到突出重要区域的效果[^4]。 #### 训练流程说明 整个训练过程中主要涉及以下几个方面的工作: - 数据预处理阶段需完成对原始观测值的清洗整理以及必要的转换工作; - 接着定义损失函数并选择合适的优化算法来进行参数更新迭代直至收敛为止; - 测试环节则要依据设定好的评价指标体系衡量不同方案之间的优劣差异。 ```python import torch from stgcn import STGCN # 假设有一个名为stgcn.py文件实现了具体的类定义 device = 'cuda' if torch.cuda.is_available() else 'cpu' model = STGCN(num_nodes=..., input_dim=..., output_dim=...).to(device) criterion = torch.nn.MSELoss() optimizer = torch.optim.Adam(model.parameters(), lr=...) for epoch in range(epochs): model.train() optimizer.zero_grad() outputs = model(inputs) loss = criterion(outputs, targets) loss.backward() optimizer.step() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值