abstract
本文提出了一种用于大规模深度强化学习的分布式架构,可以使agent能够从比以前数量级更多的数据上更有效地学习。该算法将行为与学习解耦,多个分布式actor与环境进行交互,产生的数据存储在经验回放记忆池中,learner再现经验样本并更新神经网络。该架构依赖于优先记忆重放,只关注actor生成的最重要的数据。
Q1: 分布式训练的方法和流程?
Q2: 优先记忆重放解决了哪些问题?优先级排序的实现方法?如何保证随机性?不优先的记忆能否被有效学习?
introduction
分布式训练的常规方法侧重于并行化梯度计算来更快地更新参数,本文中更新了数据的生成与选择方式,发现仅此一项足以改善结果。
本文使用这种分布式架构扩展了DQN和DDPG,并在Arcade Learning Environment中和一系列连续任务中进行评估,在 Atari 游戏上实现了最先进的性能。
background
- 分布式随机梯度下降:
分布式随机梯度下降被广泛用于监督学习,通过并行化更新参数的梯度来加速神经网络的训练,由此产生的参数更新可以同步、可以异步。受此启发,分布式异步参数更新和分布式数据生成应用于深度强化学习中。 - 分布式重要性采样:
从数据集中非均匀采样并根据采样概率对更新进行加权以抵消由此引入的偏差,可以减少梯度的方差来提高收敛速度。
【An alternative is to rank samples according to their latest known loss value and make the sampling probability a function of the rank rather than of the loss itself】----------详见论文《Prioritized Experience Replay》 - 优先记忆重放:
experience replay在Q network上被证实非常有用。(有效解决了数据时序相关性和数据非静态分布的问题)还通过学习先前策略下的数据起到了过拟合的作用。
由于强化学习中奖励信号的稀疏,以及数据分布取决于agent策略的特点,有偏采样在强化学习中非常有用。
Ape-X architecture
Ape-X架构:
- 多个分布式actor, 每个actor有自己的环境,生成经验、将经验添加到共享的经验重放记忆池、计算初始优先级;
- 单个learner从记忆池中采样数据并更新网络和数据优先级;
- actor的网络会定期使用learner最新的网络参数进行更新;
数百个actor运行在CPU上生成数据,单个learner运行在GPU上学习更新策略,算法如下所示:
- 共享记忆池:任何actor发现的有用数据都可以使整个系统受益;
- Ape-X中的localBuffer优先级的计算,可以使数据在存入记忆池时拥有更准确的优先级;
- 经验数据的过时速度比梯度过时速度慢,所以并不要求低延迟通信;
- 可以结合许多分布式参与者的数据,通过给予不同参与者不同的探索策略,扩大他们共同遇到的经验多样性;
Ape-X DQN
double Q-learning with multi-step bootstrap targets as the learning algorithm and dueling network architecture as the function approximator q
不同的agent使用了不同的ε-greedy参数
Ape-X DPG
experiment
- actor数量对性能的影响:用不同数量的actor(8、16、32、64、128 和 256)在 6 个 Atarigame的子集上训练了 35 小时。 随着actor数量的增加,性能不断提高;
- 重放记忆池的容量对性能的影响:使用更大容量,有微小的性能提升;
- 其他:探索了数据的新近度以及生成数据策略的多样性 总结:多因素混