【问题标题】:Deep Q learning Replay method Memory Vanishing深度 Q 学习 Replay 方法 Memory Vanishing
【发布时间】: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


【解决方案1】:

在“深度强化学习”的preeminent paper 中,DeepMind 通过随机选择应该存储哪些经验来实现他们的结果。其余的体验都被丢弃了。

如果不了解您要解决的问题的更多信息,很难说 FIFO 方法会如何影响您的结果。正如 dbclik 指出的那样,这可能会导致您的学习代理过拟合。也就是说,值得一试。很可能存在这样一种情况,即使用 FIFO 使体验重放饱和会导致学习速度加快。我会尝试这两种方法,看看您的代理是否使用其中一种方法更快地达到收敛。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-25
    • 2021-08-18
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多