使用DDPG算法,env文件自己写的,代码可以运行,但是训练到最后actor总是选择action_space的边界,这可能是哪些原因造成的? PS:我试了加动作噪声,修改参数,换成TD3算法,都还是会输出边界值。有人说可能是激活函数sigmoid或tanh的饱和区导致的,我不是太理解。不知道有人遇到过类似问题的吗?可否分享下解决方法~~
你说的这个情况很多人包括我都遇到过。最后不约而同都是通过修改环境和奖励函数解决的,也就是说这种情况大概率是你的环境编写有bug,或者你的奖励函数不合理导致选择边界动作才是最优解。
[未知] 首先尝试把激活函数变成Relu排除梯度问题,然后检查环境和奖励函数
KKJIN 好的,谢谢~~