Q-Learning和Sarsa一样是基于时序差分的控制算法,那两者有什么区别呢? 这里已经必须引入新的概念 时序差分控制算法的分类:在线和离线 在线控制算法:一直使用一个策略选择动作和更新价值函数,如Sarsa 离线控制算法:两个策略,一个选择新的动作,一个更新价值函数,如Q-Learning Q-Learning简介 在S下基于ε-贪心策略选择动作A,执行A,获得奖励R,并进入下一个状态S’, 接下来如果是Sarsa,将继续基于ε-贪心策略选择动作A’,利用Q(S',A')更新价值函数,并在…
之前讲到强化学习在不基于模型时可以用蒙特卡罗方法求解,但是蒙特卡罗方法需要在每次采样时生产完整序列,而在现实中,我们很可能无法生成完整序列,那么又该如何解决这类强化学习问题呢? 由贝尔曼方程 vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+...|St=s) 推导可得 vπ(s)=Eπ(Rt+1+γvπ(st+1)|st=s),由此给我们的启发是,可以拿下一个状态的价值函数来表示当前状态的价值函数,即t+1时刻表示t时刻,这就引入了时序差分. 这样只需要两个连续的状态,就可以尝试解决强化问…
背景就不介绍了,REINFORCE算法和AC算法是强化学习中基于策略这类的基础算法,这两个算法的算法描述(伪代码)参见Sutton的reinforcement introduction(2nd). AC算法可以看做是在REINFORCE算法基础上扩展的,所以这里我们主要讨论REINFORCE算法中算法描述和实际代码设计中的一些区别,当然这也适用于AC算法: 1.  时序折扣项为什么在实际代码中不加入  REINFORCE算法中是需要对状态动作对出现在episode内的顺序进行折扣加权的,即 γt…
在强化学习(六)时序差分在线控制算法SARSA中我们讨论了时序差分的在线控制算法SARSA,而另一类时序差分的离线控制算法还没有讨论,因此本文我们关注于时序差分离线控制算法,主要是经典的Q-Learning算法. Q-Learning这一篇对应Sutton书的第六章部分和UCL强化学习课程的第五讲部分. 1. Q-Learning算法的引入 Q-Learning算法是一种使用时序差分求解强化学习控制问题的方法,回顾下此时我们的控制问题可以表示为:给定强化学习的5个要素:状态集$S$, 动作集$A…
原文地址: https://www.cnblogs.com/pinard/p/9669263.html ----------------------------------------------------------------------------------------------------- 在强化学习(六)时序差分在线控制算法SARSA中我们讨论了时序差分的在线控制算法SARSA,而另一类时序差分的离线控制算法还没有讨论,因此本文我们关注于时序差分离线控制算法,主要是经典的Q-L…
在强化学习(四)用蒙特卡罗法(MC)求解中,我们讲到了使用蒙特卡罗法来求解强化学习问题的方法,虽然蒙特卡罗法很灵活,不需要环境的状态转化概率模型,但是它需要所有的采样序列都是经历完整的状态序列.如果我们没有完整的状态序列,那么就无法使用蒙特卡罗法求解了.本文我们就来讨论可以不使用完整状态序列求解强化学习问题的方法:时序差分(Temporal-Difference, TD). 时序差分这一篇对应Sutton书的第六章部分和UCL强化学习课程的第四讲部分,第五讲部分. 1. 时序差分TD简介 时序差…
原文地址:https://blog.csdn.net/qq_30615903/article/details/80744083 DQN(Deep Q-Learning)是将深度学习deeplearning与强化学习reinforcementlearning相结合,实现了从感知到动作的端到端的革命性算法.使用DQN玩游戏的话简直6的飞起,其中fladdy bird这个游戏就已经被DQN玩坏了.当我们的Q-table他过于庞大无法建立的话,使用DQN是一种很好的选择 1.算法思想 DQN与Qlean…
1 DQN的引入 由于q_learning算法是一直更新一张q_table,在场景复杂的情况下,q_table就会大到内存处理的极限,而且在当时深度学习的火热,有人就会想到能不能将从深度学习中借鉴方法,将深度学习的方法应用到强化学习中.13年,谷歌的deepmind团队就发表了关于DQN算法的论文,促进了强化学习的发展,扩展了强化学习的应用场景. 2 将深度学习应用到强化学习的挑战 将深度学习应用到强化学习上主要有两大挑战,下面具体说明这两种挑战是什么 2.1 第一个挑战是关于样本的分布: 深度…
在强化学习(三)用动态规划(DP)求解中,我们讨论了用动态规划来求解强化学习预测问题和控制问题的方法.但是由于动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态的所有可能的后续状态.导致对于复杂问题计算量很大.同时很多时候,我们连环境的状态转化模型$P$都无法知道,这时动态规划法根本没法使用.这时候我们如何求解强化学习问题呢?本文要讨论的蒙特卡罗(Monte-Calo, MC)就是一种可行的方法. 蒙特卡罗法这一篇对应Sutton书的第五章和UCL强化学习课程的第四讲部分,第五讲部分…
原文地址: https://www.cnblogs.com/pinard/p/9492980.html --------------------------------------------------------------------------------------------------- 在强化学习(三)用动态规划(DP)求解中,我们讨论了用动态规划来求解强化学习预测问题和控制问题的方法.但是由于动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态的所有可能的后续状态.导…