SARSA算法:原理、实现与实验分析
1. 策略内算法(On - Policy Algorithms)
SARSA是一种策略内算法,即用于改进当前策略的信息依赖于收集数据所使用的策略,主要体现在以下两个方面:
- 目标值依赖生成策略 :训练Q函数的目标值可能依赖于生成经验的策略。例如在SARSA中,目标值$y_i$依赖于在下一步状态$s’$中实际采取的动作$a’$,而这个实际动作取决于当前的$\epsilon$-贪心策略。
- 直接学习策略 :直接学习策略意味着改变策略,使好的动作更有可能被选择,差的动作更不可能被选择。为了实现这种改进,需要访问当前策略分配给所采取动作的概率。
作为策略内算法,SARSA在训练Q函数近似器时,只能使用当前策略收集的经验。每次更新函数近似器的参数后,所有经验都必须丢弃,并重新开始经验收集过程。这是因为SARSA的TD更新公式$Q_{\pi_1}(s, a) \approx r + \gamma Q_{\pi_1}(s’, a’ 1)$假设$a’$是使用策略$\pi_1$选择的。如果使用不同策略$\pi_2$生成的经验$(s, a, r, s’, a’_2)$,$a’_2$不一定与$a’_1$相同,会导致$Q {\pi_1}(s, a)$不能正确反映在策略$\pi_1$下从状态$s$采取动作$a$的预期累积未来折扣奖励。
2. 实现SARSA算法
2.1 动作函数:$\epsilon$-贪心
动作函数返回智能体在状态$s$中应执行的动作$a$。在SARSA中,$\epsilon$-贪心动
超级会员免费看
订阅专栏 解锁全文
122

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



