← 上级:RL-04.实现框架与实践 · 算法:RL-03-11-算法-PPO · Buffer:RL-05-05-结构-Rollout-Buffer
PPO 实现核心:Rollout 缓冲 → GAE → 多 epoch clip 更新。以下为 CartPole 最小可运行结构。
一、Actor-Critic 网络
1 | import torch |
二、GAE 计算
1 | import numpy as np |
三、Rollout 收集
1 | class RolloutBuffer: |
四、PPO 更新
1 | import torch.nn.functional as F |
五、训练循环
1 | import gymnasium as gym |
六、要点
| 项 | 说明 |
|---|---|
| On-Policy | 每次 ppo_update 后 清空 Rollout |
| 优势标准化 | 稳定 clip 梯度 |
| 多 epoch | 同一批数据重复利用 $K$ 次 |
| 连续动作 | Actor 输出 Normal mean/std |
七、小结
- PPO = Rollout + GAE + clip surrogate + value/entropy loss。
- 下一篇:超参与调优