强化学习入门笔记系列——马尔可夫决策过程与表格型方法

本系列是针对于DataWhale学习小组的笔记,从一个对统计学和机器学习理论基础薄弱的初学者角度出发,在小组学习资料的基础上,由浅入深地对知识进行总结和整理,今后有了新的理解可能还会不断完善。由于水平实在有限,不免产生谬误,欢迎读者多多批评指正。如需要转载请与博主联系,谢谢

马尔可夫决策过程及其他相关概念


什么是马尔可夫性?

当一个系统的下一时刻状态仅与当前状态有关而与之前的所有时刻状态无关时,我们就称该系统具有马尔可夫性。

什么是马尔可夫决策过程?

马尔可夫决策过程(Markov Decision Process, MDP)是指一类满足马尔可夫性的随机系统的最优决策过程,其可以用一个五元组来表示,即<S,A,P,R,γ>。五元组中S和A分别为系统的状态集合和动作集合,任意可能出现的状态s∈S,动作a∈A;P为状态转移函数P(s'|s,a),代表已知当前状态s和动作a后状态转移至下一状态s'的概率,由于s'取值可能性较多,状态转移函数通常以概率矩阵形式表示;R为奖励函数,用于计算到达某状态所获得的奖励;γ为衰减系数,用于控制对未来奖励回报的重视程度,计算值函数时后续状态奖励会乘以累积的衰减系数进行折算。MDP框架被认为是“目标导向的交互式学习问题的一个高度抽象”。
在有限MDP过程中,状态S、动作A和奖励R集合中的元素都是有限的,此时环境的动态特性可以通过一个概率函数来描述:

\[p(s',r|s,a)=Pr\left \{{S_t=s',R_t=r|S_{t-1}=s,A_{t-1}=a}\right \} \]

其中:

\[\sum_{s' \in S}\sum_{r \in R}p(s',r|s,a)=1, \forall s \in S,a \in A(s) \]

如何区分状态值函数V(s)和状态-动作值函数Q(s,a),二者之间是什么关系?

对MDP而言,从一个状态s出发,经过一系列状态转移到达终点后,所经过的各个状态收获的累积奖励之和(经过衰减因子γ折算)记为\(G_t\)。对于某一策略π,所有从状态s出发的可能路径所得累积奖励\(G_t\)可以求一个期望,这个期望就是策略π下的状态值函数\(V^π(s)\)。如下式所示,其中\(r_n\)为第n个状态的奖赏:

\[V^\pi (s)=E_\pi [G_t|s_t=s]=E_ \pi[R_{t+1}+ \gamma V^ \pi (s_{t+1})|s_t=s] \]

在状态值函数中初始状态s和后续执行的策略π是我们制定的,但当前状态下执行的动作a是在当前状态s下由策略π生成的,表示仅确定当前状态时预期的累计奖励。而对于状态-动作值函数Q(s,a)来说,当前状态s、策略π和当前动作a都是我们给定的,即表示已确定当前状态和要执行的动作的前提下求预期的累积奖励。

\[Q^\pi (s,a)=E_\pi [G_t|s_t=s,a_t=a]=E_ \pi[R_{t+1}+ \gamma Q^ \pi (s_{t+1},a_{t+1})|s_t=s,a_t=a] \]

上述两式等号最右边部分称为贝尔曼期望方程 。网上看到的总结比较到位:某一个状态的价值可以用该状态下所有动作的价值表述;某一个动作的价值可以用该状态后续状态的价值表达。也就是说状态值函数与状态-动作值函数二者可以递推地相互推导得出。如下式所示:

\[V^\pi(s)=\sum_{a \in A}\pi (a|s)Q^ \pi(s,a) \]

\[Q^\pi(s,a) =R(s,a)+\gamma \sum_{s' \in s}P(s'|s,a)V^\pi (s') \]

即当前状态s下的\(V^ \pi\)——当前状态s动作a下的\(Q^ \pi\)——下一状态s'下的\(V^ \pi\)——……
将上述二式相互代入可得:

\[V^ \pi(s)=\sum_{a \in A}\pi(a|s)(R(s,a)+ \gamma \sum_{s' \in S}P(s'|s,a)V^ \pi(s')) \]

\[Q^ \pi(s,a)=R(s,a)+\gamma \sum_{s' \in S}P(s'|s,a)\sum_{a' \in A}\pi (a'|s')Q^\pi (s',a') \]

此即MDP过程中的贝尔曼方程,所谓值函数的更新过程就是在实验中不断利用上述二式(之一)迭代,直至所有状态(动作)的值函数V(或Q)收敛于一个最优值附近。

什么是贝尔曼方程?

贝尔曼方程(又称为动态规划方程)代表了当前状态与下一状态值函数间的迭代关系,用于更新当前状态下的状态或动作价值。对于任何策略π和任何状态s,当前状态价值\(V_{\pi}(s)\)与可能的后继状态价值\(V_{\pi}(s')\)之间的关系可以表示为:

\[V_{\pi}(s)=E_{\pi}[G_t|S_t=s]=E_{\pi}[R_{t+1}+\gamma G_{t+1}|S_t=s]=\sum_{a}\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+ \gamma V_\pi(s')],\forall s \in S \]

上式即被称为\(V_\pi\)的贝尔曼方程。

有限马尔可夫过程中的预测与控制

预测(Prediction)与控制(Control)是有限马尔可夫过程模型要解决的两个核心问题。预测又称策略评估(policy evaluation),是指给定当前状态s和策略π,计算其状态价值函数\(V^ \pi\)。控制又称策略改进,指给定MDP,输出尽可能逼近的最优价值函数和最优策略,这个过程通常有两类比较常用的方法,即策略迭代(Policy iteration)和值迭代(value iteration)。

期望回报

我们通常将某个动作\(A_t\)的“回报”\(G_t\)理解为其所带来的未来预期收益的和,考虑折扣加权情况下,我们有:

\[G_t=R_{t+1}+\gamma R_{t+2}+\gamma ^2 R_{t+3}+ \dots = \sum_{k=0}^{\infty }\gamma ^k R_{t+k+1}=R_{t+1}+\gamma G_{t+1} \]

其中折扣率\(\gamma\)决定了未来收益的现值,也就代表了智能体对动作对应未来预期收益的重视程度(远见)。而智能体进行决策的根本目标就是最大限度的获得回报。

最优策略与最优价值函数

在一个MDP中至少存在一个策略π,其在所有状态上的期望回报都应大于或等于其他策略,则此策略π为最优策略。执行最优策略所获得的每个状态的值函数都是最大的,此时值函数用\(V^ \pi\)来表示,称为最优价值函数。注意最优策略可能不止一个,但所有最优策略都将获得相同的最优价值,因此最优价值函数是唯一的。

参考资料:

  1. DataWhale组队学习资料——《强化学习》 王琦 杨毅远 江季 著
  2. 强化学习(二):马尔科夫决策过程(Markov decision process) https://blog.csdn.net/liweibin1994/article/details/79079884
  3. 【强化学习】马尔可夫决策过程(MDP)基本原理 https://www.cnblogs.com/Ryan0v0/p/12255262.html
  4. 强化学习系列(下):贝尔曼方程 https://blog.csdn.net/weixin_42018112/article/details/80557696
posted @ 2020-10-23 23:53  刘国栋_0017  阅读(378)  评论(0编辑  收藏  举报