首页 > 其他分享 >June 2021-Continuous Transition: Improving Sample Efficiency for Continuous Control Problems via Mix

June 2021-Continuous Transition: Improving Sample Efficiency for Continuous Control Problems via Mix

时间:2023-05-21 10:55:55浏览次数:50  
标签:Control transition 线性插值 Continuous Problems 离散 轨迹 连续 流形

摘要:
尽管深度强化学习(RL)已成功应用于各种机器人控制任务,但由于样本效率较差,将其应用于现实世界任务仍然具有挑战性。为了克服这一缺点,一些工作侧重于在训练过程中重用收集的轨迹数据,将其分解为一组策略无关的离散变迁。然而,它们的改进有些边际,因为i)转换的数量通常很小,ii)值分配只发生在联合状态中。
针对这些问题,提出一种简洁而有效的连续transition构造方法,通过挖掘轨迹上潜在的transition来挖掘轨迹信息。本文建议通过对连续transition进行线性插值来合成新的transition用于训练。为了保持构建的transition的真实性,还开发了一个鉴别器来自动指导构建过程。广泛的实验表明,所提出的方法在MuJoCo中各种复杂的连续机器人控制问题上实现了样本效率的显著提高,并优于先进的基于模型/无模型的强化学习方法。源代码是可用的

I. INTRODUCTION

  在这些方法中,通过将轨迹数据分割为一组根据动作的离散tranasition(即{(st, at, st+1, dt, rt)}t=0: t−1),从数据中删除policy的印记,以便这些transition只依赖于直接的状态和动作,并且可以重用。然而,将一个episode分割为几个离散的transition仍然对样本效率有有限的提高,因为trnaistion的数量通常很少,并且在训练期间对策略来说只有几个联合状态(即{st}t=0: t)可见。

提高sample从轨迹到连续transition的效率。从左到右依次为轨迹、离散transition和通过插值连续离散transition得到的连续transition。

  看到通过将轨迹分解为离散transition来提高样本效率的巨大成功,我们想知道提取的transition是否可以更密集,并且可以使用轨迹的更多状态来改进策略。

  传统上,扩展数据最流行的策略是通过数据增强。最近提出的MixUp技术是一种非常简单有效的数据增强方法,用于增强深度分类模型的性能。
  通过线性插值随机数据样本对及其训练目标,MixUp生成一个合成的训练样本集,并使用这些流形外(out-of-manifold) examples来正则化深度模型。
  这些方法揭示了通过从已经存在的数据中构建数据来提高深度神经网络性能的潜力。然而,这些策略大多数是针对图像输入开发的,仍然没有有效的方法来增强强化学习中的特征输入

  本文通过类似mixup的策略进一步从轨迹数据中提取transition——线性插值两个连续的transition,来开发强化学习中提高样本效率的潜力。与连续的机器人控制任务一样,连续的状态、动作和奖励通常是相似的,并且可以顺利地进行转换。从这个意义上说,通过对两个连续的transition进行线性插值所构造的transition可能存在于实际的transition流形中或离实际的transition流形不远。通过这种方法,我们可以从连续变化的轨迹中提取无限数量的过渡。

主要贡献包括两个方面:

  1. 提出构建连续transition,以进一步提高强化学习在连续控制问题上的样本效率;
  2. 为了使连续transition保持在离真实转换流形不远的地方,引入了一个基于能量的鉴别器来自动调整beta分布的温度系数。广泛和全面的实验评估表明,所提出的框架在复杂的连续控制任务上实现了样本效率的明显提高。

II. RELATED WORK

Improving Sample Efficiency

提高样本效率是强化学习中最关键的问题之一;
考虑到:探索-学习过程,如何更好地优化策略以及如何高效地探索环境;
考虑环境因素,如何学习等动力学模型

Data Augmentation

在强化学习领域,数据增强仍然应用于具有图像输入的任务。据我们所知,RL中对特征输入的数据增强仍然是无差别的

III. PRELIMINARIES

Reinforcement Learning.

MixUp.

线性插值w.r.t.插值比∈ [0, 1]:

IV. METHODOLOGIES

Continuous Transition.

  transition的数量通常很小,值的分配只发生在它们的联合状态上。这些联合状态之间的中间信息没有收集到,并且大部分被浪费了。获取这些中间信息可以帮助策略更好地泛化,而不是记忆几个离散联合状态的信息。此外,如果这些轨迹在相似的中间状态相交,则可能有助于值在不同轨迹之间传播。因此,本文旨在挖掘沿着轨迹的中间信息的潜力,以进一步提高样本效率。
  为了获得用于训练的中间信息,借助于线性插值两个连续离散transition,以构建沿着轨迹平滑连续变化的new transition

具体来说,通过T't= M(Tt, Tt+1)获得continuous transition T't,其中是从beta分布采样的插值率,即 ~ B(β, β)(以温度β∈(0,1])为参数)。

  要插值的transition应该是连续的原因是,连续的transition在连续控制任务上通常具有更相似的动态信息(例如,位置)。如下图所示,与两个距离较远的transition(图中的蓝点)之间的插值相比,对两个接近的transition进行插值更有可能产生一个也存在于流形中的新transition(图中的黄色点)。然后,使用连续transition代替原始离散transition进行训练;

Automatic Temperature Tuning

推导了一个用于构建连续过渡的线性插值算法。最重要的超参数是beta分布的温度β∈(0,1]
当β接近0时,beta分布类似于2点伯努利分布。在这种情况下,从beta分布中采样的插值率约为0或1,将连续transition减少为一个离散transition(图中红点)。
当β接近1时,beta分布类似于均匀的[0,1]分布。在这种情况下,连续transition很可能位于流形之外(图中蓝点)。
在这种意义上,连续transition和真实transition流形之间的期望距离与β的值呈正相关。我们可以调整β以保持期望距离低于容差m。

采用基于能量的鉴别器来估计transition到transition流形之间的距离:

我们把(st, at)表示为xt和(st+1, rt, dt) = yt。
通过优化φ使所有离散transition的方程最小化来提升鉴别器

保证真实离散transition的估计距离为零,进一步通过减去离散transition的能量来校正鉴别器:

记Et为E(xt, yt);
E't是continuous transition T't的能量。当为0或1时,d~ (M(Tt, Tt+1))等于0,与参数φ无关

  不是要求用户手动设置温度,我们可以通过制定一个约束满足问题来自动化这个过程,本文旨在找到一种随机策略来构建连续的transition,使合成transition与实际流形之间的距离在容差m内。

形式上,我们想解决约束优化问题:

利用函数逼近和随机梯度下降优化β,简化目标为:

在每个梯度下降步骤之后,我们将β裁剪到(0,1]之内。

Algorithm



使用生成的continuous transitions更新Q函数

标签:Control,transition,线性插值,Continuous,Problems,离散,轨迹,连续,流形
From: https://www.cnblogs.com/yunshalee/p/17417037.html

相关文章

  • EndpointController更新endpoint
    因kcm异常而没有更新endpoint停止kube-controller-manager删除Podcoredns后endpoint没有更新kube-proxy没有更新svckube-dns恢复kcm后更新endpoint启动kube-controller-manager后,去掉了异常corednsPodIPpkg/controller/endpoint/endpoints_controller.gosyncService......
  • ECPS 208 Control Systems控制系统
    ECPS208:ControlSystemsforCyberPhysicalSystemsHomeworkAssignmentNumber4HigherDimensionalQuadcopter-TrajectoryControlSpring2023Considerthecaseofa2Dquadcopter.Wewouldliketocontrolthequadcopterforavarietyof2Dtrajectories(in......
  • flutter系列之:使用AnimationController来控制动画效果
    目录简介构建一个要动画的widget让图像动起来总结简介之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。今天我们来尝试使用AnimationController来实现......
  • ARM DMA Controller PL330 使用经验分享
    总体简介DMAC提供一个AXI主接口来执行DMA传输,并提供两个APB从接口来控制其操作。DMAC采用TrustZone技术,其中一个APB接口运行在secure状态,另一个运行在非secure状态。secure策略是ARM的TrustZone技术一部分。整个DMA操作受一个小的指令集控制,这是与传统链表BD模式的不同之处。......
  • Stable Diffusion 的 ControlNet 扩展
    本文介绍如何安装ControlNet扩展?和ControlNet的模型安装,同时给了两个例子。一、ControlNet扩展安装进入StableDiffusion界面,点击扩展标签,选择从URL安装,然后输入ControlNet网址(https://github.com/Mikubill/sd-webui-controlnet),粘贴到对应的地方,然后点击安装。完成......
  • P1344 [USACO4.4] 追查坏牛奶 Pollutant Control (网络流)
    P1344[USACO4.4]追查坏牛奶PollutantControl(网络流)题目链接目录P1344[USACO4.4]追查坏牛奶PollutantControl(网络流)题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示题目大意思路分析code双倍经验思路code后记不会网络流的可以看这个题目描述你第一天接......
  • How to use micro:bit V2 to control built-in sensors All In One
    Howtousemicro:bitV2tocontrolbuilt-insensorsAllInOnemicro:bitV2&PythonMakeCodeMakeCodeformicro:bithttps://makecode.microbit.org/https://www.microsoft.com/zh-cn/makecodeAdafruitCircuitPlaygroundExpresshttps://makecode.a......
  • Jmeter部署到Linux实现分发压测时,controller机器回收测试报告时卡死
    问题检查与定位:检查slave-A和slave-B两台执行机,执行机已经finished,无报错,说明执行机已完成测试任务采集到的日志批量分析后得出的结论:在完成并发测试后,vuser要进行释放,由于没有完全释放导致controller机器一直等待(像卡死),而实际上是等待,问题定位后,进行检查发现:问题1: reportge......
  • AMD Xilinx AXI Interrupt Controller 中断优先级
    中断优先级AXIInterruptController支持中断优先级。在VivadoBlockDesign中,bit-0连接的中断优先级最高,越靠近bit-0的中断优先级最高。AXIInterruptController的手册pg099中的描述如下:Prioritybetweeninterruptrequestsisdeterminedbyvectorposition.Theleas......
  • flutter系列之:使用AnimationController来控制动画效果
    目录简介构建一个要动画的widget让图像动起来总结简介之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。今天我们来尝试使用AnimationController来......