Token导航 LogoToken导航

AI 资讯 · 科技行者

机器人模仿人类动作却无法学会自主选择

更新 2026-10-26科技行者正文 7854字阅读约 25分钟

你教一个机器人学抓取,给它看了一百段示范视频。其中一半视频里,机器人手臂从左边绕过去抓住了瓶子;另一半视频里,它从右边绕过去,结果也一样成功。这两种抓法都对,都能完成任务,只是路线不同。

现在问题来了:如果你训练出的机器人,看到这个场景后既不往左也不往右,而是径直朝着瓶子正中间伸过去,会发生什么?

大概率是手臂撞在瓶子上,或者干脆打空。因为"正中间"这条路径,根本没有在任何一段示范里出现过。它是对两种正确答案求平均之后得到的,一个在现实中根本不存在的"幽灵路径"。

这就是这篇论文要讲的核心问题:当专家的示范数据本身存在多种同样正确的做法时,传统的模仿学习方法会怎样失败,以及现在流行的"生成式"模仿学习方法,又在什么条件下真的能避免这种失败。

这个问题难在哪

想要理解这篇论文的分量,得先知道模仿学习这件事本身是怎么做的。

行为克隆*:一种最基础的模仿学习方法,让机器人直接从人类操作员的"观察-动作"配对数据中学习,不需要设计奖励函数,不需要让机器人自己反复试错探索,只需要照着示范学就行。

这套方法在机器人操作任务中特别受欢迎,因为它简单直接,不像强化学习那样需要精心设计奖励机制,也不需要让昂贵的机器人硬件在试错中磕磕碰碰。

但行为克隆有一个从一开始就埋下的隐患:如果用最常见的训练方式,也就是让网络去学习预测一个确定的动作值,那么当同一个场景下专家给出了好几种不同但都正确的操作方式时,网络最终学到的会是这些操作方式的数学平均值。

这件事听起来可能不算太糟,但想象一下给汽车设计自动驾驶系统。前方有障碍物,专家司机有的选择往左打方向盘避开,有的选择往右打方向盘避开,两种做法都安全。如果系统学到的是"往正前方走一半的转向角度",那车会直接撞上障碍物。往左和往右都是生路,中间是死路。这正是论文开篇提到的机器人逆运动学问题:同一个末端执行器目标位置,可能对应好几种互不相连的关节角度组合,取平均往往落在谁的解集里都不是,反而成了无效甚至危险的指令。

正因为这个毛病,过去几年研究者们开始转向"生成式"的行为克隆方法,也就是不再让网络直接输出一个确定值,而是让网络学习一个概率分布,训练时可以从这个分布里采样出不同的、合理的动作。这类方法大致分成两条路线:一条是引入隐变量,让一个看不见的"风格码"来决定输出哪种动作;另一条是直接在动作空间里做生成建模,用扩散模型或者流匹配的方式,把一团随机噪声一步步变换成具体的动作序列。

这两条路线确实都能让机器人表现出"多样性",在不同的尝试里走不同的路径。但问题是,它们到底在什么情况下真正学会了保留专家示范里的那些不同模式,又在什么情况下,看起来生成了很多种动作,实际上背后根本没有分辨出场景对应的到底是哪一种策略?这篇论文想要把这件事说清楚。

隐变量策略:把"该走哪条路"的信息藏在哪里

先说第一条路线。隐变量方法的核心设计是引入一个额外的随机变量,记作Z,用它来承载观察信息本身无法决定的那部分动作歧义。

具体来说,这类模型有三个部件:一个"后验编码器",训练时看着专家的真实动作,把它压缩成一个隐变量;一个"先验网络",只看当前观察,不看动作,猜测这个隐变量大概长什么样;还有一个"解码器",拿着隐变量和观察,生成最终的动作序列。

条件变分自编码器(CVAE)*:一种生成模型结构,在训练阶段用后验编码器根据真实数据生成隐变量,解码时用这个隐变量还原数据;部署阶段真实数据不可得,只能从先验网络中采样隐变量来生成。这正是本文研究的隐变量策略所采用的结构。

这套机制听起来挺巧妙,但魔鬼藏在训练目标里。为了让先验网络在部署时能够采样出合理的隐变量,训练过程通常会加入一个正则化项,逼着后验编码器输出的隐变量分布,尽量靠近先验网络的猜测。这个正则化的力度,由一个叫β的系数控制。

论文证明了一件非常关键的事:如果这个β系数太大,也就是正则化压得太狠,隐变量就会被硬生生逼成和观察信息几乎一样的东西,丧失掉关于"专家这次具体选了哪条路"的额外信息。换句话说,隐变量不再携带"模式信息",整个模型就退化成了之前那个会取平均的、有毛病的确定性策略。

这个结论不是凭感觉说的,论文给出了严格的数学证明。他们先定义了一个叫"模式恢复误差"的量,衡量解码器生成的动作,有多大概率没有落在专家当初选择的那个模式对应的区域里。然后用信息论里的Fano不等式,把这个误差和隐变量里到底包含多少"动作相关信息"联系起来。结论是:如果你想要模型能够以较高的准确率恢复出专家当时用的是哪种模式,隐变量里就必须保留足够多的信息量,而这个所需信息量的下界,恰好等于专家在该场景下有多少种可选模式对应的信息熵。

打个比方,这就像你让一个新来的实习生去猜老板昨天开会说的是哪个方案。如果你提前把实习生的笔记本收走了,只给他一张写着"是方案"三个字的纸条,那不管这张纸条写得多工整,实习生都猜不出具体是哪个方案,因为关键信息压根没留下来。β系数就是那个"收走多少笔记"的力度,收得越狠,留下的信息越少,猜中的概率也就越低。如果不做这个限制,实习生倒是能准确复述出昨天讨论的具体方案,可问题是老板不在场的时候,实习生自己瞎编一个"大概的方案"给同事听,这个编出来的东西和老板实际说的会差多远,谁也说不准,这恰好对应了论文接下来要讲的第二个麻烦。

这就引出了论文给出的一条很实用的经验法则:业界常用的ACT模型默认把这个β设成10,而根据论文的理论分析,这个数值大概率会把模型直接推向只能生成单一模式的状态,也就是说默认配置可能从一开始就注定学不到多样性。

论文在合成导航任务上验证了这个推测。他们设计了四种任务,其中一种叫"Sequential"的任务有四种正确路径。实验发现,当β设置得很小的时候,隐变量能够几乎完整地保留专家选择的模式信息,成功率能达到94%;但随着β逐渐增大,隐变量携带的信息量断崖式下跌,最终导致下游任务的成功率彻底归零。这个现象在论文的图表里呈现得非常直观,小β时的隐变量投影图里,四种模式的点云清清楚楚分成四团;β一旦调大,四团点云就彻底糊成了一片,再也分不出谁是谁。

那是不是只要把β调小就万事大吉了?论文给出的答案是:没那么简单。β太小虽然保留了模式信息,但又带来了另一个问题,后验编码器学到的隐变量分布,可能和部署时先验网络采样出来的分布对不上,导致训练时表现很好,实际用起来却翻车。论文专门用一套启发式方法去估算一个合适的β取值区间,并且反复强调,这只是一个必要条件,不是充分条件,你算出来的β在理论上没问题,不代表训练一定能找到那个理想的解。

还有一条绕开这个矛盾的路,叫"聚合匹配"*。它不是逐点地把每个后验分布硬拉向先验,而是把一整批样本的隐变量分布整体拉向先验分布的形状。论文证明,这种做法在数学上可以做到既让聚合后的分布和先验完全吻合,又不损失每个单独样本携带的模式信息,因为不同模式对应的隐变量点可以分散在不同区域,整体拼起来刚好凑成先验的样子,但局部依然清清楚楚地分开。

聚合匹配*:一种训练正则化策略,不要求每个样本的后验分布单独贴近先验,而是要求整批样本的后验分布平均起来贴近先验分布,常用最大均值差异(MMD)或Sinkhorn散度等工具实现。

这就好比一个班级要求"全班平均分要达到80分",和要求"每个学生都必须考80分"是两码事。后一种要求会把所有学生都逼成差不多的水平,抹平个体差异;前一种要求则允许有人考95分,有人考65分,只要平均下来凑够80分就行,每个学生的真实水平信息反而都保留下来了。

但聚合匹配也不是没有代价。论文发现了一个新问题:聚合匹配只约束了"隐变量在所有观察下的整体分布",却没有约束"在某个具体观察下,隐变量应该长什么样"。这意味着,即便整体分布对上了,在某个具体场景里,先验网络采样出来的隐变量,也完全可能恰好落在解码器从没见过、或者解码出无效动作的那片区域。实验数据印证了这一点:在合成任务里,用后验采样生成的轨迹有效率能达到65%到72%,但换成先验采样,这个数字会掉到57%到64%,出现了明显的"后验有效、先验失效"的缺口。而在两个最难的、有16种模式的任务上,这个缺口会被进一步放大。论文还发现,如果去掉一些额外的隐空间正则化手段,比如给解码器输入加一点随机扰动、约束隐变量的均值和方差不要跑偏,这个缺口会急剧扩大,证明这些看似边角料的训练技巧其实在悄悄弥合聚合匹配留下的这道裂缝。

动作空间生成式策略:平滑的变换,挪不动太远的距离

再说第二条路线,也就是直接在动作空间里生成的方法,比如扩散模型和流匹配模型。

扩散模型 / 流匹配*:两类生成式建模技术,核心思路都是先从一个简单的高斯噪声分布出发,通过一个逐步变换的过程,把这团噪声"搬运"成符合目标分布(这里是专家动作分布)的样本。扩散模型通过多步去噪完成,流匹配通过求解一个微分方程完成。两者都可以等效看作一个从噪声空间到动作空间的确定性映射。

这类方法没有显式的隐变量瓶颈,理论上听起来应该比CVAE更自由。但论文指出,它们面临的是另一种完全不同性质的限制,一种几何上的限制。

论文把整个采样过程抽象成一个确定性映射:从一个服从标准正态分布的噪声点出发,经过网络的层层变换,最终落到动作空间里的某个具体点。既然这是一个映射,那它必然具有某种"平滑程度",也就是Lipschitz常数*。

Lipschitz常数*:衡量一个映射"拉伸能力"上限的指标。如果一个映射的Lipschitz常数是L,意味着输入空间里两个点之间的距离,经过映射后,输出空间里对应两点的距离最多放大L倍,不会无限制地突然跳远。

论文证明了一个很漂亮也很直观的结论:如果这个映射的Lipschitz常数比较小,也就是说它不能把噪声空间里的距离过度放大,那么它能够同时把"足够多概率质量"分配给"足够多个彼此隔得很开的模式"这件事,就会受到严格的数量上限。具体来说,这个上限和"映射的拉伸能力除以模式之间的间隔距离"这个比值成正比。

这个结论背后用到的数学工具是高斯等周不等式,一种描述高斯分布下集合"边界"性质的经典结果。但不需要深究证明细节,结论本身足够形象:如果两个目标地点离得很远,而你只有一辆加速能力很弱的车,那你一次行程里最多只能稳稳当当地覆盖其中一个地点附近的范围,想要同时兼顾好几个相距遥远的地点,要么你得换一辆能急加速急转弯的车,要么你就得接受大部分乘客被送到了两个目的地之间的荒郊野外,哪儿都不是。这辆"车"的加速能力,就是Lipschitz常数;那些被送到荒郊野外的乘客,就是论文里提到的"桥接质量",也就是噪声空间中那些既不属于这个模式、也不属于那个模式,解码出来的轨迹完全无效的区域。

论文进一步证明了这两者之间的精确权衡关系:要想让映射同时覆盖很多个模式,又要把落入无效区域的概率压得很低,对Lipschitz常数的要求会变得更加苛刻。这解释了一个在实践中经常被忽视的现象,很多常见的稳定性正则化手段,比如限制权重范数、做谱归一化,它们的目的都是控制网络的Lipschitz常数不要太大,以提升训练稳定性,但这些手段很可能在无意中扼杀了模型表达多模态的能力。论文特别指出,在连续时间的扩散和流匹配模型里,要想把不同模式分开,往往需要网络在采样接近终点的那几步做出极其剧烈的空间拉伸,任何过度约束网络平滑度的做法,都会直接破坏这种拉伸机制。

实验部分给出了很有说服力的量化验证。研究者用有限差分方法去估测训练好的流匹配模型在不同合成任务上实际达到的Lipschitz常数,并和模式间的距离做比值。在只有2种模式、相距很远的Circle任务上,这个比值高达7.9,成功率是100%;在4种模式的Sequential任务上,比值更是达到17.7,成功率99%。但到了16种模式、模式之间挤得很密的Radial和Corridor任务,这个比值骤降到2.63和1.67,同时观察到相当大比例,46%到55%,的噪声样本落进了无效的"桥接区域",成功率也随之跌到41%到47%。宽阔的无效桥接区域,和较低的Lipschitz常数、较差的部署表现,这三者牢牢绑定在了一起。

真实世界里,多模态到底有多常见

理论分析完了两条技术路线各自的软肋,论文接下来问了一个更根本的问题:在真实的机器人示范数据集里,到底存在多少真正意义上的"多模态"?

这个问题乍听起来有点反直觉。因为PushT、UR3 BlockPush这些基准测试,多年来一直被研究者当作检验"多模态策略有效性"的标准考场。可论文设计了一套诊断工具后发现,这些考场里压根没多少真正需要多模态能力才能应付的题目。

论文提出的诊断方法是一种基于局部高斯混合建模的统计估计器。简单说,就是对每一个查询状态,找出数据集里附近状态所对应的未来动作序列,给这些动作序列拟合一个联合的状态-动作高斯混合分布,再对这个分布在查询状态处做条件化,最后用模态聚类算法数一数,条件化之后的动作分布里到底有几个独立的"峰"。

这套方法先在那四个已知确切模式数量的合成任务上做了验证,结果估计出的模式数量和真实数量完全吻合,比如Circle任务估出来是2.0,Sequential是4.0,这说明这个诊断工具本身是靠谱的。

把这同一套工具用到真实的机器人仿真数据集上,结果却相当出人意料。PushT状态版本的估计模式数只有1.068,几乎就是1,也就是说几乎不存在真正的多模态;UR3 BlockPush是1.136;LIBERO是1.014;Meta-World是1.037。即便是其中多模态程度最高的Kitchen任务,在长动作序列的设定下,估计值也只有1.231。

这意味着什么?这意味着这些年来研究者们一直在用一批"几乎是单模态"的数据集,去检验那些专门设计来解决多模态问题的复杂生成式策略,这多少有点像拿着一把专门用来劈开粗壮树干的斧头,去削一支铅笔。

为了提供一个真正具备多模态特征的对照组,研究者自己动手搭建了一个真实机器人任务:在一台开源手术机器人平台上,设计了一个"双模态组织抓取"任务。场景里有一段需要抓取移位的肠道组织,中间夹着一块必须避开的敏感区域,左右两侧各有一个安全的抓取点,两种抓法都合理,但走的是完全不同的路线。这个数据集估出的模式数是1.468,在动作序列拉长之后,更是精确逼近了2.267,非常接近人工设计时预设的"2个语义模式"这个真实值。

这个结果对比起来格外鲜明,之前那些仿真基准的多模态分数普遍徘徊在1.0到1.2之间,而这个真实手术场景的数据一下子跳到了接近2.3。这也直接回应了开篇提出的那个问题:多模态行为克隆到底解决的是什么问题,答案并不取决于技术本身有多精巧,而是取决于手头的数据里到底有没有这种"多条路都对"的情形。

性能对比:当数据真的多模态时,差距才显现出来

有了这套诊断工具打底,论文接着做了一轮全面的策略性能测试,覆盖确定性回归(BCAT)、各种隐变量方法、聚合匹配方法,以及动作空间的流匹配和扩散策略。

结果印证了前面的理论分析。在双模态组织抓取这个真正具备多模态特征的真实机器人任务上,差距被彻底拉开。确定性回归策略BCAT的表现是0%成功率,它把左右两种抓取路线平均成了一条谁都不是的路径,径直冲向那片本该避开的敏感区域。相比之下,具备多模态表达能力的策略普遍能取得70%到95%的成功率。

但有意思的是,模式覆盖并不是成功的必要条件。论文观察到一个叫Sinkhorn-CWAE的聚合匹配策略,在训练过程中实际上坍缩成了只学会一种模式,但它依然保留了这一个demonstrated策略,而不是在两者之间瞎编出一条无效路径,因此依然拿到了85%的成功率。这再次印证了论文的核心洞见:行为克隆真正的敌人不是"只学会一种做法",而是"学会了一种两头不靠的做法"。坚持走左边或者坚持走右边都安全,危险的是走中间。

而在那些估计出来几乎是单模态的仿真基准上,情况就完全不一样了。确定性回归策略依然保持着相当强的竞争力,多模态能力更强的策略有的能带来提升,有的反而因为训练动态不稳定表现更差,同时普遍带来了更高的推理延迟。论文特别提到,这个观察和另一项最近的独立研究结论一致,后者认为流匹配类策略在常见行为克隆基准上展现出的好处,主要来自其迭代式的计算结构和训练时注入的噪声,而不是因为它真的在建模数据里原本就不存在的多模态分布。

这组对比摆在一起,传递出一个相当朴素但容易被忽视的工程原则:选择策略架构之前,先搞清楚手头的数据到底需不需要这个架构要解决的问题。

写在后面

读完这篇论文,最让我意外的不是任何一个具体的数学证明,而是那个诊断实验揭示出的落差感:多年来被反复引用、被当成"多模态能力试金石"的那批基准数据集,拿显微镜一照,大部分其实是单模态的。

这让我想起一句老话,工具决定了你能看见的问题。如果研究者手里只有一套总是显示"单模态够用"的数据集,却预设了"这是多模态问题",那整个领域可能会在一个错误的假设上反复优化很长时间,而这个假设本身从来没被真正检验过。论文做的这件"先量一量数据里到底有没有这个病"的工作,听起来朴实无华,但恰恰是容易被所有人跳过的那一步。

还有一个细节值得单独拎出来说:默认β等于10这件事。ACT作为一个被广泛使用、甚至部分实现了产品化部署的开源模型,它的默认配置从理论上讲大概率在扼杀多模态能力,但这件事直到现在才被系统地指出来。这提醒人们,一个被大规模采用的超参数设置,不代表它是经过深思熟虑的最优选择,很多时候它只是"能跑起来就没人再动它了"。

这篇论文留下的真正问题,其实不是"哪种生成式策略更好",而是"你的任务到底需不需要生成式策略"。下一次当你准备往一个机器人学习项目里塞进一个复杂的扩散模型或者条件变分自编码器之前,或许该先问问自己:这些示范数据里,真的存在那种"两条路都对,但方向截然相反"的时刻吗?

Q&A

Q1:生成式行为克隆为什么能解决机器人动作预测的模式平均问题?

A:传统确定性策略在面对同一观察下存在多种有效动作时,会学到所有正确动作的数学平均值,这个平均值往往不落在任何一种有效动作的范围内。生成式策略通过学习一个概率分布而不是单一确定值,理论上可以从中采样出不同但都合理的动作,从而避免这种"取平均导致失效"的问题,但论文指出这种能力是否真正实现,取决于具体的正则化强度和网络平滑度等因素。

Q2:条件变分自编码器里的β系数为什么会影响机器人能不能学会多种操作方式?

A:β系数控制着后验编码器输出的隐变量分布向先验分布靠拢的力度。β越大,隐变量就越会丢失关于"专家具体选择了哪种动作模式"的信息,逐渐退化成和观察信息几乎重合的状态,导致模型无法区分不同的示范模式,最终退化回类似确定性回归的平均化效果,论文通过严格推导证明了这一点,并在合成导航任务上用实验验证,β增大时成功率会断崖式下跌。

Q3:为什么扩散模型和流匹配策略在模式很多、挤得很密的任务上成功率会明显下降?

A:这类策略本质上是一个从噪声空间到动作空间的确定性映射,它的平滑程度由Lipschitz常数衡量。如果这个常数较小,映射就无法把噪声空间里的点充分拉开距离,导致它难以同时给多个相距很远的动作模式分配足够的概率质量。论文的实验显示,在模式数量多且间距小的任务上,测得的映射拉伸能力明显不足,相应的样本落入无效区域的比例会升高,成功率随之下降。

文章标签机器人

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。