Neural network 同时培训DDQN

Neural network 同时培训DDQN,neural-network,reinforcement-learning,Neural Network,Reinforcement Learning,我和我的朋友正在训练一个DDQN来学习2D足球。我训练了这个模特大约4万集,但持续了6天。有没有办法同时训练这个模型 例如,我有4个核心和4个线程,每个线程同时训练模型10.000次。因此,训练40000集的时间从6天减少到1,5天,就像for循环的并行性一样 编辑:如果我们分别在4个线程中训练一个10.000集的模型,那么由这些训练模型的平均值组成的新模型会产生训练40.000集的效果吗?还是一个训练了10.000集但更好的模型?我想这篇论文回答了你的问题: 本文运行一个中央学习器,具有中央

我和我的朋友正在训练一个DDQN来学习2D足球。我训练了这个模特大约4万集,但持续了6天。有没有办法同时训练这个模型

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


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

我想这篇论文回答了你的问题:

本文运行一个中央学习器,具有中央重放记忆。此外,还有
n
工作者是中心学习者的复制品,每个人都有自己的重放记忆。每个工人都会填充自己的重播内存,并且在每个列车步骤中都可以使用自己的重播内存(如果足够大)或使用中央重播内存。在每个动作选择之前,网络的权重将与服务器同步,在每个训练步骤之后,梯度将发送回服务器

还应考虑:

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

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


Afshin

我想这篇文章回答了你的问题:

本文运行一个中央学习器,具有中央重放记忆。此外,还有
n
工作者是中心学习者的复制品,每个人都有自己的重放记忆。每个工人都会填充自己的重播内存,并且在每个列车步骤中都可以使用自己的重播内存(如果足够大)或使用中央重播内存。在每个动作选择之前,网络的权重将与服务器同步,在每个训练步骤之后,梯度将发送回服务器

还应考虑:

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

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


Afshin

您是否正在寻找有关如何并行化培训的信息?如果是这样,您需要提供有关您的框架、批处理结构和可用GPU硬件的详细信息。我们正在CPU上培训该模型,我们正在使用PyTorch。此外,我们还使用经验回放来训练模型。我们的批量大小为32,体验包括<状态、行动、奖励、下一个状态>,如果您想更有效地培训批量,我将明确建议您使用GPU。感谢您的建议。您是否正在寻找有关如何并行化培训的信息?如果是这样,您需要提供有关您的框架、批处理结构和可用GPU硬件的详细信息。我们正在CPU上培训该模型,我们正在使用PyTorch。此外,我们还使用经验回放来训练模型。我们的批量大小是32,体验包括<状态、行动、奖励、下一步状态>,如果您想更有效地训练批,我将明确建议您使用GPU。感谢您的推荐。非常感谢您的帮助。非常感谢您的帮助。