DeepETA:优步如何使用深度学习预测到达时间?


Uber神奇的客户体验是:准确的到达时间预测 (ETA)。优步使用 ETA 来计算票价、估计接送时间、将乘客与司机匹配、计划交付等等。
传统的路由引擎通过将道路网络划分为由图中加权边表示的小路段来计算 ETA。他们使用最短路径算法来找到通过图的最佳路径,并将权重相加以得出 ETA。
但众所周知,地图不是地形:道路图只是一个模型,并不能完美地捕捉到地面的情况。此外,我们可能不知道特定骑手和司机会选择哪条路线到达目的地。通过结合使用历史数据和实时信号在道路图预测之上训练机器学习 (ML) 模型, 
几年来,Uber 使用梯度增强决策树集成来改进 ETA 预测。
几年来,Uber使用梯度增强的决策树群来完善ETA预测。ETA模型和它的训练数据集随着每个版本的发布而稳步增长。为了跟上这个增长的步伐,Uber的Apache Spark 团队对XGBoost进行了上游改进,使模型不断深入,成为当时世界上最大和最深的XGBoost组合之一。
最终,我们达到了一个点,即使用XGBoost增加数据集和模型的大小变得难以维持。
为了继续扩大模型的规模并提高精确度,我们决定探索深度学习,因为使用数据并行的SGD相对容易扩展到大数据集。
为了证明转向深度学习的合理性,我们需要克服三个主要挑战:

  • 延迟。该模型必须在最多几毫秒的时间内返回ETA。
  • 准确度。平均绝对误差(MAE)必须比现有的XGBoost模型有明显改善。
  • 通用性。该模型必须在全球范围内提供ETA预测,包括Uber的所有业务线,如移动和交付。 

为了应对这些挑战,Uber AI与Uber的地图团队合作开展了一个名为DeepETA的项目,为全球ETA预测开发一个低延迟的深度神经网络架构。在这篇博文中,我们将带领大家了解一些帮助DeepETA成为Uber新的生产ETA模型的经验和设计选择。
 
原理提要
在过去的几年里,人们对将世界的物理模型与深度学习相结合的系统越来越感兴趣。
我们在Uber采取了类似的方法来预测ETA。
我们的物理模型是一个路由引擎,它使用地图数据和实时交通测量来预测ETA,作为两点之间最佳路径的分段穿越时间之和。
然后,我们使用机器学习来预测路由引擎ETA和现实世界观察结果之间的残差。
我们称这种混合方法为ETA后处理,而DeepETA是后处理模型的一个例子。从实用的角度来看,通过更新后处理模型来吸收新的数据源和适应快速变化的业务需求,通常比重构路由引擎本身更容易。

点击标题见原文。