ROBOT WORLD
机器人的世界——
如何看懂这个人间
最近的机器人运动会火出圈了。行外人看热闹,行内人看门道,虽然目前离真正的家用还很远,但通过机器人运动会,我们确实可以看到这个行业长足的进步,比如智元的灵巧手获得了7块金牌,天工在田径领域所向披靡,这背后都是硬件稳定性,模型和运动控制算法的全力支撑。我们知道,机器人运动会的田径赛场上,要求机器人起跑后全自主完成,那么像400米障碍赛这样的比赛,机器人是怎么认知这个赛道的呢?今天就简单来给各位读者朋友讲讲机器人认知世界的方法,如有错漏,敬请斧正。
01
SEE
感知层:看
人对世界的认知,八成来自眼睛,机器人也一样。所以,机器人认知世界的第一层叫输入层。这点很好理解:摄像头拍到的视觉图像、机器人自身的关节状态、以及一句人类指令,比如"把红色积木放到蓝色区域",在机器人运动会上,就是操作人员的那一道起跑指令。这三样东西,就是机器人认知世界的原始数据。
但现在的摄像头都是高清摄像头,拍下的图片动辄几百万个像素,直接丢给大脑去算,算力扛不住,也没必要。所以架构里第一个关键模块是 VAE,也就是视觉Tokenizer。大家不用了解这个专业术语的意思,这样理解就行:当一个正常人跟别人描述一个房间,不会说“高度几米,距离几米,视角几点钟方向,有个白色物体”,而是说"桌子上有杯水,旁边是本书",同理,机器人也没必要一个像素一个像素地去识别。
VAE干的工作,就是把海量的像素压缩成一串视觉Token,只保留语义上有用的信息。这个压缩不是类似Resnet那样简单的降分辨率,而是要同时做到语义对齐和动作理解:语义对齐,是让模型知道图像里红色的块和指令里“红色积木”是同一个东西;动作理解,是让模型从画面里读出“这个积木是可以被抓取的”,而不是把另一个红色的东西比如墙上的应急按钮认成红色积木。简而言之,感知层的任务是把看见变成看懂,毕竟看不懂的看见是毫无意义的。
02
THINK
认知层:根据过去预测未来
机器人看懂之后,就要进行思考。认知层是机器人看懂世界的核心。之前我们讲过,世界模型里面很重要的一个部分,就是因果关系,机器人如果不能理解事情的因果,就不能叫真正理解这个世界。如何理解因果?首先,我们需要让机器人做因果预训练,采用单向因果建模,这里的单向,指的是模型在预测下一个动作的时候,只能看到过去和现在,不能偷看未来。这听起来是句废话,谁能看到未来,顶多是预测罢了,但在模型训练里,很多做法是允许双向注意力的——前后文都能用,效果好,训练方便,这就是所谓的偷看未来。问题是真实世界的机器人是活在时间轴上的,它伸手抓积木的那一刻,不可能预知0.5秒后积木会不会滑落,如果训练的时候让模型习惯了开天眼,部署到真机上必然翻车,这就是行业里常说的预测与执行不对齐,就像某些人用腐朽的理念来管理销售一样。用单向因果建模,等于从训练第一天起就告诉模型:你只能根据已经发生的事推断接下来该干什么,这跟人是一样的,只能推断,不能看到,这个设计是真正从机器人实际运行逻辑出发做的选择。
除了单向因果,MoE混合专家架构也同样重要。单向建模解决了想得对的问题,MoE解决的则是想得少的问题,帮助机器人尽可能节省算力。我们知道,具身任务千奇百怪:抓积木、开门、叠衣服、倒水,还有搬东西,拧螺丝,锤钉子等等,同一个大场景下的不同小场景,对于机器人的需求都各不相同,更不用说像家用和工业这样的不同大场景了,如果所有任务都用同一套参数硬算,要么模型大到离谱,要么啥都会一点、啥都不精,毕竟你不能因为之前做过一个卖票的小程序,就觉得做一个淘宝那样的网上商城是很简单的事情。MoE的思路是准备很多本专业的书籍,而不是一本大的百科全书,中间放一个查询器,来了什么任务,就翻对应的几本书,其他书放着不动。这样做的好处是模型总容量可以很大,但每次推理只激活一小部分,可以降低算力需求,提升响应速度。在机器人行业中,这就是功耗和芯片成本的节省,最终都会落到省钱两个字上。
03
ACTION
执行层:异步推理
认知层想明白了,剩下的就是动手。这里有一个很GPU的设计:异步推理。想象一下,如果机器人的控制环路是同步的,看一眼,想一想,动一下,再看一眼,这样的机器人是没法用的,就像你开车时,每打一把方向盘都要停车思考一下,这就不是开车,而是移动路障了。异步推理的做法是模型推理、动作输出、机器人执行各自按自己的节奏跑,中间用任务队列衔接,听起来和GPU的调度方式非常类似,大脑在想下一步的同时,机械臂经在执行上一步的指令。这背后是整个系统的实时性保障,在真实世界里,延迟可能会引发事故,让机器人递杯水,它思考人生三秒钟,然后水洒了,这机器人就不是来帮忙的,而是来添乱的,所以为什么家用场景可能是最后进入的,就是因为机器人可能添乱,要先解决这个问题。
在物理世界中,推理是需要闭环的,所以我们需要有环境反馈,需要把执行的结果回传,变成新的输入,持续修正模型的判断。比如第一次机器人抓偏了,那么下一帧画面会告诉它偏了,机器人再基于这个反馈进行调整。我之前提到过条件反射,实际上,认知和条件反射有本质区别:认知是一个不断纠错的循环,而条件反射是认知不会出现问题之后,通过机器人的记忆去完成工作,我们都知道条件反射更快,但是在形成条件反射之前,认知非常重要,就和人一样,先进行认知学习,学会之后就可以进行条件反射了,当然我们学习各种动作的时候都很小,大家应该都不太记得了。对应到机器人运动会这样的场景里,机器人需要在极其短的时间内,不停完成认知和反馈的闭环,这就是难点所在。
机器人看懂世界的方式,本质上和人类是类似的,机器人认知世界,并不是靠单点技术的先进,而是整条链路围绕真机落地的重重限制和设计,单向因果是为了预测和执行对齐,MoE是为了省算力,异步推理是为了实时性,每一个选择背后,都是基于实际训练的结果和设计时的约束,而不是论文里的长篇大论或者坐在办公室里的奇思妙想。此外,给算力做减法依然非常重要,我在之前的文章里说过,机器人行业现在的问题不完全是技术不行,更多的是成本太高,现在光一块Thor就要三万多,整机几十万,谁会花这个钱买台人工智障回家挂着?这个行业内,谁先进入“量产-迭代”的正循环,谁就有机会。最后,模型的趋同是行业成熟的前兆,语言模型用了五六年,最终收敛到Transformer,而具身智能现在还在大逃杀阶段,但当某个模型或者模型组合被反复验证有效,并且形成了行业共识,有类似Khronos这样的组织开始制定标准的时候,就是真正的专用芯片成熟之时,当然我相信,这个标准未来一定是中国指定,中国主导。
作者:铁云
欢迎关注铁云文摘
热门跟贴