(《机器学习》完整版系列)第16章 强化学习——16.4 有模型策略估值算法

已知策略,计算执行该策略获得的(平均)奖赏,即是策略估值,本篇利用Bellman等式【西瓜书式(16.7)(16.8)】进行策略估值。

策略估值算法

已知策略 π \pi π,计算执行该策略获得的(平均)奖赏,即是策略估值,下面我们利用Bellman等式【西瓜书式(16.7)(16.8)】(它是递归等式,16.3 有模型迭代式的详细推导)进行策略估值:

(1)基于 T T T步累积奖赏的策略估值算法

T T T步累积奖赏的递推式【西瓜书式(16.7)】(它是基于链长度的递进: ( T − 1 ) → T (T-1)\to T (T1)T),可以从右边的 { V T − 1 π ( x ′ ) } x ′ ∈ X \{V^{\pi}_{T-1}(x')\}_{x'\in X} {VT1π(x)}xX导出左边的 { V T π ( x ) } x ∈ X \{V_T^{\pi}(x)\}_{x\in X} {VTπ(x)}xX,调整一下下标字母,即从 { V t − 1 π ( x ) } x ∈ X \{V^{\pi}_{t-1}(x)\}_{x\in X} {Vt1π(x)}xX导出 { V t π ( x ) } x ∈ X \{V_t^{\pi}(x)\}_{x\in X} {Vtπ(x)}xX,即
V t π ( x ) = ∑ a ∈ A π ( x , a ) ∑ x ′ ∈ A P x → x ′ a ( 1 t R x → x ′ a + t − 1 t V t − 1 π ( x ′ ) ) \begin{align} V^{\pi}_t(x) & =\sum_{a\in A}\pi (x,a) \sum_{x'\in A}P^a_{x\rightarrow x'}\left(\frac{1}{t}R^a_{x\rightarrow x'}+\frac{t-1}{t}V^{\pi}_{t-1}(x')\right) \tag{16.22} \end{align} Vtπ(x)=aAπ(x,a)xAPxxa(t1Rxxa+tt1Vt1π(x))(16.22)
现在让下标 t t t递进变化地使用式(16.22):

(i) 初始化: { V 1 π ( x ) } x ∈ X \{V_1^{\pi}(x)\}_{x\in X} {V1π(x)}xX(针对每个状态,评估从它出发完成任务的成本来粗略定义奖赏,可以是负数).

(ii) 对所有 x ∈ X x\in X xX应用递推式(16.22)进行迭代,即产生序列:
V 1 π ( x ) ,   V 2 π ( x ) ,   V 3 π ( x ) ,   ⋯ V_1^{\pi}(x), \ V_2^{\pi}(x), \ V_3^{\pi}(x),\ \cdots V1π(x), V2π(x), V3π(x), 

(iii) 直至 { V T π ( x ) } x ∈ X \{V_T^{\pi}(x)\}_{x\in X} {VTπ(x)}xX终止,输出 { V T π ( x ) } x ∈ X \{V_T^{\pi}(x)\}_{x\in X} {VTπ(x)}xX

分别记 V t − 1 π V^{\pi}_{t-1} Vt1π V V V V t π V^{\pi}_{t} Vtπ V ′ V' V,上述过程整理成算法,即为【西瓜书图16.7】所示。

(2)基于 γ \gamma γ折扣累积奖赏的策略估值算法

我们引入迭代步记号 s s s
将式(16.16)视为运行一迭代步“ s → s + 1 s\rightarrow s+1 ss+1”,即将它调整为式(16.23)
V γ , s + 1 π ( x ) = ∑ a ∈ A π ( x , a ) ∑ x ′ ∈ A P x → x ′ a ( R x → x ′ a + γ V γ , s π ( x ′ ) ) \begin{align} V^{\pi}_{\gamma,s+1}(x) & =\sum_{a\in A}\pi (x,a) \sum_{x'\in A}P^a_{x\rightarrow x'}\left(R^a_{x\rightarrow x'}+\gamma V^{\pi}_{\gamma,s}(x')\right) \tag{16.23} \end{align} Vγ,s+1π(x)=aAπ(x,a)xAPxxa(Rxxa+γVγ,sπ(x))(16.23)

由式(16.23),可以从右边的 { V γ , s π ( x ′ ) } x ′ ∈ X \{V^{\pi}_{\gamma,s}(x')\}_{x'\in X} {Vγ,sπ(x)}xX导出左边的 { V γ , s + 1 π ( x ) } x ∈ X \{V^{\pi}_{\gamma,s+1}(x)\}_{x\in X} {Vγ,s+1π(x)}xX
由此有

(i) 初始化: { V γ , 1 π ( x ) } x ∈ X \{V^{\pi}_{\gamma,1}(x)\}_{x\in X} {Vγ,1π(x)}xX全为0(注意与“ T T T型”模型不同:(1)这里的 V γ , 1 π V^{\pi}_{\gamma,1} Vγ,1π仍是无限步,因 V γ , s π V^{\pi}_{\gamma,s} Vγ,sπ是无限步, V γ , 1 π V^{\pi}_{\gamma,1} Vγ,1π V γ , s π V^{\pi}_{\gamma,s} Vγ,sπ的尾巴,当然有无限长;(2)当 s s s很大时,由迭代式(16.23)知,相关项 γ s V γ , 1 π ( x ) \gamma^s V^{\pi}_{\gamma,1}(x) γsVγ,1π(x) V γ , s + 1 π ( x ) V^{\pi}_{\gamma,s+1}(x) Vγ,s+1π(x)影响很小,即在折扣 γ \gamma γ下,遥远未来的值折现几乎为0,故不妨直接设为0).

(ii) 对所有 x ∈ X x\in X xX应用递推式(16.23)进行迭代,依次得到
V γ , 1 π ( x ) ,   V γ , 2 π ( x ) ,   V γ , 3 π ( x ) ,   V γ , 4 π ( x ) ,   ⋯ V_{\gamma,1}^{\pi}(x), \ V_{\gamma,2}^{\pi}(x), \ V_{\gamma,3}^{\pi}(x), \ V_{\gamma,4}^{\pi}(x),\ \cdots Vγ,1π(x), Vγ,2π(x), Vγ,3π(x), Vγ,4π(x), 

(iii) 直至值的增长小于给定的阈值:
max ⁡ x ∈ X ∣ V γ , s + 1 π ( x ) − V γ , s π ( x ) ∣ < θ \mathop{\max}\limits_{x \in X}|V^{\pi}_{\gamma,s+1}(x)-V^{\pi}_{\gamma,s}(x)|<\theta xXmaxVγ,s+1π(x)Vγ,sπ(x)<θ
则终止算法,输出 { V γ , s + 1 π ( x ) } x ∈ X \{V^{\pi}_{\gamma,s+1}(x)\}_{x\in X} {Vγ,s+1π(x)}xX

即该算法框架符合【西瓜书图16.7】所示。

注意:对策略进行估值并不需要做蒙特卡罗试验,只需利用Bellman等式,依它的递归关系反复计算直至收敛即可。

另外,一种常见的错误思路:使用式(16.16)运行步进行“ x → x ′ x\rightarrow x' xx”迭代,即
V γ π ( x ) = ∑ a ∈ A π ( x , a ) ∑ x ′ ∈ A P x → x ′ a ( R x → x ′ a + γ (对 V γ π ( x ′ ) 运用式(16.16)) ) = ∑ a ∈ A π ( x , a ) ∑ x ′ ∈ A P x → x ′ a ( R x → x ′ a + γ ( ∑ a ∈ A π ( x ′ , a ) ∑ x ′ ′ ∈ A P x → x ′ ′ a ( R x → x ′ ′ a + γ V γ π ( x ′ ′ ) ) ) (对 V γ π ( x ′ ′ ) 运用式(16.16)) ) = ⋯ \begin{align} V^{\pi}_{\gamma}(x) & =\sum_{a\in A}\pi (x,a) \sum_{x'\in A}P^a_{x\rightarrow x'}(R^a_{x\rightarrow x'}+\gamma \text{(对$V^{\pi}_{\gamma}(x')$运用式(16.16))})\notag \\ & =\sum_{a\in A}\pi (x,a) \sum_{x'\in A}P^a_{x\rightarrow x'}(R^a_{x\rightarrow x'}+\gamma (\sum_{a\in A}\pi (x',a) \sum_{x''\in A}P^a_{x\rightarrow x''}(R^a_{x\rightarrow x''}+\gamma \notag \\ & \quad \quad \quad V^{\pi}_{\gamma}(x'')))\text{(对$V^{\pi}_{\gamma}(x'')$运用式(16.16))})\notag \\ & =\cdots \tag{16.24} \end{align} Vγπ(x)=aAπ(x,a)xAPxxa(Rxxa+γ(对Vγπ(x)运用式(16.16))=aAπ(x,a)xAPxxa(Rxxa+γ(aAπ(x,a)x′′APxx′′a(Rxx′′a+γVγπ(x′′)))(对Vγπ(x′′)运用式(16.16))=(16.24)

状态转移图中一定有环,假如“ x → x ′ → x ′ ′ → x x\rightarrow x'\rightarrow x''\rightarrow x xxx′′x”,这时,该式两边都出现了 V γ π ( x ) V^{\pi}_{\gamma}(x) Vγπ(x),因此,不能用运行步作为迭代步,必须另辟溪径。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:16.3 有模型迭代式的详细推导(并更正一些错误思路)
下一篇:16.5 策略改进(单调递增有界序列必收敛)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值