为什么体验重播需要脱离策略算法?


12

在介绍DQN“ 使用深度强化学习玩Atari ”的论文中,它提到:

请注意,在通过经验重放进行学习时,有必要学习非政策(因为我们当前的参数与用于生成样本的参数不同),这激发了选择Q学习的动机。

我不太明白这是什么意思。如果我们使用SARSA并记住a'要在s'内存中执行的操作的操作,然后像在DQN中一样从中采样批次并更新Q,该怎么办?而且,演员批评方法(特定于A3C)可以使用体验重播吗?如果没有,为什么?

Answers:


2

像SARSA一样,基于策略的方法希望每个状态下的操作都是基于代理程序的当前策略来选择的,该策略通常倾向于利用奖励。

这样做,当我们根据最后的奖励更新政策时,政策会变得更好。特别是在这里,它们更新NN的参数,以预测某个状态/动作的值。

但是,如果我们根据存储的过渡来更新策略(例如在体验重放中),则实际上我们正在从不再是当前策略的策略评估操作,因为该策略会随着时间的推移而演变,因此不再是基于策略的。

Q值是根据您从遵循当前代理策略的州获得的未来奖励来评估的。

但是,这不再正确,因为您现在正在遵循其他策略。因此,他们使用了一种基于epsilon-greedy方法的常见非策略方法。


谢谢,但是我仍然不明白这一点:如果我使用TD(0)更新规则,记住了一个过渡(s, a, r, s'),并且将这种体验用于重放;现在假设我目前的政策说,你应该拿a's',然后我大关Q(s, a)应该r + Q(s', a')做梯度下降。我认为我正在体验重播策略的经验。程序有问题吗?
DarkZero

我认为问题在于,由于您现在使用的策略与以前不同,并且使用旧策略选择了操作,因此您不能真正说这是策略上的:正确评估策略的Q值您应该对同一动作执行许多操作。在这里,您尝试使用该策略无法选择的操作来评估当前策略。
但丁

所以我可以说我在这里是非政策性的吗?从理论上讲,这样做的结果是什么?
DarkZero

1
因此,如果我说对了,要么要么使用非政策方法,例如Q学习,要么总是选择最大Q作为将来的预期奖励。不管当前的动作是什么,因为Q是学习Q的一个特性,如果您始终为将来选择最大Q,则在最优策略下Q会收敛到Q。或者,他应该坦率地遵循一项政策,通过该政策选择每项行动,包括未来的行动,并进行政策上的更新。是对的吗?
DarkZero

1
到现在为止,我还不明白为什么采用按策略的方法是好的。脱离政策的方法似乎具有更大的自由度,并且可以自行发现最佳政策。您还介意stats.stackexchange.com/questions/265354/…吗?非常感谢您的所有讨论。
DarkZero

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.