前言
本文重点介绍MDP,因为MDP是目前最适合表征强化学习问题的模型。
一个具体的赌徒例子,来说明强化学习的算法如何与MDP构建联系,并且求解出最优策略。链接如下:link
一、马尔可夫性
其假设未来的状态仅取决与当前的状态。过去与未来无关。
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , . . . , S t ] P[S_{t+1}|S_t]=P[S_{t+1}|S_1,...,S_t] P[St+1∣St]=P[St+1∣S1,...,St]
二、马尔可夫过程
马尔可夫过程是满足马尔可夫性的随机过程,由二元组 M = ( S , P ) M=(S,P) M=(S,P)组成。
- S S S表示有限状态集合;
- P P P表示状态转移概率矩阵。
如下图所示的一个马尔可夫过程:
对应的状态转移矩阵为:
根据是否考虑动作与状态是否完全可观,我们可以将马尔可夫过程做如下分类:
状态可观 | 状态不完全可观 | |
---|---|---|
不考虑动作 | 马尔科夫链(MC) | 隐马尔可夫模型(HMM) |
考虑动作 | 马尔可夫决策过程(MDP) | 部分可观马尔科夫决策过程(POMDP) |
1. 马尔可夫奖励过程MRP
MRP由四元组组成:
M = ( S , P , R , γ ) M=(S,P,R,\gamma) M=(S,P,R,γ)
- S S S代表所有状态集合
- P P P描述状态转移矩阵
- R R R表示奖励函数
- γ \gamma γ表示衰减因子discounted factor, γ ∈ [ 0 , 1 ] \gamma\in[0, 1] γ∈[0,1]。 γ \gamma γ越接近1,智能体越侧重考虑长远收益。
同样的用状态转移图做表示:
价值函数
价值函数给出了某一状态或某一行为的长期价值。
定义:一个马尔科夫奖励过程中某一状态的价值函数为从该状态开始的马尔可夫链收获的期望:
v ( s ) = E ( G t ∣ S t = s ) v(s)=E(G_t|S_t = s) v(s)=E(Gt∣St=s)
收获 G t G_t Gt为在一个马尔科夫奖励链上从t时刻开始往后所有的奖励的有衰减的总和.
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . = ∑ k = 0 ∞ γ k R t + k + 1 G_t=R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...=\sum^{\infty}_{k=0}\gamma^kR_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+...=k=0∑∞γkRt+k+1
价值可以仅描述状态,也可以描述某一状态下的某个行为,在一些特殊情况下还可以仅描述某个行为。通常用状态价值函数或价值函数来描述针对状态的价值;用行为价值函数来描述某一状态下执行某一行为的价值,严格意义上说行为价值函数是“状态行为对”价值函数的简写。
如何合理求解各状态的价值,也就是寻找一个价值函数(从状态到价值的映射)很重要,强化学习中很多问题可以归结为求价值函数问题。
面向MRP的贝尔曼方程
上述推导中,关键的是最后一步, G t + 1 = v ( S t + 1 ) G_{t+1} = v(S_{t+1}) Gt+1=v(St+1),收货的期望的期望 = 收货的期望。
继续做如下推导:
其中 s ′ s' s′为s的下一个任意可能的状态.
矩阵形式的表述:
贝尔曼方程的求解
对于小规模state的贝尔曼方程,我们可以直接做如下求解:
可以看到,在求解v的时候,如果知道 γ 、 P 、 R \gamma 、P、R γ、P、R就能求得。
对于大规模MRP问题,可以用迭代方法求解,比如:
- 动态规划
- 蒙特卡洛估计
- 时序差分法
2. 马尔可夫决策过程MDP
相比MRP,MDP多了一个动作A,用五元组表示:
M = ( S , A , P , R , γ ) M=(S,A,P,R,\gamma) M=(S,A,P,R,γ)
- S S S代表所有状态集合
- A A A表示决策过程中的动作集合
- P P P描述状态转移矩阵
- R R R表示奖励函数
- γ \gamma γ表示衰减因子discounted factor, γ ∈ [ 0 , 1 ] \gamma\in[0, 1] γ∈[0,1]
MDP与MC以及MRP的关系:
对于MDP,任意一条状态转移链: S 1 , S 2 , S 3 , . . . S_1, S_2, S_3,... S1,S2,S3,...就是一个马尔科夫链;
对于给定的MDP以及确定的policy π \pi π,MDP就是MRP
MDP描述智能体与环境交互的过程。整个过程是在不断寻找reward最大化的过程。下图中,s表示状态,a表示动作,r表示奖励。
MDP的价值函数推导
状态价值函数
MDP下的基于策略 π \pi π的状态价值函数,表示从状态s开始,遵循当前策略时所获得的收获的期望。
v π ( s ) = E π [ G t ∣ S t = s ] v_{\pi}(s)=E_{\pi}[G_t|S_t=s] vπ(s)=Eπ[Gt∣St=s]
上述中的 π \pi π是固定的。变化的是在当前state,依据policy产生的action。
行为价值函数
行为价值函数,表示在执行策略 π \pi π时,对当前状态s执行某一具体行为a所能得到的收获的期望。行为价值函数一般都是与某一特定的状态相对应的,更精细的描述是状态行为对价值函数。
q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] q_{\pi}(s,a)=E_{\pi}[G_t|S_t=s,A_t=a] qπ(s,a)=Eπ[Gt∣St=s,At=a]
状态价值函数对应的贝尔曼方程
v π ( s ) = E π [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] v_{\pi}(s)=E_{\pi}[R_{t+1}+\gamma v_{\pi}(S_{t+1})|S_t=s] vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s]
行为价值函数对应的贝尔曼方程
q π ( s , a ) = E π [ R t + 1 + γ q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] q_{\pi}(s,a)=E_{\pi}[R_{t+1}+\gamma q_{\pi}(S_{t+1}, A_{t+1})|S_t=s, A_t=a] qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)∣St=s,At=a]
状态价值函数与行为价值函数之间的关系
-
从状态价值角度来理解:
如上图所示,空圈表示状态,黑圈表示action。当我们要求在某种策略 π \pi π下当前state对应的value,相当于,当前状态依据策略 π \pi π所有可能采取的动作的概率 π ( a ∣ s ) \pi(a|s) π(a∣s)乘以该动作对应的行为价值 q π ( s , a ) q_{\pi}(s,a) qπ(s,a)之和。 -
从行为价值的角度来理解:
某个行为action对应的value,其实是当前状态的reward + 执行该action所有可能抵达的状态价值之和。 -
将状态与行为价值合并:
当然,我们也可以用另外一种推导办法,将action作为tree的root:
求解MDP:价值函数的最优化
最优状态价值函数
v ∗ ( s ) = m a x ( v π ( s ) ) v_*(s)=max(v_{\pi}(s)) v∗(s)=max(vπ(s))
所有可能的策略中,使得当前state对应的value最大的 π \pi π
最优行为价值函数
q ∗ ( s , a ) = m a x ( q π ( s , a ) ) q_*(s,a)=max(q_{\pi}(s,a)) q∗(s,a)=max(qπ(s,a))
所有可能的策略中,使得当前**状态行为对<s,a>**对应value最大的 π \pi π
求解MDP问题,就是在寻找q*.
最优策略
在MDP中,总是至少有一个最优policy
如果我们每次选取使得 q ∗ q_* q∗最大的action,这就是一种最优策略。
所以,如果我们知道最优行为价值函数,则表明我们找到了最优策略。
整个求解过程就可以表述为寻找最大回报 V ∗ ( s ) V^*(s) V∗(s)以及对应最优策略的 π ∗ ( s ) \pi^*(s) π∗(s)
贝尔曼最优方程
同样的,有两种途径给出公式求解,分别是通过状态价值函数最优和行为价值最优。
-
状态价值最优:
其中 m a x a R s a \mathop{max}\limits_{a}R^a_s amaxRsa是从state到最优action得到的reward;γ ∑ s ′ ∈ S P s s ′ a v ∗ ( s ′ ) \gamma \sum\limits_{s'\in S}P^a_{ss'}v_*(s') γs′∈S∑Pss′av∗(s′)是最优action到所有可能state的概率value之和
-
行为价值最优:
同样的行为价值也可以推导出来。这里不再详细说明。
求解贝尔曼最优方程的方法
3. MDP的变种
除了如下列出来的两种外,还有平均奖励MDP、Ergodic MDP等等。
a. 无限状态或连续空间下的MDP
b. POMDP
参考文献
[1] https://leovan.me/cn/2020/05/markov-decision-process/#fn:sutton2018reinforcement
[2] http://lanbing510.info/2015/11/17/Master-Reinforcement-Learning-MDP.html
[3] https://tianshou.readthedocs.io/zh/latest/_static/thesis.pdf
[4] https://www.davidsilver.uk/wp-content/uploads/2020/03/MDP.pdf
评论(0)
您还未登录,请登录后发表或查看评论