图:pixabay 「机器人圈」导览:无人驾驶无疑是近两年来,j2直播,人工智能领域最炙手可热的研究方向之一。对于无人驾驶的安全性来说,极端事件的预测能力起到了很大的作用。在无人驾驶领域,Uber一直是坚决支持者。本文编译自Uber Engineering,作者是NIKOLAY LAPTEV、SLAWEK SMYL、SANTHOSH SHANMUGAM。我们来看看,Uber是如何利用循环神经网络进行极端事件预测的。 在Uber系统内,事件预测使我们能够根据预期用户需求来提高我们的服务质量。最终目标是准确地预测出在预定的时间内Uber将会在何处,何时以及收到多少次的乘车请求。 一般来说,极端事件——诸如假期、音乐会、恶劣天气和体育赛事等高峰旅行时间,只会提高工作规划预测的重要性。在极端事件期间计算需求时间序列预测(demand time series forecasting)是异常检测(anomaly detection),最优资源分配(optimal resource allocation)和预算的关键组成部分。 但不可忽略的一个事实是,虽然极端事件预测在Uber操作中占有举足轻重的作用,但数据稀疏性使得准确的预测具有很大的挑战性。考虑到元旦之夜(NYE),这是Uber最繁忙的日子之一。可是我们只有少数几次元旦之夜的数据可以借鉴参考,而且每个实例可能有不同的用户群组。除了历史数据,极端事件预测还取决于许多外部因素,包括天气、人口增长和诸如驾驶员激励措施这样的市场营销的变化。 在现实生活中,在标准R预测包中发现的经典时间序列模型,通常和机器学习方法组合在一起,从而用于特殊事件的预测,然而,这些方法对于Uber来说,既不灵活也不可扩展。 在本文中,我们介绍一种将历史数据和外部因素相结合的Uber预测模型,以便更精确地预测极端事件,突出其新架构,以及如何与先前的模型进行比较。 创建Uber的新的极端事件预测模型 随着时间的推移,我们意识到为了扩大发展规模,我们需要升级我们的预测模型,从而准确预测Uber市场的极端事件。 我们最终决定基于长短期记忆网络(LSTM)架构进行时间序列建模,LSTM架构是一种具有端到端建模特征,易于整合外部变量和自动特征提取能力的技术。通过在多个维度上提供大量数据,LSTM方法可以建造模拟复杂的非线性特征交互模型。 在选择好架构之后,我们评估了训练模型所需的数据储存,如下所示: 在城市中随时间推移而变化的规模性旅行次数是用于训练我们模型的历史数据储存的一部分。 请注意除夕夜期间数据的一个下跌,然后急剧上涨,表示人们在除夕夜期间乘用Uber回家。 其实,极端事件的预测是一件很困难的事情,主要原因是它们的不频繁性。为了克服这个数据缺陷,我们决定训练一个单一的、灵活的神经网络来一次性地对许多城市的数据进行建模,从而大大提高了我们的准确性。 用神经网络构建新的架构 我们的目标是设计一个通用的、端到端的时间序列预测模型,它要具有可扩展性,准确性并且适用于异构时间序列。为了实现这一点,我们使用了数千个时间序列来训练一个多模块神经网络。 我们测量和追踪了原始的外部数据从而构建了如下图所示的神经网络: 我们的模型是使用外部变量,包括天气(例如降水、风速和温度预报)和城市级信息(例如在特定地理区域内的任何给定时间进行的旅行,已注册 Uber用户,本地假期或事件)的组合进行训练的。 这个原始数据用于我们的训练模型中,来进行包括日志转换,缩放和数据转换这样简单的预处理。 用滑动窗口进行训练 神经网络中的训练数据集需要滑动窗口X(输入)和Y(输出)来限定常规值(例如输入大小)以及预测范围。使用这两个窗口之后,我们便可以通过最小化损失函数(loss function),如均方差(Mean Squared Error)来训练神经网络。 X和Y窗口都是以单个增量滑动的,从而生成训练数据,如下所示: X和Y滑动窗口是由批次,时间,特征(对于X而言)和预测特征(对于Y而言)组成的。 接下来,我们就解释如何使用我们的训练数据来设计自定义的LSTM模型。 调整我们的LSTM模型 (责任编辑:本港台直播) |