【强化学习】Markov决策过程
本篇博客记录强化学习中的数学模型——Markov决策过程(Markov Decision Process,MDP)
Markov决策过程模型
离散时间Markov决策过程
在离散时间智能体/环境接口中,智能体和环境交互的时刻为{0,1,2,3...},在时刻t依次发生以下事件:
- 智能体观察St∈S的环境,得到观测Ot∈O,其中S是状态空间,表示状态取值的综合;O是观测空间,表示观测取值的集合
- 智能体根据观测决定做出动作At∈A,其中A是动作集合
- 环境根据智能体的动作,给予智能体奖励Rt+1∈R,并进入下一步的状态St+1∈S,其中R是奖励空间,表示奖励取值的集合
一个时间离散化的智能体/环境接口可以用这样的轨道表示:
S0,O0,A0,R1,S1,O1,A1,R2,S2,O2,A2,R3...
对于回合制的任务,可能会有一个终止状态S终止,当达到终止状态时,回合结束,不再有任何观测或动作,回合制任务的轨道形式:
S0,O0,A0,R1,S1,O1,A1,R2,S2,O2,A2,R3...ST=S终止
其中T是达到终止状态的步数
在时间离散化的智能体/环境接口中,如果智能体可以完全观察到环境的状态,则称环境是完全可观测的,令Ot=St,完全可观测任务的轨道可以简化为:
S0,A0,R1,S1,A1,R2,S2,A2,R3...ST=S终止
定义在时间t,从状态St=s和动作At=a跳转到下一状态St+1=s'和奖励Rt+1=r的概率为:
\[Pr[S_{t+1}=s',R_{t+1}=r|S_t=s,A_t=a] \]这样的概率假设认为奖励Rt+1和下一状态St+1仅仅依赖于当前的状态St和动作At,而不依赖于更早的状态和动作,这样的性质称为Markov性
Markov性是Markov决策模型对状态的额外约束,要求状态必须含有可能对未来产生影响的所有过去信息
如果状态空间、动作空间A、奖励空间R都是元素个数有限的集合,这样的Markov决策过程称为有限Markov决策过程(Finite Markov Decision Process,Finite MDP)
环境与动力
Markov决策过程的环境由动力刻画
对于有限Markov决策过程,可以定义函数p:S * R * S * A->[0,1]为Markov决策过程的动力:
- 状态转移概率:
- 给定"状态-动作"的期望奖励:
- 给定"状态-动作-下一状态"的期望奖励
智能体与策略
智能体根据观测决定其行为,在Markov决策过程中,定义策略为从状态到动作的转移概率
对于有限Markov决策过程,其策略π:S*A->[0,1]可定义为:
如果某个策略π对于任意的s∈S,均存在一个a∈A,使得:
\[π(a'|s)=0,a'≠a \]这样的策略称为确定性策略,这个策略可简记为π:S->A
奖励、回报与价值函数
强化学习的核心概念是奖励,强化学习的目标是最大化长期奖励
对于回合制任务,假设某一回合在第T步达到终止状态,则从步骤t(t
在上式中,t是一个确定性的变量,而回合的步数T是一个随机变量,因此在Gt的定义式中,不仅每一项是随机变量,而且含有的项数也是随机变量
对于连续性任务,因为连续性的任务没有终止时间,所以Gt会包括t时刻以后所有的奖励信息,可是如果对未来的奖励信息简单求和,则未来奖励信息的总和往往是无穷大,因此需要引入折扣的概念,重新定义回报:
\[G_t=R_{t+1}+γR_{t+2}+γ^2R_{t+3}+...=\sum_{τ=0}^{+∞}γ^τR_{t+τ+1} \]其中折扣因子γ∈[0,1],折扣因子决定了如何在最近的奖励和未来的奖励间进行折中:
- 未来τ步后得到的1单位奖励相当于现在得到的γτ单位奖励
- 若指定γ=0,智能体会只考虑眼前利益,完全无视长远利益,就相当于贪心算法的效果
- 若指定γ=1,智能体会认为当前的1单位奖励和未来的1单位奖励是一样重要的
对于连续性任务,一般设定为γ∈(0,1),此时如果未来每一步的奖励有界,则回报也是有界的
基于回报的定义,对于给定的策略π,可以定义以下价值函数:
- 状态价值函数:vπ(s)表示从状态s开始采用策略π的预期回报:
- 动作价值函数:qπ(s,a)表示在状态s采取动作a后,采用策略π的预期回报:
终止状态之后没有动作,故一般定义vπ(s终止)=0,q_π(s终止,a)=0
Bellman期望方程
策略评估:求解给定策略的价值函数,Bellman期望方程常用来进行策略评估
Bellman期望方程刻画了状态价值函数和动作价值函数的关系,方程由两部分组成:
- 用t时刻的动作价值函数表示t时刻的状态价值函数:
推导过程如下所示:
- 用t+1时刻的状态价值函数表示t时刻的动作价值函数
推导过程如下所示:
对于上式,可以用代入法消除其中一种价值函数,得到下面两种结果:
- 用状态价值函数表示状态价值函数
- 用动作价值函数表示动作价值函数
最优策略及其性质
价值函数实际上给出了策略的一个偏序关系:对于两个策略π和π',如果对于任意s∈S,都vπ(s)≤vπ'(s),则称策略π小于等于π',记作π≤π'
最优策略和最优价值函数
对一个动力而言,总是存在一个策略π,使得所有的策略都小于等于这个策略,这是策略π称为最优策略,最优策略的价值函数称为最优价值函数,包括以下两种形式:
- 最优状态价值函数
- 最优动作价值函数
对于一个动力,可能存在多个最优策略,而这些最优策略总是有相同的价值函数
Bellman最优方程
最优价值函数具有一个重要性质——Bellman最优方程,Bellman最优方程可以用于求解最优价值函数
最优函数的性质:
\[ \pi_*(a|s)=\left\{ \begin{aligned} 1, & a = arg,\max_{a'∈A}q_*(s,a') \\ 0, & 其他 \end{aligned} \right. \]将最优函数的性质代入Bellman期望方程,即可得到Bellman最优方程:
- 用最优动作价值函数表示最优状态价值函数
- 用最优状态价值函数表示最优动作价值函数