最近用TD3做一个仿真,不论我怎么修改参数,总是前期奖励比较正常地在增大,到后面奖励就开始下降(这张图是迭代次数比较少的情况,不算特别明显,有时候一直迭代到>1000次,奖励都是下降的趋势)
我参考了一些建议,有博主分析可能是学习率太大或者奖励设置不合理,我后面修改过学习率和奖励,但没什么变化,最后是想起TD3有引入噪声,我之前那版没有噪声是没有衰减的,加入噪声衰减然后得到了下面的效果,基本达到了我需要的收敛效果,当然这个图里面收敛比较快,因为输入数据不一样,有时候收敛也比较慢
总结:
当然,我觉得噪声衰减这个方法可能有一定的前提,首先我的学习率是设置了衰减,奖励也是在我反复调整很多次之后得到的,所以总体效果还可以,如果其他参数还很有问题的情况下,不一定会有这个效果。
我也只是新手,至于用在其他模型上的效果怎么样我不太好说,但可以作为一个尝试的手段;
另外就是,我引用的他人的代码,对于网络结构和初始化参数基本没修改,但跑出来效果还行,然后针对具体问题微调,最重要的可能还是你自己的模型是否合理,比如我有好几次遇到瓶颈都是因为我将自己的模型环境套进去时,有几处小错误,而不是学习算法本身的参数问题