马尔可夫过程

马尔可夫过程

强化学习基于马尔可夫过程,研究的问题都可以抽象成马尔可夫过程。其定义为满足马尔可夫性质的随机过程。
马尔可夫性质:通俗来讲,即当前状态包含了所有相关的历史,只要当前的状态已知,下一个状态的发生可能性就已经确定,不需要知道从开始到当前状态所经历的具体的状态变换。
P ( s t + 1 ∣ s t ) = P ( s t + 1 ∣ s t , s t − 1 , s t − 2 . . . s 0 ) P(s_{t+1}|s_t)=P(s_{t+1}|s_t,s_{t-1},s_{t-2}...s_0) P(st+1st)=P(st+1st,st1,st2...s0)

马尔可夫过程奖励

马尔可夫过程可以用一个元组 ( S , A , P , R , γ ) (S,A,P,R,γ) (S,A,P,R,γ), S S S为状态空间集合, A A A为动作空间集, P P P为状态转移概率分布矩阵, R R R为各个状态 s s s的奖励集, γ γ γ折扣因(0-1)
奖励(回报)
每一个状态 s s s都有一个奖励值,集合为 R R R,在 t t t时刻从状态 s t s_t st开始,到这个回合(episode)结束,所能获得的奖励总和称为回报。
G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + γ 3 r t + 4 + γ 4 r t + 5 + . . . G_t=r_{t+1}+γr_{t+2}+γ^2r_{t+3}+γ^3r_{t+4}+γ^4r_{t+5}+... Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+γ4rt+5+...
G t = r t + 1 + γ G t + 1 G_t=r_{t+1}+γG_{t+1} Gt=rt+1+γGt+1
其中 γ γ γ为折扣因子,取值0-1,其代表的意义为,当前眼前的奖励值与未来奖励值的占比关系。从现实生活考虑,未来的回报不确定性因素高,需要打个折扣。当 γ γ γ趋于1时,表示对未来的回报越看重,更加考虑未来的收益,不局限于眼前的利益。相反,趋于0时,表示注重眼前的收益。
由于每个episode所经历的状态过程是随机的,不确定性高,但是我们需要一个稳定的奖励值来指导Agent,因此我们可以对回报函数求期望,就得到一个价值函数 V ( s ) V(s) V(s)
策略
策略 π π π是指智能体在某个时刻的状态,根据策略决策应该选择哪个动作。
确定性策略: s s s-> a a a的映射,即在状态 s s s,选择动作 a a a的概率为1.
随机策略: π ( a ∣ s ) π(a|s) π(as),表示在状态 s s s下,选择动作 a a a的概率值,该值不一定为1,即面对状态 s s s,agent依概率选择动作,则有可能会选到概率值小的动作(可能性较小而已)。

价值函数

状态的奖励 R R R是状态的立即回报,是‘眼前的利益’
状态价值函数
在某一个策略 π π π下,状态 s t s_t st的价值函数,即为根据这个策略,一步步走到结束,每个状态的奖励的加和期望。
V π ( s t ) = E π [ G t ∣ s t ] = E π ( r t + 1 + γ G s t + 1 ) V_π(s_t)=E_π[G_t|s_t]=E_π(r_{t+1}+γG_{s_{t+1}}) Vπst=Eπ[Gtst]=Eπ(rt+1+γGst+1) = E π ( r t + 1 ) + E π ( γ G s t + 1 ) = R t + 1 + γ V π ( s t + 1 ) =E_π(r_{t+1})+E_π(γG_{st+1})=R_{t+1}+γV_π(s_{t+1}) =Eπ(rt+1)+Eπ(γGst+1)=Rt+1+γVπ(st+1)

当前状态价值,等于该状态的立即回报的期望(下一个状态是不确定,因此不能确定立即回报,要取期望)+下个状态打了折扣的价值,状态价值函数描述了该状态的好坏。
动作价值函数
在某一个策略 π π π下,状态 s t s_t st,选择具体某个动作 a t a_t at的价值函数,即选择完动作后,一直走到结束的所有奖励加和的期望。
Q π ( s t , a t ) = E π [ G t ∣ s t , a t ] Q_π(s_t,a_t)=E_π[G_t|s_t,a_t] Qπ(st,at)=Eπ[Gtst,at]
动作价值函数描述了在状态 s t s_t st下,选择该动作的好坏。

状态价值函数和动作价值函数的关系

马尔可夫过程_第1张图片
要求某个状态 s s s的状态价值函数,主要考虑,从这个状态出发,一共有几个动作可以选,每个动作对应的动作价值函数的累加和就是该状态的价值。
V π ( s ) = ∑ π ( a i ∣ s ) q π ( s , a i ) V_π(s)=\sum π(a_i|s)q_π(s,a_i) Vπ(s)=π(ais)qπ(s,ai)
对于确定性策略,对于某个状态,选择的动作是确定的,概率是1,因此 π ( a ∣ s ) = 1 π(a|s)=1 π(as)=1,上式就可以写成, V π ( s ) = q π ( s , a ) V_π(s)=q_π(s,a) Vπ(s)=qπ(s,a),状态价值函数就等于了动作价值函数。
马尔可夫过程_第2张图片
要求某一状态下 s s s下,确定选择某个动作 a a a后,这个动作的价值函数,可以考虑,动作确定后,他就会转变成下一个状态,获得一个立即回报,但是转变成哪个状态是不确定的,和状态转移概率有关,因此当前动作的价值等于可能转变成的下一个状态的 s ′ s\prime s的状态价值累计和以及状态改变带来的立即回报。
q π ( s , a ) = ∑ P s s ′ a ( r i + v π ( s ′ i ) ) = R s a + ∑ P s s ′ a v π ( s ′ i ) q_π(s,a)=\sum P_{ss\prime}^a (r_i+v_π(s\prime_i))=R_s^a+\sum P_{ss\prime}^a v_π(s\prime_i) qπ(s,a)=Pssa(ri+vπ(si))=Rsa+Pssavπ(si)
q π ( s , a ) q_π(s,a) qπ(s,a)带入 V π ( s ) V_π(s) Vπ(s)可以得到:
V π ( s ) = ∑ π ( a i ∣ s ) [ R s a + ∑ P s s ′ a v π ( s ′ i ) ] V_π(s)=\sum π(a_i|s)[R_s^a+\sum P_{ss\prime}^a v_π(s\prime_i)] Vπ(s)=π(ais)[Rsa+Pssavπ(si)]
该方程就是贝尔曼方程(Bellman)
用矩阵形式表示: V π ⃗ = R s a ⃗ + γ P s s ′ V π ⃗ \vec{V_π}=\vec{R_s^a}+γP_{ss\prime}\vec{V_π} Vπ =Rsa +γPssVπ
V π ( s t ) = R t + 1 + γ V π ( s t + 1 ) V_π(s_t)=R_{t+1}+γV_π(s_{t+1}) Vπ(st)=Rt+1+γVπ(st+1)
本质上是一致的,当前状态的价值=立即回报+下一个状态的价值
同理可以推出 q π ( s , a ) = R s a + ∑ P s s ′ a ∑ π ( a i ∣ s ′ ) q π ( s ′ , a i ) q_π(s,a)=R_s^a+\sum P_{ss\prime}^a \sum π(a_i|s\prime)q_π(s\prime,a_i) qπ(s,a)=Rsa+Pssaπ(ais)qπ(s,ai)
通过贝尔曼方程,当状态转移矩阵和策略已知的条件下,就可以通过迭代求出最优策略。

最优策略

对于MDP问题,一定存在一个最优策略 π ∗ π^* π,设该策略下的状态价值函数为 V ∗ ( s ) V^*(s) V(s),动作价值函数 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),则有下式成立
Q ∗ ( s , a ) ≥ Q π ( s , a ) , V ∗ ( s ) ≥ V ( s ) 对 任 意 的 策 略 π Q^*(s,a)\geq Q_π(s,a),V^*(s) \geq V(s) 对任意的策略π Q(s,a)Qπ(s,a),V(s)V(s)π
定理

  1. 对于任何MDP,存在一个最优策略,比任何其他策略更好,或至少相等;
  2. 所有的最优策略有相同的最优价值函数;
  3. 所有的最优策略有相同的动作价值函数;

因此,求最优策略可以通过求最优价值函数,转换为求价值函数的最大值问题。

动态规划

动态规划是需要在状态转移概率矩阵和回报函数已知的情况下,可以通过迭代求解得到最优策略。
动态规划问题两个性质:
最优子结构:保证能够使用最优性原理(多阶段决策过程的最优决策序列具有这样的性质:不论初始状态和初始决策如何,对于前面决策所造成的某一状态而言,其后各阶段的决策序列必须构成最优策略),问题可以转化成求子问题最优。
子问题重叠:子问题反复出现,可以缓存子问题和重利用子问题的解。

策略迭代

给定初始策略 π k π_k πk,计算出该策略下的状态 V π k V_{π_k} Vπk和动作价值函数 V π k V_{π_k} Vπk,根据贪心策略 π k + 1 ( s , a ) = m a x a Q π k ( s , a ) π_{k+1}(s,a)=max_aQ_{π_k}(s,a) πk+1(s,a)=maxaQπk(s,a),得到新的策略 π k + 1 π_{k+1} πk+1,然后在新的策略下,求出新的价值函数,反复迭代,直到价值函数和策略收敛,就求出了最优策略。
策略评估: V π k + 1 ( s ) = ∑ π ( a i ∣ s ) [ R s a + γ ∑ P s s ′ a V π k ( s ′ i ) ] V_{πk+1}(s)=\sum π(a_i|s)[R_s^a+γ\sum P_{ss\prime}^a V_{πk}(s\prime_i)] Vπk+1(s)=π(ais)[Rsa+γPssaVπk(si)]
即求出该策略下价值函数最终的收敛值,贝尔曼方程中,求解当前状态 s s s下的价值 V k + 1 ( s ) V_{k+1}(s) Vk+1(s)等于立即回报+下一个状态 s ′ s\prime s的价值 V k + 1 ( s ′ ) V_{k+1}(s\prime) Vk+1(s),但是我们不知道下一个状态 s ′ s\prime s的价值 V k + 1 ( s ′ ) V_{k+1}(s\prime) Vk+1(s)是多少,因此这里采用的是上一次迭代的 s ′ s\prime s的价值 V k ( s ′ ) V_{k}(s\prime) Vk(s)替代。因此在一轮迭代中,可以对将所有的状态的价值函数进行更新,然后进行下一轮,直到价值收敛了,就求出了该策略下的状态价值函数。
策略改进:
对于小问题,第一轮状态价值函数更新收敛,求出某策略下的状态价值函数后,根据贪心策略,可能就能得到最终最优策略。而复杂大问题,此时根据贪心策略得到新的策略,该策略还不是最优策略,需要重新进行策略评估,然后在进行策略改进,不断进行迭代,直到策略收敛。

价值迭代

策略迭代中,需要先进行策略评估,先求出当前策略下的价值函数,在根据价值函数进行策略改进。如果将贝尔曼方程:

V ( s ) = ∑ π ( a i ∣ s ) [ R s a + γ ∑ P s s ′ a V ( s ′ i ) ] V(s)=\sum π(a_i|s)[R_s^a+γ\sum P_{ss\prime}^a V(s\prime_i)] V(s)=π(ais)[Rsa+γPssaV(si)]改成
V k + 1 ( s ) = m a x a [ R s a + γ ∑ P s s ′ a V k ( s ′ i ) ] V_{k+1}(s)=max_a[R_s^a+γ\sum P_{ss\prime}^a V_k(s\prime_i)] Vk+1(s)=maxa[Rsa+γPssaVk(si)]价值迭代不涉及策略,(但是需要知道具体状态下,下一个所有的状态以及相应的转换概率)直接通过价值函数迭代逼近最优价值函数,跳过了策略改进的步骤。实际上改进过程已经通过 m a x a max_a maxa实现了。贝尔曼方程是求的期望,改进后的价值方程是贝尔曼优化方程。
同理,动作价值函数也有迭代公式:
Q π + 1 ( s , a ) = R s a + γ ∑ P s s ′ a m a x a Q π ( s ′ , a ′ ) Q_{π+1}(s,a)=R_s^a+γ\sum P_{ss\prime}^amax_aQ_π(s\prime,a\prime) Qπ+1(s,a)=Rsa+γPssamaxaQπ(s,a)

广义策略迭代

在策略迭代中,策略改进,必须在策略评估迭代收敛后再进行。然而,实际上并不需要策略评估收敛后再进行策略改进,值迭代就是最极端的例子,不进行评估就进行策略改进(实际暗中是进行了策略评估的一次更新),同样也可以得到最优策略。因此还有很多介于两者之间的方法,只要所有的状态价值和策略在不断地更新迭代,则最终一定会收敛到最优价值函数和最优策略,称为广义策略迭代。即只强调价值函数和策略在不断迭代提升,不关注具体的细节。强化学习都可以很好地描述成广义策略迭代

你可能感兴趣的:(强化学习)