返回介绍

Sarsa

发布于 2025-05-02 13:36:20 字数 2388 浏览 0 评论 0 收藏

作者: Morvan 编辑: Morvan

今天我们会来说说强化学习中一个和 Q learning 类似的算法,叫做 Sarsa.

注: 本文不会涉及数学推导. 大家可以在很多其他地方找到优秀的数学推导文章。

在强化学习中 Sarsa 和 Q learning 及其类似,这节内容会基于之前我们所讲的 Q learning. 所以还不熟悉 Q learning 的朋友们,请前往我制作的 Q learning 简介 (知乎专栏). 我们会对比 Q learning, 来看看 Sarsa 是特殊在哪些方面. 和上次一样,我们还是使用写作业和看电视这个例子. 没写完作业去看电视被打,写完了作业有糖吃。

Sarsa 决策

Sarsa 的决策部分和 Q-learning 一模一样,因为我们使用的是 Q 表的形式决策,所以我们会在 Q 表中挑选值较大的动作值施加在环境中来换取奖惩. 但是不同的地方在于 Sarsa 的更新方式是不一样的。

Sarsa 更新行为准则

同样,我们会经历正在写作业的状态 s1, 然后再挑选一个带来最大潜在奖励的动作 a2, 这样我们就到达了 继续写作业状态 s2, 而在这一步,如果你用的是 Q learning, 你会观看一下在 s2 上选取哪一个动作会带来最大的奖励,但是在真正要做决定时,却不一定会选取到那个带来最大奖励的动作, Q-learning 在这一步只是估计了一下接下来的动作值. 而 Sarsa 是实践派,他说到做到,在 s2 这一步估算的动作也是接下来要做的动作. 所以 Q(s1, a2) 现实的计算值,我们也会稍稍改动,去掉 maxQ, 取而代之的是在 s2 上我们实实在在选取的 a2 的 Q 值. 最后像 Q learning 一样,求出现实和估计的差距 并更新 Q 表里的 Q(s1, a2).

对比 Sarsa 和 Q-learning 算法

从算法来看,这就是他们两最大的不同之处了. 因为 Sarsa 是说到做到型,所以我们也叫他 on-policy, 在线学习,学着自己在做的事情. 而 Q learning 是说到但并不一定做到,所以它也叫作 Off-policy, 离线学习. 而因为有了 maxQ, Q-learning 也是一个特别勇敢的算法。

为什么说他勇敢呢,因为 Q learning 机器人 永远都会选择最近的一条通往成功的道路,不管这条路会有多危险. 而 Sarsa 则是相当保守,他会选择离危险远远的,拿到宝藏是次要的,保住自己的小命才是王道. 这就是使用 Sarsa 方法的不同之处。

如果你觉得这篇文章或视频对你的学习很有帮助,请你也分享它,让它能再次帮助到更多的需要学习的人。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。