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

摘要:
尽管深度强化学习(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函数

posted @ 2023-05-21 10:44  lee_ing  阅读(18)  评论(0编辑  收藏  举报