提示:
前述蒙特卡罗试验并没有限定轨线长度,现在把焦点放在最短轨线上:新增一步蒙特卡罗试验产生的长度为1的轨线。
由于取长度为1的蒙特卡罗试验轨线(单步),即可更新一次,不再需要计数变量
时序差分学习
对于均值【西瓜书式(16.1)】型,利用递推式【西瓜书式(16.2)】技巧可以高效地增量式地计算,体现在【西瓜书图16.4第11句、图16.5第7句、图16.10第6句、图16.11第7句】中,也可以利用递推式【西瓜书式(16.3)】计算,将其重写为下标为变量的形式
Q
t
+
1
=
Q
t
+
1
t
+
1
(
v
t
+
1
−
Q
t
)
\begin{align} Q_{t+1}=Q_t+\frac{1}{t+1}(v_{t+1}-Q_t) \tag{16.68} \end{align}
Qt+1=Qt+t+11(vt+1−Qt)(16.68)
其中,
t
=
0
,
1
,
2
,
⋯
,
n
−
1
t=0,1,2,\cdots,n-1
t=0,1,2,⋯,n−1,应用时需初始化
Q
0
Q_0
Q0。
现在,为求近似而简化式(16.68):以小常数
α
\alpha
α代替变数
1
t
+
1
\frac{1}{t+1}
t+11,得
Q
t
+
1
=
Q
t
+
α
(
v
t
+
1
−
Q
t
)
Q
t
+
1
=
(
1
−
α
)
Q
t
+
α
v
t
+
1
\begin{align} Q_{t+1}=Q_t+\alpha (v_{t+1}-Q_t) \tag{16.69} \\ Q_{t+1}=(1-\alpha)Q_t+\alpha v_{t+1} \tag{16.70} \end{align}
Qt+1=Qt+α(vt+1−Qt)Qt+1=(1−α)Qt+αvt+1(16.69)(16.70)
式(16.70)是差分形式,虽然是近似,但放到递推式中是合理的,因为,递推式本来就是通过近似式逐步逼近真值,而且往往不是一定找到真值,而是在指定的时间内找到可接受的值。
注:数列:
a
1
,
a
2
,
⋯
,
a
n
,
⋯
a_1,a_2,\cdots,a_n,\cdots
a1,a2,⋯,an,⋯,其一阶差分为:
a
2
−
a
1
,
a
3
−
a
2
,
⋯
,
a
n
−
a
n
−
1
,
…
a_2-a_1,a_3-a_2,\cdots,a_n-a_{n-1},\dots
a2−a1,a3−a2,⋯,an−an−1,…,一阶广义差分为:
a
2
−
d
a
1
,
a
3
−
d
a
2
,
⋯
,
a
n
−
d
a
n
−
1
,
…
a_2-da_1,a_3-da_2,\cdots,a_n-da_{n-1},\dots
a2−da1,a3−da2,⋯,an−dan−1,…,故数列
{
Q
t
+
1
−
(
1
−
α
)
Q
t
}
t
\{Q_{t+1}-(1-\alpha)Q_t\}_t
{Qt+1−(1−α)Qt}t为数列
{
Q
t
}
t
\{Q_t\}_t
{Qt}t的广义差分。
我们先做些准备。
(1)将【西瓜书式(16.1)】的一次求和,变为【西瓜书式(16.3)】的增量求和,下面我们将这种方法推广到更一般的情况。
Q
n
=
∑
i
=
1
n
P
i
v
i
=
P
n
v
n
+
∑
i
=
1
n
−
1
P
i
v
i
=
P
n
v
n
+
(
∑
i
=
1
n
−
1
P
i
)
∑
i
=
1
n
−
1
P
i
∑
i
=
1
n
−
1
P
i
v
i
=
P
n
v
n
+
(
1
−
P
n
)
∑
i
=
1
n
−
1
P
i
′
v
i
=
P
n
v
n
+
(
1
−
P
n
)
Q
n
−
1
=
Q
n
−
1
+
P
n
(
v
n
−
Q
n
−
1
)
\begin{align} Q_n & =\sum_{i=1}^nP_iv_i\tag{16.71} \\ & =P_nv_n+\sum_{i=1}^{n-1}P_iv_i\notag \\ & =P_nv_n+(\sum_{i=1}^{n-1}P_i)\sum_{i=1}^{n-1}\frac{P_i}{\sum_{i=1}^{n-1}P_i}v_i\notag \\ & =P_nv_n+(1-P_n)\sum_{i=1}^{n-1}P'_iv_i\notag \\ & =P_nv_n+(1-P_n)Q_{n-1}\notag \\ & =Q_{n-1}+P_n(v_n-Q_{n-1}) \tag{16.72} \end{align}
Qn=i=1∑nPivi=Pnvn+i=1∑n−1Pivi=Pnvn+(i=1∑n−1Pi)i=1∑n−1∑i=1n−1PiPivi=Pnvn+(1−Pn)i=1∑n−1Pi′vi=Pnvn+(1−Pn)Qn−1=Qn−1+Pn(vn−Qn−1)(16.71)(16.72)
其中,
∑
i
=
1
n
P
i
=
1
,
∑
i
=
1
n
−
1
P
i
′
=
1
,
p
i
′
=
P
i
∑
i
=
1
n
−
1
P
i
\sum_{i=1}^nP_i=1,\ \sum_{i=1}^{n-1}P'_i=1,\ p'_i=\frac{P_i}{\sum_{i=1}^{n-1}P_i}
∑i=1nPi=1, ∑i=1n−1Pi′=1, pi′=∑i=1n−1PiPi。
将式(16.72)中下标改为变量 t t t,让其从1到 n n n,由则该式可递推地计算出 Q n Q_n Qn,但每次计算使用了不同的 P t P_t Pt,现在,为简化以常数 α < 1 \alpha <1 α<1代替变数 P t P_t Pt,则同样有式(16.69)的递推式,即由式(16.71)可得式(16.69)。
式(16.71)中的
i
i
i是基于“类别”的(指求和中每一项是一类,该类的概率为
P
i
P_i
Pi),导致此时式(16.69)中的
t
t
t也是基于“类别”的。 然而,采样(蒙特卡罗试验)每次得到的是一个“样本”,所以,我们希望增量是以“样本”为单位而不是以“类别”为单位。 回顾2.2 如何选个好模型? ,类似于其中的式(2.ab),我们将
Q
Q
Q表述为
∑
i
=
1
n
P
i
v
i
=
1
m
∑
i
=
1
m
v
i
′
\begin{align} \sum_{i=1}^nP_iv_i =\frac{1}{m}\sum_{i=1}^mv'_i \tag{16.73} \end{align}
i=1∑nPivi=m1i=1∑mvi′(16.73)
其中,右侧为进行了
m
m
m次采样,得到的样本(值)依次为:
v
1
′
,
v
2
′
,
⋯
,
v
m
′
v'_1,v'_2,\cdots,v'_m
v1′,v2′,⋯,vm′。 注意左右边的区别:左边的
v
i
v_i
vi无重复,右边的
v
′
v'
v′有重复,左边有概率式,右边无概率式,其实右边是通过“重复”来体现概率(概率大的取到的样本多)。
记
Q
m
′
=
1
m
∑
i
=
1
m
v
i
′
\begin{align} Q'_m =\frac{1}{m}\sum_{i=1}^mv'_i \tag{16.74} \end{align}
Qm′=m1i=1∑mvi′(16.74)
这即为【西瓜书 (16.1)】型,式(16.69)变为
Q
=
∑
i
=
1
n
P
i
v
i
⇒
Q
t
+
1
′
=
Q
t
′
+
α
(
v
t
+
1
−
Q
t
′
)
\begin{align} Q=\sum_{i=1}^nP_iv_i\Rightarrow Q'_{t+1}=Q'_t+\alpha (v_{t+1}-Q'_t) \tag{16.75} \end{align}
Q=i=1∑nPivi⇒Qt+1′=Qt′+α(vt+1−Qt′)(16.75)
即对式(16.71)有基于每次采样的增量递推式(16.75),每采到一个样本
v
t
+
1
v_{t+1}
vt+1用一次该式更新。
(2)均匀分布与
ϵ
\epsilon
ϵ-贪心策略
E
v
≈
∑
i
=
1
n
P
i
v
i
\begin{align} \mathbb{E} v\approx \sum_{i=1}^nP_iv_i \tag{16.76} \end{align}
Ev≈i=1∑nPivi(16.76)
其中,
∑
i
=
1
n
P
i
=
1
\sum_{i=1}^nP_i=1
∑i=1nPi=1。
当概率为均匀分布且
P
′
P'
P′为其概率时
∑
i
=
1
n
P
i
v
i
=
∑
i
=
1
n
P
′
v
i
=
P
′
∑
i
=
1
n
v
i
\begin{align} \sum_{i=1}^nP_iv_i & = \sum_{i=1}^nP'v_i\notag \\ & =P'\sum_{i=1}^nv_i \tag{16.77} \end{align}
i=1∑nPivi=i=1∑nP′vi=P′i=1∑nvi(16.77)
受此启发,考察
{
P
i
}
i
=
1
n
\{P_i\}_{i=1}^n
{Pi}i=1n为某确定性策略的
ϵ
\epsilon
ϵ-贪心策略式(16.65),不妨设确定性策略为
π
=
(
1
,
0
,
0
,
⋯
,
0
)
\pi =(1,0,0,\cdots,0)
π=(1,0,0,⋯,0),则其
ϵ
\epsilon
ϵ-贪心策略为
π
ϵ
=
(
P
1
,
ϵ
∣
A
∣
,
ϵ
∣
A
∣
,
⋯
,
ϵ
∣
A
∣
)
\pi ^{\epsilon}=(P_1,\frac{\epsilon}{|A|},\frac{\epsilon}{|A|},\cdots,\frac{\epsilon}{|A|})
πϵ=(P1,∣A∣ϵ,∣A∣ϵ,⋯,∣A∣ϵ),它是一个很有特点的分布:只有一个点(为简便假设为第
1
1
1个点)概率很大(
P
1
=
1
−
ϵ
+
ϵ
∣
A
∣
>
1
−
ϵ
≈
1
P_1=1-\epsilon+\frac{\epsilon}{|A|}>1-\epsilon \approx 1
P1=1−ϵ+∣A∣ϵ>1−ϵ≈1),其余点的概率很小且是均匀分布的(
P
i
=
ϵ
∣
A
∣
,
i
=
2
,
3
,
⋯
,
n
P_i=\frac{\epsilon}{|A|},\ i=2,3,\cdots,n
Pi=∣A∣ϵ, i=2,3,⋯,n),
∑
i
=
1
n
P
i
v
i
=
P
1
v
1
+
∑
i
=
2
n
P
2
v
i
=
P
1
v
1
+
ϵ
∣
A
∣
∑
i
=
2
n
v
i
≈
P
1
v
1
≈
v
1
\begin{align} \sum_{i=1}^nP_iv_i & = P_1v_1+\sum_{i=2}^nP_2v_i\notag \\ & = P_1v_1+\frac{\epsilon}{|A|}\sum_{i=2}^nv_i \tag{16.78} \\ & \approx P_1 v_1 \tag{16.79} \\ & \approx v_1 \tag{16.80} \end{align}
i=1∑nPivi=P1v1+i=2∑nP2vi=P1v1+∣A∣ϵi=2∑nvi≈P1v1≈v1(16.78)(16.79)(16.80)
其中,
v
1
v_1
v1为概率最大处的
v
v
v值,式(16.78)、式(16.79)、式(16.80)为逐步不精确,供因需选择。
而确定性策略
π
=
(
1
,
0
,
0
,
⋯
,
0
)
\pi =(1,0,0,\cdots,0)
π=(1,0,0,⋯,0)有
∑
i
=
1
n
P
i
v
i
=
1
×
v
1
+
∑
i
=
2
n
0
×
v
i
=
v
1
\begin{align} \sum_{i=1}^nP_iv_i & = 1\times v_1+\sum_{i=2}^n0\times v_i\notag \\ & = v_1 \tag{16.81} \end{align}
i=1∑nPivi=1×v1+i=2∑n0×vi=v1(16.81)
由式(16.80)、式(16.81)知,计算
∑
i
=
1
n
P
i
v
i
\sum_{i=1}^nP_iv_i
∑i=1nPivi时,在近似意义下,计算期望时,用确定性策略与用该确定性策略的
ϵ
\epsilon
ϵ-贪心策略几乎是等效的(1、这种等效是概率意义下的等效,即做一次蒙特卡罗试验,很大概率二者相等;2、在实践中,我们在寻找最优策略时通常是这样使用该等效性:在公式推导时使用确定性策略
π
\pi
π,在算法中的蒙特卡罗试验时采用对应的
ϵ
\epsilon
ϵ-贪心策略
π
ϵ
\pi ^{\epsilon }
πϵ),即
π
为确定性策略
⇒
E
π
ϵ
v
(
x
,
a
)
=
E
π
v
(
x
,
a
)
=
v
(
x
,
a
′
)
\begin{align} \text{$\pi$为确定性策略}\Rightarrow \mathbb{E} _{\pi ^{\epsilon }}v(x,a)=\mathbb{E} _\pi v(x,a)= v(x,a') \tag{16.82} \end{align}
π为确定性策略⇒Eπϵv(x,a)=Eπv(x,a)=v(x,a′)(16.82)
有了上述准备,现在考虑“ γ \gamma γ型”累积奖赏的递推式。
考察一步蒙特卡罗试验,将16.3 有模型迭代式的详细推导图 16.6 变为图 16.12 ,该蒙特卡罗试验得到长度为1的轨线:起点为
(
x
,
a
)
(x,a)
(x,a),由概率
P
x
→
x
t
+
1
a
P^a_{x \to x_{t+1}}
Px→xt+1a获得
x
t
+
1
x_{t+1}
xt+1,再由确定性策略
π
{\pi}
π获得
a
t
+
1
a_{t+1}
at+1。
Q
π
(
x
,
a
)
=
∑
x
′
∈
X
P
x
→
x
′
a
(
R
x
→
x
′
a
+
γ
V
π
(
x
′
)
)
(由【西瓜书式(16.10)】)
=
∑
x
′
∈
X
P
x
→
x
′
a
(
R
x
→
x
′
a
+
γ
∑
a
∈
A
π
(
x
′
,
a
)
Q
π
(
x
′
,
a
)
)
(由式(16.17))
=
∑
x
′
∈
X
P
x
→
x
′
a
(
R
x
→
x
′
a
+
γ
Q
π
(
x
′
,
a
′
)
)
\begin{align} Q^{\pi}(x,a) & =\sum_{x'\in X}P^a_{x \to x'}(R^a_{x \to x'}+\gamma V^{\pi}(x'))\quad \text{(由【西瓜书式(16.10)】)}\notag \\ & =\sum_{x'\in X}P^a_{x \to x'}(R^a_{x \to x'}+\gamma \sum_{a\in A}\pi (x',a) Q^{\pi}(x',a))\quad \text{(由式(16.17))}\notag \\ & = \sum_{x'\in X}P^a_{x \to x'}(R^a_{x \to x'}+\gamma Q^{\pi}(x',a')) \tag{16.83} \end{align}
Qπ(x,a)=x′∈X∑Px→x′a(Rx→x′a+γVπ(x′))(由【西瓜书式(16.10)】)=x′∈X∑Px→x′a(Rx→x′a+γa∈A∑π(x′,a)Qπ(x′,a))(由式(16.17))=x′∈X∑Px→x′a(Rx→x′a+γQπ(x′,a′))(16.83)
其中,
π
\pi
π为确定性策略式(16.63),
a
′
a'
a′为
π
\pi
π在点
x
′
x'
x′处选取的动作。
设状态有限,对状态进行编号,即
X
=
{
x
1
,
x
2
,
⋯
,
x
n
}
X=\{x_1,x_2,\cdots,x_n\}
X={x1,x2,⋯,xn},则式(16.83)可改写为
Q
π
(
x
,
a
)
=
∑
i
=
1
n
P
x
→
x
i
a
(
R
x
→
x
i
a
+
γ
Q
π
(
x
i
,
a
i
)
)
\begin{align} Q^{\pi}(x,a) & = \sum_{i=1}^nP^a_{x \to x_i}(R^a_{x \to x_i}+\gamma Q^{\pi}(x_i,a_i)) \tag{16.84} \end{align}
Qπ(x,a)=i=1∑nPx→xia(Rx→xia+γQπ(xi,ai))(16.84)
其中,
x
,
a
,
π
x,a,\pi
x,a,π为常量(在本式计算时),
a
i
a_i
ai为确定性策略
π
\pi
π在点
x
i
x_i
xi处选取的动作。
令
P
i
=
P
x
→
x
i
a
,
v
i
=
(
R
x
→
x
i
a
+
γ
Q
π
(
x
i
,
a
i
)
)
P_i=P^a_{x \to x_i},\ v_i=(R^a_{x \to x_i}+\gamma Q^{\pi}(x_i,a_i))
Pi=Px→xia, vi=(Rx→xia+γQπ(xi,ai)),则式(16.84)即为式(16.71),这时,对应的式(16.75)变为
Q
t
+
1
π
(
x
,
a
)
=
Q
t
π
(
x
,
a
)
+
α
(
R
x
→
x
t
+
1
a
+
γ
Q
π
(
x
t
+
1
,
a
t
+
1
)
−
Q
t
π
(
x
,
a
)
)
\begin{align} Q^{\pi}_{t+1}(x,a)=Q^{\pi}_t(x,a)+\alpha (R^a_{x \to x_{t+1}}+\gamma Q^{\pi}(x_{t+1},a_{t+1})-Q^{\pi}_t(x,a)) \tag{16.85} \end{align}
Qt+1π(x,a)=Qtπ(x,a)+α(Rx→xt+1a+γQπ(xt+1,at+1)−Qtπ(x,a))(16.85)
式(16.85)为已知
Q
π
(
x
t
+
1
,
a
t
+
1
)
Q^{\pi}(x_{t+1},a_{t+1})
Qπ(xt+1,at+1)时的递推式,当然,这个要求不合理,故需再近似一下,即以其当前值
Q
t
π
(
x
t
+
1
,
a
t
+
1
)
Q^{\pi}_t(x_{t+1},a_{t+1})
Qtπ(xt+1,at+1)作为替代,进而得递推式(16.86)。
将式(16.85)右侧的
Q
Q
Q修改为
Q
t
Q_t
Qt,
x
→
x
t
+
1
{x \to x_{t+1}}
x→xt+1修改为
x
→
x
′
{x \to x'}
x→x′,则成为递推式:
Q
t
+
1
π
(
x
,
a
)
=
Q
t
π
(
x
,
a
)
+
α
(
R
x
→
x
′
a
+
γ
Q
t
π
(
x
′
,
a
′
)
−
Q
t
π
(
x
,
a
)
)
\begin{align} Q^{\pi}_{t+1}(x,a)=Q^{\pi}_t(x,a)+\alpha (R^a_{x \to x'}+\gamma Q^{\pi}_t(x',a')-Q^{\pi}_t(x,a)) \tag{16.86} \end{align}
Qt+1π(x,a)=Qtπ(x,a)+α(Rx→x′a+γQtπ(x′,a′)−Qtπ(x,a))(16.86)
其中,
(
(
x
,
a
)
→
(
x
′
,
a
′
)
)
((x,a) \to (x',a'))
((x,a)→(x′,a′))为新增的一步蒙特卡罗试验产生的长度为1的轨线(参见图 16.12 中的描述),
Q
t
π
Q^{\pi}_t
Qtπ为
Q
π
Q^{\pi}
Qπ的当前值,
Q
t
+
1
π
Q^{\pi}_{t+1}
Qt+1π为增加一条新轨线后的更新值。 递推式产生的值序列
{
Q
t
π
}
t
=
1
m
\{Q^{\pi}_t\}_{t=1}^m
{Qtπ}t=1m逐步逼近
Q
π
Q^{\pi}
Qπ,只要该蒙特卡罗试验的次数
m
m
m足够多,则
Q
π
≈
Q
m
π
Q^{\pi}\approx Q^{\pi}_m
Qπ≈Qmπ。 这即为【西瓜书式(16.31)】。
根据式(16.86)【西瓜书式(16.31)】就可以改造前述蒙特卡罗强化学习算法,观察式(16.86),执行步只有一步(
x
→
x
′
x\to x'
x→x′),即,取长度为1的蒙特卡罗试验轨线(单步),即可更新一次,不再需要计数变量
c
o
u
n
t
(
k
)
\mathrm{count}(k)
count(k)。
注:若将一步的两个阶段视为两个半步,则这里的单步轨线实际是考虑一步半(从
x
x
x到
a
′
a'
a′的三个半步),第三个半步会被下个单步覆盖(Sara算法中)或丢弃(Q-学习算法中)。
而转移概率
P
P
P和决策概率
π
\pi
π在试验时用于采样,在递推式中并不显式地体现,这样就大为简化了算法。 基于式(16.82)描述的等效性,可采用确定性策略
π
{\pi}
π或确定性策略
π
{\pi}
π的
ϵ
{\epsilon }
ϵ-贪心策略
π
ϵ
{\pi}^{\epsilon }
πϵ进行采样。
注:用
π
ϵ
{\pi}^{\epsilon }
πϵ的好处是增加了随机性,“合理地增加随机性”是机器学习中常用的技巧。
(1)设轨线为
[
x
⟶
π
ϵ
a
⟶
P
x
→
x
′
a
x
′
⟶
π
ϵ
a
′
]
\left[x\mathop{\longrightarrow }\limits_{\pi ^{\epsilon }}a\mathop{\longrightarrow }\limits_{P^a_{x\to x'}}x'\mathop{\longrightarrow }\limits_{\pi ^{\epsilon }}a'\right]
[xπϵ⟶aPx→x′a⟶x′πϵ⟶a′]
即为Sara算法【西瓜书图16.12】:
1.初始化: { Q ( x , a ) = 0 } X × A \{Q(x,a)=0\}_{X\times A} {Q(x,a)=0}X×A及确定开始的“前半步” ( x → a ) (x\to a) (x→a),第1-2句。
2.从点 ( x , a ) (x,a) (x,a)依概率 P x → x ′ a P^a_{x\to x'} Px→x′a采样产生点 ( x ′ ) (x') (x′),第4句,其中,先前已执行 a = π ϵ ( x ) a=\pi ^{\epsilon }(x) a=πϵ(x)从点 ( x ) (x) (x)到点 ( x , a ) (x,a) (x,a)(由上一轮循环的第5和第8句间接地知道)。
3.取 a ′ = π ϵ ( x ′ ) a'=\pi ^{\epsilon }(x') a′=πϵ(x′)而获得终点 ( x ′ , a ′ ) (x',a') (x′,a′),第5句。
4.将点 ( x , a ) (x,a) (x,a)和点 ( x ′ , a ′ ) (x',a') (x′,a′)中已有的 Q Q Q值视为迭代步 t t t时的值,即已知 Q t ( x , a ) , Q t ( x ′ , a ′ ) Q_t(x,a),Q_t(x',a') Qt(x,a),Qt(x′,a′)。
进行策略评估更新:由式(16.86)【西瓜书式(16.31)】求 Q t + 1 ( x , a ) Q_{t+1}(x,a) Qt+1(x,a),即更新 Q ( x , a ) Q(x,a) Q(x,a),第6句。
5.改进策略: π ( x ) = arg max a ′ ′ ∈ A Q ( x , a ′ ′ ) \pi (x)=\mathop{\arg\max}\limits_{a''\in A}Q(x,a'') π(x)=a′′∈AargmaxQ(x,a′′),第7句。
6.前进:更新“前半步” ( x → a ) (x\to a) (x→a),即 x : = x ′ , a : = a ′ x:=x',a:=a' x:=x′,a:=a′(覆盖已有的 x ′ → a ′ x'\to a' x′→a′),第8句。
7.回到2.继续循环(第3-9句),直至结束条件满足。
其中,第8句是希望这些单步能连接起来形成轨线,有的还在外面再套一层循环以示多条轨线。 其实,没有这个必要,可以改为随机选择起点。
(2)设轨线为
[
x
⟶
π
ϵ
a
⟶
P
x
→
x
′
a
x
′
⟶
π
a
′
]
\left[x\mathop{\longrightarrow }\limits_{\pi ^{\epsilon }}a\mathop{\longrightarrow }\limits_{P^a_{x\to x'}}x'\mathop{\longrightarrow }\limits_{\pi }a'\right]
[xπϵ⟶aPx→x′a⟶x′π⟶a′]
即为Q-学习算法【西瓜书图16.13】:
1.初始化: { Q ( x , a ) = 0 } X × A \{Q(x,a)=0\}_{X\times A} {Q(x,a)=0}X×A及确定起点 x x x,第1-2句。
2.在起点 x x x处执行 a = π ϵ ( x ) a=\pi ^{\epsilon }(x) a=πϵ(x),再依概率 P x → x ′ a P^a_{x\to x'} Px→x′a采样产生点 ( x ′ ) (x') (x′),第4句。
3.取 a ′ = π ( x ′ ) a'=\pi (x') a′=π(x′)而获得终点 ( x ′ , a ′ ) (x',a') (x′,a′),第5句。
4.将点 ( x , a ) (x,a) (x,a)和点 ( x ′ , a ′ ) (x',a') (x′,a′)中已有的 Q Q Q值视为迭代步 t t t时的值,即已知 Q t ( x , a ) , Q t ( x ′ , a ′ ) Q_t(x,a),Q_t(x',a') Qt(x,a),Qt(x′,a′)。
进行策略评估更新:由式(16.86)【西瓜书式(16.31)】求 Q t + 1 ( x , a ) Q_{t+1}(x,a) Qt+1(x,a),即更新 Q ( x , a ) Q(x,a) Q(x,a),第6句。
5.改进策略: π ( x ) = arg max a ′ ′ ∈ A Q ( x , a ′ ′ ) \pi (x)=\mathop{\arg\max}\limits_{a''\in A}Q(x,a'') π(x)=a′′∈AargmaxQ(x,a′′),第7句。
6.更新起点为 x ′ x' x′,即 x : = x ′ x:=x' x:=x′(丢弃已有的 x ′ → a ′ x'\to a' x′→a′),第8句。
7.回到2.继续循环(第3-9句),直至结束条件满足。
观察两算法的轨线中的策略,Sara算法中采样时涉及一个策略:
a
′
=
π
ϵ
(
x
′
)
a'=\pi ^{\epsilon }(x')
a′=πϵ(x′)(本轮循环中的采样)和
a
=
a
′
a=a'
a=a′(使用上一轮的采样),故为同策略算法;
Q-学习算法中涉及两个策略:
a
=
π
ϵ
(
x
)
a=\pi ^{\epsilon }(x)
a=πϵ(x)和
a
′
=
π
(
x
′
)
a'=\pi (x')
a′=π(x′),故为异策略算法。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:16.8 异策略蒙特卡罗强化学习算法(换分布)
下一篇:16.10 值函数近似