
量子跃迁者
作者丨刘卢瑟
编辑丨具身智能之心
原文链接:https://www.zhihu.com/question/667033549/answer/1906159881049834475
想回答这个问题,可以从以下几个方面来思考:
具身导航是什么?
“具身导航”是个大筐,啥都可以往里装。只要是能够进行导航行为的实体,都是具身导航。
送餐机器人、扫地机器人这种在建好的地图里跑来跑去的实体,不是具身导航吗?当然是。从这个角度说,SLAM本来就是具身导航中的关键技术,而不是现在突然需要去“结合”具身导航的技术。
题主提到的物体目标导航、命令导航、视觉语言导航等等,自然也是具身导航,只不过现在通常被叫做“具身智能导航”。为啥多了“智能”二字?因为在这些技术里:
导航实体在理解和交互能力上更贴近人类了;
导航指令的下达更符合人类交流沟通的方式了;
导航任务的执行从纯几何决策规划,变成了考虑人类生活经验、行为习惯和实践意义的决策规划。
SLAM是什么?
SLAM(同步定位与建图)是包含了不同功能模块的一整个系统,时至今日已经形成了一个包罗万象的技术生态。
研究者们在这个生态里各有侧重:玩多源传感器融合的、玩状态估计的、玩三维重建和渲染的、玩点特征匹配/追踪的、玩线面特征的、玩深度学习提取和匹配的、玩语义信息的、玩回环和重定位的、玩动态目标跟踪的、玩active-SLAM的……
有的人把SLAM和别的东西结合,有的人把别的东西塞进了SLAM,但大家都叫SLAM,这导致SLAM的定义越来越大,光是SLAM2.0的定义我就看到过好几种。我现在最头疼地就是向外行人解释啥是SLAM。
为了方便讨论,我在这里还是试着阐述一下我的理解:SLAM是同步定位与建图。“定位”是定传感器自身的位姿,“建图”是建周围环境的地图,状态估计理论是其核心理论。延伸一下,SLAM的框架就在干两件事:一是估计自身状态,二是估计外界状态。无论多花里胡哨的SLAM,都逃不开是在干这两件事,只不过不同的传感器和任务需求将“自身状态”和“外界状态”拓展了而已。例如VIO里要估计IMU零偏、时延、外参等,这都属于对“自身状态”的扩展,而动态SLAM、语义SLAM等等,则属于对“外界状态”的扩展。很多SLAM方设计一定的数据组织形式将估计出来的状态保存下来,以便复用。
综上,SLAM既负责对自身和周围状态进行测量和感知,也负责将这些测量和感知信息存储下来。
具身智能导航需要什么
具身智能导航,最需要的是“智能”,最需要的是对自然世界和人类生活的理解和认知。大模型的问世看似解决了这个问题。那么给机器人接入一个ChatGPT/DeepSeek是不是就够了?并不是,差得还很远。
语言大模型/视觉语言大模型只是一个孤立的、不完整的“缸中之脑”。说它孤立,是因为传感器提供的感官并没有直接和它相连,它也没有像人脑一样伸出无数神经去控制躯体的各个部分。说它不完整,是因为它本身也并不具有空间感、方向感和合理的时空记忆机制。
说白了,光有智能还不够,还得有能够被智能处理的源信息,还得有能够理解并执行复杂动作的躯体。
所以具身智能导航需要的是:一根考虑了人类经验与法则的“感官到导航行为/动作的数据链条”。
更具体地说,需要:
将感官信息转化为导航可用的参考和经验
利用参考和经验生成可执行的导航行为
能够执行导航行为的硬件
听起来像是“感知-决策-规划”这条古老的法则,实际上也确实是。
如果不走上面这条路,那就只有一条路:
端到端。
SLAM能为具身智能导航提供什么
在自动驾驶全面转向端到端路线后,高精度地图式微,作为老牌导航技术的SLAM也被唱衰,但搞机器人/具身智能的一部分人还在用,有的大用特用,有的暗戳戳地用。那么SLAM能为具身智能导航提供什么呢?
首先是位姿。一大票“具身智能导航”方法看起来花里胡哨,又是大模型、又是这决策网络又是那生成网络的,但在实验里还是用了仿真器提供的真实传感器位姿,实际上真要现实落地,没有在线位姿估计整个系统都运转不了,甚至位姿估计误差大一点都不行。室内没有RTK,室内定位精度又不够,咋办?还得靠高精度和高鲁棒性的SLAM。
然后是地图。地图可以说是目前SLAM在具身智能导航中存在感比较强的部分。但在讨论具身智能导航里的地图之前,要先打两个预防针:
第一,不要把SLAM地图仅仅限制在点云/mesh上,几何地图是重要的基础,但并不是SLAM地图的全部,尤其是用于智能导航的地图,关键得看其能给导航提供什么信息。就好像人类平时导航的时候,不是给一张一比一复刻的高精度点云地图就好使的,还得在上面把区域、类别标记出来才能用。
其次,不要一谈到SLAM就只能想到预先建立一张地图、保存下来、再复用,实际上在线建图、在线规划与探索也是SLAM方法的主要应用之一。
预防针打完了,现在回到具身智能导航讨论上。目前很多方案使用了价值地图、边界探索地图,这些地图都是通过对SLAM建图进行标注得到的,和从前那些语义建图的构建方式没什么太大区别。还有很多方案用了3D Scene Graph,或者将位姿和观测组织起来,用到检索增强上,这些也深度使用了语义SLAM技术。当然,用到了SLAM的大多都是zero-shot方案。
总的来说,用了SLAM的具身智能导航方案,其地图除了包含几何结构以外,肯定还包含很多特定的标注、结构化环境数据等等,是多层的、具有丰富内涵的。
定位和建图是SLAM老本行,都在具身智能导航中得到了应用,那其他模块有没有用武之地呢?也是有的。
例如,SLAM定位里的回环和重定位技术,在具身智能导航里有了更大的意义。没有回环和重定位的VO/VIO/LO/LIO本质上都是以自我为中心的序列递推相对定位,但对于人类来说,尤其是固定场景且已有先验记忆的情况下,对于“现在在哪”这个问题,不一定需要知道自己刚才在哪然后递推估计到当前时刻,而是可以通过检索和匹配已有记忆来确定自己在哪。如果场景变化,导致观测到的和记忆中的不一样,就要判断是匹配失败了还是要更新记忆。此时,整个导航问题可以完全变成一个匹配和如何动态更新地图的问题。有了新的应用范式,具身智能导航里的回环和重定位也应该升级一下自己的技术路线,光靠词袋模型、ScanContext可能没法满足更高级的任务需求了。
SLAM对于具身导航的必要性?
自动驾驶作为具身导航的一个任务,对于需不需要SLAM已经给出答案:不需要,至少不需要预先建立大规模高精度地图的SLAM。对于其他载体和场景的具身智能导航,这个问题还没有确定的答案。但这里还是说说我个人的思考。
SLAM对于具身导航是否必要,得看:
SLAM能给具身导航提供的东西是是否必要的?
如果SLAM提供的东西是必要的,那么是否必须由SLAM来提供?是否有技术替代?
如果SLAM提供的东西必要,且有技术可替代,那么在具体的应用场景中,替代成本如何?
对于第一个问题,SLAM能提供的核心东西就是三个:显式相对位姿、显式环境建模、显式的导航可用数据管理。对于完全端到端方案,原始数据扔进去,导航决策和控制指令出来,SLAM没有必要。对于分模块端到端,部分模块可能需要位姿和地图输入,那这时SLAM可能会作为模块的“一端”。对于非端到端方案就不用说了,几乎都是重度依赖SLAM的。
对于第二个问题,需要显式定位的方案可以根据场景选用其它方案,例如室外的组合导航、室内的wifi/UWB定位等等,当然,我个人还是认为,固定场景的室内机器人,用先验地图匹配定位+里程计位姿推算还是要更合适一些。定位其实没有什么好说的,而地图的替代方案是我认为值得好好讨论一下的。SLAM地图的就是几何模型及其附带管理的结构化导航数据,但这些点云也好、边界地图也罢,包括3D scene graph等等具有拓扑结构的场景描述方法,都是人类自己构想和设计的记忆机制,而这些机制是不是适用于具身导航的最优建模方式、能否支撑复杂的任务,还要打一个大大的问号。在我看来,记忆也应该是一个“大模型”,只不过应该是一个life-long的、在线学习的大模型,且它的作用并不仅仅是保存感官信息,还应具有与感官相适应的推理能力。这样的记忆机制远比干巴巴的、死板的、更新形式固定的SLAM地图要好。
对于第三个问题,得从现实经济角度来讨论。我倒没有什么特别看法,这需要深度结合具体应用去分析,市场会给出答案。
SLAM与生成式模型
在具身导航中,空间信息生成式模型是我认为最最最最可能替代SLAM的东西。二者的底层原理都是概率论统计学,流程上都是给定先验去求最大后验。
SLAM的核心是状态估计理论,它也可以被看作一种“生成式”模型。以视觉SLAM为例,就是用图像去生成(估计)载体运动和点云,再用点云和载体运动去生成图像(渲染),再通俗一点,图像、点云、位姿互相为“提示词”和“生成内容”,图像-点云-位姿三者所在的状态空间借由状态估计理论“多模态对齐”了。
只不过,状态估计这种“生成式”模型比较简陋,无论是滤波还是因子图,大多都基于高斯分布建模噪声、误差线性化,本质上是利用人工设计的规则和约束,对世界的复杂性做了假设和简化。这一点可以参考高翔博士的回答。
不是说人工设计的规则就不行。SLAM领域自身给出了很好的例子,那就是火得一塌糊涂的3D GS。3D GS将传统SLAM的参数建模(场景表示)方法做了升级,点云位置换成高斯球,点投影误差换成了溅射误差,并且使用了“训练”这个词描述拟合过程。它也可以被视作一个“生成式”模型:以稀疏点云、图像和位姿,生成逼真的新视角渲染效果。
然而,3D GS仍然只是人工设计约束下的方法,只不过这套规则可能更贴近真实世界的物理规律,所以取得了好的效果。
那么,如果约束不由人设计,而是靠海量数据驱动的人工智能去学习呢?我认为同样是靠谱的。靠海量数据训练出来的生成式大模型也可以有空间建模能力。给几张图像就“生成”出一整个场景的三维结构,给两片点云去“生成”位姿,给一片点云去生成另外一片点云,这些都是可能的(就像给大语言模型上半句让他写下半句一样)。
更关键的是,生成式模型可以不像SLAM那样仅能“所见即所得”,而是能依赖经验知识进行预测。对于SLAM,强如3D GS也不能建模出受遮挡和盲区内的物体,但生成式模型则能够靠先验知识弥补这一缺陷:对于被遮挡的物体,或者只能从有限视角观测的物体,SLAM只能扫描出其可见的部分,但生成式模型可以构建出完整的模型,生成其不可见的部分。这就是生成式模型独有的“预测”能力。其实人类在观察世界时,本就是带着“预测”的,人不会因为只观察了物体的一部分就认为物体是不完整的,大脑会自动“补全”不可见的部分。而SLAM想做到这一点,需要穷举规则,例如利用对称性假设、区域生长等方法去做地图填充。
更需要注意的是,空间信息生成只是生成任务的一种,智能导航中处处存在生成任务,生成决策、生成动作等等等等,一些方案甚至能生成“将要看到的场景”,这是在模仿人类导航中的“意图”和“预期”。某种程度上来说,生成式模型就是在“预测未来”。
生成式模型关键在于不同模态的数据对齐。目前视觉和图像的对齐已经初有成效,后续还可能有视觉-语言-空间三种数据的对齐。一旦有此类型的大模型(不是吹牛的而是真正可用的)问世,SLAM的用武之地的确会被压缩。
当然,我说的比较理想化。因为不同模态数据的对齐并非易事,尤其是引入空间信息的数据对齐。视觉尚且可以在像素空间里量化,空间真地要用体素去量化吗?哪种空间表示方法更适合去做对齐呢?训练一个可靠的此类模型,训练和部署成本是否抵得过其应用价值?就算有朝一日视觉-空间-语言对齐了,时序信息的融合又是否容易呢?
SLAM与端到端
很多人一提到具身智能导航,就将它和“端到端”联系起来。无论在哪个领域,端到端方案总是有着迷人的架构:原始数据扔进去,结果就输出出来。
这使得一些SLAM研究者想将SLAM和端到端方案相结合,但实际上,SLAM天生和端到端方案冲突,它充其量只能作为系统输入的一端,并且只能算是有些怪异的一端,因为它已经对原始信息做了复杂的筛选、处理,使端到端变成了不完全端到端。而在我看来,不完全端到端=完全不端到端。就像木桶效应一样,如果一个系统里存在一个具有信息损失的模块,那其余的模块都会受到影响。所以我认为SLAM和端到端方案的结合是极其困难的。
当然,我不是说端到端方案就一定比非端到端强。关于信息损失问题的讨论,得看具体任务需求。如果损失后的信息量已经足够满足任务需求,那这个方案也未尝不可。
理性主义、经验主义和人工智能三大流派
上面是具体的技术讨论,这一部分我想从技术背后的哲学角度讨论一下。这是有必要的,因为做智能机器人研究的特殊之处在于,它既是在研究机器,同时也在研究人类本身。我相信不止我一个人在做机器人研究时,有这样一种感觉:自己仿佛是想说清楚人类自己是怎么思考的、怎么行动的,以更好地在机器人身上实现人类的运转机制。很多研究者做机器人的朴素信仰就是“模仿人类,超越人类”。但比较遗憾的是,人类太复杂了,解释自己的角度太多了,所以没法完全说清楚自己到底是怎么“运转”的。
但不管怎么说,探究人类自己,也是探究机器人。最后一节了,权当我天马行空,发散思维,也欢迎大家一起发散。
首先,我从理性主义和经验主义这两种具有对立关系的哲学思想说起。这里我只笼统地对二者进行阐述:理性主义认为真理来自于人的理性推断,部分知识不依赖经验,而是人天生就会的,例如数学和几何。而经验主义认为真理全部来自于对现象的感受,知识全都来自于感官经验的积累。
举个例子,学过牛顿定律的人知道万有引力的存在,但没学过牛顿定律的人也能看到苹果会从树上落到地上。他们从不同角度对“重力”有了认知,而认知是会影响实践的。让这两个人完成一个让机器人接球的任务,前者会对球的运动进行建模,计算其方向和速度,然后再规划机器手的末端轨迹,将“球会怎么落”、“手该怎么动”统统精确计算出来。后者则会觉得这是个“熟能生巧”的任务,虽然不知道怎么计算,但只要控制机器人接个十几次,把最能接住球的控制数据记下来,下一次肯定能接住。
这个例子诠释了理性主义和经验主义面对问题时的方法论。前者不依靠感官经验,有没有机器人和球并不重要,在草稿纸上就能把一切推算出来,这个问题就算解决了,真理在逻辑和推演中,也即演绎法。后者则不做那么精确地推算,但一定要有机器人和球去实打实地操作一下,通过大量的经验寻求解决办法,真理在后天的感受中,也即归纳法。
理性主义和经验主义同样催生出了人工智能的不同流派:符号主义、联结主义和行为主义。
符号主义又称逻辑主义,将智能视为符号操作系统,其核心为符号运算和逻辑推理。由理性主义催生,代表了数学证明与推导。
联结主义则模拟神经元的连接机制,其核心为对数据分布表征的学习。由经验主义催生,CNN/Transformer是其代表技术。
行为主义则关注实际环境对智能的刺激和影响,其核心为交互反馈。由经验主义催生,但也有理性主义的影子,支撑了自动控制和强化学习方法。
有意思的是,人工智能几个流派名称同样也都存在于心理学中,这说明研究机器人和人工智能,的确和研究人类有着密不可分的关系。
从发展趋势上来看,符号主义如今已经成了人工智能研究的最底层,已经快不算人工智能了,联结主义很长一段时间占据统治地位,并且现今仍然是研究的主流,行为主义长期以来在智能控制领域圈地自萌,也会在具身智能浪潮下得到进一步发展。如果将本文提到的一些技术套在这几种主义上,SLAM生态里的技术,就是典型的符号主义指导下的专家系统。神经网络和大模型则是联结主义的产物。而大家理想中的具身智能导航,我想最终将以行为主义思想的指导为主,但会混合不同主义的技术。
正如康德的“先天综合判断”对理性主义和经验主义做了调和,解释了人类通过逻辑思维能力从感官经验中获取知识的途径。智能机器人也一样,它既需要拥有一些必要的先验能力,例如对时间和空间结构与形式的认知,同时还需要拥有从感受和经验中进行综合判断的能力。这也暗示了不同技术不应该互相拉踩或者试图完全替代,而是应该想办法找准自己的位置,融合才是至关重要的。
我是做SLAM出身的,在面对智能导航任务时,习惯性用符号主义思想去实现,代码写成山了以后,也会感到一丝荒诞:我好像正试图利用自己的智慧去建模自己的智慧,这种感觉就像是想拽着自己的头发将自己拎起来一样。世界是我的表象,而我又如何能通过表象去触碰到我想了解的本质呢?这的确是个问题。
本文只做学术分享,如有侵权,联系删文