DSRL: 使用潜空间强化学习引导扩散策略
1 团队与发表时间
- 团队:主要由加州大学伯克利分校(UC Berkeley)的研究人员组成,包括 Mitsuhiko Nakamoto, Andrew Wagenmaker, Sergey Levine 等,此外还有来自华盛顿大学和亚马逊(Amazon)的合作者。
- 发表时间:该论文的 arXiv 版本更新于 2025 年 6 月 25 日。
2 问题背景与核心思路
- 问题背景:虽然基于行为克隆(BC)的扩散策略(Diffusion Policy)在机器人领域表现出色,但当预训练模型性能不足时,通常需要昂贵的人工演示来改进。传统的强化学习(RL)虽然能自主改进,但在高维动作空间中样本效率极低,且容易破坏扩散模型学到的先验分布,甚至造成训练不稳定。
- 多步去噪导致的梯度爆炸/消失:扩散模型生成动作不是'一步到位'的,而是经过几十步(如 50 步)去噪。如果你想通过动作 a 的奖励来反向传播更新模型权重,梯度必须链式传导 50 层网络。这就像训练一个极深的循环神经网络(RNN),梯度在传导过程中极易失控,导致训练瞬间崩盘。
- 核心思路:提出 DSRL。其核心想法是不在原始动作空间运行 RL,而是在扩散模型的'潜噪声空间(Latent-noise Space)'运行 RL。通过调整每一步去噪时加入的噪声(即'转向'),在保留原始行为分布的同时,引导策略向高奖励区域偏移。
3 具体做法
3.1 模型设计
[图片:模型架构]
- 潜空间引导(Latent Steering):将预训练好的扩散策略视为一个'黑盒'。扩散策略通过多步去噪(从高斯噪声 $\epsilon$ 迭代到动作 $a$)生成动作。
- 做法:
- 原本的扩散模型(比如 $\pi_0$ 或其他 Diffusion Policy)被当作一个固定的'基座'。
- 训练对象:DSRL 额外训练的是一个轻量级的 Actor 网络(通常是一个简单的多层感知机 MLP)。这个 Actor 的任务是根据当前状态 $s$,预测一个噪声位移(Noise Shift) $\Delta \epsilon$。
- 运行逻辑:在去噪过程中,原本输入给模型的纯高斯噪声 $\epsilon$ 会被替换为 $\epsilon + \Delta \epsilon$。扩散模型依然按照原来的权重运行,但因为输入的'种子'变了,最终生成的动作就会向高奖励区域偏移。
- 架构:使用了基于 Soft Actor-Critic (SAC) 框架的结构,包含 Actor 网络(预测噪声位移)和 Critic 网络(评估状态 - 噪声对的价值)。
- 优势:
- 防止先验崩溃(Maintaining Priors):扩散模型里蕴含了大量从人类演示中学到的平滑动作先验。如果直接用 RL 微调权重,非常容易出现'灾难性遗忘',导致机器人动作变得抖动、不自然。冻结权重能确保机器人永远在'人类可能的动作分布'附近进行微调。
- 极高的样本效率:更新一个 8B 模型的参数需要海量数据和算力。而 DSRL 只训练一个极小的 Actor 网络(用来预测噪声偏移),这使得它在 20-40 次真机尝试内就能收敛,这在全参数微调中几乎是不可能的。
- 做法:
先天的保守优势:无论你给这个扩散模型输入什么样的初始噪声 $w$(哪怕是奇形怪状的 $w$),这个被冻结的'黑盒'模型最终吐出来的动作 $a$ 几乎总是符合人类演示风格的、在分布内(In-distribution)的动作。因此噪声 $w$ 的探索是无穷的,而策略并不会出分布。
[图片:损失函数示意图]
3.2 Loss 设计
- Actor Loss:基于 SAC 的目标函数,包含最大化预期奖励和熵正则项。通过最小化 $Q(s, \Delta \epsilon)$ 的负值来优化,同时约束 $\Delta \epsilon$ 的大小,以防偏离原始分布太远。
- Critic Loss:使用标准的时间差分(TD)误差来训练 $Q$ 函数(Critic),评估在当前状态下采用特定噪声转向后的长期价值。
- 软约束:通过 KL 散度或熵正则化,确保微调后的策略不会完全丧失预训练模型中蕴含的人类演示先验。

