SARSA算法:原理、实现与实验分析
1. SARSA算法的在线策略特性
SARSA是一种在线策略(on-policy)算法。在线策略算法意味着用于改进当前策略的信息依赖于用于收集数据的策略,主要通过以下两种方式体现:
- 目标值依赖生成策略 :训练Q函数的目标值可能依赖于生成经验的策略。例如在SARSA中,目标值 $y_i$ 依赖于下一个状态 $s’$ 中实际采取的动作 $a’$,而该实际动作又取决于当前的 $\epsilon$-贪心策略。
- 直接学习策略 :算法可以直接学习策略,即改变策略使好的动作更有可能被选择,差的动作更不可能被选择。为了实现这一改进,需要访问当前策略分配给所采取动作的概率。REINFORCE就是直接学习策略的在线策略算法的一个例子。
由于SARSA是在线策略算法,在训练Q函数近似器时,每次训练迭代只能使用当前策略收集的经验。一旦函数近似器的参数更新一次,所有经验都必须丢弃,重新开始经验收集过程。这是因为即使参数更新很小,也会改变策略。
考虑SARSA的TD更新公式:
$Q_{\pi_1}(s, a) \approx r + \gamma Q_{\pi_1}(s’, a’_1)$
如果使用不同策略 $\pi_2$ 生成的经验 $(s, a, r, s’, a’ 2)$ 来更新 $Q {\pi_1}(s, a)$,可能会导致更新错误。因为 $a’ 2$ 不一定与 $a’_1$ 相同,$Q {\pi_1}(s, a)$ 将无法反映在策略 $\pi_1$ 下在状态 $s$ 采取动作 $a$ 的
超级会员免费看
订阅专栏 解锁全文
49

被折叠的 条评论
为什么被折叠?



