首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发训练DDQN

并发训练DDQN
EN

Stack Overflow用户
提问于 2019-05-15 23:51:59
回答 1查看 109关注 0票数 1

我和我的朋友正在训练一个学习2D足球的DDQN。我训练了大约40.000集的模型,但它需要6天的时间。有没有一种方法可以同时训练这个模型?

例如,我有4个核心和4个线程,每个线程并发地训练模型10.000次。因此,训练40.000集的时间就像for循环的并行性一样,从6天减少到1,5天。

编辑:如果我们分别在4个线程中训练一个模型10.000集,形成一个由这些训练模型的平均值组成的新模型是否会产生训练40.000集的效果,还是会是一个训练了10.000集但更好的模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-16 04:30:23

我想这篇论文回答了你的问题:https://arxiv.org/pdf/1507.04296.pdf

这篇论文运行一个具有中央回放内存的中央学习器。此外,还有n工作器,它们是中央学习器的副本,每个工作器都有自己的回放内存。每个工人填充自己的重放内存,并且在每个训练步骤中可以使用自己的重放内存(如果它足够大)或使用中央重放内存。在每个动作选择之前,网络的权重与服务器同步,并且在每个训练步骤之后,梯度被发送回服务器。

还要考虑:https://arxiv.org/pdf/1602.01783.pdf

它提出了A3C,后来又提出了A2C,它是A3C的一个更简单的版本。问题的关键是,异步Q学习算法并没有因为A3C的性能而得到太多关注。基本上,使用分布式DQN算法效率不高,因为重放内存需要将大量数据从不同的工作进程来回移动到服务器。实际上,A3C就是为了解决这个问题而提出的,它使用重放内存,在每个worker中运行模型和环境的一个实例,并且只异步更新权重。

我希望这已经回答了你的问题。

换新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56153309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档