马尔可夫决策过程
在可完全观测的情况下,系统环境与智能体之间的交互过程是,智能体根据观察到的环境状态St∈SS_t\in SSt∈S,从可行的动作集AAA中选择一个动作AtA_tAt 作出决策,系统根据其状态转移概率矩阵P\bm{P}P转移到新状态St+1S_{t+1}St+1,并针对智能体的行动AtA_tAt 给出相应的奖励Rt+1R_{t+1}Rt+1,智能体根据新观察到的状态St+1S_{t+1}St+1重新进行下一步的动作At+1A_{t+1}At+1。
强化学习过程是解决序贯决策问题,可由马尔可夫决策过程完全刻画。马尔可夫决策过程的历史记录是由一系列的状态、行动和奖励所组成的时间序列
{S1,A1,R2,⋯ ,St−1,At−1,Rt,⋯ }\{S_1,A_1,R_2,\cdots,S_{t-1},A_{t-1},R_t,\cdots\}{S1,A1,R2,⋯,St−1,At−1,Rt,⋯}
按照本书的约定,针对行动AtA_tAt的即时奖励记为Rt+1R_{t+1}Rt+1,长期回报记为GtG_tGt。
马尔可夫决策过程可以由一个五元组 (S,A,P,R,γ) ~(S,A,\bm{P},R,\gamma)~ (S,A,P,R,γ) 表示,其中
(1) SSS,是一组有限的状态集合,S={s1,s2,⋯ }S=\{s_1,s_2,\cdots\}S={s1,s2,⋯}。
(2) AAA,是一组有限的行动集合,A={a1,a2,⋯ }A=\{a_1,a_2,\cdots\}A={a1,a2,⋯}。
(3) P\bm{P}P,是状态转移概率矩阵,pss′a=P{St+1=s′∣St=s,At=a}p_{ss'}^a=P\{S_{t+1}=s'|S_t=s,A_t=a\}pss′a=P{St+1=s′∣St=s,At=a}。
(4) RRR,是奖励函数,Rsa=E[Rt+1∣St=s,At=a]R_s^a=E[R_{t+1}|S_t=s,A_t=a]Rsa=E[Rt+1∣St=s,At=a]。
(5) γ\gammaγ,是折现因子,γ∈[0,1]\gamma\in[0,1]γ∈[0,1]。
贝尔曼方程
策略是智能体在观察环境后产生的行动方案,马尔可夫决策过程采取的是随机性策略。具体地,策略描述了智能体采取不同行动的概率,即给定一个状态 s~s s,智能体采取行动 a~a a 的概率为:
π(a∣s)=P{At=a∣St=s}\pi(a|s) = P\{A_t=a|S_t=s\}π(a∣s)=P{At=a∣St=s}
值函数是针对状态或行动的评价函数值函数,包括状态值函数和状态-行动值函数。
状态值函数 vπ(s) ~v_\pi(s)~ vπ(s) 是在给定策略 π ~\pi~ π 下,用于评价状态 s~s s 的指标。具体地,状态值函数 vπ(s)~v_\pi(s) vπ(s) 定义为:采用策略 π~\pi π,状态 s~s s 获得的期望回报,即:vπ(s)≐Eπ[Gt∣St=s]v_\pi(s)\doteq E_\pi [G_t|S_t=s]vπ(s)≐Eπ[Gt∣St=s]。
状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 是在给定策略 π ~\pi~ π 下,用于评价状态 s ~s~ s 下动作 a~a a 的指标。具体地,状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 定义为,采用策略 π~\pi π,在状态 s ~s~ s 下采用动作 a ~a~ a 获得的期望回报,即:qπ(s,a)≐Eπ[Gt∣St=s,At=a]q_\pi(s,a)\doteq E_\pi[G_t|S_t=s,A_t=a]qπ(s,a)≐Eπ[Gt∣St=s,At=a]。
其中,Eπ E_\pi~Eπ 表示在给定策略 π ~\pi~ π 下的期望,这只是一种符号约定,Eπ E_\pi~Eπ 的作用等价于 E~E E。
为了避免概念模糊,同时为了借鉴马尔可夫奖励过程中贝尔曼方程的推导过程,本章统一采用 E~E E 替代状态值函数和状态- 行动值函数定义式中的 Eπ~E_\pi Eπ。
借鉴马尔可夫奖励过程中贝尔曼方程的推导过程,下面直接给出马尔可夫决策过程中的贝尔曼方程。
vπ(s)=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1+γvπ(St+1)∣St=s]v_\pi(s)= E[G_t|S_t=s]
= E[R_{t+1}+\gamma G_{t+1}|S_t=s]
= E[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s]vπ(s)=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1+γvπ(St+1)∣St=s]
qπ(s,a)=E[Gt∣St=s,At=a]=E[Rt+1+γGt+1∣St=s,At=a]=E[Rt+1+γqπ(St+1,At+1)∣St=s,At=a]q_\pi(s,a)= E[G_t|S_t=s,A_t=a] = E[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a] = E[R_{t+1}+\gamma q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a]qπ(s,a)=E[Gt∣St=s,At=a]=E[Rt+1+γGt+1∣St=s,At=a]=E[Rt+1+γqπ(St+1,At+1)∣St=s,At=a]
贝尔曼方程说明,值函数可以分为两部分:
(1) 当前时刻获得的即时奖励。
(2) 后续奖励在当前时刻的累积折现。
状态值函数 vπ(s) ~v_\pi(s)~ vπ(s) 与状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 之间的关系为:
vπ(s)=E[Gt∣St=s]=∑aπ(a∣s)E[Gt∣St=s,At=a]=∑aπ(a∣s)qπ(s,a)v_\pi(s)= E[G_t|S_t=s]
= \sum\limits_a \pi(a|s)E[G_t|S_t=s,A_t=a]
= \sum\limits_a \pi(a|s)q_\pi(s,a)vπ(s)=E[Gt∣St=s]=a∑π(a∣s)E[Gt∣St=s,At=a]=a∑π(a∣s)qπ(s,a)
即vπ(s)=∑aπ(a∣s)qπ(s,a)v_\pi(s)= \sum\limits_a \pi(a|s)q_\pi(s,a)vπ(s)=a∑π(a∣s)qπ(s,a),其中,∑a\sum\limits_aa∑ 是 ∑a∈A~\sum\limits_{a\in A} a∈A∑ 的简写。

为了深入理解马尔可夫决策过程中贝尔曼方程的含义,我们通过计算示意图来讲解状态值函数与状态-行动值函数之间的关系。
MDP贝尔曼方程的计算图解如图所示,图中假设智能体在每种系统状态下有两种动作可以选择,每个动作可能导致两种新的系统状态。系统在 t ~t~ t 时刻处于初始状态 St=s~S_t=s St=s,智能体采取行动 At=a~A_t=a At=a,在 t+1 ~t+1~ t+1 时刻,系统处于状态 St+1=s′~S_{t+1}=s' St+1=s′,智能体采取行动 At+1=a′~A_{t+1}=a' At+1=a′。
状态值函数与状态-行动值函数之间的互推关系如图(a)所示。状态值函数 vπ(s)~v_\pi(s) vπ(s) 是所有可能动作 ∀a∈A ~\forall a\in A~ ∀a∈A 发生的概率 π(a∣s) ~\pi(a|s)~ π(a∣s) 与对应的状态-行动值函数乘积 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 之和 ∑a~\sum\limits_a a∑,即 vπ(s)=∑aπ(a∣s)qπ(s,a)~v_\pi(s) = \sum\limits_a \pi(a|s)q_\pi(s,a) vπ(s)=a∑π(a∣s)qπ(s,a)。 状态值函数 vπ(s) ~v_\pi(s)~ vπ(s) 的求解示例如图 ~ \ref{fig:bellman1} ~ 中蓝色虚线框所示。
状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 的求解示例如图(a)中红色虚线框所示,ttt 时刻的状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 等于当前行动 At=a~A_{t}=a At=a 的奖励 Rsa~R_s^a Rsa,加上该行动导致系统状态变为 St+1=s′ ~S_{t+1}=s'~ St+1=s′ 带来的状态值函数在此刻的折现 γ∑s′pss′avπ(s′)~\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s') γs′∑pss′avπ(s′),即 qπ(s,a)=Rsa+γ∑s′pss′avπ(s′)~q_\pi(s,a) = R_s^a+\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s') qπ(s,a)=Rsa+γs′∑pss′avπ(s′)。
t t~t 时刻的状态值函数 vπ(s) ~v_\pi(s)~ vπ(s) 与 t+1 ~t+1~ t+1 时刻的状态值函数 vπ(s′) ~v_\pi(s')~ vπ(s′) 的递推关系如图(a)中蓝色虚线框所示,将方程 qπ(s,a)=Rsa+γ∑s′pss′avπ(s′)~q_\pi(s,a) = R_s^a+\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s') qπ(s,a)=Rsa+γs′∑pss′avπ(s′) 代入方程 vπ(s)=∑aπ(a∣s)qπ(s,a)~v_\pi(s) = \sum\limits_a \pi(a|s) q_\pi(s,a) vπ(s)=a∑π(a∣s)qπ(s,a),即可得 vπ(s)=∑aπ(a∣s)[Rsa+γ∑s′pss′avπ(s′)]~v_\pi(s) = \sum\limits_a \pi(a|s)\Big [R_s^a+ \gamma \sum\limits_{s'}p_{ss'}^av_\pi(s')\Big ] vπ(s)=a∑π(a∣s)[Rsa+γs′∑pss′avπ(s′)]。
t t~t 时刻的状态-行动值函数 qπ(s,a) ~q_\pi(s,a)~ qπ(s,a) 与 t+1 ~t+1~ t+1 时刻的状态-行动值函数 qπ(s′,a′) ~q_\pi(s',a')~ qπ(s′,a′) 的递推关系如图(b)中红色虚线框所示,t+1t+1t+1 时刻的状态值函数 vπ(s′)=∑a′π(a′∣s′)qπ(s′,a′)~v_\pi(s')=\sum\limits_{a'} \pi(a'|s')q_\pi(s',a') vπ(s′)=a′∑π(a′∣s′)qπ(s′,a′),将该方程代入方程 qπ(s,a)=Rsa+γ∑s′pss′avπ(s′)~q_\pi(s,a) = R_s^a+\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s') qπ(s,a)=Rsa+γs′∑pss′avπ(s′),即可得 qπ(s,a)=Rsa+γ∑s′pss′a∑a′π(a′∣s′)qπ(s′,a′)~q_\pi(s,a) = R_s^a+\gamma \sum\limits_{s'}p_{ss'}^a\sum\limits_{a'} \pi(a'|s')q_\pi(s',a') qπ(s,a)=Rsa+γs′∑pss′aa′∑π(a′∣s′)qπ(s′,a′)。
MDP例子
如图所示,MDP~的状态空间 S={st1,st+11,st+12,st+13,st+14}~S=\{s_t^1, s_{t+1}^1, s_{t+1}^2, s_{t+1}^3, s_{t+1}^4\} S={st1,st+11,st+12,st+13,st+14},行动集 A={at1,at2,at+11,at+12,at+13,at+14,at+15,at+16,at+17,at+18}~A=\{a_t^1, a_t^2, a_{t+1}^1, a_{t+1}^2, a_{t+1}^3, a_{t+1}^4, a_{t+1}^5, a_{t+1}^6, a_{t+1}^7, a_{t+1}^8\} A={at1,at2,at+11,at+12,at+13,at+14,at+15,at+16,at+17,at+18},折现因子 γ=1~\gamma =1 γ=1。
假设初始 t ~t~ t 时刻处于状态 st1 ~s_t^1~ st1 的概率为 1~1 1,t t~t 时刻,智能体采取动作 at1~a_t^1 at1 的概率为 π(at1∣st1)=0.5~\pi(a_t^1|s_t^1)=0.5 π(at1∣st1)=0.5,此时的奖励函数 Rst1at1=3~R_{s_t^1}^{a_t^1}=3 Rst1at1=3;智能体采取动作 at2~a_t^2 at2 的概率为 π(at2∣st1)=0.5~\pi(a_t^2|s_t^1)=0.5 π(at2∣st1)=0.5,此时的奖励函数 Rst1at2=1~R_{s_t^1}^{a_t^2}=1 Rst1at2=1。
若智能体在 t ~t~ t 时刻采取动作 at1~a_t^1 at1,则系统会在 t+1 ~t+1~ t+1 时刻以概率 Pst1st+11at1=0.4~P_{s_t^1s_{t+1}^1}^{a_t^1}=0.4 Pst1st+11at1=0.4 转移至状态 st+11~s_{t+1}^1 st+11,以概率 Pst1st+12at1=0.6 ~P_{s_t^1s_{t+1}^2}^{a_t^1}=0.6~ Pst1st+12at1=0.6 转移至状态 st+12~s_{t+1}^2 st+12;若智能体在 t~t t 时刻采取动作 at2~a_t^2 at2,则系统会在 t+1 ~t+1~ t+1 时刻以概率 Pst1st+13at2=0.7 ~P_{s_t^1s_{t+1}^3}^{a_t^2}=0.7~ Pst1st+13at2=0.7 转移至状态 st+13~s_{t+1}^3 st+13,以概率 Pst1st+14at2=0.3 ~P_{s_t^1s_{t+1}^4}^{a_t^2}=0.3~ Pst1st+14at2=0.3 转移至状态 st+14~s_{t+1}^4 st+14。
若系统在 t+1 ~t+1~ t+1 时刻转移到状态 st+11~s_{t+1}^1 st+11,智能体采取动作 at+11 ~a_{t+1}^1~ at+11 的概率为 π(at+11∣st+11)=0.5~\pi(a_{t+1}^1|s_{t+1}^1)=0.5 π(at+11∣st+11)=0.5,此时的奖励函数 Rst+11at+11=4~R_{s_{t+1}^1}^{a_{t+1}^1}=4 Rst+11at+11=4;智能体采取动作 at+12 ~a_{t+1}^2~ at+12 的概率为 π(at+12∣st+11)=0.5~\pi(a_{t+1}^2|s_{t+1}^1)=0.5 π(at+12∣st+11)=0.5,此时的奖励函数 Rst+11at+12=7~R_{s_{t+1}^1}^{a_{t+1}^2}=7 Rst+11at+12=7。其余情况如图所示。
试计算图中所有动作的状态-行动值函数,以及所有状态的状态值函数。

\Solution 首先根据方程 qπ(s,a)=Rsa+γ∑s′pss′avπ(s′) ~q_\pi(s,a)= R_s^a+\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s')~ qπ(s,a)=Rsa+γs′∑pss′avπ(s′) 求解 t+1 ~t+1~ t+1 时刻的状态-行动值函数,由于没有后续状态和行动,因此,
qπ(st+11,at+11)=Rst+11at+11+0=4q_\pi(s_{t+1}^1,a_{t+1}^1)=R_{s_{t+1}^1}^{a_{t+1}^1}+0=4qπ(st+11,at+11)=Rst+11at+11+0=4
qπ(st+11,at+12)=Rst+11at+12+0=7q_\pi(s_{t+1}^1,a_{t+1}^2)=R_{s_{t+1}^1}^{a_{t+1}^2}+0=7qπ(st+11,at+12)=Rst+11at+12+0=7
qπ(st+12,at+13)=Rst+12at+13+0=1q_\pi(s_{t+1}^2,a_{t+1}^3)=R_{s_{t+1}^2}^{a_{t+1}^3}+0=1qπ(st+12,at+13)=Rst+12at+13+0=1
qπ(st+12,at+14)=Rst+12at+14+0=3q_\pi(s_{t+1}^2,a_{t+1}^4)=R_{s_{t+1}^2}^{a_{t+1}^4}+0=3qπ(st+12,at+14)=Rst+12at+14+0=3
qπ(st+13,at+15)=Rst+13at+15+0=8q_\pi(s_{t+1}^3,a_{t+1}^5)=R_{s_{t+1}^3}^{a_{t+1}^5}+0=8qπ(st+13,at+15)=Rst+13at+15+0=8
qπ(st+13,at+16)=Rst+13at+16+0=5q_\pi(s_{t+1}^3,a_{t+1}^6)=R_{s_{t+1}^3}^{a_{t+1}^6}+0=5qπ(st+13,at+16)=Rst+13at+16+0=5
qπ(st+14,at+17)=Rst+14at+17+0=10q_\pi(s_{t+1}^4,a_{t+1}^7)=R_{s_{t+1}^4}^{a_{t+1}^7}+0=10qπ(st+14,at+17)=Rst+14at+17+0=10
qπ(st+14,at+18)=Rst+14at+18+0=3q_\pi(s_{t+1}^4,a_{t+1}^8)=R_{s_{t+1}^4}^{a_{t+1}^8}+0=3qπ(st+14,at+18)=Rst+14at+18+0=3
根据方程 vπ(s)=∑aπ(a∣s)qπ(s,a) ~v_\pi(s)=\sum\limits_a \pi(a|s)q_\pi(s,a)~ vπ(s)=a∑π(a∣s)qπ(s,a) 求解 t+1~t+1 t+1 时刻的状态值函数
vπ(st+11)=π(at+11∣st+11)qπ(st+11,at+11)+π(at+12∣st+11)qπ(st+11,at+12)=0.5×4+0.5×7=5.5v_\pi(s_{t+1}^1)=\pi(a_{t+1}^1|s_{t+1}^1)q_\pi(s_{t+1}^1,a_{t+1}^1)+\pi(a_{t+1}^2|s_{t+1}^1)q_\pi(s_{t+1}^1,a_{t+1}^2)=0.5\times 4+0.5\times 7=5.5vπ(st+11)=π(at+11∣st+11)qπ(st+11,at+11)+π(at+12∣st+11)qπ(st+11,at+12)=0.5×4+0.5×7=5.5
vπ(st+12)=π(at+13∣st+12)qπ(st+12,at+13)+π(at+14∣st+12)qπ(st+12,at+14)=0.5×1+0.5×3=2v_\pi(s_{t+1}^2)=\pi(a_{t+1}^3|s_{t+1}^2)q_\pi(s_{t+1}^2,a_{t+1}^3)+\pi(a_{t+1}^4|s_{t+1}^2)q_\pi(s_{t+1}^2,a_{t+1}^4)=0.5\times 1+0.5\times 3=2vπ(st+12)=π(at+13∣st+12)qπ(st+12,at+13)+π(at+14∣st+12)qπ(st+12,at+14)=0.5×1+0.5×3=2
vπ(st+13)=π(at+15∣st+13)qπ(st+13,at+15)+π(at+16∣st+13)qπ(st+13,at+16)=0.5×8+0.5×5=6.5v_\pi(s_{t+1}^3)=\pi(a_{t+1}^5|s_{t+1}^3)q_\pi(s_{t+1}^3,a_{t+1}^5)+\pi(a_{t+1}^6|s_{t+1}^3)q_\pi(s_{t+1}^3,a_{t+1}^6)=0.5\times 8+0.5\times 5=6.5vπ(st+13)=π(at+15∣st+13)qπ(st+13,at+15)+π(at+16∣st+13)qπ(st+13,at+16)=0.5×8+0.5×5=6.5
vπ(st+14)=π(at+17∣st+14)qπ(st+14,at+17)+π(at+18∣st+14)qπ(st+14,at+18)=0.5×10+0.5×3=6.5v_\pi(s_{t+1}^4)=\pi(a_{t+1}^7|s_{t+1}^4)q_\pi(s_{t+1}^4,a_{t+1}^7)+\pi(a_{t+1}^8|s_{t+1}^4)q_\pi(s_{t+1}^4,a_{t+1}^8)=0.5\times 10+0.5\times 3=6.5vπ(st+14)=π(at+17∣st+14)qπ(st+14,at+17)+π(at+18∣st+14)qπ(st+14,at+18)=0.5×10+0.5×3=6.5
接下来,根据方程 qπ(s,a)=Rsa+γ∑s′pss′avπ(s′) ~q_\pi(s,a)= R_s^a+\gamma \sum\limits_{s'}p_{ss'}^av_\pi(s')~ qπ(s,a)=Rsa+γs′∑pss′avπ(s′) 求解 t ~t~ t 时刻的状态-行动值函数
qπ(st1,at1)=Rst1at1+γ(Pst1st+11at1vπ(st+11)+Pst1st+12at1vπ(st+12))=3+1×(0.4×5.5+0.6×2)=6.4q_\pi(s_{t}^1,a_{t}^1)=R_{s_{t}^1}^{a_{t}^1}+\gamma\Big(P_{s_t^1s_{t+1}^1}^{a_t^1} v_\pi(s_{t+1}^1) + P_{s_t^1s_{t+1}^2}^{a_t^1} v_\pi(s_{t+1}^2)\Big)=3+1\times(0.4\times 5.5+0.6\times 2)=6.4qπ(st1,at1)=Rst1at1+γ(Pst1st+11at1vπ(st+11)+Pst1st+12at1vπ(st+12))=3+1×(0.4×5.5+0.6×2)=6.4
qπ(st1,at2)=Rst1at2+γ(Pst1st+13at2vπ(st+13)+Pst1st+14at2vπ(st+14))=1+1×(0.7×6.5+0.3×6.5)=7.5q_\pi(s_{t}^1,a_{t}^2)=R_{s_{t}^1}^{a_{t}^2}+\gamma\Big(P_{s_t^1s_{t+1}^3}^{a_t^2} v_\pi(s_{t+1}^3) + P_{s_t^1s_{t+1}^4}^{a_t^2} v_\pi(s_{t+1}^4)\Big)=1+1\times(0.7\times 6.5+0.3\times 6.5)=7.5qπ(st1,at2)=Rst1at2+γ(Pst1st+13at2vπ(st+13)+Pst1st+14at2vπ(st+14))=1+1×(0.7×6.5+0.3×6.5)=7.5
最后,根据方程 vπ(s)=∑aπ(a∣s)qπ(s,a) ~v_\pi(s)=\sum\limits_a \pi(a|s)q_\pi(s,a)~ vπ(s)=a∑π(a∣s)qπ(s,a) 求解 t~t t 时刻的状态值函数,
vπ(st1)=π(at1∣st1)qπ(st1,at1)+π(at2∣st1)qπ(st1,at2)=0.5×6.4+0.5×7.5=6.95v_\pi(s_{t}^1)=\pi(a_{t}^1|s_{t}^1)q_\pi(s_{t}^1,a_{t}^1)+\pi(a_{t}^2|s_{t}^1)q_\pi(s_{t}^1,a_{t}^2)=0.5\times 6.4+0.5\times 7.5=6.95vπ(st1)=π(at1∣st1)qπ(st1,at1)+π(at2∣st1)qπ(st1,at2)=0.5×6.4+0.5×7.5=6.95
本文详细介绍了马尔可夫决策过程(MDP),包括其定义、五元组构成、贝尔曼方程及其在强化学习中的应用。通过举例说明了状态值函数与状态-行动值函数的关系,以及如何利用贝尔曼方程进行值函数的计算。
- 马尔可夫决策过程&spm=1001.2101.3001.5002&articleId=123279100&d=1&t=3&u=3b9b5cbacd9c4b43b60c9de691576ff3)
1469

被折叠的 条评论
为什么被折叠?



