深度强化学习中折扣因子的最佳值可以在 0.2 到 0.8 之间吗?

人工智能 强化学习 折扣因子
2021-10-18 12:40:22

我现在正在阅读一本名为Hands-On Reinforcement Learning with Python的书,作者解释了 Reinforcement Learing 中用于折扣未来奖励的折扣因子,内容如下:

仅考虑直接奖励,折扣因子为 0 永远不会学习;同样,折扣因子 1 将永远学习寻找未来的奖励,这可能导致无穷大。因此折扣因子的最佳值介于 0.2 到 0.8 之间

作者似乎不打算进一步解释这个数字,但我读过的所有教程和解释都写出了 0.9 到 0.99 之间的最佳(或至少广泛使用的)折扣因子。这是我第一次看到如此低的折扣系数。

作者对折扣因素所做的所有其他解释与我目前所读到的相同。

作者在这里是正确的还是取决于案例?如果是这样,那么我应该将折扣系数设置为这样的数字低什么样的问题和/或情况?


编辑

我刚刚在 Quora 找到了以下答案

当然。折扣因子为 0 将永远不会学习,而接近 1 的因子将仅考虑最后一次学习。等于或大于 1 的因子将导致算法不收敛。通常使用的值是 [0.2, 0.8]

编辑:这是学习因素。折扣因素仅影响您使用奖励的方式。为了更好的解释:

状态-动作-奖励-状态-动作-维基百科

见变量的影响。

我不知道问题中写了什么,因为它在 Quora 中不可见,但似乎 0.2 到 0.8 的数字用于学习因素,而不是折扣因素。也许作者对此感到困惑......?不过,我不确定学习因素是什么。

1个回答

折扣因素不是你应该优化的东西。它通常是问题陈述的一部分。

出于实际目的,您可以将其设置为低于 1.0 以解决连续问题,而实际上您关心的是最佳长期奖励。避免连续问题无穷大的另一个选择是将问题重新表述为优化平均奖励例如 0.99 或 0.999 的高折扣因子应该会产生与基于平均奖励的策略类似的策略。

作者在这里是正确的还是取决于案例?

作者似乎完全错了,或者只是在这方面不善于解释自己。

如果是这样,那么我应该将折扣系数设置为这样的数字低什么样的问题和/或情况?

低折扣系数适用于您更关心即时奖励的情况。在这种情况下,您将其设置得如此之低。当你设置学习问题时,你决定你关心什么。折扣因子的值是决定最优策略的设置的一部分。您永远不会将其设置为低“以帮助优化”,因为更改值可能会更改最佳策略。