概述
这很重要,因为对于许多实际任务——驾驶、手术、操作——展示良好行为远比编写奖励函数容易。
深入探讨
模仿学习根据专家在环境中行动的记录示例(通常是观察结果和专家采取的行动对)来训练策略。最简单的形式,行为克隆,将其视为简单的监督学习:在给定状态下预测专家的行为。当奖励很难具体说明但演示很丰富时,就像在人类驾驶日志上训练的自动驾驶汽车或通过远程操作教导的机器人一样,它很有吸引力。典型的弱点是分布偏移或复合误差:微小的预测错误会将智能体推入专家从未访问过的状态,在该状态下它没有指导并进一步偏离轨道。像 DAgger 这样的方法通过反复向专家询问学习者实际达到的状态来解决这个问题。
现实世界的实施
根据人类驾驶记录训练的自动驾驶汽车感知转向模型
机器人手臂通过远程操作演示学习折叠衣物或堆放物体
游戏代理从记录的人类重播中引导,然后使用强化学习进行微调
手术和辅助机器人通过专家操作员演示学习动作
模仿学习的未来
模仿学习是机器人基础模型兴起的核心,其中单个策略在巨大的多任务远程操作数据集上进行训练,并针对新技能进行微调。期望与语言和视觉更紧密地融合,以便机器人模仿视频或指令,以及通过克隆引导然后通过强化学习进行改进的混合体。通过模拟和众包人类游戏数据以低成本扩展演示收集仍然是关键瓶颈和活跃前沿。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是模仿学习?
模仿学习教导人工智能通过复制专家演示来执行任务,而不是从试错奖励中学习。这很重要,因为对于许多实际任务——驾驶、手术、操纵——表现出良好的行为比编写奖励函数要容易得多。
在模仿学习中,代理如何获得其行为?
模仿学习训练代理重现专家演示中显示的行为,而不是通过奖励驱动的试错来发现行为。
行为克隆将模仿学习视为哪类问题?
行为克隆将演示视为标记数据,并学习预测专家对每个观察到的状态的操作,就像监督学习一样。
什么问题导致行为克隆在长动作序列上失败?
微小的动作错误会将智能体推入专家从未展示过的状态;如果没有指导,错误就会累积,代理会进一步偏离专家的轨迹。
DAgger 算法如何解决这个弱点?
DAgger 推出当前策略,让专家标记新访问的状态,并对聚合数据集进行重新训练,以便训练数据与学习者自己的状态分布相匹配。
为什么对于驾驶等任务,模仿学习通常比强化学习更受青睐?
对于复杂的现实任务,编写捕获良好行为的奖励是很困难的,而展示良好行为的示例(人类驾驶日志)则相对容易。