强化学习入门,分类及总结


自学强化学习,主要是看了网上大佬们写的一些文章,都是零零碎碎的强化学习的算法,所以这篇文章主要是总结我学的知识,可能知识点不是很全,后期慢慢补充吧,如果有理解错误也烦请指出。


主要参考资料:知乎天津肉包子馅儿莫烦、还有刘建平博客

概述

在这里插入图片描述
如上图,强化学习就是智能体和环境交互的过程,是一个 马 尔 科 夫 决 策 过 程 \color{red}{马尔科夫决策过程} (当前状态仅与上个状态和所做的动作有关,即 P ( S t + 1 ∣ S t , a ) P(S_{t+1}|S_t,a) P(St+1St,a)),在强化学习的模型中,我们最终的目的是找到一个最优的策略来最大化累计的回报R。
贝 尔 曼 方 程 : \color{red}{贝尔曼方程:} 这是强化学习的基础,我这边直接贴图。
在这里插入图片描述
下面这张图说明了贝尔曼方程和蒙特卡洛(MC)、时间差分法(TD)和动态规划(DP)的关系:
在这里插入图片描述

算法分类

模型

  • 基 于 模 型 的 算 法 \color{red}{基于模型的算法} :假设智能体已经知道环境,包括条件转移概率,reward情况等,一般使用 动 态 规 划 \color{red}{动态规划} 方法来迭代出所有的可能,再作决策;
  • 无 模 型 的 算 法 \color{red}{无模型的算法} :智能体不了解环境,所以采用随机策略,通过一次次地与环境交互来获取试验采样数据,最后处理这些数据来更新策略。处理数据的方法主要是两种方法: 蒙 特 卡 洛 ( M C ) \color{red}{蒙特卡洛(MC)} (MC) 时 间 差 分 法 ( T D ) \color{red}{时间差分法(TD)} (TD),其中,之后算法用的最后的主要是TD算法。这两种方法的理论上的区别上图应该已经很明显了,在实际实现的时候TD算法是 单 步 更 新 \color{red}{单步更新} 的,而MC算法则是 回 合 更 新 \color{red}{回合更新} 的,简单的说:训练中,智能体和环境交互的时候,TD是边交互边更新它的策略,而MC则是每和环境交互完一轮更新一次。

策略和值

  • 基 于 值 的 算 法 \color{red}{基于值的算法} :上面提到的MC、TD和DP算法都是基于值得算法,我们可以看到每次通过采样数据更新的都是 v π ( s ) \mathcal{v}_\pi(s) vπ(s)或者 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a),其实最终得到的最优策略就是根据我们每个回合更新的 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)表,Q表也可以被称为值函数
  • 基 于 策 略 的 算 法 \color{red}{基于策略的算法} :算法不是基于贝尔曼方程了,具体公式推导参照李宏毅教授的ppt(提取码:fe5l),里面写得很清楚,b站上也有教学视频

off-policy和on-policy

  • o f f − p o l i c y \color{red}{off-policy} offpolicy:更新策略和自己的行动不一致,典型的又Qlearning,Qlearning更新的时候是拿 Q 值 最 大 \color{red}{Q值最大} Q的下个状态来更新当前状态的Q值的,当前状态则采取随机策略来选取动作。
  • o n − p o l i c y \color{red}{on-policy} onpolicy:on-policy则是和off-policy相反的,典型的算法有sarsa算法。

强化学习&深度学习

强化学习算法运行的时候,程序都需要维护一张Q表,你的状态也多,可执行的动作越多,维护的表就越大,这会占去过多的内存,显然不合适。甚至有时状态是连续的,那维护Q表变得无法实现,这时我们希望有个函数,当我们输入状态行动的时候能够返回Q值,这就是Q表(值函数)的 逼 近 函 数 \color{red}{逼近函数} ,逼近函数可以分为 参 数 逼 近 \color{red}{参数逼近} 非 参 数 逼 近 \color{red}{非参数逼近} ,而参数逼近又可以分为 线 性 参 数 \color{red}{线性参数} 线 非 线 性 参 数 \color{red}{非线性参数} 线,其中非线性参数逼近就可以选我们熟悉的神经网络。这就是强化学习和深度学习的结合。

逼近函数选择神经网络,则需要更新神经网络,更新的方法其实就是一个监督学习的过程,数据标签:(s,R)其中s为状态,R为回报(在MC中则是 G t G_t Gt,在TD中则是 R t + 1 + γ Q π ( s t + 1 , a ) R_{t+1}+\gamma Q_\pi(s_{t+1},a) Rt+1+γQπ(st+1,a))。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值