Preliminaries
考虑一个无限长度的马尔科夫决策过程(MDP) , 其中, 是关于状态的有限集, 是关于动作的有限集, 是条件转移概率分布, 是奖励函数, 是初始状态的分布, 是折扣因子。
令 为随机策略, 为期望折扣奖励:
其中,
定义状态-动作值函数 ,值函数 ,奖励函数 :
\begin{array}{l} Q_{\pi}\left(s_{t}, a_{t}\right)=\mathbb{E}_{s_{t+1}, a_{t+1}, \ldots}\left[\sum_{l=0}^{\infty} \gamma^{l} r\left(s_{t+l}\right)\right] \\ V_{\pi}\left(s_{t}\right)=\mathbb{E}_{a_{t}, s_{t+1}, \ldots}\left[\sum_{l=0}^{\infty} \gamma^{l} r\left(s_{t+l}\right)\right] \\ A_{\pi}(s, a)=Q_{\pi}(s, a)-V_{\pi}(s), \text { where } \\ a_{t} \sim \pi\left(a_{t} \mid s_{t}\right), s_{t+1} \sim P\left(s_{t+1} \mid s_{t}, a_{t}\right) \text { for } t \geq 0 \end{array}
下面这个式子表示随着步长积累的另一个策略 与当前策略 的关系:
上面的期望表明动作是取样自 。
证明如下:
\begin{equation*} \begin{split} &\mathbb{E}_{\tau \sim \tilde{\pi}}\left[\sum_{t=0}^{\infty} \gamma^{t} A_{\pi}\left(s_{t}, a_{t}\right)\right] \\ &=\mathbb{E}_{\tau \sim \tilde{\pi}}\left[\sum_{t=0}^{\infty} \gamma^{t}\left(r\left(s_{t}\right)+\gamma V_{\pi}\left(s_{t+1}\right)-V_{\pi}\left(s_{t}\right)\right)\right] \\ &=\mathbb{E}_{\tau \sim \tilde{\pi}}\left[-V_{\pi}\left(s_{0}\right)+\sum_{t=0}^{\infty} \gamma^{t} r\left(s_{t}\right)\right] \\ &=-\mathbb{E}_{s_{0}}\left[V_{\pi}\left(s_{0}\right)\right]+\mathbb{E}_{r \mid \tilde{\pi}}\left[\sum_{t=0}^{\infty} \gamma^{t} r\left(s_{t}\right)\right] \\ &=-\eta(\pi)+\eta(\tilde{\eta}) \end{split} \end{equation*}
令 表示状态的折扣访问频率:
其中, ,动作取样自 。
将等式(1)展开:
从上式可以看出,如果每次策略的更新 中,每个状态 都有非负期望优势 ,即 ,那么就可以确保策略的期望回报是不断增加的。但是在训练过程中,我们很难保证 每个状态的期望优势都是非负的。由于 使等式二变得更复杂,因此我们做第一次近似:
忽视了由于策略改变引起的状态访问频率的变化,那么我们可以保证对 的优化等同于对 的优化吗?
可以发现:
\begin{aligned} L_{\pi_{\theta_{0}}}\left(\pi_{\theta_{0}}\right) &=\eta\left(\pi_{\theta_{0}}\right) \\ \left.\nabla_{\theta} L_{\pi_{\theta_{0}}}\left(\pi_{\theta}\right)\right|_{\theta=\theta_{0}} &=\left.\nabla_{\theta} \eta\left(\pi_{\theta}\right)\right|_{\theta=\theta_{0}} \end{aligned}
即,在 作一个很小的改变,如果提高 ,那么也会提高 。 但这个式子并没有给出步长应该走多少。
为了解决这个问题,Kakade 和 Langford 给出了一个策略更新方法——conservative policy iteration, 提供了一个能够提高 的明确的下限。 令 表示当前策略, , 新的策略为:
下限为:
等式(3)表明,对等式右边的提升可以确保左边的提升。 我们的主要理论结果是,通过用 和 之间的距离替换 ,并适当更改常数 使 等式(3)中策略改进范围扩展到一般随机策略,而不仅仅是混合策略( )。 我们使用 total variation divergence 来衡量两个策略之间的距离。对于离散环境, , 连续环境中使用密度函数。
令 ,下限为:
可以发现 TV 散度和 KL 散度之间的关系为: 。 令 , 等式(4)可以写成:
算法 1 描述了基于等式(5)的策略梯度更新算法:

使用算法 1 可以使策略回报随着时间变化而递增, , 令 ,
通过在每一步最大化 ,我们可以确保目标 是非递减的。
接下来介绍的 TRPO 算法是算法 1 的近似,通过对 KL 散度加约束而不是使用它作为惩罚项, 来获得最大程度的更新。
Optimization of Parameterized Policies
对前面的标记做个简化: 。
之前得到的不等式为 , 时等式成立。通过实现下式来保证目标不断被优化:
在实际运算时,理论算法可能会有问题。
更新步长太小
如果我们使用推导的 作为更新步长,更新步幅是很小的。 但上诉问题可以转化为约束问题,把 KL 散度当成约束,这样更新步幅就会变大了:
计算复杂度很高
理论上的 KL 散度是对所有状态空间的策略都要进行计算,我们使用平均 KL 散度进行替代。
我们的优化函数变成了这样:
Sample-Based Estimation of the Objective and Constraint
将上诉优化函数展开:
接下来我们对上式做三处近似:
- 使用期望 来近似
- 使用 Q 值 近似
- 使用重要性采样估计
得到了最后的优化方程: \begin{equation}
\begin{array}{l} \underset{\theta}{\operatorname{maximize}} \mathbb{E}_{s \sim \rho_{\theta \mathrm{old}}, a \sim q}\left[\frac{\pi_{\theta}(a \mid s)}{q(a \mid s)} Q_{\theta_{\mathrm{old}}}(s, a)\right] \\ \text { subject to } \mathbb{E}_{s \sim \rho_{\theta \mathrm{old}}}\left[D_{\mathrm{KL}}\left(\pi_{\theta_{\mathrm{old}}}(\cdot \mid s) \| \pi_{\theta}(\cdot \mid s)\right)\right] \leq \delta \end{array}
\begin{equation}
Single Path
先取样第一个状态 ,然后用策略 生成一条轨迹: 。 因此 ,Q 值是在每次轨迹结束之后计算的折扣奖励和。
Vine
先取样第一个状态 ,然后用策略 生成一系列轨迹。 然后,从这些轨迹中选 N 个状态 组成 rollout 集。 对 rollout 集中每一个状态 ,使用 进行动作采样 。 对每个在 采样到的动作 ,对其继续采样一个短的轨迹,来计算其 Q 值 。
Practical Algorithm
- 使用 Single-Path 或 Vine 方法进行采样
- 计算最终优化函数中的目标值的期望
- 近似的去解这个优化问题来更新策略参数 。