PopArt (Preserving Outputs Precisely, while Adaptively Rescaling Targets) 是 DeepMind 在 NIPS (在 2018 年改名为 NeurIPS) 2016 上发表的一种对预测值和目标值进行归一化 (normalization) 的方法。

基于价值的强化学习中,当我们更新行为策略时,价值函数的大小乃至数量级可能会随着时间而变化。简单的乘以一个常数无法适应数量级的改变,而对奖励或 TD 目标进行裁剪可能改变智能体的实际目标并导致性质不同的行为。PopArt 可以自适应地归一化预测值和目标值,从而解决上述问题。

目标的归一化

在 PopArt 中我们对预测值 (例如价值网络的输出) 和目标值 (例如 TD 目标) 进行归一化以使得它们保持一致的比例。首先使用仿射变换对目标进行归一化:

其中 通过历史 值来计算。遵循原论文,假设 是标量, 是第 个时间步的 值,那么:

它们也可以增量计算:

可以很容易拓展到多变量情况。

预测值的归一化

预测值 被归一化为:

将其代入 (1) 中的 ,我们得到:

在 (5) 中 依赖于 ,因此当它们发生变化时 也会变化。这种由目标值的变化引起的变化并不是我们所期望的。因此我们需要更改参数 :

其中 是新的 。这样我们就得到了:

PopArt 算法

对于每个时间步

  1. 使用 根据 (3) 更新
  2. 根据 (6) 更新
  3. 根据 (1) 计算归一化目标值
  4. 根据 (4) 计算归一化预测值
  5. 进行梯度更新

需要注意的是, 在第二步和第五步中都进行了更新。