在训练具有经验回放的深度 Q 学习代理时,是否有一种合理的方法来推断最佳批量大小?

人工智能 q学习 dqn 深度学习
2021-10-22 21:53:49

我正在使用带有经验回放的 Deep-Q 学习来训练 RL 代理。在每一帧,我目前正在从一个最多存储 20000 个队列的队列中采样 32 个随机转换,并按照 Atari with Deep RL 论文中的描述进行训练。一切正常,但我想知道是否有任何合乎逻辑的方法来选择合适的批量大小进行训练,或者是否最好只使用网格搜索。目前,我只是使用 32,因为它足够小,我可以在整个训练过程中以 0.5fps 的惊人速度渲染游戏玩法。但是,我想知道批量大小的影响有多大,以及是否有任何标准可以概括所有深度 Q 学习任务。

1个回答

您无法进行特殊计算来确定任何情况下的最佳批量大小,因此您必须进行一些测试以确定哪种批量大小最适合。但是您可以考虑一些常见趋势,以使您的测试更容易。


如何选择批量大小

根据论文Accelerated Methods for Deep Reinforcement Learning,你可以从 DQN 中获得最佳性能(平均而言),批大小为 512。问题在于,这比通常的批大小 32 慢得多,而且大多数情况下性能改进并不值得。

性能与批量大小

如果您只是想测试您的代理,通常最好坚持使用 32 或 64 的批量大小,以便您可以快速训练代理,但仍能了解它的能力。但是,如果获得最佳性能是您的首要任务并且等待更长时间不是问题,那么您应该选择 512 的批量大小(更高实际上会导致更差的性能)或接近这个值。