今天,我们很高兴地宣布气球学习环境(BLE) 的开源版本,这是一个模拟现实世界控制平流层气球问题的新基准。BLE 是一个高保真模拟器,我们希望它能够为研究人员提供用于深度 RL 研究的宝贵资源。
保持站的平流层气球
平流层气球充满了浮力气体,使它们可以在平流层中一次漂浮数周或数月,大约是客机巡航高度的两倍。尽管平流层气球有许多潜在的变化,但在 BLE 中模拟的那种气球配备了太阳能电池板和电池,这使它们能够通过使用电动泵控制压载物中空气的重量来调整其高度。然而,它们没有办法横向推动自己,这意味着它们会受到周围空气中的风模式的影响。
通过改变它的高度,平流层气球可以在不同方向的风中冲浪。
BLE 中代理的目标是保持站位——即控制气球停留在固定地面站的 50 公里范围内——通过改变其高度来捕捉它认为有利的风。我们通过测量气球在指定半径内的时间分数来衡量代理在站点保持方面的成功程度,表示为 TWR50(即,在 50 公里半径内的时间)。
寻站气球必须在不断变化的风场中航行,才能停留在地面站上方。左:定位气球的侧视图。右:同一个气球的鸟瞰图。
站位保持的挑战
为了创建一个逼真的模拟器(不包括大量历史风数据),BLE 使用基于历史数据训练的变分自动编码器(VAE) 来生成与真实风的特征相匹配的风预测。然后使用风噪声模型使风场更加逼真,以匹配气球在现实条件下遇到的情况。
在风场中导航平流层气球可能非常具有挑战性。任何给定高度的风很少长时间保持理想状态,一个好的气球控制器需要在其风柱中上下移动以发现更合适的风。用 RL 的话来说,站位保持问题是部分可观察的,因为代理只能访问预测的风数据来做出这些决定。代理可以访问每个高度的风预报和当前高度的真实风。BLE 返回包含风不确定性概念的观察结果。
平流层气球必须探索不同高度的风才能找到有利的风。BLE 返回的观测结果包括风预测和不确定性测量,通过混合风预测和在气球高度测量的风来进行。
在某些情况下,气球的风柱中可能没有合适的风。在这种情况下,专家代理仍然能够通过风场中更迂回的路线飞向空间站(一个常见的例子是当气球以之字形方式移动时,类似于在帆船上进行定位)。下面我们展示了即使只是留在车站范围内通常也需要大量的杂技。
代理人必须处理长期的计划范围才能成功地保持站位。在这种情况下,StationSeeker(专家设计的控制器)直接前往站点保持区域的中心并被推出,而 Perciatelli44(RL 代理)能够提前计划并通过拥抱边缘保持更长时间的范围内该地区。
夜间为BLE中的站位保持增加了新的难度元素,这反映了夜间物理条件和电力可用性变化的现实。白天,气泵由太阳能电池板供电,而在晚上,气球依靠车载电池提供能量。在深夜使用过多的功率通常会导致黎明前几个小时的机动性受限。这是 RL 代理可以发现非常有创意的解决方案的地方——例如在下午降低高度以存储势能。
智能体需要在夜间有限的能量余量与站位保持目标之间取得平衡。
尽管存在所有这些挑战,但我们的研究表明,经过强化学习训练的代理可以学习比专家设计的控制器在站点保持方面表现更好。除了 BLE,我们还发布了我们研究中的主要代理:Perciatelli44(一个 RL 代理)和 StationSeeker(一个专家设计的控制器)。BLE 可以与任何强化学习库一起使用,为了展示这一点,我们包括Dopamine 的DQN 和 QR-DQN 代理,以及Acme 的QR-DQN 代理(支持使用Launchpad进行独立和分布式训练)。
BLE 上包含的基准代理的评估性能。“Finetuned”是经过微调的 Perciatelli44 代理,Acme 是使用 Acme 库训练的 QR-DQN 代理。
BLE 源代码包含有关如何开始使用 BLE 的信息,包括培训和评估代理、有关模拟器各种组件的文档以及示例代码 。它还包括用于训练 VAE的历史风场数据(作为TensorFlow数据集),以允许研究人员使用他们自己的风场生成模型进行试验。我们很高兴看到社区在这个基准上取得的进展。
致谢
我们要感谢 Balloon Learning Environment 团队:Sal Candido、Marc G. Bellemare、Vincent Dumoulin、Ross Goroshin 和 Sam Ponda。我们还要感谢 Tom Small 在这篇博文中出色的动画效果和图形设计帮助,以及我们的同事 Bradley Rhodes、Daniel Eisenberg、Piotr Staczyk、Anton Raichuk、Nikola Momchev、Geoff Hinton、Hugo Larochelle 和蒙特利尔大脑团队的其他成员。