深度强化学习实验室报道
来源于: UC Berkeley博客
编辑: DeepRL
【导读】 从视觉观察中学习是强化学习(RL)中的一个基本但具有挑战性的问题。尽管算法与卷积神经网络相结合已被证明是成功的秘诀,但当前的方法仍在两个方面缺乏:
- (a)学习的样本效率
- (b)推广到新环境。
为此,作者提出了RAD(Reinforcement Learning with Augmented Data):使用增强数据进行强化学习,这是一个简单的即插即用模块,可以增强任何RL算法。经过证明,随机裁剪,颜色抖动,色块切除和随机卷积等数据增强可以使简单的RL算法在数据效率,泛化性,通用性,和wall-clock速度。在DeepMind Control Suite上,RAD在15个环境中的数据效率和性能方面都是最先进的。最后,与竞争的RL技术相比,作者提出的定制数据增强模块可实现更快的wall-clock 速度。
方法
在论文中,作者展示了数据增强如何在策略内和策略外提高标准RL算法的性能和泛化能力。同时将数据增强于
- (i)Soft Actor Critic(SAC)
- (ii)针对ProcGen环境的PPO。
结果
- RAD是DM\_Control 100k和DM\_Control500k基准上大多数(在6个中有5个)广泛基准测试环境中的最先进算法,与CURL,Dreamer,PlaNet,SLAC,SAC + AE和Pixel匹配或优于 SAC。
- RAD在大多数DeepMind控制算法(15个中的11个)中快速匹配基于状态的性能。对于数据效率,它的性能也与现有技术的现有技术(CURL)相当或更好。
- 相对于DeepMind控件上的所有其他增强,随机作物独立运行对最终性能的影响最大。我们烧掉6个常见增强的成对排列,并测量沃克的性能,以500k环境步长行走。尽管所有数据增强都有帮助,但仅凭随机裁剪即可获得最高性能。
- RAD在诸如BigFish和StarPilot的ProcGen环境上实现了最新的测试时间综合。同样,在BigFish环境中,使用随机作物的RAD相对基于像素的PPO可获得55.8%的相对增益。
- 在BigFish和StarPilot环境中,训练有100个训练级别的RAD优于训练有200个训练级别的基于像素的PPO。这表明,与简单地增加训练环境的数量相比,数据增强在学习可概括表示方面可以更有效。
- 在需要结构概括(例如适应新的地图布局)的环境中(例如Jumper和CoinRun),随机裁剪会失败。但是,诸如CoinRun之类的环境中的随机卷积和色彩抖动之类的色彩增强仍然可以改善测试时间性能。
为什么如此有效?
初始化及使用
所有依赖项都在conda\_env.yml文件中。它们可以手动安装,也可以使用以下命令安装:
conda env create -f conda_env.yml
要从基于图像的观察结果中训练RAD智能体进行大刀阔斧的任务,请从此目录的根目录运行bash script / run.sh。run.sh文件包含以下命令,可以对其进行修改以尝试不同的环境/扩充/超参数。
CUDA_VISIBLE_DEVICES=0 python train.py \ --domain_name cartpole \ --task_name swingup \ --encoder_type pixel --work_dir ./tmp/cartpole \ --action_repeat 8 --num_eval_episodes 10 \ --pre_transform_image_size 100 --image_size 84 \ --agent rad_sac --frame_stack 3 --data_augs flip \ --seed 23 --critic_lr 1e-3 --actor_lr 1e-3 --eval_freq 10000 --batch_size 128 --num_train_steps 200000 &
完整查看Github
【HomePage】 https://mishalaskin.github.io/rad/
【Arxiv】 https://arxiv.org/pdf/2004.14990.pdf
【Github】 https://github.com/MishaLaskin/rad
推荐阅读
专注深度强化学习前沿技术干货,论文,框架,学习路线等,欢迎关注微信公众号。
更多深度强化学习精选知识请关注深度强化学习实验室专栏,投稿请联系微信 aijishu20.