Skip to content

Ch1. Robot Learning Intro.

感谢以下课程的公开访问资料:

本《机器人学习》(Robot Learning)笔记主要基于上述三门课程的资料整理总结而成,内容仅供本人学习及交流使用,如有侵权请联系我;所有内容仅供学习交流使用,皆不可用于任何商业目的。

1.1 什么是机器人学习?

1759261028169

机器人学习(Robot Learning)不用于机器人学(Robotics),是人工智能、机器学习与机器人学的一个交叉学科,目标是让机器人通过经验和交互来学习,而不是通过人工编程来实现动作。

如果我们要对机器人学习这个研究方向或者课程做一个定义,那么我们可以这么说:

机器人学习就是让机器人在物理世界中,学习如何做出一系列连续的决策。(Learning to make sequential decisions in the physical world)

在第二章,我会回顾一些经典的机器人控制方法。在很多高要求场景下,经典控制与优化依然是主流,并不一定需要机器学习。然而,传统的机器人学将感知和控制分离,这既困难又不符合生物智能的原理。比如说,传统机器人系统通常被设计为一个模块化的线性流程:

1759266483850

这个流程被人为地分成了两个独立的领域:

  • 计算机视觉部分:负责将传感器数据转换为有意义的信息
  • 机器人学部分:根据这些传感数据,做出决策并计算出高纬的控制指令(比如逆运动学)

我自己在2024年做的扫地机器人项目,就是一个经典的上述流程所描述的例子:

  1. 首先机器人通过SLAM构建地图
  2. 构建地图后通过一系列操作,将地图转换为一个扫地路径图
  3. 根据AMCL来定位机器人的位置,让机器人知道自己在哪里
  4. 接着机器人通过沿着扫地路径来扫地
  5. 如果有障碍物出现,传感器识别后会在扫地路径上进行障碍物标记,机器人避障绕行

然而,无论是认知科学,还是如今的人工智能发展,都在追求端到端的输入和输出。换句话说,感知和行动是紧密耦合、不可分割的。(Perception and Action are coupled)。

然而,感知处理本身就非常困难,控制也非常困难,将这两个困难、复杂、高维的空间连接起来实现端到端的高维输入和高维输出,更是难上加难。因而,机器人学习这个交叉领域便诞生了:

1759266898004

机器人学习的目标便是:

  • 统一模块(Unify Modules):打破规划、感知、控制之间的壁垒,融合为一个整体的、端到端的系统。这个统一的过程正是通过算法、数据、算力和硬件的结合来实现的。
  • 改进各模块:通过具身智能的方式,让机器人在物理世界的真实互动中学习,来显著提升每一个独立模块的性能。目前我们在这一点上取得的进展,要远比统一模块多得多。

一般来说,机器人学习的最终目标是:

建立通用的具身智能体(general-purpose embodied intelligence)。

这是一个被历史验证为正确的方向,但我们仍然面临非常多的困难和挑战。


在过去的十几年里,深度学习和大语言模型的发展,无疑是划时代的科技革命。深度学习的表现已经让所有专家系统黯然失色,因而整体方向上来看,机器人的发展在未来将更多依赖于自学习系统而非手工设计,从而不断提升机器人的通用能力、自我提升能力。在Sutton的《苦涩的教训》中,Sutton回顾了自己几十年的人工智能研究,并明确表示人类自以为是的干涉是错误的道路,而算力、算法才是正确的道路。

以LLMs为例,其性能已经是专家系统望尘莫及的存在,其工作原理主要包括:

  • 架构 (Architecture): Transformer
  • 数据 (Data): 海量的网络文本、书籍、维基百科等。
  • 损失函数 (Loss): 预测下一个词元 (next token prediction)。
  • 优化方法 (Optimization): 随机梯度下降 (SGD)。
  • 生成方式 (Generation): 自回归 (autoregressive),即一个一个地生成词。

但是,LLMs的成功依赖于互联网上几乎无限的文本数据。机器人学习无法获得如此海量的、高质量的物理互动数据。此外,LLMs通过预测下一个词来学习语言的通用模式,机器人学习是否也能找到一个类似的、可以统一不同任务的“下一个动作”预测模型呢?这是一个开放且重要的研究方向。

值得高兴的是,当前的机器人学习已经在诸多领域表现出了超过“专家系统”的表现:

  • 在特定领域的表现已经超越传统手工控制或规则系统,如机械臂抓取、送餐机器人、自动驾驶、手术机器人。
  • 但是离通用还非常遥远,因为现在的机器人高度依赖人工设定任务、精心的数据收集、在仿真中训练后的迁移等,还无法和人一样在任意环境中灵活学习和迁移知识。

以深度强化学习在游戏中的表现为例,我们来看看机器人学习和深度强化学习的区别:

特性 游戏AI (如 AlphaGo) 机器人学习 (Robot Learning) 讲解
环境 已知 & 静态 (Known & static) 未知 & 动态 (Unknown & dynamic) 围棋的规则是固定的,环境是完全可预测的数字世界。而物理世界充满了不确定性,随时可能发生预料之外的变化。
任务 单一特定任务 (One specific task) 多任务 (Many tasks) AlphaGo只为下围地而生。而一个机器人可能需要完成开门、抓取、导航等多种完全不同的任务。
目标 明确的优化目标 (Clear optimization goals) 目标不清晰 (Unclear goals) 游戏的目标非常明确:赢。奖励(reward)也很容易定义。但在现实中,“把桌子擦干净”这样的目标很难用一个简单的数学公式来量化。
学习方式 离线学习足够 (Offline learning is enough) 需要在线适应 (Require online adaptation) AlphaGo可以和自己进行数百万次离线对战来学习。机器人必须在与真实世界互动的过程中实时调整和适应。
动作速度 慢动作 (Slow action) 相对快速的实时动作 (Relatively fast real-time action) 游戏中的决策可以有几秒甚至更长的思考时间。而自动驾驶汽车或机械臂需要以高频率(如50Hz)快速反应。
失败成本 允许失败 (Allow failures) 物理定律不容忍失败 (Physics doesn't forgive!) 游戏里输一盘可以重来,成本极低。但在物理世界,机器人一次失败可能导致自身损坏、环境破坏甚至对人造成伤害。
世界模型 离散的数字世界 (Discrete digital world) 连续的物理世界 (Continuous physical world) 游戏的状态和动作通常是离散的(比如棋盘上的位置)。而物理世界是连续的,一个动作有无限种可能的变化。

上面的难点并非是机器人在特定任务上所体现出来的,而是过去近百年的人工智能研究历史中无数教训所揭示的一个道理。有一个非常著名的莫拉维克悖论(Moravec's Paradox)

要让电脑如成人般地下棋是相对容易的,但是要让电脑有如一岁小孩般的感知和行动能力却是相当困难甚至是不可能的。

1759264828045

大多数人认为,人类所具备的独特智能和高阶智慧是最难实现的东西。然而,我们看一看生物进化史就会发现,生物进化出一些我们习以为常的、不费吹灰之力的能力,如走路、看东西、识别物体、抓取杯子等,花费了几十亿年的时间;而一些高阶的技能,比如黑猩猩能做到的族群合作、高效的互动感知能力等,只花了数千万年的时间;而我们所以为的最难的人类智慧,其实只用了不到一百万年就进化出来了。

换句话说,人们常认为最难的东西,比如抽象的数学、下棋等,其实并不难;而人们认为最简单的东西,比如走路、抓取东西等,却是最难的。这些超底层的技能,是最难的、最复杂的、最根本的能力。因此,我们回顾人工智能发展历史就会发现,所有那些“看似困难”的任务,比如国际象棋、围棋等,都是最先被解决的;而那些看似容易的问题,比如物品识别和常识推理,却是最难实现的。2012年,AlexNet在视觉识别上的里程碑,才算是刚刚打开了物品识别的序幕;而仅仅4年后,AlphaGo的出现,便已经对棋类游戏画上了句号。

四五岁的小孩就可以解决的事情,比如区分咖啡杯和椅子,用腿自由行走,以及学习动作、理解环境等,在早期人工智能研究中被认为是不需要智慧的事情,如今反过来被证明是最需要智慧的事情。

今天,人们对人工智能的发展是如此自信,以至于似乎AGI马上就能实现了。然而,语言这一看似最难的智慧体现,从制造智能体的角度来看,反而是最为简单的。人工智能的发展历史值得我们警醒:不要忘记真正的最难的任务,而沉溺于解决人们以为的难题。

看看在第一波人工智能浪潮中(1956-1974)AI研究者们的自信预言吧:

  • 1958年,艾伦·纽厄尔赫伯特·西蒙:“十年之内,数字计算机将成为国际象棋世界冠军”,“十年之内,数字计算机将发现并证明一个重要的数学定理”。
  • 1965年,赫伯特·西蒙:“二十年内,机器将能完成人能做到的一切工作。”
  • 1967年,马文·闵斯基:“一代之内……创造‘人工智能’的问题将获得实质上的解决。”
  • 1970年,马文·闵斯基:“在三到八年的时间里我们将得到一台具有人类平均智能的机器。

正是因为当时的人们过于乐观的估计,导致这些预言未能被兑现时,市场、各大研究机构,对人工智能的批评达到了一个高峰,人们对AI的质疑也带来了AI发展的第一次低谷。直到80年代,专家系统的出现才开始让人们重新重视AI,并且在这时起,机器学习、联结主义、神经网络、强化学习等研究开始在各地生根发芽;进入21世纪后,机器学习、深度学习开始解决一个又一个难题,并随着互联网的不断扩大,终于诞生了划时代的Transformer架构和LLMs应用。

随着大语言模型的飞速发展,如今人们已经不再怀疑大语言模型是否能通过图灵测试。因为无论从哪个角度来看,大语言模型都已经通过了图灵测试。因此,如今的图灵测试也进一步升级到机器人领域,而随着人们对智能的重新认知,以及莫拉维克悖论的应证,如今越来越多的研究者开始把“做家务”这一类看似简单的任务,视为机器人的图灵测试,以及真正的智慧检验。

莫拉维克悖论可以帮助我们回答这个问题:机器人控制的难题源于硬件吗? 并不是。一个很简单的例子就是如果我们能直接操控一个看起来笨拙的、DOF很低的机器人,那么这个笨拙的机器人立马就可以在我们人类的操作之下完成各种看起来很复杂的任务。因此,算法、数据、算力等比硬件更重要,这也是为什么如今机器人研究的重点逐步转移到学习算法、高质量数据收集、算力提升上,而不再是传统的规划、控制、动力学等。

1.2 机器人学习的主题内容

当下机器人学习的主要主题包括:

  • Imitation Learning
  • Model-free RL
  • Model-based RL
  • Offline RL
  • Preference-based Learning
  • Online Adaptation
  • Sim2Real, Real2Sim2Real
  • ...

整体而言,机器人学习依然是一个开放学科。

在学习机器人学习之前,请先复习以下内容:

  • Supervised Learning, Unsupervised Learning
  • Generative Model
  • Non-parametric Learning
  • Architecture: MLP, ResNet, CNN, GNN, RNN, LSTM, Transformer
  • Optimization: GD, SGD, etc
  • Uncertainty Quantification
  • Verification

※ 建议先完成下列内容,完成后再回到robot learning中:

  • UCB CS285: DRL
  • 机器学习基础和深度学习优化

※ 本笔记的第二章:机器人学基础的内容,包括正逆运动学等,整理机器人学(Robotics)中的一些重要内容,其本身并不是机器人学习(Robot Learning)的内容。

等上述DRL等学完后,我们再进入到robot learning的领域。(robot learning如今主要的内容都是科研和学界的,因此如果还没有掌握基本能力,那么将很难看懂现在最新的论文)


在开始学习Robot Learning之前,CMU教授插播了一个非常有趣的小故事:

1760292033445

上图展示了2008年Ilya在一次聚餐上试图说服同桌的每一个人去研究深度神经网络,但在当时几乎所有人都认为DNNs是行不通的。理论与实践之间常常存在着巨大的差距;今天行不通的东西,未来可能会很好用。 对于有潜力的技术,我们一定要保持开放和长远的眼光,即使他们在当下看起来并不可行或不成熟,因为未来的发展可能会完全改变局面。

比如说,过参数化(Overparameterization)曾经被认为是一个bad idea,但是在现实中,过参数化模型的表现正变得越来越好,这颠覆了经典的学习理论。

1.3 从DQN到类人机器

本小节内容主要基于一篇综述性论文:《Building Machines That Learn and Think Like People》中的很多关键信息整理,主要探讨关于像人类一样思考的机器。

现代认知科学认为,想要构建类人学习的机器,必须改变现有AI工程的学习方式,因而本文作者主张:

  1. 机器应当构建世界的因果模型(causal models of the world),以支持解释与理解,而不仅仅是模式识别(pattern recognition)。
  2. 学习(Learning)应当建立在直觉物理与直觉心理理论(intuitive theories of physics and psychology)的基础上。直觉理论探究人类大脑天生或早期自动形成的一种非正式科学理论,即儿童发展早期会通过主动构建理论的方式来理解世界,而不仅仅是通过感知来认知世界。
  3. 利用可组合性(compositionality)和学习如何学习(learning-to-learn)来快速地习得与泛化到新任务和新情境。

直觉理论中有一些观点很有启发性,比如:

  • 婴儿会率先发展出直觉物理,建立一套认知世界物理规律的理论体系,包括物体、空间、运动、力等。
  • 婴儿在六个月大的时候就表现出对物体永久性的理解
  • 当看到一个球穿过墙壁时,婴儿会感到惊讶
  • 儿童会认为更重的物体掉的更快
  • 幼儿期(3-5岁)会发展出直觉心理,建立一套理解他人的心理规律。

我们以DQN的经典任务Atari游戏(Frosbite)为例:

1760287430777

可以看到,神经网络可以逼近人类在识别任务上的表现,但是需要远超人类所需的经验和学习时间。Frostbite这个游戏的内容是让玩家控制一个角色,然后目标是在限定时间内建造一个冰屋;冰屋通过跳到水面上的浮冰块逐步建成,每当角色跳到活跃状态的冰块上,冰屋就会增加一块。

由于玩家必须执行一系列正确动作后才能获得延迟奖励,因此DQN在这个游戏上的表现在49款Atari游戏中较差。优化版本的DQN可以达到人类水平,但类比于人类学习经验的话,人类玩家2小时的经验,需要DQN++训练924小时,并且在前100-200小时内表现极差。这种差异来源于人类和DQN在学习方式上的本质差异:

  • 人类能快速形成人物模型(schema)
  • 人类不依赖稀疏的分数反馈(可以推理出建造冰屋这一高层目标)
  • 人类可以轻松应对不同目标,比如拖延时间、发现隐藏要素等

当然,人类也并非从零开始的,而是带着大量先验知识进入新任务,这些知识中包括直觉物理、直觉心理、任务结构推理能力等。而DQN则完全从随机像素和奖励开始学习。因此,如果想让机器和人一样学习与思考,我们可能会考虑这样一个问题:机器是否也能带着丰富的先验知识去应对新问题,而不是从零开始。

直觉物理认为,人类在脑中运行着一个近似的物理引擎进行概率性和近似性模拟,因此婴儿可以很快表现出对持久性、连续性、凝聚性、实体性等原则的期待,区分刚体、软体、液体,并逐步掌握惯性、支撑、容纳、碰撞等基本概念。

直觉心理认为,婴儿早期就能区分有生命的智能体与无生命物体,并期望智能体有目标、以效率为导向、具有社会性(帮助、伤害、亲疏等)。这类表征支持从演示中快速学习,比如看完高手的操作,无需亲历惩罚就能学会玩法。

传统的深度网络多把学习实现为权重的渐进调整,因而在大数据上解决模式识别很强,但与人类相比数据效率极差:人类能少样本甚至一次性学会新概念或游戏要领,完全无需海量样本。很显然,人类并不是用分类器模型去学习的,一种推测是,人类学到的是可用于分类、预测、行动、交流、想象、解释与组合的丰富模型。我们试图高度抽象这种丰富的模型,并将之抽象为三种要素:可组合性、因果性以及学会学习。

可组合性(Compositionality)就是用有限的原语组合出无限的复杂表示,在人类的认知体系中这种可组合性无处不在,遍及物体、概念、语言等。比如说,在Frostbite游戏中,人类可以认知到场景由可复用的对象(鸟、鱼、浮冰、冰屋)组成,他们之间存在关系,这种认知可以轻松将经验泛化到不同的场景和关卡中。

因果模型(causal models)能反映现实世界中数据产生机制的生成模型。因果关系本身就是很难分析的,但是人类大脑天生具备这样一种因果推断能力,即便推断的可能是错的。人类不断回忆过去的事情,反刍历史,并产生“如果我没有做什么或者如果我曾经做了什么,如今就会怎样怎样”,就是一种因果推断的练习。

学习如何学习(learning-to-learn)是当今AI中的一个核心与深刻的概念。人类天生具备这种能力,比如学会英语语法的人,更容易学习西班牙语;学过滑板的人,更容易学会滑雪板;设计师一旦学会一些构图技巧,立马就能在不同的项目中复用。如今深度学习中的元学习(meta-learning),就是该领域的相关议题。


综上所述,当我们要去构建一个拥有学习能力的机器人的时候,也就是我们不需要让机器人预先掌握所有的技能,而是可以在不同的家庭适应不同的家务环境,我们就必须面对当下深度学习无法解决的上述问题。机器人所处在的是一个高度复杂、三维、真实、充满不确定性的物理世界,其环境复杂度非Atari游戏可比。机器人需要挑战的任务包括:

  • 机器人要与世界进行物理交互,一个机器人如果仅仅学会了模式识别而没有理解世界的因果模型,那么机器人将无法在开放环境下完成任务。
  • 机器人必须掌握直觉物理。机器人所有的动作——行走、导航、操纵物体——都受物理规律支配。因而,一个机器人天生就应该被赋予一套基础的物理先验知识(Priors),而不是从零开始、通过无数次失败(比如把自己摔坏无数次)来学习重力的存在。
  • 拥有直觉物理的机器人可以进行心里模拟,在行动前预判物理后果,这对于直觉心理至关重要。未来的机器人要进入家庭、医院、学校,成为人类的助手和伙伴,那么机器人就必须理解人类的意图,这对于机器人完成任务和人机交互(Human-Robot Interaction)都是至关重要的。
  • 机器人必须能够学习可复用的技能,从而掌握可组合性。比如说,通过做咖啡,机器人就应当能掌握找杯子、拿起杯子、走到咖啡机旁边、操作咖啡机等一系列可复用的子技能(primitives)。
  • 机器人不可能在所有家庭、所有工厂环境中穷尽所有训练数据,他们必须具备快速适应新环境、新物体的能力。Learning-to-learn和meta-learning等技术必须发展到可以让机器人掌握通用的元技能(meta-skill)。

从人类智能中,我们可以得到以下重要的启发:

  • 机器人必须拥有一个关于人类心理的简化模型来构建直觉心理,从而对齐人类的心智模型,这样才能让机器人融入人类社会
  • 机器人必须掌握终身学习的元学习能力
  • 数据效率和先验知识是关键
  • 直觉物理或以神经符号结合(Neuro-symbolic AI)的方式与深度学习强大的感知能力结合起来,形成结构化与模型化的智能。

可以看到,当下深度学习、强化学习的局限性,在机器人这个领域中表现得最为突出。构建通用的智能机器人的核心任务必须囊括理解世界运作方式、能够推理行为后果、可以举一反三学会学习。

1.4 背景知识

本小节复习一些和机器人学习相关的背景知识,比如深度学习中的重要概念等,这些概念在机器人学习中非常重要。这些内容在机器学习、深度学习的笔记本中都有,这里再次高度总结概括一下,方便复习使用。

关于机器学习、深度学习等内容,参见深度学习笔记的机器学习基础和DNN这两个笔记内容。

学习理论

学习理论(Learning Theory)是机器学习和人工智能的理论基石,这个领域主要回答一些根本性问题,比如:

  • Learnability: 可学习性,什么样的概念或问题是可以通过数据学到的?需要多少数据才能学好?
  • Generalization: 为什么一个模型在看过的训练数据上表现好,也能在没见过的新数据上表现好?如何量化和保证模型的泛化能力?
  • Complexity: 学习一个问题有多难?如何衡量一个学习算法的效率?
  • Convergence: 一个学习算法需要多长时间才能找到最优解?

代表的理论包括:

  • PAC学习(Probably Approximately Correct Learning),一个框架,用来分析一个算法在多大概率上能学到一个近似正确的模型
  • VC理论(Vapnik-Chervonenkis Theory),定义了VC维来衡量模型的复杂性,并给出了泛化误差的上界
  • Rademacher 复杂度:另一种衡量模型复杂度和泛化能力的方式

在心理学背景下,学习理论关注人类和动物是如何学习的,比如:

  • 认知、行为、环境之间如何相互作用,从而产生知识和技能
  • 知识是如何被大脑吸收、处理和记忆的?
  • 不同的教学方法为什么会对学习效果产生影响?
  • 动机、情感和环境在学习中扮演什么角色?

代表性理论:

  • Behaviorism 行为主义:巴甫洛夫的狗,学习是外部刺激和反应之间的联结
  • Cognitivism 认知主义:将学习看作是信息处理的过程,类似于计算机的输入、处理和输出
  • Constructivism 建构主义:强调学习者是主动构建自己知识体系的,而不是被动接收信息

在神经科学中,学习理论试图从生物和化学层面解释学习的物理基础:

  • 当学习发生时,大脑中的神经元连接(突触)是如何变化的?
  • 记忆是如何在大脑中编码、存储和提取的?
  • Hebbian Learning: cells that are fire together, wire together,是如何在分子水平上实现的?

这里只需要留一个概念就可以,不需要深入学习学习理论。