感知-行动循环是我们日常生活活动的核心。潜意识里,我们的大脑使用感官输入来实时触发特定的运动动作,这变成了一种持续的活动,从体育运动到看电视的各种活动都是如此。在人工智能中,感知-动作循环是自动驾驶车辆等自动系统的基石。虽然模仿学习或强化学习等学科在这一领域确实取得了进展,但目前的自主系统在直接根据视觉数据做决定方面,仍远远不能与人类技能相提并论。最近,微软的人工智能研究人员发表了一篇论文,提出了一种迁移学习方法,从模拟环境中学习感知-行动策略,并将这些知识应用到自主无人机的飞行中。
学习根据感官输入来判断采取哪种行动的主要挑战来自实践操作,而非理论。近年来,强化学习和模仿学习等方法在这一领域显示出了巨大的潜力,但它们面对着真实世界中大量难以收集的数据时仍然无计可施。另一方面,模拟数据很容易生成,但通常无法在多样化的真实场景中提供安全行为。能够在模拟环境中学习策略并将知识外推到真实世界环境中,仍然是自主系统的主要挑战之一。为了推进这一领域的研究,人工智能社区为现实世界的自主系统创建了许多基准。其中最具挑战性的是第一人称视角的无人机比赛。
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
原文链接:
评论