已知策略,计算执行该策略获得的(平均)奖赏,即是策略估值,本篇利用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
(T−1)→T),可以从右边的
{
V
T
−
1
π
(
x
′
)
}
x
′
∈
X
\{V^{\pi}_{T-1}(x')\}_{x'\in X}
{VT−1π(x′)}x′∈X导出左边的
{
V
T
π
(
x
)
}
x
∈
X
\{V_T^{\pi}(x)\}_{x\in X}
{VTπ(x)}x∈X,调整一下下标字母,即从
{
V
t
−
1
π
(
x
)
}
x
∈
X
\{V^{\pi}_{t-1}(x)\}_{x\in X}
{Vt−1π(x)}x∈X导出
{
V
t
π
(
x
)
}
x
∈
X
\{V_t^{\pi}(x)\}_{x\in X}
{Vtπ(x)}x∈X,即
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)=a∈A∑π(x,a)x′∈A∑Px→x′a(t1Rx→x′a+tt−1Vt−1π(x′))(16.22)
现在让下标
t
t
t递进变化地使用式(16.22):
(i) 初始化: { V 1 π ( x ) } x ∈ X \{V_1^{\pi}(x)\}_{x\in X} {V1π(x)}x∈X(针对每个状态,评估从它出发完成任务的成本来粗略定义奖赏,可以是负数).
(ii) 对所有
x
∈
X
x\in X
x∈X应用递推式(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)}x∈X终止,输出 { V T π ( x ) } x ∈ X \{V_T^{\pi}(x)\}_{x\in X} {VTπ(x)}x∈X。
分别记 V t − 1 π V^{\pi}_{t-1} Vt−1π为 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
s→s+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)=a∈A∑π(x,a)x′∈A∑Px→x′a(Rx→x′a+γVγ,sπ(x′))(16.23)
由式(16.23),可以从右边的
{
V
γ
,
s
π
(
x
′
)
}
x
′
∈
X
\{V^{\pi}_{\gamma,s}(x')\}_{x'\in X}
{Vγ,sπ(x′)}x′∈X导出左边的
{
V
γ
,
s
+
1
π
(
x
)
}
x
∈
X
\{V^{\pi}_{\gamma,s+1}(x)\}_{x\in X}
{Vγ,s+1π(x)}x∈X,
由此有
(i) 初始化: { V γ , 1 π ( x ) } x ∈ X \{V^{\pi}_{\gamma,1}(x)\}_{x\in X} {Vγ,1π(x)}x∈X全为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
x∈X应用递推式(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
x∈Xmax∣Vγ,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)}x∈X。
即该算法框架符合【西瓜书图16.7】所示。
注意:对策略进行估值并不需要做蒙特卡罗试验,只需利用Bellman等式,依它的递归关系反复计算直至收敛即可。
另外,一种常见的错误思路:使用式(16.16)运行步进行“
x
→
x
′
x\rightarrow x'
x→x′”迭代,即
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)=a∈A∑π(x,a)x′∈A∑Px→x′a(Rx→x′a+γ(对Vγπ(x′)运用式(16.16)))=a∈A∑π(x,a)x′∈A∑Px→x′a(Rx→x′a+γ(a∈A∑π(x′,a)x′′∈A∑Px→x′′a(Rx→x′′a+γVγπ(x′′)))(对Vγπ(x′′)运用式(16.16)))=⋯(16.24)
状态转移图中一定有环,假如“ x → x ′ → x ′ ′ → x x\rightarrow x'\rightarrow x''\rightarrow x x→x′→x′′→x”,这时,该式两边都出现了 V γ π ( x ) V^{\pi}_{\gamma}(x) Vγπ(x),因此,不能用运行步作为迭代步,必须另辟溪径。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权