RL(3):动态规划

1. 策略迭代

有两个子步骤:policy evaluation策略评估和policy improvement策略改进。策略评估的目的是对于给定的策略 π \pi π,确定状态值函数 v π ( s ) v_\pi(s) vπ(s);策略改进的目的是找出新策略 π ′ ( s ) \pi'(s) π(s)使得 π ′ ≥ π \pi'\ge\pi ππ

策略迭代的步骤:
1.随机选择初始策略 π 0 \pi_0 π0,令 π k = π 0 \pi_k=\pi_0 πk=π0
2.对 π k \pi_k πk实行策略评估,获得状态值 v π k v_{\pi_k} vπk
3. 基于 v π k v_{\pi_k} vπk,对 π k \pi_k πk实行策略改进,产生新策略 π k + 1 \pi_{k+1} πk+1,使 π k + 1 > 一 π k \pi_{k+1}\underset{一}{>}\pi_k πk+1>πk
4.如果 π k + 1 = π k \pi_{k+1}=\pi_k πk+1=πk,就停止。现在的最佳策略就是 π ∗ = π k \pi_*=\pi_k π=πk。否则就返回步骤2。

1.1 策略评估

主要想法是把对 v π v_\pi vπ的贝尔曼方程变成一个在迭代过程中不断更新的策略,最终对给定 π \pi π得出 v π ( s ) v_\pi(s) vπ(s)的值。
v k + 1 ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v k ( s ′ ) ] v_{k+1}(s)=\sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_k(s')] vk+1(s)=aπ(as)s,rp(s,rs,a)[r+γvk(s)]

策略评估会随着迭代次数k的增加而收敛,这个结论证明的关键步骤:
1.用Bellman policy operator算子( T π \mathbb T_\pi Tπ)表示贝尔曼方程:
T π v k = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v k ] \mathbb T_\pi v_k=\sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_k] Tπvk=aπ(as)s,rp(s,rs,a)[r+γvk]

2. T π \mathbb T_\pi Tπ是一个收缩映射:
∣ ∣ T π v k − T π v k + 1 ∣ ∣ ∞ < 一 γ ∣ ∣ v k − v k + 1 ∣ ∣ ∞ ||\mathbb T_\pi v_k-\mathbb T_\pi v_{k+1}||_\infty \underset{一}{<}\gamma||v_k-v_{k+1}||_\infty TπvkTπvk+1<γvkvk+1
3.由Contraction Mapping Theorem压缩映射原理可知, T π \mathbb T_\pi Tπ 有唯一的不动点 v π v_\pi vπ,也就是说,策略评估算法收敛于 v π v_\pi vπ

δ k δ_k δk表示在迭代 k k k结束时 v k ( s ) v_k(s) vk(s) v π ( s ) v_π(s) vπ(s)之差的最大值:

δ k = Δ m a x s ∣ v π ( s ) − v k ( s ) ∣ δ_k\overset{\Delta}{=}\underset{s}{\rm max}|v_\pi(s)-v_k(s)| δk=Δsmaxvπ(s)vk(s)
去掉 m a x \rm max max范围:
∣ v π ( s ) − v k ( s ) ∣ < 一 δ k |v_\pi(s)-v_k(s)|\underset{一}{<}δ_k vπ(s)vk(s)<δk

由此可得:
− δ k ≤ v π ( s ) − v k ( s ) ≤ δ k ⇒ − v π ( s ) − δ k ≤ − v k ( s ) ≤ − v π ( s ) + δ k ⇒ v π ( s ) + δ k ≥ v k ( s ) ≥ v π ( s ) − δ k ⇒ v π ( s ) − δ k ≤ v k ( s ) ≤ v π ( s ) + δ k -\delta_k\leq v_\pi(s)-v_k(s)\leq\delta_k \\ \Rightarrow -v_\pi(s)-\delta_k\leq -v_k(s)\leq -v_\pi(s)+\delta_k \\ \Rightarrow v_\pi(s)+\delta_k\ge v_k(s)\ge v_\pi(s)-\delta_k\\ \Rightarrow v_\pi(s)-\delta_k\leq v_k(s)\leq v_\pi(s)+\delta_k δkvπ(s)vk(s)δkvπ(s)δkvk(s)vπ(s)+δkvπ(s)+δkvk(s)vπ(s)δkvπ(s)δkvk(s)vπ(s)+δk
由于上式适用于迭代 k k k次的任何状态,因此对于状态 s ′ s' s,我们有
v k ( s ′ ) ≥ v π ( s ′ ) − δ k v_k(s')\ge v_\pi(s')-\delta_k vk(s)vπ(s)δk

现在考虑迭代 k + 1 k+1 k+1,更新的规则可以写为
v k + 1 ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v k ( s ′ ) ] ≥ ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ ( v π ( s ′ ) − δ k ) ] = v π ( s ) − γ δ k \begin{aligned} v_{k+1}(s)&=\sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_k(s')]\\ &\ge \sum_a\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma (v_\pi(s')-\delta_k)]\\ &=v_\pi(s)-\gamma \delta_k \end{aligned} vk+1(s)=aπ(as)s,rp(s,rs,a)[r+γvk(s)]aπ(as)s,rp(s,rs,a)[r+γ(vπ(s)δk)]=vπ(s)γδk

v π ( s ) − γ δ k ≤ v k + 1 ( s ) δ k + 1 = Δ m a x s ∣ v π ( s ) − v k + 1 ( s ) ∣ ≤ m a x s ∣ γ δ k ∣ = γ δ k v_\pi(s)-\gamma \delta_k\leq v_{k+1}(s)\\ \delta_{k+1}\overset{\Delta}{=}\underset{s}{\rm max}|v_\pi(s)-v_{k+1}(s)|\leq\underset{s}{\rm max}|\gamma \delta_k|=\gamma \delta_k vπ(s)γδkvk+1(s)δk+1=Δsmaxvπ(s)vk+1(s)smaxγδk=γδk
如果设置 0 ≤ γ < 1 0\leq\gamma<1 0γ<1,即 δ k → 0 \delta_k\rightarrow0 δk0,也就是在 k → ∞ k\rightarrow\infty k的时候, v k ( s ) → v π ( s ) v_k(s)\rightarrow v_\pi(s) vk(s)vπ(s)

1.2 策略改进

分两步。

第一步,选择的新策略 π ′ \pi' π要符合条件:
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 + γ 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 ] = E π ′ [ R t + 1 + γ E π ′ [ R t + 2 + γ v π ( S t + 2 ) ∣ S t + 1 , A t + 1 = π ′ ( S t + 1 ) ] ∣ S t = s ] = E π ′ [ R t + 1 + γ R t + 2 + γ 2 v π ( S t + 2 ) ∣ S t = s ] ≤ E π ′ [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 v π ( S t + 3 ) ∣ S t = s ] . . . ≤ E π ′ [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 R t + 4 + . . . ∣ S t = s ] = v π ′ ( s ) \begin{aligned} v_\pi(s)&\leq 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]\\ &\leq \mathbb E_{\pi'}[R_{t+1}+\gamma q_\pi(S_{t+1},\pi'(S_t+1))|S_t=s]\\ &=\mathbb E_{\pi'}[R_{t+1}+\gamma \mathbb E_{\pi'}[R_{t+2}+\gamma v_\pi(S_{t+2})|S_{t+1},A_{t+1}=\pi'(S_{t+1})]|S_t=s]\\ &=\mathbb E_{\pi'}[R_{t+1}+\gamma R_{t+2}+\gamma^2 v_{\pi}(S_{t+2})|S_t=s]\\ &\leq \mathbb E_{\pi'}[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\gamma^3 v_\pi(S_t+3)|S_t=s ]\\&...\\ &\leq \mathbb E_{\pi'}[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\gamma^3 R_{t+4}+...|S_t=s]\\ &=v_{\pi'}(s) \end{aligned} vπ(s)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]=Eπ[Rt+1+γEπ[Rt+2+γvπ(St+2)St+1,At+1=π(St+1)]St=s]=Eπ[Rt+1+γRt+2+γ2vπ(St+2)St=s]Eπ[Rt+1+γRt+2+γ2Rt+3+γ3vπ(St+3)St=s]...Eπ[Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+...St=s]=vπ(s)

第二步,怎么选择符合条件的 π ′ \pi' π?
一种方法是
π ′ ( s ) = Δ a r g m a x a q π ( s , a ) = a r g m a x a E [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s , A t = a ] = a r g m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ , v π ( s ′ ) ] \begin{aligned} \pi'(s)&\overset{\Delta}{=}\underset{a}{\rm argmax}q_\pi(s,a)\\ &=\underset{a}{\rm argmax} \mathbb E[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s,A_t=a]\\ &=\underset{a}{\rm argmax}\sum_{s',r}p(s',r|s,a)[r+\gamma,v_\pi(s')] \end{aligned} π(s)=Δaargmaxqπ(s,a)=aargmaxE[Rt+1+γvπ(St+1)St=s,At=a]=aargmaxs,rp(s,rs,a)[r+γ,vπ(s)]

1.3 策略迭代收敛

因为在每个状态下做出的都是贪心算法的行为,所以有
v π ′ = m a x a E [ R t + 1 + γ v π ′ ( S t + 1 ) ∣ S t = s , A t = a ] = m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ′ ( s ′ ) ] \begin{aligned} v_{\pi'}&=\underset{a}{\rm max }\mathbb E[R_{t+1}+\gamma v_{\pi'}(S_{t+1})|S_t=s,A_t=a]\\ &=\underset{a}{\rm max}\sum_{s',r}p(s',r|s,a)[r+\gamma v_{\pi'}(s')] \end{aligned} vπ=amaxE[Rt+1+γvπ(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γvπ(s)]
与有 v ∗ = v π ′ v_∗= v_{\pi'} v=vπ的Bellman最优性方程相同,所以 π ′ = π ∗ \pi'=\pi_* π=π
因此,策略迭代可以保证产生最优策略。

2. 值迭代

2.1 更新规则

状态值 v ( s ) v(s) v(s)的值迭代:
v k + 1 ( s ) = m a x a E [ R t + 1 + γ v k ( S t + 1 ) ∣ S t = s , A t = a ] = m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v k ( s ′ ) ] , 对 于 所 有 的 s ∈ S \begin{aligned} v_{k+1}(s)&=\underset{a}{\rm max}\mathbb E[R_{t+1}+\gamma v_k(S_{t+1})|S_t=s,A_t=a]\\ &=\underset{a}{\rm max}\sum_{s',r}p(s',r|s,a)[r+\gamma v_k(s')],对于所有的s\in S \end{aligned} vk+1(s)=amaxE[Rt+1+γvk(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γvk(s)],sS
行为值 q ( s , a ) q(s,a) q(s,a)的值迭代:
q k + 1 ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ m a x a q k ( s ′ , a ′ ) ] q_{k+1}(s,a)=\sum_{s',r}p(s',r|s,a)[r+\gamma \underset{a}{\rm max}q_k(s',a')] qk+1(s,a)=s,rp(s,rs,a)[r+γamaxqk(s,a)]
一旦找到最优值 v ∗ ( s ) v_∗(s) v(s) q ∗ ( s , a ) q_∗(s,a) q(s,a),就可以根据这些值提取最优策略:
π ∗ ( s ) = { a r g m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] a r g m a x a q ∗ ( s , a ) \pi_*(s)= \begin{cases} &\underset{a}{\rm argmax}\sum_{s',r}p(s',r|s,a)[r+\gamma v_*(s')]\\ &\underset{a}{\rm argmax}q_*(s,a) \end{cases} π(s)=aargmaxs,rp(s,rs,a)[r+γv(s)]aargmaxq(s,a)
如果策略和奖励函数是确定的,更新规则就可以用转换概率 P s s ′ a P^a_{ss'} Pssa和奖励函数 ρ ( s , a , s ′ ) \rho(s,a,s') ρ(s,a,s)表示,而不需要 p p p函数:
Q ( s , a ) ← ∑ s ′ P s s ′ a ( ρ ( s , a , s ′ ) + γ m a x a ′ Q ( s ′ , a ′ ) ) Q(s,a)\leftarrow \sum_{s'}P^a_{ss'}(\rho(s,a,s')+\gamma\underset{a'}{\rm max}Q(s',a') ) Q(s,a)sPssa(ρ(s,a,s)+γamaxQ(s,a))

2.2 例证

2.3 值迭代的收敛

第一步:

假设在迭代 k k k次时,动作值 q k ( s , a ) q_k(s,a) qk(s,a)对于一些状态和动作不是最优,即 q k ( s , a ) ≠ q ∗ ( s , a ) q_k(s,a)\ne q_*(s,a) qk(s,a)=q(s,a)。我们可以将 q k ( s , a ) q_k(s,a) qk(s,a) q ∗ ( s , a ) q_∗(s,a) q(s,a)的最大差为
δ k = Δ m a x s , a ∣ q ∗ ( s , a ) − q k ( s , a ) ∣ δ_k\overset{\Delta}{=}\underset{s,a}{\rm max}|q_*(s,a)-q_k(s,a)| δk=Δs,amaxq(s,a)qk(s,a)
去掉 m a x \rm max max范围:
∣ q ∗ ( s , a ) − q k ( s , a ) ∣ ≤ δ k |q_*(s,a)-q_k(s,a)|\leqδ_k q(s,a)qk(s,a)δk

由此可得:
− δ k ≤ q ∗ ( s , a ) − q k ( s , a ) ≤ δ k ⇒ − q ∗ ( s , a ) − δ k ≤ − q k ( s , a ) ≤ − q ∗ ( s , a ) + δ k ⇒ q ∗ ( s , a ) + δ k ≥ q k ( s , a ) ≥ q ∗ ( s , a ) − δ k ⇒ q ∗ ( s , a ) − δ k ≤ q k ( s , a ) ≤ q ∗ ( s , a ) + δ k -\delta_k\leq q_*(s,a)-q_k(s,a)\leq\delta_k \\ \Rightarrow -q_*(s,a)-\delta_k\leq -q_k(s,a)\leq -q_*(s,a)+\delta_k \\ \Rightarrow q_*(s,a)+\delta_k\ge q_k(s,a)\ge q_*(s,a)-\delta_k\\ \Rightarrow q_*(s,a)-\delta_k\leq q_k(s,a)\leq q_*(s,a)+\delta_k δkq(s,a)qk(s,a)δkq(s,a)δkqk(s,a)q(s,a)+δkq(s,a)+δkqk(s,a)q(s,a)δkq(s,a)δkqk(s,a)q(s,a)+δk
现在考虑迭代 k + 1 k+1 k+1,更新的规则可以写为
q k + 1 ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ m a x a q k ( s ′ , a ′ ) ] q k + 1 ( s , a ) ≤ q ∗ ( s , a ) + γ δ k q_{k+1}(s,a)=\sum_{s',r}p(s',r|s,a)[r+\gamma \underset{a}{\rm max}q_k(s',a')]\\ q_{k+1}(s,a)\leq q_*(s,a)+\gamma \delta_k qk+1(s,a)=s,rp(s,rs,a)[r+γamaxqk(s,a)]qk+1(s,a)q(s,a)+γδk
由于 q ∗ ( s , a ) q_∗(s,a) q(s,a)是有限的,上述方程表明如果 δ k \delta_k δk是有界的, q k + 1 ( s , a ) q_{k+1}(s,a) qk+1(s,a)是有界的。由于最初 q 0 ( s , a ) q_0(s,a) q0(s,a)被设置为零,并且在每次迭代中, δ k \delta_k δk q k ( s , a ) q_k(s,a) qk(s,a) q ∗ ( s , a ) q_∗(s,a) q(s,a)之间的最大绝对差,我们可以得出 q k + 1 q_{k+1} qk+1也是有界的。

第二步:

q k ( s , a ) q_k(s,a) qk(s,a)随着 k k k的增加而单调地接近 q ∗ ( s , a ) q_∗(s,a) q(s,a):

q k ( s ′ , a ′ ) ≥ q ∗ ( s ′ , a ′ ) − δ k q_k(s',a')\ge q_*(s',a')-\delta_k qk(s,a)q(s,a)δk
q k + 1 ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) ( r + γ m a x a ′ q k ( s ′ , a ′ ) ) ≥ ∑ s ′ , r p ( s ′ , r ∣ s , a ) ( r + γ m a x a ′ ( q ∗ ( s ′ , a ′ ) − δ k ) ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) ( r + γ m a x a ′ q ∗ ( s ′ , a ′ ) ) − γ δ k = q ∗ ( s , a ) − γ δ k \begin{aligned} q_{k+1}(s,a)&=\sum_{s',r}p(s',r|s,a)(r+\gamma \underset{a'}{\rm max}q_k(s',a'))\\ &\ge \sum_{s',r}p(s',r|s,a)(r+\gamma \underset{a'}{\rm max}(q_*(s',a')-\delta_k))\\ &=\sum_{s',r}p(s',r|s,a)(r+\gamma\underset{a'}{\rm max}q_*(s',a'))-\gamma\delta_k\\ &=q_*(s,a)-\gamma \delta_k\\ \end{aligned} qk+1(s,a)=s,rp(s,rs,a)(r+γamaxqk(s,a))s,rp(s,rs,a)(r+γamax(q(s,a)δk))=s,rp(s,rs,a)(r+γamaxq(s,a))γδk=q(s,a)γδk
q ∗ ( s , a ) − γ δ k ≤ q k + 1 ( s , a ) o r q ∗ ( s , a ) − q k + 1 ( s , a ) ≤ γ δ k q_*(s,a)-\gamma \delta_k\leq q_{k+1}(s,a)\\ or q_*(s,a)-q_{k+1}(s,a)\leq \gamma\delta_k q(s,a)γδkqk+1(s,a)orq(s,a)qk+1(s,a)γδk
δ k + 1 = Δ m a x s , a ∣ q ∗ ( s , a ) − q k + 1 ( s , a ) ∣ ≤ m a x s , a ∣ γ δ k ∣ = γ δ k δ k + 1 ≤ γ δ k \delta_{k+1} \overset{\Delta}{=}\underset{s,a}{\rm max}|q_*(s,a) - q_{k+1}(s,a)|\leq\underset{s,a}{\rm max}|\gamma \delta_k|=\gamma\delta_k\\ \delta_{k+1}\leq\gamma\delta_k δk+1=Δs,amaxq(s,a)qk+1(s,a)s,amaxγδk=γδkδk+1γδk
如果设置 0 ≤ γ < 1 0\leq\gamma<1 0γ<1,即 δ k → 0 \delta_k\rightarrow0 δk0,也就是在 k → ∞ k\rightarrow\infty k的时候, q k ( s , a ) → q ∗ ( s , a ) q_k(s,a)\rightarrow q_*(s,a) qk(s,a)q(s,a)

3. 广义策略迭代

上述讨论需要知道p函数,动态规划方法需要一个由函数 p = ( s ′ , r ∣ s , a ) p=(s',r|s,a) p=(s,rs,a)表示的完整的环境模型。当该 p p p函数不可用时,策略迭代和值迭代方法就不能用于求解强化学习问题。在这种情况下,我们转向一类所谓的无模型方法(仍然在广义策略迭代的方案下运行),使我们能够在没有模型的情况下找到最优策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值