论文学习:Efficient Scheduling of Data Augmentationfor Deep Reinforcement Learning

摘要

        In deep reinforcement learning (RL), data augmentation is widely considered as a tool to induce a set of useful priors about semantic consistency and to improve sample efficiency and generalization performance. However, even when the prior is useful for generalization, distilling it to RL agent often interferes with RL training and degenerates sample efficiency. Meanwhile, the agent is forgetful of the prior due to the non-stationary nature of RL. These observations suggest two extreme schedules of distillation: (i) over the entire training; or (ii) only at the end. Hence, we devise a stand-alone network distillation method to inject the consistency prior at any time (even after RL), and a simple yet efficient framework to automatically schedule the distillation. Specifically, the proposed framework first focuses on mastering train environments regardless of generalization by adaptively deciding which or no augmentation to be used for the training. After this, we add the distillation to extract the remaining benefits for generalization from all the augmentations, which requires no additional new samples. In our experiments, we demonstrate the utility of the proposed framework, in particular, that considers postponing the augmentation to the end of RL training. https://github.com/kbc6723/es-da

        在深度强化学习(RL)中,数据增强被广泛认为是一种诱导一组有用的语义一致性先验、提高样本效率和泛化性能的工具。然而,即使先验对泛化有用,将其提取为RL智能体也常常会干扰RL训练并使样本效率退化。同时,由于RL的非平稳性,使得智能体对先验的遗忘。这些观察结果表明了两种极端的蒸馏时间表:(1)在整个训练中;或者(ii)只在最后。因此,我们设计了一种独立的网络蒸馏方法,在任何时间(甚至在RL之后)注入之前的一致性,以及一个简单而高效的框架来自动调度蒸馏。具体来说,所提出的框架首先关注于掌握训练环境,而不考虑泛化,即自适应地决定在训练中使用哪些增强或不使用增强。在此之后,我们加入蒸馏,从所有的增广中提取剩余的用于推广的好处,这不需要额外的新样本。在我们的实验中,我们证明了所提出的框架的实用性,特别是考虑将增强延迟到RL训练结束。

  • 我认为这里所指诱导出的语义一致性先验即通常在RL中会通过数据增强得到观测的深层特征

关注问题

  • 目前常通过数据增强来获得RL agent的泛化能力,本质是希望在训练过程中agent可以接触更多的轨迹和经验信息
  • 数据增强的方法在产生更多轨迹的同时会对训练产生影响,导致训练效果次优或是样本效率下降(经过数据增强之后的输入的语义信息会发生一定的变化,或是产生重要语义信息部分被修改等的风险)
  • 本文主要为了解决数据增强和RL训练之间的干扰问题,提高熟悉训练任务的样本效率和对不可见测试环境的泛化能力
  • 同时,类似于学习率的衰减和课程学习等思想,RL具有非平稳性。所以数据增强的效果是具有时间敏感性的。本文也对该点进行了验证。(非平稳性即对于同一行动的价值是会随着时间的变化而变化的,并不像SL中同一选择的回报永远相同)
  • 实现对数据增强的选择,比如对提高样本效率有用的数据增强应当在训练中执行,而仅对泛化有效的增强则应当在训练结束之后进行

本文贡献

  • 设计了DA,其中明确保留了RL智能体的知识,使得不仅在RL训练期间,而且在RL训练之后,都可以将增加的一致性先验提取到RL智能体中,而其他方法需要与RL训练同时使用,因此在我们的实验中表现出了对训练较强的干扰。
  • 确定了简单而有效的数据增强计时:无论是InDA还是ExDA,基于在SL中未观察到的时间敏感性的发现,即,建议的计时对RL特别有效。
  • 最终建立了UCB-ExDA, UCB-ExDA能够自动判断最佳的扩增时机,并证明了其相对于其他方法的优越性。当ExDA的最佳策略是将增强推迟到RL训练结束时,UCB-ExDA的优势尤为明显。

前提介绍

  • 本文的baseline选择了ppo算法,但作者认为这种方法很容易调整到其他算法中

方法介绍

Distillation with augmented observations (DA)

  • 这里使用了“distillation”这一词,如果考虑到知识蒸馏的思想则是基于通过学生网络学习教师网络以提高效率,在本文中,蒸馏的用法更像是将以往的正则化方法单独提取出来,作为一个独立的更新模块
  • 这种更新模块DA不会干扰强化学习的训练,因此可以在训练过程中或是训练结束之后的任意时刻被执行。
  • DA的设计重点在于解决数据增强对RL训练的干扰问题
  • 具体来说
    • 在DRAC中,作者通过设置两个关于策略和价值的正则化项实现数据增强对潜在特征的引入,此时ppo的loss与正则化项的loss是同步更新的
    • 本文中,DA部分将正则化的loss提取出来作为了一个单独的模块,和ppo的loss进行独立更新,同时对内容进行了修改。
    • (C)为DRAC中的loss,作者认为,如果这一loss可以通过对所有输入进行恒定响应而最小化为0 ,尤其是如果在RL训练结束之后采用该数据增强的话。
    • 作者对loss进行了修改,其中loss由(A)(B)两部分组成,由上式可以得知,在最小化LDA后,同样可以得到最小化DRAC loss的功能,同时可以使原始输入在\theta\theta _{old}之间保持一致,因此不会对RL的训练产生干扰(降低干扰?)。

 InDA与ExDA

  • InDA(算法1)在最小化LPPO和LDA之间交替,即PPO和DA是显式分离的,而在其他方法[26]中它们通常是同时执行的。这种清晰的分离减少了[15]干扰。
  • 我们改变S和T来研究数据增强的时间依赖性。
  • ExDA(算法2)在RL训练结束后进行精馏,其中DA和RL训练的长度分别用M和N参数化。

UCB-based adaptive scheduling frameworks

  • 受UCB- drac的启发,我们设计了一种自动增强方法,称为UCB- inda
  • 其中每个增强都对应于多臂强盗(MAB)问题中的一只手臂,并使用上置信度界(UCB)[3]评估其在训练中的潜在增益。
  • 与UCB-DRAC的区别在于,在数据增强集合中增加了不进行数据增强的选项
  • 参数细节
    • 一轮MAB对应于InDA的每个I epoch
    • 设φk(s)∈Φ为DA的第s轮所选的数据增强
    • G(s)为PPO和第s个DA在(I−1)个时期内的平均收益,即估计优势Aˆ和预测值Vθ的总和
    • UCB算法假设每只手臂从一个固定的分布独立产生奖励,并估计整个采样过程的经验均值。
    • 在RL中,收益G(s)是非平稳的,所以UCB-InDA计算移动平均增益¯Gk(s)
    • c为UCB勘探系数
    • Nk(s)为选取φk至s轮的次数

PAGrad

  • 作为InDA的替代方案,同样是设计用于减少对RL训练的干扰
  • 将RL训练与数据增强解释为多任务学习,其中LPPO和ldi分别对应于主任务损耗和辅助任务损耗。
  • 我们提出了一种PAGrad(投影辅助梯度)算法来计算LPPO的修正梯度,排除了辅助梯度∇ldi到主梯度∇LPPO之间的冲突
  • 后半部分表示与∇LPPO相反的可能干扰优化主目标LPPO的成分。
  • 它对LPPO和Ldis同时进行优化,不同于InDA采用的优化LPPO和Ldis的时间分离。
  • 它不同于[38]中提出的主辅交替的方法,以同等优先级完成每个任务,而我们对RL任务有明确的优先级。

实验部分

任务设置

  • 环境:
    • 在easybg模式下简化了easy模式并训练代理,其中与easy模式[5]的唯一区别就是只显示单一的背景。(这对于研究使用视觉增强对测试有帮助但对训练没有帮助的情况是有用的。)
    • 我们使用test-bg和test-lv两种模式来评估泛化能力,这两种模式分别包含不可见的背景和水平,以及我们用于训练的easybg模式。
  • 数据增强类型:
    • Random color(通过颜色抖动层或随机卷积层对图像进行变换)(可以为test-bg模式的不同背景提供很强的泛化)
    • Random crop(留下一个随机选择的矩形,并对图像的其余部分填充零)(这种增强在完全可观察的游戏中尤其有用,因为它强加了一种有效的注意力机制)
  • Baseline methods for RL with data augmentation.
    • RAD  
    • DrAC
    • DrAC+PAGrad(我们设计了另一种机制来缓解RL训练和增强之间的干扰)

Benefit of separating distillation from RL training.(从RL训练中分离蒸馏的好处)

  • 内容:在使用ppo训练到20M时间步长后,使用随机裁剪并使用不同的蒸馏方法。
  • 经过20M时间步长后,ExDA和ExDrAC没有进行RL训练
  • ExDA和ExDrAC之间的巨大差距证明了在提取之前的知识时,DA的设计显式地保留了RL的知识。
  • 一旦ExDA开始提取之前的信息,它就迅速学会了泛化能力。验证了RL训练后延迟蒸馏的想法
  • 比较蒸馏方法(InDA、DrAC和DrAC+PAGrad)(同时蒸馏和分开蒸馏)
    • 由于蒸馏产生的干扰,每种方法的性能都有退化。但InDA和DrAC+PAGrad的退化明显小于DrAC, DrAC是唯一一个没有优化RL目标和蒸馏损失分离的算法。
    • 注意到DrAC+PAGrad比InDA有更多的干扰,并且似乎没有施加先验,因为在检测中与PPO的差异不大。
    • 这验证了InDA的优越性,可以在消除干扰的同时提取先验信息。

Effective timings of distillation(有效的蒸馏时间)

  • 目标是确定蒸馏的有效时间(数据增强方法同样使用随机裁剪)
  • 为了比较泛化能力,我们使用JS散度测量原始观测和增强观测之间的策略距离
  • An effective timing: InDA
    • 随机裁剪的chaser(图5(a)和5(b))表示增加提高了训练的样本效率,从而提高了训练的泛化能力
    • InDA[0,5]的策略距离在停止使用DA后增加。因此,如果我们不继续使用DA,则泛化能力会下降、
    • 在这种情况下,InDA在整个RL训练中都应该使用,因为InDA[0,25]在训练和测试中都表现最好。
    • 尽快应用DA也很重要,因为InDA的效果[0,5]相对于InDA[20,25]的效果而言,在开始应用DA时比较迅速且显著。这表明自动化框架需要在早期阶段进行更多的探索。(指的是训练和测试前期吗?)
  • An effective timing: ExDA
    • 带有随机裁剪的《Heist》(图5(d)和5(e))显示了与《Chaser》情况相反的数据扩展使用,即尽可能地推迟数据扩展
    • 随机裁剪会产生轻微的干扰,但会立即提高泛化能力。
    • 来自随机裁剪的诱导偏差很容易被遗忘,因为InDA[0,5]的测试性能在停止蒸馏后立即饱和。(遗忘的概念)
    • InDA的测试性能曲线[20,25]紧随DA之后迅速上升
    • 图5(f)显示InDA[20, 25]缩小了两种策略在原始观察和增强观察上的差距。
    • 在训练过程中,持久施加随机裁剪降低了训练结果
  • Performance benchmark on InDA and ExDA
    • 在test-bg上,ExDA的表现优于其他随机颜色的基线。
    • 我们注意到ExDA在RL训练结束时只使用了0.5M的时间步长来注入先验,而其他的则使用了所有的训练数据。
    • ExDA在样本效率和随机裁剪泛化能力方面均优于lv测试。
    • DrAC+PAGrad略优于DrAC,而InDA与基于DrAC的各个算法之间存在较大差距。这再次证实了图4中观察到的InDA分离蒸馏的好处。
    • 结果表明,环境和增强的每种组合都有一个合适的时间来应用增强,使用正确的蒸馏时机,即在线(InDA, DrAC,或DrAC+PAGrad)或离线(ExDA),无论选择何种算法,都是刚性的。

Adaptive scheduling methods(自适应调度方法)

  • Adaptive selecting of timings: UCB-InDA and UCB-ExDA.
    • 我们采用了UCB-InDA,它估计了通过试验和错误获得的每个增强的收益或损害,并确定了最有帮助的一个
    • UCB-InDA能够识别出,对于Heist的训练来说,没有任何增加是最好的。这意味着ExDA比InDA更合适。
  • Fully exploitation of augmentation
    • 通过自适应选择提高了UCB-InDA和UCB-DrAC的训练性能,尤其是UCB-InDA优于UCB-DrAC。这个差距是由于在训练过程中对增加的变化具有鲁棒性。
    • 在概化方面,UCB-ExDA明显优于UCB-InDA,这得益于ExDA在RL训练结束时从完整的数据扩充集中提取了所有的先验。

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值