OpenAI 挑战《索尼克》,阿里南大队如何一举夺魁?(17)

不难发现,相比Atari的稀疏奖励,这里其实已经把问题简化了,除了1000的对通关时间的奖励,关于通关本身的奖励是稠密的:向前走就会有正向瞬时奖励,向后退就会有负向瞬时奖励。



这会显著的加速学习,但也带来一个致命缺陷,使得智能体的探索能力变得很弱,几乎没有回溯的能力,非常容易卡在一个需要回头走另一条路径的地方。针对这中情况,我们设计了一种非常巧妙的cache机制,使得智能体回退不产生负向奖赏,同时也避免了这种情况下智能体反复前进后退的trivial解。

self

.episode_negbuf

=

0

...reward = env.

step

(action)

if

reward <

0

or self

.episode_negbuf

<

0

:    self

.episode_negbuf