什么是样本效率,如何使用重要性抽样来实现它?

人工智能 强化学习 文件 重要性抽样 样本效率
2021-11-01 20:02:51

例如,这篇论文的标题是:“Sample Efficient Actor-Critic with Experience Replay”。

什么是采样效率,如何使用重要性采样来实现它?

2个回答

如果算法能够充分利用每个样本,则该算法是样本高效的。想象一下,第一次尝试学习如何玩 PONG。作为人类,您只需几秒钟就可以根据很少的样本来学习如何玩游戏。这使您非常“高效”。现代强化学习算法必须看到100数据比您多一千倍,因此相对而言,它们的采样效率低下。

在离策略学习的情况下,并非所有样本都是有用的,因为它们不是我们感兴趣的分布的一部分。重要性抽样是一种过滤这些样本的技术。它最初的用途是理解一个分布,同时只能从不同但相关的分布中抽取样本。在 RL 中,这通常会在尝试学习 off-policy 时出现。即,您的样本是由某些行为策略生成的,但您想学习目标策略。因此,需要衡量生成的样本与目标策略可能制定的样本的重要性/相似程度。因此,一个是从有利于这些“重要”样本的加权分布中抽样。然而,有许多方法可以表征重要的内容,并且它们的有效性可能因应用而异。

这种离策略的重要性采样最常见的方法是找到目标策略生成样本的可能性的比率。Tang 和 Abbeel的论文On a Connection between Importance Sampling and the Likelihood Ratio Policy Gradient (2010) 涵盖了这个主题。

样本效率表示在训练期间代理/算法需要在环境中生成的经验量(例如,它采取的动作数量和结果状态的数量 + 它观察到的奖励),以达到一定的性能水平。直观地说,如果一个算法能够很好地利用它碰巧产生的每一条经验并快速改进其策略,你就可以说它是样本高效的。如果一个算法无法从许多经验样本中学习任何有用的东西并且没有迅速改进,那么它的样本效率就会很差。

Jaden 的答案中对重要性抽样的解释似乎大多是正确的。

在您问题的论文中,重要性采样是能够正确组合 1)从多步轨迹中学习和 2)体验重放缓冲区的要素之一。这两件事以前不容易结合起来(因为没有重要性采样的多步返回仅在策略上学习中是正确的,而重放缓冲区中的旧样本是由旧策略生成的,这意味着从它们中学习是脱离策略的)。不过,这两件事都单独提高了采样效率,这意味着如果它们仍然可以以某种方式组合起来,也有利于采样效率。