Note 12 数值时序差分学习 Numerical TD Learning
数值时序差分学习
正如前两章所讨论的,TD学习是一种理论上很合理的基于抽样的算法机制,以解决模型的诅咒问题。在LFA设置下,DP的一个常见做法是采用策略迭代的框架来获得一个最优策略。也就是说,采用LFA的TD算法评估给定策略的总成本,然后采取策略改进步骤,完成基于抽样的PI框架的一次扫描。
12.1 Off-policy学习简述
基于抽样的PI算法与LFA的一个明显风险是,它可能根本无法收敛,或者无法迅速收敛到有用的范围。因此,RL的一个实际需求是通过遵循一个给定的策略来利用采样交互,以评估一个新策略的总成本,这可能无法被评估。这样的任务被称为Off-policy性学习。更具体地说,给定一个 MDP ( X , U , g , p , γ ) \operatorname{MDP}(\mathcal{X}, \mathcal{U}, g, p, \gamma) MDP(X,U,g,p,γ)和一个所谓的行为策略 π b \pi_{b} πb,Off-policy学习的任务是评估另一个策略 π t \pi_{t} πt的总成本,被称为目标策略。作为off-policy学习的对应,所谓on-policy学习是指估计策略的总成本函数,生成样本的RL算法。
[强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例]
…确保所有动作被无限频繁地选择的唯一一般方法是让智能体继续选择它们。有两种方法可以确保这一点,由此产生了我们所说的 on-policy(有些文章翻译成"同策") 方法和 off-policy(“异策”) 方法,在之后还是使用其原来的英语名称,即"on-policy"与"off-policy"。on-policy方法试图评估或改进用于决策的策略,而off-policy方法评估或改进与用于生成数据策略的不同…
…On-policy 的目标策略和行为策略是同一个策略,其好处就是简单粗暴,直接利用数据就可以优化其策略,但这样的处理会导致策略其实是在学习一个局部最优,因为On-policy的策略没办法很好的同时保持即探索又利用;而Off-policy将目标策略 π t \pi_{t} πt和行为策略 π b \pi_{b} πb分开,可以在保持探索的同时,更能求到全局最优值…
让我们回顾一下公式(3.4)中策略的总成本函数的定义。很明显,off-policy 学习可以被认为是一个分布不匹配的问题。也就是说,需要从目标策略 π t \pi_{t} πt的分布中采样相关的交互,并且从行为策略 π b \pi_{b} πb的分布中提取可用的轨迹。重要性抽样(importance sampling) 是处理分布不匹配的常规手段。让我们考虑通过从另一个分布 μ ′ \mu^{\prime} μ′中抽取的样本来估计按照 μ \mu μ分布的随机变量 x x x的期望值的任务。如果 μ ′ ( x ) > 0 \mu^{\prime}(x)>0 μ′(x)>0对于所有 x x x,很容易看出
E x ∼ μ [ x ] = ∫ X x μ ( x ) d x = ∫ X x μ ( x ) μ ′ ( x ) μ ′ ( x ) d x = E x ∼ μ ′ [ μ ( x ) μ ′ ( x ) x ] (12.1) \begin{aligned} \underset{x \sim \mu}{\mathbb{E}}[x] &=\int_{\mathcal{X}} x \mu(x) d x \\ &=\int_{\mathcal{X}} x \frac{\mu(x)}{\mu^{\prime}(x)} \mu^{\prime}(x) d x \\ &=\underset{x \sim \mu^{\prime}}{\mathbb{E}}\left[\frac{\mu(x)}{\mu^{\prime}(x)} x\right] \end{aligned} \tag{12.1} x∼μE[x]=∫Xxμ(x)dx=∫Xxμ′(x)μ(x)μ′(x)dx=x∼μ′E[μ′(x)μ(x)x](12.1)
让我们把两个密度函数的比值表示为
ψ
(
x
)
=
μ
(
x
)
μ
′
(
x
)
(12.2)
\psi(x)=\frac{\mu(x)}{\mu^{\prime}(x)} \tag{12.2}
ψ(x)=μ′(x)μ(x)(12.2)
对随机变量
x
x
x的期望值可以用经验平均数近似为
E
x
∼
μ
[
x
]
≈
1
N
∑
i
=
1
N
ψ
(
x
i
)
x
i
(12.3)
\underset{x \sim \mu}{\mathbb{E}}[x] \approx \frac{1}{N} \sum_{i=1}^{N} \psi\left(x_{i}\right) x_{i} \tag{12.3}
x∼μE[x]≈N1i=1∑Nψ(xi)xi(12.3)
显然,对于一个具有目标策略
π
t
\pi_{t}
πt和行为策略
π
b
\pi_{b}
πb的特定MDP,采用重要性抽样要求行为策略
π
b
\pi_{b}
πb具有与目标策略相同的行动覆盖率。稍微滥用一下符号,如果我们将策略视为条件分布
π
t
(
u
∣
x
)
\pi_{t}(u \mid x)
πt(u∣x) 与
π
b
(
u
∣
x
)
\pi_{b}(u \mid x)
πb(u∣x),我们表示
ψ
(
x
,
u
)
=
π
t
(
u
∣
x
)
π
b
(
u
∣
x
)
(12.4)
\psi(x, u)=\frac{\pi_{t}(u \mid x)}{\pi_{b}(u \mid x)} \tag{12.4}
ψ(x,u)=πb(u∣x)πt(u∣x)(12.4)
然后,我们可以使用重要性抽样对目标策略的总成本函数进行近似,如下所示
J π t ( x ) = E p π b ( x ′ ∣ x ) [ ψ ( x , u ) ( g ( x , π b ( x ) , x ′ ) + γ J π b ( x ′ ) ) ] ≈ 1 N ∑ i = 1 N ψ ( x , u ) ( g ( x , π b ( x ) , x ′ ) + γ J π b ( x ′ ) ) (12.5) \begin{aligned} J^{\pi_{t}}(x) &=\mathbb{E}_{p_{\pi_{b}}\left(x^{\prime} \mid x\right)}\left[\psi(x, u)\left(g\left(x, \pi_{b}(x), x^{\prime}\right)+\gamma J^{\pi_{b}}\left(x^{\prime}\right)\right)\right] \\ & \approx \frac{1}{N} \sum_{i=1}^{N} \psi(x, u)\left(g\left(x, \pi_{b}(x), x^{\prime}\right)+\gamma J^{\pi_{b}}\left(x^{\prime}\right)\right) \end{aligned} \tag{12.5} Jπt(x)=Epπb(x′∣x)[ψ(x,u)(g(x,πb(x),x′)+γJπb(x′))]≈N1i=1∑Nψ(x,u)(g(x,πb(x),x′)+γJπb(x′))(12.5)
通过遵循TD学习的相同的推导方法,一个off-policy 的TD ( 0 ) (0) (0)算法被赋予以下更新规则
J k + 1 ( x ) = J k ( x ) + α k ψ ( x , u ) ( g ( x , u , x ′ ) + γ J k ( x ′ ) − J k ( x ) ) (12.6) J_{k+1}(x)=J_{k}(x)+\alpha_{k} \psi(x, u)\left(g\left(x, u, x^{\prime}\right)+\gamma J_{k}\left(x^{\prime}\right)-J_{k}(x)\right) \tag{12.6} Jk+1(x)=Jk(x)+αkψ(x,u)(g(x,u,x′)+γJk(x′)−Jk(x))(12.6)
尽管off-policy TD的发展遵循与原始TD算法完全相同的理念,但据观察,off-policy TD的实际用途相当有限。特别是,off-policy 的TD算法经常不能收敛。这种现象通常被称为致命的三要素,即函数逼近(function approximation)、自举(bootstrapping)和off-policy 学习。
一个真正的随机梯度下降算法最小化off-policy MSPBE是打破致命三部曲的第一次成功尝试。对于一个给定的具有目标策略 π t \pi_{t} πt和行为策略 π b \pi_{b} πb的遍历MDP,我们用 ξ t \xi_{t} ξt和 ξ b \xi_{b} ξb分别表示 π t \pi_{t} πt和 π b \pi_{b} πb的稳定状态分布。那么,off-policy MSPBE函数定义为
f t ( h ) = ∥ Π π t T π t Φ ⊤ h − Φ ⊤ h ∥ ξ t 2 , (12.7) f_{t}(h)=\left\|\Pi_{\pi_{t}} \mathrm{~T}_{\pi_{t}} \Phi^{\top} h-\Phi^{\top} h\right\|_{\xi_{t}}^{2}, \tag{12.7} ft(h)=∥∥Ππt TπtΦ⊤h−Φ⊤h∥∥ξt2,(12.7)
其中 Ξ t = Ξ b Ψ \Xi_{t}=\Xi_{b} \Psi Ξt=ΞbΨ, Ψ = diag ( ψ ( x 1 ) , … , ψ ( x K ) ) \Psi=\operatorname{diag}\left(\psi\left(x_{1}\right), \ldots, \psi\left(x_{K}\right)\right) Ψ=diag(ψ(x1),…,ψ(xK)),正交投影仪 Π π t \Pi_{\pi_{t}} Ππt可以表示如下
Π π t = Φ ⊤ ( Φ Ξ t Φ ⊤ ) − 1 Φ Ξ t = Φ ⊤ ( Φ Ξ b Ψ Φ ⊤ ) − 1 Φ Ξ b Ψ (12.8) \begin{aligned} \Pi_{\pi_{t}} &=\Phi^{\top}\left(\Phi \Xi_{t} \Phi^{\top}\right)^{-1} \Phi \Xi_{t} \\ &=\Phi^{\top}\left(\Phi \Xi_{b} \Psi \Phi^{\top}\right)^{-1} \Phi \Xi_{b} \Psi \end{aligned} \tag{12.8} Ππt=Φ⊤(ΦΞtΦ⊤)−1ΦΞt=Φ⊤(ΦΞbΨΦ⊤)−1ΦΞbΨ(12.8)
为了简单起见,我们推导出最小化原始策略上MSPBE函数的GTD算法。
12.2 梯度TD学习(Gradient TD Learning)
定义
δ
(
h
)
:
=
T
π
Φ
⊤
h
−
Φ
⊤
h
\delta(h):=\mathrm{T}_{\pi} \Phi^{\top} h-\Phi^{\top} h
δ(h):=TπΦ⊤h−Φ⊤h。 然后我们可以将 on-policy MSPBE函数改写如下
∥
Π
π
T
π
Φ
⊤
h
−
Φ
⊤
h
∥
ξ
=
(
δ
(
h
)
)
⊤
Π
π
Ξ
Π
π
δ
(
h
)
=
(
δ
(
h
)
)
⊤
Ξ
Φ
⊤
(
Φ
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
(12.9)
\begin{aligned} \left\|\Pi_{\pi} \mathrm{T}_{\pi} \Phi^{\top} h-\Phi^{\top} h\right\|_{\xi} &=(\delta(h))^{\top} \Pi_{\pi} \Xi \Pi_{\pi} \delta(h) \\ &=(\delta(h))^{\top} \Xi \Phi^{\top}\left(\Phi \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h) \end{aligned} \tag{12.9}
∥∥ΠπTπΦ⊤h−Φ⊤h∥∥ξ=(δ(h))⊤ΠπΞΠπδ(h)=(δ(h))⊤ΞΦ⊤(ΦΞΦ⊤)−1ΦΞδ(h)(12.9)
MSPBE函数的欧几里得梯度为
∇
f
t
(
h
)
=
(
∇
δ
(
h
)
)
⊤
Ξ
Φ
⊤
(
Φ
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
=
(
γ
P
π
Φ
⊤
−
Φ
⊤
)
⊤
Ξ
Φ
⊤
(
Φ
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
=
γ
Φ
P
π
⊤
Ξ
Φ
⊤
(
Φ
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
−
Φ
Ξ
δ
(
h
)
(12.10)
\begin{aligned} \nabla_{f_{t}}(h) &=\left(\nabla_{\delta}(h)\right)^{\top} \Xi \Phi^{\top}\left(\Phi \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h) \\ &=\left(\gamma P_{\pi} \Phi^{\top}-\Phi^{\top}\right)^{\top} \Xi \Phi^{\top}\left(\Phi \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h) \\ &=\gamma \Phi P_{\pi}^{\top} \Xi \Phi^{\top}\left(\Phi \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h)-\Phi \Xi \delta(h) \end{aligned} \tag{12.10}
∇ft(h)=(∇δ(h))⊤ΞΦ⊤(ΦΞΦ⊤)−1ΦΞδ(h)=(γPπΦ⊤−Φ⊤)⊤ΞΦ⊤(ΦΞΦ⊤)−1ΦΞδ(h)=γΦPπ⊤ΞΦ⊤(ΦΞΦ⊤)−1ΦΞδ(h)−ΦΞδ(h)(12.10)
由于MSPBE函数是强凸的,因此只有一个全局最小值,它满足临界点条件,即
∇
f
t
(
h
)
=
0
\nabla_{f_{t}}(h)=0
∇ft(h)=0。 等价地,全局最小值被描述为以下方程在
h
h
h中的唯一解
(
γ
Φ
P
π
⊤
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
=
(
Φ
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
(12.11)
\left(\gamma \Phi P_{\pi}^{\top} \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h)=\left(\Phi \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h) \tag{12.11}
(γΦPπ⊤ΞΦ⊤)−1ΦΞδ(h)=(ΦΞΦ⊤)−1ΦΞδ(h)(12.11)
显然,由于要计算
Φ
P
π
⊤
Ξ
Φ
⊤
\Phi P_{\pi}^{\top} \Xi \Phi^{\top}
ΦPπ⊤ΞΦ⊤ 与
Φ
Ξ
Φ
⊤
\Phi \Xi \Phi^{\top}
ΦΞΦ⊤的倒数,随机逼近的经典技巧在此失效。为了缓解这一困难,我们引入一个辅助变量
ω
\omega
ω作为
ω
:
=
(
γ
Φ
P
π
⊤
Ξ
Φ
⊤
)
−
1
Φ
Ξ
δ
(
h
)
(12.12)
\omega:=\left(\gamma \Phi P_{\pi}^{\top} \Xi \Phi^{\top}\right)^{-1} \Phi \Xi \delta(h) \tag{12.12}
ω:=(γΦPπ⊤ΞΦ⊤)−1ΦΞδ(h)(12.12)
直接的有
Φ
Ξ
δ
(
h
)
=
γ
Φ
P
π
⊤
Ξ
Φ
⊤
ω
=
Φ
Ξ
Φ
⊤
ω
.
(12.13)
\Phi \Xi \delta(h)=\gamma \Phi P_{\pi}^{\top} \Xi \Phi^{\top} \omega=\Phi \Xi \Phi^{\top} \omega . \tag{12.13}
ΦΞδ(h)=γΦPπ⊤ΞΦ⊤ω=ΦΞΦ⊤ω.(12.13)
然后我们可以构建一个方程组为
{
Φ
Ξ
δ
(
h
)
−
γ
Φ
P
π
⊤
Ξ
Φ
⊤
ω
=
0
Φ
Ξ
δ
(
h
)
−
Φ
Ξ
Φ
⊤
ω
=
0
(12.14)
\left\{\begin{array}{lll} \Phi \Xi \delta(h)-\gamma \Phi P_{\pi}^{\top} \Xi \Phi^{\top} \omega & = & 0 \\ \Phi \Xi \delta(h)-\Phi \Xi \Phi^{\top} \omega & = & 0 \end{array}\right. \tag{12.14}
{ΦΞδ(h)−γΦPπ⊤ΞΦ⊤ωΦΞδ(h)−ΦΞΦ⊤ω==00(12.14)
我们将TD误差定义为
δ
h
(
x
k
,
u
k
,
x
k
′
)
:
=
g
(
x
k
,
u
k
,
x
k
′
)
+
γ
h
⊤
ϕ
(
x
k
′
)
−
h
⊤
ϕ
(
x
k
)
(12.15)
\delta_{h}\left(x_{k}, u_{k}, x_{k}^{\prime}\right):=g\left(x_{k}, u_{k}, x_{k}^{\prime}\right)+\gamma h^{\top} \phi\left(x_{k}^{\prime}\right)-h^{\top} \phi\left(x_{k}\right) \tag{12.15}
δh(xk,uk,xk′):=g(xk,uk,xk′)+γh⊤ϕ(xk′)−h⊤ϕ(xk)(12.15)
然后,我们可以构建一个SA算法,即
{
h
k
+
1
=
h
k
+
α
k
(
δ
h
(
x
k
,
u
k
,
x
k
′
)
ϕ
(
x
k
)
−
ω
k
⊤
ϕ
(
x
k
)
ϕ
(
x
k
′
)
)
ω
k
+
1
=
ω
k
+
α
k
(
δ
h
(
x
k
,
u
k
,
x
k
′
)
−
ω
k
⊤
ϕ
(
x
k
)
)
ϕ
(
x
k
)
(12.16)
\left\{\begin{array}{l} h_{k+1}=h_{k}+\alpha_{k}\left(\delta_{h}\left(x_{k}, u_{k}, x_{k}^{\prime}\right) \phi\left(x_{k}\right)-\omega_{k}^{\top} \phi\left(x_{k}\right) \phi\left(x_{k}^{\prime}\right)\right) \\ \omega_{k+1}=\omega_{k}+\alpha_{k}\left(\delta_{h}\left(x_{k}, u_{k}, x_{k}^{\prime}\right)-\omega_{k}^{\top} \phi\left(x_{k}\right)\right) \phi\left(x_{k}\right) \end{array}\right. \tag{12.16}
{hk+1=hk+αk(δh(xk,uk,xk′)ϕ(xk)−ωk⊤ϕ(xk)ϕ(xk′))ωk+1=ωk+αk(δh(xk,uk,xk′)−ωk⊤ϕ(xk))ϕ(xk)(12.16)
注意,这种SA算法与TDC算法相吻合。
Theorem 12.1 带有LFA的 GTD ( 0 ) \operatorname{GTD}(0) GTD(0)的收敛性 (Convergence of GTD ( 0 ) \operatorname{GTD}(0) GTD(0) with LFA).
让步长 α k \alpha_{k} αk满足RobbinsMonro条件。那么,由带LFA的GTD(0)倾斜算法产生的向量 h k h_{k} hk以1的概率收敛于投影贝尔曼算子的固定点。
Remark 12.1 实际收敛上的的困难 (Difficulty in practical convergence)
尽管渐进收敛定理在RL的理论分析中占主导地位,但随机逼近存在一个很大的问题。也就是说,收敛特性取决于权重序列的构造,而渐进收敛只在理论上达到无限大。在下一小节中,我们将讨论一种替代的数值方法,它可以同样好地解决PE问题。先进的数值方法,例如随机的Nesterov加速梯度算法已经得到发展。
12.3 最小二乘法TD学习 (Least Squares TD Learning)
正如上一节所讨论的,TD或GTD学习算法的一个最具挑战性的技术问题是它们从SA方法继承的脆弱的渐进收敛性。让我们仔细看看LFA的PE问题,如图18所示。
图18:用LFA进行策略评估的几何学。
我们没有采用数值优化方法来寻找投影贝尔曼算子 Π π T π \Pi_{\pi} T_{\pi} ΠπTπ的固定点 Φ ⊤ h ∗ \Phi^{\top} h^{*} Φ⊤h∗ ,而是直接对固定点进行了定性。
如图18所示,残差向量 T π Φ ⊤ h ∗ − Φ ⊤ h ∗ \mathrm{T}_{\pi} \Phi^{\top} h^{*}-\Phi^{\top} h^{*} TπΦ⊤h∗−Φ⊤h∗相对于内积 ⟨ ⋅ , ⋅ ⟩ ξ \langle\cdot, \cdot\rangle_{\xi} ⟨⋅,⋅⟩ξ,正交于近似空间 J \mathcal{J} J。 换言之,我们有
Φ Ξ ( T π Φ ⊤ h ∗ − Φ ⊤ h ∗ ) = 0 (12.17) \Phi \Xi\left(\mathrm{T}_{\pi} \Phi^{\top} h^{*}-\Phi^{\top} h^{*}\right)=0 \tag{12.17} ΦΞ(TπΦ⊤h∗−Φ⊤h∗)=0(12.17)
并应用贝尔曼算子 T π Φ ⊤ h : = G π + γ P π Φ ⊤ h \mathrm{T}_{\pi} \Phi^{\top} h:=G_{\pi}+\gamma P_{\pi} \Phi^{\top} h TπΦ⊤h:=Gπ+γPπΦ⊤h的紧凑表达,我们最终得出
Φ Ξ ( I K − γ P π ) Φ ⊤ h ∗ = Φ Ξ G π . (12.18) \Phi \Xi\left(I_{K}-\gamma P_{\pi}\right) \Phi^{\top} h^{*}=\Phi \Xi G_{\pi} . \tag{12.18} ΦΞ(IK−γPπ)Φ⊤h∗=ΦΞGπ.(12.18)
简单地说,现在的任务是解决上述
h
h
h的线性方程组,即,
A
h
=
b
A h=b
Ah=b,有
{
A
=
Φ
Ξ
(
I
K
−
γ
P
π
)
Φ
⊤
b
=
Φ
Ξ
G
π
.
(12.19)
\left\{\begin{aligned} A &=\Phi \Xi\left(I_{K}-\gamma P_{\pi}\right) \Phi^{\top} \\ b &=\Phi \Xi G_{\pi} . \end{aligned}\right. \tag{12.19}
{Ab=ΦΞ(IK−γPπ)Φ⊤=ΦΞGπ.(12.19)
根据
rk
(
Φ
)
=
m
\operatorname{rk}(\Phi)=m
rk(Φ)=m的假设,很容易看到线性系统有一个唯一的解决方案,即:
h
∗
=
(
Φ
Ξ
(
I
K
−
γ
P
π
)
Φ
⊤
)
−
1
Φ
Ξ
G
π
.
(12.20)
h^{*}=\left(\Phi \Xi\left(I_{K}-\gamma P_{\pi}\right) \Phi^{\top}\right)^{-1} \Phi \Xi G_{\pi} . \tag{12.20}
h∗=(ΦΞ(IK−γPπ)Φ⊤)−1ΦΞGπ.(12.20)
为了实现无模型的在线学习,我们采用期望形式为
{ A = E p π ( x ′ ∣ x ) [ ϕ ( x ) ( ϕ ( x ) − γ ϕ ( x ′ ) ) ⊤ ] b = E p π ( x ′ ∣ x ) [ g ( x , u , x ′ ) ϕ ( x ) ] (12.21) \left\{\begin{aligned} A &=\mathbb{E}_{p_{\pi}\left(x^{\prime} \mid x\right)}\left[\phi(x)\left(\phi(x)-\gamma \phi\left(x^{\prime}\right)\right)^{\top}\right] \\ b &=\mathbb{E}_{p_{\pi}\left(x^{\prime} \mid x\right)}\left[g\left(x, u, x^{\prime}\right) \phi(x)\right] \end{aligned}\right. \tag{12.21} ⎩⎨⎧Ab=Epπ(x′∣x)[ϕ(x)(ϕ(x)−γϕ(x′))⊤]=Epπ(x′∣x)[g(x,u,x′)ϕ(x)](12.21)
通过探索上述两个项的经验平均值,公式(12.20)中给出的
h
∗
h^{*}
h∗的解决方案的基于抽样的实现可以写为
h
k
+
1
=
(
∑
i
=
1
k
ϕ
(
x
i
)
(
ϕ
(
x
i
)
−
γ
ϕ
(
x
i
′
)
)
⊤
)
−
1
(
∑
i
=
1
k
g
(
x
i
,
u
i
,
x
i
′
)
ϕ
(
x
i
)
)
(12.22)
h_{k+1}=\left(\sum_{i=1}^{k} \phi\left(x_{i}\right)\left(\phi\left(x_{i}\right)-\gamma \phi\left(x_{i}^{\prime}\right)\right)^{\top}\right)^{-1}\left(\sum_{i=1}^{k} g\left(x_{i}, u_{i}, x_{i}^{\prime}\right) \phi\left(x_{i}\right)\right) \tag{12.22}
hk+1=(i=1∑kϕ(xi)(ϕ(xi)−γϕ(xi′))⊤)−1(i=1∑kg(xi,ui,xi′)ϕ(xi))(12.22)
这种更新方案被称为最小二乘时间差(Least Squares Temporal Difference, LSTD)学习。很明显,LSTD算法的瓶颈是不断计算平方矩阵。为了减轻这一计算负担,我们可以使用Sherman-Morrison公式来计算矩阵的逆值,并进行秩1更新(rank-one update)。
Proposition 12.1 Sherman-Morrison公式
设
A
A
A是一个可倒置的正方形矩阵,
u
,
v
u,v
u,v是列向量。假设
1
+
v
⊤
A
−
1
u
≠
0
1+v^{\top} A^{-1} u \neq 0
1+v⊤A−1u=0。那么秩1更新
A
+
u
v
⊤
A+u v^{\top}
A+uv⊤的逆如下所示
(
A
+
u
v
⊤
)
−
1
=
A
−
1
−
A
−
1
u
v
⊤
A
−
1
1
+
v
⊤
A
−
1
u
(12.23)
\left(A+u v^{\top}\right)^{-1}=A^{-1}-\frac{A^{-1} u v^{\top} A^{-1}}{1+v^{\top} A^{-1} u} \tag{12.23}
(A+uv⊤)−1=A−1−1+v⊤A−1uA−1uv⊤A−1(12.23)
很明显,LSTD算法不是一种SA算法,而是一种纯粹的蒙特卡洛算法。由于计算 A A A和 b b b时的算术平均数被抵消了,公式(12.22)中的LSTD更新不需要调整任何超参数或学习率。尽管如此,LSTD算法的性能更多地受到第8.2节中讨论的LFA空间属性的影响。
因此借助Sherman-Morrison公式,我们可以推导出带有LFA的LSTD算法