[RL Notes] 离轨策略
Contents
1. 同轨策略和离轨策略
通过确保智能体不断地选择所有可能的动作,可以让智能体不断地进行试探,有两种方法可以达到这一点。
同轨策略(on-policy)方法使用相同的策略生成采样数据序列以及用于实际决策的待评估和改进的策略。前文中的蒙特卡洛试探性出发算法和 $\varepsilon$-软策略都属于同轨策略。$\varepsilon$-软策略不要求满足试探性出发的假设,但它在获得收益和在试探最优动作上都不是最优的。
离轨策略(off-policy)方法中,用于评估或改进的策略与生成采样数据的策略是不同的。其中智能体学习的策略称为目标策略,记为 $\pi(a|s)$,例如最优策略;用于生成行动样本的策略称为行动策略,记为 $b(a|s)$,它定义了智能体的行动,通常是探索性的策略。在离轨策略学习中,学习所用的数据离开(off)了待学习的目标策略。可以将同轨策略看成是目标策略和行动策略相同的离轨策略。
将目标策略和行动策略分离开来可以让智能体不断地进行探索。如果智能体只按照目标策略行动,它就只能访问到很少的一部分状态;而如果智能体按照探索性的行动策略进行行动,就可以访问到更多的状态。在离轨策略中,行为策略必须包含目标策略,即如果 $\pi(a|s) > 0$,则要有 $b(a|s) > 0$。
2. 重要度采样
在离轨策略中,我们从分布 $b$(行动策略)中采样得到样本 $x$,$x \sim b$,而我们的目标是预测随机变量在分布 $\pi$(目标策略)下的期望,即 $\mathbb{E}_{\pi}[X]$。这里不能再简单地通过对样本求平均来估计 $\mathbb{E}_{\pi}[X]$,因为样本来自行动策略 $b$ 而不是目标策略 $\pi$。根据定义
\begin{equation}
\mathbb{E}_{\pi} [X] \doteq \sum_{x \in X} x\pi(x) \tag{1}
\end{equation}
其中 $\pi(x)$ 是在策略 $\pi$ 下观测到 $x$ 的概率。可得
\begin{equation}
\mathbb{E}_{\pi}[X] = \sum_{x \in X} x\pi(x) \frac{b(x)}{b(x)} = \sum_{x \in X} x \frac{\pi(x)}{b(x)} b(x) = \sum_{x \in X} x \rho(x) b(x) \tag{2}
\end{equation}
其中 $b(x)$ 是在策略 $b$ 下观测到 $x$ 的概率,$\rho(x) = \frac{\pi(x)}{b(x)}$,称为重要度采样比。将 $x \rho(x)$ 看成是一个新的随机变量,上式可进一步写成
\begin{equation}
\mathbb{E}_{\pi}[X] = \sum_{x \in X} \big( x \rho(x) \big) b(x) = \mathbb{E}_b [X \rho(X)] \tag{3}
\end{equation}
由此就将 $\pi$ 下的期望写成了 $b$ 下的期望。可以很容易地进行估计 $b$ 下的期望
\begin{equation}
\mathbb{E}_b [X \rho(X)] = \sum_{x \in X} x \rho(x) b(x) \approx \frac{1}{n} \sum_{i=1}^{n} x_i \rho(x_i) \tag{4}
\end{equation}
上式中的 $x_i$ 是从 $b$ 中采样得到的。
由式 $(3)$、式 $(4)$,就得到了使用行动策略的样本估计目标策略的方法
\begin{equation}
\mathbb{E}_{\pi} [X] \approx \frac{1}{n} \sum_{i=1}^{n} x_i \rho(x_i) \tag{5}
\end{equation}
3. 一个例子
假设 $b$ 和 $\pi$ 的分布分别如表一、表二所示
表一
x | 1 | 2 | 3 | 4 |
---|---|---|---|---|
$b(x)$ | 0.85 | 0.05 | 0.05 | 0.05 |
表二
x | 1 | 2 | 3 | 4 |
---|---|---|---|---|
$\pi(x)$ | 0.30 | 0.40 | 0.10 | 0.20 |
由表二可知 $\mathbb{E}_{\pi} [X] = 2.2$。
从 $b$ 中采样得到一个样本 $x_1 = 1$,此时有
\begin{equation}
b(x_1) = 0.85 \quad \pi(x_1) = 0.30 \quad \rho(x_1) = \frac{\pi(x_1)}{b(x_1)} = \frac{30}{85} \\
\sum_{i=1}^{1} x_i \rho(x_i) = 1 \times \frac{30}{85} \approx 0.35
\end{equation}
接着从 $b$ 中采样得到的第二个样本 $x_2 = 3$,此时有
\begin{equation}
b(x_2) = 0.05 \quad \pi(x_2) = 0.10 \quad \rho(x_2) = \frac{\pi(x_2)}{b(x_2)} = \frac{10}{5} \\
\frac{1}{n}\sum_{i=1}^{2} x_i \rho(x_i) = \frac{1 \times \frac{30}{85} + 3 \times \frac{10}{5}}{2} \approx 3.18
\end{equation}
然后又从 $b$ 中采样得到的第三个样本 $x_3 = 1$,此时有
\begin{equation}
b(x_3) = 0.85 \quad \pi(x_3) = 0.30 \quad \rho(x_3) = \frac{\pi(x_3)}{b(x_3)} = \frac{30}{85} \\
\frac{1}{n}\sum_{i=1}^{3} x_i \rho(x_i) = \frac{1 \times \frac{30}{85} + 3 \times \frac{10}{5} + 1 \times \frac{30}{85}}{3} \approx 2.24
\end{equation}
可见估计值越来越接近真实值 $\mathbb{E}_{\pi} [X] = 2.2$。