摘要
自治系统(AS)通过不断观察周围环境的状态并朝着目标采取行动来执行复杂的任务。成群的AS协同工作比单个AS单独工作能更快更有效地完成任务。为了建立今天的集群,开发人员手工制作他们自己的软件,用于存储、聚集和从观察中学习。我们展示了Fleet Computer,一个开发和管理集群的平台。Fleet Computer提供了一种编程范式,简化了多智能体强化学习(MALL)——一种协调群体智能体的新兴算法。仅使用程序员提供的两个函数Map()和Eval(),Fleet Computer编译和部署集群,并不断更新控制动作的强化学习模型。为了节省计算资源,Fleet Computer优先调度有助于有效行动的模型,在在线学习和资源管理之间建立了新的联系。我们为农业领域的无人机和城市交通的视频分析开发了群集。与单个无人机相比,我们的群使用4架无人机实现了4.4倍的加速,使用130台摄像机实现了62倍的加速。与实践中广泛使用的构建集群的竞争方法相比,我们的集群效率提高了3倍,能耗降低了3.9倍。
概念介绍
- 自治系统
- 不断感知它们的环境,模拟它们当前的状态,并朝着一个目标采取行动。
- 集群
- 为一个共同目标而努力的群体,相比自治系统单独工作,群可以加快任务执行速度。
- 首先,任务可以被划分成任务群成员并行执行。
- 第二,群体成员可以分享他们对周围环境的观察,以帮助其他成员采取有效的行动。
- 多智能体强化学习(MARL)
- 智能体学习他们自己的强化学习策略,但他们也可以从其他智能体的行为和结果中学习。
- MARL系统的开发和管理并不简单;他们需要自动化系统工作流程的基础设施,选择最大似然法算法和奖励功能,以及数据管理策略。很少超越理论研究或带有定制组件的高度专业化的应用。
- Fleet Computer
- 一个开发和管理MARL驱动集群的平台。为了在Fleet Computer中编程自动化系统。
- 开发人员提供了两个功能:Map()和Eval()。Map()转换所感测的观测值(例如,图像)到应用特定的特征向量(观测任务的特征向量)。Eval()根据系统特征向量上下文评判任务是否完成。
- Fleet Computer编译管理自主行动的MARL模型,从群体成员那里收集数据,并重新训练控制行为的模型。然而,再培训强调边缘站点的有限计算资源。Fleet Computer优先考虑对有效行动最有用的模型的再培训。在在线学习和资源管理之间建立了一个新的联系。还通过任务循环扩展和收缩边缘计算资源,以节省能源和减少过度配置。
- Fleet Computer还提供了对整个群支持基础设施的端到端控制、部署和调度——从单个群单元(如无人机)到支持边缘的异构计算资源。
本文贡献
- 一个编程模型和工具链,允许用户轻松构建MARL驱动的集群----Fleet Computer将MARL驱动的自动化系统建模为三个异步组件:传感器、自动化系统工作流和数据聚合。
- 一种新颖的在线学习方法,用于聚集群体成员的观察结果,并动态更新控制行为的模型—聚合数据再训练、优先考虑最有用的模型。
- 一个运行时平台,管理、调度和循环边缘计算资源,简化部署----统一可拓展的平台,从单个无人机、摄像机或其他智能体扩展到一个完整的集群。
实验验证
- 开发了一群无人驾驶飞行器,用于根据飞越图像预测作物产量。我们的作物产量绘图应用程序的性能优于最先进的产量绘图,使用少于3.9X的无人机功率将绘图时间缩短了4.4倍。
- 我们还开发了一个使用一群自主摄像头的出租车跟踪工作负载。我们使用Fleet Computer构建的车辆跟踪工作负载优于以前的工作,与集中处理相比,作为一个群体跟踪出租车的速度提高了62倍。
- 同时通过定期更新模型保持了良好的性能。使用这些应用程序,我们证明了运行FleetComputer软件的计算集群可以轻松地从单个无人机、摄像机或其他智能体扩展到一个完整的集群,该集群可以从其行为中学习,同时动态分配资源以满足需求并节省宝贵的边缘资源。
行文流程
- 第2节在高层次上描述了Fleet Computer的总体设计。
- 第3节详细介绍了我们的编程模型,它允许用户轻松构建表现良好的自治集群。
- 第4节讨论了FleetComputer的运行时,包括基于优先级的在线学习方法,以在环境变化时保持模型性能,以及群集自动缩放,这在不牺牲性能的情况下节省了边缘功耗。
- 第5部分包括两个Fleet Computer实现:视频分析和自动作物侦察。
- 第6节介绍了Fleet Computer在这两种应用中的结果。
- 第7节介绍相关工作。
- 第8节提供结论。
背景
自动化系统可以通过两个关键的设计选择来表征:
- (1)他们从自己的观察中学习吗?
- (2)他们是否从其他自动化系统的观察中学习?
- 通过强化学习,自动化系统可以从以前的观察中学习。然而,在实践中,自治系统观察世界的速度太慢,无法获取足够的学习数据,尤其是在最佳行动发生变化的动态环境中。
- 最近的研究开发了在线算法来探索具有可证明的保证和/或强有力的经验结果的数据聚合。集群也需要额外的计算资源。为了共享数据,集群成员必须联网,探索数据聚合还需要额外的计算资源。
作物产量建模的自主无人机:
- 4架无人机,通过运行在4台平板电脑上的应用程序进行控制。平板电脑和边缘集线器台式机共享无线互联网连接。
- 任务是在1000英亩的土地上绘制每0.01×英亩的预期作物产量图,精确度在80%以上。
- 通过强化学习,通过不断地对地图的预期精度进行建模,并对下一步要访问的有价值的航路点进行优先排序,自动化系统可以访问更少的航路点多智能体强化学习自治系统通过使用共享图像访问更少的路点来改进简单的强化学习
设计
为了创建自动化系统,实现了两个函数,Map()和Eval()
- Map()函数转换来自传感设备(如摄像机、全球定位系统等)的量化输入。)转换成表示自动化系统状态的特征向量。
- Eval()函数汇总了一个时期内Map()调用的所有输出,并评估任务完成的程度。
任务配置定义了可以跨集群应用程序调整的关键参数
- 图1描述了任务配置设置的三个例子。
- 首先,开发人员可以提供阈值来确定任务何时完成。默认情况下,Fleet Computer支持精度和能源使用阈值。
- 其次,开发人员通过规定量化要求来指定感知、处理和数据聚合所需的资源类型,例如Map()执行所需的CPU和内存。
- 第三,用户提供定性需求,例如对特定行动驱动因素的支持。动作驱动程序支持网络物理系统的动作,例如起飞、降落、感知和飞往航路点。
挑战是在运行Map()和Eval()后决定采取哪些操作
- 通过(1)重放来自先前执行上下文的数据,以及(2)学习改善Eval()结果的有效动作,Fleet
Computer自动构建状态到动作(SA)模型和历史到动作(HA)模型。SA模型将单个地图输出转换为动作,而HA模型转换多个观察到的输出。
Fleet Computer将MARL驱动的自动化系统建模为三个异步组件:传感器、自动化系统工作流和数据聚合。
- 一个数量为N的集群,包括N个传感器和作为容器,拥有2NData聚合容器(代表聚合的每一种可能的组合)。显然,数据聚合容器强加了超出系统容量的计算需求——这是所有MARLdriven方法共同面临的挑战。
- 对于小群集(N≤8),Fleet Computer部署所有数据聚合容器,并采用新颖的、基于优先级的在线学习和调度来管理计算需求。
- 对于更大的集群,Fleet Computer支持开发者提供的启发式算法来限制聚集。
强化学习
-
强化学习方法决定了近似马尔可夫决策过程(MDP)最优解的策略。MDP包括状态S、行动A、转移概率函数P→SA→δ(S)、奖励函数R(Si,Ai、Si+1)定义了智能体从执行行动中获得的即时奖励,以及折扣系数r。pi策略用来决定在一个给定的状态采取什么行动来过渡到另一个状态。最优策略pi是导致一组状态转换的策略,它使总体回报最大化。
-
MDPs是解决简单状态转换问题的有用工具,但是Fleet Computer任务对于这个框架来说太复杂了。
-
考虑第2节中的作物产量建模示例。作物侦察是一项复杂的工作,执行环境会随着时间的推移而变化,奖励也很难定义。如果系统根据它在每个状态预测的估计产量得到奖励,它可能会根据奖励的分配方式过度或不足地预测产量。此外,即使奖励分配得当,随着作物的生长和条件的变化,状态和转移概率也可能随着时间而变化。在许多情况下,最优策略几乎不可能事先确定。对于这些任务,强化学习被用来开发pi∗′≈pi∗,一个在最大化奖励的同时导航执行环境的近似最优策略。
-
本文采用强化学习算法为Q-learning。
将强化学习算法转换到多智能体领域
- 一种方法是构建谨慎的全局奖励函数。
- 另一种方法是团队平均奖励,给定具有不同和潜在不一致奖励功能的智能体,使系统收到的奖励最大化。这种类型的MARL算法被称为马尔可夫博弈(MGs)。MGs通过添加多个智能体来扩展MDP,由N ≥ 1定义。每个智能体i ∈N都有自己的行Ai和奖励Ri。
Fleetspec-Fleet Computer应用的最低规格
- FleetSpec避开了状态转移概率和奖励函数。 首先,Fleet.
- 开发人员可以重用他人创建的动作驱动程序。动作驱动程序可能支持开发人员不知道的状态,使得状态转换模型不完整。
- 其次,构建数学奖励函数具有挑战性。现实世界的自动化系统承担着涉及复杂的、特定领域知识的任务。他们行动的价值可能是微妙的,可能取决于先前的行动,需要复杂的非线性奖励功能,使自动化系统的开发过于复杂。相反,Fleet Computer通过训练和奖励形成自动学习状态到行动(SA)模型和历史到行动模型(HA)。这些模型代表了pi∗′.的近似值,Map()和Eval()函数,加上先前任务C的代表性观察,足以编译初始MARL模型和奖励函数。
Map()函数
- AS从传感器容器中获取输入数据。输出是一个特征向量,称为状态空间向量(SSV),它描述了系统当前状态下的感知观测值。准确地说,Dj是在状态Si观察到的传感器数据,Map(Dj)直接将其转换为SSV,如下所示。
- 通过发出结构化的SSV,Fleet Computer中的Map()函数可以组成多个提取器函数,这些函数处理一部分感测数据并发出一部分SSV。
- 我们的作物侦察示例的提取函数如图2所示。
- ExG()绿色度(一种预测作物产量的度量标准),
- LIA()估计图像中作物的叶面积指数,以及CNN统计图像中玉米秸秆的数量。
- 这些提取器中的每一个都提供了关于执行上下文的重要信息,这些信息可用于构建最终产量图和预测采样的最佳操作。这些提取器中的每一个都返回一个或多个浮点值,这些值被添加到最终的SSV中。
Eval()函数
- Eval()决定了一个自动化系统是否以及在多大程度上实现了它的目标。
- SSV状态空间向量组
- m:评估指标数量
- P完成估计值
作物侦察
- 评估指标可能包括系统执行时间、准确性、能源消耗、货币成本和任何其他决定实际表现的指标。
- Eval()接受两个参数,系统收集的所有ssv的特征集,以及每个智能体的一组性能指标。
- 首先,我们使用HA模型通过探索所有状态组来确定任务是否已经结束。如果任务完成,通过将每个SSV的ExG映射成产量,将FS转换成地面真实产量图,生成最终产量图。使用先前工作的方法外推未观察到的区域。接下来,Eval()使用每个智能体的性能指标来构建一组可用于目标评估的全局指标P.最后,Eval()会根据高可用性、评估指标以及可能返回给用户的最终产量图,返回一个布尔停止条件。
State-To-Action(SA) and History-To-Action(HA) 模型
- 设计MARL策略和奖励函数是一个复杂的问题,有许多情境解决方案。智能体采取的每项行动在被选择之前都必须由策略进行评估,如果采取了,则分配奖励。
- Fleet Computer的模型训练和奖励形成步骤简化了这一过程,允许没有预定义模型或奖励功能的用户选择自动构建它们。在FleetSpec中,执行上下文被定义为C。Map()和Eval()与自治目标相结合,允许智能体像真实世界一样导航这些环境,Map()从给定的状态中提取数据,Eval()确定自治目标是否得到充分实现。
- 状态到动作模型(SA)是空白的或预处理多智能体强化学习模型.SA接受SSV作为输入并返回一个动作。服务协议并不严格绑定到任何RL或MARL模型格式,而是通用的。默认情况下,Fleet Computer支持Q-learning,Fleet Computer对SA的唯一限制是它必须接受Map()生成的SSV作为参数。
- 历史到行动模型(HA)为服务协议模型提供了空间支持。HA模型确定自动化系统是否在其执行环境中实现了目标。当自动化系统探索其执行环境时,可以排除或推断一些低相关性的状态,以节省时间、精力和计算资源。HA模型决定了每个组中探索的状态数。在状态组中的一个状态被访问之后,该组中每个被访问状态的特征向量被提供给HA,以确定是探索该组中的另一个状态,还是访问另一个组。如果系统决定访问另一个状态组,则该组中所有未探测的区域都将被Eval()忽略或预测。