强化学习(二)--动态规划寻找最优策略
动态规划是强化学习里面最基础的部分,其核心思想—通用策略迭代(Generalized Policy Iteration,GPI)
注意: 动态规划(Dynamic Programming)要求一个完全已知的环境模型,所谓完全已知,就是 MDP的五元组 <S,A,P,R,γ> 全部已知,当然了,主要还是指状态转移概率P已知。这种学习方式就是有模型学习(Model-based learning)。
动态规划简单说可以分为两部分:
- 一是 预测(prediction),也就是已知MDP的状态、动作、奖励、转移概率、折扣因子和策略,求出每一个状态下的值函数,也就是 每个状态下能获得的reward是多少
- 第二就是 控制,什么意思呢,就是在前面的状态、动作等等都已知,但策略未知的情况下,计算出最优的值函数,并且借此计算出最优的策略。
动态规划的目的就是完成上面的两件事。适用于动态规划的问题,一般状态转移矩阵都是已知的,简单说就是环境模型已知了,这个时候就可以看做planning问题了
动态规划解决问题的方法呢,就是GPI,也就是 策略迭代、策略评估、策略迭代、策略评估…知道策略收敛至最优
贪婪的意思就是指仅采用某个动作,这个动作使得状态价值得到最大的行为(max(q(s,a)))
预测问题–策略评估(Policy Evaluation)
首先,我们来看如何使用动态规划来求解强化学习的预测问题,即求解给定策略的状态价值函数的问题。这个问题的求解过程我们通常叫做 策略评估(Policy Evaluation)
策略评估的 基本思路 是从任意一个状态价值函数开始,依据给定的策略,结合贝尔曼期望方程、状态转移概率和奖励,同步迭代更新状态价值函数,直至其 收敛,得到该策略下最终的状态价值函数
控制问题—策略迭代(Policy Iteration)
根据我们之前基于任意一个给定策略评估得到的 状态价值来及时调整我们的动作策略,这个方法我们叫做策略迭代(Policy Iteration)
如何调整呢?最简单的方法就是贪婪法,考虑一种如下的贪婪策略:个体在某个状态下选择的行为是其能够到达后续所有可能的状态中状态价值最大的那个状态
还是以Grid World为例,如下面的图右边。当我们计算出 最终的状态价值后,我们发现,第二行第一个格子周围的价值分别是0,-18,-20,此时我们用贪婪法,则我们调整行动策略为向状态价值为0的方向移动,而不是随机移动。也就是图中箭头向上。而此时第二行第二个格子周围的价值分别是-14,-14,-20, -20。那么我们整行动策略为向状态价值为-14的方向移动,也就是图中的向左向上
策略迭代过程中,我们循环进行两部分工作:
- 第一步是使用当前策略π∗评估计算当前策略的最终状态价值v∗
- 第二步是根据状态价值v∗根据一定的方法(比如贪婪法)更新策略π∗,接着回到第一步,一直迭代下去,最终得到收敛的策略π∗和状态价值v∗
控制问题—价值迭代
观察策略迭代的图发现,我们如果用贪婪法调整动作策略,那么当k=3的时候,我们就已经得到了最优的动作策略,而不用一直迭代到状态价值收敛才去调整策略,那么此时我们的 策略迭代优化为价值迭代
还是以Grid World为例,如下图。比如当k=2时,第二行第一个格子周围的价值分别是0,-2,-2,此时我们用贪婪法,则我们调整行动策略为向状态价值为0的方向移动,而不是随机移动。也就是图中箭头向上。而此时第二行第二个格子周围的价值分别是-1.7,-1.7,-2, -2。那么我们整行动策略为向状态价值为-1.7的方向移动,也就是图中的向左向上。
和策略迭代相比,我们没有等到状态价值收敛才调整策略,而是随着状态价值的迭代及时调整策略, 这样可以大大减少迭代次数。此时我们的状态价值的更新方法也和策略迭代不同。
现在的贝尔曼方程迭代式子如下:
传送门
David Silver强化学习公开课中文讲解及实践
系列
动态规划寻找最优策略之policy evaluation(策略估计)
动态规划寻找最优策略之Policy Iteration(策略迭代)
动态规划寻找最优策略之Value Iteration(值迭代)
补充系列
强化学习(三)用动态规划(DP)求解
强化学习总结(3)–动态规划
策略迭代与值迭代的区别
五大常用算法
五大常用算法简述
小白带你学贪心算法!
强化学习(二)--动态规划寻找最优策略相关推荐
- 强化学习课程笔记(二)——马尔科夫决策过程和动态规划寻找最优策略
参考材料 1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048 2.课程对应知乎讲解https://zhuanlan.zhihu.com/re ...
- 《强化学习》第三讲 动态规划寻找最优策略
本讲着重讲解了利用动态规划来进行强化学习,具体是进行强化学习中的"规划",也就是在已知模型的基础上判断一个策略的价值函数,并在此基础上寻找到最优的策略和最优价值函数,或者直接寻找最 ...
- 浅谈强化学习二之马尔卡夫决策过程与动态规划
书接上文,目前普遍认为强化学习的算法分为基于值函数和基于策略搜索以及其他强化学习算法. 先说强化学习的基础,提及强化学习,就要先认知马尔可夫.确认过眼神,大家都是被公式折磨的人,这里就不讲公式了,只是 ...
- 动态规划算法实验报告_强化学习之动态规划算法
如今的强化学习研究大体分为了两个研究学派:一个是以Sutton,Sliver等人为代表的value-based学派,他们主要从值函数近似角度入手去研究强化学习,这也是强化学习早期最初发展起来时沿用的路 ...
- 第二十七课.深度强化学习(二)
目录 概述 价值学习 Deep Q Network DQN的训练:TD算法(Temporal Difference Learning) 策略学习 Policy Network 策略网络训练:Polic ...
- TensorFlow实战14:实现估值网络(强化学习二)
1.估值网络简介 在强化学习中,除了上节提到的策略网络(Policy Based)直接选择Action的方法,还有一种学习Action对应的期望值(Expected Utility)的方法,称为Q-L ...
- 增强学习/强化学习 综述
@创建于:20210512 @修改于:20210512 文章目录 1.增强学习概念 2.1 增强学习定义 2.2 两大特点 2.简书:[阿阿阿阿毛](https://www.jianshu.com/u ...
- 【学霸笔记】AlphaGo之父David Silver的强化学习经典课程笔记
聚焦AI干货,关注:决策智能与机器学习 AlphaGo之父David Silver的强化学习经典课程前文已有介绍,本想自己整理一下课程的学习笔记,但发现已经有学霸整理的很完善,不做东施效颦之举,在此分 ...
- 转载:强化学习中Bellman最优性方程背后的数学原理?
一. Bellman最优 贝尔曼方程在强化学习(RL)中无处不在,它是由美国应用数学家理查德·贝尔曼(Richard Bellman)提出,用于求解马尔可夫决策过程. 贝尔曼最优性方程 贝尔曼最优性方 ...
最新文章
- Java中几个常见的关键字
- R语言使用ggpubr包的ggarrange函数组合多张结论图(垂直堆叠组合)、并为组合后的图像添加图形的注释信息(标题,副标题,坐标轴,字体,颜色等)
- 什么是浏览器指纹识别?浏览器指纹识别如何预防
- android studio module不识别 红色j,androidstudio 不显示 Module-- 新年第一波
- 【知识星球】Attention网络结构上新,聚焦才能赢
- boost::mp11::mp_clear相关用法的测试程序
- [Silverlight]使用PagedCollectionView配合复选框实现动态筛选的解决方案
- clistctrl获取选中行数据_大神,Excel数据怎么对比?
- 技术MBA高科技企业的“宠儿”
- 一文快速探索视频用户网络画像与应用
- 零基础学python知乎-编程零基础应当如何开始学习 Python?
- 【sklearn第二十七讲】模型持久性
- Atitit 2017年的技术趋势与未来的大技术趋势
- 如果计算机正执行屏幕保护程序 当用户,计算机一级考试考参试题(含答案)章节一.doc...
- 如何VARCHART XGantt编写PDF文件
- IPv6 的速度比 IPv4 更快?
- jwplayer html插件,jQuery插件JWPlayer视频播放器用法实例分析
- 投影技术的分类与应用
- 2021上海酵素展暨中国酵素节资讯食用酵素的营养功效及研究进展
- jacobi方法 matlab,Jacobi(雅可比)迭代原理与matlab代码