一种基于多空间尺度时空Transformer的交通速度预测方法
未命名
07-17
阅读:104
评论:0
一种基于多空间尺度时空transformer的交通速度预测方法
技术领域
1.本发明涉及交通预测规划技术领域,尤其涉及一种基于多空间尺度时空transformer的交通速度预测方法。
背景技术:
2.交通系统是现代城市最重要的基础设施之一,支撑着数百万人的日常通勤和出行。随着城市化和人口增长,交通系统变得更加复杂。基于交通预测的早期干预被视为提高交通系统效率和缓解交通相关问题的关键。
3.现有交通数据的预测方法都是以整个交通网络为尺度来对空间结构建模的,即将大量的传感器节点放在一个交通图中做特征提取。一些模型基于传感器节点之间的距离构建了空间图,并将图卷积直接作用在空间图上提取空间域中有意义的模式和特征。这种将传感器视为全部相连的做法虽然可以充分提取空间关系,但是会造成过度提取的问题,导致引入了更多的噪声和大量无用信息。有些模型以距离阈值的方式定义传感器之间的连接关系,将传感器网络建模为加权有向图,并提出扩散卷积来捕获空间依赖性。但是这种方法仍然是以一整个交通网络为尺度,这不利于准确且有针对性的提取空间结构特征。随着transformer的快速发展,一些模型使用空间transformer来提取全局的空间结构特征,计算每一个传感器之间的依赖关系。虽然取得了不错的效果,但在提取空间结构时仍存在尺度单一、计算大量无用信息的问题。另外,现有模型在对交通速度数据建模时并没有考虑时空数据的先后关系以及相对位置信息,然而对于交通速度预测来说,这是非常重要的,因为交通速度数据是时间序列数据,而每个时间步之间的影响是不同的,比如对于一个时间步来说,其前一个时间步对他的影响会比前两个时间步对他的影响要大,另外,当前时间步是不受后面时间步的影响的。所以如何进行准确的时空建模,也是需要解决的一大问题。
技术实现要素:
4.技术问题:本发明的目的是要克服现有技术中的不足之处,提供一种基于多空间尺度时空transformer的交通速度预测方法,以解决因交通系统空间结构复杂、时空依赖关系有严格先后顺序而导致现存的交通数据预测无法精准且快速的预测交通数据的问题。
5.技术方案:本发明于多空间尺度时空transformer的交通速度预测方法,利用城市交通速度数据设计预测模型,实现全面且有针对的提取空间特征、精准建模时空依赖特征和预测未来一段时间的交通速度;所述预测模型包括多尺度空间特征提取模块、交通时空特征提取模块和预测模块;包括如下步骤:
6.步骤1、对获取到的路段传感器速度序列数据进行预处理:包括处理传感器节点数据以及生成样本集合,得到预处理后的速度样本集和路网的带权邻接矩阵;
7.步骤2、将步骤1处理后的数据输入多尺度空间特征提取模块,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;
8.步骤3、将步骤2得到的提取过空间结构特征的速度数据经过交通时空特征提取模
块进行时空依赖关系的构建,得到具有精准时空依赖的速度数据;
9.步骤4、将步骤3得到的具有精准时空依赖的速度数据x
st
输入预测模块进行多步预测,以预测未来一段时间的交通速度;同时使用损失函数训练所述交通速度预测模型,逐步训练优化参数以实现对城市交通速度的准确预测。
10.所述处理传感器节点数据以及生成样本集合;
11.所述传感器节点数据是指从道路传感器获取到的一段时间内的平均车速信息,处理传感器节点数据的方法为:将传感器数据每5分钟聚合一次,采用线性插值法填充缺失值,最后将填充完缺失值的传感器数据使用z-score方法归一化,得到交通数据集;所述线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法;所述z-score方法是一个实测值与平均数的差再除以标准差的过程,通过z-score方法能够将不同量级的数据转化为统一量度的z-score分值;
12.所述生成样本集合的方法为:
13.定义一个长度为l的滑动窗口,移动步长为1;使该滑动窗口在数据集[x1,
…
,x
t
]上滑动,得到所有数据样本的集合h=[x1,
…
,xh,
…
,x
t-l+1
],其中],其中
[0014]
将所有数据样本依次进行特征提取与预测,特征提取与预测的过程一致,均依次经过多尺度空间特征提取模块、交通时空特征提取模块以及预测模块。
[0015]
所述交通数据集包括速度数据以及由传感器节点之间的距离确定的带权邻接矩阵,所述交通数据集中的速度数据是时间序列数据,表示为其中,是n个传感器节点在时间步t的观测值,将观测值表示为交通图g=(v,e,w),其中,v表示传感器节点的集合,|v|=n;e表示边的集合,表示交通图g的带权邻接矩阵;其中,邻接矩阵以及边的权重是根据传感器所在位置之间的距离决定的,边的权重矩阵w是根据连通关系构造的邻接矩阵,对于传感器i与传感器j来说,w
ij
=d
ij
;其中,w
ij
表示传感器i与传感器j之间的权重,d
ij
是传感器i与传感器j之间的距离。
[0016]
步骤2中,所述多尺度空间特征提取模块包括节点特征提取层、区域特征提取层、道路特征提取层、静态路网特征提取层以及融合层;将步骤1得到的速度数据样本分别输入各特征提取层来分别提取节点层面、区域层面和道路层面三个尺度的动态空间结构特征以及静态的路网结构特征;之后将三个尺度的动态特征以及静态的特征数据输入融合层来进行融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;多尺度空间特征提取模块能够全面且有针对的提取空间特征,在提高预测精度的同时减少大量无用信息的计算;
[0017]
多尺度空间特征提取模块的提取过程为:
[0018]
首先,以速度样本xh为例,将速度样本xh先经过一层1
×
1的卷积层来扩充特征通道数,得到扩充特征通道之后的数据
[0019][0020]
其中:conv表示卷积操作;
[0021]
将并行输入传感器节点特征提取层、区域特征提取层、道路特征提取层以及静
态特征提取层,分别得到节点层面的特征s
node
、区域层面的特征s
area
、道路层面的特征s
road
以及静态的路网结构特征s
static
;之后将上述特征输入融合层来将三个尺度的动态特征以及静态的特征融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据xs:
[0022]
xs=fusion(s
node
,s
area
,s
road
,s
static
)
[0023]
其中:fusion表示融合层的融合操作。
[0024]
所述节点特征提取层,对每个传感器节点都有自己独特的交通特征,不需要去聚合其他传感器节点的特征,所以在节点特征提取层仅对原始的输入特征进行特征提取;
[0025]
首先,对扩充特征通道数后的速度样本进行层标准化(layer normalization,ln)操作,保证数据中特征的稳定性;
[0026]
其次,再经过一层前馈神经网络用来提取非线性特征,所述前馈神经网络由两层线性层与一个非线性激活函数组成;
[0027]
最后,为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作,得到传感器节点层面的特征值s
node
,提取过程表示如下:
[0028][0029]
其中,ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活,用于学习数据的非线性特征。
[0030]
所述区域特征提取层包括区域位置嵌入单元、区域多头自注意力单元、前馈神经网络单元;
[0031]
首先,采用可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,并将其融入到原始数据中;
[0032]
其次,将经过位置嵌入后的数据输入区域多头自注意力单元来学习不同方面的特征;
[0033]
最后再经过前馈神经网络单元以提取更深层的特征;
[0034]
所述区域位置嵌入单元的嵌入过程为:
[0035]
使用一个可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,r
area
初始化为带有权重的邻接矩阵w,得到位置嵌入后的数据
[0036][0037]
其中,f为一个1
×
1的卷积层,用于将动态的位置信息融入到输入数据中去;
[0038]
所述区域多头自注意力单元的特征提取过程为:
[0039]
在区域多头自注意力单元中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据进行空间特征提取,其中,并行计算,特征提取过程为:
[0040]
首先,为n个传感器节点序列训练三个潜在子空间,包括查询子空间q
area
、键子空间k
area
和值子空间v
area
:其中,
分别是q
area
,k
area
,v
area
的可学习权重矩阵;
[0041]
其次,计算节点之间的注意力分数,在计算区域注意力分数时对节点进行了筛选,只计算其区域范围内的注意力分数,筛选过程如下:
[0042][0043]
其中,表示在查询子空间中对应的值,表示在键子空间中对应的值,表示矩阵的转置;dk表示k
area
的维度,用于防止梯度消失以及出现的输入值过大的问题;b
ij
表示筛选变量,当节点j在节点i的区域范围内时,b
ij
的值为0,反之置为负无穷:
[0044][0045]
其中ri表示以节点i为中心,根据给定的距离阈值k所确定的区域范围内所有其他节点的集合;
[0046]
再次,将得到的注意力分数用激活函数softmax将注意力分数映射到[0,1]范围内,以确保它们在整个序列中总和为1,之后与对应的值子空间相乘相加,得到提取过区域特征的数据m
area
:
[0047][0048]
最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过区域空间特征的数据m
′
area
:
[0049][0050]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0051]
所述前馈神经网络单元的特征提取过程为:
[0052]
前馈神经网络由两层线性层与一个非激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过区域空间特征的数据s
area
:
[0053]sarea
=ln(linear(relu(linear(m
′
area
)))+m
′
area
)
[0054]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。
[0055]
所述道路特征提取层,先将输入数据经过线性映射层,投影出不同于区域提取层的三个子空间,包括查询子空间q
road
、键子空间k
road
和值子空间v
road
:
[0056][0057]
其中:分别是q
road
,k
road
,v
road
的可学习权重矩阵;
[0058]
其次,计算节点之间的相关性分数,使用稀疏自注意力来提取空间特征;由q
road
与k
road
先经过点积计算得到注意力分数集合s
road
:
[0059][0060]
其中:(k
road
)
t
表示矩阵k
road
的转置;在得到的注意力分数集合s
road
中选择最高的几个注意力分数与对应的值子空间相乘,得到提取过道路特征的数据m
road
:
[0061]mroad
=f
top-p
(s
road
)v
[0062]
其中,f
top-p
表示筛选函数,用于从s
road
中按数值大小选取top-p个注意力分数保持原值,其他注意力分数均置为0;
[0063]
然后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过道路空间特征的数据m
′
road
:
[0064][0065]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0066]
最后,再将提取过道路空间特征的数据m
′
road
输入前馈神经网络单元以学习数据的非线性特征;所述前馈神经网络单元由两层线性层与一个非线性激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过道路空间特征的数据s
road
:
[0067]sroad
=ln(linear(relu(linear(m
′
road
)))+m
′
road
)
[0068]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。
[0069]
所述静态空间特征提取层,利用图卷积操作聚集来自相邻节点的信息来提取交通路网的静态特征s
static
;
[0070]
静态空间特征提取层的提取过程如下:
[0071][0072]
其中,是输入数据,是具有附加自连接的邻接矩阵;是的度矩阵,w
static
是可训练权重矩阵,σ是激活函数;
[0073]
所述融合层的融合过程为:
[0074]
融合层利用门控机制(gating mechanism)来融合多空间尺度的动态特征以及静态的空间特征,先根据要融合的数据计算门g,之后用数据计算门g算出通过加权的方式有选择性的处理输入数据,数据计算门g表示为:
[0075]
g=sigmoid(f
node
(s
node
)+f
area
(s
area
)+f
road
(s
road
)+f
static
(s
static
))
[0076]
其中:f
node
、f
area
、f
road
和f
static
分别是将s
node
、s
area
、s
road
和s
static
转换为一维向量的线性函数;所述门控机制利用转换门和进位门来分别表示通过转换输入和进位输出产生了多少输出;融合了多尺度动态空间结构以及静态路网结构特征的速度数据xs表示为:
[0077]
xs=g(s
node
)+g(s
area
)+g(s
road
)+(1-g)(s
static
)。
[0078]
步骤3中,所述交通时空特征提取模块包括交通时间位置嵌入层、多头自注意力层以及前馈神经网络层;交通时空特征提取模块首先将提取过空间特征的速度数据xs输入交通时间位置嵌入层来学习数据中对应时间的先后位置关系,之后经过多头自注意力层学习
数据中的时空特征,最后输入前馈神经网络层学习数据之间非线性的依赖关系;
[0079]
所述交通时间位置嵌入层的嵌入过程为:
[0080]
由于绝对位置嵌入的方法会丢失一些位置信息,所以序列注入相对位置信息,并且在之后计算注意力分数时加入一个可训练的表示相对位置的参数;
[0081]
提取过空间特征的速度数据的数据长度为l,它们之间共存在2l-1种相对位置关系,相对位置关系表rpr表示为:
[0082]
rpr=[-l+1,
…
,-2,-1,0,1,2,
…
,l-1];
[0083]
其中,与之间的相对位置关系为a
ij
=j-i∈rpr;之后为2l-1种相对位置关系分别生成对应的权重矩阵,其中a
ij
对应的权重向量为w
i-j
;由于交通数据是有高度时间流动性的数据,未来的时间不会影响到之前时间步的数据走向,所以将rpr中表示未来的值的权重向量置为0,即w
i-j
=0,i-j<0;
[0084]
所述多头自注意力层的特征提取过程为:
[0085]
在多头自注意力层中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据xs进行时空特征提取,时空特征提取过程为:
[0086]
首先,为训练查询子空间q
t
、键子空间k
t
和值子空间v
t
::其中,分别是q
t
,k
t
,v
t
的可学习权重矩阵;
[0087]
其次,计算节点之间的依赖关系,由经过点积计算得到:
[0088][0089]
其中,表示矩阵的转置;dk表示k
t
的维度,用于防止梯度消失以及出现的输入值过大的问题;w
i-j
是表示序列之间相对位置的权重矩阵;
[0090]
再次,与对应的值子空间相乘,得到提取过时间依赖关系的数据m
t
:
[0091]mt
=s
tvt
[0092]
其中,s
t
包含表示序列中所有时间步之间的注意力分数;
[0093]
最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过时间依赖特征之后的数据m
′
t
:
[0094]m′
t
=ln(xs+m
t
)
[0095]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0096]
所述前馈神经网络单元的特征提取过程为:
[0097]
前馈神经网络由两层线性层与一个非线性激活函数组成,为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到具有精准时间依赖的交通速度数据x
st
:
[0098]
x
st
=ln(linear(relu(linear(m
′
t
)))+m
′
t
)
[0099]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张
scale spatial feature extraction,mcs)、交通时空特征提取模块(traffic timewise,ttw)和预测模块;包括如下步骤:
[0112]
步骤1、首先,对获取到的路段传感器速度序列数据进行预处理:包括处理传感器节点数据以及生成样本集合,得到预处理后的速度样本集和路网的带权邻接矩阵;
[0113]
步骤1中,所述处理传感器节点数据以及生成样本集合;
[0114]
所述传感器节点数据是指从道路传感器获取到的一段时间内的平均车速信息,处理传感器节点数据的方法为:将传感器数据每5分钟聚合一次,采用线性插值法填充缺失值,最后将填充完缺失值的传感器数据使用z-score方法归一化,得到交通数据集;所述线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法;所述z-score方法是一个实测值与平均数的差再除以标准差的过程,通过z-score方法能够将不同量级的数据转化为统一量度的z-score分值;
[0115]
所述生成样本集合的方法为:
[0116]
定义一个长度为l的滑动窗口,移动步长为1;使该滑动窗口在数据集[x1,...,x
t
]上滑动,得到所有数据样本的集合h=[x1,...,xh,...,x
t-l+1
],其中],其中
[0117]
将所有数据样本依次进行特征提取与预测,特征提取与预测的过程一致,均依次经过多尺度空间特征提取模块、交通时空特征提取模块以及预测模块。
[0118]
所述交通数据集包括速度数据以及由传感器节点之间的距离确定的带权邻接矩阵,所述交通数据集中的速度数据是时间序列数据,表示为其中,是n个传感器节点在时间步t的观测值,将观测值表示为交通图g=(v,e,w),其中,v表示传感器节点的集合,|v|=n;e表示边的集合,表示交通图g的带权邻接矩阵;其中,邻接矩阵以及边的权重是根据传感器所在位置之间的距离决定的,边的权重矩阵w是根据连通关系构造的邻接矩阵,对于传感器i与传感器j来说,w
ij
=d
ij
;其中,w
ij
表示传感器i与传感器j之间的权重,d
ij
是传感器i与传感器j之间的距离。
[0119]
步骤2、将步骤1处理后的数据输入多尺度空间特征提取模块,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;
[0120]
步骤2中,所述多尺度空间特征提取模块包括节点特征提取层、区域特征提取层、道路特征提取层、静态路网特征提取层以及融合层;将步骤1得到的速度数据样本分别输入各特征提取层来分别提取节点层面、区域层面和道路层面三个尺度的动态空间结构特征以及静态的路网结构特征;之后将三个尺度的动态特征以及静态的特征数据输入融合层来进行融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;多尺度空间特征提取模块能够全面且有针对的提取空间特征,在提高预测精度的同时减少大量无用信息的计算;
[0121]
多尺度空间特征提取模块的提取过程为:
[0122]
首先,以速度样本xh为例,将速度样本xh先经过一层1
×
1的卷积层来扩充特征通道数,得到扩充特征通道之后的数据
[0123]
[0124]
其中:conv表示卷积操作;
[0125]
将并行输入传感器节点特征提取层、区域特征提取层、道路特征提取层以及静态特征提取层,分别得到节点层面的特征s
node
、区域层面的特征s
area
、道路层面的特征s
road
以及静态的路网结构特征s
static
;之后将上述特征输入融合层来将三个尺度的动态特征以及静态的特征融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据xs:
[0126]
xs=fusion(s
node
,s
area
,s
road
,s
static
)
[0127]
其中:fusion表示融合层的融合操作。
[0128]
所述节点特征提取层,对每个传感器节点都有自己独特的交通特征,不需要去聚合其他传感器节点的特征,所以在节点特征提取层仅对原始的输入特征进行特征提取;
[0129]
首先,对扩充特征通道数后的速度样本进行层标准化(layer normalization,ln)操作,保证数据中特征的稳定性;
[0130]
其次,再经过一层前馈神经网络用来提取非线性特征,所述前馈神经网络由两层线性层与一个非线性激活函数组成;
[0131]
最后,为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作,得到传感器节点层面的特征值s
node
,提取过程表示如下:
[0132][0133]
其中,ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活,用于学习数据的非线性特征。
[0134]
所述区域特征提取层包括区域位置嵌入单元、区域多头自注意力单元、前馈神经网络单元;
[0135]
首先,采用可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,并将其融入到原始数据中;
[0136]
其次,将经过位置嵌入后的数据输入区域多头自注意力单元来学习不同方面的特征;
[0137]
最后再经过前馈神经网络单元以提取更深层的特征;
[0138]
所述区域位置嵌入单元的嵌入过程为:
[0139]
使用一个可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,r
area
初始化为带有权重的邻接矩阵w,得到位置嵌入后的数据
[0140][0141]
其中,f为一个1
×
1的卷积层,用于将动态的位置信息融入到输入数据中去;
[0142]
所述区域多头自注意力单元的特征提取过程为:
[0143]
在区域多头自注意力单元中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据进行空间特征提取,其中,并行计算,特征提取过程为:
[0144]
首先,为n个传感器节点序列训练三个潜在子空间,包括查询子空间q
area
、键子空间k
area
和值子空间v
area
:其中,分别是q
area
,k
area
,v
area
的可学习权重矩阵;
[0145]
其次,计算节点之间的注意力分数,在计算区域注意力分数时对节点进行了筛选,只计算其区域范围内的注意力分数,筛选过程如下:
[0146][0147]
其中,表示在查询子空间中对应的值,表示在键子空间中对应的值,表示矩阵的转置;dk表示k
area
的维度,用于防止梯度消失以及出现的输入值过大的问题;b
ij
表示筛选变量,当节点j在节点i的区域范围内时,b
ij
的值为0,反之置为负无穷:
[0148][0149]
其中ri表示以节点i为中心,根据给定的距离阈值k所确定的区域范围内所有其他节点的集合;
[0150]
再次,将得到的注意力分数用激活函数softmax将注意力分数映射到[0,1]范围内,以确保它们在整个序列中总和为1,之后与对应的值子空间相乘相加,得到提取过区域特征的数据m
area
:
[0151][0152]
最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过区域空间特征的数据m
′
area
:
[0153][0154]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0155]
所述前馈神经网络单元的特征提取过程为:
[0156]
前馈神经网络由两层线性层与一个非激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过区域空间特征的数据s
area
:
[0157]sarea
=ln(linear(relu(linear(m
′
area
)))+m
′
area
)
[0158]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。
[0159]
所述道路特征提取层,先将输入数据经过线性映射层,投影出不同于区域提取层的三个子空间,包括查询子空间q
road
、键子空间k
road
和值子空间v
road
:
[0160][0161]
其中:分别是q
road
,k
road
,v
road
的可学习权重矩阵;
[0162]
其次,计算节点之间的相关性分数,使用稀疏自注意力来提取空间特征;由q
road
与k
road
先经过点积计算得到注意力分数集合s
road
:
[0163][0164]
其中:(k
road
)
t
表示矩阵k
road
的转置;在得到的注意力分数集合s
road
中选择最高的几个注意力分数与对应的值子空间相乘,得到提取过道路特征的数据m
road
:
[0165]mroad
=f
top-p
(s
road
)v
[0166]
其中,f
top-p
表示筛选函数,用于从s
road
中按数值大小选取top-p个注意力分数保持原值,其他注意力分数均置为0;
[0167]
然后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过道路空间特征的数据m
′
road
:
[0168][0169]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0170]
最后,再将提取过道路空间特征的数据m
′
road
输入前馈神经网络单元以学习数据的非线性特征;所述前馈神经网络单元由两层线性层与一个非线性激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过道路空间特征的数据s
road
:
[0171]sroad
=ln(linear(relu(linear(m
′
road
)))+m
′
road
)
[0172]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。
[0173]
所述静态空间特征提取层,利用图卷积操作聚集来自相邻节点的信息来提取交通路网的静态特征s
static
;
[0174]
静态空间特征提取层的提取过程如下:
[0175][0176]
其中,是输入数据,是具有附加自连接的邻接矩阵;是的度矩阵,w
static
是可训练权重矩阵,σ是激活函数;
[0177]
所述融合层的融合过程为:
[0178]
融合层利用门控机制(gating mechanism)来融合多空间尺度的动态特征以及静态的空间特征,先根据要融合的数据计算门g,之后用数据计算门g算出通过加权的方式有选择性的处理输入数据,数据计算门g表示为:
[0179]
g=sigmoid(f
node
(s
node
)+f
area
(s
area
)+f
road
(s
road
)+f
static
(s
static
))
[0180]
其中:f
node
、f
area
、f
road
和f
static
分别是将s
node
、s
area
、s
road
和s
static
转换为一维向量的线性函数;所述门控机制利用转换门和进位门来分别表示通过转换输入和进位输出产生了多少输出;融合了多尺度动态空间结构以及静态路网结构特征的速度数据xs表示为:
[0181]
xs=g(s
node
)+g(s
area
)+g(s
road
)+(1-g)(s
static
)。
[0182]
步骤3、将步骤2得到的提取过空间结构特征的速度数据经过交通时空特征提取模
块进行时空依赖关系的构建,得到具有精准时空依赖的速度数据;
[0183]
步骤3中,所述交通时空特征提取模块包括交通时间位置嵌入层、多头自注意力层以及前馈神经网络层;交通时空特征提取模块首先将提取过空间特征的速度数据xs输入交通时间位置嵌入层来学习数据中对应时间的先后位置关系,之后经过多头自注意力层学习数据中的时空特征,最后输入前馈神经网络层学习数据之间非线性的依赖关系;
[0184]
所述交通时间位置嵌入层的嵌入过程为:
[0185]
由于绝对位置嵌入的方法会丢失一些位置信息,所以序列注入相对位置信息,并且在之后计算注意力分数时加入一个可训练的表示相对位置的参数;
[0186]
提取过空间特征的速度数据的数据长度为l,它们之间共存在2l-1种相对位置关系,相对位置关系表rpr表示为:
[0187]
rpr=[-l+1,
…
,-2,-1,0,1,2,
…
,l-1];
[0188]
其中,与之间的相对位置关系为a
ij
=j-i∈rpr;之后为2l-1种相对位置关系分别生成对应的权重矩阵,其中a
ij
对应的权重向量为w
i-j
;由于交通数据是有高度时间流动性的数据,未来的时间不会影响到之前时间步的数据走向,所以将rpr中表示未来的值的权重向量置为0,即w
i-j
=0,i-j<0;
[0189]
所述多头自注意力层的特征提取过程为:
[0190]
在多头自注意力层中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据xs进行时空特征提取,时空特征提取过程为:
[0191]
首先,为训练查询子空间q
t
、键子空间k
t
和值子空间v
t
::其中,分别是q
t
,k
t
,v
t
的可学习权重矩阵;
[0192]
其次,计算节点之间的依赖关系,由与经过点积计算得到:
[0193][0194]
其中,表示矩阵的转置;dk表示k
t
的维度,用于防止梯度消失以及出现的输入值过大的问题;w
i-j
是表示序列之间相对位置的权重矩阵;
[0195]
再次,与对应的值子空间相乘,得到提取过时间依赖关系的数据m
t
:
[0196]mt
=s
tvt
[0197]
其中,s
t
包含表示序列中所有时间步之间的注意力分数;
[0198]
最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过时间依赖特征之后的数据m
′
t
:
[0199]m′
t
=ln(xs+m
t
)
[0200]
其中:ln表示层标准化操作,用于保证数据稳定性;
[0201]
所述前馈神经网络单元的特征提取过程为:
[0202]
前馈神经网络由两层线性层与一个非线性激活函数组成,为了防止梯度消失,在
特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到具有精准时间依赖的交通速度数据x
st
:
[0203]
x
st
=ln(linear(relu(linear(m
′
t
)))+m
′
t
)
[0204]
其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。
[0205]
步骤4、将步骤3得到的具有精准时空依赖的速度数据x
st
输入预测模块进行多步预测,以预测未来一段时间的交通速度;同时使用损失函数训练所述交通速度预测模型,逐步训练优化参数以实现对城市交通速度的准确预测。
[0206]
步骤4中,所述的预测模块由两个经典卷积层组成,第一个卷积层用来将时间步维度降维,第二个卷积层是对特征维度进行降维;最终得到未来t
τ
个时间步的交通数据,t
τ
表示预测未来时间步的个数;得到预测数据y:
[0207][0208]
其中:conv表示卷积操作;
[0209]
预测后,采用huber损失函数来进行调优:
[0210][0211]
其中,huber损失函数是一个用于回归问题的带参损失函数,δ表示调节鲁棒性的参数,当预测偏差小于δ时,采用平方误差;当预测偏差大于δ时,采用线性误差;表示预测值,y表示真实值。
[0212]
基于多空间尺度时空transformer的交通速度预测方法的应用:在某地的一个高速公路交通数据集pemsd7(m)上进行验证。这些数据集由caltrans性能测量系统(pems)每30秒实时收集一次,时间范围为某年的5月和6月的工作日,交通速度预测步骤如下:
[0213]
步骤1、对获取到的路段传感器速度序列数据进行预处理:包括处理传感器节点数据以及生成样本集合,得到预处理后的速度样本集和路网的带权邻接矩阵;
[0214]
步骤2、将步骤1处理后的数据输入多尺度空间特征提取模块,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;
[0215]
步骤3、将步骤2得到的提取过空间结构特征的速度数据经过交通时空特征提取模块进行时空依赖关系的构建,得到具有精准时空依赖的速度数据;
[0216]
步骤4、将步骤3得到的具有精准时空依赖的速度数据输入预测模块进行多步预测,以预测未来一段时间的交通速度;同时使用损失函数训练所述交通速度预测模型,逐步训练优化参数以实现对城市交通速度的准确预测。
[0217]
步骤5、实验环境及超参数设定:
[0218]
所依赖的深度学习框架为pytorch 1.10.0,编程语言为python 3.6;所有实验均在搭载nvidia tesla p40的计算机上进行,其深度学习加速环境为cuda 10.2,cudnn 10.2;使用adam优化器对所提出的模型进行了50个epochs的平均绝对误差损失训练,batch size为32;初始学习率为0.01,每五个epochs以0.7的速率减少;距离阈值k设置为7000;预测时间步tτ设置为12。
技术特征:
1.一种基于多空间尺度时空transformer的交通速度预测方法,其特征在于:利用城市交通速度数据设计预测模型,实现全面且有针对的提取空间特征、精准建模时空依赖特征和预测未来一段时间的交通速度;所述预测模型包括多尺度空间特征提取模块、交通时空特征提取模块和预测模块;包括如下步骤:步骤1、对获取到的路段传感器速度序列数据进行预处理:包括处理传感器节点数据以及生成样本集合,得到预处理后的速度样本集和路网的带权邻接矩阵;步骤2、将步骤1处理后的数据输入多尺度空间特征提取模块,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;步骤3、将步骤2得到的提取过空间结构特征的速度数据经过交通时空特征提取模块进行时空依赖关系的构建,得到具有精准时空依赖的速度数据;步骤4、将步骤3得到的具有精准时空依赖的速度数据x
st
输入预测模块进行多步预测,以预测未来一段时间的交通速度;同时使用损失函数训练所述交通速度预测模型,逐步训练优化参数以实现对城市交通速度的准确预测。2.根据权利要求1所述的基于多空间尺度时空transformer的交通速度预测方法,其特征在于:步骤1中,所述处理传感器节点数据以及生成样本集合;所述传感器节点数据是指从道路传感器获取到的一段时间内的平均车速信息,处理传感器节点数据的方法为:将传感器数据每5分钟聚合一次,采用线性插值法填充缺失值,最后将填充完缺失值的传感器数据使用z-score方法归一化,得到交通数据集;所述线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法;所述z-score方法是一个实测值与平均数的差再除以标准差的过程,通过z-score方法能够将不同量级的数据转化为统一量度的z-score分值;所述生成样本集合的方法为:定义一个长度为l的滑动窗口,移动步长为1;使该滑动窗口在数据集[x1,...,x
t
]上滑动,得到所有数据样本的集合h=[x1,...,x
h
,...,x
t-l+1
],其中],其中将所有数据样本依次进行特征提取与预测,特征提取与预测的过程一致,均依次经过多尺度空间特征提取模块、交通时空特征提取模块以及预测模块。3.根据权利要求2所述的基于多空间尺度时空transformer的交通速度预测方法,其特征在于:所述交通数据集包括速度数据以及由传感器节点之间的距离确定的带权邻接矩阵,所述交通数据集中的速度数据是时间序列数据,表示为其中,是n个传感器节点在时间步t的观测值,将观测值表示为交通图g=(v,e,w),其中,v表示传感器节点的集合,|v|=n;e表示边的集合,表示交通图g的带权邻接矩阵;其中,邻接矩阵以及边的权重是根据传感器所在位置之间的距离决定的,边的权重矩阵w是根据连通关系构造的邻接矩阵,对于传感器i与传感器j来说,w
ij
=d
ij
;其中,w
ij
表示传感器i与传感器j之间的权重,d
ij
是传感器i与传感器j之间的距离。4.根据权利要求1所述的基于多空间尺度时空transformer的交通速度预测方法,其特征在于:步骤2中,所述多尺度空间特征提取模块包括节点特征提取层、区域特征提取层、道路
特征提取层、静态路网特征提取层以及融合层;将步骤1得到的速度数据样本分别输入各特征提取层来分别提取节点层面、区域层面和道路层面三个尺度的动态空间结构特征以及静态的路网结构特征;之后将三个尺度的动态特征以及静态的特征数据输入融合层来进行融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据;多尺度空间特征提取模块能够全面且有针对的提取空间特征,在提高预测精度的同时减少大量无用信息的计算;多尺度空间特征提取模块的提取过程为:首先,以速度样本x
h
为例,将速度样本x
h
先经过一层1
×
1的卷积层来扩充特征通道数,得到扩充特征通道之后的数据得到扩充特征通道之后的数据其中:conv表示卷积操作;将并行输入传感器节点特征提取层、区域特征提取层、道路特征提取层以及静态特征提取层,分别得到节点层面的特征s
node
、区域层面的特征s
area
、道路层面的特征s
road
以及静态的路网结构特征s
static
;之后将上述特征输入融合层来将三个尺度的动态特征以及静态的特征融合,得到融合了多尺度动态空间结构以及静态路网结构特征的速度数据x
s
:x
s
=fusion(s
node
,s
area
,s
road
,s
static
)其中:fusion表示融合层的融合操作。5.根据权利要求4所述的一种基于多空间尺度时空transformer的交通速度预测方法,特征在于:所述节点特征提取层,对每个传感器节点都有自己独特的交通特征,不需要去聚合其他传感器节点的特征,所以在节点特征提取层仅对原始的输入特征进行特征提取;首先,对扩充特征通道数后的速度样本进行层标准化(layer normalization,ln)操作,保证数据中特征的稳定性;其次,再经过一层前馈神经网络用来提取非线性特征,所述前馈神经网络由两层线性层与一个非线性激活函数组成;最后,为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作,得到传感器节点层面的特征值s
node
,提取过程表示如下:其中,ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活,用于学习数据的非线性特征。6.根据权利要求4所述的基于多空间尺度时空transformer的交通速度预测方法,特征在于:所述区域特征提取层包括区域位置嵌入单元、区域多头自注意力单元、前馈神经网络单元;首先,采用可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,并将其融入到原始数据中;其次,将经过位置嵌入后的数据输入区域多头自注意力单元来学习不同方面的特征;最后再经过前馈神经网络单元以提取更深层的特征;
所述区域位置嵌入单元的嵌入过程为:使用一个可学习的空间位置嵌入矩阵来学习节点之间的动态位置关系,r
area
初始化为带有权重的邻接矩阵w,得到位置嵌入后的数据初始化为带有权重的邻接矩阵w,得到位置嵌入后的数据其中,f为一个1
×
1的卷积层,用于将动态的位置信息融入到输入数据中去;所述区域多头自注意力单元的特征提取过程为:在区域多头自注意力单元中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据进行空间特征提取,其中,并行计算,特征提取过程为:首先,为n个传感器节点序列训练三个潜在子空间,包括查询子空间q
area
、键子空间k
area
和值子空间v
area
:其中,分别是q
area
,k
area
,v
area
的可学习权重矩阵;其次,计算节点之间的注意力分数,在计算区域注意力分数时对节点进行了筛选,只计算其区域范围内的注意力分数,筛选过程如下:其中,表示在查询子空间中对应的值,表示在键子空间中对应的值,表示矩阵的转置;d
k
表示k
area
的维度,用于防止梯度消失以及出现的输入值过大的问题;b
ij
表示筛选变量,当节点j在节点i的区域范围内时,b
ij
的值为0,反之置为负无穷:其中r
i
表示以节点i为中心,根据给定的距离阈值k所确定的区域范围内所有其他节点的集合;再次,将得到的注意力分数用激活函数softmax将注意力分数映射到[0,1]范围内,以确保它们在整个序列中总和为1,之后与对应的值子空间相乘相加,得到提取过区域特征的数据m
area
:最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过区域空间特征的数据m
′
area
:其中:ln表示层标准化操作,用于保证数据稳定性;所述前馈神经网络单元的特征提取过程为:
前馈神经网络由两层线性层与一个非激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过区域空间特征的数据s
area
:s
area
=ln(linear(relu(linear(m
′
area
)))+m
′
area
)其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。7.根据权利要求4所述的一种基于多空间尺度时空transformer的交通速度预测方法,特征在于:所述道路特征提取层,先将输入数据经过线性映射层,投影出不同于区域提取层的三个子空间,包括查询子空间q
road
、键子空间k
road
和值子空间v
road
:其中:分别是q
road
,k
road
,v
road
的可学习权重矩阵;其次,计算节点之间的相关性分数,使用稀疏自注意力来提取空间特征;由q
road
与k
road
先经过点积计算得到注意力分数集合s
road
:其中:(k
road
)
t
表示矩阵k
road
的转置;在得到的注意力分数集合s
road
中选择最高的几个注意力分数与对应的值子空间相乘,得到提取过道路特征的数据m
road
:m
road
=f
top-p
(s
road
)v其中,f
top-p
表示筛选函数,用于从s
road
中按数值大小选取top-p个注意力分数保持原值,其他注意力分数均置为0;然后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过道路空间特征的数据m
′
road
:其中:ln表示层标准化操作,用于保证数据稳定性;最后,再将提取过道路空间特征的数据m
′
road
输入前馈神经网络单元以学习数据的非线性特征;所述前馈神经网络单元由两层线性层与一个非线性激活函数组成;为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到提取过道路空间特征的数据s
road
:s
road
=ln(linear(relu(linear(m
′
road
)))+m
′
road
)其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。8.根据权利要求4所述的一种基于多空间尺度时空transformer的交通速度预测方法,特征在于:所述静态空间特征提取层,利用图卷积操作聚集来自相邻节点的信息来提取交通路网的静态特征s
static
;静态空间特征提取层的提取过程如下:
其中,是输入数据,是具有附加自连接的邻接矩阵;是的度矩阵,w
static
是可训练权重矩阵,σ是激活函数;所述融合层的融合过程为:融合层利用门控机制(gating mechanism)来融合多空间尺度的动态特征以及静态的空间特征,先根据要融合的数据计算门g,之后用数据计算门g算出通过加权的方式有选择性的处理输入数据,数据计算门g表示为:g=sigmoid(f
node
(s
node
)+f
area
(s
area
)+f
road
(s
road
)+f
static
(s
static
))其中:f
node
、f
area
、f
road
和f
static
分别是将s
node
、s
area
、s
road
和s
static
转换为一维向量的线性函数;所述门控机制利用转换门和进位门来分别表示通过转换输入和进位输出产生了多少输出;融合了多尺度动态空间结构以及静态路网结构特征的速度数据x
s
表示为:x
s
=g(s
node
)+g(s
area
)+g(s
road
)+(1-g)(s
static
)。9.根据权利要求1所述的基于多空间尺度时空transformer的交通速度预测方法,其特征在于:步骤3中,所述交通时空特征提取模块包括交通时间位置嵌入层、多头自注意力层以及前馈神经网络层;交通时空特征提取模块首先将提取过空间特征的速度数据x
s
输入交通时间位置嵌入层来学习数据中对应时间的先后位置关系,之后经过多头自注意力层学习数据中的时空特征,最后输入前馈神经网络层学习数据之间非线性的依赖关系;所述交通时间位置嵌入层的嵌入过程为:由于绝对位置嵌入的方法会丢失一些位置信息,所以序列注入相对位置信息,并且在之后计算注意力分数时加入一个可训练的表示相对位置的参数;提取过空间特征的速度数据的数据长度为l,它们之间共存在2l-1种相对位置关系,相对位置关系表rpr表示为:rpr=[-l+1,
…
,-2,-1,0,1,2,
…
,l-1];其中,与之间的相对位置关系为a
ij
=j-i∈rpr;之后为2l-1种相对位置关系分别生成对应的权重矩阵,其中a
ij
对应的权重向量为w
i-j
;由于交通数据是有高度时间流动性的数据,未来的时间不会影响到之前时间步的数据走向,所以将rpr中表示未来的值的权重向量置为0,即w
i-j
=0,i-j<0;所述多头自注意力层的特征提取过程为:在多头自注意力层中使用了个注意力头来学习不同方面的特征,之后将每个注意力头的结果聚合起来;在每个注意力头中,对输入数据x
s
进行时空特征提取,时空特征提取过程为:首先,为训练查询子空间q
t
、键子空间k
t
和值子空间v
t
::其中,分别是q
t
,k
t
,v
t
的可学习权重矩阵;其次,计算节点之间的依赖关系,由与经过点积计算得到:
其中,表示矩阵的转置;d
k
表示k
t
的维度,用于防止梯度消失以及出现的输入值过大的问题;w
i-j
是表示序列之间相对位置的权重矩阵;再次,与对应的值子空间相乘,得到提取过时间依赖关系的数据m
t
:m
t
=s
tvt
其中,s
t
包含表示序列中所有时间步之间的注意力分数;最后,使用带有残差连接的层标准化操作来稳定该单元的输出,得到提取过时间依赖特征之后的数据m
′
t
:m
′
t
=ln(x
s
+m
t
)其中:ln表示层标准化操作,用于保证数据稳定性;所述前馈神经网络单元的特征提取过程为:前馈神经网络由两层线性层与一个非线性激活函数组成,为了防止梯度消失,在特征提取后加入了带有残差连接的层标准化操作来稳定输出,得到具有精准时间依赖的交通速度数据x
st
:x
st
=ln(linear(relu(linear(m
′
t
)))+m
′
t
)其中:ln表示层标准化操作,用于保证数据稳定性;linear表示线性层,用于扩张和缩小数据的维度;relu是非线性激活函数,用于学习数据的非线性特征。10.根据权利要求1所述的基于多空间尺度时空transformer的交通速度预测方法,其特征在于:步骤4中,所述的预测模块由两个经典卷积层组成,第一个卷积层用来将时间步维度降维,第二个卷积层是对特征维度进行降维;最终得到未来t
τ
个时间步的交通数据,t
τ
表示预测未来时间步的个数;得到预测数据y:其中:conv表示卷积操作;预测后,采用huber损失函数来进行调优:其中,huber损失函数是一个用于回归问题的带参损失函数,δ表示调节鲁棒性的参数,当预测偏差小于δ时,采用平方误差;当预测偏差大于δ时,采用线性误差;表示预测值,y表示真实值。
技术总结
本发明公开了一种基于多空间尺度时空Transformer的交通速度预测方法,属于交通预测规划技术领域。预测方法包括:将预处理后的路段传感器速度序列数据依次输入多尺度空间特征提取模块、交通时空特征提取模块以及预测模块,逐步实现多尺度动态空间结构和静态路网结构的特征提取、精准建模时空依赖以及预测未来一段时间的交通速度。本发明多尺度空间特征提取模块能够全面且有针对的提取空间特征,在提高预测精度的同时减少了大量无用计算。另外,交通时空特征提取模块根据交通特性以及数据的相对位置信息选择更有价值的历史数据以进行充分的时空特征提取,解决了提取时空依赖时存在的丢失相对位置信息的问题。时存在的丢失相对位置信息的问题。时存在的丢失相对位置信息的问题。
技术研发人员:张悦 刘佰龙 安计勇 张磊 梁志贞 杨林
受保护的技术使用者:中国矿业大学
技术研发日:2023.03.01
技术公布日:2023/6/27
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
