scope-rl

scope-rl

离线强化学习与策略评估的开源Python库

SCOPE-RL是一个用于离线强化学习的开源Python库。它实现了从数据生成到策略学习、评估和选择的完整流程。该库提供了多种离线策略评估(OPE)估计器和策略选择(OPS)方法,兼容OpenAI Gym和Gymnasium接口。SCOPE-RL还包含RTBGym和RecGym环境,用于模拟实际应用场景。它简化了离线强化学习的研究和实践过程,提高了实验的透明度和可靠性。

SCOPE-RL离线强化学习离线策略评估策略选择Python库Github开源项目

SCOPE-RL: 用于离线强化学习、离线策略评估和选择的Python库

<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/a5665959-6f46-4c9c-9553-7df773fbf801.png" width="100%"/></div>

pypi Python Downloads GitHub commit activity GitHub last commit Documentation Status License arXiv arXiv

<details> <summary><strong>目录 </strong>(点击展开)</summary> </details>

文档可在此处获取

稳定版本可在PyPI获取

幻灯片可在此处获取

日本语版本请点击这里

概述

SCOPE-RL是一个开源Python软件,用于实现**离线强化学习(offline RL)**的端到端流程,包括数据收集、离线策略学习、离线策略性能评估和策略选择。我们的软件包含一系列模块,用于实现合成数据集生成、数据集预处理、离线策略评估(OPE)估计器和离线策略选择(OPS)方法。

该软件还与d3rlpy兼容,后者实现了一系列在线和离线RL方法。SCOPE-RL可以在任何具有OpenAI GymGymnasium类接口的环境中进行简单、透明和可靠的离线RL研究实验。它还有助于在各种自定义数据集和真实世界数据集上实现离线RL。

特别是,SCOPE-RL能够促进和便利与以下研究主题相关的评估和算法比较:

  • 离线强化学习:离线RL旨在仅使用由行为策略收集的离线日志数据来学习新策略。SCOPE-RL支持使用由各种行为策略和环境收集的自定义数据集进行灵活的实验。

  • 离线策略评估:OPE旨在仅使用离线日志数据评估反事实策略的性能。SCOPE-RL支持许多OPE估计器,并简化了评估和比较OPE估计器的实验流程。此外,我们还实现了高级OPE方法,如基于状态-动作密度估计和累积分布估计的估计器。

  • 离线策略选择:OPS旨在使用离线日志数据从多个候选策略池中识别表现最佳的策略。SCOPE-RL支持一些基本的OPS方法,并提供几个指标来评估OPS的准确性。

这个软件的灵感来自Open Bandit Pipeline,后者是一个用于上下文赌臂问题中OPE的库。然而,SCOPE-RL还实现了一套OPE估计器和工具,以便于进行上下文赌臂设置的OPE实验,以及RL的OPE实验。

实现

<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/59c3e11d-1654-4885-928b-cc88a8ebfc52.png" width="100%"/></div> <figcaption> <p align="center"> 使用SCOPE-RL的离线RL和OPE的端到端工作流程 </p> </figcaption>

SCOPE-RL主要由以下三个模块组成。

  • dataset模块:该模块提供工具,用于在OpenAI GymGymnasium类接口之上从任何环境生成合成数据。它还提供工具来预处理日志数据。
  • policy模块:该模块为d3rlpy提供一个包装器类,以实现灵活的数据收集。
  • ope模块:该模块提供一个通用抽象类来实现OPE估计器。它还提供一些有用的工具来执行OPS。
<details> <summary><strong>行为策略 </strong>(点击展开)</summary>
  • 离散
    • Epsilon贪心
    • Softmax
  • 连续
    • 高斯
    • 截断高斯
</details> <details> <summary><strong>OPE估计器 </strong>(点击展开)</summary> - 期望回报估计 - 基本估计器 - 直接方法(拟合Q值评估) - 轨迹重要性采样 - 每步重要性采样 - 双重稳健 - 自归一化轨迹重要性采样 - 自归一化每步重要性采样 - 自归一化双重稳健 - 状态边际估计器 - 状态-动作边际估计器 - 双重强化学习 - 权重和价值学习方法 - 增广拉格朗日方法(BestDICE、DualDICE、GradientDICE、GenDICE、MQL/MWL) - 极小极大Q学习和权重学习(MQL/MWL) - 置信区间估计 - 自助法 - Hoeffding不等式 - (经验)Bernstein不等式 - Student's t-检验 - 累积分布函数估计 - 直接方法(拟合Q值评估) - 轨迹重要性采样 - 轨迹双重稳健 - 自归一化轨迹重要性采样 - 自归一化轨迹双重稳健 </details> <details> <summary><strong>OPS标准</strong>(点击展开)</summary>
  • 策略价值
  • 策略价值下界
  • 下四分位数
  • 条件风险价值(CVaR)
</details> <details> <summary><strong>OPS的评估指标</strong>(点击展开)</summary>
  • 均方误差
  • Spearman等级相关系数
  • 遗憾
  • 第一类和第二类错误率
  • 前k个策略的{最佳/最差/平均/标准差}性能
  • 前k个策略的安全违规率
  • SharpeRatio@k
</details>

请注意,除了上述OPE和OPS方法外,研究人员还可以通过SCOPE-RL中实现的通用抽象类轻松实现和比较自己的估计器。此外,从业者可以将上述方法应用于他们的实际数据,以评估和选择适合自身实际情况的反事实策略。

SCOPE-RL的OPE/OPS模块的显著特点总结如下。

<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/918b3bcb-9625-4d75-8607-1521c071ab12.png" width="100%"/></div> <figcaption> <p align="center"> SCOPE-RL的OPE/OPS实现的四个显著特点 </p> </figcaption>

为了提供模拟实际设置的自定义实验示例,我们还提供了RTBGymRecGym,这是用于实时竞价(RTB)和推荐系统的RL环境。

安装

你可以使用Python的包管理器pip来安装SCOPE-RL。

pip install scope-rl

你也可以从源代码安装SCOPE-RL。

git clone https://github.com/hakuhodo-technologies/scope-rl cd scope-rl python setup.py install

SCOPE-RL支持Python 3.9或更新版本。有关其他要求,请参阅requirements.txt。当遇到一些依赖冲突时,请同时参考问题#17

使用方法

这里,我们提供了一个示例工作流程,展示如何使用SCOPE-RL在RTBGym上执行离线RL、OPE和OPS。

合成数据集生成和数据预处理

让我们从生成一些用于执行离线RL的合成日志数据开始。

# 在RTBGym环境中实现数据收集程序 # 导入SCOPE-RL模块 from scope_rl.dataset import SyntheticDataset from scope_rl.policy import EpsilonGreedyHead # 导入d3rlpy算法 from d3rlpy.algos import DoubleDQNConfig from d3rlpy.dataset import create_fifo_replay_buffer from d3rlpy.algos import ConstantEpsilonGreedy # 导入rtbgym和gym import rtbgym import gym import torch # 随机状态 random_state = 12345 device = "cuda:0" if torch.cuda.is_available() else "cpu" # (0) 设置环境 env = gym.make("RTBEnv-discrete-v0") # (1) 在在线环境中学习基准策略(使用d3rlpy) # 初始化算法 ddqn = DoubleDQNConfig().create(device=device) # 训练在线策略 # 这大约需要5分钟计算时间 ddqn.fit_online( env, buffer=create_fifo_replay_buffer(limit=10000, env=env), explorer=ConstantEpsilonGreedy(epsilon=0.3), n_steps=100000, n_steps_per_epoch=1000, update_start_step=1000, ) # (2) 生成日志数据集 # 将ddqn策略转换为随机行为策略 behavior_policy = EpsilonGreedyHead( ddqn, n_actions=env.action_space.n, epsilon=0.3, name="ddqn_epsilon_0.3", random_state=random_state, ) # 初始化数据集类 dataset = SyntheticDataset( env=env, max_episode_steps=env.step_per_episode, ) # 行为策略收集一些日志数据 train_logged_dataset = dataset.obtain_episodes( behavior_policies=behavior_policy, n_trajectories=10000, random_state=random_state, ) test_logged_dataset = dataset.obtain_episodes( behavior_policies=behavior_policy, n_trajectories=10000, random_state=random_state + 1, )

离线强化学习

现在我们准备使用d3rlpy从日志数据中学习新的策略(评估策略)。

# 使用SCOPE-RL和d3rlpy实现离线RL程序 # 导入d3rlpy算法 from d3rlpy.dataset import MDPDataset from d3rlpy.algos import DiscreteCQLConfig # (3) 从离线日志数据中学习新策略(使用d3rlpy) # 将日志数据集转换为d3rlpy的数据集格式 offlinerl_dataset = MDPDataset( observations=train_logged_dataset["state"], actions=train_logged_dataset["action"], rewards=train_logged_dataset["reward"], terminals=train_logged_dataset["done"], ) # 初始化算法 cql = DiscreteCQLConfig().create(device=device) # 训练离线策略 cql.fit( offlinerl_dataset, n_steps=10000, )

基本离线策略评估

然后,我们使用行为策略收集的离线日志数据来评估几种评估策略(ddqn、cql和随机)的性能。具体来说,我们比较了各种OPE估计器的估计结果,包括直接方法(DM)、轨迹重要性采样(TIS)、每步重要性采样(PDIS)和双重稳健(DR)。

# 使用SCOPE-RL实现基本的OPE程序 # 导入SCOPE-RL模块 from scope_rl.ope import CreateOPEInput from scope_rl.ope import OffPolicyEvaluation as OPE from scope_rl.ope.discrete import DirectMethod as DM from scope_rl.ope.discrete import TrajectoryWiseImportanceSampling as TIS from scope_rl.ope.discrete import PerDecisionImportanceSampling as PDIS from scope_rl.ope.discrete import DoublyRobust as DR # (4) 以离线方式评估学习到的策略 # 我们比较 ddqn、cql 和随机策略 cql_ = EpsilonGreedyHead( base_policy=cql, n_actions=env.action_space.n, name="cql", epsilon=0.0, random_state=random_state, ) ddqn_ = EpsilonGreedyHead( base_policy=ddqn, n_actions=env.action_space.n, name="ddqn", epsilon=0.0, random_state=random_state, ) random_ = EpsilonGreedyHead( base_policy=ddqn, n_actions=env.action_space.n, name="random", epsilon=1.0, random_state=random_state, ) evaluation_policies = [cql_, ddqn_, random_] # 创建 OPE 类的输入 prep = CreateOPEInput( env=env, ) input_dict = prep.obtain_whole_inputs( logged_dataset=test_logged_dataset, evaluation_policies=evaluation_policies, require_value_prediction=True, n_trajectories_on_policy_evaluation=100, random_state=random_state, ) # 初始化 OPE 类 ope = OPE( logged_dataset=test_logged_dataset, ope_estimators=[DM(), TIS(), PDIS(), DR()], ) # 执行 OPE 并可视化结果 ope.visualize_off_policy_estimates( input_dict, random_state=random_state, sharey=True, )
<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/bc03c266-6b2d-45ce-a00e-0b40259a8b2c.png" width="100%"/></div> <figcaption> <p align="center"> OPE 估计器估计的策略值 </p> </figcaption>

更正式的 RTBGym 示例实现可在 ./examples/quickstart/rtb/ 找到。RecGym 的示例也可在 ./examples/quickstart/rec/ 找到。

高级离线策略评估

除了预期性能外,我们还可以估计评估策略的各种统计数据,包括方差和条件风险值(CVaR),这是通过估计评估策略下奖励的累积分布函数(CDF)来实现的。

# 使用 SCOPE-RL 实现累积分布估计程序 # 导入 SCOPE-RL 模块 from scope_rl.ope import CumulativeDistributionOPE from scope_rl.ope.discrete import CumulativeDistributionDM as CD_DM from scope_rl.ope.discrete import CumulativeDistributionTIS as CD_IS from scope_rl.ope.discrete import CumulativeDistributionTDR as CD_DR from scope_rl.ope.discrete import CumulativeDistributionSNTIS as CD_SNIS from scope_rl.ope.discrete import CumulativeDistributionSNTDR as CD_SNDR # (4) 以离线方式评估评估策略下奖励的累积分布函数 # 我们比较上一节(即基本 OPE 程序的第(3)部分)中定义的 ddqn、cql 和随机策略 # 初始化 OPE 类 cd_ope = CumulativeDistributionOPE( logged_dataset=test_logged_dataset, ope_estimators=[ CD_DM(estimator_name="cd_dm"), CD_IS(estimator_name="cd_is"), CD_DR(estimator_name="cd_dr"), CD_SNIS(estimator_name="cd_snis"), CD_SNDR(estimator_name="cd_sndr"), ], ) # 估计方差 variance_dict = cd_ope.estimate_variance(input_dict) # 估计 CVaR cvar_dict = cd_ope.estimate_conditional_value_at_risk(input_dict, alphas=0.3) # 估计并可视化策略性能的累积分布函数 cd_ope.visualize_cumulative_distribution_function(input_dict, n_cols=4)
<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/3e6c3c76-8faa-49b9-8d39-8d27a6853b07.png" width="100%"/></div> <figcaption> <p align="center"> OPE 估计器估计的累积分布函数 </p> </figcaption>

更多详细示例,请参考 quickstart/rtb/rtb_synthetic_discrete_advanced.ipynb

离线策略选择和 OPE/OPS 评估

我们还可以基于 OPE 结果,使用 OPS 类从一组候选策略中选择表现最佳的策略。同时,还可以使用各种指标(如均方误差、排序相关性、遗憾和 I 类及 II 类错误率)来评估 OPE/OPS 的可靠性。

# 基于 OPE 结果进行离线策略选择 # 导入 SCOPE-RL 模块 from scope_rl.ope import OffPolicySelection # (5) 进行离线策略选择 # 初始化 OPS 类 ops = OffPolicySelection( ope=ope, cumulative_distribution_ope=cd_ope, ) # 根据(基本)OPE 估计的策略值对候选策略进行排序 ranking_dict = ops.select_by_policy_value(input_dict) # 根据累积分布 OPE 估计的策略值对候选策略进行排序 ranking_dict_ = ops.select_by_policy_value_via_cumulative_distribution_ope(input_dict) # 可视化前 k 个部署结果 ops.visualize_topk_policy_value_selected_by_standard_ope( input_dict=input_dict, compared_estimators=["dm", "tis", "pdis", "dr"], relative_safety_criteria=1.0, )
<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/0c40c623-e212-4c99-91d5-cbc39aa872de.png" width="100%"/></div> <figcaption> <p align="center"> 策略值 10% 下四分位数的前 k 个统计数据比较 </p> </figcaption>
# (6) 评估 OPS/OPE 结果 # 根据估计的下四分位数对候选策略进行排序并评估选择结果 ranking_df, metric_df = ops.select_by_lower_quartile( input_dict, alpha=0.3, return_metrics=True, return_by_dataframe=True, ) # 使用真实指标可视化 OPS 结果 ops.visualize_conditional_value_at_risk_for_validation( input_dict, alpha=0.3, share_axes=True, )
<div align="center"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/a5eeb01e-2f9a-4678-aa7c-ae1c91c1821c.png" width="100%"/></div> <figcaption> <p align="center"> 策略值估计方差与真实方差的验证 </p> </figcaption>

更多示例,请参考 quickstart/rtb/rtb_synthetic_discrete_advanced.ipynb 了解离散动作,以及 quickstart/rtb/rtb_synthetic_continuous_advanced.ipynb 了解连续动作。

引用

如果您在工作中使用了我们的软件,请引用我们的论文:

Haruka Kiyohara, Ren Kishimoto, Kosuke Kawakami, Ken Kobayashi, Kazuhide Nakata, Yuta Saito.<br> SCOPE-RL: A Python Library for Offline Reinforcement Learning and Off-Policy Evaluation<br> [arXiv] [幻灯片] Bibtex:

@article{kiyohara2023scope,
  author = {Kiyohara, Haruka and Kishimoto, Ren and Kawakami, Kosuke and Kobayashi, Ken and Nataka, Kazuhide and Saito, Yuta},
  title = {SCOPE-RL: 一个用于离线强化学习和离线策略评估的Python库},
  journal={arXiv preprint arXiv:2311.18206},
  year={2023},
}

如果您在研究中使用了我们提出的"SharpeRatio@k"指标,请引用我们的论文:

Haruka Kiyohara, Ren Kishimoto, Kosuke Kawakami, Ken Kobayashi, Kazuhide Nakata, Yuta Saito.<br> 评估和基准测试离线策略评估的风险收益权衡<br> [arXiv] [幻灯片]

Bibtex:

@article{kiyohara2023towards,
  author = {Kiyohara, Haruka and Kishimoto, Ren and Kawakami, Kosuke and Kobayashi, Ken and Nataka, Kazuhide and Saito, Yuta},
  title = {评估和基准测试离线策略评估的风险收益权衡},
  journal={arXiv preprint arXiv:2311.18207},
  year={2023},
}

Google群组

如果您对SCOPE-RL感兴趣,请通过以下Google群组关注其更新: https://groups.google.com/g/scope-rl

贡献

我们非常欢迎对SCOPE-RL的任何贡献! 请参阅CONTRIBUTING.md了解如何为项目做出贡献的一般指南。

许可证

本项目采用Apache 2.0许可证 - 详情请见LICENSE文件。

项目团队

  • Haruka Kiyohara主要贡献者;康奈尔大学)
  • Ren Kishimoto(东京工业大学)
  • Kosuke Kawakami(株式会社博报堂科技)
  • Ken Kobayashi(东京工业大学)
  • Kazuhide Nakata(东京工业大学)
  • Yuta Saito(康奈尔大学)

联系方式

如果您对论文和软件有任何疑问,请随时联系:hk844@cornell.edu

参考文献

<details> <summary><strong>论文</strong>(点击展开)</summary>
  1. Alina Beygelzimer和John Langford。用于部分标签学习的偏移树。发表于第15届ACM SIGKDD国际知识发现与数据挖掘会议论文集,129-138页,2009年。

  2. Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie Tang和Wojciech Zaremba。OpenAI GymarXiv预印本arXiv:1606.01540,2016年。

  3. Yash Chandak, Scott Niekum, Bruno Castro da Silva, Erik Learned-Miller, Emma Brunskill和Philip S. Thomas。通用离线策略评估。发表于神经信息处理系统进展,2021年。

  4. Miroslav Dudík, Dumitru Erhan, John Langford和Lihong Li。双重稳健的策略评估和优化。发表于统计科学,485-511页,2014年。

  5. Justin Fu, Mohammad Norouzi, Ofir Nachum, George Tucker, Ziyu Wang, Alexander Novikov, Mengjiao Yang, Michael R. Zhang, Yutian Chen, Aviral Kumar, Cosmin Paduraru, Sergey Levine和Tom Le Paine。深度离线策略评估的基准。发表于国际学习表示会议,2021年。

  6. Tuomas Haarnoja, Aurick Zhou, Pieter Abbeel和Sergey Levine。软演员-评论家:具有随机演员的离线策略最大熵深度强化学习。发表于第35届国际机器学习会议论文集,1861-1870页,2018年。

  7. Josiah P. Hanna, Peter Stone和Scott Niekum。基于模型的自举:离线策略评估的置信区间。发表于第31届AAAI人工智能会议论文集,2017年。

  8. Hado van Hasselt, Arthur Guez和David Silver。使用双Q学习的深度强化学习。发表于AAAI人工智能会议论文集,2094-2100页,2015年。

  9. Audrey Huang, Liu Leqi, Zachary C. Lipton和Kamyar Azizzadenesheli。上下文赌臂中的离线风险评估。发表于神经信息处理系统进展,2021年。

  10. Audrey Huang, Liu Leqi, Zachary C. Lipton和Kamyar Azizzadenesheli。马尔可夫决策过程的离线风险评估。发表于第25届国际人工智能与统计学会议论文集,5022-5050页,2022年。

  11. Nan Jiang和Lihong Li。强化学习的双重稳健离线策略价值评估。发表于第33届国际机器学习会议论文集,652-661页,2016年。

  12. Nathan Kallus和Masatoshi Uehara。强化学习的内在高效、稳定和有界的离线策略评估。发表于神经信息处理系统进展,3325-3334页,2019年。

  13. Nathan Kallus和Masatoshi Uehara。马尔可夫决策过程中高效离线策略评估的双重强化学习。发表于机器学习研究杂志,第167卷,2020年。

  14. Nathan Kallus和Angela Zhou。连续处理的策略评估和优化。发表于第21届国际人工智能与统计学会议论文集,1243-1251页,2019年。

  15. Aviral Kumar, Aurick Zhou, George Tucker和Sergey Levine。离线强化学习的保守Q学习。发表于神经信息处理系统进展,1179-1191页,2020年。

  16. Vladislav Kurenkov和Sergey Kolesnikov。展示您的离线强化学习工作:在线评估预算很重要。发表于第39届国际机器学习会议论文集,11729-11752页,2022年。

  17. Hoang Le、Cameron Voloshin 和 Yisong Yue。约束条件下的批量策略学习。发表于《第36届国际机器学习会议论文集》,3703-3712页,2019年。

  18. Haanvid Lee、Jongmin Lee、Yunseon Choi、Wonseok Jeon、Byung-Jun Lee、Yung-Kyun Noh 和 Kee-Eung Kim。连续动作情境赌博机中离线策略评估的局部度量学习。发表于《神经信息处理系统进展》,xxxx-xxxx页,2022年。

  19. Sergey Levine、Aviral Kumar、George Tucker 和 Justin Fu。离线强化学习:教程、综述及开放问题展望。arXiv 预印本 arXiv:2005.01643,2020年。

  20. Qiang Liu、Lihong Li、Ziyang Tang 和 Dengyong Zhou。打破视野诅咒:无限视野离线策略估计。发表于《神经信息处理系统进展》,2018年。

  21. Ofir Nachum、Yinlam Chow、Bo Dai 和 Lihong Li。DualDICE:与行为无关的折扣稳态分布校正估计。发表于《神经信息处理系统进展》,2019年。

  22. Ofir Nachum、Bo Dai、Ilya Kostrikov、Yinlam Chow、Lihong Li 和 Dale Schuurmans。AlgaeDICE:从任意经验中进行策略梯度。arXiv 预印本 arXiv:1912.02074,2019年。

  23. Tom Le Paine、Cosmin Paduraru、Andrea Michi、Caglar Gulcehre、Konrad Zolna、Alexander Novikov、Ziyu Wang 和 Nando de Freitas。离线强化学习的超参数选择。arXiv 预印本 arXiv:2007.09055,2020年。

  24. Doina Precup、Richard S. Sutton 和 Satinder P. Singh。离线策略评估的资格迹。发表于《第17届国际机器学习会议论文集》,759-766页,2000年。

  25. Rafael Figueiredo Prudencio、Marcos R. O. A. Maximo 和 Esther Luna Colombini。离线强化学习综述:分类、回顾和开放问题。arXiv 预印本 arXiv:2203.01387,2022年。

  26. Yuta Saito、Shunsuke Aihara、Megumi Matsutani 和 Yusuke Narita。开放赌博机数据集和流水线:实现真实可复现的离线策略评估。发表于《神经信息处理系统进展》,2021年。

  27. Takuma Seno 和 Michita Imai。d3rlpy:一个离线深度强化学习库。arXiv 预印本 arXiv:2111.03788,2021年。

  28. Alex Strehl、John Langford、Sham Kakade 和 Lihong Li。从记录的隐式探索数据中学习。发表于《神经信息处理系统进展》,2217-2225页,2010年。

  29. Adith Swaminathan 和 Thorsten Joachims。反事实学习的自归一化估计器。发表于《神经信息处理系统进展》,3231-3239页,2015年。

  30. Shengpu Tang 和 Jenna Wiens。离线强化学习的模型选择:医疗环境中的实际考虑。发表于《第6届医疗机器学习会议论文集》,2-35页,2021年。

  31. Philip S. Thomas 和 Emma Brunskill。强化学习的数据高效离线策略评估。发表于《第33届国际机器学习会议论文集》,2139-2148页,2016年。

  32. Philip S. Thomas、Georgios Theocharous 和 Mohammad Ghavamzadeh。高置信度离线策略评估。发表于《第9届AAAI人工智能会议论文集》,2015年。

  33. Philip S. Thomas、Georgios Theocharous 和 Mohammad Ghavamzadeh。高置信度策略改进。发表于《第32届国际机器学习会议论文集》,2380-2388页,2015年。

  34. Masatoshi Uehara、Jiawei Huang 和 Nan Jiang。离线策略评估的极小极大权重和Q函数学习。发表于《第37届国际机器学习会议论文集》,9659-9668页,2020年。

  35. Masatoshi Uehara、Chengchun Shi 和 Nathan Kallus。强化学习中离线策略评估综述。arXiv 预印本 arXiv:2212.06355,2022年。

  36. Mengjiao Yang、Ofir Nachum、Bo Dai、Lihong Li 和 Dale Schuurmans。通过正则化拉格朗日方法进行离线策略评估。发表于《神经信息处理系统进展》,6551-6561页,2020年。

  37. Christina J. Yuan、Yash Chandak、Stephen Giguere、Philip S. Thomas 和 Scott Niekum。SOPE:离线策略估计器谱。发表于《神经信息处理系统进展》,18958-18969页,2022年。

  38. Shangtong Zhang、Bo Liu 和 Shimon Whiteson。GradientDICE:重新思考广义离线稳态值估计。发表于《第37届国际机器学习会议论文集》,11194-11203页,2020年。

  39. Ruiyi Zhang、Bo Dai、Lihong Li 和 Dale Schuurmans。GenDICE:广义离线稳态值估计。发表于《国际学习表示会议》,2020年。

项目 本项目主要受到以下三个软件包的强烈启发:

  • Open Bandit Pipeline -- 上下文赌臂问题中离线策略评估的管道实现:[GitHub] [文档] [论文]
  • d3rlpy -- 离线强化学习算法的一系列实现:[GitHub] [文档] [论文]
  • Spinning Up -- 学习深度强化学习的教育资源:[GitHub] [文档]

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多