腾讯首席科学家张正友内部分享:对具身智能、大模型及AGI的一些思考
人类与一个有灵魂的机器人发生故事,这个机器人“生活”在人类世界,艰难地体会着人类的喜怒哀乐……机器人的故事,是科幻剧最喜欢展现的一个题材,然而在真实世界中,我们却很难看到一个真正意义上能与人类交互的机器人。
我们在现实生活中,见到的大多还是在生产线上进行重复劳动的机器人,或者是迈着笨拙步伐,差点被绊倒的双足机器人,还有一些仅能做展示性任务(比如跳舞的机器狗)的机器人。
● 为什么让一个机器人不被绊倒有这么难?
● 大语言模型的爆发是否能给机器人一个足够强大的大脑,让人类所期待的具身超级智能成为现实?
● 人类语言的产生晚于世界的诞生,大语言模型,真的能建立一个真正的世界模型吗?
近日在【2023年腾讯技术周】AIGC大咖面对面活动中,腾讯首席科学家、腾讯AI Lab及腾讯Robotics X实验室主任张正友博士做了主题为《迈向具身智能以及对大模型和AGI的一些思考》的分享。
在这次分享中,张正友博士提到,机器人要从自动化进阶到智能化,需要实现反应式自主和有意识自主去应对变化的、不确定的环境,需要一个新的控制范式,类似于人类的认知模式。他借鉴了心理学领域的理念,将人的思考分为两个系统,即:自动的、快速的、直觉的第一系统,以及需要专注思考的推理、复杂计算等费脑力行为的第二系统。由此,他提出,完善的机器人系统也需要由不同层级来处理不同级别的决策,或理解不同层级的感知信息。
受到这一理论的启发,他认为,AI和人未来将会是多模态的交互方式,而且AI是主动的,它能够感知周围的环境。目前的大语言模型还不能称之为完整的世界模型,多模态大模型肯定是通往AGI的必经之路,但有很多工作要做,而且很可能不是现在的多模态大模型。
以下为演讲原文:
机器人的趋势,要从自动化变成智能化。很多生产线上的机器人都是重复性地做一些预编程好的动作,而且做得非常精准。我们今天讨论的是智能机器人,要实现自主,能够在环境不确定时自动调整规划它自己的系统,来应对没有预测到的情况。
腾讯的机器人实验室是 2018 年成立的,出发点是 AI 一定要跟人协作,这是最主要的目的。所以我们做这个机器人是为了人机共存、共创、共赢的未来。实验室成立时我们提出了 A2G 理论,是这七个方向,ABCDEFG 刚好对应英语前面的字母,A 是 AI,机器人必须能看、能说、能听、能思考。B是机器人本体,要探索什么样的本体最适合人的环境,最简单的想法是人形机器人,但我认为还可能有更好的形态,所以我们要探索这个本体B,Body。C 是 Control,精准控制。ABC 属于最基础的能力,上面一层是 D,Developmental learning,发育学习。
因为机器人要在环境中不断地跟人和环境交互,在交互中可能是成功的,可能失败的,成功就要做得更好,失败就要从失败中学习,不断地演进,就像一个小孩能不断发育成长。E,EQ,因为是机器人在人机环境里跟人交互,必须要理解人的情感,同时要把它自己理解的东西呈现给人,人才能知道到底机器人有没有理解,所以这是双向的情感理解,拟人化。F 是 Flexible manipulation,灵巧操控,要掌握包括使用工具,为人类完成物理任务,否则这个机器人只是一个聊天的机器人。G 是 Guardian Angel 守护天使。这个机器人不光只是单独的一个本体,还需要跟部署在环境里的智能传感器和其他机器人、通过云跟家人和世界互联,使得机器人成为人类的保护天使。
这是我们 Robotics X 实验室一开始成立定的几个方向,今天主要讲 C 到 D。
01
完善的机器人系统
需要借鉴人类的思维模式:
分层级进行“快与慢”的理解与决策
讲到自主,有两类:一是反应式的自主。比如走路时绊了一跤,可以很快恢复平衡,不会绊倒。有意识的自主,比如各位要去开个门或者我要从上面下来,都要有一些规划。
为了实现这样的自主,传统范式是通过感知,感知环境后做一个计划,计划后面的行动,行动再到感知。传统范式有很大的致命性问题,因为它不可能解决反应式的自主,因为不可能那么快。你说我绊倒后还要在脑子里思考怎么样恢复平衡,我没时间思考。
为此,我提出了一个新的范式叫 SLAP 范式。这个名字 S 是感知、L 是学习、A 是 Action、P 是 Planning。很重要的一部分是学习,学习渗透到感知、行动、和计划。还有一个重要的部分是感知和行动紧密的连在一起。只有这样才能感知到突发事件,比如绊了一下马上就能够行动来保持平衡,同时对常规行动不需要进入上一层的规划或计划。
这个东西就可以跟人的认知相比较,这是系统 1 和系统 2,诺贝尔奖获得者卡尼曼在《思考,快与慢》这本书总结出来的,这本书提到心理学领域将人的思考分为两类:system 1,自动的、快速的、直觉的;system 2,需要专注思考的推理、复杂计算等费脑力的活动。他说人的大脑95%的时间都是在系统 1 里运作的。这非常快,是凭直觉、不需要很多思考的。当你需要或碰到难题时,才会上升到系统 2,这个花的时间大概只有 5%,就是更理性地思考、推理。我们讲的反应式自主,对应了系统 1。上面的 Plan,也就是有意识的自主就对应了系统 2。
系统 1、系统 2 前面还有一个就是感知,因为没有感知不可能做系统 1、系统 2。针对系统 1,就是刚才提到的,快的、并行的、不需要花力气的、大部分可能不是语言方面的东西。系统 2 是比较慢的思考,而且是需要花精力的,是很灵活的,有时候可能是一个规则来负责的,它负责内容、感知。有一个想象,如果完成的和你预测的一样,那很快就可以实现了,这是系统1的工作。当你预测和真正实现的东西有差别,才会上升到系统 2。
我觉得现在 Language model 还没有做到最好,因为 Language model 到目前为止还是用系统 1 的方式做系统 2,因为它是靠预测,不管你的问题难还是容易,几乎是同样的时间给你回答。但事实上真正解决问题不是这样的,容易的问题很快就可以答。复杂的问题要上升到一定高度,现在大家也有些在研究,比如反思。这都是针对目前 Language model 有些问题采取新的研究方式。
一个完善的机器人系统,同样需要借鉴人这种认知模式,由不同层级来处理不同级别的决策,或理解不同层级的感知信息;而每一层级的理解和决策,都将由一个深度神经网络来完成。就像人有小脑和大脑,小脑能自动或者快速地维持身体平衡、调节肌张力、控制步态和身体姿势、协调随意运动,而大脑既控制我们的运动和感觉也进行逻辑思维、语言、识别和理解等高级认知活动。
02
腾讯通过三层架构
实现真正自主的机器人决策控制
回到今天我要讲的机器人部分。刚才讲的为什么是反应式自主,有些是有意识的自主,因为人在发育过程中最早是一个动物,动物尽管没有语言,还是需要处理目前这个世界的。小脑几乎是所有动物都有的,小脑是非常自动快速的几乎没意识的部分,可以实现帮助动物活下来,包括人类活下来,只是需要决策时才会上升到大脑部分。
在这个情况下,我们机器人控制里也分层,第一层是本体的感知控制,我们也有神经网络到后面去实现。第二个,对环境的感知,还有一层就是策略的决策。分层后实现了机器人智能控制。
再具体一点,目前的机器人控制分三层:
1、第一层是 PLC,行为控制系统,接受本体的感知包括关节的角度,上层控制指令,比如往前、往后、往左、往右,输出的是机器人控制的力矩。
2、第二层是 ELC,环境交互的控制系统,接受环境的感知信息。比如我们要下楼梯或者上楼梯、开门,环境给我信息后我要去规划,去实现和环境相关的一些任务。
3、最上面是 SLC,策略控制系统。比如一只狗一定要把另外一只狗追上,这样的策略怎么样控制,它可以把任务信息、外部环境感知信息和本体感知信息都整合起来,输出到控制指令。
这个好处是我们已经把认知到行为三层能力进行分解,分解后每一个层都可以独立去训练,到最后可以端到端稍微微调一下,但通过分层的训练,效率、稳定性都非常高。
03
生成式模型
在机器人控制领域的应用
在 Primitive-Level Control 层面,展现出人类和动物的行为时,我们不会用规则、hard coding 的方法,我们用了目前比较流行的生成式模型,生成式模型用在这个控制里非常合适,因为前面一堆 Token 或者其他东西预测下面的东西,下面的东西就是一个运动控制指令,这是非常合适的模型。
我们机器人用的生成式模型跟现在自然语言用的生成式模型的差别在哪里?我们从一开始就是多模态的,Language model 是用文字预测文字,我们这里面输入的是内部关节角度各方面的东西,到最后是要变成一个电机力矩去控制机器狗。我们采集了真狗在跑步机上不断跑的数据,上面贴了很多点,一个 MoCap 动捕系统看它的轨迹运动方向,当然我们不知道狗到底用了多少力,所以力矩没有,只是表面的运动信息。
有了表面运动信息后,可以把这些信息 retarget 到机器人的骨骼上,因为机器人跟真狗差别非常大。然后构造了基于 MLP 的 Encoder 来压缩数据特征。我们使用了高质量的离散编码来表达真狗的运动形态。接下来是 Decoder,解码隐变量,输出电机控制。整个过程用强化学习去训练,使得机器人到最后学到的动作和真的动作形态很接近。最后部署时,去掉 encoder 就可以部署上去了。虽然我们是在虚拟环境中训练的,但能 zero-shot 部署到真机。
这里比较了一些其他方法,比如单脚离地时间、站立时间,迈步的长度、高度之类的,每一个都是不同的标准,比如第一列是单脚离地的时间。大家看到每列图有五个不同方法的比较,第一个是统计出来的真狗数据,第二个是我们自己方法学到的数据,剩下的四个是其它方法。经过我们的方法,和真实的数据几乎是一样的分布变化,其他的差别就比较大。另外,尽管我们允许的力矩是从正 15 到负 15 牛米(Nm),但最后学到的策略输出的力矩均值只需要 5Nm 上下。




