谷歌的Loon气球是如何利用深度强化学习有效穿越平流层的?

作者:Salvatore Candido

Loon和Google AI如何实现世界上第一次在量产航空航天系统(a production aerospace system)中应用强化学习算法。
驱动一个超压气球穿过平流层只有两个简单的选择:上升或下降。尽管如此,巧妙地驾驭气球还是很复杂的。由于各种原因,导航特别适合于自动化¹,在Loon上,我们一直大力利用自动化系统,努力高效地将气球引导到需要连接的人和地方。
因为气球随风飞行,所以在一种非常真实的方式中,我们所能希望做的就是有效地在平流层中漂移。即使采用传统的方法,反射性地遵循特定的,有界的算法调动出来的飞行轨迹有时很有趣,甚至非常漂亮。
当我们发布关于我们100万小时的飞行和有趣的紧急导航行为时,什么是人工智能的话题摆在我的面前,因为那时,我们刚刚启动了基于深度强化学习的飞行控制系统的处女航。
在我们为我们的平流层连接任务改进Loon导航系统的持续努力中,Loon和谷歌AI的一小群同事一直致力于开发一个利用深度强化学习(RL)的更强大的导航系统,它是一种机器学习技术,使智能体能够在交互环境中利用自身行为和经验的反馈进行反复学习。这与自动化系统遵循工程师手工制作的固定程序的传统方法形成了对比。
当我们第一次开始探索这项技术的时候,我们并不总是清楚RL对于长时间自主穿越平流层的高空平台是否可行。结果表明,RL对于平流层气球群是可行的。如今,Loon的导航系统最复杂的任务是通过一种算法来解决的,这种算法是由计算机在模拟气球导航的实验中学习的。
据我们所知,这是世界上第一次在量产航空航天系统中部署强化学习。今天,我们很荣幸与大家分享我们如何在自然界中取得这一突破性成果的技术细节,并在这篇文章中讨论为什么RL对Loon如此重要,以及我们将世界各地的人们联系起来的使命。
导航气球变得越来越复杂
驾驶气球穿越平流层一直很困难。如本文所述,该系统必须应对时变风、气球周围风场的局部可见度、复杂的系统模型和约束条件,如并非总是有足够的功率进行理想的机动;以及在长期规划范围内的频繁决策机会。在我们的传统导航系统⁵中,即使通过大幅简化问题(读作:用导航性能换取更简单、计算效率更高的算法),问题仍然非常复杂。在传统体制内推动更大的进步和效率已经达到了复杂的程度,坦率地说,这让我们大家都很头疼。
除了这个令人头痛的问题,我们的挑战不仅仅是更好地解决同一个任务(尽管这很重要)。在考虑整体连通性任务时的其他挑战——例如飞行系统星座的低空协调、导航具有增强能力的新高空平台,以及调整当前战术以处理Loon多样化产品线所需的新类型导航目标——增加了任务的复杂性任务。
强化学习是一种用来解决这些挑战的有趣技术。它不仅使我们能够比我们现在使用的人类设计的算法更好地操纵气球,而且能够迅速应对这些新的挑战,使我们的导航系统能够管理新飞行器和不同用途的“loon”舰队。RL已经存在了很长一段时间,但由于以深度神经网络的形式注入了高容量函数逼近器,该领域经历了一次复兴。
在深度学习的世界中“梦游”
几年前,我们启动了代号为“梦游计划”的Loon 导航RL项目,这是Loon和谷歌人工智能团队在蒙特勒尔的一次秘密合作。利用我当时的一些朋友和同事,我们决定让团队再次聚在一起,尝试一些疯狂的东西。谷歌人工智能不仅容纳了地球上一些最杰出的人,而且他们的团队也有跨 Alphabet 工作的自由度,而且,像我们一样,他们喜欢做疯狂的事情。这次合作非常合适。
为了证明RL在平流层气球导航中的可行性,我们的第一个目标是展示我们可以用机器学习一种替代我们当时的导航控制器的方法。坦率地说,我们想确认,通过使用RL,一台机器可以建立一个导航系统,相当于我们自己建立的。在高层次上,我们的方法是建立一个新的分布式训练系统,该系统利用Loon专有的平流层气球模拟和一个学习者使用分布式Q-learning⁶来理解数千万个模拟飞行小时。所学习的用于飞行控制的深度神经网络被适当的安全保证层包裹,以确保智能体安全驾驶。
通过我们的模拟基准,我们不仅能够复制,而且利用RL大大改善我们的导航系统。是时候开始真正的飞行了。
梦游到现实世界(机器:1/Sal:0)
尽管现在强化学习让人兴奋不已,但在像Loon这样的生产型航空航天系统中,大规模部署强化学习以实现持续运行,这在以前从未实现过。尽管新方法在我们的仿真中取得了成功,但由于仿真与真实世界的差异,RL系统面临的一个共同挑战是从仿真过渡到真实系统。我们第一次飞行演示的目的是评估这是否会成为一次表演。
2019年7月,我们在秘鲁上空的平流层中,用这个代号为cannelloni7⁸的机器学习控制器驾驶了一个loon气球。作为对比,我们使用老一代的导航系统一种叫做StationSeeker的算法在附近驾驶另一个loon气球。在整个试验过程中,两个系统都能够完全自主运行,无需任何人为干预。
为了测试RL和StationSeeker的有效性,我们测量了两个气球在一段时间内与Loon的Romer盒子的距离,这是我们用来测量LTE服务水平的一种设备。从某种意义上说,正是这台机器它花了几周的时间构建了它的控制器——而我则是和我的团队一起,花了很多年的时间仔细地微调了我们传统的控制器,这是基于十年来使用气球的经验。我们很紧张…希望我们能够输掉这场比赛。
cannelloni7不仅仅能通过算法实现在真实(非模拟)平流层中的有效导航,它的性能还超过了传统的系统,在整个测试过程中,它减少了气球的漂移,使气球始终靠近Romer盒子。机器1,Sal 0。您可以在下面的图表中看到结果。
更有趣的是我们观察到的主观事物。虽然人们可能认为纯机器学习的系统比手工设计的系统要“粗糙”,但我们观察到的情况恰恰相反。左下方是StationSeek轨迹的片段。对比右侧同一时间段的梦游轨迹,你可以看到一条更加平滑的飞行轨迹。完整地说,它几乎更接近于你所期望的人类控制。
我和我的同事Sameera Ponda一起观看了测试过程。当我们研究“loon”的导航系统时,两个人一直盯着漂浮在平流层⁹的气球,我们对早期RL测试中观察到的一些优雅行为感到惊讶。看到这个系统已经学会了在一个高度局部化的风场中平稳地定位,我们就清楚地知道RL是有效的。
由RL控制器产生的高度局部跟踪模式图。
太平洋上空39天
接下来我们着手做一个更系统、更全面的测试¹⁰。我们在太平洋平流层的赤道位置部署了代号为perciatelli44¹¹的最新版本的新学习控制器,在那里传统的导航系统被认为表现出色。实验参数与我们进行的第一次测试相似,目标是保持在一个确定地点50公里以内。测试进行了39天,RL控制器驾驶一组气球飞行了近3000个小时。结果非常好。
总的来说,RL系统更经常地将气球保持在所需位置的范围内,同时使用更少的能量。显然,loon离一个特定地点越近越好,因为它能为那里的人们提供更稳定的服务。然而,电力使用几乎同样重要。loon系统是太阳能驱动的系统,收集的能量是一种珍贵的商品。它不仅为导航提供动力,而且还为通信设备提供动力,以达到驾驶目的。用更少的能量来控制气球意味着更多的能量可以连接人们到互联网、信息和其他人。
我们注意到一些非常有趣的图案。这是一个龟兔赛跑的情况,StationKeeper倾向于直奔目标,perciatelli44采取更慢,更稳定的做法。正如寓言中所说,这些差异反映了实现这一目标的两种根本不同的方法。StationKeeper一开始就进入状态,试图更快地接近目标位置,经常飞过,需要倒车。有趣的是,这正是我们熟悉的需要使用图8模式的场景。
相比之下,perciatelli44并没有尽可能频繁或快速地接近目标位置,而是更专注于简单地留在目标区域内,尽可能被动地驻扎。这种方法消耗的能量要少得多,在其他情况下也可以利用,比如一旦完全偏离范围,就需要进行更重要的机动。
RL投入批量运行
确认性能后,我们开始启动深度学习控制器进入正常运行。从做一次某件事情到所有的时间都在大批量复制,通常有大量的工作要做,这是一个工程常数。在这种罕见的情况下,转换快速而顺利地进行,几乎在每个方面上都有性能改进。
我们发现RL非常适合于实际批量系统的规划和控制。虽然在进行更多计算(评估替代动作序列)来规划更高质量的决策和使用简化模型(如线性化控制器)来适应更小的计算包线之间通常存在权衡,但RL将大部分昂贵的计算转移到agent训练。这意味着大部分繁重的计算发生在飞行开始之前。在整个飞行过程中,我们的机队控制系统只需要运行一个“廉价”的功能,即当气球在平流层中漂移时,一分钟接一分钟地运行一个深度神经网络。在前文我们讨论了气球的有效移动,但是这个计划系统的批量数据中心工作负载赋予了短语“有效漂移”的第二个含义。
我们的导航系统在实时关键路径中的简单计算任务所产生的复杂、高质量的行为,为解决以前不实用的气球群的复杂编队开辟了新的可能性。
这个气球是人工智能吗?
在尼尔·阿姆斯特朗看来,这一看似简单的基于RL的气球飞行的小步对loon来说是一个巨大的飞跃。这种方法的关键区别在于,我们不是在建造一台真正擅长引导气球穿过平流层的特定导航机器,而是在建造一台能够利用我们的计算资源,来建造最初由我这样的工程师设计的导航机器的机器。除了超越工程师所能创造的质量之外,这种方法还允许我们扩展到比一小群人在传统时间尺度上使用传统方法所能完成的更复杂和众多的任务。要利用高空平台为几十亿未联网的人中的更多人带来互联互通,质量和规模都是必需的。
Loon和Google人工智能团队希望,在Loon之外,我们在平流层导航方面的工作可以作为一个证据,证明RL可以用来控制复杂的、真实世界的系统,从而实现基本的连续和动态活动。我们认为loon的区域驻留任务突出了RL的一些方面,这些方面是团队需要解决的重要开放研究问题。关于Loon,我们将继续与我的同事Marc Bellemare领导的Google AI Montreal RL团队合作,不仅改进平流层气球的导航,而且帮助影响RL领域如何发展,以用于越来越多的像Loon一样的系统。
在我上一篇关于loon的导航系统的文章中,我问了一个问题:我们是否在和人工智能打交道。我的回答是不确定的。这次我的回答更加微妙。虽然一个在平流层中高效飘浮的超压气球不可能变得有知觉,但我们已经从自己设计它的导航系统过渡到让计算机以数据驱动的方式构建它。即使这不是阿西莫夫小说的开头,这也是一个好故事,也许是值得称之为人工智能的东西。
阅读这项工作的技术细节,请参阅我们在《nature》上发表的论文。
¹气球导航需要分分秒秒地关注细节,必须观看缓慢移动的气球(就像在平流层那么高的高度看着油漆慢慢变干)、大量数据的持续同化和漫长的规划视野。这些因素使得这个问题更适合机器人而不是人类导航。
²我们的飞行时间记录是312天,通常我们的气球会在高空停留数百天。
3我们只直接观察气球位置和航迹上的风。数值天气模型的预报虽然是科学和工程的奇迹,但并不总是准确的。
⁴如果我们要评估每一个可能的决策序列,我们需要检查3960个不同的备选方案,而不是开始考虑我们检查的结果会有不确定性,因为我们对风并不是完全的了解。如果我们把这当作一个搜索问题,不用说,即使有积极的改善和启发式优化算法帮助排序,我们最终得到的也可能是个次优解。
⁵Loon的传统导航系统融合了高斯过程等机器学习技术和传统控制理论,多年来,我们利用专家构建了极其有效的控制规则。
⁶Q-学习是一种算法,通过在agent考虑的特定情况下(Q-函数)创建每个动作的优度表示(Q-函数)来决定要采取什么动作,Q-函数是通过经验学习的。分布式Q学习是我的同事Marc Bellemare和他的合作者Will Dabney和Remi Munos在Deepmind开发的一种变体,它考虑的是结果的分布(概率意义上),而不是预期的结果。
⁷这个挑战众所周知,它有一个特定的名字:sim2real gap(从仿真到现实的鸿沟)。
⁸由于我和同事龚军之间的一个奇怪的内部笑话,RL系统所有主要的飞行控制器释放都是以一个面食命名的。
⁹可能没什么好写的。
¹⁰一场比赛可以是随机的,但在整个赛季的过程中,最好的球员和球队脱颖而出。
11再加上意大利面。
¹²其中一个飞行器,巧合的是,我们创纪录的312天飞行系统,可以在《自然》论文附录中学习控制器飞行路径16中看到。
¹³RL用于许多物理系统,但不经常用于长时间和难以按下重置按钮的情况。
(0)

相关推荐