Skip to content
Published on

从人类视频中学习的机器人 — 网络规模数据的梦想

分享
Authors

引言

机器人学习长期以来的瓶颈是数据。机器人若要靠自身试错学习,就得让真实硬件长时间运转;靠人一次次遥操作来收集示范,也是既慢又贵。看到语言模型借助互联网上海量文本实现飞跃后,机器人研究者们提出了一个自然的问题:「机器人能不能从互联网上泛滥成灾的人类视频中学习?」

YouTube 上堆积着近乎无穷无尽的做饭、组装、整理物品的人类视频。这些视频里蕴含着丰富的知识 — 「手是如何接近物体的、以什么顺序操作、目标是什么」。问题在于人的身体和机器人的身体不同,而且视频里并没有明确标注机器人可以直接照搬的行动指令(action)。

本文考察机器人如何从人类视频中学习。内容涵盖能学到什么(可供性、轨迹、目标)、难点在哪里(领域差距)、如何克服(表征学习、预训练、模仿),以及如何与机器人数据结合。我们会诚实地列出真实存在的方法及其局限。

为什么是现在

这个想法本身并不新。「从观察中学习」是机器人研究里的老话题。但最近这个问题格外火热,是有原因的。

第一,语言模型的成功提供了一个有力的类比。语言模型在无标注的海量文本上做预训练,吸收世界知识后,再用少量数据适应特定任务。如果机器人也能走同一条路,那么无标注的人类视频就可以成为那种「海量预训练数据」。

与语言模型的类比

  语言模型:  海量文本(无标注) ──▶ 预训练 ──▶ 用少量任务数据适应
  机器人:    海量人类视频(无标注) ──▶ 预训练 ──▶ 用少量机器人数据适应
              相同的思路:「广泛地学,窄窄地调」

第二,工具成熟了。手部姿态估计、物体检测、视频理解模型都已足够优秀,从视频中提取有用信号变得切实可行。第三,机器人数据的瓶颈变得更加迫切。训练 VLA 这类大模型需要海量数据,而单靠机器人示范很难填满这个规模。于是,人们对廉价的人类视频寄予了越来越大的期待。

这三股潮流交汇,让「从人类视频中学习的机器人」从一个古老的梦想变成了活跃的当下研究。

从人类视频中能学到什么

人类视频没有行动指令标注,但依然承载着多个层次的有用信号。

从一段人类视频场景中能提取的信号
 ┌──────────────────────────────────────┐
 │ 可供性:这个杯子的把手「可以被抓握」        │
 │ 轨迹:手是这样从 A 移动到 B 的             │
 │ 目标:最终是要把水倒进杯子里               │
 │ 顺序:开盖 → 倒水 → 合盖 的步骤            │
 │ 接触:手何时接触物体、何时离开             │
 └──────────────────────────────────────┘
  • 可供性(affordance):关于物体允许何种交互方式的知识。把手可以抓握,按钮可以按压,抽屉可以拉开。观看人类视频可以学到哪个部位该如何被操作。
  • 轨迹(trajectory):手或物体在空间中划出的路径。它并不直接对应机器人的关节角度,但「什么移动到了哪里」这种目标层面的信息是可以迁移的。
  • 目标(goal)与顺序:视频的最终状态和中间步骤,告诉机器人「需要达成什么」。

关键不在于迁移低层指令(哪个关节动多少),而在于迁移高层知识(做什么、按什么顺序、移到哪里)。

信号具体是怎么提取的

从视频中提取这些信号,用的是已经相当成熟的计算机视觉工具。手的姿态由手部关节估计(hand pose estimation)得到,物体的位置和类别由检测与分割得到,手与物体的接触则通过结合二者推断得出。这样提取出的信号,就成了机器人学习的原材料。

人类视频 → 信号提取流水线

  原始帧 ──▶ 手部关节估计 ──▶ 手部轨迹(随时间变化的 3D 手部位置)
         ├─▶ 物体检测/分割 ──▶ 操作了什么、在何处
         └─▶ 接触推断 ──▶ 何时抓取、何时松开(抓握事件)

  结果:「手在何时以何种方式操作了哪个物体」的结构化记录

这里得到的手部轨迹并不能直接映射为机器人夹爪的轨迹,但它提供了一个骨架 — 「朝哪个方向接近、在哪里发生抓握」。用机器人自身的底层控制去填充这个骨架,是后续阶段的工作。

把可供性做成地图

可供性通常以热力图的形式学习。这是一张画在图像之上的地图,用颜色表示「这里可以抓握」的概率。观察视频中人实际抓握物体的哪个部位,就可以给该部位赋予更高的可供性分数并学习出来。

可供性热力图(概念图)

  杯子图像              可供性地图
  ┌────────┐          ┌────────┐
  │  ▢▢    │          │  ..     │   . = 低(难以抓握)
  │  ▢▢█   │   ──▶    │  ..##   │   # = 高(把手,适合抓握)
  │  把手   │          │   ###   │
  └────────┘          └────────┘
     机器人优先把 # 区域作为抓握候选

这张可供性地图,可以作为机器人遇到新物体时决定「该抓哪里」的先验知识。从人操作无数物体的视频中学习后,机器人对从未见过的物体也能推测出合理的抓握点。

领域差距 — 最大的一堵墙

从人类视频中学习最核心的难点是领域差距(domain gap)。人和机器人在许多方面都不同。

        人类示范                      机器人执行
 ┌──────────────────┐        ┌──────────────────┐
 │ 形态:五根手指      │  差距1 │ 形态:二指夹爪      │
 │ 视角:第一/第三人称  │  差距2 │ 视角:机器人相机    │
 │ 速度·节奏:人的节奏  │  差距3 │ 速度:控制周期      │
 │ 行动标注:无         │  差距4 │ 行动:需要关节指令   │
 └──────────────────┘        └──────────────────┘
    如何弥合这些差距,正是研究的核心
  • 形态差距(embodiment gap):人手有五根手指,关节众多,但机器人夹爪通常只有两根手指。人手的精细动作无法原样迁移。
  • 视角差距(viewpoint gap):视频拍摄自人的双眼或第三方视角,而机器人是用自己的相机去看的。同一个场景在两者眼中看起来完全不同。
  • 行动差距(action gap):视频里只有像素,没有机器人可执行的关节指令。这种「行动标注的缺失」是最根本的差距。

正因为这些差距,人类视频无法让机器人直接照搬模仿。于是研究发展出了多种策略,用来绕开或弥合这些差距。

应对形态差距的方法

应对形态差距的方式大致可以分为三条路径。

形态差距应对策略

  1) 把手重定向到机器人手
     人手关节 ──▶ 映射为机器人夹爪的形态
     (不完美,但抓握点、接近方向可以迁移)

  2) 忽略手本身,以物体为中心
     不关注「手」,而是关注「物体是如何移动的」
     ──▶ 机器人用自己的方式再现同样的物体变化

  3) 只取目标状态
     把示范的最终/中间状态作为目标
     ──▶ 机器人用自己的身体到达那个目标

以物体为中心(object-centric)的视角尤其优雅地绕开了形态差距。「人手是如何移动的」和机器人不同,但「杯子从餐桌被移到了架子上」这个结果,无论是机器人还是人来完成都是一样的。一旦聚焦于结果,身体上的差异就变得不那么重要了。

视角差距与领域适应

针对视角差距,会用到领域适应(domain adaptation)技术。它把人类视角的视频和机器人视角的视频对齐到「同一个特征空间」中的表征。这样一来,从人类视频中学到的东西在机器人视角下也能通用。

视角对齐(概念图)

  人类视角特征   ─┐
                 ├──▶ 共享特征空间 ◀── 消除了视角差异的表征
  机器人视角特征 ─┘        │
                 在这里学到的知识对双方都通用

当这种对齐效果良好时,从第三人称拍摄的烹饪视频中学到的知识,在机器人的第一人称相机上也会变得有用。但如果视角差异过于极端(比如俯拍视频对比指尖相机),对齐就会变得困难,性能也会下降。

表征学习与预训练

最广泛使用的策略,是先从人类视频中学习一个良好的视觉表征(representation)。不直接模仿行动,而是先预训练(pre-training)理解视频的能力,再在此基础上用少量机器人数据微调(fine-tuning)真实的操作。

两阶段学习策略
 第一阶段:在大规模人类视频上预训练表征
   ┌────────────────────────────┐
   │ 网络视频 ──▶ 训练编码器       │  「理解世界」
   │ (物体·手·运动的特征)          │
   └────────────────────────────┘
              │ 迁移已学到的表征
 第二阶段:用少量机器人数据微调
   ┌────────────────────────────┐
   │ 机器人示范 ──▶ 学习策略       │  「真实操作」
   │ (连接到关节指令)              │
   └────────────────────────────┘

这种方法的优势很明确。昂贵的机器人数据用得少,廉价的人类视频用得多。由于预训练的表征已经掌握了「物体是什么、手是如何移动的」,真实操作的学习会快得多。这相当于把语言模型「预训练—微调」的范式搬到了机器人上。

与此相关,也有研究从人类视频中学习视觉-语言特征,并将其作为机器人策略的骨干网络。不过,哪种表征真正对操作有用,仍是一个被积极探索的问题,并不存在万能解法。

单样本/少样本模仿

另一个有趣的方向是单样本(one-shot)或少样本(few-shot)模仿。目标是让人只需示范一次(或几次)新任务,机器人就能立刻照做。

单样本模仿的理想状态
   人示范 1 次 ──▶ 机器人立即再现
   ┌──────────┐        ┌──────────┐
   │「这样      │        │ 机器人执行 │
   │  折叠」    │ ─────▶ │  类似任务  │
   └──────────┘        └──────────┘
        (事先在多种任务上学会了「学习的方法」本身)

要做到这一点,机器人必须事先在大量任务上学会「观看示范并模仿」这件事本身(元学习的思路)。这样一来,仅凭新任务的一次示范也能实现泛化。在现实中,这仍然只在有限的任务范围内表现良好,形态差距和视角差距越大,性能就越差。尽管如此,「示范一次就能照做」这个方向仍有很大潜力去拓展机器人的应用范围,因此持续受到研究关注。

目标条件学习 — 把人类视频当作目标来用

另一个有用的视角,是把人类视频看作目标(goal)的来源。给机器人一个目标 — 「达成这种状态」,机器人就自己去寻找到达那个状态的方法。人类视频恰好提供了这种「所期望的状态」的丰富样例。

目标条件策略(goal-conditioned policy)

  人类视频中的目标帧 ──▶「达成这种状态」
  当前状态 + 目标状态 ──▶ 策略 ──▶ 行动
  是否更接近目标了? ── 否 ──▶ 重复
                    └─ 是 ──▶ 完成

这种方式的优点在于不需要行动标注。即便不知道人类视频中「下达了什么指令」,也可以从画面中读出「想要达成什么状态(目标)」。至于如何用自己的身体达成那个目标,机器人则要另外通过机器人数据或试错来学习。

把人类视频当作奖励信号

更进一步,还有一种方法是把人类视频用于定义强化学习的奖励(reward)。它衡量机器人当前状态与人类示范进度的相似程度,越相似给予的奖励就越高。这样一来,机器人就会朝着「变得像人所做的那样」的方向学习。

基于人类视频的奖励(概念图)

  人类示范进度:  [开始]──[中间]──[完成]
                   │      │       │
  与机器人状态比较:  相似度测量
  奖励 = 与人类进度的相似度 ──▶ 越高越表示「正在很好地跟随」

这种方法的吸引力在于,不需要人一一手工设计细致的奖励函数。不过,用什么来衡量相似度是个棘手的问题,一旦设计不当,就有机器人找到「表面看起来相似」的取巧手段的风险。这与之前安全与对齐一文中提到的规范博弈(specification gaming)是相通的。

网络视频规模化

正如语言和图像模型借助数据规模实现了飞跃,机器人也在追逐网络视频规模化的梦想。人们期待,把互联网上海量的人类活动视频引入训练,能够超越狭窄的机器人数据集,获得更广泛的世界知识。

数据规模对比(概念图)
 机器人示范        ▓▓                规模小但准确(有行动标注)
 人类示范视频       ▓▓▓▓▓▓            中等(直接操作,无标注)
 全部网络视频       ▓▓▓▓▓▓▓▓▓▓▓▓▓▓  规模庞大(多样,噪声很多)
     └── 规模虽大,但难以直接用于机器人,需要筛选与连接

但规模并不等于有用。网络视频虽然多样,但噪声很多,绝大部分内容与机器人任务无关。挑出相关的操作场景、提取有用信号(手部姿态、物体交互)、跨越领域差距实现迁移,这些都是难题。所以在实践中,与其单靠网络视频训练机器人,主流做法是用网络视频获得广泛的表征、再用机器人数据接上准确的行动,二者结合。

与机器人数据结合

最实用的做法,是同时使用人类视频和机器人数据的联合训练(co-training)。它把广泛但不精确的人类数据、狭窄但精确的机器人数据,两者的优点结合起来。

结合学习的结构
   网络/人类视频 ─────┐
   (广泛的世界知识)    │
              ┌───────────┐
              │ 联合训练    │──▶ 泛化能力强的机器人策略
              └───────────┘
   机器人示范 ────────┘
   (精确的行动指令)

在最近的视觉-语言-行动(VLA)模型潮流中,这种结合尤为突出。把在网络视觉-语言数据上预训练的模型,与机器人轨迹一起训练的联合微调(co-fine-tuning),正是试图同时获得广泛的世界理解与具体的操作能力。例如把网络规模的视觉-语言知识连接到机器人行动上的 RT-2、跨多个机器人交叉汇集数据的 Open X-Embodiment、开源 VLA 模型 OpenVLA 等,都是这一方向的代表案例。它们展示了一个大趋势 — 与其让每个机器人从零开始学习,不如共享海量的先验知识。(具体性能与功能可能因版本、配置而异。)

数据的层级

用于人类视频学习的数据,按性质可以分为多个层级。每个层级在规模与准确性之间做出不同的取舍。

数据种类规模行动标注典型用途
网络视觉-语言极大预训练广泛的世界·语言理解
第一人称活动视频无(隐含)学习手·物体交互表征
人类操作示范中等无(仅姿态)提取可供性·轨迹·目标
机器人遥操作有(精确)学习真实行动·微调

这张表的关键在于:「越往上,规模越大但越不准确;越往下,规模越小但越准确。」好的系统会像爬梯子一样逐层攀升 — 在广泛的层级上理解世界,在狭窄的层级上掌握精确的行动。

像课程一样堆叠

把这些层级按学习顺序排列,就形成了一种课程。

学习课程(从广泛廉价 → 到狭窄昂贵)

  [网络视觉-语言] ──▶ [第一人称视频] ──▶ [人类示范] ──▶ [机器人示范]
    世界·语言           手·物体            可供性           精确的
    理解                交互              ·轨迹            行动
       │                                                    │
       └────── 每个阶段都为下一阶段打下基础 ──────────────────┘

这个顺序背后有一个直观的理由。如果完全不了解世界和物体,直接靠机器人数据学习,就得用很少的数据学太多东西,效率低下。反过来,如果先用广泛的数据打好基础,机器人数据就只需负责最后的「行动连接」,用量因此可以少得多。

用案例找感觉

为了让概念更具体,可以把人类视频信号流入机器人学习的典型流水线整理如下。

典型流水线
 1) 收集:  大量获取人类操作视频
 2) 提取:  提取手部姿态·物体·接触·轨迹信号
 3) 表征:  用这些信号预训练视觉编码器
 4) 迁移:  将表征适配到机器人相机视角
 5) 结合:  用少量机器人示范学习行动
 6) 部署:  在真实环境中验证并修正

在这一流程中,每个阶段都会填补一部分领域差距。没有哪个阶段是完美的,所以真实系统会叠加多个阶段,互相弥补彼此的弱点。

如何评估效果

要证明「人类视频真的有帮助」,需要一个公平的比较。最常见的方法是受控实验。让用了人类视频的机器人和没用的机器人在同一任务上较量,比较成功率、学习效率和泛化能力。

公平比较设计(消融实验)

  条件 A:仅用机器人数据学习
  条件 B:人类视频预训练 + 机器人数据
  在相同任务·相同机器人数据量下评估
  测量:成功率 / 所需数据量 / 对新物体的泛化

  若 B 优于 A → 说明人类视频起到了作用

评估会一起使用几种指标。任务成功率最直接;数据效率(达到同等性能所需的机器人示范数)体现了人类视频的实用价值;泛化能力则看在训练时未出现过的物体、布局上的成功情况。泛化指标尤其重要,因为人类视频真正的承诺就是「广泛的世界知识」。

也存在需要警惕的陷阱。如果只用几个精心挑选的演示视频就展示出成功,很难判断这究竟是广泛的能力,还是狭窄的过拟合。因此评估必须在机器人未见过的条件下、反复多次进行,并且如实报告失败情况。

实际工作流中的考量

在真正运行人类视频学习时,会遇到一些现实层面的考量。

  • 数据清洗成本:网络视频不能直接拿来用。挑选相关场景、审查版权与隐私、提取信号,都需要相当大的工作量。
  • 计算资源:大规模视频预训练非常吃资源。对许多团队来说,直接使用已公开发布的预训练模型更现实。
  • 与机器人数据的平衡:人类视频掺入太多,会让机器人的精确行动变得模糊;掺入太少,又学不到广泛的知识。这个比例的调整很微妙。
  • 安全验证:从人类视频学到的行动,也必须经过之前安全一文中提到的安全层。「照人做的方式来」并不总是安全的。
实际流水线的现实

  理想:  网络视频 ──▶ 魔法 ──▶ 能干的机器人
  现实:  网络视频 ──▶ [清洗] ──▶ [预训练或已有模型]
              ──▶ [结合机器人数据] ──▶ [安全层] ──▶ [现场验证]
                  每个阶段都需要人的判断与成本

局限与开放问题

  • 形态差距是根本性的。把人手的精细度迁移到二指夹爪上,存在物理上的极限。
  • 行动标注的缺失依然是一堵大墙。从视频中推断出准确的机器人指令,本质上是模糊的。
  • 迁移的可靠性是个问题。表征能迁移得多好,很大程度上取决于任务和环境。
  • 评估很难。公平地衡量「人类视频是否真的有帮助」本身就是一个研究课题。
  • 要警惕过度解读。令人印象深刻的演示,并不等于通用能力。不应把狭窄条件下的成功误解为泛化。

何时出彩,何时失色

人类视频学习并非万能,它有适合与不适合的问题。知道在什么情况下效果显著、在什么情况下困难,是实践的关键所在。

人类视频学习的适配度

  适合的问题                          困难的问题
  ┌──────────────────┐          ┌──────────────────┐
  │ 人经常做的事        │          │ 机器人特有的精密作业 │
  │ (做饭·整理·操作)    │          │ (人不会做的事)      │
  │ 以物体为中心的目标   │          │ 精细的力控制        │
  │ 广泛的物体泛化      │          │ 人手特有的灵巧动作   │
  └──────────────────┘          └──────────────────┘

在人们日常生活中经常做的事、以及可以用物体状态变化来表达目标的事情上,人类视频能发挥巨大威力,因为互联网上范例充足,形态差距也可以以物体为中心的方式绕开。反之,在人不太会做的机器人特有作业(比如精密装配的某些特定动作)、或需要人手五根手指才能完成的灵巧动作上,人类视频能提供的帮助就有限。

这一区分在实践中很重要。与其把人类视频硬塞进每一项任务,不如挑选出人类视频真正有优势的任务来应用,这样才能节省资源。好的工程实践会区分「能用」和「该用」。

三条路径一览

把迄今为止讨论过的学习信号种类整理一下,使用人类视频的方式大致可以分为三条路径。

方法从人类视频中获得的由机器人来填补的特点
表征预训练视觉·物体理解真实行动映射应用最广泛
目标条件学习所期望的目标状态到达目标的方法不需要行动标注
奖励定义进度的基准(相似度)试错探索减轻奖励设计负担

这三条路径并不互斥,常常混合使用。可以用表征打基础、用目标指方向、用奖励打磨细节,进行组合。哪种组合最优,取决于任务和可用数据,因此比起寻找一个「标准答案」,通过实验比较多种方式才是实用的态度。

结语

从人类视频中学习的机器人是一个充满魅力的梦想。如果能把互联网上积累的人类活动知识,越过昂贵机器人数据的瓶颈传递给机器人,机器人学习或许能实现语言模型曾经经历过的那种飞跃。

与此同时,这条路上横亘着形态、视角、行动上的根本性差距。目前实用的方法,在于用人类视频获得广泛的表征、再用机器人数据接上精确的行动,二者结合。VLA 模型的联合训练潮流正是这一方向的代表证据。目前还没有完成的解法,但方向是明确的 — 如何把廉价而海量的人类知识,与昂贵却精确的机器人经验很好地编织在一起 — 网络规模机器人学习的未来,正系于此。

贯穿这三篇机器人文章的是同一条线索:让机器人变得能干,与让我们能够理解并信任这种能干,并不是两回事。当看清世界(感知)、安全行动(安全与对齐)、从人类海量经验中学习(人类视频学习)这三个维度共同成长时,机器人才会真正成为我们身边有用且值得信赖的存在。技术发展得很快,但不失去这三个维度之间的平衡,才是持久进步的条件。

参考资料