[RL Notes] 估计策略的梯度

  策略梯度定理给出了计算策略梯度的简单方法

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

其中的 $\sum_{s} \mu_\pi(s)$ 需要对所有状态求和,在实际场景中,智能体与环境交互产生一系列轨迹

\begin{equation}
S_0, A_0, R_1, S_1, A_1, \cdots, S_t, A_t, R_{t+1}, \cdots
\end{equation}

对所有状态求和并不实际。

  回顾使用随机梯度下降进行状态价值函数预测的更新公式

\begin{equation}
\boldsymbol{\mathrm{w}}_{t+1} \doteq \boldsymbol{\mathrm{w}}_t + \alpha \Big[U_t – \hat{v}(S_t, \boldsymbol{\mathrm{w}}_t)\Big] \nabla \hat{v}(S_t, \boldsymbol{\mathrm{w}}_t)
\end{equation}

如果 $U_t$ 是 $v_\pi(S_t)$ 的无偏估计,那么 $\boldsymbol{\mathrm{w}}_t$ 会收敛到一个局部最优解。

  类似地,注意到式 $(1)$ 实际上是一个期望

\begin{align}
\nabla r(\pi) &= \sum_{s} \mu_\pi(s) \sum_{a} \nabla \pi(a|s, \boldsymbol{\mathrm{\theta}}) q_{\pi}(s, a) \\
&= \mathbb{E}_\mu\Big[\sum_{a} \nabla \pi(a|s, \boldsymbol{\mathrm{\theta}}) q_{\pi}(s, a)\Big] \tag{2}
\end{align}

实际上,我们在策略 $\pi$ 下观察到的状态序列服从 $\mu(s)$ 规定的分布,在状态 $S_t$ 上计算得到的梯度是式 $(2)$ 所示期望的无偏估计,因此可以去掉式 $(1)$ 中对每个状态的求和,而使用在策略 $\pi$ 下观察到的样本代替,得到策略参数的随机梯度下降更新公式

\begin{equation}
\boldsymbol{\mathrm{\theta}}_{t+1} \doteq \boldsymbol{\mathrm{\theta}}_t + \alpha \sum_{a} \nabla \pi(a|S_t, \boldsymbol{\mathrm{\theta}}_t) q_{\pi}(S_t, a) \tag{3}
\end{equation}

  更进一步地,考虑 $\sum_{a} \nabla \pi(a|S_t, \boldsymbol{\mathrm{\theta}}_t) q_{\pi}(S_t, a)$ 这一项,它也可以写成期望的形式

\begin{align}
&\sum_{a} \nabla \pi(a|S_t, \boldsymbol{\mathrm{\theta}}_t) q_{\pi}(S_t, a) \\
&= \sum_{a} \pi(a|S_t, \boldsymbol{\mathrm{\theta}}) \frac{1}{\pi(a|S_t, \boldsymbol{\mathrm{\theta}})} \nabla \pi(a|S_t, \boldsymbol{\mathrm{\theta}}_t) q_{\pi}(S_t, a) \\
&= \mathbb{E}_{\pi}\bigg[\frac{\nabla \pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t)}{\pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t)} q_{\pi}(S_t, A_t) \bigg] \quad 用采样 \; A_t \sim \pi \; 替换 \; a \tag{4}
\end{align}

由此消除了式 $(3)$ 中对动作的求和,得到新的策略参数的更新公式

\begin{equation}
\boldsymbol{\mathrm{\theta}}_{t+1} \doteq \boldsymbol{\mathrm{\theta}}_t + \alpha \frac{\nabla \pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t)}{\pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t)} q_{\pi}(S_t, A_t) \tag{5}
\end{equation}

上式也可以写成

\begin{equation}
\boldsymbol{\mathrm{\theta}}_{t+1} \doteq \boldsymbol{\mathrm{\theta}}_t + \alpha \nabla \ln \pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t) q_{\pi}(S_t, A_t) \tag{6}
\end{equation}

由于策略及其参数化是已知的,容易计算 $\nabla \ln \pi(A_t|S_t, \boldsymbol{\mathrm{\theta}}_t)$。$q_{\pi}(S_t, A_t)$ 一项可以使用 TD 等方法进行逼近。