OpenAI 随机网络蒸馏(RND)用于强化学习
OpenAI 开发了随机网络蒸馏(Random Network Distillation,RND),这是一种基于预测的方法,用于通过好奇心激励强化学习(RL)代理探索环境。该方法通过根据预测固定随机神经网络输出的难度来奖励代理,从而让它们访问不熟悉的状态。首次实现了在 Atari 游戏 Montezuma's Revenge 上超越平均人类表现,达到了最先进的水平,并且在不依赖人类示范或底层模拟器状态的情况下,偶尔能够通过找到全部 24 个房间而完成第一关。
随机网络蒸馏(RND)技术概览
随机网络蒸馏旨在激励对陌生状态的探索。系统使用一个固定的、随机初始化的神经网络作为目标网络。第二个网络——预测网络——尝试在给定下一个状态时预测该目标网络的输出。
由于预测网络只在代理访问的状态上进行训练,它在经常访问的状态上的预测误差较低,而在新颖状态上的误差较高。该预测误差被用作内在奖励,驱动代理向环境中未探索的区域前进。
解决噪声电视问题
先前基于下一个状态预测的好奇心驱动方法容易受到“噪声电视问题”(noisy‑TV problem)的影响:代理会被环境中的随机因素(例如播放随机噪点的电视)所困,因为这些因素永远不可预测,从而持续产生高内在奖励。
RND 通过聚焦于预测确定性的合成问题(即固定的随机网络)而不是环境本身的下一个状态,消除了该问题。这确保了预测误差来源于新颖性而非随机性,使 RND 对噪声电视问题具有免疫力。
在 Montezuma's Revenge 中的表现
Montezuma's Revenge 被广泛视为强化学习探索能力的基准,因为简单的探索策略通常难以获得奖励。在最初的 DQN 论文中,它是唯一一个代理只能获得 0% 人类平均分(4.7K)的游戏。
使用 RND,OpenAI 获得了以下结果:
- 大规模实验: 在 1024 个 rollout worker 的设置下,代理在 9 次运行中实现了平均回报 10K,最佳平均回报 14.5K。大多数运行发现了 20 到 22 个房间。
- 长时运行实验: 10 次运行中有一次达到了最佳回报 17.5K,对应于通过第一关并找到全部 24 个房间。
跨环境的好奇心驱动学习
OpenAI 在 50 多个不同环境中进行的大规模研究中,没有使用任何环境特定的(外部)奖励。代理展示了不同程度的能力:
- Super Mario Bros: 代理发现了 11 个关卡,找到隐藏房间并击败了 boss,因为内在奖励与游戏推进目标高度吻合。
- Bowling: 代理的表现优于使用裁剪外部奖励训练的代理,可能是因为它被全垒打后记分板的闪烁所吸引。
- Pong: 代理学会了保持球在场上以延长回合,虽然它更倾向于延长游戏时间而非赢得比赛。
- Breakout: 当遇到新的砖块布局或首次通过关卡时,代理会出现内在奖励的尖峰。
实现与训练稳定性
OpenAI 指出,实现细节对 RND 的成功至关重要。通过避免特征饱和并将内在奖励控制在可预测范围内,实现了训练的稳定性。团队发现,每修复一次 bug,性能都会显著提升,强调了更简单的算法往往更易于调试和保持稳定。
为了将探索奖励与外部奖励结合,OpenAI 使用了 PPO 的变体,并为两条奖励流分别设置了两个价值头。这允许使用不同的折扣率,并能够同时结合 episodic 与 non‑episodic 的回报。