增强学习reinforcement-learning经典算法梳理

增强学习reinforcement-learning经典算法梳理

ID:25855901

大小:4.17 MB

页数:13页

时间:2018-11-23

增强学习reinforcement-learning经典算法梳理_第1页
增强学习reinforcement-learning经典算法梳理_第2页
增强学习reinforcement-learning经典算法梳理_第3页
增强学习reinforcement-learning经典算法梳理_第4页
增强学习reinforcement-learning经典算法梳理_第5页
资源描述:

《增强学习reinforcement-learning经典算法梳理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、增强学习ReinforcementLearning经典算法梳理1:policyandvalueiteration前言就目前来看,深度增强学习(DeepReinforcementLearning)中的很多方法都是基于以前的增强学习算法,将其中的valuefunction价值函数或者Policyfunction策略函数用深度神经网络替代而实现。因此,本文尝试总结增强学习中的经典算法。本文主要参考:1ReinforcementLearning:AnIntroduction;2ReinforcementLearningCoursebyDavidSilver1预备知

2、识对增强学习有所理解,知道MDP,Bellman方程详细可见:DeepReinforcementLearning基础知识(DQN方面)很多算法都是基于求解Bellman方程而形成:ValueIterationPolicyIterationQ-LearningSARSA2PolicyIteration策略迭代PolicyIteration的目的是通过迭代计算valuefunction价值函数的方式来使policy收敛到最优。PolicyIteration本质上就是直接使用Bellman方程而得到的:那么PolicyIteration一般分成两步:Policy

3、Evaluation策略评估。目的是更新ValueFunctionPolicyImprovement策略改进。使用greedypolicy产生新的样本用于第一步的策略评估。本质上就是使用当前策略产生新的样本,然后使用新的样本更新当前的策略,然后不断反复。理论可以证明最终策略将收敛到最优。具体算法:那么这里要注意的是policyevaluation部分。这里的迭代很重要的一点是需要知道state状态转移概率p。也就是说依赖于model模型。而且按照算法要反复迭代直到收敛为止。所以一般需要做限制。比如到某一个比率或者次数就停止迭代。3ValueIteratio

4、n价值迭代ValueIteration则是使用Bellman最优方程得到然后改变成迭代形式valueiteration的算法如下:那么问题来了:PolicyIteration和ValueIteration有什么本质区别?为什么一个叫policyiteration,一个叫valueiteration呢?原因其实很好理解,policyiteration使用bellman方程来更新value,最后收敛的value即vπ是当前policy下的value值(所以叫做对policy进行评估),目的是为了后面的policyimprovement得到新的policy。而v

5、alueiteration是使用bellman最优方程来更新value,最后收敛得到的value即v∗就是当前state状态下的最优的value值。因此,只要最后收敛,那么最优的policy也就得到的。因此这个方法是基于更新value的,所以叫valueiteration。从上面的分析看,valueiteration较之policyiteration更直接。不过问题也都是一样,需要知道状态转移函数p才能计算。本质上依赖于模型,而且理想条件下需要遍历所有的状态,这在稍微复杂一点的问题上就基本不可能了。4异步更新问题那么上面的算法的核心是更新每个状态的valu

6、e值。那么可以通过运行多个实例同时采集样本来实现异步更新。而基于异步更新的思想,DeepMind出了一篇不错的paper:AsynchronousMethodsforDeepReinforcementLearning。该文对于Atari游戏的效果得到大幅提升。5小结ReinforcementLearning有很多经典算法,很多算法都基于以上衍生。鉴于篇幅问题,下一个blog再分析基于蒙特卡洛的算法。增强学习ReinforcementLearning经典算法梳理2:蒙特卡洛方法1前言在上一篇文章中,我们介绍了基于Bellman方程而得到的PolicyIter

7、ation和ValueIteration两种基本的算法,但是这两种算法实际上很难直接应用,原因在于依然是偏于理想化的两个算法,需要知道状态转移概率,也需要遍历所有的状态。对于遍历状态这个事,我们当然可以不用做到完全遍历,而只需要尽可能的通过探索来遍及各种状态即可。而对于状态转移概率,也就是依赖于模型Model,这是比较困难的事情。什么是状态转移?就比如一颗子弹,如果我知道它的运动速度,运动的当前位置,空气阻力等等,我就可以用牛顿运动定律来描述它的运动,进而知道子弹下一个时刻会大概在哪个位置出现。那么这个基于牛顿运动定律来描述其运动就是一个模型Model,我

8、们也就可以知道其状态(空间位置,速度)的变化概率。那么基本上所以的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。