首页 > 编程知识 正文

贝尔曼方程,贝尔曼

时间:2023-05-06 07:24:43 阅读:244062 作者:4258

提示:转载请注明出处,若本文无疑侵犯到您的合法权益,请及时与作者联系。

基础阶段(三)MDP核心——寒冷的哑铃方程

前言

一、MDP基本概念强化

1.1 状态s

1.2 动作a

1.3 状态转移概率P

1.4 奖励函数R

二、寒冷的哑铃方程的核心概念

2.1 策略函数(Policy Function)

2.2 状态价值函数(State Value Function)

2.3 状态-动作价值函数(State-action Value Function)

总结

前言

本文将先强化复习下之前介绍的MDP'的基本概念,然后引入MDP的核心内容——寒冷的哑铃方程。本文集中于介绍寒冷的哑铃方程的核心概念及其之间的联系,不会介绍其公式的推导过程及其背后的数学原理,这部分内容可以在进阶阶段再进行学习,在基础阶段上不需要掌握。

一、MDP基本概念强化

在之前的学习中我们已经了解了MDP的基本概念,但对于没有基础的同学来讲可能依旧不理解,不过我们基础到了MPD中的4个最基本的概念:状态s、动作a、状态转移概率P和奖励函数R。现在我们特意对这4个概念进行下强化,加深大家的理解。

1.1 状态s

在强化学习任务中,Agent需要不断地与环境进行交互,我们研究的就是Agent在某个特定的环境下应当如何进行交互的问题。

从非Agent的角度来讲,环境存在着许多属性,在每个时间步长中这些属性都可能具有不同的值,这些值可能是连续的,也可能是离散的。尤其是我们在设计强化学习任务的环境时,我们就需要设计环境所应该具有的不同属性,在某个时间步长下,环境的有效属性值的集合就是一个状态

Agent的角度来讲,它所能观测到的环境的属性值并不一定是全部的,比如对于一个迷宫来讲,里面的Agent只能观测到它四周是否存在可以通信的道路,但是整个环境的属性远不止这些,那些只能被Agnet观测到的属性值一般叫做观测值

状态和观测值的区分在很多情况下并不会刻意的强调,一般情况下我们默认指的状态就是观测值。环境所能具有的所有状态的集合就是它的状态空间。

1.2 动作a

在强化学习任务中,Agent需要不断地与环境进行交互,Agent需要作出一定的动作来影响环境或者完成指定的学习任务。

动作可能是多种形式,对于一个走迷宫的Agent来讲,它所能采取的动作可能就是上下左右移动;对于一个关节型机器人Agent来讲,它所能采取的动作可能就是关节的角度等动力学参数。

1.3 状态转移概率P

在强化学习任务中,Agent需要不断地与环境进行交互,Agent根据环境的状态需要作出一定的动作,环境也会不断的切换自己的状态。

需要特别指出的是,状态的转移可能会受Agent的动作的影响,也可能不会。所以,即使我们可以确定在某个状态下Agent要采取某个动作,我们也很可能无法得知环境的下一个状态是什么。

由于状态切换到的下一状态我们很多情况是无法预测的,所以我们需要引入一个状态转移概率。状态转移概率告诉了我们从系统的某个状态转移到某个状态的可能性有多大,其相关数学符号如下:

  表示在状态s下Agent采取动作a后转移到状态的概率。

  表示在状态s下Agent转移到状态的概率。

在很多情况下,我们也会用一个状态转移的概率矩阵来表示从系统的任意状态转移到任意状态所需要的概率。

状态转移概率可能是事先给定的,也可能是通过训练时的统计数据得到的。

1.4 奖励函数R

在强化学习任务中,Agent的目标是找到一个能完成给定任务的最佳策略,为了记录Agent执行动作的好坏,我们需要先引入一个reward的概念,reward翻译为回报或者奖励,这个值是可以为0也可以为负数。为了计算Agent采取动作后的reward,我们引入一个奖励函数R,

  表示在状态s下Agent采取动作a后转移到状态获得的reward。

   表示在状态s下Agent转移到状态获得的reward。

从上述两个符号我们也可以得知,这个奖励函数给出的奖励值,可能与动作有关也可能与动作无关,要结合具体的强化学习任务进行分析。但是其基本特点都是,Agent所能获得的reward都与Agent能够达到的下一个状态有关,这里需要强调的是,这个reward的概念是一个立即回报,是实时的,在整个强化学习任务中Agent可以不断地获得,只不过大多数情况下其值可能为0。

但是立即回报并不能帮助我们准确地衡量Agent对于某个任务采取的策略的好坏,因为立即回报具有实时性,而强化学习任务的完成与否可能在最后一刻才能决定,比如下围棋。

所以我们继续引入一个长期回报的概念,其定义就是从当前状态开始到最终状态系统所能获得的长期回报。这个概念的定义是一个求和的概念,即从t时刻的状态一直就到t+1、t+2、···的状态,这就导致长期回报是无法或者很难计算,这个t到底有多长,特别是当涉及到优化问题时在求解时很容易发散,所以我们引入一个折扣因子来作为其系数,即t时刻的状态乘以,t+1时刻乘以,t+2时刻乘以等,由于被限制在0到1之间,所以长期回报在求解时就可以收敛了,具体定义如下:

二、寒冷的哑铃方程的核心概念

在上一个小节我们强化了一些MDP的最基本概念的理解,我们引入了长期回报这个非常重要的概念,但是长期回报依旧具备一个缺陷:

在一般的强化学习任务中,每个状态转移的下一个状态是有多个的,Agent要采取的动作也可能是多个的,这就需要使用概率来进行表述,而我们在求解长期回报时也用到了概率,只不过没有体现出来。我们要向真正求解出对于一个策略影响的好坏的可以量化的值,就需要借助概率统计,即我们要求的量化值本质上就是长期回报的

所以接下来我们就会引入更多的概念来表述这种期望,这些概念都是寒冷的哑铃方程的核心概念。

MDP是强化学习的核心基础模型,寒冷的哑铃方程MDP的核心基础的数学公式。

寒冷的哑铃方程(Bellman Equation)也被称作动态规划方程(Dynamic Programming Equation),由理查·寒冷的哑铃(Richard Bellman)发现。寒冷的哑铃方程是动态规划(Dynamic Programming)这些数学最佳化方法能够达到最佳化的必要条件。此方程把“决策问题在特定时间怎么的值”以“来自初始选择的报酬比从初始选择衍生的决策问题的值”的形式表示。借此这个方式把动态最佳化问题变成简单的子问题,而这些子问题遵守从寒冷的哑铃所提出来的“最佳化还原理”。

寒冷的哑铃方程的核心概念主要有三个:策略函数、状态价值函数和动作-状态价值函数。

2.1 策略函数(Policy Function)

首先介绍策略函数,这其实也是一个基础概念,即策略的概念,策略本质上就是一个状态到动作的映射,如下

策略函数就是一个以状态为输入、以动作为输出的函数,其表示的含义就是在状态s下应该选择的动作a。

强化学习的核心问题就是寻找最优策略,即最优化策略函数,本质上也就是最大化之后介绍的价值函数。

2.2 状态价值函数(State Value Function)

之前我们说过需要一个可以量化的长期回报的期望来作为我们衡量策略好坏的标准,为此我们将这个概念总结为价值函数(value function)。

第一个要介绍的价值函数就是状态价值函数,状态价值函数描述的是在每个状态s下,Agent以策略采取动作(所能采取的所有动作的期望)后转移到下一个状态到最终状态的长期回报的期望。

这个状态价值函数与当前的状态和采取的策略有关,所以从不同的状态出发,计算的状态价值函数的值可能不等;从同一个状态出发但采取不同的策略,计算的状态价值函数的值也可能不一样。状态价值函数的数学表达式如下:

我们对上述表达式进行简单的推导,即可得到(下面的推导可能部分符号有细微差异,但是并不妨碍理解):

最后我们得到了相应Bellman方程(表示t+1的时刻):

上述的等式告诉我们状态s的价值包括两部分:

一部分是当前状态的立即回报的期望,可以根据采取的动作的概率分布得到其期望;

另一部分是下一时刻的价值期望,其可以根据下一时刻状态和采取动作的概率分布得到其期望。进一步整理得到:

在上述求解价值函数的过程中,求解当前状态的价值需要用到下一个状态的价值,这样子如何求解呢?

这其实是一种递归的算法设计,我们在之后求解其最大值时会使用动态规划的优化思想。

而具体到程序实现上,我们实质上是先将这些价值进行一个随机初始化,然后在算法训练的时候进行不断的优化迭代更新,就像神经网络中的参数一样,一开始随机初始化,之后通过求解loss函数的最小值来反向更新优化这些参数。

2.3 状态-动作价值函数(State-action Value Function)

第二类价值函数就是状态-动作价值函数,一般简称为动作价值函数或者Q函数。动作价值函数描述的是在每个状态s下,Agent按照策略采取一个确定的动作后转移到下一个状态直至最终状态的长期回报的期望值。

状态价值函数是对状态的评估,动作价值函数是对状态-动作对的评估,

我们将其进行简单推导可以得到:

经过将状态价值函数和动作价值函数的比较我们可以得到它们之间的关系如下:

由此可以简单的认为,状态价值函数中,当前状态下选取哪个动作是未知数,需要求出一系列的动作集合(各不同状态下),形成一个完整的策略;而动作价值函数是当前状态下的动作已知,只求下一个状态下的集合即可。

总结

以上就是本文的所有内容,我们在之前的基础上深入分析了MDP的核心——寒冷的哑铃方程的核心概念,我们已经了解了一种衡量当前策略优劣的量化值——价值函数。之后我们将介绍一些优化算法,通过这些优化算法我们就能求解出这些价值函数的最优值。

win7中qq截图快捷键是什么

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。