在介绍DQN“ 使用深度强化学习玩Atari ”的论文中,它提到:
请注意,在通过经验重放进行学习时,有必要学习非政策(因为我们当前的参数与用于生成样本的参数不同),这激发了选择Q学习的动机。
我不太明白这是什么意思。如果我们使用SARSA并记住a'
要在s'
内存中执行的操作的操作,然后像在DQN中一样从中采样批次并更新Q,该怎么办?而且,演员批评方法(特定于A3C)可以使用体验重播吗?如果没有,为什么?
在介绍DQN“ 使用深度强化学习玩Atari ”的论文中,它提到:
请注意,在通过经验重放进行学习时,有必要学习非政策(因为我们当前的参数与用于生成样本的参数不同),这激发了选择Q学习的动机。
我不太明白这是什么意思。如果我们使用SARSA并记住a'
要在s'
内存中执行的操作的操作,然后像在DQN中一样从中采样批次并更新Q,该怎么办?而且,演员批评方法(特定于A3C)可以使用体验重播吗?如果没有,为什么?
Answers:
像SARSA一样,基于策略的方法希望每个状态下的操作都是基于代理程序的当前策略来选择的,该策略通常倾向于利用奖励。
这样做,当我们根据最后的奖励更新政策时,政策会变得更好。特别是在这里,它们更新NN的参数,以预测某个状态/动作的值。
但是,如果我们根据存储的过渡来更新策略(例如在体验重放中),则实际上我们正在从不再是当前策略的策略评估操作,因为该策略会随着时间的推移而演变,因此不再是基于策略的。
Q值是根据您从遵循当前代理策略的州获得的未来奖励来评估的。
但是,这不再正确,因为您现在正在遵循其他策略。因此,他们使用了一种基于epsilon-greedy方法的常见非策略方法。
David Silver在本视频讲座中的46:10上谈到了这一点 http://videolectures.net/rldm2015_silver_reinforcement_learning/:体验重播使用当时流行的策略从选择,这是它的优点之一-它允许Q功能从以前的策略中学习,从而打破了最近的状态和策略之间的关联,并防止网络“锁定”到某种行为模式。
(s, a, r, s')
,并且将这种体验用于重放;现在假设我目前的政策说,你应该拿a'
上s'
,然后我大关Q(s, a)
应该r + Q(s', a')
做梯度下降。我认为我正在体验重播策略的经验。程序有问题吗?