Synthetic
收藏arXiv2024-07-29 更新2024-08-05 收录
下载链接:
https://github.com/ggflow123/DDRL
下载链接
链接失效反馈官方服务:
资源简介:
Synthetic数据集由伦斯勒理工学院和加州大学洛杉矶分校的研究团队创建,用于离线强化学习研究。该数据集包含150条数据,通过数据蒸馏技术从专家政策生成的轨迹数据中提炼而来。数据集的创建旨在提高样本效率和泛化能力,适用于训练强化学习模型,特别是在需要高质量数据集以减少随机性和过拟合的场景中。
The Synthetic Dataset was created by research teams from Rensselaer Polytechnic Institute (RPI) and the University of California, Los Angeles (UCLA) for offline reinforcement learning research. This dataset contains 150 data samples, which are derived from the trajectory data generated by expert policies via data distillation technology. The dataset was developed to improve sample efficiency and generalization ability, and is suitable for training reinforcement learning models, especially in scenarios where high-quality datasets are required to reduce randomness and overfitting.
提供机构:
伦斯勒理工学院、加州大学洛杉矶分校
创建时间:
2024-07-29
原始信息汇总
DDRL 数据集概述
数据集环境
环境设置
- 使用
conda创建和激活环境: bash conda env create -f environment.yml conda activate DDRL
环境配置
-
使用 Procgen 基准测试中的三个环境:bigfish、starpilot 和 jumper,均为 easy 模式,200 个种子。
-
环境名称在配置文件中表示为:
env=bigfish200seeds # bigfish env=jumper200seeds # jumper env=starpilot200seeds # starpilot
数据集生成步骤
1. 生成离线数据集
- 运行命令: bash python src/offline_data.py model_save_path=bf200seeds.pt env=bigfish200seeds model_class=teacher.PPOTeacherProcgen
2. 生成蒸馏数据集
- 运行命令: bash python src/train_distill_data_and_save.py env=jumper200seeds distill=exp10 distill.teacher_path=jp200seeds.pt distill.teacher_class=teacher.PPOTeacherProcgen loss=MSE student=policy_student_CNN trainablebuffer.buffer_kwargs.synthetic_buffer_size=15 trainablebuffer.buffer_kwargs.synthetic_init_threshold_size=1000 student_train_epochs=10 student_update_freq=1 distill.distill_kwargs.batch_size=75
3. 使用蒸馏数据集训练学生网络
- 运行命令: bash python src/run_offline_datadistill.py env=bigfish200seeds distill=exp100 distill.teacher_path=bf200seeds.pt distill.teacher_class=teacher.PPOTeacherProcgen loss=MAE student=policy_student_CNN trainablebuffer.buffer_kwargs.synthetic_buffer_size=5000 trainablebuffer.buffer_kwargs.synthetic_init_threshold_size=1000 student_train_epochs=50 student_update_freq=1 distill.distill_kwargs.batch_size=256
4. 评估
- 运行命令: bash python src/run_evaluation.py model_save_path=student-model__offline__starpilot200seeds__sp200seeds.pt__policy-student-CNN__CNN0__MAE__adam0__batch_buffer100__batch_trainablebuffer100__exp100.pt env=starpilot200seeds evaluator_class=evaluation.VecEvaluator
引用
-
数据集的引用信息:
@misc{light2024datasetdistillationofflinereinforcement, title={Dataset Distillation for Offline Reinforcement Learning}, author={Jonathan Light and Yuanzhe Liu and Ziniu Hu}, year={2024}, eprint={2407.20299}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2407.20299}, }
搜集汇总
数据集介绍

构建方式
Synthetic数据集的构建基于数据蒸馏技术,旨在通过从离线数据集中提取关键特征来生成一个更小但更高效的合成数据集。具体而言,研究团队采用了梯度匹配损失函数,通过比较模型在真实数据集和合成数据集上的梯度差异,优化合成数据集的参数。这种方法确保了合成数据集在训练模型时能够产生与真实数据集相似的梯度,从而提升模型的泛化能力。
特点
Synthetic数据集的主要特点在于其高效性和泛化能力。首先,合成数据集的规模远小于原始离线数据集,显著提高了样本效率。其次,通过数据蒸馏技术,合成数据集保留了原始数据集的关键特征,使得训练后的模型在不同环境和任务中表现出良好的泛化性能。此外,该数据集在减少随机性和过拟合方面也表现出显著优势,尤其适用于强化学习场景。
使用方法
Synthetic数据集主要用于离线强化学习的训练过程。用户可以通过提供的GitHub仓库获取该数据集,并使用其训练强化学习模型。在训练过程中,用户可以选择使用合成数据集替代原始离线数据集,以提高模型的训练效率和泛化能力。此外,该数据集还可以与其他强化学习算法结合使用,如行为克隆或百分位行为克隆,以进一步优化模型的性能。
背景与挑战
背景概述
Synthetic数据集由Jonathan Light、Yuanzhe Liu和Ziniu Hu等研究人员于2024年提出,旨在解决离线强化学习(Offline Reinforcement Learning, Offline RL)中的数据生成与训练问题。该数据集的核心研究问题是如何通过数据蒸馏技术生成高质量的合成数据集,以替代传统的离线数据集,从而提升策略模型的性能。研究团队提出了一种基于梯度匹配的数据蒸馏方法,并在Procgen环境中进行了实验验证。该数据集的提出不仅为离线强化学习领域提供了新的研究方向,还展示了在数据稀缺或无法在线交互的环境中,合成数据集的有效性。
当前挑战
Synthetic数据集的构建面临多个挑战。首先,离线强化学习中的数据生成与训练过程紧密耦合,传统的在线交互方式在许多实际场景中不可行,导致数据获取困难。其次,离线数据集通常依赖于高质量的专家策略,而实际中往往只能获取到中等质量的数据,这加剧了分布偏移问题。此外,数据蒸馏过程中如何确保合成数据集的有效性和泛化能力也是一个关键挑战。最后,如何在有限的计算资源和时间下,验证合成数据集在不同环境中的广泛适用性,也是该数据集面临的重要问题。
常用场景
经典使用场景
Synthetic数据集的经典使用场景主要集中在离线强化学习(Offline Reinforcement Learning, Offline RL)领域。该数据集通过数据蒸馏技术,从现有的离线数据集中生成一个更小但质量更高的合成数据集,用于训练强化学习模型。具体而言,Synthetic数据集在Procgen环境中进行了验证,展示了其在不同游戏场景中的泛化能力。通过使用合成数据集,模型能够在未见过的环境中表现出与使用原始数据集或行为克隆技术相当的性能。
解决学术问题
Synthetic数据集解决了离线强化学习中的几个关键学术问题。首先,它缓解了数据生成与训练过程耦合的问题,特别是在无法频繁与环境交互的情况下。其次,它有效应对了离线数据集中的分布偏移问题,通过生成高质量的合成数据集,减少了模型在训练过程中出现的随机性和过拟合现象。此外,Synthetic数据集还提高了样本效率,使得在数据稀缺或噪声较大的情况下,仍能训练出具有良好泛化能力的模型。
衍生相关工作
Synthetic数据集的提出激发了大量相关研究工作。首先,它在数据蒸馏领域的应用为离线强化学习提供了新的思路,推动了数据蒸馏技术在强化学习中的进一步发展。其次,Synthetic数据集的成功应用也启发了其他研究者探索如何在不同环境中应用数据蒸馏技术,特别是在数据稀缺或噪声较大的情况下。此外,Synthetic数据集还为知识蒸馏和政策蒸馏等相关领域提供了新的研究方向,特别是在如何通过蒸馏技术生成更高效、更小规模的模型方面。
以上内容由遇见数据集搜集并总结生成



