Skip to content

Commit 3c40e06

Browse files
authored
update Chapter 9&10 version 1st
1 parent d5bf815 commit 3c40e06

12 files changed

Lines changed: 731 additions & 0 deletions

File tree

docs/Chapter-10/10-1.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## 10.1 最简单的演员-评论家方法
2+
3+
本节介绍最简单的演员-评论家方法。该算法可通过扩展式$(9.32)$的策略梯度算法直接获得。
4+
5+
回顾策略梯度法的核心思想是通过最大化标量指标$J(\theta)$来搜索最优策略。用于最大化$J(\theta)$的梯度上升算法可表示为
6+
7+
$$\begin{aligned}\theta_{t+1}&=\theta_t+\alpha\nabla_\theta J(\theta_t)\\&=\theta_{t}+\alpha\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_{\theta}\ln\pi(A|S,\theta_{t})q_{\pi}(S,A)\right],\end{aligned}\tag{10.1}$$
8+
9+
其中$\eta$表示状态分布(详见定理$9.1$)。由于真实梯度未知,可采用随机梯度进行近似:
10+
11+
$$\theta_{t+1}=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)q_t(s_t,a_t).\tag{10.2}$$
12+
13+
!!! note
14+
把一个含有期望的算法,变为一个采样的不含期望的算法
15+
16+
该算法由式$(9.32)$给出。
17+
18+
方程$(10.2)$具有重要意义,因为它清晰地展示了如何将基于策略的方法与基于价值的方法相结合。一方面,这是一个基于策略的算法,因为它直接更新策略参数$\theta$。另一方面,该方程需要已知 $q_t(s_t, a_t)$——即对行动值 $q_\pi(s_t, a_t)$的估计值。因此,需要另一个基于价值的算法来生成 $q_t(s_t, a_t)$。截至目前,本书已探讨了两种估计动作值的方法:第一种基于蒙特卡洛学习,第二种则是时序差分(TD)学习。
19+
20+
- 若通过蒙特卡洛学习估计$q_\pi(s_t, a_t)$,则对应算法称为REINFORCE或蒙特卡洛策略梯度,该算法已在第$9$章进行过介绍。
21+
22+
- 若通过时序差分(TD)学习估计$q_t(s_t, a_t)$,相应算法通常称为演员-评论性方法。因此,将基于TD的价值估计融入策略梯度方法,即可得到演员-评论性算法。
23+
24+
最简单的演员-评论性算法流程如算法$10.1$所示。其中评论性部分对应基于$(8.35)$式Sarsa算法的价值更新步骤,其动作价值通过参数化函数$q(s,a,\mathbf{w})$表示;演员部分则对应$(10.2)$式的策略更新步骤。该算法有时被称为Q 演员-评论性(QAC)算法。虽然结构简单,但QAC揭示了演员-评论性方法的核心思想,后续章节将展示其如何扩展形成多种进阶算法。
25+
26+
![](../img/10/1.png)
27+
28+
> 算法$10.1$:最简单的演员-评论性算法(QAC)

docs/Chapter-10/10-2.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
## 10.2 优势演员-评论家方法
2+
3+
现在我们介绍优势演员-评论家算法。该算法的核心思想是通过引入基线来降低估计方差。
4+
5+
### 10.2.1 基准不变性
6+
7+
策略梯度的一个有趣性质是它对附加基线的变化具有不变性。即
8+
9+
$$\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_{\theta}\ln\pi(A|S,\theta_{t})q_{\pi}(S,A)\right]=\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_{\theta}\ln\pi(A|S,\theta_{t})(q_{\pi}(S,A)-b(S))\right],\tag{10.3}$$
10+
11+
其中附加基线$b(S)$是状态$S$的标量函数。接下来我们针对该基线回答两个问题。
12+
13+
- 首先,为什么式$(10.3)$成立?
14+
15+
当且仅当下式成立时,方程$(10.3)$成立:
16+
17+
$$\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_\theta\ln\pi(A|S,\theta_t)b(S)\right]=0.$$
18+
19+
该方程成立的条件是
20+
21+
$$\begin{aligned}\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_{\theta}\ln\pi(A|S,\theta_{t})b(S)\right]&=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\pi(a|s,\theta_{t})\nabla_{\theta}\ln\pi(a|s,\theta_{t})b(s)\\&=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_{\theta}\pi(a|s,\theta_{t})b(s)\\&=\sum_{s\in\mathcal{S}}\eta(s)b(s)\sum_{a\in\mathcal{A}}\nabla_{\theta}\pi(a|s,\theta_{t})\\&=\sum_{s\in\mathcal{S}}\eta(s)b(s)\nabla_\theta\sum_{a\in\mathcal{A}}\pi(a|s,\theta_t)\\&=\sum_{s\in\mathcal{S}}\eta(s)b(s)\nabla_{\theta}1=0.\end{aligned}$$
22+
23+
- 其次,基线为何有用?
24+
25+
基线(baseline)的作用在于能够降低使用样本近似真实梯度时的近似方差。具体而言,设
26+
27+
$$X(S,A)\doteq\nabla_\theta\ln\pi(A|S,\theta_t)[q_\pi(S,A)-b(S)].\tag{10.4}$$
28+
29+
那么,真实的梯度为$\mathbb{E}[X(S, A)]$。由于我们需要使用随机样本$x$来近似$\mathbb{E}[X]$,因此若方差$\operatorname{var}(X)$较小则更为有利。例如,当$\operatorname{var}(X)$接近于零时,任何样本$x$都能准确逼近$\mathbb{E}[X]$;反之,若$\operatorname{var}(X)$较大,则样本值可能与$\mathbb{E}[X]$存在显著偏差。
30+
31+
尽管期望值$\mathbb{E}[X]$对基线不敏感,但方差$\text{var}(X)$并非如此。我们的目标是设计一个优良的基线以最小化$\text{var}(X)$。在REINFORCE和QAC算法中,我们设定$b =0$,但这并不能保证是最优基线。
32+
33+
事实上,使$\text{var}(X)$最小化的最优基线为
34+
35+
$$b^*(s)=\frac{\mathbb{E}_{A\sim\pi}\left[\|\nabla_\theta\ln\pi(A|s,\theta_t)\|^2q_\pi(s,A)\right]}{\mathbb{E}_{A\sim\pi}\left[\|\nabla_\theta\ln\pi(A|s,\theta_t)\|^2\right]},\quad s\in\mathcal{S}.\tag{10.5}$$
36+
37+
证明过程见Box 10.1。
38+
39+
尽管$(10.5)$中的基线是最优的,但其复杂度过高而难以实际应用。若从$(10.5)$中移除权重$\|\nabla_\theta \ln \pi(A|s, \theta_t)\|^2$,则可得到一个具有简洁表达式的次优基线:
40+
41+
$$b^\dagger(s)=\mathbb{E}_{A\sim\pi}[q_\pi(s,A)]=v_\pi(s),\quad s\in\mathcal{S}.$$
42+
43+
有趣的是,这一非最优基线正是状态值。
44+
45+
### 10.2.2 算法描述
46+
47+
当$b(s) = v_\pi(s)$时,$(10.1)$中的梯度上升算法变为
48+
49+
$$\begin{gathered}\theta_{t+1}=\theta_{t}+\alpha\mathbb{E}\left[\nabla_{\theta}\ln\pi(A|S,\theta_{t})[q_{\pi}(S,A)-v_{\pi}(S)]\right]\\\doteq\theta_t+\alpha\mathbb{E}\left[\nabla_\theta\ln\pi(A|S,\theta_t)\delta_\pi(S,A)\right].\end{gathered}\tag{10.7}$$
50+
51+
在这里
52+
53+
$$\delta_\pi(S,A)\doteq q_\pi(S,A)-v_\pi(S)$$
54+
55+
该函数被称为**优势函数**,用于衡量某一行动相对于其他行动的优势。具体而言,注意到$v_\pi(s) = \sum_{a\in\mathcal{A}} \pi(a|s)q_\pi(s, a)$表示行动值的均值。若$\delta_\pi(s, a) >0$,则表明对应行动值高于均值。
56+
57+
$(10.7)$式的随机版本为
58+
59+
$$\begin{aligned}\theta_{t+1}&=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)[q_t(s_t,a_t)-v_t(s_t)]\\&=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\delta_t(s_t,a_t),\\&=\theta_t+\alpha\underbrace{\left(\frac{\delta_t(s_t,a_t)}{\pi(a_t|s_t,\theta_t)}\right)}_{\mathrm{step~size}}\nabla_\theta\pi(a_t|s_t,\theta_t)\end{aligned}\tag{10.8}$$
60+
61+
62+
!!! note
63+
可以看到,这种stochastic gradient的方法可以很好的平衡探索和利用
64+
65+
步长与$\delta_t$成比例,而不是与绝对值$q_t$成比例,当$\delta_t$较大时,步长也会变大,那么朝着那个方向走的也会变多,因此$\pi(a_t|s_t)$也会变大。通俗来说就是,我知道当前这个动作会有比较大的动作值,那么下个时刻就要给更大的概率去选择它,这就是充分利用。
66+
67+
如果分母对应的策略较小,那么步长也会变大,所得到下一时刻的$\pi$的概率也会比较大,通俗来说,上一时刻我选择这个行动的概率较小,但下一时刻我会给选择这个行动更大的概率,从而增加探索。
68+
69+
其中$s_t$,$a_t$分别为时刻$t$时状态空间$\mathcal{S}$与动作空间$\mathcal{A}$的采样值。此处$q_t(s_t,a_t)$和 $v_t(s_t)$分别是对$q_{\pi(\theta_t)}(s_t,a_t)$和$v_{\pi(\theta_t)}(s_t)$的近似估计。式$(10.8)$中的算法基于$q_t$相对于$v_t$的相对值(而非$q_t$的绝对值)进行策略更新。这种设计具有直观合理性——因为在给定状态下选择动作时,我们仅需关注哪个动作具有相对于其他动作的最大价值。
70+
71+
若通过蒙特卡洛学习估计$q_t(s_t, a_t)$和$v_t(s_t)$,则式$(10.8)$中的算法称为带基线的REINFORCE。若通过时序差分(TD)学习估计$q_t(s_t, a_t)$和$v_t(s_t)$,该算法通常称为优势演员-评论家(A2C)。A2C的实现流程如算法$10.2$所示,需注意此实现中优势函数通过TD误差近似:
72+
73+
$$q_t(s_t,a_t)-v_t(s_t)\approx r_{t+1}+\gamma v_t(s_{t+1})-v_t(s_t).$$
74+
75+
该近似是合理的,因为
76+
77+
$$q_\pi(s_t,a_t)-v_\pi(s_t)=\mathbb{E}\left[R_{t+1}+\gamma v_\pi(S_{t+1})-v_\pi(S_t)|S_t=s_t,A_t=a_t\right],$$
78+
79+
根据 $q_\pi(s_t, a_t)$的定义,该式成立。采用时序差分(TD)误差的一个优势在于,我们仅需使用单一神经网络来表示 $v_\pi(s)$。反之,若设 $\delta_t = q_t(s_t, a_t) - v_t(s_t)$,则需要维护两个网络分别表征 $v_\pi(s)$和 $q_\pi(s, a)$。当采用TD误差时,该算法也可称为TD Actor-Critic。此外需注意,策略 $\pi(\theta_t)$具有随机性因而具备探索特性,因此无需依赖外部机制(如$\varepsilon$-贪婪)即可直接用于生成经验样本。A2C存在若干变体,例如异步优势演员-评论家(A3C)。感兴趣的读者可参阅[71,72]
80+
81+
![](../img/10/2.png)
82+
83+
> 算法$10.2$:优势演员-评论家(A2C)或时序差分演员-评论家

docs/Chapter-10/10-3.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
## 10.3 异策略演员-评论家算法
2+
3+
我们迄今所研究的策略梯度方法,包括REINFORCE、QAC和A2C,都属于同策略(on-policy)方法。这一特点可从真实梯度的表达式中看出:
4+
5+
$$\nabla_\theta J(\theta)=\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_\theta\ln\pi(A|S,\theta_t)(q_\pi(S,A)-v_\pi(S))\right].$$
6+
7+
为了利用样本来近似这一真实梯度,我们必须通过遵循策略 $\pi(\theta)$来生成动作样本。因此,$\pi(\theta)$即为行为策略。由于 $\pi(\theta)$同时也是我们希望改进的目标策略,策略梯度方法属于同策略(on-policy)方法。
8+
9+
在已有由给定行为策略生成的样本的情况下,仍可应用策略梯度方法来利用这些样本。为此,可采用称为**重要性采样**(importance sampling)的技术。需要指出的是,重要性采样技术并不局限于强化学习领域,而是一种通用技术——其核心在于利用从某一分布抽取的样本来估计定义在另一概率分布上的期望值。
10+
11+
### 10.3.1 重要性采样
12+
13+
!!! note
14+
重要性采样重点看一下
15+
16+
接下来我们介绍重要性采样技术。考虑一个随机变量$X \in \mathcal{X}$,设$p_0(X)$为概率分布。我们的目标是估计$\mathbb{E}_{X\sim p_0}[X]$。假设已有独立同分布样本$\{x_i\}_{i=1}^n$。
17+
18+
- 首先,若样本$\{x_i\}_{i=1}^n$服从$p_0$分布生成,则其均值$\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i$可用于近似$\mathbb{E}_{X\sim p_0}[X]$。这是因为$\bar{x}$是$\mathbb{E}_{X\sim p_0}[X]$的无偏估计量,且当$n \to \infty$时估计方差收敛于零(详见Box 5.1中的大数定律)。
19+
20+
- 其次,考虑一个新场景:样本$\{x_i\}_{i=1}^n$并非由$p_0$生成,而是由另一个分布$p_1$生成。我们是否仍能用这些样本来近似$\mathbb{E}_{X\sim p_0}[X]$?答案是肯定的。然而,此时无法继续使用$\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i$来近似$\mathbb{E}_{X\sim p_0}[X]$,因为$\bar{x} \approx \mathbb{E}_{X\sim p_1}[X]$而非$\mathbb{E}_{X\sim p_0}[X]$。
21+
22+
在第二种情景下,$E_{X∼p_0}[X]$可通过重要性采样技术进行近似估计。具体而言,$E_{X∼p_0}[X]$满足
23+
24+
$$\mathbb{E}_{X\sim p_0}[X]=\sum_{x\in X}p_0(x)x=\sum_{x\in X}p_1(x)\underbrace{\frac{p_0(x)}{p_1(x)}x}_{f(x)}=\mathbb{E}_{X\sim p_1}[f(X)].\tag{10.9}$$
25+
26+
因此,估计$\mathbb{E}_{X\sim p_0}[X]$转化为估计$\mathbb{E}_{X\sim p_1}[f(X)]$的问题。设
27+
28+
$$\bar{f}\doteq\frac{1}{n}\sum_{i=1}^nf(x_i).$$
29+
30+
由于$\bar{f}$能够有效近似$\mathbb{E}_{X\sim p_1}[f(X)]$,因此由式$(10.9)$可得
31+
32+
$$\mathbb{E}_{X\sim p_{0}}[X]=\mathbb{E}_{X\sim p_{1}}[f(X)]\approx\bar{f}=\frac{1}{n}\sum_{i=1}^{n}f(x_{i})=\frac{1}{n}\sum_{i=1}^{n}\underbrace{\frac{p_{0}(x_{i})}{p_{1}(x_{i})}}_{importance \; weight}x_{i}.\tag{10.10}$$
33+
34+
式$(10.10)$表明,$E_{X\sim p_0}[X]$可通过$x_i$的加权平均来近似。其中$\frac{p_0(x_i)}{p_1(x_i)}$称为重要性权重。当$p_1 = p_0$时,重要性权重为1,此时$\bar{f}$退化为$\bar{x}$。若$p_0(x_i) ≥ p_1(x_i)$,则$x_i$在$p_0$中的采样频率高于$p_1$,此时大于$1$的重要性权重将强化该样本的重要性。
35+
36+
部分读者可能会提出以下疑问:既然$(10.10)$中需要$p_0(x)$,为何不直接通过定义$\mathbb{E}_{X\sim p_0}[X] = \sum_{x\in\mathcal{X}} p_0(x)x$来计算?原因如下:使用该定义需要已知$p_0$的解析表达式,或者对每个$x \in \mathcal{X}$都能获取$p_0(x)$的值。然而,当概率分布由神经网络等模型表示时,很难获得$p_0$的解析表达式;而当$\mathcal{X}$空间较大时,也难以获取每个$x$对应的$p_0(x)$值。相比之下,$(10.10)$仅需部分样本的$p_0(x_i)$值,实际实现起来更为简便。
37+
38+
!!! note
39+
适用于$p_0$无法采样或者连续性函数时
40+
41+
#### 例子
42+
43+
接下来我们通过一个示例说明重要性采样技术的应用。设$X \in \mathcal{X} = \{+1, -1\}$,并假设$p_0$为满足以下条件的概率分布:
44+
45+
$$p_0(X=+1)=0.5,\quad p_0(X=-1)=0.5.$$
46+
47+
$X$在$p_0$上的期望为
48+
49+
$$\mathbb{E}_{X\sim p_0}[X]=(+1)\cdot0.5+(-1)\cdot0.5=0.$$
50+
51+
假设$p_1$是满足条件的另一个分布
52+
53+
$$p_1(X=+1)=0.8,\quad p_1(X=-1)=0.2.$$
54+
55+
$X$在$p_1$上的期望为
56+
57+
$$\mathbb{E}_{X\sim p_1}[X]=(+1)\cdot0.8+(-1)\cdot0.2=0.6.$$
58+
59+
假设我们有一些从分布 $p_1$中抽取的样本$\{x_i\}$,目标是利用这些样本估计$\mathbb{E}_{X\sim p_0}[X]$。如图$10.2$所示,样本中$+1$的数量多于$-1$,这是因为$p_1(X=+1)=0.8 > p_1(X=-1)=0.2$。若直接计算样本均值$\sum_{i=1}^n x_i/n$,该值会收敛至$\mathbb{E}_{X\sim p_1}[X]=0.6$(见图$10.2$虚线);而通过式$(10.10)$计算加权平均值时,该值可正确收敛至$\mathbb{E}_{X\sim p_0}[X]=0$(见图$10.2$实线)。
60+
61+
![](../img/10/3.png)
62+
63+
> 图$10.2$:重要性采样技术的演示示例。此处定义$X \in \{+1, -1\}$且$p_0(X = +1) = p_0(X = -1) =0.5$。样本根据$p_1$分布生成,其中$p_1(X = +1) =0.8$,$p_1(X = -1) =0.2$。样本均值收敛于$\mathbb{E}_{X\sim p_1}[X] =0.6$,但通过式$(10.10)$重要性采样技术计算的加权均值收敛于$\mathbb{E}_{X\sim p_0}[X] =0$。
64+
65+
最后,用于生成样本的分布$p_1$必须满足:当$p_0(x) \neq0$时,$p_1(x) \neq0$。若$p_1(x) =0$而$p_0(x) \neq0$,则估计结果可能出现问题。例如,若
66+
67+
$$p_1(X=+1)=1,\quad p_1(X=-1)=0.$$
68+
69+
那么由$p_1$生成的样本均为正值:$\{x_i\} = \{+1, +1, \ldots, +1\}$。这些样本无法正确估计$\mathbb{E}_{X\sim p_0}[X] =0$,因为
70+
71+
$$\frac{1}{n}\sum_{i=1}^n\frac{p_0(x_i)}{p_1(x_i)}x_i=\frac{1}{n}\sum_{i=1}^n\frac{p_0(+1)}{p_1(+1)}1=\frac{1}{n}\sum_{i=1}^n\frac{0.5}{1}1\equiv0.5,$$
72+
73+
无论$n$取值多大。
74+
75+
### 10.3.2 off-policy策略梯度定理
76+
77+
借助重要性采样技术,我们得以提出异策略梯度定理。假设$\beta$为行为策略,目标是通过$\beta$生成的样本来学习目标策略$\pi$,使其能最大化以下指标:
78+
79+
J(\theta)=\sum_{s\in\mathcal{S}}d_\beta(s)v_\pi(s)=\mathbb{E}_{S\sim d_\beta}[v_\pi(S)],
80+
81+
其中$d_\beta$为策略$\beta$下的稳态分布,$v_\pi$为策略$\pi$下的状态值。该指标的梯度由以下定理给出。
82+
83+
!!! info
84+
**定理10.1** (off-policy策略梯度定理).在折扣因子$\gamma\in(0,1)$的折扣情形下,目标函数$J(\theta)$的梯度为
85+
86+
$$\nabla_{\theta}J(\theta)=\mathbb{E}_{S\sim\rho,A\sim\beta}\left[\underbrace{\frac{\pi(A|S,\theta)}{\beta(A|S)}}_{importance \; weight}\nabla_{\theta}\ln\pi(A|S,\theta)q_{\pi}(S,A)\right],\tag{10.11}$$
87+
88+
其中状态分布$\rho$满足
89+
90+
$$\rho(s)=\sum_{s^{\prime}\in\mathcal{S}}d_\beta(s^{\prime})\mathrm{Pr}_\pi(s|s^{\prime}),\quad s\in\mathcal{S},$$
91+
92+
其中$Pr^\pi(s|s') = \sum_{k=0}^\infty \gamma^k[P^k_\pi]_{s's} = [(I - \gamma P_\pi)^{-1}]_{s's}$表示在策略$\pi$下从状态$s'$转移到状态$s$的折扣总概率。
93+
94+
(10.11)式中的梯度与定理9.1的同策略情形相似,但存在两点差异:第一差异在于重要性权重;第二差异在于$A \sim \beta$而非$A \sim \pi$。因此,我们可以利用通过遵循$\beta$来逼近真实梯度生成的动作样本。该定理的证明见Box $10.2$。
95+
96+
### 10.3.3 算法描述
97+
98+
基于off-policy策略梯度定理,我们现可推导off-policy策略的演员-评论家算法。由于异策略与同策略高度相似,此处仅展示若干关键步骤。
99+
100+
首先,off-policy策略梯度对于任何附加基线$b(s)$都具有不变性。具体而言,我们有
101+
102+
$$\nabla_{\theta}J(\theta)=\mathbb{E}_{S\sim\rho,A\sim\beta}\left[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_{\theta}\ln\pi(A|S,\theta)\left(q_{\pi}(S,A)-b(S)\right)\right],$$
103+
104+
因为$\mathbb{E}\left[{\frac{\pi(A|S,\theta)}{\beta(A|S)}}\nabla_{\theta}\ln\pi(A|S,\theta)b(S)\right]=0.$。为降低估计方差,可将基线函数取为$b(S) = v_\pi(S)$从而得到
105+
106+
$$\nabla_{\theta}J(\theta)=\mathbb{E}\left[{\frac{\pi(A|S,\theta)}{\beta(A|S)}}\nabla_{\theta}\ln\pi(A|S,\theta)\left(q_{\pi}(S,A)-v_{\pi}(S)\right)\right].$$
107+
108+
对应的随机梯度上升算法为
109+
110+
$$\theta_{t+1}=\theta_t+\alpha_\theta\frac{\pi(a_t|s_t,\theta_t)}{\beta(a_t|s_t)}\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\left(q_t(s_t,a_t)-v_t(s_t)\right),$$
111+
112+
其中 $\alpha_\theta >0$。与同策略情形类似,优势函数$q_t(s, a) - v_t(s)$可替换为时序差分误差(TD error),即
113+
114+
$$q_t(s_t,a_t)-v_t(s_t)\approx r_{t+1}+\gamma v_t(s_{t+1})-v_t(s_t)\doteq\delta_t(s_t,a_t).$$
115+
116+
随后,该算法变为
117+
118+
$$\theta_{t+1}=\theta_{t}+\alpha_{\theta}\frac{\pi(a_{t}|s_{t},\theta)}{\beta(a_{t}|s_{t})}\nabla_{\theta}\ln\pi(a_{t}|s_{t},\theta)\delta_{t}(s_{t},a_{t}).$$
119+
120+
从而有
121+
122+
$$\theta_{t+1}=\theta_{t}+\alpha_{\theta}\left(\frac{\delta_{t}(s_{t},a_{t})}{\beta(a_{t}|s_{t})}\right)\nabla_{\theta}\pi(a_{t}|s_{t},\theta_{t})$$
123+
124+
!!! note
125+
与同策略的公式$\theta_{t+1}=\theta_t+\alpha\underbrace{\left(\frac{\delta_t(s_t,a_t)}{\pi(a_t|s_t,\theta_t)}\right)}_{\mathrm{step~size}}\nabla_\theta\pi(a_t|s_t,\theta_t)$相比,虽然分子还会改变从而发生与同策略相同的变化,即充分利用,但是可以看到分母是一个固定的值,那么此时也就不存在什么探索。
126+
127+
异策略演员-评论家算法的实现流程总结于算法$10.3$中。可以看出,该算法与优势演员-评论家算法基本相同,只是在评论家和演员部分都增加了额外的重要性权重。需要特别注意的是,通过重要性采样技术,不仅演员部分,评论家部分也从同策略转换为异策略。实际上,重要性采样是一种通用技术,可同时应用于基于策略和基于价值的算法。最后,算法$10.3$可通过多种方式进行扩展,以整合资格迹(eligibility traces)等更多技术[73]
128+
129+
![](../img/10/4.png)
130+
131+
> 算法$10.3$:基于重要性采样的off-policy策略演员-评论家方法

0 commit comments

Comments
 (0)