优先经验回放是什么?让强化学习多复习“错得最多”的经验
优先经验回放(Prioritized Experience Replay)是一种提高强化学习效率的方法,由 DeepMind 的 Tom Schaul、John Quan、Ioannis Antonoglou 和 David Silver 在 2015 年提出,并在 2016 年的 ICLR 会议上发表。它的核心思想是:根据经验的重要性,以不同的频率来回放这些经验,而不是平等地对待所有经验。
先说经验回放
在深度强化学习中,智能体在环境中不断尝试、获得经验:在某个状态下做了某个动作,得到了什么奖励,进入了什么新的状态。经验回放是 DeepMind 训练 DQN 玩雅达利游戏时使用的关键技术:把这些经验存进一个“回放缓冲区”,训练时从中随机抽取一批经验来学习,而不是只用刚刚发生的那一条。这样做有两个好处:一是同一条经验可以被反复利用,提高了数据的利用效率;二是随机抽取打破了连续经验之间的相关性,让训练更加稳定。
问题:所有经验一视同仁
传统的经验回放是均匀随机抽样的:每一条经验被抽中的概率都一样。但不同的经验对学习的价值并不相同。有些经验,智能体已经学得很好了,它的预测和实际结果几乎一样,再学一遍收获不大;有些经验则让智能体感到“意外”,它的预测和实际结果相差很大,说明这里还有很多东西没学会。就像复习考试时,与其平均地把所有题目都再做一遍,不如重点复习那些经常做错的题目。
优先经验回放怎么做
优先经验回放用时序差分误差(TD 误差)来衡量一条经验的重要性。TD 误差反映的是智能体对这条经验的预测值与根据实际结果计算的目标值之间的差距,差距越大,说明这条经验越“出乎意料”,越值得学习。抽样时,TD 误差大的经验被赋予更高的优先级,被抽中的概率更大。
为了避免只盯着少数几条误差大的经验、完全忽略其他经验,论文采用了随机的优先级抽样:优先级高的经验更容易被抽中,但优先级低的经验也有一定的机会。此外,因为有偏的抽样改变了数据的分布,会给学习带来偏差,论文还引入了重要性采样权重来进行修正,在训练后期逐渐加强修正的力度。
效果
论文报告,将优先经验回放用于 DQN 后,在雅达利游戏上的学习速度明显加快,在大多数游戏上的最终表现也超过了使用均匀回放的 DQN。它后来成为 Rainbow 等许多先进强化学习算法的标准组件之一。