APE-X 主要是对传统DQN ,DDPG使用分布式actor获取replay memory数据并进行优先经验回放方法,从而使强化学习网络训练得更有效率(现在强化学习NN训练难度确实很高,效率低,所以要尽可能提升效率,所以这篇文章还是有帮助的),作者主要以atari训练实验来证明其方法的优越性。(毕竟并行化获取经验)
![](http://www.deeprlhub.com/assets/files/2022-11-27/1669553706-951392-image.png)
主要架构如下
![](http://www.deeprlhub.com/assets/files/2022-11-27/1669553717-477956-image.png)
![](http://www.deeprlhub.com/assets/files/2022-11-27/1669553732-417107-image.png)
有多个actor,每隔一段时间同时从learner那获取actor和critic参数(从而更好决策),使用的greedy ε 探索参数不同(实验得出这样更好),然后在环境中act 并获得TD error(就是往后看n步)(见后文),计算经验优先级(见后文),存入replay中。然后每隔一段时间learning去取batch数据,更新网络参数,并根据经验新的“惊艳度”td-error更新经验优先值。
作者运用这个架构在dqn和ddpg上的实验效果明显,另外发现在增加不同探索参数actor总 数目的情况下,探索效率呈正比提升,而每个时间t内,收集的replay memory 单位大小选取2百万和2.5百万效果差距不大。
![](http://www.deeprlhub.com/assets/files/2022-11-27/1669553747-67529-image.png)
论文复现
![](http://www.deeprlhub.com/assets/files/2022-11-27/1669553798-633600-image.png)
大规模深度强化学习发展史 link
大规模深度强化学习要充分的利用大规模的cpu-gpu 计算资源来实现神经网络模型的高效训练。
监督学习 link :数据并行(data parallelism)和模型并行(model parallelism)。一般做数据并行,然后一个GPU做超大batch的更新。对于深度学习的训练,一般batch越大,学习效果越快越好(GPT-3的batchsize达到了惊人的320万)。
A3C:2016年,让每个worker都做采样+训练,把梯度传给统一的learner做更新,learner再把参数传给每个worker。
A2C:同步版本的,worker仅采集数据,传给learner做训练,快很多。
Ape-X:思想很简单,面向Off-Policy的算法如DQN,DDPG,有很多个Actor包含Network和Env进行采样,然后把采集的数据统一放到一个Replay Buffer当中,接下来Learner从Replay中取数据训练。
IMPALA:A2C的进阶版,取消了同步限制,通过importance sampling的做法来使得Actor和Learner可以相对独立的采样和训练,不用等待(本质上和PPO的做法一样)。和Ape-X对比不需要replay buffer(放一个来做临时存储也可以),面对的还是偏向于on-policy的DRL算法。对于大规模深度强化学习,有时候因为采样数据够多,反而不需要考虑sample inefficiency的问题了。
OpenAI Dota 2 link:整体架构上和IMPALA并没有本质区别,只不过OpenAI使用PPO而不是V-trace,另外,forword也是放在GPU上处理,不是CPU,对于网络巨大的model快一些。
Seed RL link:解决IMPALA的问题(其实在OpenAI Dota 2采用GPU进行forward就都解决了),实验结果:SEED RL相比IMPALA快了很多。
ACME link:看起来是一个类似RLLib的framework,直接让Actor采样。
作者:臻甄
链接:https://www.jianshu.com/p/61d341ec1467
来源:简书
版权声明:本文为CSDN博主「RainStarX」的原创文章
原文链接:https://blog.csdn.net/u013166171/article/details/84256404