目录

深度强化学习目录

简介

贝尔曼方程,又叫动态规划方程,是以Richard Bellman命名的,表示动态规划问题中相邻状态关系的方程。某些决策问题可以按照时间或空间分成多个阶段,每个阶段做出决策从而使整个过程取得效果最优的多阶段决策问题,可以用动态规划方法求解。某一阶段最优决策的问题,通过贝尔曼方程转化为下一阶段最优决策的子问题,从而初始状态的最优决策可以由终状态的最优决策(一般易解)问题逐步迭代求解。存在某种形式的贝尔曼方程,是动态规划方法能得到最优解的必要条件。绝大多数可以用最优控制理论解决的问题,都可以通过构造合适的贝尔曼方程来求解。
[内容来源: Bertsekas, D. P. (1976). Dynamic Programming and Stochastic Control. Academic Press, Inc.]

Bellman方程说明优化问题可以用迭代的方式来化成子问题,因此,我们要证明状态-值函数V同样可以表示成Bellman方程的形式,这样V就可以通过迭代来计算了。

符号

  • G t G_t Gt:时间从t到结束的累积奖赏,由于t时刻的奖励是采取行动后t+1时刻才拥有的,所以 G t G_t Gt满足: G t = r t + 1 + r t + 2 + … G_t={r_{t+1}+r_{t+2}+\ldots} Gt=rt+1+rt+2+
  • V π ( s ) V_\pi(s) Vπ(s):策略为 π \pi π的状态-值函数,即状态s下预计累计回报的期望值,满足: V π ( s ) = E [ G t ∣ S t = s ] V_\pi(s)=\mathbb{E}[G_t\vert S_t=s] Vπ(s)=E[GtSt=s]
  • Q π ( s , a ) Q_\pi(s,a) Qπ(s,a):策略为 π \pi π的状态-动作值函数,即状态s下采取行动a预计累计回报的期望值,满足: Q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] Q_\pi(s,a)=\mathbb{E}[G_t\vert S_t=s,A_t=a] Qπ(s,a)=E[GtSt=s,At=a]
  • P s → s ′ a P_{s\rightarrow s'}^a Pssa:采取行为a后状态s转换到s’的概率。
  • R s → s ′ a R_{s\rightarrow s'}^a Rssa:采取行为a后状态s转换到s’所获得的奖赏。
  • π ( s , a ) \pi(s,a) π(s,a):状态s下根据策略 π \pi π采取行为a的概率。

回报衰减

从实际含义去考虑,长期累积奖赏不能直接相加,那样效果很差,因此采取折扣累积奖赏的方法。定义衰减系数 γ \gamma γ,且累积奖赏为: G t = r t + 1 + γ r t + 2 + … = ∑ k = 0 ∞ γ k r t + k + 1 G_t={r_{t+1}+\gamma r_{t+2}+\ldots}=\sum_{k=0}^{\infty}\gamma^kr_{t+k+1} Gt=rt+1+γrt+2+=k=0γkrt+k+1

推导函数

V π ( s ) = E [ G t ∣ S t = s ] = E [ r t + 1 + ( γ r t + 2 + … ) ∣ S t = s ] = E [ r t + 1 + γ G t + 1 ∣ S t = s ] = ∑ a ∈ A π ( s , a ) ∑ s ′ ∈ S P s → s ′ a ⋅ ( R s → s ′ a + γ E [ G t + 1 ∣ S t + 1 = s ′ ] ) = ∑ a ∈ A π ( s , a ) ∑ s ′ ∈ S P s → s ′ a ⋅ ( R s → s ′ a + γ V π ( s ′ ) ) = E [ r t + 1 + γ V π ( s t + 1 ) ∣ S t = s ] \begin{aligned} V_\pi(s)&=\mathbb{E}[G_t\vert S_t=s] \\ &= \mathbb{E}[r_{t+1}+(\gamma r_{t+2}+\ldots)\vert S_t=s] \\ &= \mathbb{E}[r_{t+1}+\gamma G_{t+1}\vert S_t=s] \\ &= \sum_{a\in A}\pi(s,a)\sum_{s'\in S}P_{s\rightarrow s'}^a\cdot(R_{s\rightarrow s'}^a+\gamma\mathbb{E}[G_{t+1}\vert S_{t+1}=s']) \\ &= \sum_{a\in A}\pi(s,a)\sum_{s'\in S}P_{s\rightarrow s'}^a\cdot(R_{s\rightarrow s'}^a+\gamma V_\pi(s')) \\ &= \mathbb{E}[r_{t+1}+\gamma V_\pi(s_{t+1})\vert S_t=s] \end{aligned} Vπ(s)=E[GtSt=s]=E[rt+1+(γrt+2+)St=s]=E[rt+1+γGt+1St=s]=aAπ(s,a)sSPssa(Rssa+γE[Gt+1St+1=s])=aAπ(s,a)sSPssa(Rssa+γVπ(s))=E[rt+1+γVπ(st+1)St=s]

第四步是动作-状态全概率展开,相当于写出当前状态s到下一个所有可能的状态s’的转换概率,再根据转换概率求和。
有了状态值函数V,我们就能直接计算出状态-动作值函数: Q π ( s , a ) = ∑ s ′ ∈ S P s → s ′ a ⋅ ( R s → s ′ a + γ V π ( s ′ ) ) (1.1) Q_\pi(s,a)=\sum_{s'\in S}P_{s\rightarrow s'}^a\cdot(R_{s\rightarrow s'}^a+\gamma V_\pi(s')) \tag{1.1} Qπ(s,a)=sSPssa(Rssa+γVπ(s))(1.1)

最优Bellman方程

一个强化学习任务可能有多个最优策略,最优策略所对应的值函数 V ⋆ ( s ) V^\star(s) V(s)称为最优值函数,即: ∀ s ∈ S , V ⋆ ( s ) = V π ⋆ ( s ) \forall s\in S,V^\star(s)=V_{\pi^\star}(s) sS,V(s)=Vπ(s)

由于最优值函数的累积奖赏值已达最大,因此可以对前面的Bellman方程做一个改动,将对动作的概率求和改为取最优: V ⋆ ( s ) = max ⁡ a ∈ A ∑ s ′ ∈ S P s → s ′ a ⋅ ( R s → s ′ a + γ V ⋆ ( s ′ ) ) V^\star(s)= \max_{a\in A}\sum_{s'\in S}P_{s\rightarrow s'}^a\cdot(R_{s\rightarrow s'}^a+\gamma V^\star (s')) V(s)=aAmaxsSPssa(Rssa+γV(s))

这是一种贪心的做法。因为这是马尔科夫过程(MDP),当前状态只与上一状态相关,所以能使当前状态下值函数最大的动作,一定是最大化当前状态下累积奖赏的动作,也即:
V ⋆ ( s ) = max ⁡ a ∈ A Q π ⋆ ( s , a ) V^\star(s)=\max_{a\in A}Q_{\pi^\star}(s,a) V(s)=aAmaxQπ(s,a)

将上式带入公式1.1,可以得到最优状态-动作值函数:
Q ⋆ ( s , a ) = ∑ s ′ ∈ S P s → s ′ a ⋅ ( R s → s ′ a + γ max ⁡ a ′ ∈ A Q ⋆ ( s ′ , a ′ ) ) Q^\star(s,a)=\sum_{s'\in S}P_{s\rightarrow s'}^a\cdot(R_{s\rightarrow s'}^a+\gamma \max_{a'\in A}Q^\star(s',a')) Q(s,a)=sSPssa(Rssa+γaAmaxQ(s,a))

上述关于最优值函数的等式,称为最优Bellman方程(或最优Bellman等式),其唯一解是最优值函数。
最优Bellman方程揭示了非最优策略的改进方式,即将策略选择的动作改变为当前的最优动作。假设动作改变后对应的策略为 π ′ \pi' π,改变动作的条件为 Q π ( s , π ′ ( s ) ) ≥ V π ( s ) Q_\pi(s,\pi'(s))\ge V_\pi(s) Qπ(s,π(s))Vπ(s),以 γ \gamma γ折扣累积奖赏为例,可以进行如下公式推导: V π ( s ) ≤ Q π ( s , π ′ ( s ) ) = ∑ s ′ ∈ S P s → s ′ π ′ ( s ) ⋅ ( R s → s ′ π ′ ( s ) + γ V π ( s ′ ) ) ≤ ∑ s ′ ∈ S P s → s ′ π ′ ( s ) ⋅ ( R s → s ′ π ′ ( s ) + γ Q π ( s ′ , π ′ ( s ′ ) ) ) = … = V π ′ ( s ) \begin{aligned} V_\pi(s)&\le Q_\pi(s,\pi'(s))\\ &=\sum_{s'\in S}P_{s\rightarrow s'}^{\pi'(s)}\cdot(R_{s\rightarrow s'}^{\pi'(s)}+\gamma V_\pi(s'))\\ &\le \sum_{s'\in S}P_{s\rightarrow s'}^{\pi'(s)}\cdot(R_{s\rightarrow s'}^{\pi'(s)}+\gamma Q_\pi(s',\pi '(s')))\\ &=\ldots \\ &=V_{\pi'}(s) \end{aligned} Vπ(s)Qπ(s,π(s))=sSPssπ(s)(Rssπ(s)+γVπ(s))sSPssπ(s)(Rssπ(s)+γQπ(s,π(s)))==Vπ(s)

省略号省略的部分就是将Q值再代入为V,和第二步一样,说明每一次满足 Q π ( s i , π ′ ( s i ) ) ≥ V π ( s i ) Q_\pi(s_i,\pi'(s_i))\ge V_\pi(s_i) Qπ(si,π(si))Vπ(si)都会增大不等式,而不等式右端又恒等于 V π ′ ( s ) V_{\pi'}(s) Vπ(s),所以一定有 V π ′ ( s ) ≥ V π ( s ) V_{\pi'}(s)\ge V_{\pi}(s) Vπ(s)Vπ(s)
由上可知,值函数对于策略的每一点改进都是单调递增的,或者说至少是不递减的。因此对于当前策略 π \pi π,必然可以将其改进为: π ′ ( s ) = a r g max ⁡ a ∈ A Q π ( s , a ) \pi'(s)=arg\max_{a\in A} Q_\pi(s,a) π(s)=argaAmaxQπ(s,a)直至 π ′ \pi' π π \pi π一致,不再变化,此时就满足了最优Bellman方程,找到了最优策略。

总结

状态-值函数的Bellman方程的基本形式确立,标志其可以化为子问题迭代,也说明其必然可以改进为最优解,必定收敛。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐