【问题标题】:Reinforcement Learning Training on Collected dataset收集数据集的强化学习训练
【发布时间】:2022-08-08 15:56:43
【问题描述】:

我是强化学习的新手,我使用 GYM 环境做了几个例子。但是,我知道并观察到强化应该在真实环境中进行训练,而不是在收集的数据(如监督学习)上进行训练,我的问题是,这总是正确的吗?我的意思是我有一个特定的数据集,它类似于推荐系统,我希望在我在真实环境中发布代理之前对代理进行训练。 这可能吗?

标签: deep-learning reinforcement-learning openai-gym


【解决方案1】:

如果您只收集了数据,但无法与环境交互,那么您就处于所谓的离线强化学习情景,这是一个活跃的研究领域。它有自己的优点和缺点。最天真的方法可能是使用行为克隆(因此您将数据集视为正常的监督学习问题并复制操作) - 问题是这假设数据已经来自良好的执行。另一种方法是运行 RL 算法政策修正因为数据现在不是来自您的实际策略,因此策略梯度会存在偏差等。总体而言 - 离线 RL 是您的关键字。

进一步阅读:https://arxiv.org/abs/2203.01387

【讨论】:

  • 实际上我在寻找正确的定义时遇到了一个大问题,非常感谢!
【解决方案2】:

我不知道您正在查看的上下文,但可以在实施 RL 代理之前对其进行训练。例如,在训练赛车在赛道上行驶等常见示例中,代理会经过多次迭代训练,然后保存。此时,您可以说模型已经过训练,但尚未“实施”。然后可以在最终的正式运行中使用经过训练的最终模型。

您可以采用类似的方法在模拟中训练代理,然后将其实施到现实世界的系统中,具体取决于您的行业/环境可用的模拟器软件的质量。

上一篇 Supervised learning v.s. offline (batch) reinforcement learning 还讨论了在线和离线 RL 之间的差异。

【讨论】:

  • 谢谢您的答复!。好的,很清楚,但我有一个 csv 数据,表示随着时间的推移在环境(状态和动作)中发生了什么。我可以用它来训练 RL 吗?
  • 如果您可以构建一个接收该数据的环境,那么我认为您可以,但诀窍是创建一个自定义环境,该环境可以接收输入数据并对 RL 代理所做的操作做出反应以产生您的奖励,这意味着您必须能够模拟项目空间,因为您可以根据潜在操作预测输出。据我所知,你不能像监督学习模型那样使用已知的输入、动作和输出来训练 RL 模型,因为 RL 必须通过与环境的交互来学习。
  • 非常感谢,现在更清楚了
【解决方案3】:

我有点同样的问题。 我想知道你最后做了什么?

【讨论】:

    猜你喜欢
    • 2017-06-25
    • 1970-01-01
    • 2020-05-21
    • 2019-10-20
    • 2018-12-08
    • 2016-01-03
    • 2015-12-21
    • 2020-06-12
    • 2012-05-30
    相关资源
    最近更新 更多