首页 > 编程语言 >强化学习(四):基于表格型动态规划算法的强化学习

强化学习(四):基于表格型动态规划算法的强化学习

时间:2022-12-21 14:03:46浏览次数:34  
标签:状态 策略 表格 动作 学习 强化 价值 迭代 评估


强化学习(四):基于表格型动态规划算法的强化学习



  在有限马尔可夫决策过程中,智能体在某个状态进行决策的过程中,始终满足价值函数和动作函数的贝尔曼方程,事实上,这就是一种动态规划的思想。动态规划即是一种递推表达式,例如对于状态价值的贝尔曼方程,其衡量的是当前状态与所有的下一个可能的状态价值的关系,同理,动作价值的贝尔曼方程则是衡量当前状态动作二元组的价值与对应所有可能转移的下一个状态基础上执行所有可能动作的价值的关系。
  回想一下在​​强化学习(一)​​中,我们介绍了强化学习的相关概念,其中给出了有模型与无模型的概念。基于动态规划的强化学习则是一种基于有模型的方法,具体的讲,只有已知环境中所有的状态以及对应的策略分布、状态转移概率分布,才能应用动态规划。
  动态规划的目标是得到当前状态强化学习(四):基于表格型动态规划算法的强化学习_策略迭代的价值函数以及当前可采取的最优策略。因为我们已知策略分布 强化学习(四):基于表格型动态规划算法的强化学习_强化学习_02、状态转移 强化学习(四):基于表格型动态规划算法的强化学习_迭代_03 ,则可以将所有可能转移的下一个状态强化学习(四):基于表格型动态规划算法的强化学习_动态规划_04对应的状态价值强化学习(四):基于表格型动态规划算法的强化学习_动态规划_05一同通过贝尔曼方程更新到强化学习(四):基于表格型动态规划算法的强化学习_迭代_06,这既是动态规划的思想。事实上不管是动态规划,还是蒙特卡洛采样,都是这种逆推回溯的思想。

1、策略评估与策略控制

  几乎所有的基于表格型的强化学习算法都可以分为策略评估与策略改进两个部分。策略评估是指根据后续的状态价值来更新当前时刻的状态价值,因此不严谨的讲,策略评估即是对状态价值的一种估计,或者说是一种预测。而对于策略控制,则是根据当前评估的结果,贪心的选择认为最好的策略。如下图所示:


强化学习(四):基于表格型动态规划算法的强化学习_策略迭代_07

策略评估与策略改进是一对相互约束又相互促进的两个“进程”,策略评估的目的是使得价值函数与当前的策略保持一致,策略控制则是根据当前价值函数贪心地选择策略。这一流程也被称为广义策略迭代(GPI)


强化学习(四):基于表格型动态规划算法的强化学习_强化学习_08

  策略总是基于特定的价值函数进行改进,价值函数也始终会向对应特定策略的真实价值函数进行收敛。两者不断轮回直到收敛到一个稳定值。下面以动态规划为主,讲解其策略评估与策略改进。

1.1 策略评估用于估计状态价值

  这里需要说明的一点是,策略评估目标预测状态价值。事实上,动态规划自身因为是一种有模型的算法,其已经保存当前时刻所有状态以及所有可能采取的动作,因此通过当前已知的这些信息来预估每个状态最终的价值,也就是说,这些状态价值是一个唯一的值。只是我们并不知道具体是多少,而动态规划的目的就是去找到这个值。后面的证明事实也说明这样的值一定是唯一的且是全局最优的。
  给定时刻强化学习(四):基于表格型动态规划算法的强化学习_强化学习_09的状态强化学习(四):基于表格型动态规划算法的强化学习_强化学习_10,已知策略分布强化学习(四):基于表格型动态规划算法的强化学习_强化学习_11、状态转移概率分布强化学习(四):基于表格型动态规划算法的强化学习_强化学习_12,局部收益强化学习(四):基于表格型动态规划算法的强化学习_强化学习_13和折扣系数强化学习(四):基于表格型动态规划算法的强化学习_强化学习_14,回报为强化学习(四):基于表格型动态规划算法的强化学习_动态规划_15。根据状态价值贝尔曼公式的定义:

强化学习(四):基于表格型动态规划算法的强化学习_动态规划_16

则可以推出:

强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_17

因此如果根据策略强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_18,则可以依赖贝尔曼方程不断地对每一个状态的价值函数进行迭代,即:

强化学习(四):基于表格型动态规划算法的强化学习_动态规划_19

强化学习(四):基于表格型动态规划算法的强化学习_策略迭代_20 表示 强化学习(四):基于表格型动态规划算法的强化学习_强化学习_09 时刻状态 强化学习(四):基于表格型动态规划算法的强化学习_强化学习_22 的价值函数的第 强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_23 次迭代值,强化学习(四):基于表格型动态规划算法的强化学习_迭代_24 则表示 强化学习(四):基于表格型动态规划算法的强化学习_策略迭代_25 时刻状态 强化学习(四):基于表格型动态规划算法的强化学习_强化学习_10强化学习(四):基于表格型动态规划算法的强化学习_策略迭代_27


强化学习(四):基于表格型动态规划算法的强化学习_强化学习_28

首先输入一个确定的策略强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_18,初始化状态价值函数强化学习(四):基于表格型动态规划算法的强化学习_迭代_30。对于所有状态,开始不断地迭代计算。当相邻两次迭代之间值的差小于一个预设的阈值时,迭代结束。

1.2 策略控制用于估计动作价值

  策略控制也叫做策略更新、策略改进,其目标即是根据当前的状态结果,贪心的选择认为最优的动作策略:

强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_31

分析一下可知,当前时刻状态强化学习(四):基于表格型动态规划算法的强化学习_策略迭代的最好策略,即是在所有可能的动作中,挑选使得下一个时刻状态价值最大的对应的动作,因此事实上,策略控制就是一次择优过程。

1.3 策略迭代过程

  策略迭代就是策略评估与策略控制相互交替的过程,如图所示:


强化学习(四):基于表格型动态规划算法的强化学习_策略迭代_33

首先初始化一个策略分布,并根据这个策略来迭代所有状态,试图找到该策略下各个状态价值的最好结果,其次从所有可取的动作中,挑选最优动作,作为新的策略,如此循环下去。下面给出动态规划的策略迭代算法:

强化学习(四):基于表格型动态规划算法的强化学习_强化学习_34

1、2部分与策略评估一样,第3部分为策略控制,即从当前所有可取的动作中,选择动作价值最大的作为新的策略,当且仅当相邻的两次策略控制得到的最优策略(old-action和强化学习(四):基于表格型动态规划算法的强化学习_动态规划_35)完全一致时,迭代终止。

  需要说明的是,在策略迭代过程中,首先进行的是策略评估,当前仅当策略评估收敛时,才进行策略控制。不过很快我们会发现问题,如果始终等待策略评估收敛后,才能进行策略控制,这一过程会消耗很多时间和计算资源,因此我们比较常用价值迭代来实现动态规划

2、价值迭代与异步动态规划

  价值迭代即是将策略评估与策略控制相结合,即在每一次迭代是,直接选择最优的动作来更新当前的状态价值,这样就能保证每个状态都能够保存最好的策略。价值迭代的算法如图所示:

强化学习(四):基于表格型动态规划算法的强化学习_迭代_36

强化学习(四):基于表格型动态规划算法的强化学习_策略迭代,其直接选择最优策略对应的价值来更新当前状态的价值,即公式强化学习(四):基于表格型动态规划算法的强化学习_动态规划_38,其与策略控制公式一样,只是策略控制是选择最大对应的动作,而此处则是将最大值更到强化学习(四):基于表格型动态规划算法的强化学习_价值迭代_39,这样就一步到位。

  事实上,这是一种异步的思想,简单地来说,在每次迭代时,并不在意是否所有的动作都全部完成一次策略评估,而是就地的直接更新。我们可以细想一下策略迭代,其先进行一次策略评估,而这一过程是需要将所有的状态全部遍历一遍,且达到收敛为止,而价值迭代,则不管当前状态是否都遍历完,逢遇到一个状态就就地的将最好的策略对应的价值更新上去。这样的好处自然就是节省内存和时间。


标签:状态,策略,表格,动作,学习,强化,价值,迭代,评估
From: https://blog.51cto.com/u_15919249/5959881

相关文章

  • 强化学习(三):有限马尔可夫决策与贝尔曼方程
    强化学习(三):有限马尔可夫决策与贝尔曼方程​1、有限马尔可夫决策过程  有限马尔可夫决策过程(MDP)是强化学习的主要思想,也是后续多个解决强化学习目标的基本假设。  我们......
  • Protocol Buffers 3 学习笔记
    官方文档地址syntax="proto3";必须放在.proto文件首行,之前不能有空白行或者注释行,如果不存在或者没有放在首行,则编译器认为是proto2字段对应的序号,在1-15之内(含)时,编码......
  • 深度学习课程第一章重点梳理
    1.人脑的视觉机理1.1理解人脑的分层世界机理人脑视觉机理:1981年的诺贝尔医学/生理学奖,发现可视皮层是分级的人的视觉系统的信息处理是分级的。从低级的V1区提取边缘特征......
  • 机器学习——人脸性别识别
    一、选题背景    人脸识别技术是模式识别和计算机视觉领域最富挑战性的研究课题之一,也是近年来的研究热点,人脸性别识别作为人脸识别技术的重要组成部分也受到了广......
  • [2] HEVD 学习笔记:栈溢出漏洞训练
    2.HEVD栈溢出漏洞训练2.1漏洞原理​ 当函数退出的时候,会将保存在栈中的返回地址取出,跳转到该地址继续执行,以此来执行函数调用以后的程序。而如果用户的输入没有得到控......
  • [DataV] 数据可视化之轮播表 滚动表格
    npminstall@jiaminghi/data-viewmain.jsimportdataVfrom‘@jiaminghi/data-view’Vue.use(dataV)<divclass="recentlyReportScollList"style="width:392px;height:29......
  • 机器学习项目中不可忽视的一个密辛 - 大数定理、中心极限定理
    机器学习项目中不可忽视的一个密辛-大数定理、中心极限定理1.前言0x1:概率论的起源大数定律和中心极限定律是伴随着古典统计,古典概率论,函数分析,极......
  • 阴谋还是悲剧?- 基于机器学习假设检验视角,看泰坦尼克号事件
    阴谋还是悲剧?-基于机器学习假设检验视角,看泰坦尼克号事件1.引言0x1:故事背景泰坦尼克号(RMSTitanic),又译作铁达尼号,是英国白星航运公司下辖的一艘奥......
  • 基于学习的证据合成方法研究
    基于学习的证据合成方法研究1.传统证据合成理论中存在的问题在这篇文章中,笔者希望和大家一起讨论关于传统证据合成理论中面临的两个问题于挑战,即【......
  • 【机器学习】李宏毅——Unsupervised Learning
    读这篇文章之间欢迎各位先阅读我之前写过的线性降维的文章。这篇文章应该也是属于UnsupervisedLearning的内容的。NeighborEmbeddingManifoldLearning(流形学习)在实际......