# ========================================== # Proximal Policy Optimization (PPO-Clip) # Pendulum-v1 配置 # 参考论文: Schulman et al., 2017 (arXiv:1707.06347) # ========================================== # --- 算法核心参数 --- gamma: 0.9 # 折扣因子 (Pendulum 短周期任务用 0.9 比 0.99 更易收敛) gae_lambda: 0.95 # GAE λ (论文 Table 3) clip_epsilon: 0.2 # 概率比率裁剪范围 [1-ε, 1+ε] lr: 0.001 # 学习率 (PPO on-policy 更新少,适当提高 lr) # --- 网络更新参数 --- n_epochs: 10 # 每轮收集后用同一批数据重复优化的 epoch 数 batch_size: 64 # mini-batch 大小 vf_coef: 0.5 # 价值损失系数 c1 (公式9) entropy_coef: 0.0 # 熵奖励系数 c2 (Pendulum 简单任务,不需要额外探索奖励) max_grad_norm: 0.5 # 梯度裁剪上限 # --- 数据收集参数 --- steps_per_update: 1024 # 每次更新前收集的步数 (缩短到 5 个 episode 更新一次,加速学习) # --- 训练循环控制 --- max_episodes: 500 # PPO 是 on-policy,需要更多 episode 才能收敛 max_steps: 200 # 每 episode 最多步数 (Pendulum-v1 默认 200 步截断)