Pop与Art分别表示Preserving Outputs Percisely以及Adaptive Rescaling Target, 即在保障已历经样本输出不变的前提下自适应缩放target值的算法。这个算法来自文献:《Multi-task Deep Reinforcement Learning with popart》。
PopArt这个算法本来是用来处理多任务强化学习算法中,不同任务之间的奖励不一样的这样一个问题。例如,在吃豆人游戏中,智能体的目标是收集小球,收集一颗奖励10 分,而吃掉幽灵则奖励200到1600分,这样智能体对于不同任务就会有偏重喜好。
PopArt作为奖励修剪的替代方案
传统上,研究者通过在强化学习算法中使用奖励修剪(clipping rewards)来克服不同奖励量表的问题。奖励修剪会将大的分数和小的分数修剪为 1 或 -1,使预期的奖励大致正常化。虽然这会使学习变得更容易,但是它也改变了智能体的目标。例如,吃豆人游戏的目标是收集每个价值 10 分的小球,并消灭价值 200~1600 分的鬼魅。通过修剪奖励,智能体在收集小球和消灭鬼魅之间没有明显的差异,导致智能体只收集小球,而不会去追逐消灭鬼魅。 当我们删除奖励修剪,并使用 PopArt 的自适应归一化来稳定学习时,它会导致发生完全不同的行为,智能体追逐消灭鬼魅,并获得更高的分数。
PopArt的工作原理
一般而言,深度学习依赖不断更新的神经网络的权重,使其输出更接近于所期望的目标输出。当神经网络被用到深度强化学习时也是如此。PopArt 通过估计这些目标的平均值和传播(如游戏中的得分)进行工作的。然后,在使用这些统计数据对目标进行归一化,然后再用他们来更新网络的权重。使用归一化目标可以使学习更加稳定可靠。为了获得准确的估计,如对未来的预期分数估计,网络的输出可以通过反转归一化过程重新调整到真正的目标范围。如果按部就班地完成,每次更新统计数据都会改变所有未归一化的输出,包括哪些已经非常好的输出。每当我们更新统计数据时,我们会通过向相反方向更新网络来防止这种情况的发生,这点完全是可以做到的。这意味着我们可以在保持先前学习过的输出不变的同时,能够享受到大规模更新的好处。正是出于这些原因,PopArt通过自适应地重新调整目标的同时精确地保存输出。