强化学习 / 动态规划:策略改进(Policy Improvement)使策略更优的数学证明

前言: Sutton第二版《强化学习》中,第4章第2节“策略改进”介绍了基于贪心算法的策略改进。为什么以(只考虑一个后续状态来选择当前动作的)贪心算法进行更新的策略一定会比原策略更优呢?书上也给出了论证,但不明显。这里我将其整理,把顺序和逻辑重新捋一下。

定义:策略A比策略B好

如果 π \pi π π ′ \pi ' π是两个确定的策略,对任意 s ∈ S s \in S sS,有:

q π ( s , π ′ ( s ) ) ≥ v π ( s ) q_\pi (s, \pi ' (s)) \ge v_\pi (s) qπ(s,π(s))vπ(s)

我们称 π ′ \pi ' π相比于 π \pi π更好。 q q q为期望, v v v为价值。

策略A比B好,意味着A更高的价值

将式子 q π ( s , π ′ ( s ) ) ≥ v π ( s ) q_\pi (s, \pi ' (s)) \ge v_\pi (s) qπ(s,π(s))vπ(s)展开:

v π ( s ) ≤ q π ( s , π ′ ( s ) ) . . . ≤ E π ′ [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . ∣ S t = s ] = v π ′ ( s ) \begin{aligned} v_\pi (s) & \le q_\pi (s, \pi ' (s)) \\ & ... \\ & \le \mathbb{E}_{\pi '} [R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s] \\ & = v_{\pi '} (s) \end{aligned} vπ(s)qπ(s,π(s))...Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=vπ(s)

由此式,可以推导出,若对于状态 s s s,选择期望更高的动作(选择更好的策略),可以使其价值提高。

tips: 上式的推导步骤省略了,其推导的核心就是应用 q q q的定义式,迭代展开 q q q

q π ( s , π ′ ( s ) ) = E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s , A t = π ′ ( s ) ] = E π ′ [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] ≤ E π ′ [ R t + 1 + γ q π ( S t + 1 , π ′ ( S t + 1 ) ) ∣ S t = s ] . . . \begin{aligned} q_{\pi} (s, \pi' (s)) & = \mathbb{E} [R_{t+1} + \gamma v_\pi (S_{t+1} )| S_t = s, A_t = \pi' (s)]\\ & = \mathbb{E}_{\pi '} [R_{t+1} + \gamma v_\pi (S_{t+1} )| S_t = s] \\ & \le \mathbb{E}_{\pi '} [R_{t+1} + \gamma q_{\pi} (S_{t+1}, \pi' (S_{t+1}))| S_t = s] \\ & ... \\ \end{aligned} qπ(s,π(s))=E[Rt+1+γvπ(St+1)St=s,At=π(s)]=Eπ[Rt+1+γvπ(St+1)St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))St=s]...

策略改进:贪心算法构造更好的策略

在每个状态下根据 q π ( s , a ) q_\pi (s, a) qπ(s,a)选择一个最优的,换言之,考虑一个新的贪心策略 π ′ \pi ' π,满足:

π ′ s ( s ) = arg max ⁡ a q π ( s , a ) = a r g m a x a E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s , A t = π ′ ( s ) ] = a r g m a x a { ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] } \begin{aligned} \pi's (s) & = \argmax_a q_\pi (s, a) \\ & = argmax_a \mathbb{E} [R_{t+1} + \gamma v_\pi (S_{t+1} )| S_t = s, A_t = \pi' (s)] \\ & = argmax_a \left\{ \sum_{s', r} p(s', r | s, a)[r + \gamma v_\pi (s')] \right\} \end{aligned} πs(s)=aargmaxqπ(s,a)=argmaxaE[Rt+1+γvπ(St+1)St=s,At=π(s)]=argmaxas,rp(s,rs,a)[r+γvπ(s)]

这个贪心策略采取在短期内看上去最优策略,根据 v π v_{\pi} vπ单步搜索。

反证法证明:策略改进是“有效的”

我们知道,贪心策略基于 q π ( s , π ′ ( s ) ) ≥ v π ( s ) q_\pi (s, \pi ' (s)) \ge v_\pi (s) qπ(s,π(s))vπ(s),可以保证 v π ′ ( s ) ≥ v π ( s ) v_{\pi '} (s) \ge v_\pi (s) vπ(s)vπ(s)

但是,贪心策略有没有可能造成在每步搜索中(每次策略更新中),存在 v π ′ ( s ) = v π ( s ) v_{\pi '} (s) = v_\pi (s) vπ(s)=vπ(s)的情况(则此次更新无效)。

实际上,这是不可能的。反证法:

如果新的策略 π ′ \pi' π比老的策略 π \pi π v π ′ ( s ) = v π ( s ) v_{\pi '} (s) = v_\pi (s) vπ(s)=vπ(s),那么由上文贪心策略递进式,可得,对任意 s ∈ S s \in S sS

v π ′ ( s ) = max ⁡ a E [ R t + 1 + γ v π ′ ( S t + 1 ) ∣ S t = s , A t = a ] = max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ′ ( s ′ ) ] \begin{aligned} v_{\pi '}(s) & = \max_a \mathbb{E} [R_{t+1} + \gamma v_{\pi '} (S_{t+1} )| S_t = s, A_t = a] \\ & = \max_a \sum_{s', r} p(s', r | s, a)[r + \gamma v_{\pi '} (s')] \end{aligned} vπ(s)=amaxE[Rt+1+γvπ(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γvπ(s)]

这个式子就是贝尔曼最优方程组了,所求解的 v π ′ v_{\pi '} vπ一定位最优策略下的 v ∗ v_{*} v

因此,如果如果新的策略 π ′ \pi' π比老的策略 π \pi π v π ′ ( s ) = v π ( s ) v_{\pi '} (s) = v_\pi (s) vπ(s)=vπ(s),那么一定是已经迭代到了最优的策略,否则,策略改进一定会给出一个更优的结果。

今天我们讲的内容,为以后的工程问题奠定了理论基础,有了理论依据,即:我依据贝尔曼方程更新策略是有效的。

你可能感兴趣的:(Reinforcement,Learning,数学证明)