浙江大学学报(工学版), 2021, 55(8): 1482-1489 doi: 10.3785/j.issn.1008-973X.2021.08.009

土木工程、交通工程

公交专用道条件下公交车辆轨迹的Seq2Seq预测

张楠,, 董红召,, 佘翊妮

浙江工业大学 智能交通系统联合研究所,浙江 杭州 310023

Seq2Seq prediction of bus trajectory on exclusive bus lanes

ZHANG Nan,, DONG Hong-zhao,, SHE Yi-ni

Joint Institute of Intelligent Transportation System, Zhejiang University of Technology, Hangzhou 310023, China

通讯作者: 董红召,男,教授,博士. orcid.org/0000-0001-5905-597X. E-mail: its@zjut.edu.cn

收稿日期: 2020-11-3  

基金资助: 国家自然科学基金资助项目(61773347);浙江省公益计划资助项目(LGF18E080018)

Received: 2020-11-3  

Fund supported: 国家自然科学基金资助项目(61773347);浙江省公益计划资助项目(LGF18E080018)

作者简介 About authors

张楠(1984—),博士,从事机器学习与智能交通系统研究.orcid.org/0000-0001-9639-9850.E-mail:zhangn_2007@163.com , E-mail:zhangn_2007@163.com

摘要

即使在公交专用道条件下,因受前方车辆、站台通行能力、行人过街等因素影响,由路段上游到下游停车线持续一定时长的公交车辆轨迹仍然表现出较强的不确定性. 简单场景下的单一目标时间序列模型难以有效应对不确定性对公交车辆轨迹预测的影响. 针对上述问题,提出将车辆通过路段的整体轨迹表示为由多个相对简单的局部时间序列顺序组成的高维时间序列,应用循环神经网络的单层和多层循环编码器-解码器结构建立高维时间序列中局部序列和整体序列的映射关系,从当前时段轨迹序列开始依次循环预测每个局部序列直到获得未来时段的整体序列. 在实验验证中,采用杭州市文三路公交线路的实测GPS轨迹数据对2种结构进行训练和测试. 结果表明,所提方法优于现有流行的多步循环序列到序列方法,其中多层结构预测结果和复杂场景的泛化性能均优于单层结构.

关键词: 高维时间序列 ; 循环神经网络(RNN) ; 序列到序列(Seq2Seq) ; 多层循环编码器-解码器(HRED) ; 智能交通系统(ITS)

Abstract

The trajectory of bus vehicles from the upstream to the downstream of road in a relatively long period still demonstrated strong uncertainty even on condition of exclusive bus lanes, due to the influence of ahead vehicles, platform capacity, pedestrian crossing and other factors. Time series models which only operate on individual targets in simple scenarios were not efficiently utilized for the impact of uncertainty on the prediction of bus trajectory. The future global trajectory sequence was suggested to be transformed into a high-dimensional time series composed of multiple simple short-term local trajectory sequences, aiming at the above problem. Subsequently, a simple and hierarchical recurrent encoder-decoder architecture was established based on the recurrent neural network to describe the mapping relationship between the local sequence and the globe sequence in the high-dimensional time series. Starting from the current period trajectory sequence, each local sequence of the high-dimensional time series was cyclically predicted until the final future global sequence was obtained. Finally, the two types of architecture were trained and tested by using GPS data of bus trajectory measured on Wensan Road in Hangzhou, China. Results show that the above method outperforms multi-step sequence to sequence method and the hierarchical recurrent encoder-decoder architecture obtains the best prediction results and generalization performance to complex environment.

Keywords: high-dimensional time series ; recurrent neural networks (RNN) ; sequence to sequence (Seq2Seq) ; hierarchical recurrent encoder-decoder (HRED) ; intelligent traffic system (ITS)

PDF (1648KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张楠, 董红召, 佘翊妮. 公交专用道条件下公交车辆轨迹的Seq2Seq预测. 浙江大学学报(工学版)[J], 2021, 55(8): 1482-1489 doi:10.3785/j.issn.1008-973X.2021.08.009

ZHANG Nan, DONG Hong-zhao, SHE Yi-ni. Seq2Seq prediction of bus trajectory on exclusive bus lanes. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(8): 1482-1489 doi:10.3785/j.issn.1008-973X.2021.08.009

近些年,车辆轨迹越来越受到研究者的关注并应用到智能交通系统研究的各个方面,如交通流模型[1]、交通信号控制[2]、交通流状态估计[3]、交通安全和车辆排放估计[4-5]等. 在公交优先控制系统中,控制系统依据公交车辆到达交叉口停车线的时间优化和选择优先控制策略[6-9]. 得益于车联网技术的支持,间歇式公交专用道条件下的公交优先控制可以有效提升道路的通行能力[10]. 在此环境下,公交优先控制须实时预测公交车辆的位置和对应的到达时间即轨迹为控制策略的制定和优化提供充足的时间和更详细的车辆状态信息. 另外,在公交车调度管理的车辆间距控制中,加入轨迹预测后的结果比无轨迹预测条件下的结果更好[11]. 因此,公交车辆轨迹预测有助于提升智能公共交通系统的效率. 虽然公交专用道可以减少公交车在使用时间内受道路交通流的干扰,但是在公交车辆轨迹预测时仍须考虑到前方车辆、公交站台通行能力、行人过街等多种因素的影响. 近年来,公交车辆GPS轨迹数据已经逐渐成为一种普遍、连续和可靠的数据源;另外,深度学习在处理复杂任务方面取得了显著成就,为研究公交车辆轨迹预测提供了新的方法和条件,因此须考虑采用最新方法研究公交车辆轨迹预测问题.

车辆轨迹同时包含车辆的时间和空间特征,可以将其视为特殊的时间序列. 在各种可用的深度神经网络架构中,循环神经网络(recurrent neural network,RNN)被广泛应用于分析时间序列[12]. 基于长短期记忆(long short-term memory,LSTM)[13]或门控循环单元(gate recurrent unit,GRU)[14]的编码器-解码器结构在从序列到序列(Seq2Seq)翻译[15-16]方面较突出,因此被应用到时间序列的Seq2Seq预测[17-18]. 目前,在自动驾驶车辆轨迹预测的研究中,编码器-解码器结构已经被应用于高精地图的轨迹Seq2Seq预测[19-21]. 但是自动驾驶应用于公交车辆还须较长的一段时间,另外公交车已经普遍装有较高精度的GPS设备,易于获取车辆轨迹的GPS大数据,为公交车辆轨迹预测采用深度学习的方法提供了研究和应用基础.

在公交专用道的环境下,当目标车辆到达路段上游时,公交轨迹预测任务是在车辆到达路段上游时,按照设定的时间步长,预测车辆到达下游停车线的所有GPS坐标组成的轨迹序列. 考虑到目标公交车辆受到外部环境因素影响进而导致未来轨迹序列到达停车线的时刻即轨迹序列的长度和序列中对应时刻的坐标都具有不确定性,提出将复杂的未来时间段的整体轨迹划分为多个相对简单的局部轨迹序列,再通过预测所有局部序列进而组成整体预测轨迹. 此时,公交车辆轨迹是由局部轨迹时间序列按照时间顺序组成的高维时间序列[22]. 传统时间序列预测方法主要有AR、ARIMA[23]和高斯过程[24]等. 在预测车辆轨迹时,由于局限于独立序列的训练和预测,以上模型难于扩展和应用到任意车辆轨迹的高维时间序列和适用于大数据进行训练[22]. 因此,选择RNN构建解码器-编码器网络来建立公交车辆轨迹的当前时段序列和预测序列的非线性映射关系以应对轨迹的高维时间序列预测. 车辆轨迹预测问题可以视作:运用RNN建立高维时间序列中从目标车辆当前时间段内的轨迹序列到未来时间段的预测轨迹序列的非线性映射,并通过训练后的RNN实现车辆轨迹的Seq2Seq预测. 目前基于RNN的编码器-解码器结构可以用于轨迹的短时预测[19-20]. 为了应对高维时间序列,首先借鉴WaveNet[25]的循环结构,运用RNN建立单层的循环解码器-编码器结构. 其次考虑到局部序列之间的顺序记忆关系[26],引入多层循环结构. 最后运用杭州公交专用道的公交车辆GPS轨迹数据对建立的模型进行训练和预测结果的对比分析.

1. 问题描述

在当前时刻 $t$,定义由 $T$个单位步长的GPS坐标组成的目标公交车辆当前轨迹序列向量为 ${\boldsymbol{X}}_t^1 = $ $ \left[ {{x_{t - T+1}}, \cdots ,{x_{t - 1}},{x_t}} \right] \in {{\bf{R}}^T}$$\tau $个单位步长的第 $i$个局部序列GPS轨迹坐标的预测序列为 ${\hat{\boldsymbol{Y}}}_t^i = \left[ {{{\hat{{y}}}}_{t + \left( {i - 1} \right)\tau + 1}}, $ $ {{\hat y}_{t + \left( {i - 1} \right)\tau + 2}}, \cdots ,{{\hat y}_{t + \left( {i - 1} \right)\tau + \tau }} \right] \in {{\bf{R}}^\tau }$和由 $n$个局部序列的预测序列组成的未来时间段的整体序列为 ${\hat{\boldsymbol{Y}}}_t = \left[ {\hat{\boldsymbol{Y}}}_t^1, $ $ {\hat{\boldsymbol{Y}}}_t^2, \cdots ,{\hat{\boldsymbol{Y}}}_t^n \right] \in {{\bf{R}}^{n \times \tau }}$,如图1所示. 其中GPS的坐标可以是与目标车辆行驶方向相同的经度坐标、纬度坐标或者包含两者.

图 1

图 1   用于整体序列预测的局部序列定义

Fig.1   Local sequence definition for global sequence prediction


公交车辆轨迹会实时受到前方车辆、下游路段站台通行能力、行人过街和信号控制等外部环境因素的影响,因此当车辆到达路段上游时,其通过路段的未来时段的整体轨迹与其到达之前的历史轨迹的相关性不大. 因此,不同于一般的时间序列预测可以同时选用当前数据和历史数据作为输入,公交轨迹预测只能选择目标车辆到达时的当前轨迹序列作为输入,按照单位时间步长预测目标车辆通过该路段下游停车线的整体轨迹序列. 根据以上提出的轨迹预测方法,未来时段车辆轨迹高维时间序列 ${\hat{\boldsymbol{Y}}}_{\boldsymbol{t}} $由局部序列循环计算得到的预测序列 ${\hat{\boldsymbol{Y}}}_t^i$按照需要设定的方式组合而成. 要完成以上高维时间序列预测任务须建立编码器-解码器结构,按照局部序列的次序组合规则,学习从当前序列 ${\boldsymbol{X}}_t^1$到任意局部预测序列 ${\hat{\boldsymbol{Y}}}_t^i$的非线性映射 $ F(\cdot )$

${\hat{\boldsymbol{Y}}}_t^i = F\left( {{\boldsymbol{X}}_t^1,{\hat{\boldsymbol{Y}}}_t^1, \cdots ,{\hat{\boldsymbol{Y}}}_t^{i - 1}} \right).$

2. 编码器-解码器结构

$i$个输入序列为 ${\boldsymbol{X}}_t^i$到局部预测序列 ${\hat{\boldsymbol{Y}}}_t^i$的编码器-解码器由局部编码器(local-encoder)和解码器(decoder)两部分组成,该结构被普遍应用在Seq2Seq的翻译和预测中,如图2所示. 局部编码器可以将整体序列中第 $i$个输入序列 ${\boldsymbol{X}}_t^i$编码产生隐层状态 ${\boldsymbol{h}}_t^i$

图 2

图 2   多步Seq2Seq的编码器-解码器结构

Fig.2   Encoder-decoder architecture of multi-step Seq2Seq


${\boldsymbol{h}}_t^i = {f_{\rm{enc}}}\left( {{\boldsymbol{X}}_t^i,{\boldsymbol{h}}_t^{i - 1}} \right).$

随后将隐层状态 ${\boldsymbol{h}}_t^i$传递给解码器,作为其初始隐层状态 ${\boldsymbol{d}}_0^i = {\boldsymbol{h}}_t^i$,解码器按照预测步长 $t' =\left\{ 0, \cdots , $ $ \tau - 1 \right\}$解码产生隐层状态 ${\boldsymbol{d}}_{t' + 1}^i$

${\boldsymbol{d}}_{t' + 1}^i = {f_{\rm{dec}}}\left( {{\boldsymbol{d}}_{t'}^i,\hat y_{t + \left( {i - 1} \right)\tau } } \right).$

式中: $ {f}_{\rm{enc}}(\cdot)$$ {f}_{\rm{dec}}(\cdot )$分别为局部编码器和解码器的非线性映射. 最后运用全连接神经网络dense将 ${\boldsymbol{d}}_{t'{\rm{ + }}1}^i$转换得到预测值 $\hat y_{t + \left( {i - 1} \right)\tau {\rm{ + }}1} $. 解码器通过多步的Seq2Seq预测得到局部预测序列 ${\hat{\boldsymbol{Y}}}_t^i$.

公交车辆通过整体路段会持续相对较长的时间. 为了避免随着序列长度的增加,多步Seq2Seq预测的效果下降[14],借鉴WaveNet[25]的循环结构,单层循环编码器-解码器结构可以依照输入的顺序循环调用局部序列预测的编码器-解码器结构预测每一个局部的较短序列,直到获得最终的整体轨迹,如图3所示. 在顺序预测过程中,设置第 $i$个局部序列的输入 ${\boldsymbol{X}}_t^i$由第 $i - 1$个局部序列输入 ${\boldsymbol{X}}_t^{i - 1}$的一部分和其全部的预测序列 ${\hat{\boldsymbol{Y}}}_t^{i - 1}$组合而成: ${\boldsymbol{X}}_t^i = $ $ \left[ {{x_{t + \left( {i - 2} \right)\tau + T - \tau +1}}, \;\cdots,\; {x_{t + \left( {i - 2} \right)\tau }},\;{{\hat y}_{t + \left( {i - 2} \right)\tau + 1}},\; \cdots ,\;{{\hat y}_{t + \left( {i - 2} \right)\tau + \tau }}} \right]\in$ ${{\bf{R}}^T} $,此时设置 $\tau < T$.

图 3

图 3   单层循环编码器-解码器结构

Fig.3   Recurrent encoder-decoder architecture


多层循环编码器-解码器结构[26]可以划分为局部编码器,上下文编码器(context-encoder)和解码器,如图4所示. 不同于单层结构,多层结构中的上下文编码层可以利用RNN将局部编码层的隐层信息在预测全过程中传递. 多层结构的局部编码器与单层结构相同,将局部隐层状态 ${\boldsymbol{h}}_t^i$输入到上下文编码器产生上下文向量 ${\boldsymbol{c}}_t^i$

图 4

图 4   多层循环编码器-解码器结构

Fig.4   Hierarchical recurrent encoder-decoder archite


${\boldsymbol{c}}_t^i = {f_{\rm{con}}}\left( {{\boldsymbol{h}}_t^i,{\boldsymbol{c}}_t^{i - 1}} \right).$

式中: $ {f}_{\rm{con}}(\cdot )$为上下文编码器的非线性映射, ${\boldsymbol{c}}_t^i$为对应RNN的隐层状态. 向量cti−1可以视作在已知整体序列中前 $i - 1$个局部预测序列的条件下,第 $i$个局部序列的输入 ${\boldsymbol{X}}_t^i$到隐层状态 ${\boldsymbol{c}}_t^i$的映射. 同单层结构,将隐层状态 ${\boldsymbol{c}}_t^i$传递给解码器,作为其初始隐层状态 ${\boldsymbol{d}}_{t'}^i = {\boldsymbol{c}}_t^i$,最后得到第 $i$个局部预测序列 ${\hat{\boldsymbol{Y}}}_{t + 1}^i$.

非线性映射 $ {f}_{\rm{enc}}(\cdot )$$ {f}_{\rm{dec}}(\cdot )$$ {f}_{\rm{con}}(\cdot )$可以选择LSTM也可以选择GRU,此次选择LSTM单元. 每个LSTM用状态变量 ${{\boldsymbol{s}}_t}$代表记忆单元,对记忆单元的访问将由3个sigmoid门控制:遗忘门 ${{\boldsymbol{f}}_t}$,输入门 ${{\boldsymbol{i}}_t}$,输出门 ${{\boldsymbol{o}}_t}$.

2.1. 局部编码器

已知当前 ${\boldsymbol{X}}_t^i$作为输入序列,局部编码器可以用来学习从 ${\boldsymbol{X}}_t^i$到隐层状态 ${\boldsymbol{h}}_t^i$的映射,如式(2)所示. LSTM的更新过程可以表示为

${\boldsymbol{f}}_{}^i = \sigma \left( {{{\boldsymbol{W}}_{{f}}}\left[ {{\boldsymbol{h}}_t^{i - 1};{\boldsymbol{X}}_t^i} \right] + {{\boldsymbol{b}}_{{f}}}} \right),$

${\boldsymbol{i}}_{}^i = \sigma \left( {{{\boldsymbol{W}}_{{i}}}\left[ {{\boldsymbol{h}}_t^{i - 1};{\boldsymbol{X}}_t^i} \right] + {{\boldsymbol{b}}_{{i}}}} \right),$

${\boldsymbol{o}}_{}^i = \sigma \left( {{{\boldsymbol{W}}_{{o}}}\left[ {{\boldsymbol{h}}_t^{i - 1};{\boldsymbol{X}}_t^i} \right] + {{\boldsymbol{b}}_{{o}}}} \right),$

${\boldsymbol{s}}_{}^i = {{\boldsymbol{f}}^i} \odot {\boldsymbol{s}}_{}^{i - 1} + {\boldsymbol{i}}_{}^i \odot \tanh \;\left( {{{\boldsymbol{W}}_{\boldsymbol{s}}}\left[ {{\boldsymbol{h}}_t^{i - 1};{\boldsymbol{X}}_t^i} \right] + {{\boldsymbol{b}}_{{s}}}} \right),$

${\boldsymbol{h}}_t^i = {{\boldsymbol{o}}^i} \odot \tanh\; \left( {{\boldsymbol{s}}_{}^i} \right).$

式中: $\left[ {{\boldsymbol{h}}_t^{i - 1};{\boldsymbol{X}}_t^i} \right] \in {{\bf{R}}^{l + T}}$$i - 1$个局部序列的隐层状态和第 $i$个局部序列的输入轨迹序列的拼接, $l$为隐层状态的维度; $ {\boldsymbol{W}}_{{f}}$${\boldsymbol{W}}_{{i}}$${\boldsymbol{W}}_{{o}}$${\boldsymbol{W}}_{{s}}$$ {\boldsymbol{b}}_{{f}}$${\boldsymbol{b}}_{{i}}$${\boldsymbol{b}}_{{o}}$${\boldsymbol{b}}_{{s}}$为须学习的参数; $\sigma $为logistic sigmoid函数; $ \odot $表示矩阵中对应的元素相乘.

2.2. 上下文编码器

多层循环编码器-解码器结构的上下文编码器可以记忆每个局部解码器的信息,在当前解码器预测局部序列的时候可以利用局部序列的历史信息.

上下文编码器学习从局部编码器的隐层状态 ${\boldsymbol{h}}_t^i$到上下文向量 ${\boldsymbol{c}}_t^i \in {{\bf{R}}^m}$的非线性映射,如式(4)所示, $m$为隐层状态维度. 此时上下文编码器LSTM的更新过程可以表示为

${{\boldsymbol{f}}^{'i}} = \sigma \left( {{\boldsymbol{W'}}_{{f}} \left[ {{\boldsymbol{h}}_t^i;{\boldsymbol{c}}_t^{i - 1}} \right] + {\boldsymbol{b'}}_{{f}} } \right),$

${{\boldsymbol{i}}^{'i}} = \sigma \left( {{\boldsymbol{W'}}_{{i}} \left[ {{\boldsymbol{h}}_t^i;{\boldsymbol{c}}_t^{i - 1}} \right] + {\boldsymbol{b'}}_{{i}} } \right),$

${{\boldsymbol{o}}^{'i}} = \sigma \left( {{\boldsymbol{W'}}_{{o}} \left[ {{\boldsymbol{h}}_t^i;{\boldsymbol{c}}_t^{i - 1}} \right] + {\boldsymbol{b'}}_{{o}} } \right),$

${{\boldsymbol{s}}^{'i}} = {{\boldsymbol{f}}^{'i}} \odot {{\boldsymbol{s}}^{'i - 1}} + {{\boldsymbol{i}}^{'i}} \odot \tanh \;\left( {{\boldsymbol{W'}}_{{s}} \left[ {{\boldsymbol{h}}_t^i;{\boldsymbol{c}}_t^{i - 1}} \right] + {\boldsymbol{b'}}_{{s}} } \right),$

${\boldsymbol{c}}_t^i = {{\boldsymbol{o}}^{'i}} \odot \tanh \;\left( {{{{\boldsymbol{s}}}^{'i}}} \right).$

式中: $\left[ {{\boldsymbol{h}}_t^i;{\boldsymbol{c}}_t^{i - 1}} \right] \in {{\bf{R}}^{l + m}}$$i - 1$个上下文编码器LSTM的隐层状态和 $i$个局部编码器LSTM的隐层状态的拼接, $ {{\boldsymbol{W}}^{\prime }}_{{f}} $${{\boldsymbol{W}}^{\prime }}_{{o}} $${{\boldsymbol{W}}^{\prime }}_{{i}} $${{\boldsymbol{W}}^{\prime }}_{{s}} $$ {{\boldsymbol{b}}^{\prime }}_{{f}} $${{\boldsymbol{b}}^{\prime }}_{{o}} $${{\boldsymbol{b}}^{\prime }}_{{i}} $${{\boldsymbol{b}}^{\prime }}_{{s}} $为须学习的参数.

2.3. 解码器

为了得到预测序列 ${\hat{\boldsymbol{Y}}}_t^i$,使用LSTM对编码的输入信息 ${\boldsymbol{h}}_t^i$${\boldsymbol{c}}_t^i$进行解码. 如图2中的解码器部分所示,在解码预测序列 ${\hat{\boldsymbol{Y}}}_t^i$时不仅利用LSTM传递隐层状态,还将每次的预测结果作为下一次预测的输入. 已知隐层状态 ${\boldsymbol{h}}_t^i$、上下文向量 ${\boldsymbol{c}}_t^i$作为解码器的初始隐层状态和当前输入轨迹序列的最后一个变量作为解码器的初始输入 $\hat y_{t'} = \hat y_{t + \left( {i - 1} \right)\tau } $,则在解码器中学习从状态 ${\boldsymbol{d}}_{t'} \in {{\bf{R}}^p}$${{\boldsymbol{d}}_{t' + 1}} \in {{\bf{R}}^p}$的映射,如式(3)所示,同样选择LSTM为RNN单元,则其更新过程为

${\boldsymbol{f}}_{t' + 1}^{''i} = \sigma \left( {{\boldsymbol{W''}}_{{f}} \left[ {{{\boldsymbol{d}}_{t'}};\hat y_{t'} } \right] + {\boldsymbol{b''}}_{{f}} } \right),$

${\boldsymbol{i}}_{t' + 1}^{''i} = \sigma \left( {{\boldsymbol{W''}}_{{i}} \left[ {{{\boldsymbol{d}}_{t'}};\hat y_{t'} } \right] + {\boldsymbol{b''}}_{{i}} } \right),$

${\boldsymbol{o}}_{t' + 1}^{''i} = \sigma \left( {{\boldsymbol{W''}}_{{o}} \left[ {{{\boldsymbol{d}}_{t'}};\hat y_{t'} } \right] + {\boldsymbol{b''}}_{{o}} } \right),$

${\boldsymbol{s}}_{t' + 1}^{''i} = {\boldsymbol{f}}_{t' + 1}^{''i} \odot {\boldsymbol{s}}_{t'}^{''i} + {\boldsymbol{i}}_{t' + 1}^{''i} \odot \tanh\; \left( {{\boldsymbol{W''}}_{{s}} \left[ {{{\boldsymbol{d}}_{t'}};\hat y_{t'} } \right] + {\boldsymbol{b''}}_{{s}} } \right),$

${{\boldsymbol{d}}_{t' + 1}} = {\boldsymbol{o}}_{t' + 1}^{''i} \odot \tanh \;\left( {{\boldsymbol{s}}_{t' + 1}^{''i}} \right).$

式中: $\left[ {{{\boldsymbol{d}}_{t'}};\hat y_{t'} } \right] \in {{\bf{R}}^{p + 1}}$为第 $i$个局部序列的解码器第 $t'$步预测时LSTM的隐层状态和对应序列中第 $t'$步预测值的拼接, $p$为隐层状态的维度; $ {{\boldsymbol{W}}^{''}}_{{f}} $${{\boldsymbol{W}}^{''}}_{{i}} $${{\boldsymbol{W}}^{''}}_{{o}} $${{\boldsymbol{W}}^{''}}_{{s}} $$ {{\boldsymbol{b}}^{''}}_{{f}} $${{\boldsymbol{b}}^{''}}_{{i}} $${{\boldsymbol{b}}^{''}}_{{o}} $${{\boldsymbol{b}}^{''}}_{{s}} $为须学习的参数.

最后,利用含一层隐含层的全连接网络dense将预测解码器隐层状态 ${{\boldsymbol{d}}_{t' + 1}}$和前一个预测值 $\hat y_{t'} $作为输入得到最终预测坐标 ${\hat{{y}}}_{t' + 1} $

${\hat{{y}}}_{t' + 1} = {\boldsymbol{v}}{_y ^{\rm{T}}}\left( {\tanh\; \left( {{\boldsymbol{W}}_y \left[ {{{\boldsymbol{d}}_{t' + 1}};\hat y_{t'} } \right] + {\boldsymbol{b}}_w } \right)} \right) + b_v .$

式中: $ {\boldsymbol{v}}_{y} $${\boldsymbol{W}}_{y} $${\boldsymbol{b}}_{w} $${b}_{v} $为须学习的参数.

3. 训练方法

以上2种结构采用余弦退火和热重启[27]以及Adam[28]优化器进行训练. 同时为了强制约束预测和加快收敛速度,训练过程使用Teacher forcing策略. 训练的学习率从0.001开始. Teacher forcing策略的参数设置为0.1. 所提出的2种结构均是光滑且可微的,因此可以通过以均方误差为目标函数的标准反向传播来学习参数:

$O\left( {{\boldsymbol{Y}}_j ,{\hat{\boldsymbol{Y}}}_j } \right) = \frac{1}{N}\sum\limits_{j = 1}^N {\sum\limits_{\forall y,\;\hat y \in {\boldsymbol{Y}}_j ,\;{\hat{\boldsymbol{Y}}}_j } {{{\left( {y - \hat y} \right)}^2}} } .$

式中: $ {\boldsymbol{Y}}_{j} $$ {\hat{\boldsymbol{Y}}}_{j} $为第 $j$个实测和预测的轨迹序列, $ y$$ \hat{y}$为对应序列中的坐标值, $N$为轨迹样本数量.

4. 实验验证与结果分析

4.1. 数据说明和实验设置

图5所示,实验的公交轨迹数据来自杭州市文三路的18条公交线路,时间为2019年6月至7月的每周工作日. 车辆GPS轨迹的统计频率为每10 s记录一次. 文三路(学院路-教工路)由东向西行驶的机动车单行路和可以双向行驶的时段式公交专用道组成. 在早晚高峰时段,专用道仅允许公交车辆通行,非高峰时段允许非公交车辆通行. 该路段包含与支路的信号控制交叉口和公交站台,增加了未来时段的预测轨迹的不确定性. 在实验1中,为了避免非公交车辆的干扰,选取与单行道行驶方向相反的公交专用道上的早晚高峰时段内的公交轨迹GPS数据作为实验的训练和测试数据. 在实验2中,选择非高峰早晚2 h时段内的轨迹数据用于对实验1训练结果的测试,对比在公交车辆和其他车辆混合行驶时轨迹预测的泛化能力.

图 5

图 5   实验选取公交线路所在路段

Fig.5   Road section of bus lines in experiment


在本次实验中公交车辆行驶方向为由西向东,因此选择经度坐标作为GPS轨迹的预测轨迹变量. 设置当前轨迹局部序列的输入步长 $T = 6$,预测轨迹序列的步长 $\tau = 3$,将实验所选路段和时段内的公交车轨迹划分为一个独立的训练样本. 随后将得到的训练样本集合划分为训练集、验证集和测试集3个部分. 实验1和实验2的训练集合的样本数量如表1所示.

表 1   实验训练集合样本数量

Tab.1  Sample number of training set in experiment

实验 局部序列 轨迹样本 训练集 验证集 测试集
1 59337 9221 6918 921 1382
2 52909 8753 1311

新窗口打开| 下载CSV


为了说明所提出方法的有效性,在实验中加入多步Seq2Seq的预测方法,该方法同样以当前时刻的轨迹作为编码器的输入,解码器直接输出未来所有步长的轨迹,直到获得整体轨迹为止. 其结构与单层循环的局部编码器和解码器相同,如图2所示. 为了分析以上方法在不确定公交车辆轨迹预测中的适用性,在实验部分利用均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)对2种结构的预测结果进行评价,表达式分别为

${\rm{RMSE}} = {\left[ {\frac{1}{N}\sum\limits_{j = 1}^N {\sum\limits_{\forall y,\;\hat y \in {\boldsymbol{Y}}_j ,\;{\hat{\boldsymbol{Y}}}_j } {{{\left( {y - \hat y} \right)}^2}} } } \right]^{1/2}},$

${\rm{MAE}} = \frac{1}{N}\sum\limits_{j = 1}^N {\sum\limits_{\forall y,\;\hat y \in {\boldsymbol{Y}}_j ,\;{\hat{\boldsymbol{Y}}}_j } {\left| {y - \hat y} \right|} } ,$

${\rm{MAPE}} = \frac{1}{N}\sum\limits_{j = 1}^N {\sum\limits_{\forall y,\;\hat y \in {\boldsymbol{Y}}_j ,\;{\hat{\boldsymbol{Y}}}_j } {\left| {\frac{{y - \hat y}}{y}} \right|} } \times 100{\rm{{\text{%}} }}.$

4.2. 结果分析

当输入序列和预测序列的步长确定之后,多步Seq2Seq编码器-解码器、单层和多层循环编码器-解码器结构的参数只有局部编码器、上下文编码器和解码器中LSTM隐层状态的维度 $ l$mp,分别设置 $l = m = p = 32,64,128$,测试训练后的编码器-解码器结构,结果如表2所示. 表中,数字加黑部分为预测结果相对最好的结构. 当隐层状态维度为128时,3种结构参数学习过程的训练损失曲线和验证损失曲线如图6所示. 图中,Epoch为完成一次完整训练的次数.

表 2   3种结构测试集的预测结果评价

Tab.2  Evaluation of three architecture prediction results

模型
结构
隐层状
态维度
实验1 实验2
MAE/
10−2
MAPE/
10−2
RMSE/
10−2
MAE/
10−2
MAPE/
10−2
RMSE/
10−2
多步
预测
32 3.72 7.95 5.47 3.97 8.02 5.51
64 3.59 7.63 5.31 3.78 7.90 5.42
128 3.56 7.39 5.26 3.51 7.44 5.20
单层循
环预测
32 3.59 7.71 5.29 3.65 7.84 5.37
64 3.54 7.49 5.21 3.59 7.60 5.25
128 3.42 7.25 5.04 3.49 7.31 5.12
多层循
环预测
32 3.53 7.46 5.10 3.61 7.63 5.19
64 3.29 6.96 4.87 3.34 6.99 4.93
128 3.26 6.76 4.79 3.30 6.86 4.83

新窗口打开| 下载CSV


图 6

图 6   3种结构训练过程的损失曲线

Fig.6   Loss curve of three architectures during training


1)对比不同方法的预测结果. 可以发现,无论是实验1还是实验2,循环结构预测优于多步Seq2Seq的预测结果. 这是因为预测轨迹持续相对较长的一段时间,多步Seq2Seq的解码器须迭代的次数也增多,降低了模型的效果. 另外,由训练的损失曲线图可以发现,由于多步Seq2Seq结构的参数较少,训练损失曲线迅速收敛到最小,但是与其验证损失曲线的差距最大. 循环预测结构的验证损失曲线均好于多步Seq2Seq预测的.

2)对比不同循环结构的预测结果. 可以发现,无论是实验1还是实验2,多层循环预测的编码器-解码器结构结果均优于单层循环结构. 多层循环结构在解码时同时考虑了隐层状态和上一步的预测值,增加了更多的信息,其结果也比仅考虑隐层状态时的准确度更高. 不过由训练损失曲线可以看出,多层循环结构的训练次数最多,训练难度也较大.

3)对比分析隐层状态维度对预测结果的影响,如表2所示. 可以发现,对于3种编码器-解码器结构,随着LSTM隐层状态维度的增加,预测准确度也在提升. 不过,随着维度的增大,结构的参数也增多,训练难度也增大. 对比实验结果,当维度由64增加到128时,其精度的增加幅度相对于维度由32增加到64时变小了. 因此,简单提升网络规模不能够显著增加预测准确度.

4)对比分析不同实验场景的预测结果. 可以发现,由于实验1的轨迹数据不受其他车辆的干扰,其预测性能要高于实验2的. 另一方面,在多层循环结构下2种实验的测试结果相差不大,说明相对于单层结构,多层结构更具有泛化能力.

5)对比分析单个轨迹的预测结果,如图7(a)所示. 图中,灰色虚线左侧为当前序列,右侧为预测序列. 可以发现,当轨迹的变化较平缓时,多步Seq2Seq预测轨迹呈现相对平缓的曲线,整体轨迹的误差较小,但是相对于循环结构,无法较好地拟合轨迹的特征. 当轨迹变化较剧烈时候,多步Seq2Seq的预测误差较大,如图7(b)~(d)所示. 虽然循环结构能够较好地描述轨迹坐标的形态,但是也存在局部的误差,如图7(c)(d)所示.

图 7

图 7   3种结构预测的整体轨迹对比

Fig.7   Comparison of global trajectory predicted by three architectures


5. 结 论

(1)所提出的高维时间序列方法虽然提升了整体序列的复杂度,但是避免了预测步长相对较长的影响. 利用同一个循环结构可以对不同的轨迹序列进行预测并得到较好的结果,提升了预测模型的适用能力. 该方法正被进一步应用到公交优先控制的研究[29]中.

(2)预测的准确度受到轨迹复杂程度的影响,轨迹所处的环境越复杂,预测准确度越低. 另外,简单提升网络规模不能够显著增加预测准确度. 受到Seq2Seq翻译的启发,预测框架应引入注意力机制[18, 30];还可以引入对抗神经网络[17],使得预测准确度进一步提升.

(3)在预测时以单个公交车辆轨迹为目标,忽略其与前后公交车辆的关联关系,下一步研究应结合目标轨迹周边车辆轨迹进行预测[31-32].

参考文献

LI L, JIANG R, HE Z B, et al

Trajectory data-based traffic flow studies: a revisit

[J]. Transportation Research Part C, 2020, 114: 225- 240

DOI:10.1016/j.trc.2020.02.016      [本文引用: 1]

YAO J, TAN C, TANG K

An optimization model for arterial coordination control based on sampled vehicle trajectories: the stream model

[J]. Transportation Research Part C, 2019, 109: 211- 232

DOI:10.1016/j.trc.2019.10.014      [本文引用: 1]

WANG L, ABDEL-ATY M, MA W J, et al

Quasi-vehicle-trajectory-based real-time safety analysis for expressways

[J]. Transportation Research Part C, 2019, 103: 30- 38

DOI:10.1016/j.trc.2019.04.003      [本文引用: 1]

XIEK, OZBAY K, YANG H, et al

Mining automatically extracted vehicle trajectory data for proactive safety analytics

[J]. Transportation Research Part C, 2019, 106: 61- 72

DOI:10.1016/j.trc.2019.07.004      [本文引用: 1]

LIU J, HAN K, CHEN X, et al

Spatial-temporal inference of urban traffic emissions based on taxi trajectories and multi-source urban data

[J]. Transportation Research Part C, 2019, 106: 145- 165

DOI:10.1016/j.trc.2019.07.005      [本文引用: 1]

HU J, PARK B B, LEE Y J

Coordinated transit signal priority supporting transit progression under connected vehicle technology

[J]. Transportation Research Part C, 2015, 55: 393- 408

DOI:10.1016/j.trc.2014.12.005      [本文引用: 1]

HU J, PARK B B, LEE Y J

Transit signal priority accommodating conflicting requests under connected vehicles technology

[J]. Transportation Research Part C, 2016, 69: 173- 192

DOI:10.1016/j.trc.2016.06.001     

TRUONG L T, CURRIE G, WALLANCE M, et al

Coordinated transit signal priority model considering stochastic bus arrival time

[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 20 (4): 1269- 1277

DOI:10.1109/TITS.2018.2844199     

KIM H, CHENG Y, CHANG G

Variable signal progression bands for transit vehicles under dwell time uncertainty and traffic queues

[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 20 (1): 109- 122

DOI:10.1109/TITS.2018.2801567      [本文引用: 1]

WU W, HEAD L, YAN S H, et al

Development and evaluation of bus lanes with intermittent and dynamic priority in connected vehicle environment

[J]. Journal of Intelligent Transportation Systems, 2018, 22 (4): 301- 310

DOI:10.1080/15472450.2017.1313704      [本文引用: 1]

BERREBI S J, HANS E, CHIABAUT N, et al

Comparing bus holding methods with and without real-time predictions

[J]. Transportation Research Part C, 2018, 87: 197- 211

DOI:10.1016/j.trc.2017.07.012      [本文引用: 1]

LIM B, ZOHREN S. Time series forecasting with deep learning: a survey [EB/OL]. [2020-09-27]. https://arxiv.org/abs/2004.13408.

[本文引用: 1]

HOCHREITER S, SCHMIDHUBER J

Long short-term memory

[J]. Neural Computation, 1997, 9 (8): 1735- 1780

DOI:10.1162/neco.1997.9.8.1735      [本文引用: 1]

CHO K, VAN MERRIUENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha: [s.n.], 2014: 1724–1734.

[本文引用: 2]

CHO K, VAN MERRIUENBOER B, BAHDANAU D. On the properties of neural machine translation: encoder-decoder approaches [EB/OL]. [2020-10-01]. https://arxiv.org/abs/1409.1259.

[本文引用: 1]

SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks[C]// Proceedings of the 2014 Advances in Neural Information Processing Systems. Montreal: [s.n.], 2014: 3104–3112.

[本文引用: 1]

WANG S, CAO J, CHEN H, et al

SeqST-GAN: Seq2Seq generative adversarial nets for multi-step urban crowd flow prediction

[J]. ACM Transactions on Spatial Algorithms and Systems (TSAS), 2020, 6 (4): 1- 24

URL     [本文引用: 2]

QIN Y, SONG D, CHEN H, et al. A dual-stage attention-based recurrent neural network for time series prediction[C]// Proceedings of 26th International Joint Conference on Artificial Intelligence. Melbourne: [s.n.], 2017: 2627-2633.

[本文引用: 2]

KIM B D, KANG C M, KIM J, et al. Probabilistic vehicle trajectory prediction over occupancy grid map via recurrent neural network[C]// Proceedings of the IEEE 20th International Conference on Intelligent Transportation Systems (ITSC). Yokohama: [s.n.], 2017: 399-404.

[本文引用: 2]

PARK SH, KIM B D, KANG C M, et al. Sequence-to-sequence prediction of vehicle trajectory via LSTM encoder-decoder architecture[C]// Proceedings of 2018 IEEE Intelligent Vehicles Symposium (IV), Changshu: [s.n.], 2018: 1672-1678.

[本文引用: 1]

MESSAOUD K, YAHIAOUI I, VERROUST-BLONDET A, et al

Attention based vehicle trajectory prediction

[J]. IEEE Transactions on Intelligent Vehicles, 2020, 6 (1): 175- 185

URL     [本文引用: 1]

SEN R, YU H F, DHILLON I S. Think globally, act locally: a deep neural network approach to high-dimensional time series forecasting[C]// Proceedings of Advances in Neural Information Processing Systems (NIPS). Vancouver: [s.n.], 2019: 4837-4846.

[本文引用: 2]

BOX G, JENKIN G. Time Series analysis: forecasting and control[M]. San Francisco: Holden-Day, 1970.

[本文引用: 1]

BRAHIM-BELHOUARI S, BERMAK A

Gaussian process for nonstationary time series prediction

[J]. Computational Stats and Data Analysis, 2004, 47 (4): 705- 712

DOI:10.1016/j.csda.2004.02.006      [本文引用: 1]

AARON VAN DEN O, DIELEMAN S, ZEN H, et al. Wavenet: a generative model for raw audio [EB/OL]. [2020-10-01]. https://arxiv.org/abs/1609.03499.

[本文引用: 2]

SORDONI A, BENGIO Y, VAHABI H, et al. A hierarchical recurrent encoder-decoder for generative context-aware query suggestion[C]// Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. Melbourne: [s.n.], 2015: 553-562.

[本文引用: 2]

LOSHCILOV I, HUTTER F. Decoupled weight decay regularization[C]// Proceedings of 7th International Conference on Learning Representations. New Orleans: [s.n.], 2019.

[本文引用: 1]

KINGMA D, BA J. Adam: a method for stochastic optimization[C]// Proceedings of 3rd International Conference on Learning Representations. San Diego: [s.n.], 2015.

[本文引用: 1]

DONG H Z, ZHAO C X, FU F J

Sharing bus lanes: a new lanes multiplexing-based method using a dynamic time slice policy

[J]. Transport, 2018, 1- 38

URL     [本文引用: 1]

BAHDANAU D, KYUNGHYUN C K, BENGIO Y. Neural machine translation by jointly learning to align and translate[C]// Proceedings of 3rd International Conference on Learning Representations. San Diego: [s.n.], 2015.

[本文引用: 1]

HOU L, XIN L, LI E S, et al

Interactive trajectory prediction of surrounding road users for autonomous driving using structural-LSTM network

[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 21 (11): 4615- 4625

URL     [本文引用: 1]

DAI S, LI L, LI Z

Modeling vehicle interactions via modified LSTM models for trajectory prediction

[J]. IEEE Access, 2019, 7: 38287- 38296

DOI:10.1109/ACCESS.2019.2907000      [本文引用: 1]

/