【论文阅读笔记-meta rl】SiMPL:技能驱动的元强化学习
ICLR 2022
Nam, Taewook, Shao Hua Sun, Karl Pertsch, Sung Ju Hwang, and Joseph J. Lim. “SKILL-BASED META-REINFORCEMENT LEARNING.” In 10th International Conference on Learning Representations, ICLR 2022. 2022.
这篇文章提出了一种名为SiMPL(Skill-based Meta-Policy Learning)的算法,首次将元强化学习(Meta-RL)与大规模无标注离线数据结合,解决了长时程、稀疏奖励任务的快速适应难题。传统强化学习需要数百万次环境交互才能学会复杂行为,而SiMPL通过三阶段流程实现了数量级的效率提升:
- 技能提取:从离线数据中自动发现可复用的短时行为模式(如"移动到某位置"、“打开柜门”)
- 元训练:学习如何快速组合这些技能来解决元训练任务分布中的各种任务
- 快速适应:面对新任务时,仅用少量交互即可微调出有效策略
直观例子:想象一个机器人在迷宫中导航。传统方法需要从零开始试错数小时才能找到出口。SiMPL则先观看人类在各种迷宫中行走的无标注视频(离线数据),提炼出"直行"、“转弯”、"避障"等基本技能。随后在类似的迷宫任务上练习如何组合这些技能。当遇到全新迷宫时,它只需探索20步左右就能推断出目标位置,并直接调用预训练技能组合,几分钟内完成数小时的工作量。
一、研究背景:强化学习的三大痛点
1.1 样本效率的瓶颈
深度强化学习(DRL)在机器人控制领域取得了瞩目成就,但样本效率低下是其实际部署的根本障碍。例如,训练一个机械臂完成复杂的厨房操作任务,通常需要与环境交互数百万步——这在真实机器人上意味着数周甚至数月的物理运行时间。这种"暴力试错"模式在稀疏奖励场景下尤为致命:智能体可能在很长一段时间内完全得不到任何有效反馈。
1.2 元学习的局限
元强化学习(Meta-RL)旨在模仿人类的"学会学习"能力,通过在大量训练任务上学习通用策略,实现对新任务的快速适应。然而,现有方法存在两大局限:
- 短程依赖:主流算法(如MAML、PEARL)的评估基准多为几十步的短任务,依赖稠密奖励信号
- 任务分布狭窄:训练任务通常高度相似,难以泛化到真正"未见"的长程复杂任务
1.3 离线数据的使用与不足
近年来,研究者开始利用离线数据集(如人类演示、随机探索数据)来加速学习。一种有效的方法是从这些数据中提取技能——可重用的短时程行为片段。智能体在学习新任务时,不再从原始动作开始学习,而是学习如何组合这些已有技能,从而大幅提升效率。然而,这种方法仍需要相当数量的在线环境交互来学习如何组合技能以解决新任务。因为缺乏元学习机制——每次面对新任务都得从头学起,无法复用"如何快速组合技能"的元知识。
二、核心问题:长程稀疏奖励任务下的快速适应
2.1 问题形式化
我们面对的挑战可形式化定义为:
- 离线数据集 D = { s t , a t , … } \mathbf{D} = \{s_t, a_t, \ldots\} D={st,at,…}:从大量无关任务或"玩耍数据"中收集的无标注轨迹,覆盖丰富行为模式但无奖励或任务标签
- 元训练任务集 T = { T 1 , … , T N } \mathbf{T} = \{\mathcal{T}_1, \ldots, \mathcal{T}_N\} T={T1,…,TN}:每个任务是一个MDP ( S , A , P , r , ρ , γ ) (\mathcal{S}, \mathcal{A}, \mathcal{P}, r, \rho, \gamma) (S,A,P,r,ρ,γ),智能体可在此交互学习
- 目标新任务 T ∗ \mathcal{T}^* T∗:不属于 T \mathbf{T} T的未知任务,仅有稀疏奖励
核心难点在于:如何在不依赖 T ∗ \mathcal{T}^* T∗数据的前提下,让智能体学会抽象行为模式(技能)及其组合规律(元策略),从而在新任务上用极少量样本(20-100个episode)快速适应。
2.2 为什么现有方法失效?
纯元学习(如PEARL):在长程稀疏任务中,探索空间巨大,策略网络直接输出原始动作难以获得有效奖励信号。即使经过元训练,面对新任务时仍需在动作空间盲目搜索,导致适应失败。
纯技能提取(如SPiRL):虽然压缩了探索空间,但每次遇到新任务都独立优化高层策略,没有积累"如何快速推断任务意图"的元知识。这就像会很多单词但不懂语法,每次造句都要重新学习语言结构。
2.3 本文的定位和贡献
本文试图结合两者的优势:
- 离线数据:提供可重用的技能库和技能先验(什么样的技能在什么状态下更可能发生)。
- 元学习:学习如何快速组合这些技能来解决新任务。
目标是实现样本效率的质的飞跃,使智能体仅用极少的环境交互就能解决全新的长时程稀疏奖励任务。
本文旨在解决以下关键问题:
-
如何利用无任务标注、无奖励标注的离线数据集来辅助元学习?
- 大多数离线强化学习方法需要为数据标注目标任务的奖励,这在大规模、多任务数据集中难以实现。
- 本文假设离线数据是任务无关的,即我们不知道每条轨迹对应什么任务,也不知道其奖励信号。
-
如何让元强化学习适用于长时程、稀疏奖励的复杂任务?
- 现有元强化学习方法在长时程任务上效果不佳,部分原因是探索和信用分配困难。
-
如何设计一个分层学习框架,使高层策略能快速学习组合底层技能?
- 关键在于:高层策略应在元训练阶段学会“如何快速学习”,并在目标任务上通过极少量样本快速适应。
主要贡献为:
- 首次结合了元强化学习与无标注离线数据集:据作者所知,这是第一个将元强化学习算法与无任务、无奖励标注的离线数据集相结合的工作。
- 提出了 SiMPL(Skill-based Meta-Policy Learning)方法:一个三阶段框架:
- 从离线数据中提取技能和技能先验。
- 在元训练任务上,学习一个以技能为动作空间的高层策略,该策略受到技能先验的正则化。
- 在目标任务上快速微调。
- 实证验证了高效性:在迷宫导航和厨房操控两个长时程稀疏奖励的连续控制环境中,SiMPL 的样本效率显著优于深度强化学习、基于技能的强化学习、元强化学习及多任务强化学习基线方法。
三、预备知识:理解SiMPL的基石
3.1 Skill-Based RL:SPiRL框架
SiMPL建立在SPiRL(Skill-Prior RL)基础上。SPiRL通过以下两个模型利用离线数据:
- 技能策略 π ( a ∣ s , z ) \pi(a|s,z) π(a∣s,z):将低维技能编码 z z z解码为 K K K步动作序列,通过行为克隆(BC)训练
- 技能先验 p ( z ∣ s ) p(z|s) p(z∣s):预测在给定状态下哪些技能更可能被使用,用于引导高层策略的探索
其优化目标为:
max π ∑ t E ( s t , z t ) ∼ ρ π [ r ( s t , z t ) − α D K L ( π ( z ∣ s t ) , p ( z ∣ s t ) ) ] (1) \max_{\pi} \sum_t \mathbb{E}_{(s_t,z_t)\sim\rho_{\pi}} \left[ r(s_t,z_t) - \alpha D_{\mathrm{KL}}\left(\pi(z|s_t), p(z|s_t) \right) \right] \tag{1} πmaxt∑E(st,zt)∼ρπ[r(st,zt)−αDKL(π(z∣st),p(z∣st))](1)
符号说明:
- D K L D_{\mathrm{KL}} DKL:KL散度,衡量策略 π \pi π与先验 p p p的偏离程度
- α \alpha α:正则化强度系数,自动调节以维持目标散度 δ \delta δ
- 高层策略 π ( z ∣ s ) \pi(z|s) π(z∣s)输出的是技能选择,而非原始动作,降低决策频率 K K K倍
3.2 Off-Policy Meta-RL:PEARL框架
PEARL通过任务编码器 q ( e ∣ c ) q(e|c) q(e∣c)实现元学习。编码器接收少量状态-动作-奖励转移 c c c,输出任务嵌入 e e e,用于条件化策略和价值函数:
max π E T ∼ p T , e ∼ q ( ⋅ ∣ c T ) [ ∑ t E ( s t , a t ) ∼ ρ π ∣ e [ r T ( s t , a t ) + α H ( π ( a ∣ s t , e ) ) ] ] (2) \max_{\pi} \mathbb{E}_{\mathcal{T}\sim p_{\mathcal{T}}, e\sim q(\cdot|c^{\mathcal{T}})} \left[ \sum_t \mathbb{E}_{(s_t,a_t)\sim\rho_{\pi|e}} \left[ r_{\mathcal{T}}(s_t,a_t) + \alpha\mathcal{H}(\pi(a|s_t,e)) \right] \right] \tag{2} πmaxET∼pT,e∼q(⋅∣cT)[t∑E(st,at)∼ρπ∣e[rT(st,at)+αH(π(a∣st,e))]](2)
关键机制:
- 上下文变量 e e e:从少量经验推断任务身份
- 最大熵正则化 H \mathcal{H} H:鼓励策略保持探索性
- 离线策略训练:利用回放缓冲区,样本效率高
四、SiMPL方法详解:三阶段架构
4.1 整体框架
SiMPL融合上述两种思想,通过分层策略将元学习从原始动作空间转移到技能空间。如图2所示,三阶段流程如下:
阶段1:技能提取(Skill Extraction)
↓ 输出:技能策略π(a|s,z)、技能先验p(z|s)
阶段2:基于技能的元训练(Skill-based Meta-Training)
↓ 输出:元训练的高层策略π(z|s,e)、任务编码器q(e|c)
阶段3:目标任务学习(Target Task Learning)
↓ 输出:适应新任务T*的最优策略
4.2 阶段一:从无标注数据中提取技能(Skill Extraction)
目标:离线学习可复用的短时行为模式。
技术路线:
- 技能编码器 q ( z ∣ s 0 : K , a 0 : K − 1 ) q(z|s_{0:K}, a_{0:K-1}) q(z∣s0:K,a0:K−1):将 K K K步轨迹片段 ( s 0 : K , a 0 : K − 1 ) (s_{0:K}, a_{0:K-1}) (s0:K,a0:K−1)映射为技能嵌入 z z z
- 低层技能策略 π ( a t ∣ s t , z ) \pi(a_t|s_t, z) π(at∣st,z):通过行为克隆重构原始动作序列,学习根据技能嵌入 z z z 和当前状态 s t s_t st 重建动作 a t a_t at。
- 技能先验 p ( z ∣ s ) p(z | s) p(z∣s):学习一个分布,描述在给定状态 s s s 下,数据中常见的技能是哪些。
联合优化目标:
max q , π E z ∼ q [ ∑ t = 0 K − 1 log π ( a t ∣ s t , z ) ⏟ 行为克隆 − β D K L ( q ( z ∣ s 0 : K , a 0 : K − 1 ) , N ( 0 , I ) ) ⏟ 嵌入正则化 ] (3) \max_{q,\pi} \mathbb{E}_{z\sim q} \left[ \underbrace{\sum_{t=0}^{K-1} \log \pi(a_t|s_t,z)}_{\text{行为克隆}} - \underbrace{\beta D_{\mathrm{KL}}\left(q(z|s_{0:K},a_{0:K-1}), \mathcal{N}(0,I) \right)}_{\text{嵌入正则化}} \right] \tag{3} q,πmaxEz∼q
行为克隆
t=0∑K−1logπ(at∣st,z)−嵌入正则化
βDKL(q(z∣s0:K,a0:K−1),N(0,I))
(3)
设计考量:
- KL正则化:鼓励技能编码 z z z 接近标准正态分布 N ( 0 , I ) \mathcal{N}(0, I) N(0,I),从而得到一个平滑、结构化的技能空间( β \beta β 为权衡系数)。
- β \beta β系数:控制探索与利用的平衡(类似VAE的β参数)
- 梯度截断:训练技能先验时,不从编码器反向传播梯度,避免表示崩溃
技能先验 p ( z ∣ s ) p(z | s) p(z∣s) 训练:最小化编码器输出分布与先验的KL散度
min p D K L ( ⌊ q ( z ∣ s 0 : K , a 0 : K − 1 ) ⌋ , p ( z ∣ s 0 ) ) \min_{p} D_{\mathrm{KL}}\left( \lfloor q(z|s_{0:K},a_{0:K-1}) \rfloor, p(z|s_0) \right) pminDKL(⌊q(z∣s0:K,a0:K−1)⌋,p(z∣s0))
其中 ⌊ ⋅ ⌋ \lfloor\cdot\rfloor ⌊⋅⌋表示停止梯度,确保先验学习真实的技能分布而非被策略操纵。
4.3 阶段二:元训练高层策略(Skill-based Meta-Training)
核心思想:在技能空间而非动作空间进行元学习,将决策复杂度从 ∣ A ∣ K |\mathcal{A}|^K ∣A∣K降至 ∣ Z ∣ |Z| ∣Z∣。
目标:利用元训练任务集 T \mathbf{T} T,学习一个高层策略 π ( z ∣ s , e ) \pi(z | s, e) π(z∣s,e),该策略能根据任务嵌入 e e e 快速选择技能来解决问题。
关键组件:
- 任务编码器 q ( e ∣ c ) q(e | c) q(e∣c):输入一组来自某个任务的转移样本 c = { ( s , a , r , s ′ ) } c = \{(s, a, r, s')\} c={(s,a,r,s′)},输出一个任务嵌入 e e e。
- 高层策略 π ( z ∣ s , e ) \pi(z | s, e) π(z∣s,e):以状态 s s s 和任务嵌入 e e e 为条件,输出技能 z z z。
- 技能先验正则化:策略的输出分布被约束不要过分偏离技能先验 p ( z ∣ s ) p(z|s) p(z∣s)。
优化目标:
max π E T ∼ p T , e ∼ q ( ⋅ ∣ c T ) [ ∑ t E ( s t , z t ) ∼ ρ π ∣ e [ r T ( s t , z t ) − α D K L ( π ( z ∣ s t , e ) , p ( z ∣ s t ) ) ] ] (4) \max_{\pi} \mathbb{E}_{\mathcal{T}\sim p_{\mathcal{T}}, e\sim q(\cdot|c^{\mathcal{T}})} \left[ \sum_t \mathbb{E}_{(s_t,z_t)\sim\rho_{\pi|e}} \left[ r_{\mathcal{T}}(s_t,z_t) - \alpha D_{\mathrm{KL}}\left( \pi(z|s_t,e), p(z|s_t) \right) \right] \right] \tag{4} πmaxET∼pT,e∼q(⋅∣cT)[t∑E(st,zt)∼ρπ∣e[rT(st,zt)−αDKL(π(z∣st,e),p(z∣st))]](4)
- 第一项:任务 T \mathcal{T} T 下的累积奖励。
- 第二项:KL 散度正则项,惩罚策略与技能先验的偏差。这起到了引导探索的作用:策略倾向于选择在给定状态下“合理”的技能,避免选择怪异、低效的技能。
- α \alpha α 是自动调整的正则化系数,通过双重梯度下降法实现,以维持策略与先验之间的目标散度 δ \delta δ。
与PEARL的关键区别:
- 输出空间: π ( z ∣ s , e ) \pi(z|s,e) π(z∣s,e)选择技能而非动作,利用预训练的低层策略执行
- 先验引导:用技能先验 p ( z ∣ s ) p(z|s) p(z∣s)替代最大熵正则化,探索更结构化
- 层次化决策:高层策略每 K K K步决策一次,大幅缓解长期信用分配问题
自适应正则化策略:根据条件数据量 c c c的大小动态调整 α \alpha α:
- 小 c c c(探索阶段,任务信息少):增大 α \alpha α,强制策略贴近先验,避免盲目探索
- 大 c c c(利用阶段,任务信息多):减小 α \alpha α,允许策略偏离先验,优化任务性能
具体实现采用双目标散度 δ 1 < δ 2 \delta_1 < \delta_2 δ1<δ2,对应系数 α 1 > α 2 \alpha_1 > \alpha_2 α1>α2。
4.4 阶段三:快速适应目标新任务(Target Task Learning)
目标:将元训练好的策略快速适应到未见过的目标任务 T ∗ \mathcal{T}^* T∗。
流程:
- 探索采集:在目标任务中,用任务先验 p ( e ) p(e) p(e)采样嵌入,无偏探索20个episode,收集转移数据 c ∗ c^* c∗
- 任务编码: e ∗ ∼ q ( e ∣ c ∗ ) e^* \sim q(e|c^*) e∗∼q(e∣c∗),推断任务身份
- 条件化执行:高层策略 π ( z ∣ s , e ∗ ) \pi(z|s, e^*) π(z∣s,e∗)直接生成技能序列此时策略通常已能取得不错的表现。
- 微调优化:为进一步提升,可用目标任务的奖励微调该策略,同时仍用技能先验正则化:
max π E e ∗ ∼ q ( ⋅ ∣ c ∗ ) [ ∑ t E ( s t , z t ) ∼ ρ π ∣ e ∗ [ r T ∗ ( s t , z t ) − α D K L ( π ( z ∣ s t , e ∗ ) , p ( z ∣ s t ) ) ] ] (5) \max_{\pi} \mathbb{E}_{e^*\sim q(\cdot|c^*)} \left[ \sum_t \mathbb{E}_{(s_t,z_t)\sim\rho_{\pi|e^*}} \left[ r_{\mathcal{T}^*}(s_t,z_t) - \alpha D_{\mathrm{KL}}\left( \pi(z|s_t,e^*), p(z|s_t) \right) \right] \right] \tag{5} πmaxEe∗∼q(⋅∣c∗)[t∑E(st,zt)∼ρπ∣e∗[rT∗(st,zt)−αDKL(π(z∣st,e∗),p(z∣st))]](5)
效率来源:
- 元知识复用:无需重新学习"如何组合技能"的元策略
- 先验引导:技能先验确保探索始终围绕有意义的技能展开
- 冷启动优势:条件化后的策略往往已能取得>80%成功率
五、实验场景与结果
5.1 实验环境
为了验证方法在长时程、稀疏奖励、复杂控制任务上的有效性,作者选择了两个具有挑战性的连续控制环境:
- 迷宫导航:2D 迷宫,智能体需用连续速度控制,在数百步内到达目标,仅当到达时获得稀疏奖励。
- 厨房操控:操控 7 自由度机械臂,完成一系列子任务(如打开微波炉、打开水龙头等),每个子任务完成时给予稀疏奖励,整个序列长达 300-500 步。
5.2 基线方法对比
- SAC:先进的深度强化学习算法,从零开始学习。
- SPiRL:基于技能的强化学习,利用离线数据学习技能和先验,但不使用元训练任务。
- PEARL:先进的离策略元强化学习算法,利用元训练任务,但不使用离线数据。
- PEARL-ft:PEARL 模型在目标任务上微调。
- MTRL(多任务强化学习):类似 Distral,先为每个元训练任务训练一个专用策略(使用 SPiRL),然后蒸馏成一个共享策略。它同时利用了离线数据和元训练任务,但不是元学习(不学习“如何快速学习”)。
5.3 核心实验结果
- 样本效率:SiMPL 在两种环境中学习目标任务的样本效率显著高于所有基线(图4)。通常只需几个回合就能达到高性能,而其他方法需要数百甚至数千倍的交互。
- 定性分析:在迷宫导航中,所有利用离线数据的方法(SiMPL, SPiRL, MTRL)在首回合都能有效探索,但 SiMPL 收敛速度远快于后两者,体现了元学习的优势(图5)。而不使用离线数据的 PEARL-ft 则几乎无法学习。
- 元训练任务分布分析:
- 任务数量:即使元训练任务数量减少(10个、20个),SiMPL 仍优于 SPiRL,说明利用元训练任务总是有益的(图6a)。
- 任务分布对齐性:当元训练任务分布与目标任务分布对齐良好时,SiMPL 性能更优;当分布错位时,性能会下降,但仍与 SPiRL 相当(图6b, 6c)。这说明元学习能从多样化的或与目标相关的任务分布中受益。
5.4 消融实验与深入分析
- 技能 vs 平坦行为克隆:在元学习中,使用从离线数据提取的技能(SiMPL)比使用平坦的行为克隆策略(BC+PEARL)更能有效解决长时程任务(附录A)。这证明了技能提供的时序抽象对于长时程元学习至关重要。
- 极少量样本适应:即使在目标任务上只提供极少数回合(<20) 的交互,SiMPL 也能快速学习,而其他元学习方法几乎无法取得进展(附录B)。
- 领域迁移:在图像观测、离线数据与目标任务环境存在显著差异(不同迷宫布局)的设置下,SiMPL 依然表现鲁棒(附录C)。
六、总结与展望
本文提出的 SiMPL 方法成功地将元强化学习与无标注离线数据相结合,通过提取技能和技能先验,并利用它们正则化元训练过程,实现了在长时程、稀疏奖励任务上的高效快速适应。实验表明,该方法在样本效率上实现了数量级的提升。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)