PPO与剪辑如何配合工作?

PPO 与剪辑之间的默契配合技巧

直觉 + 数学 + 代码,给实践者

Photo by Tamanna Rumee on Unsplash

在强化学习中,Proximal Policy Optimization(PPO)经常被引用作为一种策略方法的示例,与值函数方法(如DQN)和包括TD3和SAC在内的演员-评论家方法大家族进行比较。

我记得一段时间前,当我第一次学习它时,并不被说服。许多老师采用了一种模糊而敷衍的方法。我不买账,你也不应该。

在本文中,我将尝试解释PPO是如何工作的,通过直觉和代码来支持数学。你可以尝试不同的情景,并自行验证它不仅在原理上工作,也在实践中工作,并且没有选择性。

为什么要费心?

使用stable-baselines3(sb3),可以在几分钟内实现PPO和其他SOTA模型。按照文档,任何人都可以运行它,无需了解底层模型。

然而,不管你是实践者还是理论家,基础都是重要的。如果你简单地将PPO(或任何模型)视为黑盒,你如何期望你的用户对你的交付结果有信心呢?

我将在本月晚些时候进行详细的代码解释,编写一个包装器,使得任何环境,无论是来自Gymnasium还是你自己的环境,都可以与任何sb3模型配合使用,无论空间是“离散”还是“连续”。(上个月,我展示了如何从TD(λ)派生出Monte Carlo、SARSA和Q-learning,只用了一套代码。)

明天的事情先到此为止,让我们活在当下!

PPO的前身

简单的策略梯度是策略方法中最基本的情况,其中直接学习和更新策略,而不是从某些值函数派生。缺点是在策略更新中存在高方差,这对于收敛性来说是有问题的,特别是在奖励稀疏的环境中。

TRPO的数学原理

TRPO(Trust Region Policy Optimization)确保新策略(“新”是指更新后)不会偏离旧策略太远。这是通过保证…