2026年的机器人导航研究圈子里,流传着一个不太体面的秘密。
很多团队训练导航机器人的方法,说起来有点像请一个翻译官先把所有资料翻译完,锁进柜子里,再找个学生按着这些翻译好的材料死记硬背。翻译官翻完就下班了,不会再回来看一眼学生学得怎么样,更不会根据学生的学习进度去调整翻译的方式。等到学生发现翻译有问题的时候,为时已晚,那些错误的、过时的材料早就印进了脑子里。
这不是比喻,这就是当前视觉语言导航领域(VLN,Vision-and-Language Navigation,要求机器人听懂人类的自然语言指令,并在真实或模拟的三维环境里走到指定地点)数据合成的真实流程。
一个"指令生成模型"提前把所有没有文字标注的轨迹都配上文字说明,生成几百万条"指令-路径"配对数据,然后一股脑扔给导航模型去学。等导航模型学完一轮,水平提升了,那些配对数据却还停留在模型还很笨的那个时间点上生成的样子,没有跟着一起进步。
上海AI实验室联合复旦大学、哈尔滨工业大学等多家机构的研究者们,决定把这套流程推倒重来。他们提出的RSI-Nav,核心想法简单到有点返璞归真:让同一个模型既当老师又当学生,而且这个过程必须是实时同步的,不能有时间差。
为什么"导航"和"讲路"这两件事要绑在一起学
先说清楚这件事到底难在哪。
VLN这个研究方向最早可以追溯到2018年的R2R数据集(Room-to-Room,第一个大规模的室内导航指令数据集),后来陆续演化出需要走更长路线的RxR、需要自己找目标物体的REVERIE,以及在连续空间里行走而不是在预先标好的节点间跳转的VLN-CE(Continuous Environments,连续环境导航,机器人每一步只能前进25厘米或转15度,而不是像玩传送门游戏一样在固定点之间瞬移)。
这些任务越来越贴近真实世界,但真实世界最大的障碍从来不是算法,是数据。
给一段机器人走过的路配上一句准确的人类语言描述,这件事极其依赖人工标注,成本高到没法规模化。于是研究者们很早就开始琢磨自动合成的办法,早在2018年就有人用"说话人模型"(Speaker Model,一个专门负责把轨迹翻译成文字说明的模型)做回译,后来的工作像ScaleVLN、SRDF把这套思路规模化到百万级别。
但规模化带来了新问题。
第一个问题是分工太细。导航模型负责听指令走路,指令生成模型负责看路写说明,两者各自为政,顶多在训练时共享一些底层特征提取器,没法真正互相教学。即使有些研究尝试把两个任务绑在一起学,也往往依赖专门设计的网络架构,比如单独的"动作解码器"和"语言解码器",这种绑定方式比较僵硬,灵活性有限。
第二个问题,也是RSI-Nav论文反复强调的痛点,是时间错位。
想象一家餐厅的试吃官制度。老板找了个试吃官,让他把本季度所有新菜品都尝一遍,打好分,写好评语,然后一次性交给厨房参考。问题是,从试吃官开始尝第一道菜到写完最后一份评语,可能过去了三个月,厨师的手艺在这三个月里已经进步了不少,试吃官评语里挑剔的那些毛病,厨师现在可能早就改掉了。如果不让试吃官持续跟着厨房的进度实时反馈,那么这份评语交上去的时候,其实已经对不上厨师现在的真实水平了。
这就是论文里说的,"annotate the full trajectory corpus with a fixed model before updating":用一个固定不变的模型,先把整个语料库标注完,再去更新模型。标注的时候模型是旧的,模型更新了,标注却没法倒回去重新做一遍。
RSI-Nav想解决的就是这两个问题。它既要让"讲路"和"走路"这两种能力长在同一个脑子里,又要让"出题"和"做题"保持实时同步,不留时间差。
一个模型,两种身份:既是导航员,又是讲解员
RSI-Nav的底座是Qwen3.5-9B,一个90亿参数的多模态大模型。它不是给导航和指令生成各开一个脑子,而是用同一套参数,靠不同的任务提示词来区分当前该干哪件事。
具体来说,RSI-Nav要学三件事。
第一件事是指令跟随(Instruction Following,又叫VL2A,Vision-Language to Action,即看着图像、听着指令,预测接下来该做的动作)。机器人每一步会保留过去8帧的观测历史,加上当前画面,模型看完这些信息,要一口气预测出接下来连续4个动作,动作集合只有四种:前进、左转、右转、停止。
第二件事是指令生成(Instruction Generation,又叫VA2L,Vision-Action to Language,反过来,看着一整段路径的32帧画面和完整的动作序列,生成一句自然语言描述这段路该怎么走)。
第三件事是空间理解(Spatial Understanding,理解物体在三维空间中的相对位置关系,比如"床头柜在床的旁边"这种描述,这是导航决策背后需要的基础认知能力)。
这里有个细节值得多说两句:指令生成任务不只是看图说话,它还要"看动作说话"。
论文做了个对照实验,叫VA2L对比V2L(只看画面不看动作)。结果显示,加入动作信息后,下游导航的成功率从47.0%提升到48.8%,路径效率指标SPL从38.8%提升到41.0%。
这个结果其实挺符合直觉的。你让一个人单纯看一段别人走路的视频去描述路线,和让他同时看视频加上"这一步是左转,这一步是直走"的详细记录去描述路线,后者写出来的说明显然会更精确,因为视频画面有时候会有歧义,比如镜头轻微晃动看起来像是转弯,但实际上机器人只是在原地微调朝向。有了动作记录做校准,生成的指令才真正可靠。
> VL2A(Vision-Language to Action):根据视觉画面和语言指令,预测导航动作的任务方向,也就是"指令跟随"。
>
> VA2L(Vision-Action to Language):根据视觉画面和实际执行的动作序列,反过来生成语言描述的任务方向,也就是"指令生成"。
核心机制:小批量、即时更新、自己给自己出题
搞清楚了模型的三种能力,接下来要看RSI-Nav最核心的创新,论文标题里"policy-synchronized"(策略同步)这个词到底是什么意思。
整个流程是这样运作的。
先做一次标准的监督微调(SFT,Supervised Fine-Tuning,用人工标注或已有的高质量数据对模型做初步训练,让它先具备基本能力),让模型具备基础的导航和讲路能力。这一步相当于新员工入职培训,先把规章制度和基本业务学一遍。
训练数据来源很杂,包含SRDF、EnvDrop、ScaleVLN、R2R、RxR等多个数据集的连续导航轨迹,还混入了VSI-590K、LLaVA-3D的546K样本和MindCube的空间理解数据。SRDF原本是离散轨迹(在预设的节点间跳转),论文把它们转换成了连续轨迹(真实的逐步行走),这个转换过程还专门设计了算法,把离散路径点映射到Habitat仿真器(一个常用的三维环境仿真平台)的坐标系里,用最短路径跟随器一步步走出完整的动作序列。
训练完成之后,真正的"递归自我提升"开始了。
研究者把海量没有文字标注的轨迹切成一个个小批次,叫做shard(分片),每个分片包含16384条轨迹。对每个分片里的每一条轨迹,当前这个模型要做三件事:先给这条路生成一句指令,再从起点出发按照自己刚生成的指令重新走一遍,最后检查这次执行到底走没走到终点、走得效不效率。
如果走到了目标点3米范围以内,并且SPL效率指标达到了设定的门槛,这条"指令-轨迹"配对就被判定为合格,留下来做训练数据。不合格的直接丢弃。
这一步做完,模型立刻更新,然后处理下一个分片。更新用的不仅是这个分片刚筛选出来的合格数据,还会混入之前监督微调阶段用过的空间理解数据重放(replay),避免模型在持续学习新东西的过程中把老本事忘光。
这个设计最妙的地方在于,下一个分片的指令生成和执行检验,用的是刚刚更新完的模型,不是最初那个一成不变的模型。
这就回到了前面试吃官的比喻,但这次要把试吃官制度改良一下:不是让一个外部的试吃官给厨房评分,而是让厨师自己尝自己做的菜,尝完立刻根据反馈调整下一道菜的做法,做完下一道接着尝,每一轮迭代间隔都很短。如果试吃间隔拉得太长,比如攒够一整年的菜再统一评估,那厨师的手艺早就在无人监督的情况下走偏了都不知道。如果试吃间隔短到每做一道菜就立刻尝一口,厨师就能实时发现问题,及时纠正。
论文专门做了个消融实验来验证这个"间隔要多短"的问题,结果很有意思,不是越频繁越好,也不是越粗放越好。
实验在6.4万条轨迹的固定子集上,用64块GPU测试不同的更新粒度。"candidate"这个指标指的是每块GPU在触发一次模型更新之前要处理多少条轨迹。结果显示,64条触发一次更新,效果反而不如256条触发一次;而1024条触发一次更新,又因为处理完整个子集才更新一次,太接近传统的离线模式,效果也打了折扣。
256条这个中间值表现最好,SR(成功率)从冷启动模型的52.9%提升到57.2%,SPL从45.5%提升到48.7%。
这说明更新太频繁,模型还没来得及积累出有意义的变化就被打断了,前后两次生成的数据几乎没有差异,白白浪费计算资源;更新太粗放,又变回了最初要规避的"数据滞后于模型"的老问题。256这个数字,对应到64块GPU的集群规模上,正好是16384条轨迹一个分片,这也是论文最终采用的全量训练配置。
> SFT(Supervised Fine-Tuning):监督微调,用标注好的数据直接教模型该输出什么,是大模型训练中最基础的一步。
>
> SPL(Success weighted by Path Length):按路径长度加权的成功率,不仅看有没有走到终点,还看走得绕不绕远路,走得越直越高效,分数越高。
执行检验:为什么留下轨迹本身,而不是重新走出来的那条路
这里还有一个容易被忽略但其实很讲究的设计决策。
当模型生成了一条指令,并且成功、高效地执行完之后,用于训练的到底应该是原始的那条轨迹,还是模型自己重新走出来的那条轨迹?
RSI-Nav选择了前者,保留原始轨迹τ_i,不用重新执行产生的轨迹。
论文给出的理由有两点。第一,机器人在真实或仿真环境里反复重新走路径,会在Habitat仿真器里产生大量重新渲染的计算开销,成本很高。第二,更重要的是,执行过程本身可能带来误差累积,比如模型在执行时稍微偏了一点方向,这个偏差如果被当作"标准答案"写进训练数据,相当于把噪声也一起学了进去。
执行这一步的作用,更像是一场资格考试,而不是重新录制教学视频。
这就好比一个学生写了篇作文,老师让他照着作文的思路口头复述一遍给同学听,看看别人听了能不能按照他的描述走到正确的结论。如果同学们听完都能准确理解,说明这篇作文写得清楚、逻辑没问题,这篇作文本身就可以收录进范文集;但不需要把"同学复述老师作文内容"这个过程本身也收进范文集,因为复述的时候难免会有口误和遗漏,那不是原始作文的质量。
保留原始轨迹,只用执行结果来验证指令是否合格,这个设计把"数据生成"和"数据质量检验"两件事彻底分开了,检验归检验,不污染训练素材本身。
成绩单:从52.9%到68.6%的跃迁
说了这么多设计思路,终究要看实际效果。
RSI-Nav在R2R-CE和RxR-CE两个基准的Val-Unseen(验证集中模型从未见过的环境)上做了测试。
R2R-CE上,RSI-Nav达到了68.6%的成功率(SR)和58.6%的SPL,相比监督微调阶段结束时的冷启动模型(52.9% SR、45.5% SPL),提升幅度接近16个百分点。RxR-CE上,成功率从冷启动的54.7%提升到72.4%,SPL从48.8%提升到56.5%,而衡量路径轨迹贴合程度的nDTW指标(Normalized Dynamic Time Warping,衡量机器人实际走的路线和参考路线在空间和顺序上有多吻合,不只是看终点对不对,还看路走得像不像)从62.4提升到70.6。
这个nDTW指标的提升特别值得多说一句。
一个机器人完全可以通过抄近路、绕过指令里提到的地标,照样走到终点,这样成功率照样很高,但nDTW会很低,因为它压根没按照指令描述的路线走。nDTW的明显提升,说明RSI-Nav不只是"蒙对了终点",而是真的在按照指令一步步走对的路,这对需要精确遵循多步骤指令的长距离导航任务尤其重要。
对比同期其他方法,RSI-Nav在这两个基准上都拿到了对比方法中领先的成绩,包括NavFoM(4.61 NE、61.7% SR)、DualVLN(64.3% SR)、AwareVLN(65.4% SR)等近期工作。
更让人意外的是,RSI-Nav在追求导航能力提升的同时,没有牺牲空间理解能力。VSI-Bench(一个专门测试模型"思考空间"能力的基准,比如判断两个物体的相对方向)从64.6提升到64.9,ScanQA从93.2提升到96.4,SQA3D从65.1提升到65.4,MindCube从91.8提升到93.5,四项全部小幅提升,没有一项下降。
这说明论文里混入空间理解数据做"重放"训练,确实起到了防止能力遗忘的作用,同时空间理解能力本身也在和导航能力的共同训练中获得了一点额外的增益。
这里插一句个人的困惑:论文里空间理解的提升幅度都很小,大概在0.3到3个百分点之间,这个数字到底意味着模型真的在空间推理上变聪明了一点,还是只是训练过程中的正常波动,论文没有给出显著性检验,只能说这是个"modest"(温和)的改善,不宜过度解读。
双向学习互相喂养:讲路的能力,真能教会机器人走路吗
论文还做了一系列消融实验,拆解到底是哪个环节在起作用。
先看双向学习本身的贡献。只用导航数据训练(Nav),成功率是44.7%;加上V2L(不带动作的指令生成)数据联合训练,成功率提到47.0%;换成VA2L(带动作的指令生成),提到48.8%;再叠加空间理解数据,最终达到52.9%。
每一步叠加都在涨分,但涨幅最大的两步分别是从纯导航到加入VA2L(提升4.1个百分点),以及从VA2L到加入空间理解(提升4.1个百分点)。这说明"学会讲路"这件事本身确实能反哺"学会走路",不是空谈。
论文还做了个很扎实的对照实验,用不同的指令生成器给同样一批轨迹标注指令,再用这些标注数据训练同样结构的导航模型,比较下游导航表现。结果显示,SRDF生成的指令在传统NLP指标(BLEU、METEOR、ROUGE这些衡量生成文本和参考文本相似度的指标)上得分更高,但RSI-Nav生成的指令训练出来的导航模型,成功率是41.3%,明显超过SRDF指令训练出来的36.8%。
这个结果打破了一个容易想当然的假设:生成的指令和人写的参考答案长得越像,就等于这条指令质量越高。
事实恰恰相反。论文引用了Gadre等人2024年的观点,指出NLP相似度指标主要衡量的是"像不像人话",而不是"对后续训练有没有用"。一条指令哪怕用词和人类写的标准答案不完全一样,只要它清楚、可执行、能准确指引机器人走到目的地,它作为训练数据的价值就更高。
这就好比两份给外卖骑手的送餐路线说明。一份写得文采飞扬,用词考究,和公司模板几乎一字不差;另一份语言朴素,甚至有点啰嗦,但骑手照着走,百分之百能准时找到门牌号。公司内部审核的时候,如果只看文字和模板的相似度打分,第一份显然得分更高;但真正决定外卖好不好送的,是第二份。RSI-Nav恰恰是那个"语言朴素但真能送到"的指令生成器,因为它背后的生成过程始终经过执行检验这道关卡,而不是单纯模仿人类写法。
> nDTW(Normalized Dynamic Time Warping):动态时间规整的归一化版本,用来衡量两条轨迹在空间形状和时间顺序上的相似程度,数值越高说明走的路线越贴合参考路径。
>
> BLEU/METEOR/ROUGE/CIDEr/SPICE:都是自然语言处理领域衡量生成文本和参考文本相似度的指标,常用于机器翻译和图像描述任务,原本不是为"指令是否真的好用"设计的。
从仿真到真实世界:机器狗走进了办公楼和马路
RSI-Nav不只是在仿真环境里刷分,论文还做了真实世界部署实验,把模型装在一台DEEP Robotics M20四足机器人上,模型本身跑在一台配备NVIDIA RTX 4090显卡的远程服务器上,通过网络持续接收摄像头画面和语言指令,实时生成动作指令控制机器人行走。
测试场景覆盖了室内和室外,包括绕开障碍物、在狭窄空间里穿行、执行多步骤的复杂指令、识别开放词汇的地标(比如指令里提到一个之前没有专门训练过的物体名称)、长距离跨房间导航,以及室外的开放环境导航。
论文里给了几个具体例子,比如一条指令是"绕过黄色椅子,朝着左边的植物走,在右边的植物前停下",这要求模型不仅认识椅子和植物,还要理解左右方位和绕行的空间关系;另一条更复杂的指令涉及"面向盆栽植物出发,沿着通道走到门口,左转朝四足机器人走去,转身走到明亮的房间,右转,在洗衣机前停下",这是一段多步骤、长距离的室内导航任务,要求模型持续保持对空间和指令进度的追踪。
这些真实世界的演示很有说服力,但论文自己在"局限性"部分也坦承,目前只是定性展示,还没有在大量不同的真实环境、未见过的场景、更长距离的导航任务上做系统性的鲁棒性评估。
写在后面
读完这篇论文,我最意外的一点不是最终68.6%的成功率数字,而是那个关于SRDF和RSI-Nav指令质量对比的实验。
它其实在挑战一个我自己之前没有仔细想过的假设:我们评估一个AI生成的文本好不好,习惯性地去对照人类写的参考答案,算个相似度分数,分数高就觉得质量好。但这篇论文用实打实的下游实验证明,"像人话"和"真正有用"是两件可以脱钩的事情。
这个发现其实不只适用于导航指令生成,往大了想,任何用AI生成训练数据的场景,比如让大模型自己生成数学题的解题步骤去训练另一个模型,恐怕都存在类似的陷阱:我们可能过度依赖那些容易量化、容易对标参考答案的指标,却忽略了"这份数据到底对后续训练有没有用"这个更根本的问题。
另一个让我反复琢磨的细节,是256这个"更新粒度"的最优值。这个数字看起来很工程化,但它背后的逻辑其实挺有普遍性:太频繁的反馈循环会让系统陷入对噪声的过度敏感,太粗放的反馈循环又会让系统脱离实际进展,不管是训练模型还是做其他需要持续迭代的事情,中间总有一个"恰到好处"的节奏,这个节奏需要实验去找,不能靠直觉拍脑袋。
论文里也坦白承认了一个没解决的问题:自我提升系统天然会受限于自己当前的能力边界。一个模型给自己出的题、自己改的卷子,难免会倾向于保留那些它本来就擅长应付的简单轨迹,淘汰掉那些虽然指令本身没错、但执行起来比较困难的样本。长期下去,这套系统会不会把自己训练得越来越擅长"容易的路",反而在真正复杂、需要长程推理的导航任务上停滞不前?
这个问题论文没有给出答案,留在了"未来工作"里。但这恰恰是最值得继续追问的地方:一个能够自我迭代的系统,究竟是在持续进步,还是在不断巩固它最初的舒适区?
Q&A
Q1:RSI-Nav是什么?
A:RSI-Nav是一个面向视觉语言导航的数据驱动递归自我提升框架,核心是用同一个共享模型同时学习指令跟随、指令生成和空间理解三种能力,通过策略同步的语言-动作双向自举机制,让模型自己生成训练数据、自己检验数据质量、再立即更新自己,从而不断提升导航水平。
Q2:RSI-Nav相比之前的导航方法有什么优势?
A:它在R2R-CE和RxR-CE两个主流基准上分别达到了68.6%和72.4%的成功率,明显超过此前多数方法,而且因为用分片小批量加即时更新的方式训练,生成的指令数据始终和当前模型水平同步,不会像传统方法那样出现数据滞后于模型的问题,同时还保持了良好的空间理解能力。
Q3:RSI-Nav的训练数据是怎么来的?
A:训练数据分两部分,一部分是初始阶段用到的多源公开数据集,包括SRDF、EnvDrop、ScaleVLN、R2R、RxR以及空间理解数据集VSI-590K、LLaVA-3D和MindCube,另一部分是递归自我提升阶段模型自己生成并经过执行检验筛选出来的约250万条指令跟随样本和110万条指令生成样本。







