前言
经过过去我司「七月在线」的一系列探索,发现对于某些精密操作任务而言「嗯,注意我的前提是:1 某些------非全部,2 精密操作,比如把耳机线插入耳机孔」,模仿学习的天花板基本就在80-90%,而为了做到100%,根据我们以往的经验,得进一步尝试:IL和RL的结合
故,我个人暂认为,对于部分精密任务而言
- 目前微调vla,本质也是通过il(主要)微调action expert
il下 很难做到足够精密,对训练数据质量要求高
vla更适合带推理、思考的长程任务 - 部分精密性质的,个人觉得『IL打样 + RL微调』更适合,vlm做(推理层面或定位层面)辅助
而单独的il和rl 都不太好泛化
当然不要求泛化性,则单纯的rl搞精密也是可以的,比如hil-serl
加之,我上一篇博客解读的VITAL,使得我对在线RL有了极高的关注
- 所谓在线RL,通俗来讲,可想象一个机器人走进了你家厨房,它不是靠"背课本"学做饭,而是边看边问、边做边学。这种"现场学习"的能力,正是在线RL所赋予机器人的潜能。它让机器人不再只是被动地模仿人类经验,而是能主动探索、持续优化、在真实世界中不断进化
- 如果对RL还不了解的,则建议先学此文《强化学习极简入门》,不然在你下文遇到所谓Q函数时,你可能一头雾水
毕竟未来一两月,我司长沙分部的规划是
- 对于机械臂
一方面,vla openpi在piper上的部署与优化
二方面,考虑IL + RL结合下的方法,继续优化USB插拔、电源插拔等各种插拔场景 - 对于人形
继续unitree_IL_lerobot,以及GR00T部署、G1对话、展厅讲解(包含导航)、全身遥操、跳舞
针对各种插拔场景,25年7.4日下午,我司长沙分部同事文弱发我了一个介绍WSRL的X链接,我一看,挺不错,很有价值,也很有意义,后续准备试下,故本文先解读下

WERL的作者之一,也是UC伯克利的副教授、π0所在公司的联创、强化学习大牛Sergey Levine声称
- 预热启动强化学习(WSRL)能够在不到 20 分钟的时间内学会控制一台真实的机器人!深度强化学习的速度变得越来越快
- 从离线数据预热启动『(相当于离线RL策略在线交互某小段数据:本质上来讲,因为是离线策略交互的 即是离线数据 -哪怕是在线交互)』,加上超级高效的在线学习,正使得现实世界中的强化学习不仅可行,而且相当容易
Warm-start from offline data + super-efficient online learning is increasingly making real world RL not just practical but pretty easy
一为指导将来的实践,二为分享,与更多有志于在线RL方向的同仁多交流『欢迎私我一两句的简介,邀你加入:七月:HIL-SERL/WSRL/VITAL交流』
第一部分 WSRL
1.1 引言与WSRL的简介
1.1.1 引言:带着离线数据微调的弊与利:带则缓慢且昂贵还限制性能提升,不带则灾难性遗忘
现代机器学习范式通常包括在多样化数据上进行预训练,随后针对特定任务进行微调
在强化学习(RL)中,这一流程表现为:
- 首先通过离线RL(预训练) 在多样化的历史数据集上进行学习
(类似笔者july在图书馆学习大量的基础知识)- 然后利用交互数据进行快速的在线RL微调
(类似笔者july在已有的大量基础知识之上,专攻某个垂直领域)大多数RL微调方法为了保证稳定性和性能,需要持续在离线数据上训练------说白了,即指在线RL微调的同时,得带着全部离线数据
然而,在大规模数据集上对多样化离线数据持续进行训练,即如公号具身纪元所说,总是带着全部的"旧数据"来进行强化学习微调,带来了一些弊端
- 既缓慢又昂贵「随着离线数据集越来越大,每次更新模型都要处理海量数据,这会耗费巨大的计算资源和时间,让微调过程变得异常缓慢和昂贵」
- 并且原则上还会因为离线数据带来约束[15,28-IQL,相当于持续依赖旧数据],或悲观性[29-CQL,7,防止AI在未知领域乱来,毕竟AI还不够成熟稳定可控,故对于现阶段而言,适度的悲观比盲目乐观更好
当然,++此举带来的弊病是限制性能提升++,正如2024年OpenAI高歌猛进之时,CEO想更快发布一系列产品 通过海量用户反馈更快迭代产品,但CTO则希望先做到足够安全再发布,你说 听谁的
正因为离线数据庞大,使得在线RL微调时 还带着全部的离线数据,是一个巨大的负担,故很自然的一个想法是,能不能在在线RL微调时,不再带着整个离线数据 这个累赘呢
然问题又来了,作者发现如果不带着全部离线数据,则AI会乱发挥甚至遗忘预训练所学的知识
-
持续在离线数据上训练主要用于防止:微调初期因离线数据与在线采样分布不匹配 『(*即防止分布偏移------*预训练的数据分布(纸上谈兵)与在线微调任务的数据分布(落地实践)存在显著差异』
而导致价值函数出现:突发性发散
『*比如Q值发散,Q-value divergence,即指在线微调初期,由于分布偏移,预训练的Q函数在新数据上的估计------*无论是悲观型算法(如 CQL [29]),还是行为约束型算法(如 IQL [28]),在在线微调初期,离线 Q 函数都会经历一个"再校准"阶段,变得不稳定甚至发散,从而最终因为离线训练时算法的保守性或悲观性,AI对预训练时未见过情况的Q值(信心)给出一个极低的、悲观的预估,而这种低信心会影响其他的Q值,从而进入整体低迷的恶性循环』即使是专为微调设计的方法(如 CalQL [37]),在离线数据有限或缺失的情况下,依然会受到这一问题的影响
-
而这种发散通常会导致(灾难性)遗忘和丧失离线预训练带来的优势,Q值发散会导致模型无法有效利用预训练知识,使得性能急剧下降且难以恢复
所谓灾难性遗忘*,即指AI 在进行在线强化学习微调时,仍然需要不断地回顾和学习那些庞大的离线"教科书"数据。如果不这样做,AI 模型在刚开始接触新任务时,会因为"水土不服"而表现急剧下滑,甚至完全忘记之前学到的知识*
得,带着全部的离线数据,又慢(减缓微调速度)又受限,不带着吧,模型又会学崩,你说,咋整
1.1.2 WSRL简介与相关工作
好在救星来了,来自1UC Berkeley、2Carnegie Mellon University的研究者提出了WSRL
-
在WSRL中,作者表明,只要采用适当设计的在线RL方法对离线RL初始化进行微调,就无需保留离线数据「离线数据集仅用于通过离线强化学习预训练策略和Q函数,以初始化微调,之后该数据集被丢弃,智能体仅通过在线经验进行微调」,且还不出现灾难性遗忘
其对应的论文为:Efficient Online Reinforcement Learning Fine-Tuning Need Not Retain Offline Data
作者包括:Zhiyuan Zhou*1, Andy Peng*1, Qiyang Li1, Sergey Levine1, Aviral Kumar2
其对应的项目地址为:zhouzypaul.github.io/wsrl
其对应的GitHub地址为:github.com/zhouzypaul/wsrl -
而Warm-start RL(WSRL),为了缓解预训练初始化的灾难性遗忘,其在在线RL运行前设置了一个预热阶段,利用预训练策略采集极少量的采样数据,以实现快速在线RL
预热阶段收集的数据弥合了分布不匹配的问题,有助于将离线Q函数"重新校准"到在线分布,从而使得能够完全丢弃离线数据,而不会导致在线RL微调过程的不稳定即使只用少量适当收集的数据对在线微调进行****"模拟"离线数据保留
Our key insight is that seeding online fine-tuning with even a smallamount of appropriately collected data that*"simulates" offline data retention*
即将* 少量来自预训练(离线RL)策略的++在线回合++:初始化到在线回放缓冲区「initialize theonline replay bufferwith a small number of ++online rollouts++ from the pre-trained policy」**,然后结合多种离线RL初始化*也能做到如下两方面
一方面,将离线数据放入回放缓冲区并从头运行在线RL能取得更优表现[3]
二方面,这些数据分布更接近于在线微调任务,也能极大促进再校准『一旦完成这种再校准,就可以运行最有效的在线强化学习方法(无需悲观或行为约束)』,从而缓解预训练与微调之间的分布不匹配,并防止遗忘
最后,采用在线RL方法进行微调
通俗讲 ,运动员在参加某项国际马拉松比赛之前的10分钟内,他是来不及去回顾过去几年的所有训练经验、训练知识的,只能依靠之前的训练经验,在正式比赛之前的10分钟快速做下赛前热身,在起点处做下试跑,之后正式比赛时,便可依据这段赛前热身、赛前试跑------ 而无需再去回顾以往几年的训练经验/知识**,迅速进入状态** ,并在正式的比赛过程中 按需调整
也类似于 山地车正式比赛之前,很多选手都会预骑一圈,以熟悉地形和地图,再比如演职人员在演出之前的彩排,或者学生在高考考前的模拟考
什么叫做无需离线数据的微调呢
- 在一个无限时域的马尔可夫决策过程(MDP)
中进行操作,该过程包括
状态空间
动作空间
转移动态函数
奖励函数
折扣因子
以及初始状态分布- 可以访问一个离线RL 预训练策略
和预训练Q 函数
作者的目标是构建一个仅使用和
而不使用
的在线微调算法,以最大化折扣回报:
接下来,咱们看下相关的一些工作
第一,离线到在线强化学习
- 离线到在线强化学习旨在利用离线数据集,使在线强化学习的采样效率尽可能高[30,36]。针对该场景,许多方法采用离线预训练,然后在离线与在线数据混合的基础上进行专门的微调阶段 [36,28,1,22,42,37]
离线强化学习方法还可以通过在添加新在线数据时继续训练,直接用于微调 - 与WSRL的论文目标最为相似的是 Agarwal 等人[1],其尝试利用先前的强化学习计算作为下游任务的更优初始化
然而,该工作以及上述所有方法仍然需要在数据缓冲区中保留所有预训练数据
正如WSRL所展示的,这些方法在缓冲区中没有离线数据时会完全失效。而WSRL的工作并不保留离线数据 - Uchendu 等人[55]利用预训练策略引导在线微调,无需离线数据保留,但舍弃了价值函数,而价值函数通常是大多数 actor-critic 强化学习算法中的学习驱动力
- Ji 等人[24]和 Luo 等人[35]则在共享的回放缓冲区上并行运行离线强化学习和在线强化学习,遵循了串联学习(tandem learning)[39]的思路
尽管这一系列工作的高层动机也是利用离线强化学习提升在线强化学习效率,但并不存在预训练过程
第二,在线强化学习(RL)对离线RL策略进行微调时的瓶颈
在本研究中,作者展示了离线数据利与弊
- 利是离线数据的保留在微调初期极大地稳定了Q函数的再校准,否则,由于状态-动作分布转移,可能导致灾难性遗忘
- 弊则如Luo等人[34]观察到的,将离线数据放入离线RL的回放缓冲区虽然能够稳定微调过程,但同时也会减缓学习速度
Luo et al. [34] observe that putting offline data into theoffline RL replay buffer stabilizes fine-tuning, but also slows down learning
然而,离线数据为何会对微调产生负面影响仍不清楚,而作者的分析正是旨在解答这一问题
- Lee等人[30]指出,离线数据与在线采样数据之间存在状态-动作分布转移,但并未明确分析这种分布转移在在线微调中的负面影响
- Nakamoto等人[37]则表明,离线预训练Q函数的尺度校准不佳,是在离线数据保留下,悲观算法在在线微调时不稳定的关键原因
WSRL的分析将上述研究扩展到不保留离线数据的情形------相当于之前的工作 很少考虑到完全抛弃全部离线数据,揭示了另一种独特的原因(状态-动作分布转移),这种问题同样困扰着Nakamoto等人[37]提出的方法
第三,在线强化学习利用先前数据但不进行预训练
- 另一类研究工作完全绕过了离线强化学习的预训练阶段,直接采用纯在线强化学习智能体,从头开始在离线数据和在线交互数据的样本上进行学习 [50,62,3]。尽管没有采用预训练,实验证据表明这种方法效果相当不错,通常优于那些采用单独离线预训练阶段的在线强化学习微调方法
- 如果利用先前数据的最有效方式只是将其直接加入回放缓冲区,而完全不需要任何预训练------无论采用哪种预训练算法------那么这或许说明在可扩展的强化学习预训练与微调方案中,仍然缺失某些关键要素
本文展示了,至少问题的很大一部分在于离线强化学习初始化的在线微调环节,并提出了一种极其简单的方法来解决这一问题
第四,无数据保留的强化学习策略微调
-
最后,许多持续和终身强化学习方法也会在不保留先前经验的情况下微调策略,这是因为环境动态和任务设定存在非平稳性假设[46,26,23,56,40]
元强化学习方法[11,47,52,44,2,9,16]假定可以访问任务/环境分布,以优化在线快速微调 -
与之相反,WSRL仅考虑单一环境、单一任务的设定,即预训练和微调均在同一环境下针对同一任务进行。在相同的单环境单任务设定下,许多先前的工作研究了基于策略的强化学习方法(例如,PPO[49])用于微调预训练策略[48,27,43,17,57,45]
其中,Wołczyk等人[57]也观察到在微调初期出现"遗忘"现象,并发现通过持续学习中的技术显式缓解遗忘,可以提升微调效率与这些工作不同,WSRL关注于基于离策略的actor-critic强化学习方法,这类方法具有更高的样本效率,并且在解决遗忘问题时需要采用不同的解决策略
1.2(原论文第3节) 理解离线数据在在线微调中的作用:利与弊
如原论文所述,作者首先尝试理解当前离线到在线强化学习方法为何需要保留离线数据集
具体而言,作者希望理解保留离线数据的优缺点,并从中获得开发新方法的见解,这些新方法能够发挥类似作用,但无需保留离线数据
故,作者的研究围绕两个方面展开:
- 分析在微调初期保留离线数据的作用
- 分析保留离线数据对最终微调性能的影响
PS,其实这种论文,咱们读起来会挺受启发的,相当于被带着一步步做研究,我个人也学到不少东西------正因如此,故我不厌其烦的解读整篇论文的全部内容
1.2.1 利:微调初期离线数据的作用------不带则Q值发散且灾难性遗忘
继先前研究[37]的观察结果,作者发现,如果未保留任何离线数据,对离线强化学习初始化进行微调会严重失败
-
具体而言,如下图图2所示
在无保持(no-retention)微调中,IQL、CQL 和 CalQL 均未能在 kitchen-partial 上成功微调
即离线强化学习算法IQL[28]和CQL[29]在微调初期立即出现遗忘现象------竖直虚线表示预训练与微调之间的分界,其在D4RL[14]的kitchen-partial任务上的成功率几乎降至0%
相比之下,当在微调过程中持续使用离线数据进行训练时,这些算法能够按预期工作更重要的是,在整个微调过程中,它们都无法恢复性能
CalQL[37]是一种专为后续微调而设计的离线强化学习方法,通过学习校准的Q函数来实现
该方法在初始阶段性能会下降,但经过进一步的在线训练后有所提升。然而,其性能仍难以超过预训练阶段 -
为了更好地理解上述结果,作者引入了一些术语
将"反学习"定义为微调开始时的性能下降,之后可能会恢复;
而"遗忘"则指在微调初期破坏了预训练初始化,使得通过在线强化学习训练几乎无法恢复
一般来说,由于离线与在线状态-动作对分布的转变,反学习 可能是不可避免的(例如,在稀疏奖励问题中,策略动作的微小变化会导致回报发生巨大变化)[58]
另一方面,完全遗忘预训练初始化是有问题的,因为这会抵消离线强化学习预训练带来的优势 -
作者的目标是让智能体在反学习后能够迅速恢复 ,这依赖于对预训练知识的有效利用
从图2可以看出,虽然所有算法都会出现反学习,但CQL和IQL会遗忘(见下图图2的前两个小图)。相比之下,CalQL不会遗忘------下图第3个分图,但它没有进一步提升
这表明,在没有离线数据的情况下,使用在线强化学习进行微调存在瓶颈,并且不同的离线强化学习初始化在面对这一挑战时受影响的程度也不同
为什么不保留离线数据会带来负面影响?为了帮助理解可能出现的问题,作者在图3中观察了保留不同数量离线数据时的情况------注意 为方便大家一目了然,对于不同颜色的图所对应文字描述的颜色,我是统一的
-
如下图图3所示,在微调过程中移除(不同程度的)离线数据时,性能会下降(子图a),这是因为基于离线数据集分布拟合的Q函数发生了发散(子图b、c),尽管Q函数可以拟合在线分布(子图d)。该图展示了在每次更新批次中,使用0/5/10/25%离线数据对kitchen-partial任务进行CalQL微调的结果。且在IQL和CQL上也得到了类似的发现
且上图图3(b)显示,随着保留的离线数据量减少,离线分布下的平均Q值开始出现发散。这一Q值的发散又对应于TD误差的发散(见图3(c)),这可能突显了遗忘现象
作者将在原论文的第5节(对应于本文的1.4节)展示他们的方法如何防止这种发散 -
根据图3c、图3d可知,深入分析后作者发现
一方面
++1 这种发散现象只出现在离线数据分布上++ (在此分布上评估指标,但并不用于训练)
2 即无论保留多少离线数据,++在线分布上的TD误差始终较小(见图3(d)-TD Loss(online)++)
二方面
在离线数据分布下,随着离线数据量的减少,TD误差显著增大(见图3(c))
这一趋势在CQL、IQL和CalQL中均表现一致,尽管CalQL的发散程度最轻,或许得益于其校准的Q函数,这与CalQL在该问题设置下表现出的稳定性和最佳性能(见图2)相关
这表明,目前离线到在线微调算法在不保留离线数据时出现的问题,很可能源于在线采样数据与离线数据分布之间的一种分布漂移 。对更多on-policy数据的微调会破坏对离线数据的拟合能力
如图2所示,这可能导致对预训练初始化的遗忘
为什么Q值会被低估?不仅在离线数据分布下Q值会发散,如下图图3b所示

在微调初期,在线分布下的Q值也会经历低估现象『见下图图4 ,在 kitchen-mixed、kitchen-complete 和 kitchen-partial 数据集上,无保留微调下 CQL(左)、CalQL(中)和 IQL(右)Q 函数的螺旋式下降效应:当微调在 500k 步开始时,Q 函数进入螺旋式下降。当它最终恢复时,策略已经遗忘(见图2)』

- 这种Q值发散体现了离线强化学习与在线微调交界处的"再校准"过程,正如Nakamoto等人[37]在其图3中所指出的
- 然而,与Nakamoto等人[37]不同,无保留微调中的再校准过程必须完全依赖有限的在策略数据进行「However, unlike Nakamotoet al. [37], the recalibration process in no retention fine-tuning must operate entirely on limited on-policy data」
因此,可以看到,尽管CalQL明确调整了离线Q函数初始化的尺度,但在不保留离线数据的情况下,仍然无法避免遗忘现象
接下来,作者希望阐述清楚,为何重新校准会导致Q值出现分歧。下图图5为这种Q值低估提供了直观解释------该图说明了为何在无保留微调中,Q值会被低估,并可能导致"螺旋式下滑"

请考虑从环境中收集的第一批在线回合数据,用于估计在线状态-动作对的TD误差的目标值计算将会在分布外的状态-动作对上查询离线Q 函数
- 由于保守的离线RL预训练(例如CQL 或CalQL),在这些分布外状态-动作对上学习到的Q 值预计会很小
在Bellman回传中将这些悲观值用于TD 目标,反过来会将这些低估误差会被传播到新的在线状态-动作上
图3(d)证实了这些TD目标的有效传播------TD Loss(online)
- 此外,如果在微调过程中继续运行悲观强化学习算法(如CQL或CalQL),保守正则项会持续最小化分布外的Q值:由于在策略回合较少,未见过的动作的Q值会不断变小
这种机制性的理解暗示
- 在微调初期,学习到的Q函数会出现一种"螺旋式下滑"的现象------ 在微调开始时对Q值进行重新校准,会由于++采用过于悲观的时序差分目标进行回传,导致Q值被过度低估++。作者将这一现象称为"下行螺旋"
此时,尽管Q函数能够恢复,但策略已经遗忘了其预训练内容,无法再恢复到离线训练时的性能(见图2) - 且作者发现,随着微调过程中可用的离线数据量减少,这一现象变得更加严重,如图3所示。当无法保留任何离线数据时,负面影响最为显著。即使是经过校准的算法,如CalQL,虽然更具鲁棒性,但仍然会受到该问题的影响(见图4中间)
1.2.2 弊:离线数据对渐近性能的不利影响------带则微调缓慢且影响影响提升
如上所述,离线数据在当前的离线到在线算法中起着重要作用,既有助于重新校准,也能防止Q值发散。那么,一旦重新校准完成,离线数据在长期内会如何影响性能?
作者的研究发现,持续在离线数据上训练会损害最终的性能和效率。具体来说,作者在图6中发现「*保留离线数据效率低下,并且在三种不同环境下,其表现均被在线强化学习方法(如RLPD)超越。RLPD从零开始训练,*而CalQL在第0步采用预训练初始化」

-
离线强化学习微调(即带着全部离线数据的微调)的速度通常显著慢于那些用离线数据初始化回放缓冲区、从零开始的在线强化学习算法[3,51]
这一现象令人担忧,因为它表明离线强化学习的预训练对微调没有带来任何好处(这与其他机器学习领域中预训练能够显著提升效果的情况不同),或者现有的强化学习微调方法总之,虽然对于当前的微调方法来说,在微调初期保留离线数据对于防止遗忘似乎至关重要,但使用(悲观的)离线强化学习算法持续对这些离线数据进行更新,会对渐近性能和效率产生负面影响
-
故,来自不同离线强化学习初始化的方法不足以有效利用离线初始化。作者将展示,在高更新次数与数据比(UTD)环境下,对在线强化学习方法进行简单修改,即可在无需离线数据的情况下,充分利用多种离线强化学习方法的初始化效果
1.3 WSRL:无需保留离线数据的快速微调
1.3.1 详解WSRL:离策略的actor-critic 算法
到目前为止,可以看到,在离线强化学习算法中保留离线数据会减缓在线微调的速度,但如果移除离线数据又会导致遗忘
那么,该如何同时解决离线初始化的遗忘问题,并在在线阶段实现渐近的样本效率呢?
-
也许,解决渐近效率问题的一种直接方法是采用标准的在线强化学习(RL)方法进行微调,不像当前的离线到在线微调方法那样,在微调过程中仍然保留离线RL的特定技术,也不引入悲观性或约束
且还可以通过在高更新-数据比(UTD)模式下运行[3,6],进一步加速在线学习 -
剩下的问题是:在没有离线数据的情况下,如何应对微调初期出现的灾难性遗忘 ,这会阻碍在线性能的进一步提升?
作者的见解是,可以通过在在线微调开始时,使用冻结的离线RL策略收集少量预热转移(warmup transitions),来"模拟"在离线数据上的持续训练
Our insight is that we can "simulate"continued training on offline databy**collecting a small number of warmup transitionswith a frozen offline RL policy at the onset of online fine-tuning*.*
通过在这些转移上采用激进的、高UTD的在线RL方法(比如SAC)进行训练,而无需保留离线数据,可以缓解灾难性遗忘带来的挑战
Training on these transitions via an aggressive, high updates-to-data (UTD) onlineRL approach, without retaining offline data can mitigate the challenges of catastrophic forgetting.
总之,WSRL 是一种离策略(off-policy)的actor-critic 算法(算法1),其**策略和值函数通过CalQL [37]在离线阶段进行预训练,在线微调过程则采用SAC[18]**完成

-
它用预训练的Q 函数
和策略
初始化价值函数和策略,这些可以来自任何离线强化学习算法
-
然后,WSRL 使用前K 步在线步骤,通过冻结的离线RL 策略收集少量回合,以++模拟离线数据的保留++
Then, WSRL uses the first 𝐾online steps to collect a few rollouts usingthe frozen offline RL policyto simulate the retention of offline data说白了,在正式开始在线微调之前,让预训练好的模型(离线RL策略,此时其参数被"冻结",不进行学习),与真实环境进行一小段 *(例如 5000 步,原论文即说的使用 K = 5000为微调开始时的预热步数)*的交互,并把这些交互数据收集起来,存入一个空的"经验池"(Replay Buffer)
作者将这一阶段称为" 预热" 阶段 -
在预热数据收集后,WSRL 通过标准的时序差分(TD)更新和策略梯度同时训练价值函数和策略
在微调过程中,作者采用较高的更新与数据(UTD)比率[13, 6],并遵循其他最佳实践
为了解决高UTD 条件下的高估问题[20],作者在actor 和critic 中都使用Q 函数集成[6] 和层归一化[21]
这里面有个细节是在微调开始时冻结策略是否有帮助?
- 在微调开始时,策略性能会出现短暂下降,一个自然的问题是这种下降是否可以避免。最直接避免策略性能下降的方法是在初始微调期间冻结策略
换句话说,在微调开始的前N 步中,只将梯度传递给Q函数并训练Q 函数,而冻结策略
在N 步在线训练之后,再开始同时训练策略和Q 函数- 图23 展示了在将策略冻结N = {10k, 30k} 步之后WSRL 的性能
很明显,即使将策略冻结若干步以便让Q函数在线调整,策略在解冻后仍然会出现性能下降
事实上,这在某种程度上是预期的结果,因为策略需要适应OOD 的在线状态-动作分布,以及新的在线Q 函数,这一调整过程预期会使策略性能变差
1.3.2 WSRL的实现细节与对应机器人的设置
在实现细节上,本论文中的大多数结果采用CalQL对WSRL进行初始化,尽管原则上可以使用其他初始化方法
-
选择Soft Actor-Critic [18]作为在线微调算法
在在线强化学习更新过程中,评论者(critic)通过标准时序差分损失进行更新,行动者(actor)则采用策略梯度(在本例中为重参数化的策略梯度估计器)并结合熵正则化进行更新,方法同 Soft Actor Critic [18] -
作者在RLPD [3] 中使用了在线SAC [19] 实现 ,UTD 为4,actor 延迟为4(每进行四次critic 步骤后更新一次actor),batch size 为256,actor 学习率为1e −4,critic 学习率为3e −4,温度学习率为1e −4
且使用了一个包含10个Q 函数的集成体,并通过随机子采样2 个Q 函数并取这两个Q 函数中的最小值来预测Q 值[6]
当从离线RL 预训练中初始化策略网络和Q 函数网络时,会保留这些网络的优化器状态
在antmaze环境中,作者发现通过对10个Q函数集合中的TD目标取最大值来计算TD目标非常重要,这一做法与Kumar等人[29]的方法一致。该设计不会影响其他环境的性能
作者推测,这是因为antmaze环境在在线学习过程中需要更强的乐观性,这与Ball等人[3]所做的设计决策相互配合
总之,作者使用5K 预热步数,并遵循SERL [31] SAC 实现。对于RLPD、CalQL 和WSRL,作者使用2 层resnet MLP、层归一化,以及评论家与行动者的比例为4,批量大小为256,学习率为3e −4。且使用10Q 函数的集成,通过随机子采样2 个并取最小值来预测Q 值。对于离线CalQL,我们使用固定的CQL 正则化权重α = 5,并训练40k 次梯度步
至于机器人的设置上,在 Franka 机械臂上使用 SERL 软件套件 [31] 进行实验。在在线强化学习微调过程中,SERL 将数据收集和智能体更新作为异步进程运行
- 在插销任务中,将机械臂夹爪始终保持关闭状态。按照 Luo 等人 [31,32] 的方法,将机器人末端执行器的位置限制在如下所述的特定边界框内
策略采用了预训练的 resnet 编码器,并优化由一个在人工收集的 200 个正例和 500 个负例上预训练的二元分类器提供的稀疏奖励- 数据收集上
作者在运行以20个预先收集的专家演示初始化的SERL时,记录回放缓冲区,并在在线强化学习过程中利用人工干预来引导和加速学习,以实现快速数据收集 [32]
(当不使用人工干预时,作者发现SERL解决插销任务需要一个多小时,这与Luo等人 [31] 的报告一致)- 环境细节上
按照Luo等人[31,32]的方法,作者将机器人末端执行器的位置限制在以插入位置为中心的特定区域内
在离线数据集的数据采集过程中,作者放宽了这一限制,使用覆盖绿色框边界的更大包围盒,以收集更多样化的数据
且采用0.98的折扣因子,并在包围盒内随机重置,用于在线微调
最后,总结一下
- 在本文中,作者探讨了在不保留、且不联合训练任何离线数据集的情况下,在线微调强化学习(RL)智能体的可能性。这种设定对于实现真正可扩展的强化学习至关重要:先利用离线RL在多样化数据集上进行预训练,随后通过在线RL进行微调,而此时保留离线数据集的成本较高或不可行
- 作者发现,现有的离线到在线RL算法在该设定下完全失效,原因在于由于分布转移导致的Q值发散。然而,如果仅使用在线强化学习算法进行微调,并通过预热阶段使Q值稳定下来,就可以防止Q值发散
作者希望WSRL能够揭示无数据保留微调中面临的挑战,并激发未来对无保留强化学习微调这一重要范式的研究
第二部分(选读) 实验评估
2.1 基线方法与实验设置
2.1.1 基线方法
虽然大多数现有的强化学习微调方法并非专门为"无保留微调"场景设计,但它们完全可以应用或调整以适应WSRL的设置
- JSRL[55] 在每个回合中使用预训练策略进行若干步的 roll-in,然后再用当前策略进行 rollout
在线策略从零开始训练,结合 roll-in 和 rollout 的经验
为提升JSRL 的竞争力,作者还用预训练策略初始化在线策略,并采用高 UTD 运行 - 离线强化学习方法也已被证明可以用于在线微调
作者考虑了三种离线方法:CQL[29]、IQL[28] 以及CalQL[37](CQL 的扩展版本,能校准 Q 值以实现高效微调)
另一种方法 SO2[61] 通过高UTD 和扰动价值更新,在微调过程中平衡奖励最大化与悲观预训练
最后,RLPD[3] 是一种高效的在线强化学习算法,通过对离线数据集和在线缓冲区各 50% 的采样,从零开始学习每个更新批次 - 通常的微调方案会在每个更新批次中同时从离线数据集和在线回放缓冲区采样(如CQL、CalQL、RLPD)
或用离线数据集初始化回放缓冲区(如 IQL、SO2)
但在"无保留"设置下,作者仅从在线缓冲区采样进行评估
由于 RLPD 去除 50/50 采样后等价于快速更新的 Soft Actor Critic [18],将其称为 SAC(fast)
2.1.2 实验设置
研究了多个具有挑战性的基准任务,并按照先前工作的协议[37,28,29],探讨了预训练数据集的构成。实验涵盖了D4RL[12]中的
- Antmaze
是一类长时序导航任务,需要控制一个8自由度的 Ant 机器人在稀疏奖励的情况下到达目标点。智能体必须从一个次优数据集中学习"拼接"经验
除了D4RL 的原始迷宫外,作者还引入了更大且更具挑战性的 Antmaze-Ultra [25] 迷宫 - Kitchen
Kitchen 环境是一个长时序操作任务,要求控制一个9自由度的 Franka 机械臂在模拟厨房中依次完成4个子任务 - Adroit任务
Adroit 环境是一套灵巧操作任务,要求控制一个28自由度的五指机械手,将笔移动到指定位置、打开门以及将球移动到目标位置。当智能体完成任务时会获得二值奖励。每个任务都有一个离线数据集,包含25个人类演示的离线数据以及由行为克隆策略收集的额外轨迹 - 以及Gym MuJoCo中的运动任务
D4RL 中的 Mujoco Locomotion 环境是稠密奖励设置,智能体需要学习控制机器人关节以完成各种运动任务
2.2 WSRL的几个重要结论:能否高效微调、其预热阶段有多关键、初始化的重要性
2.2.1 WSRL能否在无数据保留的微调中实现高效微调?
图7 将WSRL 与前述应用于无保持微调的方法进行了比较

-
在七个不同的任务中,WSRL 显著优于基线方法,能够更快地微调至更高的渐近性能
正如第3 节中提到的,CQL、IQL 和CalQL 在该设置下完全失败------如上文的图2所示
SAC(fast)在探索性强的环境中完全失败,但在某些环境中可以缓慢提升
最具竞争力的基线方法是JSRL。虽然JSRL 在Adroit 任务上达到了与WSRL 相同的性能,但在Antmaze 和Kitchen 任务上表现明显较差 -
假设这一性能差距源于WSRL 能够从预训练的价值初始化中获益,尤其是在预训练Q 函数较好的数据集上(如Antmaze)
需要注意的是,尽管WSRL 在初期会经历性能的" 遗忘" 现象(见图20)
但它能够迅速恢复,并优于其他往往无法恢复的方法。正如作者之前所指出的,在某些环境中,部分遗忘可能是不可避免的,但防止预训练初始化的遗忘非常重要
为了评估策略和Q 函数的遗忘程度,作者在图8 中测量了预训练与微调Q 函数之间的KL 散度 ,以及在遗忘期间预训练与微调策略之间的KL 散度「 预训练策略和 Q 函数与微调后的策略和 Q 函数之间的 KL 散度表明,WSRL 并未忘记其预训练内容。这四张图展示了在线和离线状态下分布的 和
。此图汇总了图 21 和 22 中分别展示的六个不同环境的 KL 散度,更详细的讨论见附录 E**」**
- 图a代表在线(微调online) 状态下的
- 图b代表离线(预训练offline)状态下的
- 图c代表在线(微调online)状态下的
- 图d代表离线(预训练offline)状态的

- 对于上面右边两个图所对应的Q函数 而言
虽然CQL 和CalQL 的Q 函数出现了较大的发散,WSRL 的Q 函数则保持稳定,并且与其预训练初始化相对接近 - 对于上面左边两个图所对应的策略 而言
策略的KL 散度显示,并未遗忘其在**微调(online-对应上图第一个小图)**过程中对相关状态进行预训练,同时去除可能无关的信息。这表明,尽管WSRL在初始阶段会进行遗忘,但似乎并不会彻底遗忘。更多细节见附录E
2.2.2 WSRL 与保留离线数据的方法相比如何?
在图9中,作者将WSRL与在在线微调过程中仍然保留并利用离线数据的现有方法进行了比较。例如,图中的CalQL方法会同时从离线数据和在线数据中采样转换,以构建更新批次

为了保证公平性,作者还将所有方法的高UTD(4)训练版本以及10个Q函数集成版本进行对比
可以看到,尽管这些现有方法在微调期间保留了完整的离线数据集,WSRL依然取得了更好的表现
- 具体来说,WSRL通常能够达到比CalQL更高的渐近性能,并且微调速度更快,这表明如我们在第3节所展示的,保留离线数据未必是获得最佳渐近性能的最优折衷方案
- WSRL同样优于RLPD,说明WSRL能够有效利用预训练的价值函数和策略初始化,实现快速的在线学习
2.2.3 预热阶段有多关键?------比如为何预热可以防止Q值发散
作者发现,预热阶段对于使用在线RL进行微调至关重要
-
如图10所示「预热对于快速微调至关重要:当WSRL未使用最初的5000步预热时,其表现更差或方差显著增大」,WSRL在没有预热的情况下,在三种不同环境中表现显著更差
此外,他们发现这种简单的预热方案优于WSRL直接用相同数量的离线数据进行初始化,或者完全保留离线数据进行训练(见附录K和L)
作者推测,预热之所以有效,是因为它有助于缓解分布偏移,防止在微调初期出现发散和"螺旋式下滑"现象 -
如图11所示「预热阶段有助于防止性能下滑:(左)微调期间的Q值,预热可缓解过于悲观的估值;(中、右)在离线分布上评估的Q值和TD误差,预热可防止发散。数据来自WSRL在Antmaze-large-play上的实验」
当采用预热时,学习到的Q值不会发散到过于悲观的数值,并且在离线数据上的TD损失也保持较小,从而避免了上文(原论文第3节)提到的"螺旋式下滑"。更详细的讨论见附录G
第一,对于不同预热类型的影响
一个自然的问题是:为什么简单地对回放缓冲区进行预热,在微调过程中会显著提升性能?一种假设认为,用一些数据初始化回放缓冲区有助于防止早期过拟合,正如许多在线强化学习工作中所发现的那样 [38]
为验证这一假设,作者在图18中绘制了以随机动作初始化、以预训练策略动作初始化以及完全不初始化缓冲区三种情况下的微调性能『*将缓冲区初始化为随机动作与使用预训练策略动作进行比较:在kitchen-mixed(左)和kitchen-partial(右)环境中,*使用预训练策略动作进行初始化效果显著更好』
结果显示,用随机动作对缓冲区进行初始化的表现明显不如预热方法,甚至与完全不初始化缓冲区相比几乎没有任何优势
这表明,预热阶段带来帮助的原因并不是因为防止了过拟合第二,对于不同长度预热阶段的影响
由于预热阶段对于高效的在线微调至关重要,作者研究了预热阶段的长度是否会影响微调性能。图19展示了在三种不同环境下,预热阶段长度分别为1k、5k和20k的情况
显然,较短的预热阶段(1k)有时会导致较差的渐近性能或在微调过程中出现不稳定。另一方面,较长的预热阶段也可能带来负面影响(例如在Kitchen-mixed环境中),因为它会向重放缓冲区中引入过多类似离线的数据,从而减缓在线性能提升
在WSRL中,除了图19所示的实验外,作者并未对预热阶段的长度进行额外调优,所有环境均采用5000步的预热阶段
第三,为什么预热可以防止Q值发散
在WSRL中,策略和值函数通过CalQL [37]在离线阶段进行预训练,在线微调过程则采用SAC[18]完成
强化学习算法的这种变更可能导致校准误差问题,即预训练得到的值函数通常比真实值更加悲观而这会在通过Bellman更新回传悲观的目标Q值时损害微调效果。尤其是在Bellman目标是在OOD(分布外)状态-动作对上计算时问题更为突出,因为由于悲观预训练的特性,OOD状态-动作对的估值比离线数据集中见到的状态-动作对更加悲观
如果没有预热阶段,智能体会将OOD数据收集到缓冲区,从而导致对于采用悲观目标Q值的Bellman回传,这会导致Q值发散,即上文(对应于原论文第3节)提到的"螺旋式下滑"现象然而,预热阶段通过向回放缓冲区中加入更多类似离线的数据------本质是离线策略交互在线数据,使得Q值不再过于悲观,从而防止了在线Bellman回传中的螺旋式下滑,并且在在线强化学习中利用高UTD快速重新校准Q值
第四,预热数据是否可以通过从离线数据集中采样获得呢?
经过上文可知,预热期对于使用WSRL进行高效微调至关重要
一个有趣的问题是,这样的预热数据是否可以通过从离线数据集中采样获得,而不是像++WSRL那样通过与冻结的预训练策略进行在线交互来收集++因此,作者在图25中进行了消融实验,将预热期的5,000步替换为用从离线数据集中随机采样的5,000个转移来初始化在线回放缓冲区,将其称为"数据集预热"
如图25所示,虽然这两种方法在Adroit环境中表现相近,但在Kitchen环境中WSRL略优,而在Antmaze环境中WSRL表现明显更好。这可能是因为随机采样的5,000个转移与在线微调任务的相关性较低,尤其是在Antmaze环境中,数据集涵盖了多样的状态-动作对(详见附录E的进一步讨论)
当(在线)回放缓冲区被不太相关的(离线)数据初始化时,其在防止Q值发散以及重新校准在线Q函数和策略方面的效果会降低这或许突显了WSRL方法的优势:即使无法访问任何离线数据,WSRL在无保留微调设置下依然能够达到与使用离线数据集转移相当甚至更优的性能
2.2.4 在微调过程中,使用标准(非悲观)在线强化学习算法有多重要?
除了预热阶段外,在WSRL中使用标准的在线RL算法进行微调也是一个关键的设计选择
-
作者通过尝试在微调过程中使用离线强化学习算法来对这一决策进行消融
在这里,作者选择使用CalQL,因为与CQL和IQL相比,CalQL在设计上更不容易出现Q值发散(对应于原论文第3节),但它仍然属于悲观算法 -
作者还用预训练的参数初始化了CalQL策略和Q函数,并在线上使用相同数量的预热步骤。如图12(右)所示『消融研究:左图展示了使用Q函数初始化的重要性,右图展示了在没有悲观性或约束的情况下采用标准在线强化学习算法的效果。左:当预训练数据集具有高覆盖率(例如Antmazes)时,Q函数初始化尤其有益。每个图表都在一个领域内对不同数据集类型进行了平均;右:使用标准在线RL算法进行微调的重要性:SAC的学习速度远快于**CalQL』
使用离线算法的效果明显不如使用标准的在线强化学习算法SAC
2.2.5 初始化策略、价值函数以及两者都初始化的重要性有多大?
-
策略初始化的重要性
在在线微调开始时,WSRL将策略初始化为预训练策略。由于预训练策略已经能够在环境中进行有意义的操作,因此加快了在线学习的速度在图13中「WSRL中策略初始化的重要性:通过策略初始化,WSRL在Kitchen环境下表现显著提升」
作者比较了WSRL在有"策略初始化" 和无"策略初始化"情况下的表现,结果发现用预训练策略进行初始化对于快速微调至关重要 -
Q值初始化的益处
在图12(左)中,作者观察到,虽然在某些领域下图左侧中间的小图,其初始化价值函数并未带来额外收益
但在其他领域则加快了微调过程。例如,在Antmaze领域中,采用Q函数进行初始化尤其有效。作者推测,这是因为Antmaze中的预训练数据集具有更广泛的覆盖范围
与Adroit和Kitchen中的表现相比,erage在Antmazes中产生了更优的离线Q函数。因此,在Antmazes中用更具信息量的Q函数进行初始化能够加速在线微调过程
2.3 WSRL在真实世界机器人任务中的表现如何?
2.3.1 真实世界机器人与任务设置
对于机器人的硬件,作者采用一台7自由度的Franka Emika Panda机械臂,并以10 Hz的频率进行末端执行器控制
如图14所示

作者使用两个腕部摄像头的图像和机器人本体感知状态作为输入。任务"Franka插销插入"要求旋转、导航并将带有插销的塑料块插入箱形框架中的对应孔位,所用3D可打印物体来自Luo等人[33-Fmb: a functional manipulation benchmark for generalizable robotic learning]
2.3.2 数据收集与环境:通过在线RL收集
由于目前没有现成的用于插销任务的预训练数据集,作者收集了一个大约包含1.7万条转移的小型数据集。该数据集是在一次在线强化学习过程中,通过保存回放缓冲区获得的
因此,作者的数据集包含了混合质量的数据,这通常构成专家回放数据集[12]。选择收集这种混合质量的数据,而不是通过远程操作的人类演示数据,旨在测试离线强化学习算法从次优数据中学习的能力。更多细节见附录J
2.3.3 真实世界结果
作者将WSRL与SERL [31]进行了比较,后者是一种强有力的先前方法,将离线数据融入高效的在线强化学习训练,并基于RLPD [4]算法在真实机器人上实现
作者对这两种方法均进行了20K环境步的在线训练。WSRL以由CalQL在作者的离线数据集上训练得到的离线检查点进行初始化。为了公平比较,作者用相同的离线数据集初始化了SERL的回放缓冲区
作者在20次实验中进行评估,初始状态均匀分布在目标位姿周围,结果见表1
且有趣的来了,作者发现
-
在仅 18 分钟的实时强化学习训练中(约 5000 次预热 + 3000 次演员步骤,不包括预热约 7 分钟),WSRL 就能从离线性能的 13/20 精细调整到完美的 20/20
-
相比之下,作者发现 SERL/RLPD 在 50 分钟(20000 次演员步骤)结束时仅达到 0/20。从定性上看,作者观察到 SERL 经常卡在分布外的位置,只是停滞不前,无法进一步进展(见图 15 为例)
即使在离线分布的支持范围内运行,SERL 也常常在各种位置徘徊,无法确定插入路径,这表明它未能从离线数据集中学习
相比之下,WSRL 能够有效地利用其离线强化学习的预训练,并从该知识中引导,从而快速在线微调
// 待更