引言:机器人操作速度瓶颈,为什么模仿学习不够快?
方法概述:SPEEDTUNING核心机制
算法流程
输入:示范数据集D_task,速度奖励函数r_speed(v),速度奖励权重α,
帧跳过常数k_skip,帧堆第一次看这个项目的演示视频,龙哥的第一反应是:这怕不是把视频直接调了2倍速吧?结果确认了一下,还真不是视频加速,是机械臂真真切切地在2到4倍速状态下干精细活——倒杏仁、扔鸡肉、丢茶包,动作干脆利落,跟早先那种慢悠悠的遥操作展示完全是两个画风。
能有这个效果,靠的可不是把电机功率调大那么简单。这项来自斯坦福大学Chelsea Finn团队的工作,提出了一种叫SPEEDTUNING的方法,核心思路一句话就能说清:给已经训练好的模仿学习策略,额外配一个会“看情况加速”的速度策略。听起来简单,背后实际研究了速度与任务成功之间那种错综复杂的关系。
机器人操作速度瓶颈:为什么模仿学习不够快?
要理解这个问题的根源,得回到模仿学习的基本目标。模仿学习的损失函数,是让策略输出尽量贴近示范动作:
图:模仿学习损失函数。其中πθ为任务策略,sᵢ为第i步状态,aᵢ为示范动作,d为距离度量,通常采用曼哈顿距离或欧氏距离。
这个损失函数可以被看作一种“复读机式”的行为克隆——策略的唯一目标,是让预测动作和示范动作在分布上对齐。问题恰恰出在这里:损失函数里从始至终没有速度、没有时间效率的概念,示范数据有多快,策略就有多快。而示范数据是人类通过遥操作采集的,出于操作习惯和精度追求,动作通常又慢又稳。
更麻烦的地方在于,即便是专家遥操作的数据,也很难做到“又快又准”。快速操作需要高度协调的肌肉记忆和视觉反馈,人在遥操作时隔着屏幕本来就手生,速度一旦提上去,成功率立刻崩盘。所以,示范数据天然分布在一个“偏慢”的区域,模仿学习策略也就被锁死在这个区域里。
那能不能简单粗暴地把机器人底层速度乘个常数?论文里明确给出了否定答案:不行。原因在于,很多真实任务具有强动态特性,速度与任务成功之间的关系是非线性的。拿倒茶包进杯子来说,抓茶包标签时必须等茶包摆动到合适位置再出手,这个瞬间需要的是精准的时机控制而不是蛮力加速;而在“把茶包从杯子里提出来”这种环节,全程加速都没有问题。如果对所有动作一视同仁地加速,关键时刻的时间精度就会被破坏,任务直接失败。
用一句话概括:机器人操作提速的真正难点,不是“能不能更快”,而是“什么时候该快、什么时候该慢”。搞清楚这个问题,正是SPEEDTUNING存在的意义。
SPEEDTUNING核心机制:强化学习驱动的速度策略
SPEEDTUNING的解决思路,是把策略的执行过程拆成两个独立子策略:“做什么”和“做多快”。前者是模仿学习训练好的任务策略,后者是强化学习训练的速度策略。速度策略πφ接收当前状态,从离散速度集合V = {v₁, v₂, ..., v_K}中选出一个速度值,用来调整任务策略输出动作的执行快慢。
为什么要用强化学习来学速度?因为速度的优化目标本质上是一个带延迟回报的决策问题:当前阶段该用多快的速度,要看后续任务能不能成功。这种“走一步看多步”的性质,恰好是强化学习的专长。论文采用Rainbow DQN作为速度策略的训练算法,这是一种基于值函数的离策略强化学习算法,在离散动作空间上样本效率高、性能稳定。Rainbow DQN整合了Double Q-Learning、优先经验回放(Prioritized Experience Replay)、决斗网络(Dueling Network)和分布式Q-Learning等多项改进,适合做这种细粒度操作场景下的速度决策。
速度策略的奖励函数由两部分组成:
图:SPEEDTUNING的优化目标J(ψ),即在策略πψ采样的轨迹上,期望累积“速度奖励α·r_speed(v_t) + 任务奖励r_task(s_t, a_t)”之和。α用于调节速度与成功率之间的权衡。
这里的任务奖励r_task是一个0/1奖励,表示当前动作是否让任务进入成功状态:
图:任务奖励定义。当下一时刻状态s_{t+1}属于成功状态集合S_success时为1,否则为0。也就是说,任务是否完成直接决定任务奖励。
速度奖励的形式是r_speed(v) = v^β,β是一个超参数。这个设计很有意思:β越大,速度策略越“贪快”,但会在一定程度上牺牲任务成功率;β = 0时没有直接的速度激励,策略只能靠折扣因子γ间接产生加速偏好,训练会变得很不稳定。
把速度策略和任务策略组合起来,SPEEDTUNING的最优速度策略和贝尔曼方程就是下面这个形式:
图:最优速度策略(上图)与组合奖励(下图)。最优速度策略在给定状态和动作下选择使Q值最大化的速度;组合奖励r_ST = α·r_speed(v_t) + r_task(s_t, a_t)。Q值则通过贝尔曼方程基于组合奖励和折扣因子γ递推得到。
这种分解设计的好处很直接:速度策略可以独立于任务策略进行训练,不需要重新采集示范数据,也不需要改动已经训练好的任务策略。任何输出动作块(action chunk)的模仿学习策略,理论上都能套上这个“速度外挂”。这是SPEEDTUNING最具通用性的地方。
图3:三个真实世界任务(自上而下:茶包丢弃、食物准备、倒杏仁)的初始化和关键动作。
2.4倍加速背后的技术细节:动作块插值设计
理论说完,接下来看工程实现。一个关键问题是:任务策略输出的是一整段动作块A_t = a_{t:t+k},速度策略只给一个标量速度v_t,这两者怎么结合?SPEEDTUNING的答案是线性时间插值(Linear Temporal Interpolation)。
插值的数学表达如下:
图:线性时间插值公式。对于函数f、速度v和时间点t,先在t的整数位置做线性插值,从而把函数的执行节奏按v倍压缩。直观理解就是:原计划k步执行完的动作块,在速度v下只需要(k+1)/v步就能执行完。
实际实现时,动作块的轨迹定义为f_a^(A)(i) = a_i^(A),即在第i步执行动作块中的第i个关节位置指令。插值后得到的加速动作a_i^(A,v),可以看成是对原动作块做了一个“时间轴缩放”。速度v带小数也没关系,插值公式能无缝处理连续缩放。这样设计有个额外的好处:速度策略改变的只是动作执行的时间节奏,不改变任务策略本身输出的动作语义,做对任务这件事还是由原策略负责。
除了插值,论文还做了三个关键的工程细节设计。第一,帧跳过(frame skip):速度策略不是每一步都查询,而是每隔k_skip步才查询一次,期间用最近一次的速度持续执行。这个设计大幅缩短了强化学习任务的MDP(马尔可夫决策过程,Markov Decision Process)横向长度,让终端成功奖励更容易传导回来。论文主实验里k_skip取10。
第二,帧堆叠(frame stack):速度策略的输入不是单一观测,而是最近的k_stack帧观测叠加,以此保留时序信息,让状态更接近马尔可夫性,避免因部分观测导致的决策抖动。
第三,速度输出限定为离散集合:速度值不是任意连续实数,而是从一个离散集合V = {v₁, v₂, ..., v_K}中选择。离散化让强化学习的动作空间大幅缩小,训练稳定性和样本效率都更有保障。
整套训练流程其实很紧凑:先用示范数据把任务策略训好,然后在环境中让任务策略做动作、速度策略选速度,收集奖励并写入回放缓冲区(replay buffer),再用Rainbow DQN从缓冲区里采样更新速度策略。整个过程完全不需要新的人类示范,也不需要调整任务策略的任何参数。
实验验证:六个任务全面超越基线
为了验证这套方案,论文在ALOHA双臂硬件平台上做了大量实验。ALOHA的硬件以50Hz频率运行,动作空间是14维,观测包含本体感觉(关节位置和速度)以及4个RGB相机画面。实验覆盖六个细粒度操作任务,仿真和真实世界各三个。
仿真环境里是三个经典任务:立方体转移(Cube Transfer),要求机器人把方块从一个夹爪转移到另一个夹爪;插销插入(Peg Insertion),要求机器人拿起销子准确插入带孔的立方体;茶包转移(Tea Bag Transfer),要求把茶包从桌面转移到杯子中——茶包在转移过程中的摆动是最大的动态挑战。真实世界的三个任务更具挑战性:茶包丢弃(Tea Bag Disposal)要在真实环境完成从杯子里取出茶包并丢入垃圾桶;食物准备(Food Preparation)要完成拿盘子、抓取并投掷两块鸡肉到盘子里、最后把食物放到指定位置的整串动作;倒杏仁(Almond Pouring)则要打开容器盖子,把杏仁从罐子精准倒入容器,精度要求极高。
主要结果如图4所示。仿真里SPEEDTUNING明显把成功率-速度曲线的权衡推到了更优位置——在相同成功率下速度大幅提升,在相同速度下成功率又明显高于均匀加速基线。真实世界的结果同样说明问题:虽然真实环境下的强化学习没有完全收敛,但SPEEDTUNING在多个任务上依然做到了比固定速度基线更高的成功率和更高的速度。
图4:SPEEDTUNING在仿真任务(上行)和真实世界任务(下行)上的实验结果。仿真任务中,基线曲线通过以0.1为间隔评估不同速度下的100条回合得到,SPEEDTUNING策略的分布与均值基于2000条回合计算;真实世界任务中,基线曲线通过以0.25为间隔评估不同速度下的20条回合得到,SPEEDTUNING策略的均值与误差基于20条回合计算。由于真实世界强化学习样本效率有限,策略未训练至完全收敛,这可能是观测到成功率略低的原因。
最亮眼的是茶包转移这类强动态任务。茶包在转移中会来回摆动,抓取时机差一点就失败。固定倍速的基线在这种任务上几乎没法用——速度一快成功率就掉到接近零。而SPEEDTUNING通过强化学习学会了在抓取前放慢速度、等待茶包摆到合适位置,在摆动不大的阶段则加速通过,最终在成功率几乎不掉的情况下做到了2.4倍以上的加速。论文所有六个任务的综合数据都验证了这一点:SPEEDTUNING在各种任务上都把成功率-速度曲线推到了超越固定速度基线的位置,在动态高精度任务上的优势更加突出。
图7:仿真环境中的代表性SPEEDTUNING轨迹。行分别展示立方体转移、插销插入和茶包转移;列依次展示初始状态和随后的四个任务阶段。
论文还专门对倒杏仁任务做了轨迹对比分析。如图5所示,原始ACT策略完成整个倒杏仁流程需要500个时间步,而SPEEDTUNING把整体执行压缩到了200个时间步,提速2.5倍。更妙的是速度分配本身:开盖子和拿起罐子这些阶段,速度策略给到很高的加速;到了转移罐子和倒杏仁的阶段,反而主动减速防止洒落;放回罐子时又加速。这种“张弛有度”的动作节律,正是强化学习学到的最有价值的产物。
图5:倒杏仁任务上SPEEDTUNING与原生ACT策略轨迹的对比,包含关键动作画面和任务过程中的加速数值。结果显示SPEEDTUNING对任务有深入理解,整体执行加速2.5倍(200个时间步对500个时间步),同时在关键的动态倒杏仁阶段刻意减速。
消融实验揭示关键设计选择
论文为了搞清楚到底哪些设计在起作用,在仿真茶包转移任务上做了一组消融实验。所有配置都基于2000条回合的评估结果,主要从加速倍率和成功率两个维度衡量。综合结果如图6所示。
图6:任务策略、速度奖励和帧跳过的消融研究。所有配置在仿真茶包转移任务上评估2000条回合。
基础策略类型
第一个问题是:基础任务策略换成开环脚本策略,效果会怎样?论文把学习得到的ACT策略换成一个按固定规则执行的脚本策略,结果加速倍率明显下降、成功率也略微偏低。这说明SPEEDTUNING之所以能实现高倍率加速,一个重要前提是任务策略本身具备在不同速度下泛化执行的能力。开环脚本是死的,对速度变化很敏感;而学习到的策略能适应动作节奏的改变,为速度策略留出了更多操作空间。
图8:基础策略消融:加速(左)和成功率(右)。将学习得到的ACT与开环脚本策略进行比较。
图像观测的必要性
第二个问题是:速度策略只靠本体感觉(关节位置和速度)够不够?实验表明,去掉图像输入后,训练变得不稳定,成功率和加速倍率都有下降。这个结果很直观——速度策略需要理解当前任务处于哪个阶段:是正在对准目标、还是要等茶包摆过来、还是已经可以快速收尾。这些语义信息主要靠视觉来提供,纯关节位置数据表达不了这么丰富的任务状态。
图9:视觉观测消融:加速(左)和成功率(右)。两种变体均保留本体感觉输入。
速度奖励的度数β
第三个问题是:速度奖励的指数β取多少合适?β = 0时,没有直接的速度激励,训练不稳定,成功率也偏低;β = 1时虽然能加速,但成功率牺牲较多;β = 2反而是均衡点,既能拿到高加速,又保持着可用的成功率。这说明速度奖励的“梯度形状”很重要——太平了学不动,太陡了容易走极端,平方项刚好温和地推动策略去追求速度,同时不至于把成功率扔到一边。
图10:速度奖励消融:加速(左)和成功率(右)。主要实验使用β = 2。
帧跳过的取值
最后一个问题是:帧跳过k_skip取多少合适?帧跳过越短,MDP水平越长,终端成功奖励的传导效率越低,训练效果反而变差;帧跳过太长,速度调整的粒度又太粗,没法在关键时刻精细变速。论文主实验用的k_skip = 10恰到好处地平衡了学习效率和速度控制精度。
图11:帧跳过消融:加速(左)和成功率(右)。主要实验使用k_skip = 10。
另外一组补充实验还发现,速度策略的图像编码器选型同样对效果有影响,但整体上SPEEDTUNING对编码器选择不算特别敏感,这从侧面说明方法本身的鲁棒性。
总结与展望:机器人加速操作的未来方向
SPEEDTUNING的核心贡献,是提供了一个不改变任务策略、不重新采集示范数据、纯靠强化学习追加一个速度策略的通用加速框架。在六个动态和精细操作任务上,它稳定做到超过2.4倍的执行加速,同时把成功率维持在可接受范围。与均匀加速基线相比,它学到的速度策略本质上是在理解任务——知道哪个环节需要放慢保精度,哪个环节可以加速提效率。
这种“速度解耦”思路的价值,不仅仅在于加速本身,更在于它把执行速度从一个固定的超参数变成了一个可以学习、可以优化的决策变量。这为后续的研究打开了一些新问题:速度策略能不能和任务策略联合训练?能不能在没有任务奖励的情况下,纯靠逆向强化学习学出速度策略?真实世界场景下,如何降低强化学习的样本需求,让速度策略能在几十次试验内快速适应新任务?这些都是值得继续探索的方向。
当然,SPEEDTUNING目前也有明显的边界:强化学习在真实世界场景的样本效率仍然是个瓶颈,实验中的真实世界策略没有完全收敛;速度奖励的权重α和指数β需要针对不同任务调参;对于纯静态、低动态需求的任务,这种方法的收益可能相对有限。这些问题不做掩饰,但瑕不掩瑜——至少在动态操作加速这件事上,SPEEDTUNING迈出了相当扎实的一步。
龙迷三问
下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?斯坦福大学提出SPEEDTUNING框架,用轻量级强化学习为模仿学习策略量身训练一个速度策略,在不增加额外数据采集的前提下动态调整动作执行速度,在倒水、投掷、抓取等六个模拟与真实任务中实现超2.4倍提速,同时保持较高成功率。
这篇工作最值得看的点是什么?SPEEDTUNING在所有6个任务中实现超过2.4倍的速度提升,同时保持与基线相当的成功率,显著优于均匀加速基线,在动态任务中表现尤为突出。
这篇工作的边界或风险在哪里?优点:(1) 方法设计巧妙,将速度控制与任务策略解耦,可适配任意参数化的基础策略;(2) 无需额外数据收集,纯强化学习训练速度策略;(3) 在多个动态和精确任务上验证了显著加速效果;(4) 通过消融实验系统分析了各设计选择的影响。缺点:(1) 速度策略训练需要大量环境交互,在真实世界中样本效率受限;(2) 速度输出限制在离散集合,可能限制最优速度的精确性;(3) 对基础策略的泛化能力有一定依赖;(4) 真实世界实验中策略未完全收敛,成功率略低于模拟环境。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
龙哥点评
论文创新性分数:★★★★☆
提出SPEEDTUNING框架,通过强化学习训练一个速度策略,动态预测动作执行的速度乘子,对基础模仿学习策略预测的动作块进行线性插值加速,在保持任务成功率的同时显著提升执行速度。
实验合理度:★★★★☆
任务成功率、执行速度提升倍数(speed-up)、速度-成功率Pareto曲线。
学术研究价值:★★★★☆
提出SPEEDTUNING框架,通过强化学习训练一个速度策略,动态预测动作执行的速度乘子,对基础模仿学习策略预测的动作块进行线性插值加速,在保持任务成功率的同时显著提升执行速度;更关键的是问题定义是否可复用到同类任务。
稳定性:★★★☆☆
现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。
适应性以及泛化能力:★★★☆☆
现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。
硬件需求及成本:★★★☆☆
论文未明确给出具体FLOPs,但提到使用预训练图像编码器以减少计算开销,系统运行在50Hz控制频率下。
复现难度:★★★☆☆
https://daivdyuan.github.io/speed-tuning/
产品化成熟度:★★★☆☆
论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。
可能的问题:(1) 速度策略训练需要大量环境交互,在真实世界中样本效率受限;(2) 速度输出限制在离散集合,可能限制最优速度的精确性;
主要参考文献
[1] T. Z. Zhao, V. Kumar, S. Levine, and C. Finn, "Learning fine-grained bimanual manipulation with low-cost hardware," arXiv preprint arXiv:2304.13705, 2023.
[2] C. Chi et al., "Diffusion policy: Visuomotor policy learning via action diffusion," arXiv preprint arXiv:2303.04137, 2023.
[3] M. Hessel et al., "Rainbow: Combining improvements in deep reinforcement learning," in AAAI, 2018.
[4] A. Vaswani et al., "Attention is all you need," in NeurIPS, 2017.
[5] D. D. Yuan, T. Z. Zhao, K. Burns, and C. Finn, "SPEEDTUNING: Speeding up policy execution with lightweight reinforcement learning," arXiv preprint arXiv:2608.09138, 2026. 项目主页:https://daivdyuan.github.io/speed-tuning/
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!
机器人操作太磨叽?想让机械臂既有手速又有准头?欢迎加入龙哥读论文粉丝群,扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称(如 机器人+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。
『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群,机器人加速、操作策略、具身智能的话题随时开聊~
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!