MDP总结

时间:2024-03-13 17:14:05

MDP总结


强化学习建模


强化学习问题可以下图来表示:

MDP总结
MDP总结

上面右图中的大脑代表执行强化学习算法的个体(Agent、或称为代理)。个体通过强化学习算法计算出一个适合当前状态的动作AtA_t。地球代表强化学习问题中涉及的环境,它有自己的状态模型。个体在状态St=sS_t=s下选择动作后,环境状态从St=sS_t=s转移至St+1=sS_{t+1}=s',同时个体获得采取动作AtA_t后的即时奖励Rt+1R_{t+1}Rt+1R_{t+1}RtR_{t}在本质上意义是相同的,但在描述RL问题中,涉及到状态S、行为A和奖励R时使用前者表示更为方便)。

强化学习模型要素


  1. 环境的状态SS:一个集合,称为状态空间(状态集)。在tt时刻,环境的状态为StSS_t\in S
  2. 个体的动作AA:一个集合,称为动作空间(动作集)。在tt时刻,此时环境状态为StS_t,个体采取的动作为AtAA_t\in A
  3. 环境的奖励RR:一个函数,称为回报函数(奖励函数)。在tt时刻,此时环境状态为StS_t,个体采取动作AtA_t;在t+1t+1时刻,个体得到动作对应得奖励Rt+1R_{t+1}
  4. 收获(Return)GtG_t:在一个马尔科夫奖励链上从tt时刻开始往后所有的奖励的有衰减的总和。其公式为Gt=Rt+1+γRt+2+...=k=0γkRt+k+1G_t=R_{t+1}+\gamma R_{t+2}+...=\sum\limits_{k=0}^{\infty}\gamma^kR_{t+k+1}
    1. γ[0,1]\gamma\in [0,1],衰减因子(折现因子)。
    2. γ=0\gamma=0,表明个体是贪婪的,只关注于眼前的所能得到的利益(即时奖励)。
    3. γ=1\gamma=1,表明个体对即时奖励和延时奖励(即,未来的奖励)投于相同的关注(重视度)。
    4. 0<γ<10<\gamma<1,表明个体更关注于即时奖励,但同时也会考虑延时奖励,以此来避免“短视”。
  5. 策略(Policy)π\pi:代表个体在状态StS_t下采取动作得依据。π\pi可以是一个概率的集合/分布,此时其中元素π(as)\pi(a|s)表示,在状态ss下,个体采取动作aa的概率值。
  6. 价值函数(Value Function):价值函数给出了某一状态或某一行为的长期价值。一个马尔科夫奖励过程中某一状态St=sS_t=s的价值函数为从该状态开始的马尔可夫链收获的期望(从当前状态开始到最终状态时系统所获得的累加衰减回报的期望)。其公式如下:V(s)=E[GtSt=s]V(s)=E[G_t|S_t=s]价值可以仅描述状态,也可以描述某一状态下的某个行为,在一些特殊情况下还可以仅描述某个行为。
    1. 状态价值函数(价值函数,值函数)用于描述针对状态的价值。
    2. 行为价值函数(状态行为对价值函数,Q函数)用于描述某一状态下执行某一行为的价值。
  7. 环境的状态转化模型(状态转移矩阵/函数)PP:可以理解为一个概率状态机,它可以表示为一个概率模型。通过PP可以得出,在tt时刻,个体于状态St=sS_t=s下采取动作aa后,转移到下一个状态St+1=sS_{t+1}=s'的概率PssaP_{ss'}^a
  8. 探索率ϵ\epsilon:这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。因此我们在训练选择最优动作时,会有一定的概率ϵ\epsilon不选择使当前轮迭代价值最大的动作,而选择其他的动作。

强化学习引入MDP的原因


上一节中提到了状态转移模型,通过该模型可以得到个体在一状态执行动作转移到下一个状态的概率值。如果按照真实的环境转化过程看,转化到下一个状态ss'的概率既与上一个状态ss有关,还与上上个状态,以及上上上个状态有关。这一会导致我们的环境转化模型非常复杂,复杂到难以建模。因此我们需要对强化学习的环境转化模型进行简化。简化的方法就是假设状态转化的马尔科夫性,也就是假设转化到下一个状态ss'的概率仅与上一个状态ss有关,与之前的状态无关。用公式表示就是:Pssa=E(St+1St=s,At=a)P_{ss'}^a=E(S_{t+1}|S_t=s,A_t=a)

假设把一强化学习问题形式化为马尔科夫决策过程MMMM是一个元组:S,A,R,P,γ\langle S,A,R,P,\gamma\rangle,给定一个初始策略π\pi

  1. SS状态集,StSS_t\in S
  2. AA动作集,AtAA_t\in A
  3. RR回报函数,Rsa=E(Rt+1St=s,At=a)R_s^a=E(R_{t+1}|S_t=s,A_t=a)
  4. PP状态转移函数,Pssa=P(St+1=sSt=s,At=a)P_{ss'}^a=P(S_{t+1}=s'|S_t=s,A_t=a)
  5. γ[0,1]\gamma\in [0,1],衰减因子
  6. 收获,Return,Gt=k=0γkRt+k+1G_t=\sum\limits_{k=0}^{\infty}\gamma^kR_{t+k+1}
  7. 策略π\pi,或称为策略函数。可表示为a=π(s)a=\pi(s)的确定性形式,也可表示为π(as)=P[At=aSt=s]\pi(a|s)=P[A_t=a|S_t=s]的不确定性形式。
  8. 强化学习的核心在于最优化策略,策略的优劣可以通过基于策略的价值函数来评判。该价值函数可以分为:状态价值函数和行为价值函数。通常被称为值函数和Q函数。
    1. 状态价值函数:Vπ(s)=E(GtSt=s)V^{\pi}(s)=E(G_t|S_t=s)
    2. 行为价值函数:Qπ(s,a)=E(GtSt=s,At=a)Q^{\pi}(s,a)=E(G_t|S_t=s,A_t=a)

MDP问题求解核心 —— Bellman方程


策略的优劣可以通过价值函数来计算。那么最优策略对应的价值函数的值必为最大。为求解最优策略,我们需要找到最优价值函数,然后对最优价值函数进行求解获得最优策略。在这一过程中就涉及到Bellman方程。下面我们对Vπ(s)Qπ(s,a)V^{\pi}(s)和Q^{\pi}(s,a)进行推导,使得当前的状态的价值函数能够用下一状态的价值函数递归表示,并且推导Vπ(s)Qπ(s,a)V^{\pi}(s)和Q^{\pi}(s,a)之间的关系。

推导前需要注意几个表示回报的符号的意义Rsa,Rssa,RsπR_s^a,R_{ss'}^a,R_s^{\pi}

  1. RssaR_{ss'}^a:表示的是在状态ss下,执行动作aa后状态转移到ss'时得到的即时奖励。
  2. RsaR_s^aRsa=sSPssaRssaR_s^a=\sum\limits_{s'\in S}P_{ss'}^aR_{ss'}^a
  3. RsπR_s^{\pi}Rsπ=aAπ(as)RsaR_s^{\pi}=\sum\limits_{a\in A}\pi(a|s)R_{s}^a

KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ V^{\pi}(s)=&E_…

值函数和Q函数的关系和递推表达


  1. 值函数、Q函数的递推表达:
    Vπ(s)=aAπ(as){Rsa+γsSPssaVπ(s)}Qπ(s,a)=Rsa+γsSPssaaAπ(as)Qπ(s,a) V^{\pi}(s)=\sum\limits_{a\in A}\pi(a|s)\color{red}{\{}R_s^a+\gamma\sum\limits_{s'\in S}P_{ss'}^aV^{\pi}(s')\color{red}{\}}\\ Q^{\pi}(s,a)=R_s^a+\gamma \sum\limits_{s'\in S}P_{ss'}^a\sum\limits_{a'\in A}\pi(a|s)Q^{\pi}(s',a')
  2. 值函数与Q函数之间关系:
    Vπ(s)=aAπ(as)Qπ(s,a)Qπ(s,a)=Rsa+γsSPssaVπ(s) V^{\pi}(s)=\sum\limits_{a\in A}\pi(a|s)Q^{\pi}(s,a)\\ Q^{\pi}(s,a)=R_s^a+\gamma \sum\limits_{s'\in S}P_{ss'}^aV^{\pi}(s')

最优价值函数


解决强化学习问题意味着要寻找一个最优策略,该策略使个体与环境交互过程中获得始终比其他策略都要多的收获,这个最优策略我们可以用 π\pi^* 表示。一旦找到这个最优策略,那么就意味着该强化学习问题被解决。一般来说很难找到一个最优策略,但是可以通过比较若干不同策略的优劣来确定一个较好的策略,也就是局部最优解

对于比较策略的优劣,我们可以通过对应的价值函数来实现。换句话说,寻找较优策略可通过寻找较优的价值函数来完成。

  1. 定义最优状态价值函数是所有策略下产生的众多状态价值函数中的最大者,即:V(s)=maxπVπ(s)V^*(s)=\max\limits_{\pi}V^{\pi}(s)
  2. 最优动作价值函数是所有策略下产生的众多动作状态价值函数中的最大者,即:Q(s,a)=maxπQπ(s,a)Q^*(s,a)=\max\limits_{\pi}Q^{\pi}(s,a)
  3. 对于最优策略,基于动作价值函数可以定义为:
    π(as)={1,if a=argmaxaAQ(s,a)0,else \pi^*(a|s)= \begin{cases} 1, & \text {if $a=\arg\max\limits_{a\in A}Q^*(s,a)$} \\ 0, & \text{else} \end{cases}
  4. 只要我们找到了最大的状态价值函数或者动作价值函数,那么对应的策略π\pi^*就是我们强化学习问题的解。

Bellman最优方程


根据上述最优价值函数的定义,我们可以将其推导为Bellman方程形式。

  1. 最优状态价值函数:V(s)=maxπVπ(s)V^{*}(s)=\max\limits_{\pi}V^{\pi}(s)
    V(s)=maxπVπ(s)=maxπ(aAπ(as)Qπ(s,a))=maxπmaxaAQπ(s,a)=maxaAQ(s,a) \begin{aligned} V^{*}(s)=&\max\limits_{\pi}V^{\pi}(s)\\ =&\max\limits_{\pi}{}(\sum\limits_{a\in A}\pi(a|s)Q^{\pi}(s,a))\\ =&\max\limits_{\pi}\max\limits_{a\in A}Q^{\pi}(s,a)\\ =&\max\limits_{a\in A}Q^{*}(s,a) \end{aligned}
    1. π(as)[0,1]\pi(a|s)\in [0,1],且aAπ(as)=1\sum\limits_{a\in A}\pi(a|s)=1
    2. aAπ(as)Qπ(s,a)\sum\limits_{a\in A}\pi(a|s)Q^{\pi}(s,a)的最大值:
      1. 假设在状态ss下执行动作aa^*时,Qπ(s,a)Q_{\pi}(s,a^*)的值最大。Qπ(s,a)Qπ(s,a),aAQ_{\pi}(s,a^*)\geq Q_{\pi}(s,a),a\in A
      2. maxaAaAπ(as)Qπ(s,a)=maxaAQπ(s,a)\max\limits_{a\in A}\sum\limits_{a\in A}\pi(a|s)Q^{\pi}(s,a)=\max\limits_{a\in A}Q^{\pi}(s,a)
      3. 推导证明:假设p1+p2+...+pn=1p_1+p_2+...+p_n=1vi0,i[0,n]v_i\geq 0,i\in [0,n],且ii为整数。令maxvi=pmax\max v_i=p_{max},对应的pip_ipmaxp_{max},那么:
        p1v1+p2v2+...+pmaxvmax+...+pnvnp1vmax+p2vmax+...+pmaxvmax+...+pnvmaxp1v1+p2v2+...+pmaxvmax+...+pnvn(p1+p2+...+pmax+...+pn)vmaxp1v1+p2v2+...+pmaxvmax+...+pnvnvmaxi[0,n]pivimaxi[0,n]vi \begin{aligned} p_1v_1+p_2v_2+...+p_{max}v_{max}+...+p_nv_n &\leq p_1v_{max}+p_2v_{max}+...+p_{max}v_{max}+...+p_nv_{max}\\ p_1v_1+p_2v_2+...+p_{max}v_{max}+...+p_nv_n &\leq (p_1+p_2+...+p_{max}+...+p_n)v_{max}\\ p_1v_1+p_2v_2+...+p_{max}v_{max}+...+p_nv_n &\leq v_{max}\\ \sum\limits_{i\in [0,n]}p_iv_i &\leq \max\limits_{i\in [0,n]}v_i \end{aligned}
        :当pmax=1p_{max}=1时等号成立。
  2. 最优行为价值函数:Q(s,a)=maxπQπ(s,a)Q^{*}(s,a)=\max\limits_{\pi}Q^{\pi}(s,a)
    Q(s,a)=maxπQπ(s,a)=maxπ(Rsa+γsSPssaVπ(s))=Rsa+γsSPssaV(s) \begin{aligned} Q^{*}(s,a)&=\max\limits_{\pi}Q^{\pi}(s,a)\\ &=\max\limits_{\pi}{}(R_s^a+\gamma\sum\limits_{s'\in S}P_{ss'}^aV^{\pi}(s'))\\ &=R_s^a+\gamma\sum\limits_{s'\in S}P_{ss'}^aV^{*}(s') \end{aligned}
  3. Q(s,a)Q^{*}(s,a)V(s)V^{*}(s)的递推表达式:
    V(s)=maxaA(Rsa+γsSPssaV(s))Q(s,a)=Rsa+γsSPssamaxaAQ(s,a) \begin{aligned} V^{* }(s)&=\max\limits_{a\in A}{}(R_s^a+\gamma\sum\limits_{s'\in S}P_{ss'}^aV^{*}(s'))\\ Q^{*}(s,a)&=R_s^a+\gamma\sum\limits_{s'\in S}P_{ss'}^a\max\limits_{a\in A}{}Q^{*}(s',a') \end{aligned}
  4. 在获取Bellman最优方程后,可以使用强化学习算法对方程进行求解获得最优策略。