Preference Transformer:基于Transformer的强化学习人类偏好建模

Preference Transformer:基于Transformer的强化学习人类偏好建模

PreferenceTransformer Preference Transformer: Modeling Human Preferences using Transformers for RL (ICLR2023 Accepted) PreferenceTransformer 项目地址: https://gitcode.com/gh_mirrors/pr/PreferenceTransformer

项目介绍

Preference Transformer 是一个基于Transformer架构的开源项目,旨在通过建模人类偏好来优化强化学习(RL)中的非马尔可夫奖励。该项目由来自KAIST、密歇根大学、LG AI Research、UC Berkeley和Google Research的研究团队共同开发,并在ICLR 2023会议上发表。

项目通过构建隐藏嵌入 ${\mathbf{x}_t}$ 来捕捉从初始时间步到时间步 $t$ 的上下文信息,利用偏好注意力层计算非马尔可夫奖励 ${\hat{r}t}$ 及其凸组合 ${z_t }$,最终聚合这些信息以建模非马尔可夫奖励的加权总和 $\sum{t}{w_t \hat{r}_t }$。

项目技术分析

核心技术

  1. Transformer架构:利用Transformer的强大序列建模能力,捕捉时间序列数据中的复杂依赖关系。
  2. 偏好注意力机制:通过双向自注意力计算非马尔可夫奖励,提升模型对人类偏好的理解。
  3. Jax/Flax实现:基于Jax和Flax框架,提供高效的计算性能和可扩展性。

技术优势

  • 非马尔可夫奖励建模:有效处理复杂环境中奖励的时序依赖性。
  • 高灵活性:支持多种环境和数据集,如D4RL和Robosuite。
  • 开源友好:提供详细的安装指南和运行示例,便于研究和应用。

项目及技术应用场景

应用领域

  1. 机器人控制:在Robosuite等机器人模拟环境中,优化机器人行为以符合人类偏好。
  2. 游戏AI:在复杂游戏环境中,通过学习人类玩家的偏好,提升AI智能体的表现。
  3. 自动驾驶:在自动驾驶系统中,根据人类驾驶员的偏好,优化驾驶策略。

典型案例

  • D4RL数据集:通过训练奖励模型,提升强化学习算法在多种任务中的性能。
  • Robosuite环境:利用人类演示数据,训练机器人执行复杂任务,如抓取和放置。

项目特点

  1. 强大的建模能力:基于Transformer架构,能够有效捕捉和建模复杂的人类偏好。
  2. 高效实现:利用Jax/Flax框架,提供高效的计算和优化能力。
  3. 广泛适用性:支持多种环境和数据集,适用于多种强化学习任务。
  4. 开源便捷:提供详细的安装和运行指南,便于研究人员和开发者快速上手。

结语

Preference Transformer 项目为强化学习领域提供了一个全新的视角,通过建模人类偏好,优化非马尔可夫奖励,显著提升了智能体的学习效果。无论是学术界还是工业界,该项目都具有广泛的应用前景。欢迎各位研究人员和开发者尝试和使用这个强大的开源工具!

安装与运行

安装依赖

conda create -y -n offline python=3.8
conda activate offline

pip install --upgrade pip
conda install -y -c conda-forge cudatoolkit=11.1 cudnn=8.2.1
pip install -r requirements.txt
cd d4rl
pip install -e .
cd ..

pip install "jax[cuda11_cudnn805]>=0.2.27" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install protobuf==3.20.1 gym<0.24.0 distrax==0.1.2 wandb
pip install transformers

运行示例

D4RL环境
# Preference Transfomer (PT)
CUDA_VISIBLE_DEVICES=0 python -m JaxPref.new_preference_reward_main --use_human_label True --comment {experiment_name} --transformer.embd_dim 256 --transformer.n_layer 1 --transformer.n_head 4 --env {D4RL env name} --logging.output_dir './logs/pref_reward' --batch_size 256 --num_query {number of query} --query_len 100 --n_epochs 10000 --skip_flag 0 --seed {seed} --model_type PrefTransformer
Robosuite环境
# Preference Transfomer (PT)
CUDA_VISIBLE_DEVICES=0 python -m JaxPref.new_preference_reward_main --use_human_label True --comment {experiment_name} --robosuite True --robosuite_dataset_type {dataset_type} --robosuite_dataset_path {path for robomimic demonstrations} --transformer.embd_dim 256 --transformer.n_layer 1 --transformer.n_head 4 --env {Robosuite env name} --logging.output_dir './logs/pref_reward' --batch_size 256 --num_query {number of query} --query_len {100|50} --n_epochs 10000 --skip_flag 0 --seed {seed} --model_type PrefTransformer

更多详细信息和运行示例,请参考项目官方文档

PreferenceTransformer Preference Transformer: Modeling Human Preferences using Transformers for RL (ICLR2023 Accepted) PreferenceTransformer 项目地址: https://gitcode.com/gh_mirrors/pr/PreferenceTransformer

数据集介绍:无人机视角水域目标检测数据集 一、基础信息 数据集名称:无人机视角水域目标检测数据集 图片数量: - 训练集:2,752张图片 - 验证集:605张图片 分类类别: - Boat(船只):水域交通与作业场景中的常见载具 - Buoy(浮标):水域导航与安全标志物 - Jetski(喷气滑艇):高速水上运动载具 - Kayak(皮划艇):小型人力划桨船只 - Paddle_board(桨板):休闲运动类浮板 - Person(人员):水域活动参与者的目标检测 标注格式: YOLO格式标注,含目标边界框与类别标签,适配主流目标检测框架 数据特性: 无人机航拍视角数据,覆盖不同高度与光照条件的水域场景 二、适用场景 水域智能监测系统开发: 支持构建船只流量统计、异常行为检测等水域管理AI系统 水上救援辅助系统: 用于训练快速定位落水人员与小型船只的检测模型 水上运动安全监控: 适配冲浪区、赛艇场等场景的运动安全预警系统开发 环境生态研究: 支持浮标分布监测、水域人类活动影响分析等研究场景 三、数据集优势 视角独特性: 纯无人机高空视角数据,有效模拟真实航拍检测场景 目标多样性: 覆盖6类水域高频目标,包含动态载具与静态标志物组合 标注精准性: 严格遵循YOLO标注规范,边界框与目标实际尺寸高度吻合 场景适配性: 包含近岸与开阔水域场景,支持模型泛化能力训练 任务扩展性: 适用于目标检测、运动物体追踪等多任务模型开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞淑瑜Sally

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值