问题描述
采用PPO算法训练gym.make('CartPole-v0')
环境。
参数设置如下:
hidden_units = 50
layers = 3
learning_rate = 0.001 # critic 和 actor learning rate相同
max_train_episodes = int(1e4)
在训练过程中效果逐渐变好,即每50步的平均reward增加,但是loss函数不下降
但是训练过程中的 critic loss和actor loss(tensorboard)一直不下降
原因分析
随着训练的进行,Buffer内的数据不断增加,数据一直是动态变化的,因而 actor和critic训练的数据集是动态变化的,此和监督学习固定数据集有区别,因此loss不呈现下降趋势。
参考:
https://stackoverflow.com/questions/47036246/dqn-q-loss-not-converging