DRLHP 简介

DRLHP 简介#

原始 DRLHP 代码是基于 OpenAI 和 DeepMind 的 《从人类偏好中学习的深度强化学习》 复现,由 Matthew Rahtz 完成,并经过重构以便于在加州大学伯克利分校人类兼容人工智能研究中心的研究应用中使用。

我们对代码进行重构于 drlhp

备注

原始版本的代码库的目标是成功训练 DRLHP(Deep Reinforcement Learning from Human Preferences),使用合成和人类的偏好在 Pong、Enduro 和新颖的移动点环境中进行训练,其 API 主要设计用于这些小型重现案例。HumanCompatibleAI DRLHP 重构的目标包括:

  • 将 API 从单一 run.py 文件更改为更模块化的设计,以便可以插入其他实验代码

  • 添加对任意像素基础环境的支持,具有不同大小和通道数

  • 允许更容易地与更广泛的最新 RL 实现集成,而不是在代码库中有特定的 A2C 实现

  • 简化加载预训练策略(无论是来自 RL 还是模仿)以预热训练过程的过程,除了从头开始启动策略外

为了实现HumanCompatibleAI DRLHP的目标,DRLHP 的基本元素被重构为 Gym 风格的环境包装器。这个包装器:

  • 管理创建子进程,用于异步奖励预测器训练和异步收集偏好对的片段

  • 存储从底层环境返回的观察结果,将它们连接成片段。当片段达到指定长度时,它们会通过管道传递给负责构建片段对并请求偏好的子进程

  • 可以返回底层环境的奖励或奖励预测器的奖励,该奖励预测器在整个奖励预测器训练过程中加载和更新

  • 可以与任何兼容 Gym 的 RL 算法一起使用,可以将奖励预测器奖励传递给它,而无需对其进行特殊修改

安装依赖

conda install anaconda::swig
conda install -c conda-forge box2d-py
pip install tensorflow pyglet "gymnasium[all]" -i https://pypi.tuna.tsinghua.edu.cn/simple