硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

深度学习在高德 ETA 应用的探索与实践

  • 2020-06-18
  • 本文字数:1687 字

    阅读完需:约 6 分钟

深度学习在高德ETA应用的探索与实践

1.导读

驾车导航是数字地图的核心用户场景,用户在进行导航规划时,高德地图会提供给用户 3 条路线选择,由用户根据自身情况来决定按照哪条路线行驶。



同时各路线的 ETA(estimated time of arrival,预估到达时间) 会直接显示给用户,这是用户关心的核心点之一。用户给定起点和终点后,我们的任务是预测起终点的 ETA,ETA 的准确率越高,给用户带来的出行体验越好。

2.基于深度学习模型的探索和实践

2.1 模型选择

传统机器学习模型在 ETA 中,比较常用的有线性回归、RF(随机森林)、GBDT(梯度提升决策树)等回归预测类模型。线性模型表达能力较差,需要大量特征工程预先分析出有效的特征;RF 通过样本随机和特征随机的方式引入更多的随机性,解决了决策树泛化能力弱的问题;GBDT 是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到回归的算法。


传统机器学习模型相对简单易懂,也能达到不错的效果,但存在两个问题:


  • 模型的表达能力跟选取的特征有关,需要人工事先分析出有效的特征。

  • 没有考虑上游对下游路段的影响,产生了如丢失上下游关联信息、下游受上游影响导致的不确定性等问题。


第一个问题很好理解,深度学习模型能很好地弥补这方面。针对第二个问题,以历史速度信息选取存在的不确定性为例来说明一下,历史速度信息是一个区分周一到周日七个工作日、10 分钟间隔的历史平均时间,可以根据该路段的预计进入时间所在 10 分钟区间来选定。如下图(历史平均速度)从 0:00-24:00 的变化曲线,可以看到一天中特别是早晚高峰,速度值存在较大波动。



而在选取历史平均时间时,依赖的是预计进入时间,这个时间依赖于上游路段的预计通行时间,因此其选取存在不确定性,进而导致 ETA 计算不准确。


考虑到以上问题的存在,我们选择利用 RNN 的时间序列思想将路线中上下游路段串联起来进行路段 ETA 的预测。


另外考虑到 RNN 存在的长依赖问题,且结合实际业务情况,我们选择使用 LSTM 模型来进行建模,LSTM 的门结构具有的选择性还能让模型自行学习选择保留哪些上游的特征信息进行预测。

2.2 网络架构


上图为整个模型的框架图,主要分为两部分,使用 LSTM 模块对路线中的路段 ETA 的预测和最终使用 N 层全连接模块对累计路段 ETA 及路线各特征进行完整路线的 ETA 预测。

2.3 路段 ETA 预测


上图为各路段 ETA 预测使用的 LSTM 结构图,Xt 为路线中第 t 个路段的特征信息,主要包含对应的实时路况信息、历史路况信息、路段的静态特征等。


LSTM 本是输入时间序列数据的模型,我们利用该思想,将路线中各路段序列依次输入模型。

2.4 完整路线 ETA 预测

在 LSTM 模块得到累计路线 ETA 预测值后,结合该路线的静态属性,使用全连接模块将其整合成最终输出的完整路线 ETA 预测值。


路线的属性特征主要指一些人工提取的特征,如该路线的长度、导航规划发起特征日、是否早晚高峰时段等,用以加强模型在不同场景下的表达能力。


损失函数选用线性回归常用的平方形式:MSE,公式如下:



其中,N 是路线数量,ETA 路线 j 为路线 ETA,即预测值;用户实走 j 为用户在该路线的实走时间,即真值。

3.模型效果

衡量模型效果,即路线上 ETA 的预测值时,主要考虑的是准确率。一般情况下,用户对 ETA 偏长和偏短的容忍度不同,对偏长容忍度更高。比如用户要去机场,ETA 给的时间偏短 10 分钟比偏长 10 分钟对用户的损害更大。因此准确度的指标设计倾向于 ETA 偏长,定义为满足用户一定容忍范围的请求比例,即准确率作为主要衡量指标。


在北京市上的实验结果显示,ETA 准确率得到提升,MSE loss 下降比例 28.2%,效果有了明显的提升。

4.小结

本文介绍了引入深度学习模型,帮助建模导航规划的预估到达时间预测,成功解决了线性模型的不足,也为后续引入更多特征、进行更多探索打开了空间,如历史速度信息的不确定度、时效性、周期性、突发事件、路网结构等。


本文转载自公众号高德技术(ID:amap_tech)。


原文链接


https://mp.weixin.qq.com/s?__biz=Mzg4MzIwMDM5Ng==&mid=2247485006&idx=2&sn=b837e9658599eef64acbab11409601a7&chksm=cf4a5eadf83dd7bb73e340f31ba92c1b3aa74378829793b6d7bba98272d15f42a4509ea747a9&scene=27#wechat_redirect


2020-06-18 10:002420

评论

发布
暂无评论
发现更多内容

Linux入门篇 —— Shell详解

若尘

Linux 命令行 linux操作

Kalm——基于Kubernetes的部署工具

David

开源 Kubernetes DevOps 运维 运维平台

伊卡洛斯象征了什么?「Day 5」

道伟

文化 28天写作

风口上的量子计算机:核聚变一样的赌局,钻石一样的骗局

脑极体

【计算机内功修炼】十:线程间到底共享了哪些进程资源

码农的荒岛求生

c c++ 线程 操作系统 进程

为您收录的操作系统系列 - 进程管理(下篇)

鲁米

方法论 操作系统 进程

javascript中的内置对象和数据结构

程序那些事

JavaScript 数据结构 ES6 程序那些事

翻译:《实用的Python编程》02_05_Collections

codists

Python

专治小学生作业拖沓

Ian哥

28天写作

区块链电子合同存证,电子合同区块链服务平台

13530558032

诊所数字化:患者数字档案的价值机遇和风险

boshi

数字化医疗 七日更 28天写作

字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下

冰河

面试 分布式 中间件 消息队列 一起进大厂

Elasticsearch 查询结果排序

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

28天瞎写的第二百四十三天:正念冥想可以解决什么问题?

树上

冥想 28天写作 正念

别再这么写代码了,这几个方法不香吗?

楼下小黑哥

Java 重构

基于grpc手撸一个RPC框架

cloudcoder

解读云原生技术

xcbeyond

Kubernetes 云原生 服务网格 28天写作

火山翻译:工业级应用与研究

DataFunTalk

感性赢了理性那一面——浅谈峰终定律

Justin

心理学 28天写作

工作多年,如何找到自己更好的职业方向

一笑

28天写作

(28DW-S8-Day5) 区块链如何防伪

mtfelix

比特币 区块链 非对称加密 28天写作 防伪技术

腾讯位置服务开发应用

我是哪吒

28天写作 2月春节不断更 腾讯地图 腾讯位置服务开发应用 腾讯位置

科大讯飞发布全新一代智能办公本X2

Xue Liang

优雅编程 | javascript代码优化的4个小技巧

devpoint

递归 命名空间 闭包 函数绑定

移除数组中的数字,不用额外空间, 实战RxSwift中的Observable, subscribe, dispose, 吴军老师态度读后感 John 易筋 ARTS 打卡 Week 39

John(易筋)

ARTS 打卡计划 吴军的态度 态度读后感

如何有效改变别人的认知和行为?

数列科技杨德华

28天写作

简单的网站搭建

很甜回忆

网站

【2021海量真实校招】软件测试面试真题,(大数据整理)刷完应对各家企业面试完全没有问题!

程序员阿沐

面试 软件测试 自动化测试 黑盒测试 白盒测试

阿里粗排技术体系与最新进展

DataFunTalk

一口气发布十大建网利器,华为打算煲出怎样的5G味道?

脑极体

runtime笔记

Conan

ios

深度学习在高德ETA应用的探索与实践_AI&大模型_高德技术_InfoQ精选文章