2019/5/14 基于无模型的强化学习方法

模型已知的情况,策略优化过程分为两个部分,一个是策略评估,一个是策略改进。从一个策略 π和v函数开始,先利用当前策略 π估算v值,然后通过v值来更新策略 π。交替迭代,最后会收敛到最优策略和最优价值函数。

Model:用来感知场景的变化。模型要解决两个问题:一是状态转化概率 P s s ′ a P^a_{ss′}Pss′a​,即预测在s状态下,采取动作a,转到下一个状态s′的概率。另一个是预测可能获得的即时奖励R s a R_s^aRsa​。

(一)无模型的强化学习方法解决哪类问题

    模型未知(模型状态转移概率矩阵P)的情况下无法知道当前状态的所有可能的后续状态。进而无法确定在当前状态下应该采取哪个动作是最好的。解决这个问题是利用Q(s,a)来代替V(s)。这样即使不知道当前状态的所有后续状态,我们也可以根据已有的动作来选择。这样策略评估与策略改进就变成:从一个策略 π和初始的Q开始,先利用当前策略 π估算q值,然后通过q值来更新策略 π。交替迭代,最后会收敛到最优策略和最优价值动作函数。

    不过利用Q(s,a)来代替V(s)有一个问题是,因为不知道当前状态能够执行的所有动作,所以只选择当前最好的动作可能会陷入局部最优。所以需要偶尔去尝试新的动作,这就是探索(exploration)。

参考:https://blog.csdn.net/liweibin1994/article/details/79119056      

(二)无模型强化学习方法简述

无模型的强化学习

一、蒙特卡洛

1、特点

 蒙特卡罗法根据若干完整的状态序列(episode)来估计状态的真实价值。所谓的经历完整,就是这个序列必须是达到终点的。

2、流程

1、初始化所有

2、随机选择状态策略、按策略生成实验

3、回报取均值

4、策略改进

3、蒙特卡罗法很灵活,不需要环境的状态转化概率模型,但是它需要所有的采样序列都是经历完整的状态序列。 

二、时间差分

蒙特卡洛做试验加动态规划用后继状态值函数估计当前状态值函数。

包括同策略的Sarsa和Q-learning(DQN改进Qlearning)

基于值函数的强化学习方法:状态空间到动作空间的映射,通过迭代逼近值函数(并采用贪婪策略)。

基于策略搜索的强化学习方法:迭代策略的参数,使累计汇报的期望最大

时序差分和蒙特卡罗法比它更加灵活,学习能力更强,因此是目前主流的强化学习求解问题的方法,现在绝大部分强化学习乃至深度强化学习的求解都是以时序差分的思想为基础的。

三、值函数逼近

1、增量式学习算法

随机梯度下降法

2、批学习算法

四、策略搜索

五、其他

强化学习分类

参考传送门:https://blog.csdn.net/fendouaini/article/details/100149701 深度强化学习(DRL)专栏(一)

强化学习方法对比:

参考传送门:https://blog.csdn.net/qq_39388410/article/details/88795124

深度强化学习(三):从Q-Learning到DQN

参考传送门:https://www.jianshu.com/p/d8a1693d1fd5

(三)时序差分方法 (sarsa与q-learning)

如何使用TD预测方法来解决控制问题,遵循广义策略迭代(GPI)的模式,只是这次使用TD方法进行评估或预测。与蒙特卡洛方法一样,需要权衡探索与利用。

1、同策略(on policy)与异策略(off policy):行为策略(Behavior Policy)和目标策略(Target Policy)是否同策略

(1)行为策略与目标策略

行为策略:(与环境互动)产生数据的策略决策策略。行为策略保持随机因而具有探索性。

目标策略:评估和待改善的策略。在行为策略产生的数据中不断学习、优化,即学习训练完毕拿去应用的策略。一般为当前评估值函数的贪婪策略而趋向最优。

参考:https://www.zhihu.com/question/57159315  强化学习中on-policy 与off-policy有什么区别

(2)sarsa与q-learning

sarsa上一步更新采用的a',即下一步直接使用,说到做到。行为策略与目标策略同采用ε贪婪策略。

q-learning上一步更新采用的a',在下一步重新选择,追求max。行为策略采用ε贪婪策略,目标策略采用贪婪策略。

本质上,把sarsa目标策略改为ε=0的ε贪婪策略,即为q-learning。

参考:https://blog.csdn.net/liweibin1994/article/details/79119056 强化学习(五):Sarsa算法与Q-Learning算法

2、悬崖测试:εgreedy action selection, ε = 0.1

q-learning学到最优策略,走悬崖边路线,但因ε选择可能会跌落悬崖,获得奖励低于sarsa。

sarsa学到策略更长但是更安全,线上表现更好。

如果ε逐渐减小,两种方法都将逐渐收敛域最优策略。

总结:Q-learning在每一步TD中贪心的获取下一步最优的状态动作值函数。而Sarsa则是e-greedy的选取TD中的下一个状态动作值函数。在这种情况下,Q-learning更倾向于找到一条最优policy,而Sarsa则会找到一条次优的policy。这是由于Sarsa在TD误差中随机的选取下一个状态动作值函数,这样可能会使整体的状态值函数降低。

注:如果St+1是终端,那么Q(St+1,At+1)被定义为零。五元组事件(St,At,Rt+1,St+1,At+1)。

3、在线学习(on-line learning)与离线学习(off-line learning)

https://blog.csdn.net/a493823882/article/details/83240496 机器学习中的在线学习与离线学习

 online training:
 你有一个样本 你把第一条带入训练 调整权重 再把这一条带进去一次 重复多次 直至误差率很小
 然后再带入下一条 直至跑完整个样本
 offline training:
 你有一个样本 你把第一条带入训练 调整权重 然后带入下一条 直至跑完整个样本 这个时候的误差率可能不让你满意 于是你 把整个样本又做了上述操作
 直到误差很小
 offline其实和batch更相似

online learning的定义,算法,优缺点, 及和Batch learning 区别有哪些?

https://www.zhihu.com/question/278450551/answer/719860096

在线学习(MAB)与强化学习(RL)[1]:引言

https://zhuanlan.zhihu.com/p/52727881

4、评价:

sarsa:是一种保守的算法,他在乎每一步的决策,对于错误和死亡比较敏感,这可以在可视化部分看出他们的不同。

q-learning:在更新的时候始终都是选择maxQ最大化,因为这个maxQ变得贪婪,不考虑其他非maxQ的结果。我们可以理解成Q-learning是一种贪婪,大胆,勇敢的算法,对于错误,死亡并不在乎。更符合强化学习探索与利用的思路。(一个策略不断探索,来优化另一个策略,另一个策略保持贪婪,充分利用。)

5、Important Sampling

求解一个概率分布(Distribution)的期望值(Expect)时,用来求解该期望值的样本数据是由另一个概率分布所产生。

6、double learning:单一估计器方法导致过高估计

深度强化学习系列(5): Double Q-Learning原理详解  https://blog.csdn.net/gsww404/article/details/103413124

Double Q-learning将使用两个函数 Q^{A}QA和Q^{B}(对应两个估计器),并且每个Q函数都会使用另一个Q函数的值更新下一个状态。两个Q函数都必须从不同的经验集中学习,这一点很重要,但是要选择要执行的动作可以同时使用两个值函数。

7、时序差分资料:

强化学习系列(六):时间差分算法 https://blog.csdn.net/LagrangeSK/article/details/81239518

经典强化学习算法在CartPole和几个Atari游戏的实现

https://github.com/xiaohaomao/Reinforcment-Leanring-algorithm

强化学习6:时序差分方法  https://zhuanlan.zhihu.com/p/42134755

6.6期望Sarsa算法  https://zhuanlan.zhihu.com/p/57335123

为什么说Expected Sarsa是一种off-policy的方法 https://www.zhihu.com/question/303283560

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值