[归纳]强化学习导论 - 第九章:基于拟合器的on-policy预测

1.本章内容概要

这一章,我们考虑用函数拟合器来估计on-policy RL中的state-value函数,即从经验中估计给定策略 π \pi π的值函数 v π v_\pi vπ。本章新颖之处在于用函数(线性函数、人工神经网络、决策树等)来代替前几章一直使用的表格,函数的参数为 w \textbf{w} w,通常 ∣ w ∣ &lt; &lt; ∣ S ∣ |\textbf{w}|&lt;&lt;|S| w<<S,因此我们只需要少量参数,就能表征所有状态的值。通过调整 w \textbf{w} w,可以逼近经验,同时泛化到类似的状态。泛化性使得learning更加有效,同时也更难处理和理解。

在RL中引入函数拟合器,可能使RL在只部分可观测(states)问题中也可应用(自动学习状态空间的相关性和无关性)。实际上,本Part介绍的所有使用函数估计器的理论结果都能很好地应用到部分可观测问题中,函数估计器不能做的是无法通过观测的数据增强状态表征,而这在17章会深入讨论。

2.值函数拟合器

RL的所有prediction方法都是向着"backed-up value/update target"更新的过程 s ↦ u s\mapsto u su,我们用 u u u表示update target,我们可以写出MC、TD(0)、n-step TD和DP的更新符号化表述,与前几章的区别在于bootstrapping所用的后续状态的值也由拟合器得来:

MC: S t ↦ G t S_{t} \mapsto G_t StGt
TD(0): S t ↦ R t + 1 + γ v ^ ( S t + 1 , w t ) S_{t} \mapsto R_{t+1}+\gamma \hat{v}\left(S_{t+1}, \mathbf{w}_{t}\right) StRt+1+γv^(St+1,wt)
n-step TD: S t ↦ G t : t + n S_{t} \mapsto G_{t : t+n} StGt:t+n
DP: s ↦ E π [ R t + 1 + γ v ^ ( S t + 1 , w t ) ∣ S t = s ] s \mapsto \mathbb{E}_{\pi}\left[R_{t+1}+\gamma \hat{v}\left(S_{t+1}, \mathbf{w}_{t}\right) | S_{t}=s\right] sEπ[Rt+1+γv^(St+1,wt)St=s]

每个update可以理解为值函数的期望输入(input)-输出(output)行为的一个例子(样本),我们希望s的估计值接近于u。表格化的方法是只让s的值向u变动,而保持其它状态的值不变;而用拟合器的话实际上会导致相近状态的值一起变化(泛化)。机器学习(ML)中学习模仿input-output样例的方法叫做监督学习,如果输出是数值的则叫做函数拟合。

在拟合RL中,每个 s ↦ u s\mapsto u su都是一个样例。因此,我们可以利用任何监督学习的方法。但是RL中的函数拟合器又有特殊性:为了保证能online工作,必须能从数据中高效地增量式学习;且要求函数拟合器能处理非平稳目标函数(因为对于基于GPI的control方法 π \pi π是一直在变化的,即使 π \pi π不发生变化,bootstrapping方法也会导致非平稳性)。

3.预测目标VE

在表格化方法中,各个状态的值之间是解耦的,相互之间无关,但是在拟合RL中,对一个状态的跟新也会影响到其它状态的值,因此无法保证所有状态的值都是精确的,这主要是因为 ∣ w ∣ &lt; &lt; ∣ s ∣ |\textbf{w}|&lt;&lt;|s| w<<s的特点。因此我们需要关注那些更重要的状态,我们用 μ ( s ) ≥ 0 , ∑ s μ ( s ) = 1 \mu(s)\geq 0, \sum_s\mu(s)=1 μ(s)0,sμ(s)=1加权,这样我们就得到了目标函数(描述估计器与真值的error)均方误差(Mean Square Value Error, MSE), V E ‾ \overline{\mathrm{VE}} VE

V E ‾ ( w ) ≐ ∑ s ∈ S μ ( s ) [ v π ( s ) − v ^ ( s , w ) ] 2 \overline{\mathrm{VE}}(\mathbf{w}) \doteq \sum_{s \in \mathcal{S}} \mu(s)\left[v_{\pi}(s)-\hat{v}(s, \mathbf{w})\right]^{2} VE(w)sSμ(s)[vπ(s)v^(s,w)]2

其中 μ ( s ) \mu(s) μ(s)往往选择为在s所消耗的时间(离散的话就是steps的数量),叫做on-policy分布,在continuing任务中是一个确定的平稳分布,我们在讲MDP时已经介绍过,而对于episodic任务,则比较复杂:

The on-policy distribution in episodic tasks
对于episodic任务,其on-policy分布有所区别。用 h ( s ) h(s) h(s)表示一个episode从s开始的概率,用 η ( s ) \eta(s) η(s)表示在平均在单个episode内s消耗的steps的数量,用 s ˉ \bar{s} sˉ表示前序状态,则得到 η ( s ) \eta(s) η(s)的表达式(请仔细思考具体含义):
η ( s ) = h ( s ) + ∑ s ‾ η ( s ‾ ) ∑ a π ( a ∣ s ‾ ) p ( s ∣ s ‾ , a ) , \eta(s)=h(s)+\sum_{\overline{s}} \eta(\overline{s}) \sum_{a} \pi(a | \overline{s}) p(s | \overline{s}, a), η(s)=h(s)+sη(s)aπ(as)p(ss,a), for all s ∈ S s \in \mathcal{S} sS
这个方程组可以直接求解。归一化:
μ ( s ) = η ( s ) ∑ s ′ η ( s ′ ) , \mu(s)=\frac{\eta(s)}{\sum_{s^{\prime}} \eta\left(s^{\prime}\right)}, \quad μ(s)=sη(s)η(s), for all s ∈ S s \in \mathcal{S} sS
如果有折扣因子 γ \gamma γ,则需要添加到 η ( s ) \eta(s) η(s)的表达式中的第二项上。

但是 V E ‾ \overline{\mathrm{VE}} VE是最好的性能指标吗?我们的目的是学习值函数从而得到更好的策略,但是最小化 V E ‾ \overline{\mathrm{VE}} VE与这个目标是不完全一致的,但是目前还没有更好的替代方案。

一个理想的目标是找到全局最优的 w ∗ \textbf{w}^* w,也就是找到 w ∗ \textbf{w}^* w使之满足 V E ‾ ( w ∗ ) ≤ V E ‾ ( w ) \overline{\mathrm{VE}}\left(\mathbf{w}^{*}\right) \leq \overline{\mathrm{VE}}(\mathbf{w}) VE(w)VE(w),这对于简单的线性函数拟合器是可能的,对于复杂的则几乎不可能,我们只能以局部最优替代,对于非线性函数拟合器这是我们能做到的最好的了,也足够了。实际上,目前我们无法保证收敛到最优甚至是最优附近的一个界内,有些方法甚至是发散的。

后面两个小节我们讨论如何把RL的值预测方法和函数拟合方法结合,使用RL值预测方法的updates作为拟合器的训练样本,然后分析哪种方法的 V E ‾ \overline{\mathrm{VE}} VE能更小,函数值拟合方法范围很大(很多),但是关于他们能否可靠估计我们却知之甚少,因此我们只考虑部分可行方法:基于梯度原则的方法,即线性梯度下降法,它们覆盖了拟合方法的核心问题。

4.随机梯度和半梯度方法

这里介绍一大类方法:随机梯度下降SGD,在函数拟合中用得很广泛也很适合online RL。

在SGD中, w \textbf{w} w是一个列向量 w ≐ ( w 1 , . . . , w d ) T \textbf{w}\doteq (w_1,...,w_d)^T w(w1,...,wd)T,每个元素都是实数。而值函数 v ^ ( s , w ) \hat{v}(s, \textbf{w}) v^(s,w) w \textbf{w} w的微分方程,我们在每个离散的时间步更新 w \textbf{w} w,因此记为 w t \textbf{w}_t wt

在每个时间步,我们能得到一个 S t S_t St,通过拟合函数可以计算出 v ^ ( S t , w t ) \hat{v}(S_t, \textbf{w}_t) v^(St,wt),此外,假设我们还能得到一个目标值 v π ( S t ) v_\pi(S_t) vπ(St),它是值函数在状态 S t S_t St时的较准确值(目标值)。注意函数拟合器的能力是有限的,不可能完美拟合所有样本的值 S t → v π ( S t ) S_t\rightarrow v_\pi(S_t) Stvπ(St)

假设所有样本具有同样的权重,则SGD沿着 V E ‾ \overline{\mathrm{VE}} VE的负梯度方向走一小步,从而减小 V E ‾ \overline{\mathrm{VE}} VE

w t + 1 ≐ w t − 1 2 α ∇ [ v π ( S t ) − v ^ ( S t , w t ) ] 2 = w t + α [ v π ( S t ) − v ^ ( S t , w t ) ] ∇ v ^ ( S t , w t ) \begin{aligned} \mathbf{w}_{t+1} &amp; \doteq \mathbf{w}_{t}-\frac{1}{2} \alpha \nabla\left[v_{\pi}\left(S_{t}\right)-\hat{v}\left(S_{t}, \mathbf{w}_{t}\right)\right]^{2} \\ &amp;=\mathbf{w}_{t}+\alpha\left[v_{\pi}\left(S_{t}\right)-\hat{v}\left(S_{t}, \mathbf{w}_{t}\right)\right] \nabla \hat{v}\left(S_{t}, \mathbf{w}_{t}\right) \end{aligned} wt+1wt21α[vπ(St)v^(St,wt)]2=wt+α[vπ(St)v^(St,wt)]v^(St,wt)

其中梯度项为:
∇ f ( w ) ≐ ( ∂ f ( w ) ∂ w 1 , ∂ f ( w ) ∂ w 2 , … , ∂ f ( w ) ∂ w d ) ⊤ \nabla f(\mathbf{w}) \doteq\left(\frac{\partial f(\mathbf{w})}{\partial w_{1}}, \frac{\partial f(\mathbf{w})}{\partial w_{2}}, \ldots, \frac{\partial f(\mathbf{w})}{\partial w_{d}}\right)^{\top} f(w)(w1f(w),w2f(w),,wdf(w))

SGD是一种梯度下降方法,每个step的更新量与梯度成正比,因为我们只利用了一个样本/一些样本计算梯度,因此是stochastic的。

因为拟合器的容量是有限的,我们不必让误差收敛到0,且如此可以保证拟合器具有一定的泛化能力。当参数 α \alpha α随着拟合逐渐收敛到0时(满足第二章讲的收敛条件),则SGD能保证全局的收敛性。

由于我们无法直接得到 v π ( S t ) v_\pi(S_t) vπ(St),我们只能得到一个估计值(替代值),然后我们保证这个替代值能逐渐收敛到真实值就行,我们记这个估计值为 U t U_t Ut。因此我们把拟合函数的估计公式替换如下,如果 U t U_t Ut是无偏估计,那么只要更新步长 α \alpha α满足收敛序列条件, w t \textbf{w}_t wt就能收敛到局部最优:

w t + 1 ≐ w t + α [ U t − v ^ ( S t , w t ) ] ∇ v ^ ( S t , w t ) \mathbf{w}_{t+1} \doteq \mathbf{w}_{t}+\alpha\left[U_{t}-\hat{v}\left(S_{t}, \mathbf{w}_{t}\right)\right] \nabla \hat{v}\left(S_{t}, \mathbf{w}_{t}\right) wt+1wt+α[Utv^(St,wt)]v^(St,wt)

下面给出了MC状态值预测的梯度下降版本。这与MC方法把在多个episodes中出现的多次s的 G t ( s ) G_t(s) G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值