近端策略优化(PPO)是一种强化学习(RL)算法,用于训练智能体在环境中做出决策。它属于策略梯度方法家族,通过估计期望奖励的梯度直接优化策略。PPO特别适用于深度强化学习,其中策略由大型神经网络表示,并且因其在简单性、稳定性和样本效率之间的平衡,已成为许多应用的标准选择。
该算法于2017年提出,作为信任区域策略优化(TRPO)的近似方法,后者是一种早期方法,旨在通过限制每次更新中策略的变化量来稳定训练。PPO通过使用裁剪的目标函数简化了这一过程,避免了TRPO二阶方法的计算开销。自2018年以来,PPO一直是OpenAI的默认强化学习算法,并已应用于从机器人技术到游戏玩法的各个领域。
核心机制
PPO是一种在策略算法,意味着它使用当前策略版本收集的数据来更新策略。核心思想是在策略上执行多步梯度上升,同时确保新策略不会偏离旧策略太远。这通过一个裁剪的替代目标实现,该目标惩罚使新旧策略之间的概率比率过大或过小的变化。
目标函数旨在提供策略改进的保守估计。通过裁剪比率,PPO防止了可能破坏训练稳定性的过大更新,这是策略梯度方法中的常见问题。该机制计算效率高,因为只需要一阶优化,不像TRPO那样使用黑塞矩阵。
与TRPO的关系
TRPO于2015年发表,通过使用信任区域方法限制新旧策略之间的KL散度,解决了早期算法(如深度Q网络(DQN))中的不稳定问题。然而,强制执行这一约束需要计算二阶导数的黑塞矩阵,这对于大规模问题效率低下。PPO被开发为一种近似方法,通过裁剪策略梯度来避免黑塞矩阵的计算。这使得PPO更易于实现和调整,同时在许多任务中达到相当或更好的性能。
应用
PPO已在研究和工业领域被广泛采用。在OpenAI,它被用作训练各种环境中智能体的默认强化学习算法。一个显著的应用是OpenAI Five,该系统在2019年击败了视频游戏Dota 2的职业选手。PPO还被用于控制机械臂、玩Atari游戏,以及其他需要顺序决策的领域。其稳健性和易用性使其成为从事强化学习问题的机器学习从业者的热门选择。
变体与扩展
已提出多种PPO变体以应对特定挑战。例如,一些版本采用自适应裁剪或使用不同的优势估计技术。PPO也常与其他方法结合,例如深度学习架构,以处理高维观测。该算法的设计影响了后续的强化学习研究,并且它仍然是新算法比较的基准。