Atari得分与rllib DQN实现中的奖励

问题描述 投票:0回答:1

我正在尝试使用RLLib复制DQN分数以获取Breakout。经过5M步后,平均奖励为2.0,而使用DQN突围的已知分数为100+。我想知道这是否是因为报酬削减,因此实际报酬与Atari的分数不符。在OpenAI基准中,实际分数位于info['r']中,奖励值实际上是裁剪后的值。 RLLib是否也是这种情况?训练时有什么办法可以查看实际的[[平均分数?

reinforcement-learning openai-gym ray rllib dqn
1个回答
0
投票
根据list of trainer parameters,该库将默认裁剪Atari奖励:

# Whether to clip rewards prior to experience postprocessing. Setting to # None means clip for Atari only. "clip_rewards": None,

但是,张量板上报告的episode_reward_mean仍应与实际的非剪切分数相对应。


虽然平均得分2相对于Breakout基准而言根本不算多,但DQN的5M步幅可能不够大,除非您采用类似于彩虹的方法来显着加快速度。即使是DQN is notoriously slow to converge,因此您可能仍想使用更长的运行时间来检查结果,并且/或者考虑升级DQN配置。

我已经进行了一次快速测试,并且看起来奖励削减对Breakout的影响不大,至少在训练的早期就是如此(未剪成蓝色,剪成橙色):enter image description here

我对Breakout不太了解,无法对其评分系统发表评论,但是如果以后随着我们获得更好的绩效而获得更高的奖励(例如,获得相同的小奖励却获得更高的频率,我们应该开始看到两个分歧。在这种情况下,我们仍然可以将奖励归一化或将其转换为对数标度。

这是我使用的配置:

lr: 0.00025 learning_starts: 50000 timesteps_per_iteration: 4 buffer_size: 1000000 train_batch_size: 32 target_network_update_freq: 10000 # (some) rainbow components n_step: 10 noisy: True # work-around to remove epsilon-greedy schedule_max_timesteps: 1 exploration_final_eps: 0 prioritized_replay: True prioritized_replay_alpha: 0.6 prioritized_replay_beta: 0.4 num_atoms: 51 double_q: False dueling: False

您可能对他们的rl-experiments更感兴趣,他们在rl-experiments中将自己库中的一些结果与configurations一起发布到标准基准中。
© www.soinside.com 2019 - 2024. All rights reserved.