微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 N0-TWAM:当机器人第一次学会"预感"触觉

N0-TWAM:当机器人第一次学会"预感"触觉

2026-08-17 17:12
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-08-17 17:12 • 科技行者

你有没有想过,机器人拧螺丝为什么总是笨手笨脚的?

不是因为它看不清螺丝在哪,摄像头分辨率早就够用了。问题出在它拧到一半的时候,根本不知道螺丝有没有滑丝,夹爪有没有打滑,力道是不是已经过头了。这些信息,摄像头看不见。

人类拧螺丝靠的从来不只是眼睛。你闭着眼睛也能凭手感知道螺丝有没有拧紧,凭指尖的压力判断这个瓶盖是不是快要拧不动了。这种能力叫本体的触觉反馈,而现在绝大多数机器人操作模型,压根没有这个反馈回路。

这就是NeoteAI团队和复旦大学可信具身智能研究所联合发布的N0-TWAM要解决的问题。这篇论文的核心主张说起来很直接:如果一个模型能预测视觉世界的下一秒会发生什么,那它为什么不能同时预测触觉世界的下一秒?

触觉为什么总被晾在一边

要理解N0-TWAM做了什么创新,得先搞清楚这个领域此前卡在哪。

过去几年,机器人操作有两条主流技术路线。第一条叫**视觉-语言-动作模型**

> VLA(Vision-Language-Action):把一个学过海量图文知识的大模型接上一个动作输出头,让它看着当前画面直接吐出下一步该怎么动。代表作是π0、RT-2这类模型。

VLA的强项是继承了大模型的语义理解能力,你跟它说"把杯子拿起来",它大概率能明白杯子长什么样。但它的软肋也很明显:它是看一帧算一步,没有对未来的任何设想,就像开车时只盯着后视镜里刚过去的路况做决策,从不往前看。

第二条路线叫**世界-动作模型**

> WAM(World-Action Model):先用视频生成的方式预测出未来几秒画面会变成什么样,再从这个预测出的未来里"读出"应该采取的动作。这类模型的逻辑是,如果我知道下一步会撞上什么,我自然可以提前躲开。

这条路线听起来更聪明,可惜到目前为止,几乎所有WAM预测的"未来"都只是视觉画面,没有一个把触觉也纳入预测范围的。

那已有的触觉相关研究是怎么处理触觉的?论文里总结了三条各有缺陷的老路。第一条是把触觉简单地当成一个额外的输入通道,模型只是"看"触觉传感器返回的数据,从不去预测它接下来会变成什么样。第二条是搞一个独立的、往往是冻结参数的触觉预测器挂在动作模型外面,预测这件事发生在主模型之外,跟真正做决策的网络没有直接关系。第三条是一些同期的触觉感知世界模型,虽然把触觉塞进了模型内部,但做法是用注意力掩码把触觉token"隔离保护"起来,生怕它污染了视觉表示。

这三条路都有一个共同点:触觉从来没有真正成为模型"预测"的对象。

如果打个比方,这就像你请了一个天气预报员,他能精准预测明天会不会下雨,却从来不告诉你风力有多大、温度是多少。风力和温度这些信息不是他不知道,而是他压根没把这些当成需要预测的东西,只是偶尔顺嘴提一句"现在风挺大的"。而N0-TWAM想做的,是让这个预报员把风力、温度和降雨概率放在同一张天气图上,一起算出来,一起播报。

三个专家,一场共享的注意力

N0-TWAM的骨架设计,核心思路是把视觉、触觉、动作这三种信息分别交给三个专属的"专家"网络处理,但让它们共享同一套自注意力机制。这个架构叫**混合专家式Transformer**

> MoT(Mixture-of-Transformers):不同模态各自拥有独立的参数(权重),只在每一层的自注意力计算这一个环节上"碰头"交流,其余时间各算各的。

为什么要这样设计?因为触觉信号和视觉信号的统计特性完全不同。触觉是稀疏的、事件驱动的,大部分时间传感器读数几乎不变,只有在接触瞬间才会剧烈跳动,而视觉画面则是连续变化的密集信息。如果强行把两种信号塞进同一套参数里训练,触觉这种"偶尔才发声"的信号很容易被视觉这个"话痨"盖过去,甚至污染视觉本身的表示质量。论文里提到,已经有同期研究报告过,往视觉动力学模型里硬塞触觉token会拖累视频和动作预测的效果。

N0-TWAM的解法是把"隔离"这件事从注意力层面挪到权重层面。也就是说,视觉专家、触觉专家、动作专家各自拿着自己的一套参数在私下里运算,只有在共享自注意力这一步,它们才把各自算出来的信息拿出来交换。这就好比三个来自不同专业背景的会诊医生,各自看各自的检查报告,做各自的专业判断,但每隔一段时间就聚在一起开一次联合会诊,交换意见后再各自回去继续分析,而不是把三个人的病历本直接装订成同一本,让谁都可以随便涂改别人的记录。

如果不这样设计会怎样?三个专家如果都做成同样的"满血"规格,参数量会直接翻三倍。论文里给了一个直观的对比:如果视觉、动作、触觉三个专家都用满血的3072维隐藏层,总参数量大概是150亿;而N0-TWAM采用非对称设计后,只有视觉专家保持满血的50亿参数,动作和触觉专家都收窄到1024维,总参数量压到了71.6亿,几乎减半。这不是偷工减料,因为动作和触觉这两个模态目前根本没有像视觉那样海量的预训练数据可以喂饱一个满血网络,硬撑大规模反而浪费。视觉专家还额外享受了一个便宜,它是从一个已经在海量视频上预训练过的世界模型(LingBot-VA)热启动而来的,直接继承了强大的视觉先验,而触觉和动作专家则是从零开始训练,只能靠共享注意力这条通道间接沾一点视觉先验的光。

"预测再行动"是怎么在一次前向传播里发生的

N0-TWAM最巧妙的设计,藏在一个叫**扩散强制**

> diffusion forcing:一种让模型可以对序列中不同时间片段独立设定"清晰程度"(噪声水平)的训练机制,从而让模型既能像自回归模型一样按顺序生成,又能享受扩散模型去噪的灵活性。

的技巧上,配合一个精心设计的注意力掩码,模型在一次前向计算里完成了"先预测未来,再据此行动"这个逻辑链条。

具体来说,每个时间片段(论文里叫chunk)里,视觉的未来画面和触觉的未来接触信号会被同时去噪、共同生成,彼此互相看得见对方正在生成什么内容。等这两者都生成完毕变成"干净"的信息之后,动作专家才开始工作,它读取的是刚刚生成出来的这份视觉+触觉的预测结果,据此去噪出接下来该采取的动作。

这个顺序为什么重要?因为它意味着动作的产生是有依据的,模型不是凭空拍脑袋决定下一步该怎么动,而是先在脑子里"预演"了一遍接下来的画面和接触感受,再基于这个预演结果去决定动作。这就像一个熟练的木匠在下钉子之前,脑子里会先过一遍"钉子打下去木头会不会裂、手感应该是什么样",然后手上的动作才跟着这个预判走,而不是抡起锤子就砸。如果没有这套预测在先的机制,动作专家就只能对着当前这一帧的静态画面做反应,遇到那些视觉上"看起来快插进去了"但实际上还没真正对齐的情况,就很容易出手过早或者出手过猛。

这套机制靠一个叫frame-id的因果掩码来实现,规则并不复杂:干净的token只能看到自己之前的干净历史;正在生成的噪声token只能看到严格早于它的干净历史;但同一位置上正在共同生成的噪声token之间可以互相看见。这三条规则组合起来,恰好复现了"先联合预测视觉和触觉,再据此生成动作"的逻辑顺序,而这一切都不需要改动注意力运算本身,只靠掩码的设计就实现了。

触觉的两副面孔:一个是预感,一个是当下

N0-TWAM给触觉安排了两种截然不同的角色,这也是整篇论文里我觉得最值得细品的一个设计。

第一种角色叫预测的触觉,也就是模型主动生成出来的、关于未来接触状态的一个"幻想"。这部分触觉信号和视觉画面共用同一个视频VAE

> VAE(变分自编码器):一种把高维原始数据(比如图像)压缩成低维隐向量的编码器,之后模型在这个压缩过的隐空间里做运算,效率更高。

来编码,本质上被当成一种特殊的"视频"来处理,因为N0-TWAM用的触觉传感器本身就是基于视觉原理的,传感器内部有一小块会变形的软胶,一个小摄像头拍摄这块胶体的形变情况,所以触觉数据天然就是一段RGB视频流。这一部分触觉预测走的是残差建模的思路,模型预测的不是触觉画面的绝对值,而是相对于初始时刻的变化量,因为在没有接触的时候触觉信号几乎是恒定不变的,真正携带信息的是接触瞬间和释放瞬间那个突然的跳变。

第二种角色叫观测到的触觉,这部分是当下正在发生的、真实传感器读到的接触信息,它不需要被生成,只需要被模型"理解",所以走了一条完全不同的技术路线,被读进了一个叫**NeoForce**

> NeoForce:一个专门把原始触觉图像转换成三轴力场表示(横向剪切力、法向压力,加一个接触区域掩码)的编码器,是N0-Foundation项目里的成果,训练时借助了DINOv2的视觉预训练权重。

的力学表征空间里。简单说,一个冻结的力估计器先把原始的软胶变形图像翻译成物理意义明确的力场图,横向的剪切力对应滑动和抓取的力道,法向的压力对应按压的强度,然后NeoForce编码器把这个力场图变成一组特征token,通过一个初始化为零输出的交叉注意力接口"嫁接"进动作专家的信息流里。

为什么要这样区别对待?因为这两种触觉信息服务的目的完全不同。预测的触觉服务于前瞻,模型必须生成出来才能用,所以自然要放在跟视频一样的隐空间里一起被扩散模型处理。而观测的触觉服务于即时反应,动作专家不需要凭空生成它,只需要读懂它,用物理意义明确的力场空间来表达反而比模糊的图像隐向量更直接、更好理解。

这个设计让我想到一个场景。你开车过弯的时候,一部分判断来自你对前方路况的预判,比如提前观察到弯道曲率来决定减速时机,这是提前生成的预测;另一部分判断来自方向盘此刻传来的路面阻力手感,这是当下的观测,你不需要在脑子里"想象"这个手感,它直接就是物理层面的反馈。如果只有预判没有实时的路感反馈,车过弯的时候一旦轮胎打滑你根本反应不过来;反过来如果只靠路感没有提前预判,你永远只能在事情已经发生之后才做出反应,永远慢半拍。N0-TWAM把这两条通道都留下来,恰恰是因为它们各自都不能替代对方。

论文里还有个细节很实在,训练观测触觉这条通道有一个"归零"的技巧,交叉注意力的输出投影层在初始化时被设为零,这样这个新加的分支一开始完全不影响原本已经训练好的动作专家,等于是从一个已经能用的模型基础上小心翼翼地嫁接新功能,而不是粗暴地推倒重来。

长任务里,触觉充当了任务的"标点符号"

如果任务只有一步,比如"抓起杯子",那单一的语言指令就够用了。可如果任务是"泡一杯柠檬茶",这里面藏着拿杯子、放柠檬、倒水、搅拌好几个子步骤,问题就来了:机器人怎么知道自己现在做到哪一步了?

论文指出一个很现实的困境,中途某一帧的画面本身往往是模棱两可的,桌子上摆着半杯茶的画面,可能对应"正准备倒水",也可能对应"刚倒完还没搅拌",纯靠视觉很难判断当前处于任务流程的哪个阶段,而模型的注意力窗口又不可能覆盖整个漫长的任务过程,一句从头到尾不变的指令在任务进行中根本提供不了任何区分信息,结果就是模型容易卡壳、重复某个动作,或者跳过该做的步骤直接往后走。

N0-TWAM的解法很聪明,答案其实一直就藏在触觉信号里。一次抓取动作,从接触开始到松开结束,这中间触觉信号是相对稳定的,只在开始和结束这两个时间点上会出现剧烈变化。这种自然的"标点"特性,被拿来给整段长任务演示做分段。

具体做法是,先用触觉信号(辅以夹爪开合度作为备用信号)检测出接触开始和释放这两类事件,把一段完整的长任务演示切成一个个子任务片段,再用Gemini 3.5 Flash大模型给每个片段生成一句简短的子任务指令,比如"拿起茶杯""倒茶""端上饮品",人工做一遍抽检修正。训练时,每个片段就配上它对应的子任务指令去学习。

有个很妙的细节,触觉信号不仅能划分任务边界,还能顺带判断这次抓取到底成不成功。夹爪合上了不代表真的抓住了东西,如果没抓到任何物体,夹爪开合度的曲线会正常下降,但触觉信号却不会出现相应的力值上升。这一个信号,同时解决了"分段"和"验证是否成功"两个问题。

到了实际执行的阶段,系统里挂了一个轻量级的调度器,维护着一个子任务队列。模型执行当前子任务的同时,判断是否该切到下一步靠的是触觉的两个角色联手确认,预测出来的未来触觉信号先给出一个"快完成了"的提前信号,然后真实观测到的接触事件(比如确实松开了)再来确认这次切换,确认无误之后才真正推进到下一个子任务提示词,重新给流式上下文喂入新指令。

这套机制像什么?像是一个厨师做菜时不需要盯着菜谱一步步核对文字,而是靠手感和经验判断,油温到了该下菜了,肉炒变色了该加调料了。这些判断信号本身就是任务流程的自然标点,不需要额外贴一个计时器在旁边。如果没有这套机制,长任务执行就像让一个人一边看着一份没有分段的说明书一边操作,很容易读着读着就不知道自己念到第几行了。

数据的底子:三万小时,六种机器人,四百五十个任务

再好的架构也得靠数据喂出来。N0-TWAM的预训练数据来自一个叫NeoData的自建数据集,规模超过三万小时,横跨六种不同的机器人平台(ARX5、UR、Flexiv、Franka、PiPER,还有手持采集的UMI设备),覆盖450个不同的接触密集型任务。这里的关键不只是量大,而是相当一部分演示数据都带着同步采集的每根手指的触觉流,这种触觉覆盖率是它和纯视觉预训练数据集的本质区别。

所有的多视角RGB画面和触觉数据流,都用同一个冻结的因果视频VAE编码成隐向量,一次性处理好缓存到硬盘,训练时编码器完全不参与前向计算,这样能省下大量算力。每段演示被切成固定长度的窗口,一个窗口对应33个隐向量帧,原始视频以30帧每秒采样,下采样到10帧每秒后压缩,相邻窗口之间还留了大约27%的重叠,避免片段衔接处信息丢失。

动作空间的设计也做了统一化处理,不管是单臂还是双臂机器人,最终都归一化到一个20维的末端执行器动作空间里,每只手臂占10维,包括三维位置、六维旋转表示和一维夹爪指令。这里有个值得一提的细节,位置和旋转的目标值用的是相对当前时间片段起点的增量(delta),而不是绝对位姿,理由是增量表示在静止状态下会自然收敛到零向量,这是回归模型最容易学习的"零点",而绝对旋转在物体静止时反而是一个非零常数,小的预测误差会不断累积成持续的姿态偏移。不过后文的实验也提到,这个delta设计在某些对精度要求极高的对齐任务上反而不如绝对位姿好用,这是个需要权衡的取舍。

实验结果:数字不会说谎

理论说再多,最终还是要看真刀真枪的表现。

在公开的UniVTAC触觉操作仿真基准(8个任务)上,N0-TWAM拿到了**84.5%**的平均成功率,比表现最好的对照方法InternVLA-A1(67.1%)高出了整整17个百分点。特别值得注意的是,几个纯视觉的世界-动作模型基线在这个基准上表现反而不如VLA模型,LingBot-VA只有31.4%,FastWAM是48.0%,GigaWorld-Policy更是只有16.5%。这说明一件事:光会预测未来的画面,对付这类由接触定义成败的任务是不够的。

在自建的NeoSim仿真套件(12个任务,涵盖单臂和双臂)上,N0-TWAM同样以**49.4%**的平均成功率排名第一,领先第二名π0.5(45.8%)。

真正能体现价值的还是真实机器人实验。在一个8任务的真实世界测试套件里,N0-TWAM的平均成功率达到**46.3%**,对比之下π0.5是30.0%,LingBot-VA是21.9%,FastWAM只有14.4%。差距最大的几个任务恰好都是那种"藏着秘密"的任务:让瓶子立起来(Bottle Standing,70%对比最强基线20%)、插插座(Socket Plugging,70%对比60%)、精细抓取水果(Fruit Collection,60%对比50%)、持续用力擦拭桌面(Board Wiping,55%对比40%)。这些任务的共同特点是,成败关键取决于一个摄像头看不见的隐藏接触状态,比如物体重心是否在偏移,插头是否真正插到位。而在那两个成败主要靠视觉引导摆放位置的任务上(叠杯子、装袋子),视觉能力更强的π0.5反而略占上风或打成平手,这恰恰印证了N0-TWAM的优势确实来自触觉本身,而不是别的因素。

触觉不在,模型会不会"失明"

一个自然的问题是,如果传感器坏了,或者根本没装触觉传感器的场景,模型会怎么表现?

论文的答案是一个叫条件丢弃的训练技巧。训练时会以10%的概率随机丢弃语言指令和触觉条件,但两者丢弃的方式不一样。语言丢弃用的是常规的无分类器引导做法,把文本嵌入替换成一个学出来的空嵌入。触觉丢弃则完全不同,采用的是"缺席"而不是"归零",被丢弃的那个训练样本,压根不会有任何触觉张量传进网络,触觉token直接不出现在注意力序列里,触觉模块这一步也不会收到任何梯度更新。

这个设计带来的好处是,模型同时学会了纯视觉的policy和触觉条件下的policy,如果部署时传感器真的失灵或者压根没装,模型会自然退化回它的纯视觉自我,而不是去应对一个从没见过的、全是零值的诡异输入。这就像一个人平时靠双眼加手感摸黑走路,如果突然戴上厚手套失去触感,他不会因为手套的存在而彻底迷失方向,因为他本来就学过完全靠眼睛走路这一套。如果没有这个丢弃机制,一旦触觉数据缺失,模型很可能会把这种缺失误当成某种特殊信号去"过度解读",反而做出更离谱的举动。

论文在泛化实验里专门验证了这一点。在三个不同的泛化考验中,也就是面对没见过的物体、没见过的摆放位置、以及视觉画面被人为扰动(光照和背景变化)这三种情况分别测试,N0-TWAM在前两项上和π0.5打了平手甚至略逊一筹,π0.5的大规模视觉语言预训练确实在应对陌生物体外观上更有优势。但在视觉扰动这一项上,π0.5和LingBot-VA的成功率分别跌到25%和30%,而N0-TWAM稳稳保持在45%。这就是触觉信号价值最直接的体现,当摄像头看到的画面因为光照变化而变得不可靠时,触觉传感器丝毫不受影响,它报告的还是那个真实的、物理层面的接触状态。四项平均下来,N0-TWAM以51.7%排名第一,虽然不是每一项都拿第一,但它是那个摔得最不惨的选手。

拆解实验:每个部件都在出力

一个模型效果好,到底是哪个部分在起作用?论文做了系统的消融实验来回答这个问题。

首先测试的是预训练数据规模的影响。如果只用20%的预训练数据热启动,其他条件完全不变,UniVTAC上的成功率会从84.5%掉到65.4%,掉了将近20个百分点。这说明预训练数据规模是这个模型里最重要的单一因素,触觉世界模型这件事,终究还是数据喂出来的,不是单靠架构巧思就能凭空变出来的。

接着测试的是拿掉预测触觉这条通道会怎样。做法很巧妙,不是把这条通道直接删掉(因为它已经深深嵌入了骨架的自注意力结构和去噪目标里),而是做了一个信息层面的消融,把预测触觉的隐向量在加噪前直接清零,序列结构、掩码、损失函数都保持完全一致,只是让这条通道不再携带任何真实信息。结果UniVTAC上的成功率降到71.8%,NeoSim上更是从49.4%骤降到41.1%。

再测试拿掉观测触觉这条通道,也就是彻底不实例化那个交叉注意力分支。UniVTAC成功率降到70.5%,NeoSim更是直接掉到29.6%,跌幅比拿掉预测触觉还要明显。

这组数字很直观地说明了一件事:预测的触觉和观测的触觉这两条通道各有各的贡献,谁都替代不了谁,它们对应的是两种不同的失败模式。预测的触觉帮模型在动作真正做出去之前就规避掉那些"看起来对但实际上接触状态不对"的错误选择,观测的触觉则在接触已经发生之后提供实时的纠偏信号,应对打滑、剪切力异常、压力过大这些突发状况。这就像开车既需要提前观察路况来预判(预测触觉),也需要方向盘上实时的路感反馈来纠正(观测触觉),少了任何一个,整体的驾驶安全感都会打折扣。

一些朴素但重要的工程细节

论文里还有几个不太起眼但很实在的技术选择,值得单独说说。

关于动作参数化,论文对比了增量(delta)位姿和绝对位姿两种表示方式在四个对齐精度要求高的任务上的表现。增量表示的平均成功率是50.0%,绝对位姿则是82.5%,差距非常明显。原因在于,增量表示是以每个时间片段起点为锚点计算的,误差会随着片段推进不断累积,而绝对位姿直接把目标锚定在世界坐标系里的固定位置,不受累积误差影响。这提醒我们一个道理,同一套参数化方案不可能在所有任务上都是最优解,统一多机器人策略用增量表示是为了跨平台的可迁移性,但碰到那些毫米级精度要求的具体任务,还是得切回绝对位姿。

关于仿真触觉的真实感,论文还专门做了一个有意思的实验。仿真器默认输出的触觉图像是一种干净、平滑、确定性的渲染方式(叫Taxim),跟真实的视觉触觉传感器拍出来的那种带噪点、带纹理颗粒感的银色胶体图像完全不是一回事。研究者专门重新渲染了一版更接近真实传感器外观的图像,加入了噪点、颗粒纹理和深度阴影,结果发现在这种更真实的渲染下训练评估,模型性能只有轻微下降,UniVTAC从84.5%降到82.4%,说明外观的真实感本身对准确率影响不大。更有意思的是,如果用这个更真实的渲染再配上预训练好的NeoForce力学编码器去读取,性能反而进一步提升到88.1%,这相当于给出了一个跨越仿真到真实世界的信号,一旦仿真触觉的外观足够接近真实传感器,一个在真实触觉上预训练好的力学编码器就能直接迁移过去发挥作用。

Q&A

Q1:N0-TWAM是什么?

A:N0-TWAM是NeoteAI团队和复旦大学可信具身智能研究所联合推出的触觉原生世界-动作模型,它能同时预测机器人未来会看到的画面和会感受到的触觉信号,再据此生成动作,是首个在大规模数据上训练的触觉世界-动作模型,在接触密集型操作任务上表现突出。

Q2:N0-TWAM和普通的机器人操作模型有什么区别?

A:普通的视觉-语言-动作模型只根据当前画面直接输出动作,没有对未来的预判,也不处理触觉信息。N0-TWAM则用混合专家架构,让视觉、触觉、动作三个专家共享注意力,先联合预测未来的画面和接触状态,再让动作专家据此生成动作,同时触觉还分为预测和观测两条通道分别发挥作用。

Q3:N0-TWAM在实际测试中表现如何?

A:在公开的UniVTAC仿真基准上达到84.5%成功率,在自建的NeoSim仿真套件上达到49.4%,在真实机器人的8任务测试中平均成功率46.3%,均超过对比的视觉-语言-动作模型和纯视觉世界-动作模型基线,尤其在需要判断隐藏接触状态的任务上优势明显。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-