【发布时间】:2018-12-06 17:44:06
【问题描述】:
在重放强化学习中使用的 Q-learning 算法中,人们会使用一种数据结构,其中存储用于训练的先前经验(一个基本示例是 Python 中的元组)。对于复杂的状态空间,我需要在大量不同的情况下训练代理以获得正确逼近 Q 值的 NN。经验数据将占用越来越多的内存,因此我应该对要存储的经验数量施加更高的限制,之后计算机应该从内存中删除经验。
您是否认为 FIFO(先进先出)会是一种在代理内存中操作数据消失过程的好方法(这样,在达到内存限制后,我会丢弃最旧的经验,这可能很有用允许代理更快地适应介质的变化)?我如何计算内存中良好的最大经验数量,以确保代理 NN 上的 Q 学习收敛到我需要的 Q 函数逼近器(我知道这可以凭经验完成,我想知道分析此限制的估计器是否存在)?
【问题讨论】:
-
DeepMind 使用随机洗牌方法来处理体验回放方法(模拟生物回忆)(nature.com/nature/journal/v518/n7540/full/nature14236.html),您可以使用 FIFO 存储/删除方法并在每个随机子集上进行训练重新学习步骤,因为随机抽样不需要任何花哨的东西。尝试将您的奖励值用作排序权重并删除最低数据可能会很有趣,但如果您的数据集太小或太局部化,您可能会引入过度拟合。
-
我建议您将您的问题移至 CrossValidated (stats.stackexchange.com),因为您会得到更多的关注和接受
标签: python machine-learning deep-learning reinforcement-learning q-learning