[RL Notes] 策略评估和控制

  强化学习的过程中通常会涉及两类任务:策略评估(policy evaluation)和控制(control)。策略评估指的是计算特定策略的价值函数,也称为预测问题;控制指的是找到能够最大化收益的策略。虽然控制是强化学习的最终目标,但策略评估往往是第一步——要改善策略,首先要能够比较策略的好坏。

1. 策略评估

  在策略评估中,要计算给定策略 $\pi$ 的状态价值函数
\begin{equation}
v_\pi(s) \doteq \mathbb{E}_\pi[G_t|S_t = s] \tag{1}
\end{equation}

即在状态 $s$ 后按照策略 $\pi$ 行动所能获得的期望收益。使用折后回报时,$G_t$ 定义为

\begin{equation}
G_t \doteq R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \tag{2}
\end{equation}

通过贝尔曼方程

\begin{align}
v_\pi(s) = \sum_a \pi(a|s) \sum_{s’} \sum_{r} p(s’, r | s, a) \Big[ r + \gamma v_\pi(s’) \Big] \tag{3}
\end{align}

可以为每个状态都构造一个等式,这些等式组成了一个方程组,求解这个方程组即可得到每个状态的价值。

  通过贝尔曼方程,计算 $v_\pi$ 的过程就变为了求解线性方程组。在实际中,通常使用如动态规划这样的迭代算法来求解,这一过程可以写为

\begin{equation}
\pi, p, \gamma \rightarrow 动态规划 \rightarrow v_\pi
\end{equation}

2. 控制

  控制的任务是改善策略。对于两个策略 $\pi_1$ 和 $\pi_2$,如果 $\pi_2$ 在每个状态的价值都大于或等于 $\pi_1$ 的价值,则称 $\pi_2$ 和 $\pi_1$ 差不多或更好。在此基础上,如果 $\pi_2$ 在至少一个状态上的价值严格大于 $\pi_1$ 的价值,则称 $\pi_2$ 严格优于 $\pi_1$。

  在控制任务中,通过修改现有策略得到一个严格更优的策略,如此反复迭代,得到一系列越来越好的策略,直到再也无法得到严格更优的策略,此时的策略就是最优策略,控制任务结束。动态规划也可以解决控制问题,这一过程可以写为

\begin{equation}
p, \gamma \rightarrow 动态规划 \rightarrow \pi_*
\end{equation}