【ppo】强化学习ppo训练调参
在策略更新时,限制新旧策略差异,避免一步更新把策略推翻。
·
ppo特点
在策略更新时,限制新旧策略差异,避免一步更新把策略推翻
这意味着:
- ppo 天然偏保守
- 一旦策略早期形成“错误偏好”,后续很难纠正
- 奖励设计和 early-stage 行为分布,决定成败
奖励函数
- 首先目标奖励要大、终局错误惩罚也需要大
- 每一步应该有小奖励/惩罚指导模型该前进的方向,但不要大过整体目标的奖励/惩罚;同时应鼓励探索或者绕路,这就应该设置随步数增长而衰减的奖励/惩罚
多阶段奖励函数
对于复杂问题的强化学习,可以先设置简单奖励函数训练模型,待模型学到简单规则后再修改奖励函数为更复杂的设计,让模型学到更精细化的动作
学习率
actor优化器的学习率要设置为明显小于critic优化器,actor的学习依赖于critic,critic是回归任务也需要更快收敛,actor需要小学习率进行探索
可以参考以下学习率
actor_optimizer = torch.optim.Adam(actor_model.parameters(), lr=0.0001)
critic_optimizer = torch.optim.Adam(critic_model.parameters(), lr=0.0005)
网络训练
训练频率
多个episode之后再训练一次网络,单个episode之后训练网络有可能会出现方差大,导致训练不稳定,多个episode训练网络时将advantage也平均会更稳定
训练阶段
ppo比较通用,但收敛较慢,对于前期难训练或者想加快训练的任务,可以使用ddqn等收敛快的模型先训练前期阶段,后改为使用ppo继续训练
actor/critic网络
对输入网络的数据进行归一化很重要,可以平滑特征曲面,更容易优化,减少局部最优解的情况
探索
ppo训练中的核心为探索,前期应该强探索,后期降低探索系数,只有通过探索才能学到新的策略并优化策略
entropy_coef=0.01 # 前期
entropy_coef=0.005 # 后期
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)