快速ES-RNN: ES-RNN算法的GPU实现

题目:

Fast ES-RNN: A GPU Implementation of the ES-RNN Algorithm

作者:

Andrew Redd, Kaung Khin, Aldo Marini

来源:

Machine Learning (cs.LG)

Submitted on 7 Jul 2019

文档链接:

arXiv:1907.03329

代码链接:

摘要

由于它们的普遍存在,时间序列预测在多个领域都是至关重要的。我们力求使最先进的预测快速、简便、可推广。ES-RNN是经典状态空间预测模型与现代RNNs的结合,在M4竞争中取得了9.4%的sMAPE改进。关键是,ES-RNN的实现需要每次序列参数。通过对原始实现进行矢量化并将算法移植到GPU上,我们根据批处理大小实现了高达322x的训练加速,结果与原始提交中报告的结果类似。

英文原文

Due to their prevalence, time series forecasting is crucial in multiple domains. We seek to make state-of-the-art forecasting fast, accessible, and generalizable. ES-RNN is a hybrid between classical state space forecasting models and modern RNNs that achieved a 9.4% sMAPE improvement in the M4 competition. Crucially, ES-RNN implementation requires per-time series parameters. By vectorizing the original implementation and porting the algorithm to a GPU, we achieve up to 322x training speedup depending on batch size with similar results as those reported in the original submission.

要点

我们的任务是使最先进的预测快速、简便、可推广。首先,我们通过将Smyl s的原始c++提交移植到Pytorch来实现快速培训。这种矢量化允许使用GPU,提供高达322x的训练加速。其次,Python代码使预测和机器学习社区更容易访问模型。1 .最后,Pytorch的使用使得模型的泛化更加容易,因为库中包含多个架构,可以补充ES-RNN在非m4时间序列中的应用。我们期望我们的贡献,以加快采用混合模型在时间序列预测。

表1:网络中设置的参数总结

图1:Smyl等人(2018)的NN架构示意图

表2:M4按类型和系列频率排列的数据

表3:频率序列长度统计

图2:Smyl等人(2018)定义的时间序列规范化和消除季节性因素处理

表4:结果与M4基线模型的比较

表5:15轮的运行时间迭代后结果比较

图3:Smyl等人(2018)的NN架构

在这个项目中,我们成功地将最先进的ES-RNN算法应用于一个快速、可访问、可推广的预测框架中。我们克服的主要挑战是每次序列参数的训练。由于直接在CPU上实现原始提交,这证明是困难的。我们的工作集中在每次序列参数的矢量化上,以使GPU计算在一个支持快速执行的框架中(如Pytorch)。我们得到了与原始提交的结果相似的结果,但是少了几个数量级的训练时间。

我们预计我们的贡献将使最先进的算法在单变量序列上得到强有力的采用,并有助于将模型推广到可使用协变量的特定问题。

es 怎么嵌入 算法模型_快速ES-RNN: ES-RNN算法的GPU实现相关推荐

  1. 极值跟踪算法 c语言,快速约束极值子空间跟踪算法_魏志强.pdf

    快速约束极值子空间跟踪算法_魏志强 34 4 Vol. 34 No. 4 第 卷第 期 华 北 水 利 水 电 学 院 学 报 2013 8 Journal of North China Instit ...

  2. AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法)、分类/回归/聚类/降维算法模型选择思路、11类机器学习算法详细分类之详细攻略

    AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法).分类/回归/聚类/降维算法模型选择思路.11类机器学习算法详细分类(决策树/贝叶 ...

  3. 算法选择_快速筛出topK的快速选择算法

    在之前Python系列当中,我们介绍了heapq这个库的用法,它可以在O(nlogn)的时间里筛选出前K大或者前K小的元素.今天我们一起来看一个可以更快实现选择的快速选择算法. 思维推导 在公布答案之 ...

  4. 预测算法模型_如何测量预测模型或算法的准确性第1部分。

    预测算法模型 在开发预测模型和算法时,无论是线性回归模型还是ARIMA模型 ,重要的是量化模型对未来观测的适应程度. 计算模型的正确性的最简单方法之一是使用预测值和实际值之间的误差. 从那里开始,有几 ...

  5. 深度学习算法模型_不到5分钟的3种深度学习算法,第2部分深度顺序模型

    深度学习算法模型 In the last article, we looked at models that deal with non-time-series data. Time to turn ...

  6. 机器学习算法 拟合曲线_制定学习曲线以检测机器学习算法中的错误

    机器学习算法 拟合曲线 机器学习 (Machine Learning) The learning curve is very useful to determine how to improve th ...

  7. 聚类算法 距离矩阵_论文阅读9——AP聚类算法

    Affinity Learning for Mixed Data Clustering 论文提出了基于混合对数据进行聚类的学习框架,具体研究内容包括:1)如何处理具有混合类型属性的数据.2)如何学习数 ...

  8. 三维图形几何变换算法实验_基于深度学习的三维重建算法综述

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 00 前言 目前,三维重建技术已在游戏.电影.测绘.定位.导航.自动驾驶.VR/AR.工业制造以 ...

  9. fp算法例题_机器学习(九)—FP-growth算法

    本来老师是想让我学Hadoop的,也装了Ubuntu,配置了Hadoop,一时间却不知从何学起,加之自己还是想先看点自己喜欢的算法,学习Hadoop也就暂且搁置了,不过还是想问一下园子里的朋友有什么学 ...

最新文章

  1. 【IntelliJ IDEA】导出可执行 JAR 包
  2. Winform自动更新组件分享
  3. 写给游戏编程自学者的入门指南
  4. FreeBSD挂截U盘和光盘
  5. Python办公自动化,对文件进行自由操作
  6. markdown下编辑latex数学公式
  7. linux django 指定端口,linux部署django项目流程(全)
  8. Bootstrap3 表单支持的控件
  9. 这是一个最不缺“大师”的时代
  10. C# Xamarin移动开发基础进修篇
  11. mysql仓库管理软件破解版_Max(TM)仓库管理软件|Max(TM)仓库管理系统下载_v2.0.5.1 MySQL网络版_9号软件下载...
  12. AVOD:点云数据与BEV图的处理及可视化
  13. java使用fast报表控件_FastReport报表控件的使用
  14. 发现了一个好用的艺术字体转换器,也太方便了吧
  15. 数据压缩和归档(二)、zipfile
  16. Beaglebone Black – 连接 GY-91 MPU9250+BMP280 九轴传感器(1)
  17. 2.4 线性丢番图方程
  18. 微信小程序 —— 在微信小程序里面退出小程序
  19. Kaggle泰坦尼克号生存预测挑战——数据分析
  20. 使用deno和oak开发的短链系统2.0

热门文章

  1. java中的账户冻结原理_java可重入锁(ReentrantLock)的实现原理
  2. windows的\r\n与Linux的\n
  3. Python实现一个数组除以一个数
  4. wget for windows 下载与安装
  5. 0pencv——图像腐蚀
  6. 计算polygon面积和判断顺逆时针方向的方法
  7. 天池入门赛--蒸汽预测
  8. 用 Python 爬虫框架 Scrapy 爬取心目中的女神
  9. java调用shell脚本及注意事项
  10. login控件authenticate_asp.net Login控件基本属性及事件说明