0

我创建了一个最大内存大小为 100000 的 DQN。如果它的大小大于最大大小,我有一个函数可以删除内存中最旧的元素。当我运行 200 集时,我注意到在第 125 集时内存已经满了。我的 DQN 可以删除剩余剧集的最旧体验吗?

4

1 回答 1

0

是的。自然地,使用 dqn 可以从缓冲区中删除较旧的剧集。但是,如果在那些早期的情节中有重要的事件导致奖励,那么代理可能不会训练得那么好。你的观察空间有多大,是图像还是什么?您应该能够以 GB 为单位计算总缓冲区的大小。只要这适合您的 ram,我建议您增加缓冲区大小。如果您将其增加到超过 ram 容量,程序将崩溃。我还建议为您的缓冲区使用 python 集合“deque”。它充当具有最大大小的数组。因此,当您附加到它时,它会自动删除第一个元素,因此缓冲区的大小始终相同。

于 2020-05-27T10:35:14.457 回答