深度强化学习在时序数据压缩中的应用 - ICDE 2020收录论文

本文主要是介绍深度强化学习在时序数据压缩中的应用 - ICDE 2020收录论文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

前言:随着移动互联网、IoT、5G等的应用和普及,一步一步地我们走进了数字经济时代。随之而来的海量数据将是一种客观的存在,并发挥出越来越重要的作用。时序数据是海量数据中的一个重要组成部分,除了挖掘分析预测等,如何高效的压缩存储是一个基础且重要的课题。同时,我们也正处在人工智能时代,深度学习已经有了很多很好的应用,如何在更多更广的层面发挥作用?深度学习的本质是做决策,用它解决具体的问题时很重要的是找到契合点,合理建模,然后整理数据优化loss等最终较好地解决问题。在过去的一段时间,我们在用深度强化学习进行数据压缩上做了一些研究探索并取得了一些成绩,已经在ICDE 2020 research track发表(Two-level Data Compression using Machine Learning in Time Series Database)并做了口头汇报。在这里做一个整体粗略介绍,希望对其它的场景,至少是其它数据的压缩等,带来一点借鉴作用。

1. 背景描述

1.1 时序数据

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

关于时序数据库的工作内容,简略地,在用户的使用层面它需要响应海量的查询,分析,预测等;而在底层它则需要处理海量的读写,压缩解压缩,采用聚合等操作,而这些的基本操作单元就是时序数据,一般(也可以简化)用两个8 byte的值进行统一描述。
可以想象,任何电子设备每天都在产生各种各样海量的时序数据,需要海量的存储空间等,对它进行压缩存储及处理是一个自然而然的方法。而这里的着重点就是如何进行更高效的压缩。

1.2 强化学习

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


强化学习的经典示意图如下,基本要素为State,Action,和Environment。基本过程为:Environment给出State,Agent根据state做Action决策,Action作用在Environment上产生新的State及reward,其中reward用来指导Agent做出更好的Action决策,循环往复….
而常见的有监督学习则简单很多,可以认为是强化学习的一种特殊情况,目标很清晰就是groudTruth,因此对应的reward也比较清晰。

强化学习按照个人理解可以归纳为以下三大类:

  • DQN:Deep Q network,比较符合人的直观感受逻辑的一种类型,它会训练一个评估Q-value的网络,对任一state能给出各个Action的reward,然后最终选择reward最大的那个action进行操作即可。训练过程通过评估"估计的Q-value“”和“真正得到的Q-value”的结果进行反向传递,最终让网络估计Q-value越来越准。
  • Policy Gradient:是更加端到端的一种类型,训练一个网络,对任一state直接给出最终的action。DQN的适用范围需要连续state的Q-value也比较连续(下围棋等不适用这种情况),而Policy Gradient由于忽略内部过程直接给出action,具有更大的普适性。但它的缺点是更难以评价及收敛。一般的训练过程是:对某一state,同时随机的采取多种a

这篇关于深度强化学习在时序数据压缩中的应用 - ICDE 2020收录论文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402629

相关文章

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操