154、PPO近端策略优化:裁剪目标与自适应KL惩罚在机器人训练

发布时间:2026/9/1 13:27:02
154、PPO近端策略优化:裁剪目标与自适应KL惩罚在机器人训练 154、PPO近端策略优化:裁剪目标与自适应KL惩罚在机器人训练从一次训练崩溃说起上周调试一个六轴机械臂的推箱子任务,策略网络在两千步时突然奖励曲线断崖式下跌,从+85直接砸到-120。翻看日志发现,新旧策略的KL散度在崩溃前已经飙到0.37——这个数字意味着策略更新幅度大到完全覆盖了之前的探索成果,相当于你刚教会机器人往左走,下一秒它就忘了左手是哪只。这种训练崩溃在机器人领域太常见了,尤其是用PPO的时候。今天这篇笔记,就围绕PPO里两个最核心的防崩机制——裁剪目标(Clipped Objective)和自适应KL惩罚(Adaptive KL Penalty)——结合我实际调试机器人策略的踩坑经历,把原理和代码掰开揉碎讲清楚。为什么PPO要防“步子迈太大”先回到策略梯度最朴素的直觉:我们想让策略往奖励增大的方向挪动,但挪多少合适?TRPO用硬约束限制新旧策略的KL散度,计算量感人,而且二阶优化在机器人高维动作空间里经常数值不稳定。PPO的聪明之处在于把约束软化,用一阶优化就能逼近TRPO的效果。但“软化”不等于“随便”,裁剪和KL惩罚就是两道保险丝,防止策略更新幅度失控。我在真实机器人上跑PPO时,最直观的感受是:动作空间如果是连续关节角度,策略稍微激进一点,末端执行器就会画出诡异的弧线,轻则任务失败,重则撞到限位开关。所以PPO的防崩机制不是学术洁癖,是保命用的。裁剪目标:简单粗暴但有效PPO的裁剪目标函数长这样:L_CLIP(θ) = E_t[ m