前言
强化学习入门笔记,基于easy RL
一、基础概念
RL基础关键词
强化学习(reinforcement learning,RL):智能体可以在与复杂且不确定的环境进行交互时,尝试使所获得的奖励最大化的算法。
动作(action): 环境接收到的智能体基于当前状态的输出。
状态(state):智能体从环境中获取的状态。
奖励(reward):智能体从环境中获取的反馈信号,这个信号指定了智能体在某一步采取了某个策略以后是否得到奖励,以及奖励的大小。
探索(exploration):在当前的情况下,继续尝试新的动作。其有可能得到更高的奖励,也有可能一无所有。
利用(exploitation):在当前的情况下,继续尝试已知的可以获得最大奖励的过程,即选择重复执行当前动作。
深度强化学习(deep reinforcement learning):不需要手动设计特征,仅需要输入状态就可以让系统直接输出动作的一个端到端(end-to-end)的强化学习方法。通常使用神经网络来拟合价值函数(value function)或者策略网络(policy network)。
全部可观测(full observability)、完全可观测(fully observed)和部分可观测(partially observed):**当智能体的状态与环境的状态等价时,我们就称这个环境是全部可观测的;当智能体能够观察到环境的所有状态时,我们称这个环境是完全可观测的;**一般智能体不能观察到环境的所有状态时,我们称这个环境是部分可观测的。
部分可观测马尔可夫决策过程(partially observable Markov decision process,POMDP):即马尔可夫决策过程的泛化。部分可观测马尔可夫决策过程依然具有马尔可夫性质,但是其假设智能体无法感知环境的状态,只能知道部分观测值。
动作空间(action space)、离散动作空间(discrete action space)和连续动作空间(continuous action space):在给定的环境中,有效动作的集合被称为动作空间,智能体的动作数量有限的动作空间称为离散动作空间,反之,则被称为连续动作空间。
基于策略的(policy-based):智能体会制定一套动作策略,即确定在给定状态下需要采取何种动作,并根据这个策略进行操作。强化学习算法直接对策略进行优化,使制定的策略能够获得最大的奖励。
基于价值的(valued-based):智能体不需要制定显式的策略,它维护一个价值表格或者价值函数,并通过这个价值表格或价值函数来执行使得价值最大化的动作。
有模型(model-based)结构:智能体通过学习状态的转移来进行决策。
免模型(model-free)结构:智能体没有直接估计状态的转移,也没有得到环境的具体转移变量,它通过学习价值函数或者策略网络进行决策。
马尔可夫决策过程关键词
马尔可夫性质(Markov property,MP): 如果某一个过程未来的状态与过去的状态无关,只由现在的状态决定,那么其具有马尔可夫性质。换句话说,一个状态的下一个状态只取决于它的当前状态,而与它当前状态之前的状态都没有关系。
马尔可夫链(Markov chain): 概率论和数理统计中具有马尔可夫性质且存在于离散的指数集(indexset)和状态空间(state space)内的随机过程(stochastic process)。
状态转移矩阵(state transition matrix): 状态转移矩阵类似于条件概率(conditional probability),其表示当智能体到达某状态后,到达其他所有状态的概率。矩阵的每一行描述的是从某节点到达所有其他节点的概率。
马尔可夫奖励过程(Markov reward process,MRP):本质是马尔可夫链加上一个奖励函数。在马尔可夫奖励过程中,状态转移矩阵和它的状态都与马尔可夫链的一样,只多了一个奖励函数。奖励函数是一个期望,即在某一个状态可以获得多大的奖励。
范围(horizon): 定义了同一个回合(episode)或者一个完整轨迹的长度,它是由有限个步数决定的。
回报(return): 把奖励进行折扣(discounted),然后获得的对应的奖励。
贝尔曼方程(Bellman equation): 其定义了当前状态与未来状态的迭代关系,表示当前状态的价值函数可以通过下个状态的价值函数来计算。贝尔曼方程因其提出者、动态规划创始人理查德 · 贝尔曼(RichardBellman)而得名,同时也被叫作“动态规划方程”。贝尔曼方程即 V (s) = R(s) + γP s′∈S P(s′|s)V (s′) ,特别地,其矩阵形式为 V = R + γPV。蒙特卡洛算法(Monte Carlo algorithm,MC algorithm):可用来计算价值函数的值。使用本节中小船的例子,当得到一个马尔可夫奖励过程后,我们可以从某一个状态开始,把小船放到水中,让它随波流动,这样就会产生一个轨迹,从而得到一个折扣后的奖励 g 。当积累该奖励到一定数量后,用它直接除以轨迹数量,就会得到其价值函数的值。
动态规划算法(dynamic programming,DP):其可用来计算价值函数的值。通过一直迭代对应的贝尔曼方程,最后使其收敛。当最后更新的状态与上一个状态差距不大的时候,动态规划算法的更新就可以停止。
Q 函数(Q-function):其定义的是某一个状态和某一个动作所对应的有可能得到的回报的期望。马尔可夫决策过程中的预测问题:即策略评估问题,给定一个马尔可夫决策过程以及一个策略 π ,计算它的策略函数,即每个状态的价值函数值是多少。其可以通过动态规划算法解决。
马尔可夫决策过程中的控制问题:即寻找一个最佳策略,其输入是马尔可夫决策过程,输出是最佳价值函数(optimal value function)以及最佳策略(optimal policy)。其可以通过动态规划算法解决。最佳价值函数:搜索一种策略 π ,使每个状态的价值最大,V∗ 就是到达每一个状态的极大值。在极大值中,我们得到的策略是最佳策略。最佳策略使得每个状态的价值函数都取得最大值。所以当我们说某一个马尔可夫决策过程的环境可解时,其实就是我们可以得到一个最佳价值函数。
二、马尔科夫决策过程
智能体获取环境的状态采取对应的动作,将动作传给环境,环境将进入下一状态,将奖励与新的状态传递给智能体,这样的交互过程陈伟马尔可夫决策过程,是RL的基本框架。
1.策略评估
已知马尔可夫决策过程以及要采取的策略
π
\pi
π,计算价值函数
V
π
(
s
)
V_{\pi}(s)
Vπ(s) 的过程就是策略评估。
2.策略迭代
策略迭代由两个步骤组成:策略评估和策略改进(policy improvement)
策略评估由1已经完成,那么策略改进是如何进行的呢?
得到
V
π
i
(
s
)
V_{\pi i}(s)
Vπi(s)后计算Q函数:
对于每个状态,策略改进会得到新一轮的策略用于新一轮的策略评估,每个状态都采取使其Q值最大的动作
整体的策略迭代过程如下:
3.值迭代
策略迭代存在的问题:每次迭代都需要进行策略评估,而策略往往需要多次迭代才能收敛,是否可以提前结束策略评估呢
例子:策略早已为最优,但策略评估依旧没有收敛
实际上,策略评估中迭代过程的提前终止,不会影响策略迭代的收敛,因此提出值迭代的方法。
文章来源:https://www.toymoban.com/news/detail-763403.html
4.策略迭代与值迭代的区别
对比策略迭代和价值迭代,这两个算法都可以解马尔可夫决策过程的控制问题。策略迭代分两步。首先进行策略评估,即对当前已经搜索到的策略函数进行估值。得到估值后,我们进行策略改进,即把 Q 函数算出来,进行进一步改进。不断重复这两步,直到策略收敛,采用的是贝尔曼期望方程。价值迭代直接使用贝尔曼最优方程进行迭代,从而寻找最佳的价值函数。找到最佳价值函数后,我们再提取最佳策略。
对于预测问题,即策略评估的问题,我们不停地执行贝尔曼期望方程,这样就可以估计出给定的策略,然后得到价值函数。对于控制问题,如果我们采取的算法是策略迭代,使用的就是贝尔曼期望方程;如果我们采取的算法是价值迭代,使用的就是贝尔曼最优方程。文章来源地址https://www.toymoban.com/news/detail-763403.html
到了这里,关于马尔科夫决策过程-策略迭代与值迭代(基于动态规划)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!