虽然我可以设法让示例和我自己的代码运行,但我对 OpenAI gym API 背后的真实语义/期望更加好奇,特别是 Env.reset()
预期/需要何时重置?在每一集的结尾?还是只有在创建环境之后?
我宁愿在每集之前都认为这是有道理的,但我无法明确地阅读!
虽然我可以设法让示例和我自己的代码运行,但我对 OpenAI gym API 背后的真实语义/期望更加好奇,特别是 Env.reset()
预期/需要何时重置?在每一集的结尾?还是只有在创建环境之后?
我宁愿在每集之前都认为这是有道理的,但我无法明确地阅读!
您通常在整个剧集之后使用重置。因此,这可能是在您在 mdp 中达到最终状态之后,或者在您达到最大时间步长(由您设置)之后。我通常也会在训练开始时重置它。
因此,如果您处于起始状态“A”并且想要达到状态“Z”,您将运行时间步长从“A”->“B”->“C”...,然后当您到达终端状态“Z”,您使用重置开始新剧集,这会将您带回“A”。
for episode in range(iterations):
state = env.reset() // first state
for time_step in range(1000): //max amount of iterations
action = take_action(state)
state, reward, done, _ = env.step(action)
if done:
break // takes you to the next episode where the environment is reset