我应该在策略梯度算法中使用探索策略吗?

人工智能 强化学习 政策梯度 探索-开发-权衡 置信上限 汤普森抽样
2021-10-28 04:40:38

在策略梯度算法中,输出是一个随机策略——每个动作的概率。

我相信如果我遵循策略(从策略中采样一个动作),我会使用探索,因为每个动作都有一定的概率,所以我会探索给定状态的所有动作。

在此类算法中使用额外的探索策略(如 UCB、Thompson 采样等)是有益的还是常见的?

2个回答

我相信如果我遵循策略(从策略中采样一个动作),我会使用探索,因为每个动作都有一定的概率,所以我会探索给定状态的所有动作。

是的,拥有随机策略函数是很多策略梯度方法实现探索的主要方式,包括REINFORCE、A2C、A3C。

在这样的算法中使用额外的探索策略(如 UCB、Thompson 采样等)是有益的还是常见的?

可以,但需要小心,因为策略函数的梯度采样是不同的。许多策略梯度方法都是严格的 on-policy,如果你简单地添加额外的探索,它们将不起作用。通过使用例如 Q learning 更新规则来调整 actor-critic 方法的critic 部分是相对简单的。然而,策略函数的梯度更棘手。

有一些策略梯度方法可以使用单独的、可调的探索函数。您可能会对深度确定性策略梯度(DDPG) 感兴趣 - 根据标题,它与确定性策略函数一起使用,并且通过在顶部添加单独的噪声函数来实现探索。然后将策略梯度的采样校正为偏离策略。

Neil Slater 的回答非常好,但我还有一些建议:

  • 您可以使用熵正则化。基本上,您修改您的损失函数以惩罚低策略熵(因此减少更多熵的损失),这应该防止您的策略过早变得“过于确定”。

  • 您还可以尝试最大熵方法,例如 SAC,它采用不同的策略来促进策略熵。