强化学习确定性策略比非确定性策略更差

3
我们有一个自定义的增强学习环境,在其中运行来自稳定基线3的PPO代理,用于多动作选择问题。代理按预期进行学习,但当我们评估训练代理的学习策略时,如果设置 deterministic=True,代理的表现会变差(即奖励降低约50%),而如果设置deterministic=False,则表现更好。该研究的目标是为实际问题找到新的策略,因此最好找到一种确定性策略,因为这对大多数人来说更易理解...而更随机的行动带来更好的表现似乎是不合常理的。 文档中只提到了“deterministic (bool) – 是否返回确定性动作”。我理解为deterministic=False表示从已学习的分布中抽取动作,具有一定的随机性(即一个特定状态可能会导致多个不同的动作),而deterministic=True表示动作完全基于已学习的策略(即一个特定状态总是导致一个特定的动作)。
问题是当在deterministic=True的情况下表现不如deterministic=False的时候,这意味着代理和/或环境的什么情况?


面对与PPO相同的行为。如果您能在新答案中分享更多经验,那将是非常好的。我已经尝试了许多方法来使我的策略更加健壮,以便它不依赖随机性来解决问题,但迄今为止没有成功(我正在这里记录我的旅程:https://medium.com/@manubotija/list/my-trip-into-reinforcement-learning-d6c244d5aa29)。 - manubot
1个回答

4

在将随机代理变为确定性代理之前,您需要非常谨慎。这是因为它们可能无法实现某些目标。考虑具有8种状态的以下简化示例:

|   | # |   | # |   |
| X |---| G |---| X |

'G'代表目标,'X'代表陷阱,'-'代表墙壁,'#'表示无法以确定的方式解决。例如,如果在'#'处的策略是向左移动,则从左上角的两个状态到达目标的机会将永远不存在。随机策略的优势在于可以避免这种问题,并让智能体找到通往目标的路径。

此外,行动的随机性随着时间的推移应该减少,以反映特定行动是正确的确定性,但当然在某些状态(如上面的'#')可能仍存在重大不确定性。


我不理解你的论点和例子,因为一个总是向左走的 # 策略是一个糟糕的策略,如果它依靠随机性向右走,那么这意味着它仍在探索并需要训练。我仍然不明白为什么一个经过训练的策略需要是随机的。 - manubot
重要的是要理解,这种情况下它永远无法通过固定策略从每个状态中找到目标,因为这些状态非常相似,以至于无法区分但需要不同的操作。如果所有状态都容易区分,那么当然可以为每个单独的状态获取正确的操作。 - Andy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接