《Deep and Confident Prediction for Time Series at Uber》笔记

简介

两篇比较新的论文,用LSTM做时间序列的预测和异常检测,作下翻译。

Uber之时间序列的深度和置信预测。

摘要

时间序列预测的置信的不确定性估计在许多领域都至关重要,包括物理学,生物学和制造业。 在Uber,概率时间序列预测用于鲁棒预测特殊事件期间的行程次数,驾驶员奖励分配以及数百万指标的实时异常检测。 经典时间序列模型通常与用于不确定性估计的概率公式结合使用。 但是,这些模型很难调整、扩展和添加外生变量。 受到 LSTM 的再起,我们提出了一种新颖的端到端的贝叶斯深度模型,该模型提供时间序列预测以及不确定性估计。 我们提供了所提出的完整行程数据解决方案的详细实验,并成功应用于Uber的大规模时间序列异常检测。

关键词:贝叶斯神经网络不确定性预测时间序列异常检测

引言

准确的时间序列预测和预测不确定性的置信估计对于异常检测、最佳资源分配,预算计划和其他相关任务至关重要。 这个问题具有挑战性,特别是在高差异段(例如假期,体育赛事)期间,因为极端事件预测取决于许多外部因素,包括天气,城市人口增长或营销变化(例如,驾驶员激励)[1] 所有这些都有助于预测的不确定性。 然而,这些外生变量难以纳入许多经典时间序列模型,例如标准R预测[2]包中的模型。 此外,这些模型通常需要手动调整以设置模型和不确定性参数。

最近,基于长短期记忆(LSTM)模型[3]的时间序列建模由于其端到端建模,易于结合外生变量和自动特征提取能力而受到欢迎[4]。 通过在多个维度上提供大量数据,已经表明LSTM网络可以模拟复杂的非线性特征交互[5],这对于复杂极端事件的建模至关重要。 最近的一篇论文[6]表明,在具有长且相互依赖的时间序列的情况下,神经网络预测模型能够胜过经典时间序列方法。

然而,使用神经网络估计时间序列预测中的不确定性的问题仍然是一个未解决的问题。 预测不确定性对于评估模型所产生的预测信任度至关重要,并且对异常检测具有深远影响。 [6]中提出的先前模型没有关于不确定性的信息。 具体而言,这导致假期期间模型预测的错误异常率具有大的方差。

在本文中,我们提出了一种新的时间序列预测端到端模型架构,并使用贝叶斯神经网络量化预测不确定性,贝叶斯神经网络进一步用于大规模异常检测。

最近,贝叶斯神经网络(BNN)作为为深度模型提供不确定性估计的原理框架已经引起越来越多的关注。 在此框架下,预测不确定性可以分解为三种类型:模型不确定性,固有噪声和模型错误指定。 模型不确定性,也称为认知不确定性,捕捉了我们对模型参数的无知,并且可以随着收集更多样本而减少。 另一方面,固有噪声捕获了数据生成过程中的不确定性,并且是不可简化的。 这两个来源之前已被认可成功应用于计算机视觉[7]。

然而,模型错误指定的第三个不确定性一直被忽视。 这捕获了测试样本来自与训练集不同的群体的情况,这通常是时间序列异常检测的情况。 在计算机视觉中的对抗性例子的概念下,类似的观点在深度学习中引起了关注[8],但其在预测不确定性中的含义仍未得到探索。 在这里,我们提出了一个原理解决方案,使用编码器解码器框架来结合这种不确定性。 据我们所知,这是第一次将错误指定不确定性成功应用于原理方式的预测和异常检测。

综上所述,本文的贡献如下:

  • 为深度预测模型提供一个通用的和可伸缩的不确定性估计实现。
  • 从模型不确定性、固有噪声和模型不规范三个方面对预测不确定性进行了量化。第三个不确定性以前被忽略了,我们提出了一个潜在的解决方案与编码器-解码器。
  • 最后用在了Uber的现实世界异常检测用例,该用例使用具有不确定性估计的贝叶斯神经网络来大规模地提高性能。

本文的其余部分组织如下:第2节概述了以前关于经典和深度学习模型的时间序列预测的工作,以及神经网络中不确定性估计的各种方法。 由于其简单性,强大的泛化能力和可扩展性,本文使用蒙特卡洛失活(MC dropout)的方法。 在第3节中,我们提出了不确定性估计算法,该算法解释了三种不同的不确定性来源。 第4节提供了详细的实验来评估Uber出行数据的模型性能,并为Uber的数百万个指标的大规模异常检测提供了成功的应用。 最后,第5节总结了论文。

近期工作

时间序列预测

经典的时间序列模型,如标准的R预测[2]包中的模型,是提供单变量基础水平预测的常用方法。这些模型通常需要手动调优来设置季节性和其他参数。此外,虽然有些时间序列模型可以包含外生变量[9],但它们受到维度的诅咒,需要经常进行再训练。为了更有效地处理外生变量,在[10]中引入了单变量建模和机器学习模型处理残差的组合。然而,由此产生的两阶段模型很难调优,需要手动提取特征和频繁的再训练,这对数百万个时间序列来说是无法实现的。

最近,基于LSTM [3]技术的时间序列建模由于其端到端建模,易于结合外生变量和自动特征提取能力而受到欢迎[4]。 通过在多个维度上提供大量数据,已经表明LSTM方法可以通过允许非线性特征交互来模拟复杂的极端事件[5],[6]。

虽然经典预测模型的不确定性估计已被广泛研究[11],但神经网络并非如此。 提出了诸如修改的损失函数或使用异构网络集合[12]的方法,但是它们需要对基础模型体系结构进行更改。 下一节将给出更详细的评论。

在这项工作中,我们使用一种简单且可扩展的方法进行深度模型不确定性估计,该方法基于[13]。 该框架提供了一种通用的错误估计器,该估计器在Uber规模的生产中运行,以减轻由于高预测方差导致的不良预测导致的错误决策(例如,错误的异常警报)。

贝叶斯神经网络

贝叶斯神经网络(BNNs)从贝叶斯的角度为深度学习模型引入了不确定性。通过给出网络参数 $W$ 的先验,网络的目标不是点估计,而是求 $W$ 的后验分布。

该过程通常被称为传统贝叶斯模型中的后验推断。 不幸的是,由于深度模型中的复杂非线性和非共轭性,很少有精确的后验推断;此外,大多数传统的近似贝叶斯推理算法无法在大多数神经网络中扩展到大量参数。

近年来,针对贝叶斯神经网络提出了几种近似推理方法。大多数方法基于优化变分下界的变分推理,包括随机搜索[14]、变分贝叶斯[15]、概率反向传播[16]、支持的贝叶斯[17]及其扩展[18]。几个算法进一步扩展近似α-散度优化框架,包括[19]和[20]。我们建议读者参考[21]以获得对这些方法的更详细和完整的回顾。

上述算法都需要不同的神经网络训练方法。具体来说,损失函数必须针对不同的优化问题进行调整,训练算法必须在通常意义上进行修改。然而,在实践中,不需要改变神经网络体系结构,通常首选开箱即用的解决方案,并且可以直接应用于之前训练的模型。此外,现有的推理算法大多会引入额外的模型参数,有时甚至是双模型参数,由于实际使用的参数量很大,很难进行规模化。

本文受[13]和[22]中提出的蒙特卡洛dropout(MC dropout)框架的启发,该框架不需要改变现有的模型架构,几乎无附加地提供不确定性评估。具体而言,在每个隐藏层之后应用随机dropout,并且模型输出可以近似地被视为从后验预测分布生成的随机样本[21]。 因此,模型不确定性可以通过几次重复中的模型预测的样本方差来估计。 该算法的详细信息将在下一节中介绍。

MC dropout框架特别吸引实践者,因为它是通用的,易于实现的,并且直接适用于任何现有的神经网络。然而,将其应用于实际问题的探索仍然极为有限。本文成功地将该框架应用于大规模的时间序列预测和异常检测,迈出了重要的一步。

方法

给定训练好的神经网络 $f^{\hat W}(·)$,其中 $\hat W$ 代表拟合参数,以及新样本 $x$,我们的目标是评估模型预测的不确定性,$\hat y^\ast=f^{\hat W}(x^\ast)$。具体来说,我们想量化预测标准误差 $η$,所以通过可以构造近似的 $α$-level 预测区间:

其中 $z_{\alpha/2}$ 是标准法线的上 $\alpha/2$ 分位数。这个预测区间对于各种任务都是至关重要的。例如,在异常检测中,当观测值落在构造的95%区间之外时,将发出异常警报。因此,过低的 $η$ 将导致假阳性率高。

在本节的其余部分,我们将在3.1节中介绍我们的不确定性估计算法,该算法考虑了三种不同的预测不确定性来源。 该框架可以推广到任何神经网络架构。 然后,在3.2节中,我们将展示我们的神经网络设计,用于预测Uber的时间序列。

预测误差(预测不确定性)

我们将神经网络表示为函数 $f^W(·)$,其中 $f$ 表示网络架构,$W$ 表示模型参数的集合。在贝叶斯神经网络中,对权值参数引入先验,使模型拟合最优后验分布。例如,高斯先验通常如下假设:

我们进一步指定数据生成分布 $p(y|f^W(x))$。在回归中,我们通常假设

有一些噪音 $σ$。 在分类中,经常使用softmax似然。 对于时间序列预测,我们将重点关注本文中的回归设置。

给定一组 $N$ 个观测值 $X=\{x_1,…,x_N\}$ 和 $Y=\{y_1,…,y_N\}$,贝叶斯推理的目的是找出模型参数 $p(W|X,Y)$ 上的后验分布。在新的数据点 $x^\ast$ 上,通过将后验分布边缘化得到预测分布

特别地,预测分布的方差量化了预测不确定性,其可以使用总方差定律进一步分解,

我们看到方差被分解为两个项:1. $\text{Var}(f^W(x^\ast))$,它反映了我们对模型参数 $W$ 的无知,称为模型不确定性;2. $σ^2$ 是数据生成过程中的噪声水平,称为固有噪声。

(2)式的基本假设是 $y^\ast$ 由相同的过程生成。 但是,实际情况并非总是如此。 特别地,在异常检测中,预期某些时间序列将具有异常模式,这可能与训练模型非常不同。 因此,我们建议对预测不确定性的完整测量应该是三个来源的组合:1. 模型不确定性;2. 模型错误指定;3. 固有噪声水平。 以下部分提供了有关我们如何处理这三个项的详细信息。

模型误差(模型不确定性)

模型不确定性估计的关键是后验分布A,也称为贝叶斯推理。这在神经网络中尤其具有挑战性,因为非线性导致的非共轭性。关于深度学习中的近似推理,已经有了各种各样的研究成果(参见2.2节的综述)。在这里,我们遵循[13]和[22]的思想,利用蒙特卡罗dropout(MC dropout)来近似模型的不确定性。

该算法如下进行:给定新的输入$x^\ast$,我们计算每层的随机丢失的神经网络输出。 也就是说,以一定的概率 $p$ 随机丢弃每个隐藏单元。 这个随机前馈重复 $B$ 次,我们得到 $\{\hat y^\ast_{(1)},…,\hat y^\ast_{(B)}\}$。然后模型不确定性可以用样本方差近似,

其中 $\overline {\hat y}^\ast = \frac{1}{B}\sum_{b=1}^B \hat y^\ast_{(b)}$ [13]。目前已有研究将最优dropout概率 $p$ 作为模型参数的一部分进行自适应选择,但这种方法需要修改训练阶段[12]。在实际应用中,我们发现不确定性估计通常在 $p$ 的合理范围内是鲁棒的。

模型误设

接下来,我们将解决捕获潜在模型错误指定的问题。 特别是,我们希望在预测与训练数据集具有非常不同模式的看不见的样本时捕获不确定性。 我们建议通过在模型框架中引入编码器 - 解码器来解释这种不确定性来源。 该想法是训练编码器,其从时间序列中提取代表性特征,在这种意义上,解码器可以从编码空间重建时间序列。 在测试时,每个样本的编码质量将提供有关它与训练集的接近程度的见解。 考虑这种方法的另一种方法是我们首先使用编码器 - 解码器框架为所有训练时间序列拟合潜在的嵌入空间。 然后,我们测量嵌入空间中测试用例和训练样本之间的距离。

接下来的问题是如何将这种不确定性纳入方差计算。这里,我们采用原理方法,将编码器 $g(·)$ 与预测网络 $h(·)$ 连接,并在推理期间将它们视为一个大网络 $f=h(g(·))$。图1说明了这种推理网络,算法1给出了MC dropout算法。具体地,给定输入时间序列 $x=\{x_1,…,x_T\}$,编码器 $g(·)$ 构造学习嵌入 $e=g(x)$,其进一步与外部特征连接,并且最终向量被馈送到最终预测网络 $h$。在此前馈传递期间,MC dropout应用于编码器 $g$ 和预测网络 $h$ 中的所有层。结果,编码器中的随机dropout在嵌入空间中智能地扰乱输入,这解释了潜在的模型错误指定并且通过预测网络进一步传播。这里,递归神经网络[22]的变分dropout应用于编码器中的LSTM层,并且普通的dropout[13]应用于预测网络。

神经网络结构,在训练前使用LSTM编码器-解码器,然后是预测网络,输入是学习嵌入与外部特征连接。

固有噪声

最后,我们估计固有噪声水平 $σ^2$。 在原始的MC dropout算法[13]中,该参数由先验在 $W$ 的平滑度上隐式确定。因此,模型最终可能会根据预先指定的平滑度对不确定性水平进行截然不同的估计(参见 [21],第4章)。 这种依赖性在异常检测中是不合需要的,因为我们希望不确定性估计也具有稳健的频率覆盖,但是我们很少会先验地知道正确的噪声水平。

在这里,我们提出一个简单的和自适应的方法,通过残差平方和估计噪声水平,评估一个独立的验证集。具体地说,我们在训练数据拟合模型,$X’=\{x_1’,…,x_V’\},Y’=\{y_1’,…,y_V’\}$ 是一个独立的验证,那么我们估计 $σ^2$ 通过

注意,$(X’,Y’)$ 独立于 $f^{\hat W}(·)$,如果我们进一步假设 $f^{\hat W}(x_v’)$ 是对真实模型的无偏估计,我们就有了

其中 $\text{Var}_{\text{TRN}}$ 关于训练数据的方差(噪声),随着训练样本的增加为 $N \rightarrow \infty$ 而减少为 $\rightarrow 0$ 。因此,$σ^2$ 提供了一个渐近无偏估计的固有噪声水平。在有限样本的情况下,它总是高估了噪声水平,往往更保守。

最终推理算法将固有噪声估计与MC dropout相结合,并在算法2中给出。

模型设计

神经网络的完整架构如图1所示。该网络包含两个主要组件:1. 编码器—解码器框架,捕获时间序列中的固有模式,这是在预训练步骤中学习的;2. 预测网络,其从来自编码器解码器的学习嵌入以及任何潜在外部特征两者获取输入以指导预测。 我们将在下面详细讨论这两个组件。

编码器—解码器

在拟合预测模型之前,我们首先进行预训练步骤以训练出可以从时间序列中提取有用且有代表性的嵌入的编码器。 目标是确保学习嵌入提供用于预测的有用特征,以及可以在嵌入空间中捕获异常输入,其将在下一步骤中进一步传播到预测网络。 在这里,我们使用具有双层LSTM单元的编码器 - 解码器框架。

具体来说,给定一个单变量时间序列 $\{x_t\}_t$,编码器读取第一个 $T$ 时间戳 $\{x_1,…,x_T\}$,并构造一个固定维度的嵌入状态。然后,从这个嵌入状态开始,解码器根据 $\{x_{T-F+1},…,x_T\}$ 的指导构造之后的 $F$ 时间戳 $\{x_{T+1},…,x_{T+F}\}$(图1底部)。直觉上,为了构造之后的几个时间戳,嵌入状态必须从输入时间序列中提取有代表性和有意义的特征。这个设计的灵感来自于使用类似架构[23]的视频表示学习的成功。

预测网络

在对编码器 - 解码器进行预训练之后,将其视为智能特征提取黑盒。 具体地,编码器的最后LSTM单元状态被提取为学习嵌入。 然后,训练预测网络以使用学习的嵌入作为特征来预测下一个或多个时间戳。 在外部特征可用的场景中,这些可以连接到嵌入向量并一起传递到最终预测网络。

在这里,我们使用一个多层感知器作为预测网络。我们将在4.1节中展示从编码器中学习到的嵌入成功地从输入时间序列中捕获有趣的模式。此外,包括外部特征显著提高了节假日和特殊事件的预测精度(见第4节)。

推断

在训练完整模型之后,推理阶段仅涉及编码器和预测网络(图1左)。 完整的推理算法在算法2中给出,其中预测不确定性 $η$ 包含两个项:1. 通过将MC dropout应用于编码器和预测网络而估计的模型和误设误差,如算法1中所示;2. 固有噪声,由独立的验证集上的残差估算。 最后,由 $[\hat y^\ast-z_{\alpha/2}\eta, \hat y^\ast+z_{\alpha/2}\eta]$ 构造近似 $α$-level 预测区间,其中 $z_{\alpha/2}$ 是标准正态的上 $\alpha/2$ 分位数。

需要在算法2中指定两个超参数:dropout概率 $p$ 和迭代次数 $B$。对于dropout概率,我们在实验中发现误差估计在 $p$ 的范围内相对稳定, 我们选择在验证集上实现最佳性能的那个。 至于迭代次数,估计的预测不确定性的标准误差与 $1/\sqrt B$成比例。 我们测量不同重复的标准误差,并发现几百次迭代通常足以实现稳定的估计。

评价

本节包含两组结果。我们首先在Uber平台处理的中等规模的每日出行数据集上评估模型性能。我们将评估节假日和非节假日不确定估计的预测精度和质量。我们还将展示编码器如何识别嵌入空间中的星期几模式。接下来,我们将举例说明该模型在Uber实时大规模异常检测中的应用。

Uber出行数据结果

实验设置

在本节中,我们使用美国和加拿大八个代表性大城市(包括亚特兰大,波士顿,芝加哥,洛杉矶,纽约市,旧金山,多伦多和华盛顿特区)的四年每日完成旅行来说明模型性能。 使用三年的数据作为训练集,接下来的四个月作为验证集,最后八个月作为测试集。 编码器 - 解码器由两层LSTM单元构成,分别具有128和32个隐藏状态。 预测网络有三层全连通的tanh激活层,分别为128、64和16个隐藏单元。

使用步长为1的滑动窗口构建样本,其中每个滑动窗口包含前28天作为输入,并且旨在预测即将到来的一天。 对原始数据进行对数转换以减轻指数效应。接下来,在每个滑动窗口内,从所有值中减去第一天,以便移除趋势并且训练神经网络用于增量值。 在测试时,可以直接恢复这些转换以获得原始比例的预测。

预测性能

我们比较了四种不同模型的预测精度:

表1:根据测试数据评估的四种不同预测模型的SMAPE。

  1. Last-Day:一个朴素的模型,使用最后一天完成的出行作为第二天的预测。
  2. QRF:基于朴素的Last-Day预测,进一步训练分位数随机森林(QRF)来估计节假日提升,即,调整节假日期间预测的比例。最后的预测是根据最后一天的预测乘以估计的比率计算出来的。
  3. LSTM:一个与我们的模型大小相似的普通LSTM模型。具体地说,构造了一个两层封装的LSTM,分别具有128和32个隐藏状态,最后输出一个完全连接的层。该神经网络也以28天为输入,并预测接下来一天。
  4. Our Model:我们的模型,结合编码器和预测网络,如图1所示。

表1给出了四种模型在测试集上的对称平均绝对百分比误差(SMAPE)。我们发现,使用QRF对节假日提升进行调整的效果仅略好于朴素的预测。另一方面,一个普通的LSTM神经网络在8个城市中提供了平均26%的改进。当我们进一步整合编码器-解码器框架并将节假日的外部特征引入预测网络时(图1),我们提出的模型在预测精度上又提高了36%。注意,在使用LSTM和我们的模型时,只训练了一个通用模型,其中神经网络没有针对任何特定于城市的模式进行调优;尽管如此,与传统方法相比,我们仍然在所有城市中观察到SMAPE的显著改进。

最后,图2以旧金山测试期间的真实值和我们的预测为例。我们观察到,准确的预测不仅在正常的日子里实现,而且在假日季节也能实现。

图2。在8个月的测试集中,旧金山每天完成的行程。真实值用橙色实线表示,预测值用蓝色虚线表示,95%的预测区间用灰色区域表示。精确值是匿名的。

误差估计

接下来,我们通过校准预测区间的经验覆盖来评估我们的误差估计的质量。 这里,每层的dropout概率设定为5%,表2报告了三种不同情景下95%预测区间的经验覆盖率:

表2. 经验覆盖率95%的预测区间,对测试数据进行评估。

  1. PredNet:仅使用从预测网络中的MC dropout估计的模型误差,编码器中没有dropout层。
  2. Enc+PredNet:在编码器和预测网络中使用MC dropout,但没有固有的噪声级别。 这是算法2中的项 $η_1$。
  3. Enc+PredNet+Noise:使用算法2中给出的全预测不确定度 $η$,包括2中的 $η_1$,以及固有噪声水平 $η_2$。

通过将 PredNetEnc+Pred 进行比较,很明显将MC dropout引入编码器网络是至关重要的,通过捕获潜在的模型错误指定,可以将经验覆盖率从78%显着提高到90%。 此外,通过进一步考虑固有噪声水平,最终误差估计的经验覆盖率 Enc+Pred+Noise 很好地以期望的95%左右为中心。

误差估计的一个重要用例是提供对时间序列中不寻常模式的洞察。 图3显示了测试数据中美国六个假期的估计预测误差。 我们看到新年前夜的不确定性明显高于其他所有假期。 这种模式与我们以前的经验一致,新年前夜通常是最难预测的日子。

图3. 8个城市测试期间6个美国假期的预测标准差估计值。没有写出精确值。

嵌入特征

如前所述,编码器对于提高预测精度和估计预测不确定性都是至关重要的。一个自然的后续问题是我们能否解释编码器提取的嵌入特征。这也可以为模型选择和异常检测提供有价值的见解。在这里,我们将训练数据可视化,在嵌入空间中,每个训练数据都是28天的时间序列片段。我们使用编码器中的最后一个LSTM单元格,并将其单元格状态投影到2D中,以便使用PCA进行可视化(图4)。我们观察到的最强烈的模式是一周中的一天,工作日和周末形成不同的集群,周五通常位于两者之间。我们没有观察到城市级别的集群,这可能是因为在这个数据集中所有的城市都是北美的大城市,那里的乘客和司机往往有类似的行为。

图4. 时间序列的训练集,在嵌入空间中可视化。每个点代表一个28天的片段,按最后一天的星期几着色。 我们评估两个LSTM层的单元状态,其中第一层的尺寸为128,在左侧绘制,第二层的尺寸为32,在右侧绘制。 PCA用于投影到2D空间以进行可视化。

Uber异常检测应用

在Uber,我们每天跟踪数百万个指标,以监控整个公司的各种服务状态。 不确定性评估的一个重要应用是提供实时异常检测,并针对潜在的中断和异常行为部署警报。 一种自然的方法是在观测值超出95%预测区间时触发警报。 我们需要在此应用程序中解决两个主要挑战:

  1. 可扩展性:为了在当前规模上提供实时异常检测,必须在推理阶段的几毫秒内计算每个预测间隔。
  2. 性能:在数据高度不平衡的情况下,我们的目标是尽可能降低假阳率,避免不必要的随叫随到,同时确保假阴率得到适当的控制,从而捕捉到真正的中断。

可扩展性

我们的模型推理在Go中实现。 我们的实现涉及有效的矩阵操作操作,以及通过以预先指定的概率将隐藏单位随机设置为零的随机丢失。 执行几百个随机传递以计算预测不确定性,每个度量每隔几分钟更新一次。 我们发现误差估计步骤仅增加了少量的计算开销,并且可以在每个度量的十毫秒内进行。

性能

在这里,我们在一个包含100个可用手动注释的指标的示例数据集上说明了该框架的精确度和召回率,其中17个是真正的异常。 注意,神经网络先前已经在单独且更大的数据集上训练。 通过在神经网络中添加MC dropout层,估计的预测间隔实现了100%的召回率和80.95%的准确率。 图5显示了四个代表性指标的神经网络预测间隔,其中两个代表性指标正确触发警报。 将此框架应用于所有指标时,我们发现与先前的特殊解决方案相比,精度提高了4%,这在Uber的规模上非常重要。

图5. 12小时跨度期间的四个示例度量标准,并在接下来的30分钟内执行异常检测。 所有指标均按分钟计算。 神经网络构建随后30分钟的预测间隔,由每个图中的阴影区域可视化。(a)具有较大波动的正常度量,其中观察值落在预测间隔内。(b)波动较小的正常指标,以及不寻常的膨胀刚刚结束。 预测间隔仍然捕获观察结果。(c)具有单个尖峰的异常指标,其超出预测间隔。(d)由我们的模型捕获的具有两个连续尖峰的异常指标。

结论

我们提出了一种用于Uber的误差估计的端到端神经网络架构。 使用MC dropout技术和模型错误指定分布,我们展示了一种简单的方法来提供大规模神经网络预测的误差估计,同时提供95%的误差覆盖。 关于我们框架的一个关键特性是它可以在不修改底层架构的情况下适用于任何神经网络。

我们利用提出的不确定度估计来测量特殊事件(如节假日)的不确定度,提高异常检测的准确性。对于特殊事件的误差估计,我们发现新年前夜是最不确定的时间。利用误差信息,我们调整了内部异常检测模型的置信区间,以提高高不确定性事件的准确率,结果准确率提高了4%,考虑到我们在Uber跟踪的指标数量,这是一个很大的提高。

我们未来的工作将集中在利用不确定性信息进行高误差期间的神经网络调试。

参考文献

  1. J. D. Horne and W. Manzenreiter, “Accounting for mega-events,” International Review for the Sociology of Sport, vol. 39, no. 2, pp.187–203, 2004.
  2. R. J. Hyndman and Y. Khandakar, “Automatic time series forecasting: the forecast package for R,” Journal of Statistical Software, vol. 26, no. 3, pp. 1–22, 2008.
  3. S. Hochreiter and J. Schmidhuber, “Long short-term memory,” Neural computation, vol. 9, no. 8, pp. 1735–1780, 1997.
  4. M. Assaad, R. Bone, and H. Cardot, “A new boosting algorithm for improved time-series forecasting with recurrent neural networks,” Information Fusion, vol. 9, no. 1, pp. 41–55, 2008.
  5. O. P. Ogunmolu, X. Gu, S. B. Jiang, and N. R. Gans, “Nonlinear systems identification using deep dynamic neural networks,” arXiv preprint arXiv:1610.01439, 2016.
  6. N. Laptev, J. Yosinski, E. Li, and S. Smyl, “Time-series extreme event forecasting with neural networks at uber,” International Conference on Machine Learning, 2017.
  7. A. Kendall and Y. Gal, “What uncertainties do we need in bayesian deep learning for computer vision?” arXiv preprint arXiv:1703.04977, 2017.
  8. I. J. Goodfellow, J. Shlens, and C. Szegedy, “Explaining and harnessing adversarial examples,” International Conference on Learning Representations, 2014.
  9. W. W.-S. Wei, Time series analysis. Addison-Wesley publ Reading, 1994.
  10. T. Opitz, “Modeling asymptotically independent spatial extremes based on laplace random fields,” Spatial Statistics, vol. 16, pp. 1–18, 2016.
  11. R. D. Dietz, T. L. Casavant, T. E. Scheetz, T. A. Braun, and M. S. Andersland, “Modeling the impact of run-time uncertainty on optimal computation scheduling using feedback,” in Parallel Processing ’97, Aug, pp. 481–488.
  12. Y. Gal, J. Hron, and A. Kendall, “Concrete dropout,” arXiv preprint arXiv:1705.07832, 2017.
  13. Y. Gal and Z. Ghahramani, “Dropout as a bayesian approximation: Representing model uncertainty in deep learning,” in Proceedings of the 33rd International Conference on Machine Learning, 2016, pp.1050–1059.
  14. J. Paisley, D. Blei, and M. Jordan, “Variational bayesian inference with stochastic search,” in Proceedings of the 29th International Conference on Machine Learning, 2012, pp. 1367–1374.
  15. D. P. Kingma and M. Welling, “Auto-encoding variational bayes,” The International Conference on Learning Representations, 2014.
  16. J. M. Hernandez-Lobato and R. Adams, “Probabilistic backpropa-gation for scalable learning of bayesian neural networks,” in Proceedings of the 32nd International Conference on Machine Learning, 2015, pp. 1861–1869.
  17. C. Blundell, J. Cornebise, K. Kavukcuoglu, and D. Wierstra, “Weight uncertainty in neural networks,” in Proceedings of the 32nd International Conference on Machine Learning, 2015, pp.1613–1622.
  18. M. Fortunato, C. Blundell, and O. Vinyals, “Bayesian recurrent neural networks,” arXiv preprint arXiv:1704.02798, 2017.
  19. J. M. Hernandez-Lobato, Y. Li, M. Rowland, D. Hern ´ andez-Lobato, ´ T. Bui, and R. E. Turner, “Black-box α-divergence minimization,” in Proceedings of the 33rd International Conference on Machine Learning, 2016, pp. 1511–1520.
  20. Y. Li and Y. Gal, “Dropout inference in bayesian neural networks with alpha-divergences,” arXiv preprint arXiv:1703.02914, 2017.
  21. Y. Gal, “Uncertainty in deep learning,” Ph.D. dissertation, PhD thesis, University of Cambridge, 2016.
  22. Y. Gal and Z. Ghahramani, “A theoretically grounded application of dropout in recurrent neural networks,” in Advances in Neural Information Processing Systems, 2016, pp. 1019–1027.
  23. N. Srivastava, E. Mansimov, and R. Salakhudinov, “Unsupervised learning of video representations using lstms,” in Proceedings of the 32nd International Conference on Machine Learning, 2015, pp. 843–852.

总结

还需要看三个东西,才能完全看懂这个方法:

  1. LSTM编码器-解码器

  2. 变分dropout

    A theoretically grounded application of dropout in recurrent neural networks

  3. MC dropout

    Dropout as a bayesian approximation: Representing model uncertainty in deep learning

一分一毛,也是心意。