Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Behavioral Cloning

行为克隆通过监督学习训练策略,使其模仿专家演示。本文介绍其工作原理、误差累积的原因,以及 DAgger 如何解决这一问题。

行为克隆(BC)是最简单的模仿学习形式:智能体通过训练策略来学习行动,具体做法是使用普通的监督学习,预测记录演示中专家在每种情境下采取的动作。训练数据由观察-动作对组成,例如将摄像头画面与驾驶员的转向角配对,或将机器人的关节读数与遥操作员的指令配对;对于连续动作,策略使用回归损失进行拟合,对于离散动作,则使用分类损失。行为克隆不需要奖励函数,也不需要在训练期间与环境交互,因此通常用于根据人类演示来训练机器人、车辆和软件 AI 智能体。

起源与经典示例#

这一名称源自 Donald Michie 及其同事在 1990 年前后重建人类控制技能的研究。最著名的早期演示是 Claude Sammut 及其同事 1992 年的“Learning to Fly”:他们记录人们驾驶飞行模拟器时的控制动作,并根据这些记录生成决策树自动驾驶仪。Carnegie Mellon 的 Dean Pomerleau 早在 1989 年就通过 ALVINN 展示了小型神经网络可以根据摄像头图像控制测试车辆。

NVIDIA 在 2016 年推出的端到端驾驶系统使用约 72 小时的人类驾驶数据训练卷积神经网络,将前向摄像头的原始像素直接映射为转向指令;在新泽西州蒙茅斯县的一次典型驾驶中,该系统约有 98% 的时间能够自主转向。对于离散动作,行为克隆就是图像分类:在摄像头画面上训练的 Ultralytics YOLO26 分类模型,将图像按驾驶员采取的动作分别放入文件夹,例如左转、直行和右转,然后输出克隆动作作为 top-1 类别。

误差累积问题#

训练期间,策略只会看到专家访问过的状态。部署时,策略以闭环方式行动,因此每个小错误都会让它进入一个与演示中状态略有不同的状态,在该状态下它更可能再次出错,错误也会沿着轨迹不断累积。训练状态与部署状态之间的这种不匹配称为协变量偏移。Stéphane Ross 和 Drew Bagnell 在 2010 年指出,即使策略每一步的错误都很小,克隆策略的预期成本仍可能随任务时域的平方增长。Ross、Geoffrey Gordon 和 Bagnell 于 2011 年提出的 DAgger(数据集聚合)将增长降低为线性:先由学习得到的策略行动,再由专家为策略访问过的状态标注正确动作,最后使用迄今收集的所有标签重新训练策略。

这个示例克隆一个为 Gymnasium CartPole任务手动调优的控制器。该任务要求在移动小车上平衡杆子,最多持续 500 步;随后,示例会进行两轮 DAgger:

import gymnasium as gym
import numpy as np
from sklearn.tree import DecisionTreeClassifier

env = gym.make("CartPole-v1")
expert = lambda obs: int(obs[2] + 0.5 * obs[3] > 0)  # push toward the side the pole leans and falls


def rollout(policy, seed):
    """Run one episode with a policy and return the states it visited."""
    obs, _ = env.reset(seed=seed)
    states, done = [], False
    while not done:
        states.append(obs)
        obs, _, terminated, truncated, _ = env.step(policy(obs))
        done = terminated or truncated
    return states


states = rollout(expert, seed=0)  # one expert demonstration
for i in range(3):
    # Behavioral cloning: fit a classifier from states to the expert's actions
    clone = DecisionTreeClassifier(max_depth=5, random_state=0).fit(states, [expert(s) for s in states])
    policy = lambda obs: int(clone.predict(obs[None])[0])
    steps = np.mean([len(rollout(policy, seed)) for seed in range(100, 110)])
    print(f"Round {i}: {len(states)} labeled states, clone balances for {steps:.0f} steps")
    states += rollout(policy, seed=i + 1)  # DAgger: the expert labels the states the clone visits

第 0 轮是普通的行为克隆。克隆策略在专家的一段 500 步演示上训练;专家在这段演示中将杆子平衡了 500 步,但克隆策略在新回合中平均只能维持 30 步。第 1 轮加入克隆策略在另一个回合中访问的 23 个状态,并由专家为这些状态标注;平均步数因此升至 135。第 2 轮再加入 70 个这样的状态后,克隆策略便能将杆子平衡整整 500 步。

其他改进方法会调整演示本身。NVIDIA 的驾驶系统加入了左侧和右侧摄像头拍摄的图像,以及摄像头视角的合成平移和旋转;每张图像都标注了在两秒内让汽车回到车道中央所需的转向操作。这是一种数据增强,可以教会系统如何恢复。DART 在记录演示时向演示者的动作注入噪声,因此数据中会包含专家纠正小幅偏差的过程。动作分块会一次预测多个未来动作,从而缩短错误累积的有效时域;ACT 策略仅凭 10 分钟的演示,就能以 80% 到 90% 的成功率完成精细的双手任务,例如插入电池。

多模态演示与现代策略#

如果演示者以不同方式解决同一种情境,例如从障碍物左侧或右侧通过,回归策略就会预测这些动作的平均值,而这个平均值可能不是任何人实际采取过的动作。Google 的 RT-1 是一个通过行为克隆在 130,000 次机器人演示上训练的Transformer,它将每个动作维度离散为 256 个区间,并将这些区间作为词元进行预测,因此能够表示多种动作模式。扩散策略通过对随机噪声进行去噪来建模完整的动作分布,现已成为具身 AI操作任务中的常见选择。

语言模型也以同样的方式训练。使用人工撰写的答案对大型语言模型(LLM)进行监督式微调,这是指令微调的核心,也就是对文本进行行为克隆;OpenAI 的 WebGPT 论文正是用这个名称来指代基于人类反馈的强化学习(RLHF)之前的阶段。

  • 强化学习:通过试错从奖励信号中学习,并且能够超越演示者,而行为克隆做不到。TD3+BC 等离线 RL 方法会加入行为克隆项,使学习到的策略接近记录的数据。
  • 逆向强化学习:推断能够解释演示的奖励函数,然后对其进行优化。生成对抗模仿学习(GAIL)会训练策略,直到判别器无法分辨其行为与专家行为。
  • 知识蒸馏:训练一个小型学生模型,使其输出与大型教师模型相匹配。用训练好的策略而不是人类进行行为克隆,称为策略蒸馏。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来