模仿学习旨在通过观察专家演示来学习最优策略,而无需从其环境获取奖励信号。最优策略是指智能体为实现其目标所能采取的最佳策略,其中策略被定义为一个函数,通过将状态映射到行动,来确定智能体在给定情况下的行为方式。模仿学习与强化学习等传统学习方法不同,在强化学习中,模型在策略学习的试错过程中会获得奖励或惩罚。
通过学习标记的数据集或专家轨迹 (状态和行动对),智能体可以学会难以通过编程定义的复杂行动。专家轨迹可以从各种来源收集,例如:
以下是模仿学习的三种不同变体:
行为克隆是一种模仿学习,其中智能体通过监督式学习直接复制观察到的行为,来学习模仿人类演示者动作。
逆强化学习 (Inverse RL) 是一种模仿学习方法,其中智能体会推断专家在演示过程中优化的奖励函数。
学徒学习是一种特殊的模仿学习,其中智能体会学习复制专家演示的目标或策略,而不是像在逆强化学习中一样推断潜在的奖励函数。这种方法具有优势,因为在向演示学习时,不易受到奖励信号中歧义的影响。
就行为克隆而言,模仿学习包括以下步骤:
模仿学习已在各行各业得到广泛应用,使机器人和自动化系统能够通过模仿人类行为来执行复杂的任务。这种方法支持代理式 AI,允许机器学习人类行为,从而提升其在动态环境下的决策能力和适应能力。以下是一些具有影响力的用例。
在制造环境中,机器人可以通过观察专家演示来学习组装零件。这种方法包括两个阶段:首先,机器人学习预测人类行动背后的意图,然后学习控制自身动作来复制这些行动。通过模仿人类的灵巧性和决策能力,机器人可以适应任务的变化并保持高准确性,即使在非结构化环境下也是如此。
ORBIT-Surgical 是一个基于 NVIDIA Isaac™ Lab 的仿真框架,用于训练 da Vinci Research Kit (dVRK) 等机器人,协助外科医生并帮助减轻认知负担。该框架利用强化学习和模仿学习,在 NVIDIA RTX™ GPU 上运行,使机器人能够操纵刚性和软性物体。
模仿学习使服务机器人能够自然地与客户互动,重现友好且乐于助人的人类互动方式。机器人可以学习按照人类的方法扫描、盘点和整理库存,从而在零售环境下减少错误并提高效率。
辅助驾驶开发者利用模仿学习来准确模拟现实世界的交通行为。这种方法采用双层模仿模型,将意图预测和控制分离,从而创建多样且真实的交通场景。通过模仿人类驾驶行为,模仿学习有助于确保智能汽车能够适应各种交通状况并保持低故障率。
模仿学习可以帮助机器人通过观察人类工人来学习如何采摘水果或蔬菜,从而实现精细操作和高效采收。通过模仿农业专家的行动,机器人还可以被训练为识别和瞄准杂草或害虫。
模仿学习对于使机器人执行复杂任务和支持人机协作至关重要,尤其对于人形机器人和其他形式的具身 AI 更是如此。人形机器人动力学建模的复杂性随自由度的增加而呈指数级增长,这使得强化学习和模仿学习成为唯一能够开发适用于各种任务和环境的策略的可扩展方法。模仿学习为机器人开发带来诸多优势。
简化教学:模仿学习使机器人能够通过观察人类演示来快速学习复杂任务,从而简化编程过程。这种方法最大限度地降低了对详细、任务特定的编程的需求,让训练机器人执行各种任务变得更容易。
改进人机交互:通过模仿人类行动,机器人可以实现更自然、更高效的动作,从而提升其在需要类人灵巧性的任务中的性能表现。这种模仿还使机器人能够更好地理解和预测人类行为,从而实现更安全有效的协作。
适应性:模仿学习帮助机器人学习人类的策略和即兴应变能力,从而适应新的或非结构化的环境。
迭代改进:机器人可以通过反复观察和实践来不断完善其技能,实现持续的性能提升。
多功能性:模仿学习可以应用于广泛的机器人系统和任务,从工业自动化到社交机器人和医疗健康。
虽然捕捉演示通常比设计强化学习所需的奖励策略更简单,但获取高质量演示本身也会带来一系列挑战。与模仿学习相关的主要挑战包括:
来自人类专家的高质量演示通常很难获得,尤其是对于专业化或安全关键的任务。模仿学习在很大程度上依赖于多样化的示例来实现泛化。多样性有限可能导致模型在不熟悉的场景中表现不佳。现实世界数据通常包含噪声、人为错误或不一致,如果不加以仔细过滤或处理,可能会对模型的性能产生负面影响。一个有效的补救措施是利用高质量现实世界数据在仿真中生成大规模合成数据,以提升训练样本的多样性和可靠性。
有关此过程的更多信息,请参阅技术博客“构建用于类人型机器人学习的合成运动生成工作流”。
一些任务涉及高维动作空间,例如机器人操控中的多关节运动,这使得模型难以准确再现动作。这些环境下的模仿学习需要大量计算资源,尤其是在使用大型神经网络或强化学习组件进行训练时。
模仿过程中的小错误可能会随着时间的推移而累积,特别是在顺序决策任务中,会导致与预期行为严重偏离。因此,由于模型依赖于专家演示,模型行动与专家行动之间的微小差异可能会迅速扩大,而导致性能下降。这使得模仿学习模型可能难以泛化到训练数据未涵盖的新情况或略有不同的情况,导致在意外情况下出现故障。光照、天气或物理环境的变化可能导致模仿学习模型表现不佳,尤其是在道路或工厂等动态环境中。为了应对这一问题,需要向数据集添加不同、出乎意料的场景并重新训练模型来持续提升性能。
在自动驾驶或医疗健康等敏感领域,模仿学习模型必须安全运行,即使遇到不熟悉或意外的场景也不例外。然而,这些模型在遇到对抗性情况或其他智能体 (例如激进的驾驶员) 的不可预测行为时可能难以做出适当反应,而导致不安全的结果。一个潜在的解决方案是将模仿学习与强化学习或对抗训练技术相结合。这种混合方法使模型在训练过程中既能模仿专家演示,又能积极探索如何处理具有挑战性或罕见的情况,从而学习安全且稳健的行为。
模仿学习通常需要大量专家演示数据才能实现高性能,而收集这些数据可能既昂贵又耗时。在反馈或奖励稀疏的场景中,模型在没有强化信号的情况下难以有效学习,使得模仿在复杂任务中的效果不佳。提高样本效率的一种方法是使用数据增强或利用自我监督学习方法,这有助于模型从可用数据中提取更多信息,从而更有效地从有限的演示中学习。
此外,仿真可以成为克服上述诸多挑战的强大工具。通过生成多样化且高质量的合成数据,仿真可以帮助解决与数据质量、数量以及针对不可预见问题的训练需求相关的问题,从而提高模仿学习模型的鲁棒性和适应性。
NVIDIA Isaac Lab 使机器人模仿学习工作流的开发更加便捷。您可以使用一系列远程操作设备收集演示数据,包括键盘、SpaceMouse 以及 Apple Vision Pro 之类的 XR 设备。凭借这种灵活性,您可以直接从人类操作员那里收集高质量示例。
为了扩展训练数据,Isaac Lab 提供了 GR00T-Mimic 工作流,它可以利用仿真将少量人类演示扩展为数千个合成示例。
Isaac Lab 既支持定制的模仿学习算法,也支持 Robomimic 等成熟框架,让您能够自由地进行实验和创新。利用这些工具,您可以针对各种任务,高效地训练和评估稳健的机器人策略。
浏览 Isaac Lab 文档和技术博客,获取分步指南和最佳实践,加速您的模仿学习项目。