如何更高效地压缩时序数据?基于深度强化学习的探索

本文探讨了利用深度强化学习进行时序数据压缩的方法,针对海量数据存储需求,提出了一种自适应多模式压缩算法AMMMO,通过两阶段框架实现了高效的数据压缩,对比传统算法如Gorilla和MO,平均压缩率提升约50%,并在运行效率上达到了GB/s级。

简介: 随着移动互联网、IoT、5G 等的应用和普及,一步一步地我们走进了数字经济时代。随之而来的海量数据将是一种客观的存在,并发挥出越来越重要的作用。时序数据是海量数据中的一个重要组成部分,除了挖掘分析预测等,如何高效的压缩存储是一个基础且重要的课题。同时,我们也正处在人工智能时代,深度学习已经有了很多很好的应用,如何在更多更广的层面发挥作用?本文总结了当前学术界和工业界数据压缩的方法,分析了大型商用时序数据压缩的特性,提出了一种新的算法,分享用深度强化学习进行数据压缩的研究探索及取得的成果。

image.png

彼节者有间,而刀刃者无厚;以无厚入有间,恢恢乎其于游刃必有余地矣。
——庖丁解牛

深度学习的本质是做决策,用它解决具体的问题时很重要的是找到契合点,合理建模,然后整理数据优化 loss 等最终较好地解决问题。在过去的一段时间,我们在用深度强化学习进行数据压缩上做了一些研究探索并取得了一些成绩,已经在 ICDE 2020 research track 发表(Two-level Data Compression using Machine Learning in Time Series Database)并做了口头汇报。在这里做一个整体粗略介绍,希望对其它的场景,至少是其它数据的压缩等,带来一点借鉴作用。

背景描述

1 时序数据

时序数据顾名思义指的是和时间序列相关的数据,是日常随处可见的一种数据形式。下图罗列了三个示例:a)心电图,b)股票指数,c)具体股票交易数据。

image.png

关于时序数据库的工作内容,简略地,在用户的使用层面它需要响应海量的查询,分析,预测等;而在底层它则需要处理海量的读写,压缩解压缩,采用聚合等操作,而这些的基本操作单元就是时序数据 ,一般(也可以简化)用两个 8 byte 的值进行统一描述。

可以想象,任何电子设备每天都在产生各种各样海量的时序数据,需要海量的存储空间等,对它进行压缩存储及处理是一个自然而然的方法。而这里的着重点就是如何进行更高效的压缩。

2 强化学习

机器学习按照样本是否有 groundTruth 可分为有监督学习,无监督学习,以及强化学习等。强化学习顾名思义是不停地努力地去学习,不需要 groundTruth,真实世界很多时候也没有 groundTruth,譬如人的认知很多时候就是不断迭代学习的过程。从这个意义上来说,强化学习是更符合或更全面普遍的一种处理现实世界问题的过程和方法,所以有个说法是:如果深度学习慢慢地会像 C/Python/Java 那样成为解决具体问题的一个基础工具的话,那么强化学习是深度学习的一个基础工具。

强化学习的经典示意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值