首页 > 编程知识 正文

RNN神经网络(lstm神经网络参数)

时间:2023-05-03 13:12:17 阅读:95027 作者:4336

照片: pix托架

“机器人社团”导航:无人驾驶无疑是近两年来人工智能领域最热门的研究方向之一。 对于无人驾驶的安全性来说,极端事件的预测能力起到了很大的作用。 在无人驾驶领域,Uber是坚决的支持者。 这篇文章是从Uber Engineering编译的。 作者是NIKOLAY LAPTEV、SLAWEK SMYL、三星手机。 让我们看看Uber是如何利用循环神经网络进行极端事件预测的。

在Uber系统中,通过事件预测,可以根据预期的用户需求提高服务质量。 最终目标是准确预测Uber在预定时间内的位置、何时以及收到多少次乘车请求。

一般来说,假期、音乐会、恶劣天气、体育活动等atgdsp旅行时间只会增加工作计划预测的重要性。 在极端事件中计算需求的时序预测(demand time series forecasting )是异常检测)、最优资源分配)和预算的重要组成部分。

虽然极端的事件预测在Uber操作中占有重要作用,但不可忽视的事实是,由于数据的稀疏性,正确的预测存在很大的困难。 考虑到元旦晚上(NYE ),这是Uber最繁忙的日子之一。 但是,元旦晚上的数据只有少数可供参考,每个实例可能有不同的用户组。 除了过去的数据,极端事件的预测还将取决于许多外部因素,如天气、人口增长、驾驶员激励措施等营销变化。

在现实生活中,在标准r预测包中发现的经典时间序列模型通常与机器学习方法结合用于特殊事件的预测,但这些方法对Uber来说既没有灵活性也没有扩展性。

本文介绍一种结合历史数据和外部因素的Uber预测模型,更准确地预测极端事件,强调新的体系结构,以及如何与以前的模型进行比较。

建立Uber新的极端事件预测模型

随着时间的推移,我们意识到为了扩大发展规模,有必要升级我们的预测模型,以准确预测Uber市场的极端事件。

最终决定采用具有端到端建模功能,易于集成外部变量和自动特征提取功能的LSTM (基于架构进行时间序列建模。 LSTM法通过在多个维度上提供大量数据,可以建立模拟复杂非线性特性的交互模型。

选择体系结构后,我们对培训模式所需的数据存储进行了如下评估:

在城市随时间变化的规模旅行次数是历史数据存储的一部分,用于训练我们的模型。 请注意除夕期间数据的一个下跌。 之后急剧上升,表明人们在除夕夜期间乘坐Uber回家。

其实,极端事件很难预测,主要原因是它们的频繁性。 为了克服这个数据的缺陷,我们决定训练单一灵活的神经网络,一次对很多城市的数据进行建模。 这样,我们的正确性大大提高了。

用神经网络构建新的框架

我们的目标是设计一个适用于可扩展性、准确性和异构时间序列的端到端通用时间序列预测模型。 为了实现这一点,我们用数千个时间序列训练了多模式神经网络。

我们测量和跟踪了原始的外部数据,建立了如下图所示的神经网络:

我们的模型使用外部变量进行训练,包括天气(降水量、风速、温度预报等)和城市级信息(特定地理区域内任意时间进行的旅行、注册的Uber用户、本地假期、活动等)的组合。

该原始数据用于我们的训练模型中,进行日志转换、缩放、数据转换等简单的预处理。

滑动窗口进行训练

在神经网络的训练数据集中,需要滑动窗口x (输入)和y )输出),限定预测范围(通常的值),例如输入大小)。 使用这两个窗口后,可以通过最小化损耗函数(如均方误差)来训练神经网络。

x窗口和y窗口以单一增量滑动,以生成训练数据,如下所示:

x和y的滑动窗口由批次、时间、特征(x的情况和预测特征) y的情况组成。

接下来,我们将讨论如何使用培训数据设计自定义LSTM模型。

调整LSTM模型

测试期间,确认了vanilla LSTM操作与包含单变量预测和机器学习要素组合的基线模型相比没有表现出优异的性能。 vanilla模型在未经训练的领域不能适应时间序列,在使用单一的神经网络的情况下不太好用。

使用

用每一个时间序列要处理百万级指标的方式来训练一个模型是不切实际的:根本没有足够的资源可用,更不用说时间的有限性了。此外,训练单一的vanilla LSTM不会产生竞争性的结果,因为模型不能区分不同的时间序列。虽然时间序列特征和输入可以手动加载到vanilla LSTM模型中,但这种方法是冗长乏味且容易出错的。

为了提高我们的准确度,我们在模型中引入了一个自动特征提取模块,如下所示:

我们的模型由手动派生的时间序列特征(左)和我们提出的具有自动特征提取模型(右)的LSTM架构组成

我们决定构建一个通过自动特征提取模块提供单一模型、异质性预测的神经网络架构。正如上图所示,模型首先通过自动、基于集成的特征提取来初始化网络;在提取特征向量后,再使用标准集成技术对其进行平均。然后将最后一个向量与输入连接从而产生最终预测。

在测试期间,我们能够实现基于LSTM架构的14.09%的对称平均绝对百分比误差(SMAPE)改进,同时比Uber的实时监控和根本原因探索工具Argos中的经典时间序列模型提升25%。

随着我们的架构的成功开发、定制和测试,现在正是将该模型投入生产使用的时候了。

使用新的预测模型

一旦计算了神经网络的权重,它们就可以以任何编程语言形式进行导出和执行。我们当前的途径是首先使用Tensorflow和Keras进行离线训练,然后将生成的权重导出为本地Go代码,如下所示:

该描述模型首先进行离线训练,然后导出到目标语言进行本机执行。

为了本文最初所设定的目标,我们建立了一个模型,使用的数据主要来自于美国五年间使用Uber来完成假期旅行的时间段,比如,像在圣诞节和元旦来临的七天之前、之间和之后所产生的数据。

在一些城市进行预测的期间,我们收集了使用之前的和现在的两种模型所产生的平均SMAPE,如下所示:

我们的新预测模型的效果显著优于以前的预测模型。

例如,我们的新模式发现,预测最困难的假期之一是圣诞节,这与需求中的最大错误和不确定性相对应。

我们描绘了一个城市200天的预期和实际完成旅行的图表,如下所示:

一个城市200多天完成旅行次数的模拟,我们对同一数据的预测凸显了我们新模型的准确性

我们的测试结果表明,与我们的专有模型相比,现有的模型的预测精度提高了2-18%。

虽然神经网络对Uber来说益处颇多,但这种方法并不是“万金油”。根据以往的经验,我们定义了一个三维思维,以此来决定神经网络模型是否适用于你的情况:(a)时间序列数,(b)时间序列长度和(c)时间序列之间的相关性。相对于经典时间序列模型而言,这三个维度增加了神经网络方法进行更准确的预测的可能性。

未来预测

我们打算继续使用神经网络,为异构时间序列创建一个通用的预测模型,作为一个独立的、端到端模型或更大的自动化预测系统中的构建块。如果你对这种研究比较感兴趣的话,那么在2017年8月6日在悉尼的国际机器学习公约(International Machine Learning Convention)期间,可以查看Uber的时间序列研讨会。

作者:NIKOLAY LAPTEV, SLAWEK SMYL, & SANTHOSH SHANMUGAM

来源:UBER Engineering

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。