微软研究团队使用迁移学习,训练现实世界中的无人机

阅读数:3 2020 年 3 月 26 日 15:19

微软研究团队使用迁移学习,训练现实世界中的无人机

感知 - 行动循环是我们日常生活活动的核心。潜意识里,我们的大脑使用感官输入来实时触发特定的运动动作,这变成了一种持续的活动,从体育运动到看电视的各种活动都是如此。在人工智能中,感知 - 动作循环是自动驾驶车辆等自动系统的基石。虽然模仿学习或强化学习等学科在这一领域确实取得了进展,但目前的自主系统在直接根据视觉数据做出决定方面仍远远不能与人类技能相提并论。最近,微软的人工智能研究人员发表了一篇论文,提出了一种迁移学习方法,从模拟环境中学习感知 - 行动策略,并将这些知识应用到自主无人机的飞行中。

微软研究团队使用迁移学习,训练现实世界中的无人机

学习根据感官输入来判断采取哪种行动的主要挑战来自实践操作,而非理论。近年来,强化学习和模仿学习等方法在这一领域显示出了巨大的潜力,但它们面对着真实世界中大量难以收集的数据时仍然无计可施。另一方面,模拟数据很容易生成,但通常无法在多样化的真实场景中提供安全行为。能够在模拟环境中学习策略并将知识外推到真实世界环境中,仍然是自主系统的主要挑战之一。为了推进这一领域的研究,人工智能社区为现实世界的自主系统创建了许多基准。其中最具挑战性的是第一人称视角的无人机比赛。

微软研究团队使用迁移学习,训练现实世界中的无人机

FPV 挑战

在第一人称视角(FPV)完成的比赛中,专业的飞行员能够在不影响安全的情况下,使用可能有噪声的单目摄像机输入,以高度敏捷的方式规划和控制四旋翼。微软的研究团队试图建立一个自主代理,可以控制 FPV 比赛中的无人机。

从深度学习的角度来看,导航任务最大的挑战之一是输入图像数据的高维性和剧烈变化。要成功地解决这一任务需要一种不受视觉表象影响、对模拟和现实之间的差异具有鲁棒性的表现形式。从这个角度来看,可以在 FPV 比赛等环境中运行的自主代理,需要在模拟数据中进行训练,这些模拟数据能够学习可以在现实环境中使用的策略。

很多研究试图解决类似 FPV 比赛这样的挑战,都主要是在无人机上增加各种传感器,帮助模拟周围环境。相反,受人类大脑功能的启发,微软研究团队的目标是创造一种计算结构,将视觉信息直接映射到正确的控制动作。为了证明这一点,微软研究团队使用了一个非常基础的四旋翼,带有一个前置摄像头。所有的处理都完全是借助 Nvidia TX2 计算机在板上完成的,该计算机有 6 个 CPU 内核和一个集成 GPU。一个现成的 Intel T265 跟踪摄像机提供里程测量,图像处理使用 Tensorflow 框架。图像传感器是一个具有 830 水平 FOV 的 USB 相机,我们将原始图像缩小到 128 x 72 的尺寸。

微软研究团队使用迁移学习,训练现实世界中的无人机

代理

微软研究团队的目标是在模拟环境中训练一个自主代理,并将学习到的策略应用到现实世界的 FPV 比赛中。对于模拟数据,微软研究团队依赖于 AirSim,这是一款针对无人机、汽车和其他交通工具的高保真模拟器。在训练阶段使用 AirSim 生成的数据,然后在真实世界中不做任何修改地部署所学习的策略。

为了弥补模拟与现实之间的差距,微软研究团队采用了跨模式学习,既使用带标签的和不带标签的模拟数据,同时还使用真实世界的数据集。其思想是在高维模拟数据中进行训练,并学习在真实场景中可以有效使用的低维策略表示。为了实现这一目标,微软研究团队利用了跨模态变分自动编码器(CM-VAE)框架,该框架为每个数据模态使用一个编码 - 解码器对,同时将所有输入和输出限制在一个隐空间内。该方法能将标记的和未标记的数据模态合并到潜变量的训练过程中。

将此技术应用于 FPV 环境需要不同的数据模态。第一种数据模态考虑了原始未标记的传感器输入(FPV 图像),而第二种数据模态描述了与当前任务直接相关的状态信息。在无人机竞赛中,
第二模态与无人机坐标系中的下一个门的相对位姿相对应,每个数据模态由一个编码器 - 解码器对通过使用能够学习低维策略的 CM-VAE 框架进行处理。

自主 FPV 比赛代理的架构由两个主要步骤组成。第一步的目标是学习一个潜在态表示,而第二步的目标是学习一个控制策略操作这个潜在表示。第一个组件或控制系统体系结构接收单眼摄像机图像作为输入,并将下一可见门的相对位姿连同背景特征编码为低维潜在表示。然后,这个潜在表示被送入一个控制网络,后者会输出一个速度命令,稍后被无人机的飞行控制器转换成 Actuator 命令。

微软研究团队使用迁移学习,训练现实世界中的无人机

降维是微软研究方法的一个重要组成部分。在 FPV 比赛中,有效的降维技术应该是平滑的、连续的、一致的,并且对模拟图像和真实图像中视觉信息的差异具有鲁棒性。为了实现这一目标,该架构采用了 CM-VAE 方法,将每个数据样本编码到单个隐空间中,这些隐空间可以被解码成图像,或者转换成另一种数据形式,例如门相对于无人机的位姿。

结果架构能够将基于 27468 个变量的高维表示简化为最基本的 10 个变量。尽管只使用了 10 个变量来编码图像,解码后的图像仍然提供了丰富的描述,无人机可以看到前方,包括所有可能的门的大小和位置,以及不同的背景信息。

微软研究团队使用迁移学习,训练现实世界中的无人机

微软研究团队在各种 FPV 比赛环境中测试了这款自动驾驶无人机,包括一些具有极端视觉挑战条件的环境:室内(蓝色地板上的红色条纹与门上的相同)以及大雪天。

结语

尽管微软研究团队的工作是专门针对 FPV 比赛场景的,但这些原则也可以应用于许多其他感知 - 动作场景。这种类型的技术可以帮助加速自主代理的开发,这些代理可以在模拟环境中进行训练。为了激励这项研究,微软在 GitHub 上开源了 FPV 代理的代码。

项目地址:
https://github.com/microsoft/AirSim-Drone-Racing-VAE-Imitation

原文链接:
https://towardsdatascience.com/microsoft-research-uses-transfer-learning-to-train-real-world-autonomous-drones-53b3f941768f

评论

发布