深度学习在高德驾车导航历史速度预测中的探索与实践

简介: 导读 驾车导航服务是数字地图提供的核心功能。通常而言,用户在发起导航之前会对比高德前端展示的三条路线(如下图),以决定按照哪条路线行驶。 而预估到达时间是用户参考的最为重要的指标之一。给定一条路线,对应的预估到达时间的计算需要两组信息输入,分别是实时路况信息和历史速度信息(历史速度信息指的是对应的平均通行时间)。

导读

驾车导航服务是数字地图提供的核心功能。通常而言,用户在发起导航之前会对比高德前端展示的三条路线(如下图),以决定按照哪条路线行驶。

0

而预估到达时间是用户参考的最为重要的指标之一。给定一条路线,对应的预估到达时间的计算需要两组信息输入,分别是实时路况信息和历史速度信息(历史速度信息指的是对应的平均通行时间)。其中实时路况信息,对短时(例如60分钟以内)路况预测帮助较大;而历史速度信息对长时(例如60分钟以上)路况预测帮助较大。一般来说,对于未来2小时以上的路况预测而言,当前时刻的路况信息帮助十分有限,也可以理解为历史速度信息基本处于绝对主导的地位。

因此在长距离路线的预估到达时间计算中,历史速度至关重要,其预测的准确性直接影响预估到达时间,进而影响用户选择及体验。我们希望能够通过建模的方式提高历史速度的预测准确率。

历史平均法的不足

以往预测历史速度的方式是历史平均值法,主要是将历史上过去某时间段同一特征日同一时间段(例如8:00-8:10)经过同一条路段的所有车辆的用时求平均,这种方法的假设是“历史即未来”。该方法对于3个月内常发性震荡走势比较适合,但针对有特定趋势的走势(如上升走势),效果不会太好。

该方法不足之处有以下三点:

  • 对于异常点敏感
  • 无法利用时域序列的演化趋势(trend)信息
  • 无法利用去年同期的车辆行驶规律

下面我们用一个分析过的badcase来具体说明,如下图:

1

上图显示了北京市某路段在过去连续若干周里确定特征日(周五)及确定时间批次(12:10-12:20)上各自的平均旅行时间。如图所示,近期旅行时间已逐渐升高,且去年同期旅行时间也已经升高,但是使用历史平均值法计算的历史速度信息却显著偏小,与未来一周对应时间段的真实旅行时间偏差近三倍。

通过前期的case调研分析,发现部分路段的历史速度曲线呈现出时效性、年度周期性特征。

2

上图为某段道路从20170501到20190103期间某个时间批次的旅行时间变化,可以发现,每到暑假期间,该路段旅行时间显著增大,呈现出明显的年度周期性。

本项目旨在解决历史平均值法存在的不足,其中,由于年度周期性问题导致的恶劣badcase占比较大,故着重解决年度周期性问题。

机器学习解题

基于TCN模型的历史速度问题建模

历史平均值方法简单粗暴,但也能取得相当不错的效果,对于具有年度周期性&时效性的路段,仅仅通过统计近期的信息会损失一定的精度,这时把去年的相关信息融合进来就显得特别重要,该问题是个典型的时序建模问题,本文基于TCN构建历史速度周期性问题解决方案。

我们的目标是构建一个基于历史信息(某时间段&去年同期:同一段道路、确定特征日、确定时间批次)和道路属性来预测未来一周历史速度的机器学习模型,解决历史平均值法存在的问题,从历史速度信息维度提高预估到达时间的准确率,解决恶劣bacase。

TCN简介

时间卷积网络(TCN)可以作为一般的序列建模架构,且拥有非常好的效果。TCN显著的特点有如下几点:

  • 架构中的卷积存在因果关系,这意味着从未来到过去不会存在信息泄漏。
  • 卷积架构可以将任意长度的序列映射到固定长度的序列。
  • 利用残差模块和空洞卷积来构建长期依赖关系。

3

TCN 论文图:TCN 架构的组成元素。左图为空洞系数 d=1, 2, 4、卷积核大小 k=3 的空洞因果卷积,感受野能覆盖输入序列中的所有值。右图为TCN 残差块,当残差输入和输出有不同的维度,我们会添加一个 1x1 的卷积。

网络架构

4

上图为整个模型的框架图,主要分为动态特征提取模块和静态特征模块,其中动态特征的提取基于TCN模型实现,而静态特征则直接和提取出的动态特征进行连接之后使用。具体说明见下文。

动态特征提取

该模块的主要目标是通过TCN模型去学习旅行时间的曲线走势特征,这里的动态特征指的是从今年和去年对应的一定数量的平均旅行时间构成的序列中提取出的走势特征。

本文将今年和去年对应的平均旅行时间序列作为一个双通道序列放进TCN模型中学习,旨在利用TCN强大的时序建模能力,同时结合今年和去年的走势特征,更加准确的预测未来一周的走势(上升、下降或震荡)。

针对该类序列建模问题,已有成熟的RNN技术,而且目前更新的TCN技术也已出现。在项目开展过程中,分别使用了RNN、LSTM和TCN来做序列建模,实验结果表明,使用TCN进行序列特征提取效果最好,相对于RNN约有1.39%的效果收益,相对于LSTM约有0.83%的效果收益,而且由于TCN模型是基于卷积网络实现的,训练速度更快,所以本项目中采用TCN进行动态特征提取。

静态特征

这里的静态特征主要指一些人工提取的特征,用以加强模型表达能力。具体如下:

  • 道路属性特征:路长、路宽、车道数、车道宽度、最大限速等
  • 时间属性特征:前三天对应时间批次旅行时间、前七天对应时间批次旅行时间均值、去年同期前后两个平均旅行时间(同一特征日&同一时间批次)

道路属性特征主要考虑不同的道路通行能力不一样,会在一定程度上影响车辆通行速度。

时间属性特征主要分三方面:

  • 前三天对应时间批次旅行时间-考虑到时效性问题,越靠近预测天则可靠性越大,例如,最近几天道路施工,车道速度受到影响;但该特征也会对基于特征日的建模产生一定影响,因为车辆出行规律大部分情况下跟周几特征日有关,而与非特征日的关联较小(除特别情况,如活动举办、连续数天施工)。案例见下图。

5

图中为某段道路连续85天某时间批次上的旅行时间变化趋势图,从图中可以看到,该曲线呈现先平稳后上升的趋势,第85天的旅行时间与前面的关系不大,而与近期关系较大(近期一直较拥堵),尤其是近三天。

  • 前七天对应时间批次旅行时间均值-该特征为近期旅行时间的一个统计指标,旨在反映近一周的通行状况,作用同上。
  • 去年同期前后两个平均旅行时间(同一特征日&同一时间批次)

模型效果

本文所采用的基于TCN建模方法,能够从动态和静态特征中提取出驾驶规律信息,包括异常点的识别过滤、旅行时间的趋势变化信息和年度周期信息,给出更符合预期的预测值,较好的解决当前历史平均值法的弊端,可以部分解决恶劣badcase发生的问题。具体效果说明如下:

异常值自动过滤

6

上图中case,从整体上来看,旅行时间在70s上下浮动,而局部某些点是异常偏大的(当天可能发生了交通事故等),属于异常点,在预测未来历史速度信息走势的时候,应该忽略,TCN模型成功的忽略了这些异常点,但历史均值法则会将其纳入计算,导致算出的平均旅行时间偏大。

趋势信息提取

7

上图中case,从曲线走势来看,旅行时间近期有所上升,所以下周的平均旅行时间大概率还是会延续这种趋势,可以看出,TCN模型比较好的学习到了这种趋势信息,预测效果较好,但历史平均值法,由于前期很长一段时间旅行时间都很小,导致算出的平均旅行时间也偏小。

年度周期性的引入

8

上图中case,从图中可以看出,今年前11周都比较平稳,第12周旅行时间突然上升,但只从今年信息中我们无法得知第12周这天是否是异常值,从而模型无法准确给出第13周的预测值,但从去年对应的13周的数据中可以发现,去年对应的时间在第12和13周都上升了,从而模型可以确定今年第13周大概率还是会继续升高(根据年度周期性),但使用历史平均值法给出的平均旅行时间则明显偏小。

评测结果

该项目在某一周的case集合上的评测效果:

  • 基线-历史平均值法的badcase率为11.0‰;
  • 对照-基于TCN的方法的badcase率为10.1‰。

可以看出,本文所采用的方法相对基线恶劣badcase率下降幅度较大,说明引入年度周期性可以解决部分恶劣badcase。

小结

本文将TCN模型进行工业化实践,帮助建模历史速度问题,并结合特征工程(提取动态、静态特征,引入年度周期性等),成功的解决了现有模型的不足,并在实际应用中取得了不错的效果,为将来的时序性问题探索了一条可行的路径。对现有TCN模型框架所做改动较小,后续可进一步探索,针对特定问题做一些定制化的改进。

相关文章
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的新篇章:从理论到实践的飞跃####
本文深入剖析了深度学习的最新进展,探讨了其背后的理论基础与实际应用之间的桥梁。通过实例展示了深度学习如何革新计算机视觉、自然语言处理等领域,并展望了其未来可能带来的颠覆性变化。文章旨在为读者提供一个清晰的视角,理解深度学习不仅是技术的飞跃,更是推动社会进步的重要力量。 ####
134 61
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习的探索之旅:从基础到实践
【10月更文挑战第4天】本文将带领读者踏上一段深度学习的探索之旅。我们将从深度学习的基础概念出发,逐步深入到模型构建、训练和优化的实践应用。通过通俗易懂的语言和实际代码示例,本文旨在帮助初学者理解深度学习的核心原理,并鼓励他们动手实践,以加深对这一强大技术的理解和应用。无论你是AI领域的新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和指导。
48 5
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
18天前
|
机器学习/深度学习 调度 计算机视觉
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
本文探讨了多种学习率调度策略在神经网络训练中的应用,强调了选择合适学习率的重要性。文章介绍了阶梯式衰减、余弦退火、循环学习率等策略,并分析了它们在不同实验设置下的表现。研究表明,循环学习率和SGDR等策略在提高模型性能和加快训练速度方面表现出色,而REX调度则在不同预算条件下表现稳定。这些策略为深度学习实践者提供了实用的指导。
29 2
深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
|
5天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
21 7
|
13天前
|
机器学习/深度学习 数据采集 人工智能
深度学习的魔法:从理论到实践的探索####
【10月更文挑战第22天】 本文深入探讨了深度学习这一现代人工智能领域的璀璨明珠,通过生动实例与通俗语言,揭示了其背后的原理、发展历程及在多个行业的应用潜力。文章首先概述了深度学习的基本概念,随后详细解析了神经网络的核心构成,并探讨了当前面临的挑战与未来趋势。最终,通过实际案例展示了深度学习如何改变世界,为读者呈现一幅技术革新引领未来的画卷。 ####
22 3
|
15天前
|
机器学习/深度学习 传感器 边缘计算
深度学习之自主飞行器导航
基于深度学习的自主飞行器导航是无人驾驶航空器(UAV)和无人机技术的核心研究领域之一。深度学习技术能够提高飞行器在复杂环境中的自主导航能力,实现高效的路径规划、障碍物避让和环境感知。
12 2
|
22天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
68 1
|
30天前
|
机器学习/深度学习 传感器 算法
深度学习之基于视觉的机器人导航
基于深度学习的视觉机器人导航是一种通过深度学习算法结合视觉感知系统(如摄像头、LiDAR等)实现机器人在复杂环境中的自主导航的技术。
43 5
|
1月前
|
机器学习/深度学习 自然语言处理 算法框架/工具
深度学习中的正则化技术:从理论到实践
【10月更文挑战第5天】本文将探讨深度学习模型中不可或缺的一环——正则化技术。通过深入浅出的方式,我们将了解正则化在防止过拟合中的作用,并揭示其在模型性能提升中的关键角色。文章不仅涉及理论知识,还结合代码示例,帮助读者从实践中掌握这一技术的应用。

热门文章

最新文章

下一篇
无影云桌面