强化学习调参技巧二:DDPGTD3SAC算法为例:
Posted 汀、
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习调参技巧二:DDPGTD3SAC算法为例:相关的知识,希望对你有一定的参考价值。
1.训练环境如何正确编写
强化学习里的 env.reset() env.step() 就是训练环境。其编写流程如下:
1.1 初始阶段:
先写一个简化版的训练环境。把任务难度降到最低,确保一定能正常训练。记录正常训练的智能体的分数,与随机动作、传统算法得到的分数做比较。
DRL算法的分数应该明显高于随机动作(随机执行动作)。DRL算法不应该低于传统算法的分数。如果没有传统算法,那么也需要自己写一个局部最优的算法
评估策略的性能: 大部分情况下,可以直接是对Reward Function 给出的reward 进行求和得到的每轮收益episode return作为策略评分。有时候可以需要直接拿策略的实际分数作为评分
需要保证这个简化版的代码:高效、简洁、可拓展
1.2 改进阶段:
让任务难度逐步提高,对训练环境env 进行缓慢的修改,时刻保存旧版本的代码同步微调 Reward Function,可以直接代入自己的人类视角,为某些行为添加正负奖励。注意奖励的平衡(有正有负)。注意不要为Reward Function 添加太多额外规则,时常回过头取消一些规则,避免过度矫正。
同步微调 DRL算法,只建议微调超参数,但不建议对算法核心进行修改。因为任务变困难了,所以需要调整超参数让训练变快。同时摸清楚在这个训练环境下,算法对哪几个超参数是敏感的。有时候为了节省时间,甚至可以为 off-policy 算法保存一些典型的 trajectory(不建议
以上是关于强化学习调参技巧二:DDPGTD3SAC算法为例:的主要内容,如果未能解决你的问题,请参考以下文章