有没有办法将批量大小的概念转化为强化学习?

人工智能 神经网络 深度学习 强化学习 学习率 批量大小
2021-10-20 09:49:42

我使用神经网络作为强化学习的函数逼近器。为了让它训练得好,我需要选择一个好的学习率。挑选一个很难,所以我阅读了以编程方式选择学习率的方法。我看到了这篇博客文章,寻找良好的学习率和单周期政策,关于寻找周期性学习率和寻找良好的学习率界限。

所有关于这种方法的文章都讨论了在数据中测量不同批次的损失。但是,据我了解,在强化学习中,任务实际上并没有任何“批次”,它们只是具有可以由环境生成任意多次的情节,这也提供了奖励,然后用于优化网络.

有没有办法将批量大小的概念转化为强化学习,或者将这种循环学习率方法与强化学习结合使用?

2个回答

潜在的。

如果您进行离线强化学习,您基本上是通过对输入/输出对进行采样而不是逐集来学习逼近函数。在这里,您的批量大小可以完全按照普通监督学习问题进行设置。

如果您进行在线学习,那么我不清楚在监督学习中用于设置学习率的技术是否可以直接应用。

Russell & Norvig (17?18?)的 RL 章节很好地介绍了这两种方法。

根据我对强化学习的理解,你将拥有一个代理和一个环境。

在每一集中,代理观察状态s, 采取一些行动一个,然后得到一些奖励r,最后观察下一个状态s',然后一遍又一遍地做,直到剧集结束。

上述过程不会产生任何“学习”。那么你究竟是在何时何地“学习”的呢?你从你的历史中学习。在传统的 Q 学习中,每次你有一个新的观察时 Q 矩阵都会更新(s,一个,r,s+1'). 就像监督学习一样,你一个一个地放入训练样本。

同样,您可以在训练时“批量”输入训练样本,这意味着您“记住”了过去ñ观察并一起训练他们。我认为这就是你问题的答案。

此外,过去ñ观察结果可能具有您不想要的强相关性。为了打破这一点,您可能有一个更大的“内存”来存储许多观察结果,并且您每次训练模型时只随机抽样几个(这个数字是您的新批量大小)。这称为经验回放