无模型的强化学习方法

这篇具有很好参考价值的文章主要介绍了无模型的强化学习方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

无模型的强化学习算法

学习「强化学习」(基于这本教材,强烈推荐)时的一些总结,在此记录一下。

动态规划算法需要马尔可夫决策过程是已知的(状态转移函数、奖励函数已知),智能体不用真正地与环境互动也能在「理性」世界里求得最优策略。

现实通常并非如此,环境已知恰恰是很少见的。所以这里来看看「无模型的强化学习方法」,主要介绍:基于 「时序差分」 的Sarsa 和 Q-learning。

时序差分方法

时序差分结合了「蒙特卡洛方法」和「动态规划」。在「蒙特卡洛方法」中我们知道,要想估计一个状态的价值,可以以该状态出发,模拟出大量状态转移序列再求得这些序列的期望回报:

\[ \begin{aligned} V{(s_t)} &= \frac{1}{k}\sum_{t=0}^k G_t\\ & = V{(s_t)} + \frac{1}{k}(G_t - V{(s_t)})--增量式\\ \end{aligned} \]

我们将 \(\frac{1}{k}\) 换成一个可任意设置的常数 \(\alpha\),表示对价值估计更新的步长;再将 \(G_t = E[R_t + \gamma V{(s_{t+1})}]\) 换成单步状态转移时的回报 \(r_t + \gamma V{(s_{t+1})}\),表示只需要当前步状态转移结束即可进行计算回报。可得到时序差分算法:

\[V(s_t) = V(s_t) + \alpha[r_t + \gamma V(s_{t+1}) - V(s_t)] \]

其中 \(r_t + \gamma V(s_{t+1}) - V(s_t)\) 被称为 「时序差分误差」

Sarsa算法

我们同样可以用时序差分算法来更新动作价值函数Q(s, a):

\[Q(s_t, a_t) = Q(s_t, a_t) + \alpha[r_t + \gamma Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t)] \]

这样一来,在不知道「奖励函数 \(R\)」和「状态转移函数 \(P\)」的情况下,我们也可以通过执行动作来和环境交互得到反馈的数据(执行动作的奖励和下一个状态),再根据得到的数据用时序差分算法更新动作价值估计。

那该根据什么选取动作呢?可以使用 \(\epsilon\)-贪心算法」 选取:每个状态都有 \((1-\epsilon)\) 的概率选取具有最大估计价值的动作,也有\(\epsilon\) 的概率随机选取一个动作,其中 \(\epsilon\) 是个很小的值。也就是说,采用这个算法有很大概率选「最好」的动作(跟普通贪心算法一样),也有小概率盲选(用于探索其它动作):

无模型的强化学习方法

结合上面两个做法,我们可以制定这么一个强化学习流程:从初始状态出发,通过 \(\epsilon\)-贪心算法选择一个动作来执行,执行后通过环境得知奖励和新的状态,再在新的状态中通过 \(\epsilon\)-贪心算法选取动作与环境交互……重复这个过程直到到达目标状态。之后再从初始状态开始重复这个流程,多重复几次后,再贪心地在每一个状态选择动作价值最大的动作(即 \(\pi(s) = max{Q^\pi(s, a)}\))就可以得到满意的策略了。

这样,我们已经可以得到一个完整的强化学习算法了(教材中的图):

无模型的强化学习方法

可以看到,这个算法的动作状态更新用到了当前状态s、当前选择动作a、执行动作获取的奖励r、执行动作后进入的下一个状态s'以及s'下选择的下一个动作a',故得名 「Sarsa算法」

多步Sarsa算法

蒙特卡洛方法会求整个序列的回报并取多个序列的回报期望用于评估状态价值,这是十分合理的,只是需要算很多序列后再进行策略提升,显得比较慢;时序差分法则比较快,但只用了一个奖励和下一状态的价值估计,这个估计终究不是真实的价值,显得不是很「准」。而 「多步Sarsa算法」 则综合二者,主要是将「时序差分误差」进行了调整:

无模型的强化学习方法

它不像蒙特卡洛方法那样「全走完」,也不像Sarsa那样「走一步」,而是选择了「走n步」。也就是说靠近现在的一部分状态它会正常计算,离得比较远的则采取估计。算法的其它部分都与常规的Sarsa一样,只不过要注意有时可能还没走够n步就已经到达目标状态了,这时的估计部分就相当于0。

Q-learning算法

Q-learning算法也是基于「时序差分算法」实现的,与「Sarsa算法」最大的不同在于,它不是通过 \(\epsilon\)-贪心算法,而是通过 直接贪心 来获取下一个动作的(这与「贝尔曼最优方程」思想是一致的):

无模型的强化学习方法

总结

采样数据的策略称为「行为策略」,用这些数据来更新的策略称为「目标策略」。如果一个算法中的行为策略和目标策略相同,那这个算法就是 「在线策略算法」;反之称为 「离线策略算法」

无模型的强化学习方法

Sarsa 是在线策略算法,而 Q-learning 是离线策略算法。离线策略算法可以重用旧的策略产生的轨迹,可以节省资源,也更受欢迎。

补充:Dyna-Q算法

与前文提到的两种方法不同,Dyna-Q算法是 基于模型的强化学习算法,在这里提它是因为它与Q-learning有些关系:

无模型的强化学习方法

Dyna-Q算法需要一个模拟的环境模型 \(M\),它会记录曾经真实与环境交互下得到的奖励与新状态,并与交互后的状态、动作绑定。它就是一个键为(当前状态s、动作a),值为(环境反馈的奖励r、环境反馈的新状态s')的字典。

而这个字典会用于「Q-planning」,Q-planning要做的就是从字典中随机取出一个键值对(也就是(s、a)和(r、s')),并让它们进行「虚拟」的Q-learning。这也是Dyna-Q是「基于模型」的体现。

可以看到,在每次与环境进行交互执行一次 Q-learning 之后,Dyna-Q 会做N次 Q-planning。如果 N 为0的话,那Dyna-Q就等价于Q-learning了。文章来源地址https://www.toymoban.com/news/detail-837703.html

到了这里,关于无模型的强化学习方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于动态规划的强化学习方法

    quad quad quad 动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如 背包问题 和 最短路径规划 。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保

    2023年04月08日
    浏览(73)
  • 强化学习:蒙特卡洛方法(MC)

       以抛硬币为例,将结果(正面朝上或反面朝上)表示为作为随机变量 X X X ,如果正面朝上则 X = + 1 X=+1 X = + 1 ,如果反面朝上,则 X = − 1 X=-1 X = − 1 ,现在要计算 E [ X ] E[X] E [ X ] 。    我们通常很容易想到直接用定义来计算,因为我们知道正面朝上和反面朝上的概率都是

    2024年02月08日
    浏览(49)
  • 强化学习基础三大优化方法:(一)动态规划

    强化学习是一类解决马尔可夫决策过程的方法,其中, 动态规划、蒙特卡洛 以及 时序差分 是强化学习算法的三大基础算法。本文就其实际效果来对比三种方法以及其子方法的不同与优缺点。本文就动态规划方法进行简单介绍。 动态规划是一类优化方法,在给定一个马尔可

    2024年02月08日
    浏览(82)
  • 深入理解强化学习——马尔可夫决策过程:动态规划方法

    分类目录:《深入理解强化学习》总目录 动态规划(Dynamic Programming,DP)适合解决满足最优子结构(Optimal Substructure)和重叠子问题(Overlapping Subproblem)两个性质的问题。最优子结构意味着,问题可以拆分成一个个的小问题,通过解决这些小问题,我们能够组合小问题的答案

    2024年02月03日
    浏览(45)
  • 强化学习中的动态规划与蒙特卡罗方法

    强化学习(Reinforcement Learning,RL)是一种机器学习方法,它通过与环境的互动来学习如何做出最佳决策。强化学习的目标是找到一种策略,使得在长期内累积最大化奖励。强化学习的一个关键特点是它需要在环境中探索和利用,以找到最佳的行为策略。 动态规划(Dynamic Programmi

    2024年02月19日
    浏览(38)
  • 基于注意力神经网络的深度强化学习探索方法:ARiADNE

    参考论文:Cao Y, Hou T, Wang Y, et al. Ariadne: A reinforcement learning approach using attention-based deep networks for exploration[J]. arXiv preprint arXiv:2301.11575, 2023. 2023 IEEE International Conference on Robotics and Automation (ICRA 2023) ARE的传统边界法 自主机器人探索(Autonomous robot exploration, ARE) 目标: ARE的目标是规

    2024年02月12日
    浏览(46)
  • 深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[计算马尔可夫奖励过程价值的动态规划方法]

    分类目录:《深入理解强化学习》总目录 文章《深入理解强化学习——马尔可夫决策过程:马尔可夫奖励过程-[计算马尔可夫奖励过程价值的蒙特卡洛方法]》介绍了计算马尔可夫奖励过程价值的蒙特卡洛方法,同时我们也可以用动态规划的方法,一直迭代贝尔曼方程,直到价

    2024年02月05日
    浏览(48)
  • 【论文笔记】IntelliLight智能交通灯:一种基于强化学习的智能交通信号灯控制方法

    博客声明:本文仅为个人论文阅读笔记,大部分原文对照的中文为翻译而来,只对其中错误明显的部分作了修改。其他一些个人理解不到位或有误的地方也尽请见谅。 标题原文: IntelliLight:A Reinforcement Learning Approach for Intelligent Traffic Light Control 论文来源: Proceedings of the 24

    2024年04月12日
    浏览(61)
  • 模型驱动的深度学习方法

           本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在 学习摘录和笔记专栏 :         学习摘录和

    2024年02月16日
    浏览(42)
  • 深度学习模型压缩方法综述

    深度学习因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助 模型压缩 、系统优化加速等方法突破瓶颈,本文主要介绍模型压缩的各种方法,希望对大家有帮助。 我们知道,一定程度上, 网络越深,参数越多,模型也会越复杂,但其最终效果

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包