【强化学习】《动手学强化学习》马尔可夫决策过程

【强化学习】《动手学强化学习》马尔可夫决策过程

      • 一、随机过程、马尔可夫过程、马尔可夫奖励过程
      • 二、马尔可夫决策过程
      • 三、蒙特卡洛方法
      • 四、最优策略与贝尔曼最优方程

一、随机过程、马尔可夫过程、马尔可夫奖励过程

  • 强化学习中的环境、模型其实就是一个马尔可夫决策过程,揭示了游戏的规则。如果想用强化学习的方法解决一个实际问题,第一步就是要将这个实际问题抽象成一个马尔可夫决策过程。马尔可夫决策过程由随机过程、马尔可夫过程、马尔可夫奖励过程一步步演化而来。
  • 随机过程(stochastic process)
    某一随机现象在某时刻 t t t的状态 S t S_t St是随机的,通常取决于 t t t时刻之前的状态。已知历史信息 ( S 1 , . . . , S t ) (S_1,...,S_t) (S1,...,St)时下一时刻的状态为 S t + 1 S_{t+1} St+1的概率为 P ( S t + 1 ∣ S 1 , . . . , S t ) P(S_{t+1}|S_1,...,S_t) P(St+1S1,...,St)
  • 马尔可夫过程(markov process)
    1.具有马尔可夫性质的随机过程,或者说某时刻状态只取决于上一时刻状态的随机过程,称之为马尔可夫过程,或者称为马尔可夫链。用公式表示如下:
    P ( S t + 1 ∣ S 1 , . . . , S t ) = P ( S t + 1 ∣ S t ) P(S_{t+1}|S_1,...,S_t)=P(S_{t+1}|S_t) P(St+1S1,...,St)=P(St+1St)
    2. t + 1 t+1 t+1时刻状态只与 t t t时刻相关,并不表明与历史状态完全没有关系, t t t时刻状态包含了 t − 1 t-1 t1时刻状态信息, t − 1 t-1 t1时刻状态包含了 t − 2 t-2 t2时刻状态信息…实际上 t t t时刻状态包含了之前所有历史状态的信息。马尔可夫性质的存在大大简化了计算与分析。
    3.通常可用二元组 ( S , P ) (\bold{S},\bold{P}) (S,P)来表示一个马尔可夫过程,其中 S \bold{S} S是有限个数的状态集, P \bold{P} P是状态转移矩阵。
    4.从某个状态出发,最终到达终结状态所形成的路径被称为一个状态序列(episode),这个步骤称为采样(sampling)。
  • 马尔可夫奖励过程(markov reward process)
    1.在马尔可夫过程的基础上加入奖励函数 r r r和折扣因子 γ \gamma γ就得到马尔可夫奖励过程。可用如下四元组表示 ( S , P , r , γ ) (\bold{S},\bold{P},r,\gamma) (S,P,r,γ)。奖励函数 r ( s ) r(s) r(s)表示转移到状态 s s s时获得的奖励,折扣因子 γ \gamma γ为了让未来的奖励每步骤衰减 γ \gamma γ γ = 1 \gamma=1 γ=1表示奖励不存在衰减因而更关注长远利益(当前利益只是单步,长远利益是多步), γ = 0 \gamma=0 γ=0表示只关注当前利益,长远利益为0。
    2.在马尔可夫奖励过程中,从某状态开始到终结状态,所有奖励的衰减之和称为回报,公式如下:
    G t = R t + γ R t + 1 + γ 2 R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k G_t=R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+...=\sum_{k=0}^\infty \gamma^k R_{t+k} Gt=Rt+γRt+1+γ2Rt+2+...=k=0γkRt+k
  • 价值函数(value function)
    在马尔可夫奖励过程中,一个状态的期望回报被称为这个状态的价值,所有状态的价值就组成了价值函数。价值函数的公式化表述为:
    V ( s ) = E [ G t ∣ S t = s ] = E [ R t + γ R t + 1 + γ 2 R t + 2 + . . . ∣ S t = s ] = E [ R t + γ ( R t + 1 + γ R t + 2 + . . . ) ∣ S t = s ] = E [ R t + γ G t + 1 ∣ S t = s ] = E [ R t + γ V ( S t + 1 ) ∣ S t = s ] \begin{equation} \begin{split} V(s)&=E[G_t|S_t=s]\\ &=E[R_t+\gamma R_{t+1}+\gamma^2R_{t+2}+...|S_t=s]\\ &=E[R_t+\gamma(R_{t+1}+\gamma R_{t+2}+...)|S_t=s]\\ &=E[R_t+\gamma G_{t+1}|S_t=s]\\ &=E[R_t+\gamma V(S_{t+1})|S_t=s] \end{split} \end{equation} V(s)=E[GtSt=s]=E[Rt+γRt+1+γ2Rt+2+...∣St=s]=E[Rt+γ(Rt+1+γRt+2+...)St=s]=E[Rt+γGt+1St=s]=E[Rt+γV(St+1)St=s]
    其中回报 G t G_t Gt与时刻 t t t相关,而价值函数与状态 s s s有关,二者之间可以建立联系,即第 t t t时刻所选择状态 S t S_t St的价值函数应该等于第 t t t时刻的回报。
    G t = V ( S t ) G_t=V(S_t) Gt=V(St)
    在最后一个等式中,当前状态奖励的期望正是奖励函数在该状态的值,下一时刻状态价值函数可以从本状态 s s s出发的转移概率表示,即
    V ( s ) = E [ R t + γ V ( S t + 1 ) ∣ S t = s ] = E [ R t ∣ S t = s ] + E [ γ V ( S t + 1 ) ∣ S t = s ] = r ( s ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s ) V ( s ′ ) \begin{equation} \begin{split} V(s)&=E[R_t+\gamma V(S_{t+1})|S_t=s]\\ &=E[R_t|S_t=s]+E[\gamma V(S_{t+1})|S_t=s]\\ &=r(s)+\gamma \sum_{s'\in S}P(s'|s)V(s') \end{split} \end{equation} V(s)=E[Rt+γV(St+1)St=s]=E[RtSt=s]+E[γV(St+1)St=s]=r(s)+γsSP(ss)V(s)
    上式就是在强化学习中起到关键作用的贝尔曼方程(bellman equation)。

二、马尔可夫决策过程

1.在MRP中状态的转移过程是随机的,如果在MRP的基础上对于状态转移加入人为干预便成了MDP。马尔可夫决策过程由五元组组成 ( S , A , γ , r ( s , a ) , P ( s ′ ∣ s , a ) ) (S,A,\gamma,r(s,a),P(s'|s,a)) (S,A,γ,r(s,a),P(ss,a))。(区分一下MRP中的 r ( s ) r(s) r(s)与MDP中的 r ( s , a ) r(s,a) r(s,a):第 t t t阶段的奖励在MRP中成立 R t = r ( s ) R_t=r(s) Rt=r(s),在MDP中成立 R t = r ( s , a ) R_t=r(s,a) Rt=r(s,a) r ( s ) r(s) r(s)是指由某个状态转移到 s s s所获得的奖励, r ( s , a ) r(s,a) r(s,a)是指在状态 s s s下选择动作 a a a所获得的奖励
2.在MDP中智能体对于状态转移的干预方式定义为策略 π \pi π,公式表示为 π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s)=P(A_t=a|S_t=s) π(as)=P(At=aSt=s)。策略分为确定性策略与随机性策略,确定性策略是指当前状态下选定了动作后转移到的策略是固定的。
3.价值函数在MDP中也分为两种:状态价值函数与动作价值函数。
MDP中基于策略 π \pi π的状态价值函数定义为从状态 s s s出发遵循策略 π \pi π到达终结状态的回报,公式表达为:
V π ( s ) = E π [ G t ∣ S t = s ] V^{\pi}(s)=E_{\pi}[G_t|S_t=s] Vπ(s)=Eπ[GtSt=s]
MDP中基于策略 π \pi π的动作价值函数定义为从状态 s s s出发执行动作 a a a后遵循策略 π \pi π到达终结状态的回报,公式表达为:
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) \begin{equation} \begin{split} Q^{\pi}(s,a)&=E_{\pi}[G_t|S_t=s,A_t=a]\\ &=r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^{\pi}(s') \end{split} \end{equation} Qπ(s,a)=Eπ[GtSt=s,At=a]=r(s,a)+γsSP(ss,a)Vπ(s)
状态价值函数与动作价值函数之间存在着如下的关系。
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V^{\pi}(s)=\sum_{a\in A}\pi(a|s)Q^{\pi}(s,a) Vπ(s)=aAπ(as)Qπ(s,a)
状态价值函数与动作价值函数的贝尔曼期望(bellman expectation equation)方程定义如下:
Q π ( s , a ) = E π [ R t + γ Q π ( s ′ , a ′ ) ∣ S t = s , A t = a ] = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ ) V π ( s ) = E π [ R t + γ V π ( s ′ ) ∣ S t = s ] = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) = ∑ a ∈ A π ( a ∣ s ) ( r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) ) \begin{equation} \begin{split} Q^{\pi}(s,a)&=E_{\pi}[R_t+\gamma Q^{\pi}(s',a')|S_t=s,A_t=a]\\ &=r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^{\pi}(s')\\ &=r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)\sum_{a'\in A}\pi(a'|s')Q^{\pi}(s') \end{split} \end{equation}\\ \begin{equation} \begin{split} V^{\pi}(s)&=E_{\pi}[R_t+\gamma V^{\pi}(s')|S_t=s]\\ &=\sum_{a\in A}\pi(a|s)Q^{\pi}(s,a)\\ &=\sum_{a\in A}\pi(a|s)(r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^{\pi}(s')) \end{split} \end{equation} Qπ(s,a)=Eπ[Rt+γQπ(s,a)St=s,At=a]=r(s,a)+γsSP(ss,a)Vπ(s)=r(s,a)+γsSP(ss,a)aAπ(as)Qπ(s)Vπ(s)=Eπ[Rt+γVπ(s)St=s]=aAπ(as)Qπ(s,a)=aAπ(as)(r(s,a)+γsSP(ss,a)Vπ(s))
4.我们可以将MDP转化成MRP,通过定义奖励函数与状态转移函数如下。一些小型的MDP问题转化为MRP之后,便可以使用MRP的解析解的方法求解价值函数了。当状态集合或者动作集合较大时,可以使用动态规划以及蒙特卡洛采样的方法来计算价值函数。
r ′ ( s ) = ∑ a ∈ A π ( a ∣ s ) r ( s , a ) P ′ ( s ′ ∣ s ) = ∑ a ∈ A π ( a ∣ s ) P ( s ′ ∣ s , a ) r'(s)=\sum_{a\in A}\pi(a|s)r(s,a)\\ P'(s'|s)=\sum_{a\in A}\pi(a|s)P(s'|s,a) r(s)=aAπ(as)r(s,a)P(ss)=aAπ(as)P(ss,a)

三、蒙特卡洛方法

  • 蒙特卡洛方法(monte carlo method)也被称为统计模拟方法,是一种基于概率统计的数值计算方法。使用采样的方法归纳出我们想要得到的目标的数值估计。举个简单的例子,使用蒙特卡洛方法来计算圆形的面积,在一个正方形中随机打点,统计打点位置在正方形内切圆的个数,当打点个数足够大时,两个形状的打点个数之比与面积之比就非常接近了。
  • 使用蒙特卡洛方法来计算某个策略下的状态价值函数。使用该策略采样足够多的序列,计算从这个状态出发的回报再求其期望就可以了。其中 G t ( i ) G_t^{(i)} Gt(i)表示第 i i i次采样序列中出现当前状态s时的回报。
    V π ( s ) = E π [ G t ∣ S t = s ] ≈ 1 N ∑ i = 1 N G t ( i ) V^{\pi}(s)=E_{\pi}[G_t|S_t=s]\approx \frac{1}{N}\sum_{i=1}^{N}G_t^{(i)} Vπ(s)=Eπ[GtSt=s]N1i=1NGt(i)
    注意:在一条序列中某个状态可能出现0次、1次或者很多次。第一种采样方法是每次出现都计算回报,第二种采样方法是每个状态只取某个序列中第一次出现时的回报。两种方法各有应用,本文应用第一种方法。
  • 具体来说,使用蒙特卡洛方法近似计算状态价值函数的流程如下:
    1.使用策略 π \pi π采样若干条序列。
    2.对于每一条序列,从后往前遍历每一个状态转移过程。并采用增量的方式更新价值函数。
    N ( s ) ← N ( s ) + 1 V ( s ) ← V ( s ) + 1 N ( s ) ( G − V ( s ) ) N(s)\leftarrow N(s)+1\\ V(s)\leftarrow V(s)+\frac{1}{N(s)}(G-V(s)) N(s)N(s)+1V(s)V(s)+N(s)1(GV(s))

四、最优策略与贝尔曼最优方程

  • 在状态 s s s处选择最优的策略 π \pi π从而最大化状态价值函数,称之为最优状态价值函数:
    V ∗ ( s ) = max ⁡ π V π ( s ) , ∀ s ∈ S V^*(s)=\max_{\pi}V^{\pi}(s),\forall s \in S V(s)=πmaxVπ(s),sS
  • 在状态动作对 ( s , a ) (s,a) (s,a)之后选择最优策略 π \pi π从而最大化动作价值函数,称之为最优动作价值函数:
    Q ∗ ( s , a ) = max ⁡ π Q π ( s , a ) , ∀ s ∈ S , a ∈ A Q^*(s,a)=\max_{\pi}Q^{\pi}(s,a),\forall s\in S,a\in A Q(s,a)=πmaxQπ(s,a),sS,aA
  • 二者之间存在着如下关系:
    Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ∗ ( s ′ ) V ∗ ( s ) = max ⁡ a ∈ A Q ∗ ( s , a ) Q^*(s,a)=r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)V^*(s')\\ V^*(s)=\max_{a\in A}Q^*(s,a) Q(s,a)=r(s,a)+γsSP(ss,a)V(s)V(s)=aAmaxQ(s,a)
  • 根据上述关系,可以得到贝尔曼最优方程(bellma opyimality equation)
    V ∗ ( s ) = max ⁡ a ∈ A { r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ∗ ( s ′ ) } Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) max ⁡ a ′ ∈ A Q ∗ ( s ′ , a ′ ) V^*(s)=\max_{a\in A}\{r(s,a)+\gamma \sum_{s'\in S}P(s'|s,a)V^*(s')\}\\ Q^*(s,a)=r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)\max_{a'\in A}Q^*(s',a') V(s)=aAmax{r(s,a)+γsSP(ss,a)V(s)}Q(s,a)=r(s,a)+γsSP(ss,a)aAmaxQ(s,a)
    贝尔曼方程的意义:某一阶段最优决策的问题,通过贝尔曼方程转化为下一阶段最优决策的子问题,从而初始状态的最优决策可以由终状态的最优决策(一般易解)问题逐步迭代求解。存在某种形式的贝尔曼方程,是动态规划方法能得到最优解的必要条件。

你可能感兴趣的:(强化学习,人工智能,算法,强化学习)