深度强化学习目录
贝尔曼方程,又叫动态规划方程,是以Richard Bellman命名的,表示动态规划问题中相邻状态关系的方程。某些决策问题可以按照时间或空间分成多个阶段,每个阶段做出决策从而使整个过程取得效果最优的多阶段决策问题,可以用动态规划方法求解。某一阶段最优决策的问题,通过贝尔曼方程转化为下一阶段最优决策的子问题,从而初始状态的最优决策可以由终状态的最优决策(一般易解)问题逐步迭代求解。存在某种形式的贝尔曼方程,是动态规划方法能得到最优解的必要条件。绝大多数可以用最优控制理论解决的问题,都可以通过构造合适的贝尔曼方程来求解。
[内容来源: Bertsekas, D. P. (1976). Dynamic Programming and Stochastic Control. Academic Press, Inc.]
Bellman方程说明优化问题可以用迭代的方式来化成子问题,因此,我们要证明状态-值函数V同样可以表示成Bellman方程的形式,这样V就可以通过迭代来计算了。
从实际含义去考虑,长期累积奖赏不能直接相加,那样效果很差,因此采取折扣累积奖赏的方法。定义衰减系数 γ \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[Gt∣St=s]=E[rt+1+(γrt+2+…)∣St=s]=E[rt+1+γGt+1∣St=s]=a∈A∑π(s,a)s′∈S∑Ps→s′a⋅(Rs→s′a+γE[Gt+1∣St+1=s′])=a∈A∑π(s,a)s′∈S∑Ps→s′a⋅(Rs→s′a+γ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)=s′∈S∑Ps→s′a⋅(Rs→s′a+γVπ(s′))(1.1)
一个强化学习任务可能有多个最优策略,最优策略所对应的值函数 V ⋆ ( s ) V^\star(s) V⋆(s)称为最优值函数,即: ∀ s ∈ S , V ⋆ ( s ) = V π ⋆ ( s ) \forall s\in S,V^\star(s)=V_{\pi^\star}(s) ∀s∈S,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)=a∈Amaxs′∈S∑Ps→s′a⋅(Rs→s′a+γ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)=a∈AmaxQπ⋆(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)=s′∈S∑Ps→s′a⋅(Rs→s′a+γa′∈AmaxQ⋆(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))=s′∈S∑Ps→s′π′(s)⋅(Rs→s′π′(s)+γVπ(s′))≤s′∈S∑Ps→s′π′(s)⋅(Rs→s′π′(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)=arga∈AmaxQπ(s,a)直至 π ′ \pi' π′与 π \pi π一致,不再变化,此时就满足了最优Bellman方程,找到了最优策略。
状态-值函数的Bellman方程的基本形式确立,标志其可以化为子问题迭代,也说明其必然可以改进为最优解,必定收敛。