OpenAI 进化策略梯度 (EPG)
OpenAI 推出了进化策略梯度 (EPG),这是一种元学习方法,通过进化损失函数而非策略,使强化学习(RL)代理能够更高效地学习新任务。该方法通过利用进化的损失函数来编码在相似任务之间的进展感,使代理无需从“空白板”开始。
为元学习进化损失函数
EPG 专注于进化损失函数本身,以提升学习效率和泛化能力。这不同于其他元学习方法,它们侧重于学习循环策略或策略初始化。OpenAI 指出,循环策略往往对特定任务过拟合,而策略初始化在探索方面的表达能力有限。
损失函数被假设为最有可能在截然不同的任务之间实现泛化的对象。这基于与手工设计的损失函数相同的逻辑,例如在近端策略优化(PPO)中使用的损失函数,它们能够通用于诸如 Atari 游戏和机器人控制等多种问题。
泛化性能与“蚂蚁”实验
为了测试 EPG 的泛化能力,OpenAI 进行了一项实验,使用被称为“蚂蚁”的代理,让它们走向竞技场右半部随机位置的目标。
- Training: EPG 损失函数被进化为对竞技场右半部的目标有效。
- Testing: 在冻结损失函数后,代理被分配到竞技场左半部的目标——这是一项超出训练分布的任务。
- Outcome: 代理成功学会向左行走,展示了对训练分布之外任务的泛化能力。
相比之下,RL2 算法学习一种能够适应新任务的策略,但在此情境下失败。虽然 RL2 在右半部目标上表现成功,但在面对左半部目标时却在质上失败,仍继续向右行走。这表明 RL2 对特定训练任务产生了过拟合。
当前局限性以及性能与通用性之间的权衡
虽然 EPG 在任务族内部的泛化方面展现出潜力,但它目前在性能与损失函数的通用性之间存在权衡。
- Task Family Limitation: EPG 目前只能训练出对单一小任务族(例如左右行走)有效的损失函数。
- Comparison to Standard RL: 标准强化学习的损失函数高度通用;同一损失函数可用于截然不同的技能,例如玩《太空侵略者》。然而,EPG 的损失函数尚未足够通用,无法跨越极其不同的任务。
OpenAI 总结道,EPG 通过牺牲标准强化学习方法中广泛的通用性,在特定任务族内获得了性能提升。
Sources
- OriginalEvolved Policy Gradients