多智能体协作场景下基于强化学习值分解的计算卸载策略
2021-07-16张鹏田辉赵鹏涛贺硕童一帆
张鹏,田辉,赵鹏涛,贺硕,童一帆
(1.北京邮电大学网络与交换技术国家重点实验室,北京 100876;2.郑州大学信息工程学院,河南 郑州 450001)
1 引言
随着大数据和人工智能技术的突破和融合,未来整个社会将向数字化和智能化转型。数字孪生世界为人工智能的应用提供了广阔的场景,同时也推动了移动通信技术向6G 演进和发展[1]。智能交互场景,尤其是智能制造核心装备的工业机器人间的智能交互作为6G 网络的全新应用场景,受到了学术界和工业界的广泛重视。根据国际机器人联合会(IFR,International Federation of Robotics)最新发布的《全球机器人2019−工业机器人》报告显示,2018 年全球工业机器人出货量为42.2 万台,2020 年至2022 年全球机器人年出货量增长率将会达到12%[2]。文献[3]指出,到2030年,中国预计投入使用的机器人数量将达到1 400 万台。
位于网络边缘侧的机器人/智能体是融合计算、存储、应用等核心能力的重要载体和平台,可以就近提供边缘智能服务。近年来,研究人员试图使机器人执行一些更加复杂的工作,如实时交互、灾区救援等。然而,目前的机器人大多是孤立的且自主智能能力较弱,同时受到尺寸和电池容量的限制,难以应对复杂多变且非结构化的自然环境、计算密集型的任务以及6G 时代对自然交互的需求。为了进一步提高机器人执行任务的能力,Kuffner[4]于2010 提出了“云机器人”的概念,通过借助互联网技术和云计算技术,使机器人从云中的计算、存储、通信等资源中受益,打破了机器人与人工智能之间的壁垒,成为目前机器人领域的研究热点。如何有效地进行云机器人计算任务的卸载是需要解决的关键问题[5]。
对于边缘云架构下的卸载研究,文献[6]研究了上下行流量差异化系统中基于上下文感知的上下行带宽动态配置与基于凸优化的计算卸载策略。文献[7]将计算卸载问题分解为基于拟凸优化的计算与通信资源优化问题、基于启发式的终端卸载决策问题。文献[8]针对网络信息的时效性,考虑了网络随机到达、无线信道与有限的空口资源,利用李雅普诺夫优化实现了吞吐量与公平性兼备的计算卸载调度。文献[9]针对恶意竞争不规范行为带来的不合理资源配置,构建了基于信誉值的博弈模型,通过改进粒子群算法和拉格朗日乘数法优化单MEC(mobile edge computing)服务器下的终端卸载方案。文献[10]引入D2D(device to device)协作中继,基于博弈论设计了针对多用户场景中上行通信拥塞、D2D 复用干扰、边缘计算资源受限和云计算回程时延等因素的卸载方案。文献[11]研究了移动边缘计算系统中设备周期性地产生计算任务时进行卸载决策的场景,在该场景下证明了纳什均衡的存在并提出相应的分布式均衡算法。
对于多任务流程,文献[12]基于任务图分割方法优化物联网场景下的任务卸载决策,在满足设备 QoS(quality of sever)需求后尽量减少物联网终端个体对边缘服务器的资源消耗。文献[13]同样基于任务流程图的架构,设计深度强化学习方案对单设备多任务流程场景下的移动设备的能耗和任务执行时间进行智能卸载决策。在移动场景中,文献[14]考虑终端设备的移动性和计算节点的可迁移性,构建可迁移的移动计算框架,将问题转化为马尔可夫决策过程,并通过深度Q 网络(DQN,deep Q network)对单设备的计算卸载和迁移决策进行优化。文献[15]在车载边缘计算网络架构下考虑车载终端纵向协作和横向协作,通过异步分布式强化学习算法优化用户任务卸载决策及计算和缓存资源的调度。文献[16]在车载边缘网络下设定不同车辆任务的优先级,利用深度Q 网络实现车载终端用户任务执行时延、处理速率与能耗的均衡卸载算法。涉及安全性时,文献[17]在区块链赋能的场景下提出了基于信任值的深度强化学习卸载方案,通过选择中继节点增强系统的可靠性。文献[18]在区块链赋能的边缘异构计算系统下,通过拉格朗日对偶理论联合优化通信及计算资源受限下的系统效用,解决区块链计算任务和用户卸载计算任务。
同时,部分文献展开了对智能交互场景下的云机器人计算卸载的研究。文献[5]假设所有机器人具有同构的处理能力,并基于遗传算法提出了最小化机器人能耗的计算任务卸载方案。文献[19]基于改进的遗传算法提出了一种云机器人计算任务卸载、路径规划以及接入选择的联合优化方案以最小化机器人能耗。文献[20]利用博弈论研究了多智能体场景下的计算卸载和路由转发问题,并证明了纳什均衡的存在。文献[21]考虑了不同任务对时延的敏感程度,提出了一种用户偏好感知的计算任务卸载及带宽资源分配方案,有效缩短了任务的执行时间并节省了系统成本。文献[22]将云机器人的深度学习计算任务构建为一个非协作博弈模型,并提出了相应的启发式算法以平衡本地计算和云计算之间的负载。
文献[4-22]对云机器人计算任务卸载的研究做出了很大的贡献,然而上述研究尚有一些不足之处。1) 存在场景适应性问题。上述研究大多是针对确定性优化场景,应用范围具有局限性。2) 未充分考虑本地计算和云计算之间的负载均衡问题。机器人对获取执行操作的实时性要求很高,过多依赖于云计算将导致高时延响应,影响任务的实时执行。3) 大部分忽略了机器人/智能体之间的协作交互与数据共享。机器人/智能体在做决策时不能仅依赖于自身信息,还应考虑其他机器人/智能体的数据情况。
为了解决上述问题,本文针对未来6G 网络应用中出现的智能设备交互场景,提出了一种基于多智能体深度强化学习的云−端联合资源调度方案。所提方案能够在联合计算卸载任务中,结合任务的实时性需求和设备状态的多样性条件,利用边缘计算资源,根据当前时刻智能设备的状态和任务特点自适应地调整本地计算和云计算之间的负载。同时,通过多智能体间的数据共享,有效提升智能交互场景下多智能体之间的协作效率。本文主要的研究工作具体总结如下。
1) 针对未来网络中智能交互场景,本文考虑智能设备实时操作的协作运算特性,构建基于值分解的多智能体DQN 计算卸载策略,解决该场景下多智能体联合动作优化问题。
2)在所设计的基于值分解的DQN 模型中,针对多智能体联合动作维度爆炸的问题,通过将系统整体成本函数分解为个体函数的加和近似,成功将分布式网络结构拟合为系统成本函数。
3)所提策略可以在大量多智能体联合动作策略优化场景下进行训练,并满足该场景下系统的实时性需求,同时对系统函数的趋势拟合符合预期,成本函数在多场景下较对比策略减少16%。
2 系统模型
本文考虑多个接入点(AP,access point)服务多个智能体(agent)的网络系统,其中所有接入点通过有线连接方式接入网关设备(GD,gateway device),接入点与智能体之间通过无线方式进行连接。如图1 所示,系统中部署M个接入点,接入点集合表示为M={1,2,…,M}。接入点i∈M服务Ni个智能体,该接入点所服务的智能体索引集合表示为Ni={(i,1),(i,2),…,(i,Ni)},其中1≤Ni≤Nmax,Nmax表示一个接入点能够服务的智能体数量的最大值。此外,本文中的智能体在每一时刻只能与一个接入点相连。系统中存在M个相互正交的无线子信道,每个子信道的传输带宽为W,每个接入点占用一个子信道。每个接入点采用时分多址(TDMA,time devision multiple access)方式为多个智能体提供服务。边缘服务器部署于接入点和网关设备,其整体构成边缘云为系统提供丰富的计算、存储等资源,边缘云的总计算资源为F。单个智能体所具有的计算资源相对较少,接入点i所服务的第j个智能体的计算资源量表示为fi,j。系统符号说明如表1 所示。
图1 研究场景示意
表1 系统符号说明
为了实现系统中智能设备的自动运行,需要系统充分利用网络边缘计算能力、信道传输带宽和自身计算能力来实时计算出每个智能设备的合理操作,从而完成系统整体任务并保证系统的稳定性。在本文的交互场景中,计算一个智能设备的操作不仅需要基于智能设备自身的参数数据,而且需要其他部分或全部智能设备的参数数据(如智能工厂内各监测摄像头的图像监测数据和机械臂的操作姿态数据,智能农场内各农田的温度、湿度监测数据和化学指标数据),从而为实时操作的计算提供充足且合理的信息。在一个采样周期内系统需要完成包括同步、感知、通信、计算、通信、执行的闭环流程,其中同步、感知和执行等环节在系统中具有其独立的时延设计和时延标准,与本文的优化研究内容相对独立。本文主要研究感知之后到执行之前的通信和计算环节。一个智能设备的参数数据包括自身当前状态信息以及片上传感器感知的局部环境信息等。Di,j,t表示接入点i所服务的第j个智能设备在第t个采样周期内的参数数据量的大小。Ωi,j,t={(i,j),Ωi,j,t(i,j)}表示智能设备(i,j)在第t个采样周期内实时操作所需参数数据的智能设备集合。系统中存在2 类计算资源,即边缘云的计算资源和智能体的计算资源。因此,智能设备(i,j) 计算第t个采样周期内实时操作时有2 种策略,xi,j,t∈{0,1}。具体地,xi,j,t=0表示由智能设备自身计算其实时操作;xi,j,t=1表示由边缘云计算智能设备(i,j)的实时操作。
2.1 边缘服务器执行
当全部智能设备的实时操作由边缘云来计算时,一个采样周期内的系统流程包括同步、智能设备感知、智能设备到边缘云的通信、边缘云计算、边缘云到智能设备的通信、智能设备的执行。
智能体(i,j) 与接入点i之间的吞吐率为
其中,表示智能体(i,j)的发射功率,hi,j,t表示智能体(i,j)与接入点i之间的信道增益,N0表示加性白高斯噪声的单边功率谱密度。智能体(i,j)上传其参数数据的时间为
接入点i下所有智能体总的上传时间为
系统中所有智能体总的上传时间为
在智能体到边缘云的通信过程中,所有智能体发送数据的能量消耗为
所有接入点接收数据的能量消耗为
其中,ηi表示接入点i接收数据时每秒消耗的能量。
全部接入点接收完数据等同于边缘云接收完数据。由于接入点与网关设备全部通过有线方式连接,并且边缘服务器与接入点和网关设备共址部署,参数数据由接入点传到边缘云计算单元的过程非常快,不会对优化问题产生影响。因此在建模当中省略该部分的时延和能量消耗。假设计算实时操作的计算量与其基于的参数数据量大小成正比,即智能体(i,j) 的实时操作的计算量为
其中,Ki,j为正实数。边缘云计算全部智能体的实时操作的总计算时间为
在设备进行任务计算时,影响CPU 功耗的因素包括动态功耗、短路功耗和晶体管漏电流引起的功耗,其中动态功耗是主要因素。动态功耗来源于CPU 内部逻辑门的工作。当逻辑门切换时,能量随着其中的电容器充电和放电而流动。边缘云计算的能量消耗为[23]
其中,κ为正实数,表示CPU 的有效开关电容,其大小与CPU 结构相关。本文假设系统中所有CPU的κ值相同。
边缘云计算出全部智能体的实操作之后,通过接入点向对应的智能体发送操作指令。智能体(i,j)的操作指令数据量表示为,j,t。接入点i向智能体(i,j)发送操作指令的下行吞吐率为
接入点i发送其下所有智能体的操作指令的总时间为
发送全部操作指令的总时间为
在边缘云到智能体的通信过程当中,所有接入点发送操作指令的能量消耗为
所有智能体接收操作指令的能量消耗为
其中,ηi,j表示智能体(i,j) 接收操作指令(或参数数据)时每秒消耗的能量。
因此,系统在智能体开始上传参数数据到所有智能体获得实时操作指令的时间长度为
对应的系统总能量消耗为
2.2 本地执行
当全部智能设备的实时操作由智能设备自身计算时,一个采样周期内的系统流程包括同步、智能设备感知、智能设备经过边缘云到智能设备的通信、智能设备计算、智能设备的计算单元到执行单元的通信、智能设备的执行。
智能体将参数数据发送至边缘云的过程如式(1)~式(6)所示,边缘云接收到全部智能体的参数数据之后开始向智能体转发参数数据。接入点i向智能体(i,j) 转发相应实时操作所需的参数数据的时间为
所有接入点转发参数数据的总能量消耗为
所有智能体接收参数数据的总能量消耗为
智能体在获得计算实时操作的全部参数数据后立即开始进行计算,智能体(i,j) 计算得到实时操作距边缘云获得全部参数数据的时间为
因此,从边缘云获得全部参数数据至所有智能体全部计算得到实时操作的时间为
所有智能体计算实时操作的总能量消耗为
因此,系统在智能体开始上传参数数据到所有智能体获得实时操作指令的时间长度为
对应的系统总能量消耗为
2.3 本地与边缘服务器协同计算
智能设备的计算分为2 种形式,一部分设备由边缘云计算其实时操作,另一部分由其自身计算实时操作。一个采样周期内的系统流程包括同步、智能设备感知、智能设备到边缘云的通信(智能设备经过边缘云到智能设备的通信)、边缘云计算(智能设备计算)、边缘云到智能设备的通信(智能设备的计算单元到执行单元的通信)、智能设备的执行。
边缘云接收到全部智能体的参数数据之后开始向策略中计划在本地计算的智能体集合={(i,j)|xi,j,t=0,∀i∈M且(i,j)∈Ni}中的智能体转发参数数据,同时开始计算集合∀i∈M且(i,j)∈Ni}中的智能体的实时操作。因此,边缘云计算中智能体实时操作的时间为
智能体(i,j) 计算得到实时操作距边缘云接收到全部参数数据的时间为
在接入点i发送操作指令前,需要边缘侧对其智能体对应的实施操作指令进行计算。依据系统设计,接入点i发送本地计算参数数据之后,由接入点i发送智能设备操作指令。接入点i开始发送操作指令距边缘云接收到全部参数数据的时间为
接入点i下的智能体全部获得实时操作距边缘云接收到全部参数数据的时间为
因此,从边缘云获得全部参数数据至全部智能体获得实时操作的时间为
接入点i向智能体(i,j) 发送数据(参数数据或者操作指令)的能量消耗为
智能体(i,j) 接收数据的能量消耗为
因此,所有接入点发送数据的总能量消耗为
所有智能体接收数据的总能量消耗为
所有智能体计算实时操作的总能量消耗为
因此,系统在智能体开始上传参数数据到所有智能体获得实时操作指令的时延为
对应的系统总能量消耗为
系统的成本函数综合考虑时延和能量消耗两方面,并将全部由边缘云计算所对应的时延和能量消耗作为基准时间和能量消耗进行无量纲化处理。系统的成本函数表示为
其中,β和1−β分别表示系统对于时延和能量消耗的偏好程度,通过调整β的取值可对系统时延或能耗的敏感程度进行调整。本文的优化问题通过对卸载决策xi,j,t的合理选择,实现对每次系统智能交互的计算过程进行针对成本函数的优化求解。优化问题为
其中,L={1,2,…,L}表示采样周期索引集合。对于每个策略生成的单次采样周期,周期的总时长为系统完成多智能设备联合策略指令分发的时间,与其计算卸载策略对应的能耗共同组成该次的系统成本函数。限制条件C1表示每个智能体获得实时操作只有2 种策略,限制条件C2 表示每个接入点服务的智能体数量上限,限制条件C3 表示每个智能体实时操作的计算至少需要自身的参数数据。
3 算法设计
问题式(41)是复杂的非线性0-1 规划问题,属于NP 难问题[24],难以采用传统数学优化方法快速得出优化解。考虑智能体自动智能运行场景存在实时演算和反馈执行的即时性需求,系统成本函数中包含时延。对问题式(41)求解使用较长的时间将严重影响整个系统的性能,过于冗长的计算时间会使计算指令失去有效性。除此之外,整个系统存在系统动力学的不确定性,传统数学优化方法难以直接处理。
区别于一般的监督学习与无监督学习,强化学习通过智能体与环境不断交互,获得动作奖励并构建自身的状态、动作空间。通过智能体自身在经验积累中学习的优化策略不断更新智能体的动作选择方案,这种学习方法能够很好地处理本文提出的优化问题。由于信道状态、任务请求的差异性等使环境因素动态变化、不服从某单一概率分布,无法提前获取状态转移概率,因此采用无模型的增强学习方法进行处理。当边缘云收集全部智能体信息集中式决策所有智能体获取实时动作的策略时,系统的状态空间和动作空间维度非常高,传统的表格化增强学习方法难以处理。神经网络作为一种能够拟合任意函数形式的工具可以有效地对高维输入状态空间进行处理,面对海量状态空间时通过值函数逼近的方法神经网络可以获取对应的有效状态动作值,是一种典型的处理高维度状态空间的方法。因此,本文采用DQN求解问题式(41)。
利用DQN 得到的价值函数网络,系统可以实时依据系统状态选择多智能体操作的计算位置。至此,系统成本函数优化问题转化为强化学习中的多智能体联合动作优化问题。本文利用贝尔曼方程将系统的长期收益转化为系统的目标函数,进而通过深度神经网络估计并构建对应的策略价值函数,将不确定的网络环境映射到神经网络的状态空间中,以适应不确定性场景。对于基于值的单智能体强化学习使用神经网络来估计策略价值,通过训练网络参数θ使逼近策略的真实价值Qπ(s,a)。下面,介绍多智能体对单智能体算法的扩展方式。
3.1 多智能体联合学习框架
1) 联合集中式学习。假设所有主体的行动和观察组成一个联合模型。集中式策略利用神经网络将所有智能体的联合观察映射到一个联合策略价值函数。该框架下观察空间和动作空间随智能体数目呈几何倍数增长,达到2MNmax(本模型单智能体动作空间为2),网络需要2MNmax输出分支对应系统的组合优化策略。对真实策略价值函数的估计依赖于网络的拟合和泛化能力。随智能体数目增加,探索和计算开销指数增加,在大规模多智能体环境中算法的可扩展性较差。
3) 值函数分解。将系统成本函数拆解为各智能体成本函数的加和形式,通过边缘集中处理来解决各智能体独自策略产生的环境动态非平稳问题,并且由于智能体训练自身模型,解耦了智能体之间复杂的相互关系。
讨论简单情况,假设多智能体系统中包含2 个智能体(智能体1 和智能体2),并且全局回报函数是每个智能体的局部回报函数的加和。
其中,r1(ο1,α1)和r2(ο2,α2)分别是智能体1 和智能体2 的(观察,动作)。从式(42)可以得到
式(43)分解后的Q函数依旧基于全局环境信息,本文系统中边缘节点将集中收集所有连接智能体的状态信息进而得到全局环境信息。由此对于部分策略价值函数的累加可以得到整体策略价值函数[26]。基于式(43)对联合集中式学习和独立并行学习进行折中,将整体策略价值函数拆分为多个局部智能体策略价值函数之和。
对应可将式(40)拆分为
其中,τi,j,t(Xi,j,t)代表单一智能体由边缘云或本地计算操作所需要的时间,Ei,j,t(Xi,j,t)代表单一智能体由边缘云或本地计算操作所需要的能量。
在多智能体训练中采用式(45)作为奖励函数代替系统代价函数进行训练,2 个代价函数中不完全相等的部分由在边缘计算时式(4)、式(13)和在智能体本地计算时式(2)中的非线性函数产生。
同时,在多智能体学习系统中若某智能体较早学习到有一定效果的策略,其他智能体将趋向于防止自身较慢的策略学习阻碍已经学到一定策略的智能体,使全局价值回报降低。此现象令其他智能体的学习受阻。为了避免该问题,对多智能体学习采用参数共享方法进行训练。在各智能体策略价值评估函数中采用同构的神经网络,并允许所有智能体共享单个策略评估参数,使策略可以同时接受所有智能体的经验提升。直接采用参数共享方法的模型将会产生智能体的不变性,智能体不变性将导致智能体策略失去差异性。但不同智能体在特定任务中观察到同样局部信息时其策略应具有多样性[27]。为了使智能体策略函数产生差异性,在输入中引入智能体当前状态信息作为额外索引信息来增强智能体价值函数的差异性[28]。
3.2 多智能体联合学习算法设计
智能体(i,j)在第t个采样周期的状态为si,j,t,系统全部智能体在第t个采样周期的状态为st∈S,其中S 为状态空间。
其中,
表示智能体i,j在第t个采样周期的自身状态信息。
系统在第t个采样周期的策略动作为at∈A,其中A 为策略动作空间。根据价值函数获取策略动作有
系统的策略动作tat表示系统中全部智能体在第t个采样周期获取的实时动作的策略集合,ai,j,t表示表示智能体i,j在第t个采样周期获取的实时动作(ai,j,t∈at)。对于不存在的智能体索引,规定其策略为−1,表示不存在该智能体。
智能体在第t个采样周期的状态为si,j,t,采取策略动作ai,j,t,得到对应的系统回报值为ri,j,t,当系统进入第t+1 个采样周期时状态为si,j,t+1。其中,系统回报值为系统成本的负值,即
由于Xt与tat之间能够等效转换,因此式(55)等效为
因此,问题式(55)等效为寻找最优策略使系统的长期平均回报值最大化。接下来,介绍相应的求解算法DQN。
本文中的DQN 利用双网络结构和经验回放方法。在当前的第t个采样周期,智能体i,j状态为si,j,t,利用ε-greedy 方法选取策略动作ai,j,t,相应地得到系统回报值ri,j,t,进入第t+1个采样周期时系统状态为si,j,t+1。因此系统得到经验数据(si,j,t,ai,j,t,ri,j,t,si,j,t+1),并将其存储至记忆库DM。系统构建2 个结构相同的神经网络:预测网络Q(s,a;θ)和目标网络Q~(s,a;θ−),其中θ和θ−分别表示2 个神经网络的网络参数。预测网络Q(s,a;θ)的输入为状态s,输出为所有可能动作对应的值,系统则根据这些值采用ε-greedy 方法选取策略动作。
为了学习预测网络Q(s,a;θ),系统从记忆库DM随机选取U个经验数据样本进行批训练。以目标网络的Q值作为目标,第u个样本(su,au,ru,su+1)(此处的1≤u≤U指的是随机选取的U个经验数据样本的序号,与采样周期的索引无关)训练目标函数为
其中,γ为回报值的折扣。预测网络参数θ更新的目标是最小化损失函数L()θ。
θ的更新方式为
其中,v为更新步长,∇θ L(θ)为L(θ)关于θ的梯度。目标网络的参数更新需要间隔固定的采样周期,即每经过G个采样周期,更新θ−如下
算法1基于值分解的多智能体DQN 卸载决策算法
输入全部智能体在第t个采样周期中的设备状态信息st
输出全部智能体在第t个采样周期中的卸载策略动作at
初始化
初始化预测网络Q(s,a;θ),随机生成其参数θ;初始化目标网络,其参数θ−=θ;初始化记忆库DM,其存储空间大小为|DM|;初始化εi,j=1,∀i∈M,(i,j)∈Ni,εdecay,εmin;获得初始状态s1
循环
预测网络和目标网络为多层神经网络。因为系统状态每一部分的取值范围大不相同,所以在输入系统状态之前需要对系统状态进行归一化预处理。归一化方法如下
4 仿真分析
本文通过Pytorch 仿真评估所提出的基于值分解的多智能体DQN 卸载决策算法性能。无线网络仿真参数如表2 所示,DQN 算法超参数如表3 所示。
表2 无线网络仿真参数
表3 DQN 超参数
仿真环境如图1 所示。边缘云部署M个接入点,每个接入点下接入不超过Nmax个智能体,每个周期智能体随机产生数据量为20~200 kbit 的数据包对接下来的智能体实时操作进行请求。假设计算实时操作的计算量与其基于的参数数据量大小成正比,接入点收集智能体相关请求信息。通过基于值分解的DQN 计算每个智能体独立的计算资源部署动作。在DQN 内,每次产生一组全部智能状态st,选择智能体(i,j) 。在神经网络在输入端输入的对应智能体状态si,j,t由全部智能体状态st和智能体(i,j)的索引状态组成。经过值分解DQN 后得到该周期对应的智能体动作,更换智能体(i,j) 索引直至所有智能体输出对应的计算策略动作。依据DQN 指导多智能体联合计算请求的实时操作指令。将计算实时操作需要的参数数据Ωi,j,t收集下发至本地计算的智能体,同时在边缘云计算智能体实时操作。边缘云完成计算后将通过对应接入点将实时计算指令下发至对应智能体。所有计算完成后则可以获取本周期的系统成本函数值。使用Adam 优化算法更新预测网络和目标网络参数。
考虑到云机器人场景下对多智能设备策略动作的实时性要求,本文设计了基于机器学习的多智能体资源分配方案。本文方案利用神经网络来观察系统状态信息并快速给出合适的卸载策略。表4 给出了本文所提算法在不同场景下的决策时间。
从表4 中可以看出,随着智能体数目的增加,计算决策的计算时间并没有显著上升,即本文所提出的资源分配方案对所涉及的智能体数目不敏感。上述实验表明,本文的研究方案可以以亚毫秒级完成策略计算。本文方案产生决策结果的时间远小于其智能设备承载业务场景的时延容忍度,足以满足任务的实时性要求。
表4 基于值分解的DQN 算法决策时间
为了分析所设计的基于值分解的DQN 对于本文模型所涉及的多智能体联合动作空间的学习能力,图2 给出了当接入点数目M=3 时,每个接入点下5 个智能体场景的Q 网络损失函数变化曲线。
图2 基于值分解的DQN 损失函数曲线
如图2 所示,基于值分解的DQN 可以在多智能体的训练环境下完成损失函数的快速减少和收敛,快速找到相对应的多智能体联合动作策略。
当智能体数目增加时,系统的整体复杂性将增加,其对应的组合优化空间将变大,神经网络结构需要更多的数据来拟合联合优化的值函数,使损失函数收敛相较简单场景有所变缓,更新数据量相同情况下单个智能体的训练数据集变小。通过本文采取的参数共享方式对DQN 的训练进行加速,在智能体数目较多的场景下,所提算法的目标损失函数依旧在较短的训练循环次数内快速收敛至稳定范围。系统成本函数通过值分解分配到每个智能体自身成本函数,多智能体算法能够以较好的性能完成目标任务。
联合集中式学习是假设所有智能体的动作策略均采用一个联合模型进行训练,并将所有智能体的联合动作状态值映射到一个联合函数中。这种集中式结构导致状态和行动空间随着智能体数目的增加而呈指数增长,并且对应训练所需要的数据量和计算量难以通过现有技术进行支持。本文算法则可以在有限数据量的情况下获取有效的优化策略。
为了对比验证本文提出算法的有效性,选择以下对比方案。1) 考虑系统成本函数中采用、作为归一化参数,其对应多智能体策略为全部智能体实时动作计算置于边缘云,选取全部实时计算位于边缘云作为对比策略。2) 对应的多智能体动作计算策略可以选择利用智能体自身资源,在边缘云从其他智能体收集足够计算数据并发送到所需智能体后由智能体自身计算实行,全部智能体本地执行实时计算动作作为对比方案。3) 在不同的系统环境中,最优卸载策略随系统环境变化而变化。为了验证基于值分解的DQN 算法能够成功从系统环境信息和系统状态信息中学习获得计算资源的分配策略,本文选取了采用随机动作卸载策略作为对比项。
为了研究多智能体收集数据量Di,j,t的变化与多智能体实时操作指令数据量的变化对整体系统性能的影响,图3 与图4 分别给出系统成本函数随二者的变化曲线。
图3 多智能体收集数据量与系统成本
图4 多智能体操作指令数据量与系统成本
从上述结果可知,基于值分解的DQN 算法在复杂环境变化下可以准确找到最优动作策略。当多智能体收集数据量较小时,依据系统效用函数式(39),整体系统趋向于本地计算以获取最小的系统成本。由于数据量轻量化使在本地计算时延开销较小,此时系统中多数智能体数据的上传时延和实时指令的回传时延是系统的潜在主要开销。随着多智能体收集数据量的增加,由于智能体计算能力有限,智能体独自计算的时间成本增加,整体系统趋向于向边缘卸载操作计算以减小系统成本,利用边缘的高算力带来的系统增益抵消数据传输时产生的时延影响。
当多智能体实施操作指令数据量较小时,依据系统效用函数式(40),整体系统趋向于将实时计算交付于边缘以获取最小的系统成本。此时利用边缘的高算力优势抵消了智能体数据传输时延对系统增益的影响,实时计算指令可以即时反馈回各智能体。随着系统中多数智能体操作数据量的上升,边缘计算对于智能体的实时操作反馈时延的代价增加,抵消了边缘的算力优势,则整体系统趋向于将实时计算任务交付于各自独立智能体。
对比图3 与图4,整体系统对于多智能体收集数据量的敏感性要低于多智能体实时操作指令数据量的敏感性。在收集数据量增长后系统很快将计算任务交于边缘,操作指令数据量系统倾向性改变较缓。在所有场合中基于值分解的DQN 算法均优于对比策略。
以上实验表明,本文所提基于值分解的DQN算法能够有效获取系统的策略偏好并对应训练神经网络价值函数。图5 给出了DQN 输出随系统的智能体数据收集与智能体操作数据量的变化趋势(DQN 输出动作选择概率)。当智能体收集的数据量增加时,DQN 奖励函数对本地的计算时延成本增加,系统动作逐渐趋向于在边缘计算。当智能体操作指令数据量增加时,在基于值分解的DQN 中,对于本地计算,依据式(11)和式(12),时延部分分子τi,j,t(χi,j,t)不变,分母变大,能量部分分子Ei,j,t(χi,j,t)不变,分母变大,导致系统卸载动作逐渐趋向于在智能体本身计算。
图5 收集与操作指令数据量的多智能体策略变化
图6 展示智能体数量对整个系统成本影响的仿真结果,以及基于值分解的DQN 设计的可扩展性的仿真验证结果。在系统内多智能体的数目增长过程中,本文所提策略得到的联合动作策略的系统成本持续低于对比策略,整体系统成本函数在多场景下相对对比策略减少16%。在智能体数目较少的场景下,本文策略系统成本显著优于对比策略。在实验参数设置下少量智能体对于轻量化的个体计算更具有偏好性。随着智能体数目的不断增多,系统的最优策略逐步偏向于让智能体设备操作在边缘侧计算而非本地计算,在实验结果中的表现为含有本地计算方式的系统成本相对上升。整体系统成本函数中上传和卸载数据的时延代价被分摊到了更多的智能体中,特别是本文考虑的是多智能体协同计算,单智能体需要其他智能体数据辅助完成实时操作计算,对智能体的需求计算数据分发将在时延代价中产生巨大影响。随智能体数目增加智能体将趋向于将实时操作计算交付于边缘计算以减轻智能体的数据分发带来的负面影响。
图6 智能体数目与系统成本
图7 和图8 对不同智能体数目下的时延和能耗性能进行了单独仿真分析。如图7 所示,单独考虑时间因素时,可以观察到个体时延组成包括智能体数据的上传时间、边缘侧对本地计算的数据分发时间、边缘侧和本地的操作指令计算时间和最终边缘侧智能设备操作指令传输时间。其中,智能体数据的上传时间、分发时间和边缘侧智能设备操作指令传输时间参数取值为所有接入点间最大值,在各接入点范围内计算方式为对应时延相加;边缘侧操作指令计算时间为所有边缘侧计算智能体计算时间相加。智能体个体时延与智能体间互相的卸载策略选择相关性较强,与智能体数目增加的相关性较强,随智能体数目的增加而增加。通过实验对比可知,本文算法优于对比策略。
图7 智能体数目与时延
如图8 所示,在单独考虑能耗因素时,个体能耗组成主要包含智能体数据上传的能耗、边缘侧对本地计算的数据分发能耗、边缘侧或本地的操作指令计算能耗和最终边缘侧智能设备操作指令传输能耗。能耗函数表示为智能设备在各自环节相对独立的能耗参数相加。智能体个体的能耗同智能体个体的卸载选择相关,与智能体间的卸载策略选择相关性较弱,对智能体数目的增加不敏感。通过实验对比,本文算法可以在实验环境中依据智能设备的情况和任务自适应地选取卸载决策,算法决策在能耗选择中优于对比策略。
图8 智能体数目与能耗
5 结束语
本文针对交互场景下的操作计算业务提出了基于多智能体的强化学习资源调度策略,设计了基于多智能体强化学习算法的状态和奖励函数。所提出的策略能够克服海量动作空间的学习问题,能够在接入点、智能体异构化的条件下根据任务的需求自适应地调整资源分配策略,提升时延和能量效益,不受限于智能体数量,正确反映通信系统效用函数的变化趋势。仿真结果表明,所设计的多智能体资源调度策略能够在用户较多、业务量需求较大的情况下完成传统集中式架构无法完成的调度指示,系统成本函数相对对比策略平均减少16%,并且对于用户的数目变化具有良好的适应性。