论文理解 —— Curriculum Offline Imitating Learning


1. Offline RL 背景

  • Offline RL 是这样一种问题设定:Learner 可以获取由一批 episodes 或 transitions 构成的固定交互数据集,要求 Learner 直接利用它训练得到一个好的策略,而且禁止 Learner 和环境进行任何交互,示意图如下
    在这里插入图片描述
  • 关于 Offline RL 的详细介绍,请参考 Offline/Batch RL简介

2. 本文方法

  • 本文方法属于 IL-based 方法

2.1 现象、实验与分析

2.1.1 Quantity-quality dilemma

  • 作者注意到在多策略混合数据集(mixed dataset)上直接做行为克隆(BC)会出现 Quantity-quality dilemma 问题,就是说

    1. 来自最优 behavior policy 的交互轨迹质量很高,但是数量少,覆盖的 S × A \mathcal{S\times A} S×A 空间也就很小,直接 BC 会导致严重的 compounding error,性能不佳
    2. 使用更多交互数据样本,compounding error 问题缓解,但是样本平均性能会变差,直接 BC 学到的混合策略只有平庸的(mediocre)性能
  • 作者也做了一个实验验证此现象
    在这里插入图片描述
    作者在 Walker2d 环境中从零开始训练一个 Online RL agent 至收敛(训练过程见左图蓝线),然后分别用 top 10%,top 25%,top 50% 和全部交互数据做 BC,得到的策略性能如右图所示,可见使用最好的样本学到的策略性能反而是最差的,而使用全部样本,只能得到平庸的性能(约数据集上最佳策略性能的一半),而作者提出的 COIL 则能突破此限制,到达数据集上最佳策略性能

2.1.2 使用不同初始策略做 BC

  • 一个重要现象:随着初始策略和目标策略越来越相似,使用 BC 方法达到目标策略性能所需的目标策略交互数据的可以大大减少

2.1.2.1 直观实验

  • 首先从实验角度体现这一点
    在这里插入图片描述
    图(a)中蓝色曲线显示了 Online RL 算法 SAC 在 Hopper 环境下的训练过程,在红圈处保存一些策略,然后图(b)显示了用这些保存策略作为初始策略进行 BC 的效果,BC 使用的示范数据来自(a)中 SAC 得到的最优策略(右上角蓝圈),看需要多少示范轨迹才能把性能提升至和它差不多。可见:初始策略越接近示范策略,模仿示范策略所需的样本就越少

2.1.2.2 理论证明

  • Theorem 1 (Performance bound of BC):令 Π \Pi Π 是所有可能的确定性策略的集合, ∣ Π ∣ = ∣ A ∣ ∣ S ∣ |\Pi| = |\mathcal{A}|^{|\mathcal{S}|} Π=AS 。假设 Offline 数据集中数据来自一个带随机试探的单一 behavior policy,这时不存在某确定性策略 π ∈ Π \pi\in\Pi πΠ 使得 π ( s i ) = a i , ∀ s i ∈ { 1 , 2 , . . . , ∣ D ∣ } \pi(s^i) = a^i,\forall s^i \in \{1,2,...,|\mathcal{D}|\} π(si)=ai,si{ 1,2,...,D}(就是说 Offline 数据集上存在冲突的 transition)

    1. 收集数据的 behaviour policy 记为 π b \pi_b πb(占用度量 ρ π b \rho_{\pi_b} ρπb
    2. 在 Offline 数据集上可以学到对 π b \pi_b πb 的估计,empirical behaviour policy π ^ b \hat{\pi}_b π^b (占用度量 ρ π ^ b \rho_{\hat{\pi}_b} ρπ^b
    3. 记 BC 的 initial policy 为 π 0 \pi_0 π0(占用度量 ρ π 0 \rho_{\pi_0} ρπ0
    4. 最终学到策略为 π \pi π(占用度量 ρ π \rho_\pi ρπ

    对于任意小量 δ > 0 \delta >0 δ>0,下式以至少 1 − δ 1-\delta 1δ 的概率成立(证明参见原文)
    在这里插入图片描述

  • 记住我们现在要考虑学到的策略 π \pi π 一定时,“ π 0 \pi_0 π0 π b \pi_b πb 的距离” 与 “ ∣ D ∣ |\mathcal{D}| D” 的关系。分析上式: D T V ( ρ π ( s , a ) ∣ ∣ ρ π b ( s , a ) ) D_{TV}(\rho_\pi(s,a)||\rho_{\pi_b}(s,a)) DTV(ρπ(s,a)ρπb(s,a)) ρ π \rho_\pi ρπ π b \pi_b πb 占用度量的总变差(total variation distance),这里是说 π \pi π π b \pi_b πb 的差距受到 c ( π 0 , π b , ∣ D ∣ ) c(\pi_0,\pi_b,\mathcal{|D|}) c(π0,πb,D) 这个上界的限制,此上界又可以拆开成几项

    1. 1 2 ∑ s ∉ D ρ π b ( s ) \frac{1}{2}\sum_{s\notin\mathcal{D}}\rho_{\pi_b}(s) 21s/Dρπb(s):这是个常数,不管他

    2. π \pi π π 0 \pi_0 π0 在数据集之外的 empirical discrepancy: 1 2 ∑ s ∉ D ∣ ρ π ( s ) − ρ π 0 ( s ) ∣ \frac{1}{2}\sum_{s\notin\mathcal{D}}|\rho_\pi(s)-\rho_{\pi_0}(s)| 21s/Dρπ(s)ρπ0(s),此项不好直观解释,作者做了下面的实验,说明 ∣ D ∣ |\mathcal{D}| D 一定时,此项随 π 0 \pi_0 π0 靠近 π b \pi_b πb 而减小;在 π 0 \pi_0 π0 π b \pi_b πb 的距离一定时,此项随 ∣ D ∣ |\mathcal{D}| D 增大而减小。可以这样理解:这部分主要考察数据集 D \mathcal{D} D 覆盖不到的状态分布情况,因此在 D \mathcal{D} D 上 BC 不能对其产生定向的影响,主要是初始策略 π 0 \pi_0 π0 影响着 π \pi π s ∉ D s\notin\mathcal{D} s/D 上的占用度量,而 π 0 \pi_0 π0 靠近 π b \pi_b πb,本质上是训练 π 0 \pi_0 π0 使用的数据量增加了,这样得到的 s ∉ D s\notin\mathcal{D} s/D 部分的策略相对更稳定
      在这里插入图片描述

      可见,横坐标从左到右, π 0 \pi_0 π0 接近 π b \pi_b πb π \pi π π 0 \pi_0 π0 s ∉ D s\notin\mathcal{D} s/D 的差距不断减少;另一方面,BC 数据量 ∣ D ∣ |\mathcal{D}| D 增大时,这个差距也会减小

    3. initialization gap: π 0 \pi_0 π0 π b \pi_b πb 在数据集之外的 empirical discrepancy,此项 π 0 \pi_0 π0 靠近 π b \pi_b πb 而减小

    4. BC gap:前半段是经验行为策略 π ^ b \hat{\pi}_b π^b 和学得策略 π \pi π 之间的经验差异;后半段是学得策略 π \pi π 的经验误差,此项与训练算法相对应,和初始策略无关

    5. data gap:此项取决于 BC 使用的 transition 样本数量 ∣ D ∣ |\mathcal{D}| D 和状态空间的复杂性,对于固定的 Offline dataset 和 environment 而言是固定的,用于 BC 的数据量 ∣ D ∣ \mathcal{|D|} D 越大,这一项越小

  • 可见,以下两种方式都能使 BC 性能的 upper bound c ( π 0 , π b , ∣ D ∣ ) c(\pi_0,\pi_b,|\mathcal{D}|) c(π0,πb,D) 变紧

    1. 令 initial policy π 0 \pi_0 π0 更接近 behaviour policy π b \pi_b πb
    2. 增加 BC 数据量 ∣ D ∣ |\mathcal{D}| D

    这意味着,在维持 BC 性能(也就是 π \pi π π b \pi_b πb 的距离)基本不变的情况下,可以通过使 π 0 \pi_0 π0 更接近 π b \pi_b πb 的方式,减少对数据量 ∣ D ∣ |\mathcal{D}| D 的需求。直观地看,这是因为 BC 面临严重的 compounding error 的问题,当初始策略 π 0 \pi_0 π0 π b \pi_b πb 相差太远时,级联错误问题严重,需要额外的数据来缓解它,而当二者足够靠近时,级联错误问题就可以近似忽略

2.2 思想

  • 利用上述分析,可以发现:过去我们从 random 策略开始直接对混合数据集进行 BC,不得不使用很多差的 transition 扩展数据集覆盖的 S × A \mathcal{S\times A} S×A 空间,导致最好的那些 transition 的作用被抵消掉;但事实上我们可以构造一系列 BC 课程,令每个迭代课程中的 π 0 \pi_0 π0 π b \pi_b πb 接近,这时级联错误问题可以近似忽略,那些略优于每个 BC 课程初始策略 π 0 \pi_0 π0 的 transition 能最大限度地发挥作用,高效地将 π 0 \pi_0 π0 提升为接近 π b \pi_b πb π \pi π,最终学得策略的性能可以接近混合数据集中最好的行为策略
    在这里插入图片描述

  • 为了给出形式化描述,首先从 BC 视角考虑 Online RL 的一步迭代:从初始策略 π 0 \pi_0 π0 开始,第 i i i 轮迭代中,agent 使用 π i \pi_i πi 和环境交互收集轨迹 τ i \tau_i τi 加入 replay buffer B \mathcal{B} B,然后从中采样多个 transition,优化策略得到 π i + 1 \pi_{i+1} πi+1,以最大化累积收集期望
    max ⁡ π E τ ∼ π [ R ( τ ) ] \max_\pi\mathbb{E}_{\tau\sim \pi}[R(\tau)] πmaxEτπ[R(τ)] 基于最大熵思想,将最优策略 π ∗ \pi^* π 采样的轨迹分布建模为玻尔兹曼分布,则有
    P ∗ ( τ ) ∝ exp ( R ( τ ) ) P^*(\tau) \propto \text{exp}(R(\tau)) P(τ)exp(R(τ)) 在这种情况下,通过 RL 找最优策略,等价于模仿上公式中的最优轨迹分布 P ∗ ( τ ) P^*(\tau) P(τ),即
    min ⁡ π D K L ( P π ( τ ) ∣ ∣ P ∗ ( τ ) ) \min_\pi D_{KL}\big(P_\pi(\tau)||P^*(\tau)\big) πminDKL(Pπ(τ)P(τ))其中 P π ( τ ) = ρ ( s 0 ) ∑ t = 0 T T ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) P_\pi(\tau) = \rho(s_0)\sum_{t=0}^T\mathcal{T}(s_{t+1}|s_t,a_t)\pi(a_t|s_t) Pπ(τ)=ρ(s0)t=0TT(st+1st,at)π(atst) π \pi π 诱导的轨迹分布,注意到参数仅有 π \pi π更新 π i + 1 \pi^{i+1} πi+1 时可以看作向减小上述 KL 散度的方向更新,即
    π i + 1 = π i − ▽ π D K L ( P π ( τ ) ∣ ∣ P ∗ ( τ ) ) \pi^{i+1} = \pi^i - \triangledown_\pi D_{KL}\big(P_\pi(\tau)||P^*(\tau)\big) πi+1=πiπDKL(Pπ(τ)P(τ)) 注意这可以看作是以 P π ( τ ) P_\pi(\tau) Pπ(τ) 作为当前策略, P ∗ ( τ ) P^*(\tau) P(τ) 作为目标策略进行 BC

  • 下面对 “在 Offline 数据集进行自适应 BC 模仿,以解决混合数据集上的 Quantity-quality dilemma” 的过程给出形式化描述:我们要构造一个有限策略序列 π 0 , π ~ 1 , π 1 , π ~ 2 , π 2 , . . . , π ~ N , π N \pi^0,\tilde{\pi}^1,\pi^1,\tilde{\pi}^2,\pi^2,...,\tilde{\pi}^N,\pi^N π0,π~1,π1,π~2,π2,...,π~N,πN,其中

    1. π i ⪯ π i + 1 \pi^i\preceq\pi^{i+1} πiπi+1,也就是说学到的策略越来越好
    2. π ~ i \tilde{\pi}^i π~i 是基于策略 π i − 1 \pi^{i-1} πi1 选出的轨迹 τ \tau τ 描述的 “虚拟策略”,也就是说我们认为 π ~ \tilde{\pi} π~ 最有可能诱导出轨迹 τ \tau τ,要求略优于 π i \pi^i πi
    3. 使用 π ~ i \tilde{\pi}^i π~i 为目标进行模仿得到策略 π i \pi^i πi

    形式化地讲,给定数据集 D = { τ } 1 N \mathcal{D} = \{\tau\}_1^N D={ τ}1N,第 i i i 轮迭代中,agent 构建这样的任务课程 G i G_i Gi:自适应地从 D \mathcal{D} D 中选取轨迹 τ ∼ π ~ i + 1 \tau \sim\tilde{\pi}^{i+1} τπ~i+1 作为模仿目标,使用损失 L i = D K L ( P π ~ i + 1 ( τ ) ∣ ∣ P π i ( τ ) ) \mathcal{L}_i = D_{KL}(P_{\tilde{\pi}^{i+1}}(\tau)||P_{\pi^i}(\tau)) Li=DKL(Pπ~i+1(τ)Pπi(τ)) 更新策略 π i \pi^i πi,即
    π i + 1 = π i − ▽ π D K L ( P π ~ i + 1 ( τ ) ∣ ∣ P π i ( τ ) ) s . t .   E π ~ [ D K L ( π ~ i + 1 ( ⋅ ∣ s ) ∣ ∣ π i ( ⋅ ∣ s ) ) ] ≤ ϵ R π ~ i + 1 − R π i ≥ δ \pi^{i+1} = \pi^i -\triangledown_{\pi} D_{KL}(P_{\tilde{\pi}^{i+1}}(\tau)||P_{\pi^i}(\tau)) \\ \begin{aligned} s.t.\space &\mathbb{E}_{\tilde{\pi}}\big[D_{KL}\big(\tilde{\pi}^{i+1}(·|s)||\pi^i(·|s)\big)\big]\leq \epsilon\\ & R_{\tilde{\pi}^{i+1}} - R_{\pi^i} \geq \delta \end{aligned} πi+1=πiπDKL(Pπ~i+1(τ)Pπi(τ))s.t. Eπ~[DKL(π~i+1(s)πi(s))]ϵRπ~i+1Rπiδ 这里 ϵ , δ \epsilon,\delta ϵ,δ 是两个小正数,第一个条件限制 demonstrated 策略 π ~ \tilde{\pi} π~ 和 Learner 策略 π \pi π 的差异不能太大,第二个条件防止 π \pi π 从更差的策略中学习

2.3 算法细节

2.3.1 选出代表 Neighboring Policy 的轨迹

  • 考虑如何满足条件 E π ~ [ D K L ( π ~ ( ⋅ ∣ s ) ∣ ∣ π ( ⋅ ∣ s ) ) ] ≤ ϵ \mathbb{E}_{\tilde{\pi}}\big[D_{KL}\big(\tilde{\pi}(·|s)||\pi(·|s)\big)\big]\leq \epsilon Eπ~[DKL(π~(s)π(s))]ϵ ,即要求选出的轨迹 τ i ∈ D \tau_i\in\mathcal{D} τiD 是由邻近策略 π ~ \tilde{\pi} π~ 产生的。注意到这相当于找重要度采样比接近 1 的轨迹,可以借助一些 density ratio 估计的工作加以实现,然而,这种估计需要额外训练神经网络的成本,并且由于数据点较少,估计是不准确的

  • 设当前策略为 π \pi π τ π ~ = { ( s 0 , a 0 , s 0 ′ , r 0 ) , . . . , ( s h , a h , s h ′ , r h ) } \tau_{\tilde{\pi}}= \{(s_0,a_0,s_0',r_0),...,(s_h,a_h,s_h',r_h)\} τπ~={ (s0,a0,s0,r0),...,(sh,ah,sh,rh)} 是由一个未知的确定性策略 π ~ \tilde{\pi} π~ 混合探索噪音后收集到的,设 β \beta β 代表探索比例,则有 E ( s , a ) ∈ τ π ~ [ log ⁡ π ~ ( a t ∣ s t ) ] ≥ log ⁡ ( 1 − β ) \mathbb{E}_{(s,a)\in\tau_{\tilde{\pi}}}[\log \tilde{\pi}(a_t|s_t)]\geq \log(1-\beta) E(s,a)τπ~[logπ~(atst)]log(1β)。这种设定下,要满足条件 E π ~ [ D K L ( π ~ ( ⋅ ∣ s ) ∣ ∣ π ( ⋅ ∣ s ) ) ] ≤ ϵ \mathbb{E}_{\tilde{\pi}}\big[D_{KL}\big(\tilde{\pi}(·|s)||\pi(·|s)\big)\big]\leq \epsilon Eπ~[DKL(π~(s)π(s))]ϵ ,只要找到满足以下条件的轨迹 τ π ~ \tau_{\tilde{\pi}} τπ~
    E ( s , a ) ∈ τ π ~ [ I ( π ( a t ∣ s t ) ≥ ϵ c ) ] ≥ 1 − β \mathbb{E}_{(s,a)\in\tau_{\tilde{\pi}}}[\mathbb{I}(\pi(a_t|s_t)\geq \epsilon_c) ]\geq 1-\beta E(s,a)τπ~[I(π(atst)ϵc)]1β 其中 ϵ c ≥ 1 e ϵ \epsilon_c \geq \frac{1}{e^\epsilon} ϵceϵ1,选这个值是为了便于进行误差分析(详见原文附录 B.2),可以简单理解为一个很大的数,这就是说要求至少有 1 − β 1-\beta 1β 占比的 ( s , a ) (s,a) (s,a) 二元组有以大概率来自当前策略 π \pi π,这样的轨迹可以看作是由 Neighboring Policy 采集的

  • 在实践中,对轨迹 τ \tau τ 上每个时刻 t t t ,计算动作 a t a_t at 是使用策略 π \pi π s t s_t st 处选择的的概率,得到 τ π ~ ( π ) = { π ( a 0 ∣ s 0 ) , . . . , π ( h 0 ∣ h 0 ) } \tau_{\tilde{\pi}}(\pi)=\{\pi(a_0|s_0),...,\pi(h_0|h_0)\} τπ~(π)={ π(a0s0),...,π(h0h0)} h h h 是此轨迹的 horizon),将每个 ( s , a ) (s,a) (s,a) 对应的概率从小到大排序,使用第 ⌊ β h ⌋ \lfloor \beta h\rfloor βh 个概率值作为此轨迹来自 π \pi π 的邻近策略 π ~ \tilde{\pi} π~ 的概率 s ( τ ) s(\tau) s(τ),从整个 Offline 数据集上选出 s ( τ ) s(\tau) s(τ) 最大的那些轨迹即可

  • 参数部分,启发式地将探索比例直接设为 β = 0.05 \beta = 0.05 β=0.05 ,另一个参数 ϵ c \epsilon_c ϵc 由 agent 自适应地调整,以保证找出 N N N 条来自邻近策略 π ~ \tilde{\pi} π~ 的轨迹(也可以看作找出 N N N 条轨迹描述邻近策略 π ~ \tilde{\pi} π~),这里 N N N 是一个超参数

2.3.2 Return Filter

  • 考虑如何满足条件 R π ~ − R π ≤ δ R_{\tilde{\pi}}-R_\pi\leq \delta Rπ~Rπδ 以免模仿到更差的策略。在 Offline 设定下,不能和环境交互,没法评估当前策略 π \pi π 的准确性能,但是可以基于已经学过的课程进行估计。得到当前策略 π \pi π 的性能后,就可以用它作为指标过滤掉来自更差策略的轨迹

  • V V V 代表 return filter,初始化为 0。第 k k k 轮迭代时,设从 D \mathcal{D} D 中选择了轨迹 { τ } 1 n \{\tau\}_1^n { τ}1n,如下更新 V V V
    V k = ( 1 − α ) ⋅ V k − 1 + α ⋅ min ⁡ { R ( τ ) } 1 n V_k= (1-\alpha)·V_{k-1}+\alpha·\min\{R(\tau)\}_1^n Vk=(1α)Vk1+αmin{ R(τ)}1n 这里其实是做了一个滑动均值计算, { R ( τ ) } 1 n \{R(\tau)\}_1^n { R(τ)}1n 是轨迹 { τ } 1 n \{\tau\}_1^n { τ}1n 的回报, V k V_k Vk 可以近似看作前 k k k 个课程选出的最差轨迹的平均回报完成第 k k k 个课程的模仿后,我们认为 V k V_k Vk 可以代表当前策略 π k \pi^k πk 的性能(下限),因此从 D \mathcal{D} D 中排除那些更差的轨迹,即 D = { τ ∈ D ∣ R ( τ ) ≥ V } \mathcal{D} = \{\tau\in\mathcal{D}|R(\tau)\geq V\} D={ τDR(τ)V}就能避免下一个课程中选出更差的轨迹。这里 α \alpha α 是一个超参数

2.3.3 Overall Algorithm

  • 具体来说,COIL 每轮迭代会根据 相似度性能 两个条件从 Offline dataset 中选出一个候选轨迹经验池作为模拟目标,通过 BC 进行学习。策略更新之后,从 Offline dataset 中清除使用过的轨迹,并用 Return Filter 进一步过滤掉性能不佳的轨迹
  • 伪代码如下
    在这里插入图片描述
  • COIL 的一个吸引人的特性是:它会在 D \mathcal{D} D 清空时自动停止,不需 Online 评估 Policy 性能并设计停止条件,因而完全不需要可用的交互环境,可以更简单地应用于 real-world application

    注:很多 Offline RL 算法需要可用环境在线评估来调整超参数和确定停止条件,所以仍要访问环境,这其实有点违背了 Offline RL 的问题设定,没有完全达到去掉可交互环境以降低成本的目的

3. Experiments

3.1 使用 Online RL agent 的训练数据集实验

  • 这一节研究使用 COIL 在 online agent 学习过程数据集上的表现,这种数据集中的交互轨迹来自各种不同水平策略,数据集上可以看作一个高度混合的策略,因此直接 BC 性能不佳。作者在 Gym-MuJoCo 的三个环境中分别从零开始训练一个 SAC agent 至收敛,保留其所有交互轨迹(含探索行为)作为 Offline dataset,交互轨迹按生成的历史顺序排序如下
    在这里插入图片描述
    注:由于存在随机试探,所以轨迹 return 并非严格单调增

  • 性能对比如下,可见,COIL性能明显优于其他算法
    在这里插入图片描述

    1. COIL 的性能几乎达到 optimal behavior policy 的性能(即 SAC 训练最后阶段的最优策略),这是一个很好的特性,因为学到的最后一个模型可以直接作为一个很好的部署模型
    2. BAIL 和 AWR 不是总能达到 optimal behavior 性能,这是由于 hyper-parameters tuning 和 value regression 的困难
    3. BC 学到了平庸的策略
  • 进一步考察 offline agent 训练过程中性能的提升情况和先后使用样本轨迹的生成顺序(两行的横轴都是 COIL 的迭代轮数)

    在这里插入图片描述
    可见,由于经验挑选策略和 return filter,COIL保持了与 online agent 类似的训练路径,学习曲线很稳定

3.2 使用 D4RL benchmark 进行实验

  • D4RL 是一个专门针对 Offline RL 情景设计的 benchmark,具体介绍见 Offline/Batch RL简介 第 3 节

  • Gym-MuJoCo 中相同的三个连续控制任务上的实验结果如下
    在这里插入图片描述

    • 数据集说明:
    1. “random” 代表用随机策略交互 1 0 6 10^6 106 步的全部样本;
    2. “medium” 代表先训练一个 SAC,在收敛前提前停止,使用训练一半的策略交互 1 0 6 10^6 106 步的全部样本;
    3. “medium-replay” 代表 SAC 训练至 “medium” 水平的全部样本,这几个环境中都不少于 1 0 6 10^6 106 步;
    4. “medium-expert” 代表 1 0 6 10^6 106 medium 样本混合 1 0 6 10^6 106 专家样本
    • 算法说明:
    1. Expert(D4RL):D4RL 给出的专家策略
    2. Behavior:数据集全体数据代表的混合策略(平均策略)
    3. Best 1%:数据集最优 1% 数据代表的 optimal behavior policy (最优策略)
    4. BC(D4RL):D4RL 实现的 BC 学到的策略
    5. BC(Ours):作者实现的 BC 学到的策略
    6. COIL(Ours):本文方法学到的策略
    7. BAIL:BAIL方法学到的策略,详见 论文理解 —— BAIL: Best-Action Imitation Learning for Batch Deep Reinforcement Learning
    8. MOPO: 使用 model-based 方法 MOPO 学到的策略
    9. SpTA(D4RL):D4RL 实现的全部 Offline RL 算法中学到的最佳策略
  • 结果分析

    1. BC 能够在单个策略(标记为 “random” 和 “medium”)生成的数据集上接近或优于行为策略的性能,但和最佳行为策略(Best 1%列)之间仍然存在差距
    2. COIL 在大多数数据集上都达到了最佳行为策略(Best 1%列)的性能,可以媲美甚至超越 SOTA 结果
    3. 令人惊讶的是,在 halfcheetah 任务中,过去的 RL-based offline 方法(SoTA列倒数3/4行)有可能超过 Best 1% 的最优行为策略(尽管经过仔细的超参数调整),显示了 RL-based 方法的优势
    4. 值得注意的是,对于 model-based 算法,如MOPO,由于有足够的数据学习良好的环境模型,它在 medium-replay 数据集上表现良好,但很难在其他数据集上超过 SoTA 的 model-free 方法

3.3 Ablation Study

  • 本文的消融实验就是测试了一下超参数该怎么选,COIL 共有两个超参数
    1. return filter 中的滑动滤波系数 α \alpha α:这个会影响从数据集中排除的样本,当数据集上 return 波动较大时,应选择较小的 α \alpha α 使得对当前策略性能下界的估计更平滑;反之使用较大的 α \alpha α,实验如下
      在这里插入图片描述

    2. 找 Neighboring Policy 时选择的轨迹数 N N N:注意 2.1.2.2 节给出的定理1,它说明当 BC 的初始策略和目标策略接近时,使用的样本数可以减少。当 Offline 数据集中轨迹 retrurn 比较平滑时,我们每个课程构造的目标策略都是和当前策略很接近的,这时使用的样本数 N N N 可以小一点;反之则需要更大的样本数 N N N 已保证学习效果,实验如下
      在这里插入图片描述

3.4 Compared with Naive Strategies

  • 针对本文不断选择邻近 policy 进行 BC 的核心思想,有两种更加简单更加 Naive 的实现方式,即

    1. Return-ordered BC (RBC):对所有样本轨迹按 return 从小到大排序,每次选择 return 最小的 N R B C N_{RBC} NRBC 条轨迹样本做 BC 然后排除,直到数据集空为止
    2. Buffer-shrinking BC (BBC):对所有样本轨迹按 return 从小到大排序,每次使用整个数据集做 BC,执行固定次梯度步骤后按比例去掉最 return 最低的轨迹样本,直到数据集空为止
  • 实验结果和原文分析如下
    在这里插入图片描述
    在 Online Learning 数据集上的学习结果如图所示

    1. 由于探索噪音的影响,类似的 return 并不总是来自类似的 policy,因此 Return-ordered BC 学到了平庸的行为(有可能 return 高的那些轨迹是较差的策略运气好试探出来的,因此训练后期性能下降了)
    2. 另一方面,Buffer-shrinking BC 通常不稳定,由于其收缩策略完全是 hand-crafted 的,因此无法消除 quantity-quality dilemma,上一个课程中的平庸轨迹会影响性能,且最后当 dataset 较小时,级联错误问题会变得严重
    3. COIL 使用最高的训练效率(最小梯度步数)学到了最佳行为策略,表明了 policy-distance-based curriculum 的优势
  • 其实两种 Naive 设定都是同一个问题:return 差的轨迹不一定来自差的策略,return 高的轨迹不一定来自好的策略

    最简单的例子是:考虑一个稀疏奖励的情况,执行特定的 100 步动作可以获得奖励,长 100 的轨迹 A 恰好全部执行了,对应的 return 很高;长 100 的轨迹 B 执行了相同的 99 步,第 100 步执行的动作不对,因而没有奖励,它的 return 就是 0。这时虽然二者的 return 差很多,但是背后的策略几乎没有差别

    因此,Naive 方法无法保证后期剩下的轨迹代表更好的策略,如图也可以看到训练到最后 Naive 方法的性能都掉下来了

  • BAIL 这篇也考虑了类似的问题,就是轨迹长度有限的情况下,return 计算可能不准,详见 论文理解 —— BAIL: Best-Action Imitation Learning for Batch Deep Reinforcement Learning 2.2.3 节

4. 结论

  1. 从实验和理论两个角度分析了行为克隆(BC)的 quantity-quality dilemma,并提出 COIL 方法
  2. COIL 自适应地选择相邻策略做 BC,在改进当前策略时可以充分利用模仿学习的优势。实验表明其具有良好的性能,与 SOTA 的 Offline RL 算法相媲美
  3. COIL 具有自动停止的特性,不需要 Online 地评估来确定终止条件或调整超参数,简单有效,是一种实践中的实用方法
  4. 但是,COIL 的性能受到数据集上最优性能的限制

猜你喜欢

转载自blog.csdn.net/wxc971231/article/details/122460194