问题遇到的现象和发生背景
在DDPG中,根据https://blog.csdn.net/blanokvaffy/article/details/86232658
问题一. 首先出现了action经过model会取边界值的问题。
问题二:reward的值取负值的问题
问题相关代码,请勿粘贴截图
问题一:我的解答思路和尝试过的方法
思路一:我以为是tanh的原因,去掉所有的tanh后,发现action的值是在发生变化的,但是结果很大。
思路二:我以为是对状态没有标准化的原因,对(状态-均值)、标准差 后的数据,action的取值在0.0001之间浮动。
思路三:我以为是多层神经网路造成的梯度消失问题,简化网络后,发现action的问题依旧存在。
思路四:我以为是初始权重的值的大小的问题,由normal_(0,1)改为normal(0,0.5),normal_(0,0.01),action的问题依旧存在!
当下:
我标准化后 状态数据, 降低权重初始值,简化神经网络后,去掉tanh的值。我用一个热力图,表示action的值的大小变化。
问题一的结果及报错内容
可以看到action的值 远远超过了【-3,3】的范围。我定的action的范围目标。并且随着model的训练,action的值是在逐渐增大的。
问题二的结果及报错内容
可以看到,reward的值,从训练开始到结束,一直都是负值。
训练的loss曲线倒是优化了