PPO
PPO是策略梯度算法的集大成者, 核心创新在于引入了 Clipped Surrogate(带裁剪的代理函数). 通过这个"安全锁", PPO 巧妙地解决了传统方法必须频繁重新采样导致的极低效率, 以及步子迈得太大容易练崩(不稳定性)的痛点. 它让模型能利用同一批数据进行多次小批量更新, 在确保训练平稳的同时, 极大地缩短了训练时间, 在复杂任务中实现了简单实现与顶尖性能的完美平衡.
策略梯度算法的'原生缺陷'
传统的策略梯度方法是 On-policy(在策) 的. 模型必须根据"当前状态"做出动作, 并观察结果. 一旦你根据采样的数据更新了模型参数(哪怕只更新了一点点), 原来的模型就变成了"旧模型", 而你手里的采样数据是"旧模型"产生的. 在数学理论上, 这些数据已经不能反映"新模型"的行为逻辑了. 如果不重新采样, 直接用旧数据训练新模型, 梯度偏差会极大, 导致模型迅速崩溃.
PPO的Surrogate解决方法利用重要性采样技术, 通过计算 新策略/旧策略 的概率比值, 实现"废物利用". 它让模型敢于利用同一批旧数据连续训练好几个 Epoch(多次小批量更新), 而不需要每走一小步就去重新跑一遍环境.
强化学习的流派
强化学习可以分为几个不同的流派或者分类:
- 基于价值流派(Value-based), 核心是学习一个价值函数, 通过评估每个动作的长期收益来选择最优的动作, 代表算法包括Q-learning, SARSA和DQN
- 基于策略流派(Policy-based), 不直接计算价值, 而是学习一个从状态到动作概率的映射, 直接优化策略, 代表算法有Policy Gradient
- 演员-评论家流派(Actor-critic), 结合了前两者的优点, 由Actor负责输出动作, Critic负责评价动作的好坏, 从而提高学习效率. 代表算法包括A2C, A3C, PPO和DDPG