ST-Resnet 论文笔记

ST-Resnet 论文笔记

摘要

人群流量预测对交通管理和公共安全具有重要意义,同时也受到跨区域交通、事件、天气等复杂因素的影响,具有很大的挑战性。我们提出了一种基于深度学习的方法,称为ST-ResNet,用来集体预测城市每个区域的人群流入和流出。基于时空数据的独特属性,设计了一种端到端的ST-ResNet结构。更具体地说,我们使用残差神经网络框架来建模人群交通的时间距离、周期和趋势属性。针对每个特性,我们设计了残差卷积单元的分支,每个分支都模拟了人群交通的空间特性。ST-ResNet学会基于数据动态聚合三个残差神经网络的输出,给不同的分支和区域分配不同的权重。聚合进一步结合外部因素,如天气和星期几,预测每个地区的人群最终流量。
对北京和纽约两种类型的人群流动的实验表明,提出的ST-ResNet优于6种已知的方法

介绍

然而,同时预测一个城市各个区域的人群流入和流出是非常具有挑战性的,受以下三个复杂因素的影响:

1、空间依赖性。区域r2的流入(如图1(a)所示)受到附近区域(如r1)和远处区域流出的影响。同样,r2的流出也会影响其他地区(如r3)的流入。区域r2的流入也会影响其自身的流出。
在这里插入图片描述

2、时间依赖性。一个地区的人群流动受到最近的时间间隔的影响,包括近的和远的。例如,上午8点发生的交通堵塞会影响9点的交通。此外,早高峰时段的交通情况可能在连续的工作日相似,每24小时重复一次。此外,随着冬季的到来,早高峰时间可能会逐渐推迟。当气温逐渐下降,太阳升起的时间变晚时,人们起床的时间就会越来越晚。
3、外部的影响。一些外部因素,如天气条件和事件可能会极大地改变城市不同地区的人流。

为了应对这些挑战,我们提出了一个深度时空残差网络(ST-ResNet)来集体预测每个区域的人群流入和流出。我们的贡献有四方面:
1、ST-ResNet采用基于卷积的残差网络对城市中任意两个区域之间的远近空间依赖关系进行建模,同时确保模型的预测精度不受神经网络的深层结构的影响
2、我们将人群流动的时间特性归纳为三大类,即时间接近度、周期和趋势。ST-ResNet使用三个残差网络分别对这些属性进行建模。
3、ST-ResNet动态聚合上述三个网络的输出,给不同的分支和地区分配不同的权重。聚合进一步与外部因素(如天气)相结合。
4、我们使用北京出租车的轨迹和气象数据以及纽约自行车的轨迹数据来评估我们的方法。结果表明,与6个基线相比,我们的方法具有优势。

ST-Resnet 网络结构

在这里插入图片描述
主要四部分:
1、closeness接近度
2、period周期
3、trend趋势
4、external外部

将流经城市的每个时间间隔的流入和流出分别转化为两个通道的类图像矩阵。然后我们将时间轴分成三个片段,分别表示最近的时间、近历史和遥远的历史。然后将每个时间片段中区间的2通道流矩阵分别输入前三个组件,分别对上述三个时间属性进行建模:closeness接近度、period周期和trend趋势。前三个组成部分与卷积神经网络共享相同的网络结构,然后是残差单元序列。这种结构体现了远近区域之间的空间依赖性。在external外部组件中,我们从外部数据集中手动提取一些特征,如天气条件和事件,将它们输入到一个两层完全连接的神经网络中。将前三个分量的输出融合为基于参数矩阵的XRes,对不同区域不同分量的结果赋予不同的权重。XRes与外部组件XExt的输出进一步集成。最后,通过一个Tanh函数将聚合映射到[−1,1],这在反向传播学习过程中产生了比标准逻辑函数更快的收敛

前三个成分的结构

在这里插入图片描述
前三个分量(即接近度、周期、趋势)具有相同的网络结构,由卷积和残差单元两个子分量组成
卷积。一个城市通常有很大的规模,包含许多不同距离的区域。直观地看,附近区域的人群流动可能会相互影响,卷积神经网络(CNN)可以有效地处理这一问题,并显示出其强大的能力,可以分层捕获空间结构信息。此外,地铁系统和高速公路连接两个地点的距离很远,导致遥远的地区之间的依赖。为了捕获任何区域的空间依赖性,我们需要设计一个具有许多层的CNN,因为一个卷积只考虑空间上的近依赖性,受其卷积核大小的影响。如(a)所示,有三个多层的特征映射,它们通过一些卷积连接起来。我们发现,高层特征图中的一个节点依赖于中层特征图中的九个节点,而中层特征图中的九个节点又依赖于低层特征图中的所有节点(即输入)。这意味着一个卷积自然地捕获空间上的近依赖关系,而一堆卷积可以进一步捕获遥远的甚至城市范围内的依赖关系。
closeness接近度分量采用了最近时间区间的几个2通道流矩阵来建模时间接近度closeness依赖。设最近片段为[Xt−lc, Xt−(lc−1),···,Xt−1],也称为密切相关序列。我们首先将它们与第一个轴(即时间区间)连接为一个张量,然后进行卷积(Conv1):在这里插入图片描述
f是激活函数

残差模块。众所周知,尽管使用了众所周知的激活函数(如ReLU)和正则化技术,但深度卷积网络会损害训练效果。另一方面,我们仍然需要一个非常深入的网络来捕获非常大的全市范围的依赖关系。对于一个典型的人流数据,假设输入大小为32 × 32,卷积的内核大小固定为3 × 3,如果要建模全市范围的依赖关系(即高层层中的每个节点依赖于输入的所有节点),则需要超过15个连续的卷积层。为了解决这一问题,我们在模型中使用了残余学习,该方法已被证明对于训练超过1000层的超深度神经网络非常有效。
在我们的ST-ResNet中,我们在Conv1上堆叠L个残差单元如下:在这里插入图片描述其中F为残差函数(即“ReLU +卷积”的两个组合,见上图(b)), θ(l)包括第1个残差单元中所有可学习的参数。我们还尝试了在ReLU之前添加批处理归一化(BN)。在第L个残差单元之上,我们添加一个卷积层(即Conv2)。在2个卷积和L个残差单元的情况下,图3的紧密度分量输出为X(L+2)c
同样,使用上述操作,我们可以构造图3的period周期和trend趋势组件。假设周期片段有lp个时间间隔,周期为p,则周期相关序列为[Xt−lp·p, Xt−(lp−1)·p,···,Xt−p]。通过卷积运算和等式2和3中的L个残差单位,周期分量的输出是X(L+2)p。同时,趋势分量的输出为X(L+2)q,输入为[Xt−lq·q, Xt−(lq−1)·q,····,Xt−q],其中lq为趋势相关序列的长度,q为趋势跨度。注意p和q实际上是两种不同类型的周期。在详细的实现中,p等于一天,描述了每日的周期性,q等于一周,揭示了每周的趋势。

外部external组件的结构

交通流量会受到许多复杂的外部因素的影响,如天气和事件。从图(a)可以看出,节假日(中国春节)期间的人流量可能与正常工作日的人流量有显著差异。
在这里插入图片描述
图(b)显示大雨使办公区域的人流较后一周同日大幅减少。设Et为在预测时间区间t上表示这些外部因素的特征向量。在我们的实现中,我们主要考虑天气、节日事件和元数据(例如DayOfWeek、工作日/周末)。详细信息见表1在这里插入图片描述预测t时间间隔的流量,可以直接得到节日事件和元数据。

然而,未来时间间隔t的天气是未知的。

相反,可以使用时间间隔t的预报天气或时间间隔t - 1的近似天气。形式上,我们将两个完全连接的层叠加在Et上,第一层可以被视为每个子因子的嵌入层,然后是激活层。第二层用于将具有与Xt相同形状的低维映射到高维。外部组件的输出表示为XExt,参数为θExt。

融合

在本节中,我们将讨论如何融合四个组件。我们首先用基于参数矩阵的融合方法融合前三个分量,然后进一步与外部分量结合。
图6
图6(a)和(d)显示了使用表1中北京轨迹数据的比率曲线,其中x轴是两个时间间隔之间的时间差距,y轴是具有相同时间差距的任意两个流入之间的平均比率值。两个不同区域的曲线在时间序列上都表现出经验的时间相关性,即近期时间间隔的流入比遥远时间间隔的流入相关性更强,具有时间上的密切性。这两条曲线的形状不同,说明不同的区域可能有不同的接近特征。图6(b)和(e)描述了7天的所有时间间隔的流入情况。我们可以看到两个地区有明显的日周期性。在办公区域内,工作日的峰值要远远高于周末的峰值。住宅面积在工作日和周末有相似的峰值。图6©和(f)描述了2015年3月至2015年6月周二某个时间段(晚上9:00 -9:30)的流入情况。随着时间的推移,办公区域的流入量逐渐减少,居住区域的流入量逐渐增加。它显示了不同地区的不同趋势。综上所述,两个地区的流入都受到密切程度、时期和趋势的影响,但影响程度可能有很大差异。我们在其他地区也发现了同样的属性,以及它们的流出。
最重要的是,不同区域都受到接近度closeness、时期period和趋势trend的影响,但影响程度可能不同。在这些观察的启发下,我们提出了一种基于参数矩阵的融合方法。

基于参数矩阵的融合方案

我们将前三个组成部分(即closeness接近度、period周期、trend趋势)融合如下:
在这里插入图片描述
Wc, Wp和Wq是可学习的参数,调整程度的closeness接近度,period周期和trend趋势,分别影响。

与外部因素部件的融合

这里我们直接将前三个组件的输出与外部组件的输出合并。最后,定义第t个时间区间的预测值,用Xt表示,为在这里插入图片描述
其中tanh是双曲正切,保证输出值在-1到1之间。
我们的ST-ResNet可以通过最小化预测流量矩阵和真实流量矩阵之间的均方误差来训练从三个流量矩阵序列和外部因素特征中预测在这里插入图片描述

,其中θ在ST-ResNet中都是可学习的参数。

算法与优化

算法1概述了ST-ResNet训练过程。我们首先从原始序列数据(第1-6行)构建训练实例。然后,ST-ResNet通过反向传播和Adam进行训练(第7-11行)。
在这里插入图片描述

实验

数据集

我们使用两组不同的数据,如表1所示。每个数据集包含两个子数据集:轨迹和天气,具体如下。

TaxiBJ:
轨迹数据是北京出租车GPS数据和7月1日四个时间段的气象数据。

2013年3月1日- 2014年6月30日,2015年3月1日- 2015年6月30日,2015年11月1日- 2016年4月10日
我们得到了两种类型的人群流。我们选择最近四周的数据作为测试数据,之前的所有数据作为训练数据。

BikeNYC:
轨迹数据来自2014年4月1日至9月30日的纽约市自行车系统。行程数据包括:行程持续时间、起讫站编号、起讫时间。数据中选取最近10天作为测试数据,其余10天作为训练数据。
在这里插入图片描述
我们将ST-ResNet与以下6个模型进行比较:
HA
ARIMA
SARIMA
VAR
ST-ANN
DeepST

预处理

在ST-ResNet的输出中,我们使用tanh作为我们的最终激活,其范围在-1到1之间。在这里,我们使用Min-Max归一化方法将数据扩展到[−1,1]的范围。在评估中,我们将预测值重新调整到正常值,并与groundtruth进行比较。对于外部因素,我们使用onehot编码将元数据(例如,DayOfWeek, Weekend/Weekday)、假日和天气条件转换为二进制向量,并使用Min-Max归一化将温度和风速缩放到[0,1]范围内。

超参数

我们使用了包括Theano (Theano Development Team 2016)和Keras (Chollet 2015)在内的python库来构建模型。Conv1和所有剩余单元的卷积使用64个大小为3 × 3的滤波器,而Conv2使用2个大小为3 × 3的滤波器的卷积。
Batch-size为32。我们选择90%的训练数据来训练每个模型,剩下的10%作为验证集,用于根据最佳验证得分提前停止我们的每个模型的训练算法。

之后,我们继续在固定时间的完整训练数据上训练模型(例如10,100个时间)。

在我们的ST-ResNet中有5个额外的超参数,其中p和q分别被经验固定为一天和一周。对于三个相关序列的长度,我们设它们为:lc∈{3,4,5},lp∈{1,2,3,4},lq∈{1,2,3,4}。

评估指标

我们通过均方根误差(RMSE)来衡量我们的方法
在这里插入图片描述
其中,x^和x分别为预测值和真值;Z是所有预测值的个数。

Taxi实验结果

我们首先在TaxiBJ上与其他6个模型进行比较,如表2所示。我们给出了7种具有不同层次和不同因素的ST-ResNet变体。以L12-E为例,它考虑了所有可用的外部因素,有12个残差单元,每个残差单元由两个卷积层组成。我们观察到这7个模型都优于6个基线。与之前的先进模型相比,L12-E-BN将误差降低到16.69,显著提高了精度。
在这里插入图片描述

不同成分的影响

L12-E为比较模型

残差单元数

L2-E、L4-E和L12E的结果表明,RMSE随着残差单元数的增加而减小。使用残差学习,网络越深,结果越准确。

残差单元的内部结构

我们尝试了三种不同类型的剩余单元。L12-E采用标准残差单元(见(b))。与L12-E相比,L12-single-E的Residual Unit只包含1个ReLU和1个卷积,L12-E- bn的Residual Unit增加了两个批归一层,每个归一层都插入到ReLU之前。我们观察到L12-single-E比L12-E差,L12-E- bn最好,证明了批归一化的有效性。

外部因素

L12-E考虑外部因素,包括气象数据、节日事件和元数据。

如果不是,则模型降级为L12。结果表明L12- e优于L12,指出外界因素总是有利的。

基于参数矩阵的融合

与L12-E不同,L12-E- nofusion不使用基于参数矩阵的融合。相反,L12-E- nofusion使用一种简单的方法进行融合,即X(L+2)c + X(L+2)p + X(L+2)q。结果表明,误差大大增加,证明了我们提出的基于参数矩阵的融合的有效性。

BikeNYC上的结果

表3显示了我们的模型和BikeNYC上的其他模型的结果。与TaxiBJ不同,BikeNYC由两种不同类型的人群流组成,包括新流和端流(Hoang, Zheng, and Singh 2016)。在这里,我们总共采用4残差单元ST-ResNet,并将元数据视为像DeepST这样的外部特征(Zhang et al。

2016)。ST-ResNet的RMSE相对于这些模型低14.8%到37.1%,表明我们提出的模型在其他流量预测任务中具有良好的泛化性能。
在这里插入图片描述

相关工作

人流量预测

我们提出的方法自然专注于单个区域而不是城市,他们没有使用基于网格的方法来划分城市,因为基于网格的方法需要更复杂的方法来首先找到不规则的区域。

深度学习

结论和未来的工作

基于历史轨迹数据、天气和事件,我们提出了一个基于深度学习的新模型,用于预测城市每个区域的人群流量。我们对北京和纽约两种类型的人流量进行了评估,取得了显著优于6个基线方法的性能,证实了我们的模型更好,更适用于人流量预测。
未来,我们将考虑其他类型的流(如出租车/卡车/公交车轨迹数据、电话信号数据、地铁刷卡数据),并使用所有这些流生成更多类型的流预测,并使用适当的融合机制对所有这些流进行综合预测。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Inception-ResNet是一种深度卷积神经网络模型,它结合了Inception模块和ResNet模块的特点。关于Inception-ResNet的具体实现,提供的引用内容中有三个部分。 引用中给出了一些用到的包和构建二维卷积模块的代码。通过导入相关的包和定义一个函数`conv2d_bn`来实现二维卷积和批归一化等操作。 引用中给出了一个使用Inception-ResNet模块构建深度网络的前向传播过程的代码。通过调用`Stem`、`Inception_ResNet_A`、`Reduction_A`、`Inception_ResNet_B`、`Reduction_B`、`Inception_ResNet_C`等函数来构建网络的不同模块。 引用中提供了一个基于Tensorflow的Inception-ResNet-V2的代码复现,该代码复现了原论文中的网络结构,并适用于Tensorflow 2.12版本。这可以作为学习和参考的资源。 综上所述,如果你想在Tensorflow中实现Inception-ResNet网络,可以参考上述提供的引用内容和代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于Tensorflow的Inception-Resnet-V2代码复现](https://blog.csdn.net/weixin_45506188/article/details/130102377)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [TensorFlow实现inception-resnet](https://blog.csdn.net/u014524930/article/details/79330316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值