我目前正在使用Ray在连续的环境中训练深度强化学习模型。
我正在使用的环境是由另一个人在OpenAI Gym中使用基线进行编码的,我正在研究该人试图在Ray中进行复制,以便可以将其并行化。尽管我无法复制此模型,但该模型在数千次发作后收敛于基线的大约5%时间。
我的问题是,AI停止非常快速地更改其策略,然后在其余的运行中平均收益保持大致相同。这与我尝试更改的每个参数无关。到目前为止,我已经尝试更改:
complete_episodes
中使用了truncated_episodes
和batch_mode
。我使用了rollout_fragment_length
,并确保train_batch_size
始终等于rollout_fragment_length
乘以工人人数entropy_coeff
在A3C中kl_target
,kl_coeff
和sgd_minibatch_size
注意:我正在docker映像中运行此程序,并已验证这是在另一台计算机上发生的,因此这不是硬件问题。
以下是我认为可能相互关联的危险信号的列表:
cur_kl_coeff
几乎立即变为零。据我了解,这意味着在最初的几次迭代之后,该模型并未进行有意义的权重更改。
但是,当损失仅仅是保单损失时,cur_kl_coeff
通常会发生变化。
注意:这不是代理商找不到更好的途径或奖励功能不重视良好行动的问题。
缩小显示平均奖励为何达到峰值。该特工的表现惊人,但无法重现成功。
而且,我不能对此施加太大压力,这不是我没有让代理运行足够长时间的问题。我已经在数十次运行中观察到了相同的行为,并且累积了数万次迭代。我知道模型可能需要很长时间才能收敛,但是模型始终会取得零的进展。
tldr; 尽管在某些跑步中获得了很高的回报,但我的模型并没有以任何有意义的方式改变其政策。