SeqST-GAN: Seq2Seq生成对抗网络的多步城市人群流动预测

1

文章信息

《SeqST-GAN: Seq2Seq Generative Adversarial Nets for Multi-step Urban Crowd Flow Prediction》。2020年6月发表在美国计算机学会空间算法与系统学报上的一篇文章。

2

摘要

目前城市范围内人群流量数据是普遍存在的,预测人流量对于交通管理和需求服务此类的许多实际应用程序是非常重要的。准确的预测人群流量的挑战主要来自于人群流量数据的非线性时空联系,以及许多外部因素的影响,如天气,假期和兴趣点。对于目前的单步预测模型来说,跨越未来多个时间段进行准确预测是更加具有挑战性的。在本文中,我们提出了一个序列到序列(Seq2Seq)的生成对抗网络模型SeqST-GAN,用于一个城市的多步时空人群流量预测。由于GAN在视频预测方面的成功,我们首次提出了一个对抗性学习框架,将连续时间内的城市范围内人群流量数据视为“图像帧”。特别地,我们首次使用Seq2Seq模型基于以前的预测生成未来一个为未来的“帧”预测序列。然后,整合生成误差和对抗损失,SeqST-GAN能够避免模糊预测问题,而且能做出更准确的预测。为了结合外部因素,还提出了一个外部因素门模块EC-Gate来学习区域范围内外部因素特征表示。在纽约的两个大型人群流量数据集上的实验表明SeqST-GAN与现有的模型相比,预测性有了很大的提高。

3

贡献

本文的贡献有以下三点:

(1)我们首次提出了一种用于多步城市人流预测的对抗学习框架。该框架将Seq2Seq预测模型和对抗学习相结合,将预测误差和对抗损失相结合,有效地解决了预测的模糊问题。该框架具有通用性,易于扩展和适应于不同领域的其他预测任务。

(2)利用自动编码器框架实现了Seq2Seq预测模型。通过将城市人群流建模为“图像”,将人群流序列建模为“视频”,利用CNN和LSTM捕捉人群流数据序列的时空相关性。

(3)外部因素特性也可以通过精心设计的EC-Gate以细粒度的方式学习。我们在纽约的两个大型人群流量数据集上进行了大量的实验,结果表明,与最先进的模型相比,我们的建议在单步和多步城市人群流量预测方面都大大提高了预测结果。

4

问题描述

定义1:单元格区域。本研究中,我们根据经纬度将城市划分为m×n网格图。定义每个网格为一个单元区域,所有网格形成一个单元区域集合R = {r1,1,…ri,j,…rm×n},其中ri,j是网格图第i行第j列的单元格区域。

定义2:流入/流出。设P为t时间段内人群流动轨迹的集合。对于一个单元格区域ri,j,定义t时人群的流入和流出分别为:

问题定义:多步人群流动预测。已知在前n个时间段内的单元格区域R中人群流量张量{Xt|t = 1,…n},我们的目标是同时预测接下来k个时间段内的人群流动张量{Xt|t = n + 1,…n +k}。

5

方法

在本节中,我们将详细介绍所建议的方法。我们将首先简要介绍SeqST-GAN的框架。然后,我们将介绍SeqST-GAN的总体目标。接下来,我们将详细介绍作为seq2seq模型实现的SeqST-GAN的生成器及其鉴别器,以构建对抗学习框架。

图1显示了SeqST-GAN的训练框架。我们可以看到,SeqST-GAN包含两个部分:generator G和discriminator D。对于generator G,我们使用n个基于编码器-解码器的Seq2Seq框架来生成未来k个人群流张量序列。

在该框架中,首先将输入的历史人群流动张量编码为一个包含CNN层和LSTM层的潜在空间向量,然后使用Seq2Seq注意来捕获不同时间段张量的权值,以预测未来的张量。然后使用解码器对潜在空间向量进行解码,生成未来人群流张量。该解码器包含一个LSTM层和一个反卷积神经网络R-CNN,以将向量转换回人群流动张量。设计了名为dEC-Ga的外部门用来捕获外部因素,如天气、日期和兴趣点。

对于判别器D,生成的张量和真实张量都与以前的人群流动张量连接,形成一对输入ˆX = {Xt,ˆXˆt|t = t1,…tn,ˆt = tn + 1,…n+k}, X = {Xt|t = t1,…D的tn+k}, D试图区分{ˆX,X}哪个是实数,哪个是由g生成的。对生成器G和判别器进行迭代训练,最终G生成的数据序列与真实数据序列非常相似,以致于D无法区分它们。因此,生成的数据序列可以作为预测。

SeqST-GAN的总体目标

在本文中,我们不使用初始GAN,而是利用Wasserstein GAN (WGAN),因为WGAN有以下优点:首先,训练WGAN不需要在训练判别器和生成器时保持谨慎的平衡,从而解决了模式崩溃的问题。其次,它不需要仔细设计网络结构。第三,WGAN能够提高训练的稳定性,因此更容易训练。WGAN和初始GAN的主要区别是用Wasserstein distance来测量真实数据分布和由生成器学习到的数据分布之间的距离和偏差。通过使用WGAN作为我们的对抗学习框架,目标函数如下:

给定N对真实的和生成的人群流动张量{(Xi,^Xi)}N i=1,WGAN框架下的目标函数可以重写为:

在多步预测人群流动预测中,生成的序列是以输入序列为条件的,因此,模型中的生成器的输出在没有噪声的情况下也是变化的。所以在预测模型中噪声不是必须的。为了使生成的未来的人群流动张量与真实数据分布接近,我们为生成器增加了一个均方误差损失:

所以SeqST-GAN最终的目标函数为:

为了找到目标函数中的函数f,通常训练一个用权重w参数化的神经网络来近似f。同样,训练另一个用权值θ参数化的神经网络来逼近生成器函数。为了训练目标函数,可以采用标准的小批量随机梯度下降训练方法。生成器和判别器的随机梯度如下:

生成器G:基于Seq2Seq的多步预测编码器-解码器

Seq2Seq,它最初是为机器翻译设计的。由于它在处理顺序数据方面的优势,目前它也被广泛应用于其他许多应用中,如事件预测和人体运动预测。给定一个词序列,Seq2Seq模型可以通过编码器-解码器学习框架将其与另一个词序列对齐或预测接下来的词序列。在我们的工作中,我们的目标是使用一个历史人群流张量序列{Xt|t = t1,…tn}预测一个未来张量序列{ˆXt|t = tn+1,…tn+k},其场景类似于机器翻译或句子预测。基于此思想,我们设计了一个基于seq2seq的编码器-解码器模型作为生成器,生成未来人群流量数据序列进行多步预测。

基于seq2seq的生成器的架构设计如下:它包含编码器部分和解码器部分。编码器学习输入序列人群流动张量的紧凑向量表示,而解码器尝试生成一个序列的未来张量与学习的紧凑向量表示。在编码器中,输入张量序列输入到CNN层中学习空间特征。然后,将CNN层的输出输入到LSTM层,学习不同时间段的人群流动张量之间的时间依赖性。

由于不同时间段的人群流动张量对未来的预测有不同的贡献。例如,要预测下午3点的车流,下午2点的车流比上午10点的车流更重要。考虑到这一点,我们还建议在编码器上增加一个注意机制。注意机制广泛应用于自然语言处理和图像处理。它允许解码器在输出生成的每一步处理输入数据序列的不同部分。这种具有注意力机制的Seq2Seq模型使我们的多步人群流预测比以往的深度学习模型更准确。具有注意机制的Seq2Seq解码器模型如下图所示:

EC-Gate学习外部环境的特性

在本文中,我们设计了一个称为EC-Gate的门,以学习每个时间段中每个区域的外部环境的细粒度表示。EC-Gate可以学习每个时间段内每个区域的所有外部环境特征的统一影响权重,而不是简单地连接外部环境特征。EC-Gate的结构如下图所示:



提取了三种类型的外部上下文特征:天气、天&小时,兴趣点。提取的环境特征形成一个外部特征张量。然后将其输入到一个CNN模型中。在CNN模型中,我们没有使用池化层来保持输出的形状与输入的形状相同。CNN的最终输出是两个矩阵。一个与流入门相对应,另一个与流出门相对应。

判别器D

给定一对真实的和生成的人群流动张量(X,ˆX),判别器D试图区分哪个是真实的,哪个是生成的。判别器D的预测误差会反向传播到生成器G,引导生成器G生成更真实的数据。我们也将判别器设计为深度神经网络。首先,观测到的以前的人群流动张量与真实未来张量和生成的张量构成一对训练样本(X,ˆX)。然后(X,ˆX)依次输入到CNN层和LSTM层,学习空间和时间的潜在特征。接着将注意机制应用于LSTM的输出。

6

实验

我们在两个大型城市人群流数据集上进行广泛的实验来评估SeqST-GAN:纽约的出租车出行数据集和自行车出行数据集。首先介绍数据集,基线和实验设置。然后,展示在两个数据集上单步预测和多步预测的实验结果。接下来,进行参数研究来证明SeqST-GAN在解决模糊预测问题方面的有效性。最后,我们评估所提出的EC-Gate在外部环境特征学习中的有效性。对于分析的细节,不再详细描述。

7

创新点

(1)首次提出了一种用于多步城市人流预测的对抗学习框架。该框架将Seq2Seq预测模型和对抗学习相结合,将预测误差和对抗损失相结合,有效地解决了预测的模糊问题。

(2)设计了一个称为EC-Gate的门,以学习每个时间段中每个区域的外部环境的细粒度表示。EC-Gate可以学习每个时间段内每个区域的所有外部环境特征的统一影响权重,而不是简单地连接外部环境特征。

A

Attention

如果你和我一样是轨道交通、道路交通、城市规划相关领域的,可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当交通遇上机器学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值