offline RL介绍

本文探讨了离线强化学习(Offline RL)的基本概念,强调了其在没有环境交互情况下训练的特性,面临的挑战包括探索难题、分布偏移和策略超越数据集。着重介绍了基于重要性采样的方法如何帮助算法在固定数据集上学习,以及它在降低方差上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考资料

Offline Reinforcement Learning Review

本篇博客为《Offline Reinforcement Learning Review》摘抄,指摘抄了自己感兴趣的。如想深入了解可直接点击上方参考资料链接。

1. offline RL概念

  • Offline RL 舍弃了和环境的交互,让 agent 在一个固定的数据集(batch)上进行训练,从而得到想要的策略。

  • Offline RL 可以被定义为 data-driven 形式的强化学习问题。在不和环境交互的情况下,来使目标最大化:

    J ( π ) = E τ ∼ p s ( τ ) [ ∑ t = 0 H γ r ( s t , a t ) ] J(\pi)=\mathbb{E}_{\tau \sim p_{\mathrm{s}}(\tau)}\left[\sum_{t=0}^{H} \gamma r\left(s_{t}, a_{t}\right)\right] J(π)=Eτps(τ)[t=0Hγr(st,at)]

    我们给算法提供一个静态的数据集$ {(s^i_t, a^i_t, s^i_{t+1}, r_t^i)}$,并且通过数据集来学到最好的策略。其本质上,Offline RL 需要学习算法从固定的数据集中获得对 MDP 的充分的理解,并构造一个策略 π(a|s),以在实际交互中获得最多的累计奖励。

    在这里插入图片描述

2. Offline RL 中的困难

造成 Offline RL 学习困难的原因有很多。其中最主要的困难是:学习算法需要完全的依赖于静态数据集 D,但是没有办法提高探索,因为不和环境进行交互,就无法知道探索得到的数据是否有效,所以 Offline RL 不可能通过探索发现高奖励的区域。而且,并没有办法解决此问题,所以,假设数据集D 可以充分的覆盖高奖励的转移对。

实际中更加重要的挑战是, Offline RL 需要从观测到的数据集 D 中,学习到一个超越 D 中观测到的数据的策略。

在监督学习中,我们希望从训练数据集中学到网络可以在测试数据集上获得较好的性能,且测试数据和训练数据是独立
同分布的
而 Offline RL 中,我们希望学到的策略和在数据集 D 上观测的不一样,所以会造成非常严重的分布偏移的问题。

Offline RL 中训练目标和最终想得到的目标并不一样。那么,我们的函数模拟器(策略,值函数,模型)需要在一个分布下训练,而将在不同的分布下评估,为了最大化累计收益,对于同一个状态,新策略也会给出不同的动作。

如果不注意尽量的减少不利的影响,分布偏移可能会对从任何一个固定数据集中学习到的策略,都造成非常大的影响

3. 基于重要性采样的 Offline RL 与离线策略评估

事实上所有的 off-policy 算法都可以改为 offline 算法,最直接的方法之一就是重要性采样.

统计里面评估参数估计的好坏有三个性质:无偏性,有效性,一致性,方差一高,有效性就低。

Off-Policy 算法中经常将重要性权重作为正则化项,以保证学习策略 和采样策略之间差距不会太大。

重要性采样的目标函数,需要将每个时刻的重要性权重连乘起来,所以会导致非常大的方差, 这或许就是重要性采样方差较大的本质原因。

### 离线强化学习简介 离线强化学习(Offline Reinforcement Learning),也称为批处理强化学习,是指在不与环境进一步交互的情况下仅依赖预先收集的数据集来改进或评估策略的学习过程[^3]。这种方法特别适用于那些实际环境中试验成本高昂、风险大或是不可重复的情况。 #### 数据的重要性 为了使高容量模型有意义并从中获益,必须在大型和多样化的真实世界数据集上进行训练;相比之下,小型且单一的数据集无法充分利用这类复杂模型的能力。这表明,在构建有效的离线RL解决方案时,获取高质量的静态数据至关重要。 ### 方法论概述 针对如何有效地利用已有数据优化决策制定流程这一挑战,研究者们提出了多种技术手段: - **早期停止机制**:开发简单而高效的提前终止算法有助于防止过拟合现象的发生,从而提高泛化性能[^1]。 - **技能正则化任务分解**:对于多任务场景下的离线增强型学习而言,采用特定技巧对目标任务加以拆解能够促进各子任务间知识迁移的同时保持个体特性[^2]。 - **演示辅助学习**:通过引入专家示范样本作为补充资源,可以在初始化阶段设定合理的行为模式框架,并以此为基础调整奖励函数的设计方向以及扩展可用实例的数量范围[^4]。 ```python import numpy as np def offline_policy_evaluation(data_set, policy_function): """ 使用预存的数据集评估固定策略的表现 参数: data_set (list): 预先采集的状态动作回报三元组列表 [(state, action, reward)] policy_function (callable): 待评价的目标策略 返回: float: 平均累积折扣回报估计值 """ gamma = 0.95 # 折扣因子 total_return = [] for episode in data_set: Gt = 0 t = len(episode)-1 while t >= 0: state_t, _, reward_tp1 = episode[t] if policy_function(state_t) == episode[t][1]: Gt += reward_tp1 * pow(gamma, abs(t)) else: break t -= 1 total_return.append(Gt) return np.mean(total_return) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CHH3213

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

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

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

打赏作者

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

抵扣说明:

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

余额充值