- 深度强化学习 Deep Reinforcement Learning 简称为 DRL
- 运行 DRL 算法代码(实际使用 + 调整参数),需要更多 DL 基础
- 阅读 DRL 算法论文(理解原理 + 改进算法),需要更多 RL 基础
深度强化学习算法能训练能智能体: 机械臂取物、飞行器避障、控制交通灯、机器人移动、交易股票、训练基站波束成形选择合适的权重超越传统算法。实际使用时,问题却很多:
- 一开始会问:算法那么多,要选哪个?训练环境怎么写?
- 选完后会问:**算法怎么调参?**收益函数 reward function 要怎么改?(看的人多,有空再写,太长了)
后一个问题,就是当前这篇文章 深度强化学习调参技巧:以 D3QN、TD3、PPO、SAC 算法为例
1.训练环境怎么写
强化学习里的 env.reset() env.step() 就是训练环境。其编写流程如下:
初始阶段:
- 不要一步到位,先写一个简化版的训练环境。把任务难度降到最低,确保一定能正常训练。
- 记下这个正常训练的智能体的分数,与随机动作、传统算法得到的分数做比较。DRL 算法的分数应该明显高于随机动作(随机执行动作)。DRL 算法不应该低于传统算法的分数。如果没有传统算法,那么也需要自己写一个局部最优的算法(就算只比随机动作的算法高一点点都可以,有能力的情况下,要尽量写好)。
- 评估策略的性能: 大部分情况下,可以