项目已开源,微软研究院用迁移学习训练自主无人机,可用于真实环境


图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

「感知-动作」回路是我们日常活动的核心。在潜意识中,我们的大脑利用感知输入,实时触发特定的运动动作,形成一种持续的活动,如运动、看电视等各种活动都是这样形成的。

在人工智能的背景下,「感知-动作」回路是诸如自动驾驶汽车等自主系统的基石。虽然强化学习等学科在这个领域已经取得了一定进展,但目前,自主系统在直接根据视觉数据做出决策方面仍远不及人类。

最近,微软的人工智能研究人员发表了一篇论文,提出了一种迁移学习方法,用于在模拟环境中学习感知行为策略,并将这些知识应用于无人机。

根据感知输入采取哪些行动,与其说是一个理论问题,不如说是一个实践问题。近年来,强化学习和模仿学习等方法在这一领域显示出巨大的潜力,但它们仍然受到难以大量收集标记真实世界数据的限制。另一方面,模拟数据很容易生成,但在不同的现实场景中通常呈现出不安全的行为。

能够在模拟环境中学习策略并将知识外推到真实环境中仍然是自主系统的主要挑战之一。为了推进这一领域的研究,人工智能社区为现实世界的自主系统建立了许多基准。其中最具挑战性的是第一人称视角的无人机比赛。

FPV 挑战

在第一人称视角(FPV)完成的比赛中,专业飞行员能够计划、控制一个四旋翼机,使其具有很高的敏捷性,但却没有考虑安全性。微软的研究团队试图建立一个自主代理,可以在 FPV 比赛中控制无人机。

从深度学习的角度来看,导航任务中最大的挑战之一是输入图像数据的高维性和可变性。想要成功地解决这个任务,就需要一个对视觉外观不变性和对仿真与现实之间差异的鲁棒表示。从这个角度来看,能够在 FPV 比赛等环境中操作的自主代理需要接受模拟数据的训练,这些模拟数据学习可在真实环境中使用的策略。

许多这类研究,如 FPV 比赛,都集中在增强无人机的各种传感器,可以帮助建立周围环境的模型。然而,微软的研究团队旨在创造一种以人脑功能为灵感的计算结构,将视觉信息直接映射到正确的控制动作上。

为了证明这一点,微软研究院使用了一个非常基本的带有前置摄像头的四旋翼机。所有的处理都是在 Nvidia TX2 计算机上完成的,它有 6 个 CPU 核和一个集成的 GPU。现成的英特尔 T265 跟踪相机提供里程计,图像处理使用 Tensorflow 框架。图像传感器是一个 USB 摄像头,有 830 个水平视场,原始图像被缩小到 128 x 72 的尺寸。

图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

代理

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

图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

为了弥合模拟现实的差距,微软的研究依赖于交叉模式学习,即使用有标签和无标签的模拟数据以及真实世界的数据集。其思想是在高维模拟数据中进行训练,并学习一种低维策略表示方法,该方法可以有效地用于实际场景中。为了实现这一目标,微软研究院利用了跨模态变分自动编码器(CM-VAE)框架,该框架对每个数据模态使用一个编码器-解码器对,同时将所有输入和输出压缩到一个潜在空间。该方法允许将有标记和无标记的数据模式结合到潜在变量的训练过程中。

将此技术应用于 FPV 环境需要不同的数据模式。第一种数据模式考虑原始的未标记传感器输入(FPV 图像),而第二种特征状态信息直接与手头的任务相关。在无人机竞赛的情况下,第二模态对应于在无人机的坐标帧中定义的下一个门的相对姿态。每个数据模式都由一个编码器-解码器对使用 CM-VAE 框架进行处理,该框架允许学习低维策略。

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

图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

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

图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

由此产生的体系结构能够将基于 27468 个变量的高维表示减少到最基本的 10 个变量。尽管只使用 10 个变量对图像进行编码,但解码后的图像提供了无人机可以看到的前方物体的丰富描述,包括所有可能的门的尺寸和位置,以及不同的背景信息。

图片来源:https://www.microsoft.com/en-us/research/blog/training-deep-control-policies-for-the-real-world/

微软研究院在各种 FPV 比赛环境中测试了这种自主无人机,其中包括一些具有极端视觉挑战性的环境。比如在地板上有与大门色调相同的红色条纹的室内,或者在大雪环境中。

另外,还有相关视频重点介绍了自主无人机如何使用低维图像表示完成所有挑战。如果你感兴趣,可以打开这个视频:https://youtu.be/AxE7qGKJWaw 。

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

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

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

雷锋网雷锋网雷锋网