什么是offline RL离线强化学习以及online RL在线强化学习

一、offline RL离线强化学习

不与环境交互,仅使用预先收集的固定数据集进行学习。
训练时不能通过探索来收集新数据,策略更新只能基于已有的数据。

二、online RL在线强化学习

智能体(agent)与环境(environment)进行交互,不断收集新数据,并基于新的数据进行学习和策略更新。
训练过程中,策略会不断变化,探索(exploration)和利用(exploitation)同时进行。

三、一张图便可清晰的了解两者区别

论文题目:AWAC: Accelerating Online Reinforcement Learning with Offline Datasets
作者:Ashvin Nair , Abhishek Gupta , Murtaza Dalal, Sergey Levine
在这里插入图片描述
Figure 2: We study learning policies by offline learning on a prior dataset D and then fine-tuning with online interaction. The prior data could be obtained via prior runs of RL, expert demonstrations, or any other source of transitions. Our method, advantage weighted actor critic (AWAC) is able to learn effectively from offline data and fine-tune in order to reach expert-level performance after collecting a limited amount of interaction data. Videos and data are available at awacrl.github.io

总之,使用已有数据集,不与环境交互就是offline RL,这里的已有数据集可以是off-policy data、expert demos,也可以是prior runs of RL产生的数据。

四、补充材料

知乎上有一篇关于离线强化学习的文章,我觉得写的非常清晰,感兴趣的可以看下。

【强化学习教程 24】离线强化学习(Offline RL)

### 在线强化学习离线强化学习的核心区别 在线强化学习Online RL)和离线强化学习Offline RL)在数据获取方式、训练过程、策略更新机制以及应用场景等方面存在根本性差异。这些区别决定了它们在不同任务中的适用性和性能表现。 #### 数据获取与交互方式 在线强化学习依赖于智能体与环境的实时交互来收集数据。智能体在训练过程中不断尝试新的动作,通过试错机制优化策略。这种方式可以动态适应环境变化,但同时也面临较高的交互成本和潜在风险。相比之下,离线强化学习完全基于静态数据集进行训练,这些数据集通常由历史经验或固定策略生成。由于不涉及与环境的实时交互,离线强化学习在高风险或高成本场景中具有明显优势[^1]。 #### 策略更新与探索机制 在线强化学习通常采用探索-利用(Exploration-Exploitation)策略,例如ε-greedy、UCB(Upper Confidence Bound)等方法,以平衡新知识获取与已有策略优化。这种机制能够持续改进策略,但也可能导致不稳定收敛或陷入局部最优。离线强化学习则完全依赖已有数据分布进行策略学习,通常采用保守价值估计(如CQL算法)或正则化方法来避免策略在数据稀疏区域做出错误预测。这种方式限制了探索行为,但提高了策略的稳定性[^2]。 #### 数据分布与泛化能力 在线强化学习在训练过程中会不断更新数据分布,使得策略能够适应新的状态-动作空间。然而,这种动态变化也可能导致训练过程中的不稳定性。离线强化学习受限于固定数据集的数据分布,策略更新不能超出数据覆盖范围,因此更注重数据分布内的泛化能力和保守估计。这种特性使得离线强化学习在实际部署中更具可预测性,但也可能影响其最终性能上限[^1]。 #### 应用场景与部署效率 在线强化学习适用于环境交互成本较低、数据获取便捷的任务,例如游戏AI训练、机器人仿真等。其优势在于能够实时适应环境变化,但训练周期较长且风险较高。离线强化学习则广泛应用于医疗、金融、自动驾驶等高风险或高成本领域,这些场景通常已有大量历史数据,且不允许在线探索带来的潜在风险。此外,离线强化学习更适合在已有数据基础上快速部署模型[^1]。 #### 示例代码:在线离线RL策略训练对比 以下代码分别展示了在线强化学习(使用DQN)与离线强化学习(使用CQL)的训练流程: ```python # 在线强化学习示例(使用DQN) import gym import torch import torch.nn as nn from stable_baselines3 import DQN env = gym.make('CartPole-v1') model = DQN("MlpPolicy", env, verbose=1) model.learn(total_timesteps=10000) model.save("dqn_cartpole") del model ``` ```python # 离线强化学习示例(使用CQL) import d3rlpy from d3rlpy.algos import CQL from d3rlpy.models.encoders import VectorEncoderFactory dataset = d3rlpy.datasets.get_pybullet('HalfCheetahBulletEnv-v0') train_episodes, test_episodes = train_test_split(dataset) encoder = VectorEncoderFactory(hidden_units=[256, 256]) cql = CQL(actor_encoder_factory=encoder, critic_encoder_factory=encoder, use_gpu=False) cql.fit(train_episodes, eval_episodes=test_episodes, n_epochs=100, scorers={ 'environment': d3rlpy.metrics.evaluate_on_environment(dataset.env), 'value_scale': d3rlpy.metrics.average_value_estimation_scorer }) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值