[RL Notes] 持续性任务的策略梯度

1. 学习策略的目标

  为了改善参数化策略,首先要确定优化目标。强化学习的目标是最大化长期收益,更具体地,分幕式任务的目标是最大化收益序列构成的回报

\begin{equation}
G_t = \sum_{t=0}^T R_{t} \tag{1}
\end{equation}

对于持续性任务,为了使回报有限而引入折扣,目标是最大化折后回报

\begin{equation}
G_t = \sum_{t=0}^{\infty} \gamma^t R_{t} \tag{2}
\end{equation}

持续性任务还可以使用平均收益的回报

\begin{equation}
G_t = \sum_{t=0}^{\infty} R_t – r(\pi) \tag{3}
\end{equation}

  以平均收益的回报为例,我们的目标是通过学习策略最大化平均收益的回报。在策略 $\pi$ 下的平均收益定义为

\begin{equation}
r(\pi) = \sum_{s} \mu_\pi(s) \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r \tag{4}
\end{equation}

上式中:

  • $\sum_{s’, r} p(s’, r|s, a) r$ 表示策略 $\pi$ 下在状态 $s$ 选择动作 $a$ 的期望收益,即 $\mathbb{E}[R_t|S_t = s, A_t = a]$。
  • $\sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r$ 通过对所有动作求和,得到策略 $\pi$ 下在状态 $s$ 的期望收益,即 $\mathbb{E}[R_t|S_t = s]$。
  • $\sum_{s} \mu_\pi(s) \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r$ 通过使用策略 $\pi$ 下各个状态出现的概率进行加权,得到策略 $\pi$ 的整体平均收益,即 $E_\pi(R_t)$

  策略优化的目标是找到最大化平均收益的策略,对于函数逼近的方法,首先要找到平均收益对于策略参数的梯度

\begin{equation}
\nabla r(\pi) = \nabla \sum_{s} \mu_\pi(s) \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r \tag{5}
\end{equation}

然后据此改善策略,这种方法称为策略梯度方法。

  注意在之前的改善策略的方法中,都是通过广义策略迭代来估计动作价值,然后通过动作价值来改善策略,而这里的策略梯度方法是直接对参数化的策略进行学习。另外需要注意的是我们的目标是最大化平均收益,在梯度方法中,我们要朝着梯度上升的方向进行优化。

2. 策略梯度定理

  计算式 $(5)$ 的一个难点在于式中的 $\mu_\pi(s)$ 依赖于策略参数 $\boldsymbol{\mathrm{\theta}}$,改善策略的同时会改变策略 $\pi$ 下访问每个状态的概率 $\mu_\pi(s)$。进一步计算式 $(5)$ 的梯度

\begin{align}
\nabla r(\pi) &= \nabla \sum_{s} \mu_\pi(s) \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r \\
&= \sum_{s} \nabla \mu_\pi(s) \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r + \sum_{s} \mu_\pi(s) \nabla \sum_{a} \pi(a|s) \sum_{s’, r} p(s’, r|s, a) r \tag{6}
\end{align}

式 $(6)$ 中的 $\nabla \mu_\pi(s)$ 往往也难以计算,因为 $\mu_\pi(s)$ 依赖于策略和环境的长期交互。

  策略梯度定理给出了计算 $\nabla r(\pi)$ 的简单方法

\begin{equation}
\nabla r(\pi) = \sum_{s} \mu_\pi(s) \sum_{a} \nabla \pi(a|s, \boldsymbol{\mathrm{\theta}}) q_{\pi}(s, a) \tag{7}
\end{equation}

上式中的梯度项只有策略的梯度 $\nabla \pi(a|s, \boldsymbol{\mathrm{\theta}})$,只要参数化的策略可微,就容易计算策略梯度。$\nabla \pi(a|s, \boldsymbol{\mathrm{\theta}})$ 表示要提高选择某个动作的概率,需要如何调整策略的参数,调整的幅度受到动作价值 $q_{\pi}(s, a)$ 的控制。对于具有较高价值的动作,调整策略大幅提高选择该动作的概率;对于具有较低价值的动作,提高的幅度较小;如果动作具有负的价值,则会导致反向的调整——提高选择“相反”动作的概率。最后,式 $(7)$ 中通过 $\sum_{s} \mu_\pi(s)$ 以每个状态出现的概率进行加权,给出能够最有效提高整体平均收益方向。