强化学习知识梳理

本文概述了强化学习的基本概念,强调了它与监督学习和无监督学习的区别。介绍了强化学习的两种类型:有模型和无模型学习,并分别阐述了策略迭代、值迭代以及有模型和无模型学习的方法,如蒙特卡罗方法和TD方法。文章还讨论了DQN算法及其在处理连续动作任务的局限性,引出了策略网络和策略梯度算法,包括随机策略梯度和确定策略梯度的比较。
摘要由CSDN通过智能技术生成

该文是简单的知识点梳理,不能作为学习资料,请谅解

================强化学习和监督学习,无监督学习的联系=====
强化学习可以看作是一种特殊的监督学习,样本是s和a,标签是r。然而,标签r是很特殊的:r并不能称为我们判断动作a好坏的依据。因此,我们引入了未来价值的概念V(s)和Q(s,a),以此作为新的标签。但同时,V(s)和Q(s,a)并不是固定的,他们随策略而变化。
因此,就有了一般的强化学习的方法。1,固定策略,计算出该策略下的V(s)或Q(s,a),作为标签。2根据标签V(s)或Q(s,a)训练策略。3,1和2步反复迭代,得出最优策略。

=================强化学习的分类====================
强化学习可以分为两类:有模型的,以及无模型的
有模型的强化学习是指我们拥有环境的完美知识,即s(我们知道所有的状态),r(所有状态对应的回报),p(s|a)(我们知道对于任意的状态s,采取任意动作a后,我们所在的新的状态的概率 p(s|a) )

无模型的强化学习是指我们对于环境一无所知,即我们不知道s,r和p(s|a)

一般来说,对于智能体而言,动作空间a是已知的, γ 作为人类设定的超参数

=================有模型的学习=========================
有策略迭代和值迭代两种方法。
策略迭代的思路是:对于模型已知的问题,可以计算出给定策略的所有状态的未来价值V(s)。因此先1初始化一个策略,然后2计算每个状态的未来价值V(s),再3根据每个状态的未来价值V(s)修改策略。之后第2,3步骤反复进行,直到策略收敛到最优策略。
值得注意的是,使用策略迭代得到的未来价值函数V(s),是真实的。

值迭代的思路是:同样对于模型已知的问题,值迭代用到了这个事实,即对于任何状态,最优策略一定会往未来价值最高的状态移动。因此,值迭代的步骤是:1初始化各个状态的未来价值函数,2对于任意状态s,选择附近未来价值最大的状态 s 作为动作的目标(a:s-> s ),并根据V( s )的值更新V( s ),3反复进行步骤2,直到各个状态的未来价值变化速度很小之后,得到最优策略。
值得注意的是,值迭代得到的未来价值函数V(s)是不真实的,是高估的。

=================无模型的学习========================
无模型学习有两种基本方法:蒙特卡罗方法和TD方法

蒙特卡罗方法
对于无模型的学习,智能体没有环境的知识,因此探索环境的必须的。无模型的蒙特卡罗方法,总体上讲就是加入了探索的动态规划方法。

首先1初始化策略(或者值函数),并使用该策略探索环境,生成若干条动作序列。2对于动作序列中的各个状态s,可以计算在该策略下对应的未来价值V(s)。如果探索是充分的,即我们得到的序列反复覆盖了任意状态s,就可以认为V(s)的均值是V(s)的较好的估计。3根据各个状态的V(s)更新策略(或跟新值函数)。4反复进行第2,3步骤。

如果状态空间是连续的,估计V(s)是无助于我们获得策略的(我们不能通过遍历所有动作的V值来选择最优的动作)。因此,我们需要估计动作值函数Q(s,a),估计的方法同上。

实际中,我们并不需要等到获得足够多的样本后(反复覆盖所有的状态-动作对,这是不现实的),再更新策略。

总体上,蒙特卡罗方法使用探索得到的序列,计算相应的值函数。与有模型的动态规划算法相同,蒙特卡罗方法既可以使用策略迭代也可以使用值迭代方法。

TD方法(Temporal-Difference)
TD方法用到了这个事实: V(St)=RSt+1+λV(St+1) 。因此,TD方法就是对于任意状态S,都要最小化“TD偏差”: (RSt+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值