一种基于联邦学习的卸载智能优化方法和系统
技术领域
本发明移动边缘计算中计算卸载优化领域,特别是指一种基于联邦学习的卸载智能优化方法和系统。
背景技术
物联网设备在工作过程中会产生大量数据,而这些数据如果全部卸载到云服务器,则会造成云服务器负载过大、传输过程中带宽高、安全问题。然而,物联网设备受其自身大小的限制导致其计算能力较弱,不足以支持复杂任务的计算。移动边缘计算(MobileEdge Computing, MEC)成为一个可行的解决方案,它通过提供计算资源以支持物联网设备卸载复杂的计算任务或应用。通过MEC,可以有效解决物联网设备计算能力不足、向云服务器卸载延迟高、数据安全等问题。然而,多个MEC参与方(如不同的物联网设备和边缘/云服务器)存在隐私问题和利益冲突,在这些参与方之间建立信任、实现联合多参与方的计算卸载方案是一项挑战。
为了探索动态MEC环境,基于机器学习的计算卸载成为一种可行的解决方案。一些基于深度强化学习(Deep Reinforcement Learning, DRL)领域的研究工作提出的计算卸载策略高度依赖问题的状态空间。并且,计算卸载策略通常非常复杂,纯Q-Learning不适合解决计算卸载的优化问题。DRL的agent在寻找最优卸载策略的同时,通过动作学习来学习策略。而且整个过程耗时,占用大量系统资源。隐私在机器学习中是一个关键问题,特别是在MEC不同的移动物联网设备提供商中,如何整合多个移动物联网设备提供商的数据,保护所有参与者的隐私数据是一个巨大的挑战。由于上述问题,面向工业物联网的联邦学习(Federated Learning, FL)引起了学术界和工业界的广泛关注。作为一种新型的分布式机器学习,联邦学习可以在本地训练所有参与者的数据,通过云/边缘服务器更新和聚合全局模型。
在现有计算卸载问题的解决方案中,研究工作可以分为两类。一类是基于传统启发式算法的计算卸载方案,另一类是基于机器学习的在线学习计算卸载方案。基于启发式算法的计算卸载方案面临的挑战之一是假设较多,在特定场景下效果会更好,但算法的可移植性和鲁棒性较差。在MEC和5G时代,无线通信环境和计算任务变得更复杂,设计一种能够有效提高系统效率并满足系统需求的计算卸载优化算法是非常具有挑战性的。基于机器学习的计算卸载方案可以从数据中学习未来的方向,因此可以有效地解决一些复杂系统中的卸载策略。但是,在高动态实时系统中,智能卸载决策和隐私数据问题尤为关键和重要。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于联邦学习的卸载智能优化方法,使用多层感知器模型来学习任务特征,并将任务分类,获取更适合卸载到边缘服务器或云服务器的任务,且为了保护不同物联网设备的隐私数据,使用联邦学习来训练模型,能够避免向服务器传输过程中的数据泄漏,本发明提出的方法,能够降低系统总服务成本,同时保护多参与方的隐私,实现计算卸载优化。
本发明采用如下技术方案:
一种基于联邦学习的卸载智能优化方法,包括如下步骤:
采用多层感知器模型学习计算任务特征,并把任务进行类型划分,采用联邦学习训练模型进行训练;
计算各类型任务的执行得分,将执行得分前N个任务作为集合;
计算系统总服务成本,当本地服务器的CPU频率小于一定比例的边缘服务器频率 且当前任务不在集合中,则该任务在本地执行;当本地服务器的CPU频率小于一定比 例的边缘服务器频率且当前任务在集合中,则该任务在边缘服务器执行;否则该任务 在云服务器执行;
当时隙时刻的成本低于上一个时隙的成本时,更新卸载策略,表示计算节点在时隙的工作状态,其中分别代表边缘服务器、 本地设备、云服务器,当表示设备执行计算任务,即计算任务卸载到 设备执行;当表示设备不执行计算任务。
具体地,采用多层感知器模型学习计算任务特征,并把任务进行类型划分,采用联邦学习训练模型进行训练;具体包括:
初始化参数;初始化在时隙时本地设备和边缘服务器的CPU频率以及总本地设备 和边缘服务器的CPU频率;
模型初始化;确定多层感知器模型训练模型后初始化模型参数;本地设备模型参 数、边缘服务器模型参数、云服务器模型参数、特征向量;确定修正线性单元作为激活函数;
模型的隐藏层处理和测试模型;隐藏层每一层的输出为,为权重,为偏移量;
利用损失函数测试模型训练,损失函数用如下公式表示:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出;
代价函数是所有训练数据集的损失函数平均值,用如下公式表示为:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出;
具体地,采用联邦学习训练模型进行任务训练;具体包括:
使用作为模型参数在物联网设备、边缘服务器和云服务器之间进行 通信,其中为模型参数;
在每一轮的训练开始时,随机选取P个本地物联网设备参与本轮训练,P为正整数;
对于这P个设备,每个设备从边缘服务器下载模型参数并初始化,训练后更新参数并进行边缘聚合,即所有设备将自己的模型参数上传到边缘服务器;
将边缘服务器的参数进行更新并进行全局聚合,即所有边缘服务器将自己的模型参数上传到全局云服务器,并将云服务器的参数进行更新。
具体地,把任务进行分类,具体包括:
任务的复杂性低、对延迟敏感,在本地物联网设备中执行;
任务的复杂性高、对延迟敏感,在边缘服务器中执行;
任务的复杂度高、对延迟不敏感,在云服务器上执行;
任务不能在本地物联网设备中执行、对延迟不敏感,在边缘服务器中执行。
具体地,计算各类型任务的执行得分,将执行得分前N个任务作为集合,具体 包括:
在边缘服务器中执行的概率为,则不适合在边缘服务器中执行的概率为, 二者的比例用表示;
评分公式为:
其中,和是常数。
本发明实施例另一方面提供一种基于联邦学习的卸载智能优化系统,其特征在于,包括:
任务分类单元:采用多层感知器模型学习计算任务特征,并把任务进行类型划分,采用联邦学习训练模型进行训练;
计算评分单元:计算各类型任务的执行得分,将执行得分前N个任务作为集合;
成本计算单元:计算系统总服务成本,当本地服务器的CPU频率小于一定比例的边 缘服务器频率且当前任务不在集合中,则该任务在本地执行;当本地服务器的CPU频 率小于一定比例的边缘服务器频率且当前任务在集合中,则该任务在边缘服务器执 行;否则该任务在云服务器执行;
卸载策略更新单元:当时隙时刻的成本低于上一个时隙的成本时,更新卸 载策略,表示计算节点在时隙的工作状态,其中分别代表边缘 服务器、本地设备、云服务器,当表示设备执行计算任务,即计算任务 卸载到设备执行;当表示设备不执行计算任务。
具体地,任务分类单元,采用多层感知器模型学习计算任务特征,并把任务进行类型划分,采用联邦学习训练模型进行训练;具体包括:
初始化参数;初始化在时隙时本地设备和边缘服务器的CPU频率以及总本地设备 和边缘服务器的CPU频率;
模型初始化;确定多层感知器模型训练模型后初始化模型参数;本地设备模型参 数、边缘服务器模型参数、云服务器模型参数、特征向量;确定修正线性单元作为激活函数;
模型的隐藏层处理和测试模型;隐藏层每一层的输出为,为权重,为偏移量;
利用损失函数测试模型训练,损失函数用如下公式表示:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出;
代价函数是所有训练数据集的损失函数平均值,用如下公式表示为:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出;
具体地,采用联邦学习训练模型进行任务训练;具体包括:
使用作为模型参数在物联网设备、边缘服务器和云服务器之间进行 通信,其中为模型参数;
在每一轮的训练开始时,随机选取P个本地物联网设备参与本轮训练,P为正整数;
对于这P个设备,每个设备从边缘服务器下载模型参数并初始化,训练后更新参数并进行边缘聚合,即所有设备将自己的模型参数上传到边缘服务器;
将边缘服务器的参数进行更新并进行全局聚合,即所有边缘服务器将自己的模型参数上传到全局云服务器,并将云服务器的参数进行更新。
具体地,把任务进行分类,具体包括:
任务的复杂性低、对延迟敏感,在本地物联网设备中执行;
任务的复杂性高、对延迟敏感,在边缘服务器中执行;
任务的复杂度高、对延迟不敏感,在云服务器上执行;
任务不能在本地物联网设备中执行、对延迟不敏感,在边缘服务器中执行。
具体地,计算评分单元,计算各类型任务的执行得分,将执行得分前N个任务作为 集合,具体包括:
在边缘服务器中执行的概率为,则不适合在边缘服务器中执行的概率为, 二者的比例用表示;
得分公式为:
其中,和是常数。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
(1)本发明提出一种基于联邦学习的卸载智能优化方法,为了优化计算卸载策略,使用多层感知器模型来学习任务特征,并将任务分类,获取更适合卸载到边缘服务器或云服务器的任务,且为了保护不同物联网设备的隐私数据,使用联邦学习来训练模型,能够避免向服务器传输过程中的数据泄漏,本发明提出的方法,能够降低系统总服务成本,同时保护多参与方的隐私,实现计算卸载优化。
(2)本发明为了控制整体系统的服务成本,在卸载过程中的关键因素设置了不同的权重因子,权重因子由系统管理员根据实际应用场景设置。
附图说明
图1为本发明实施例的方案流程图。
图2为本发明实施例提供的通过联邦学习进行计算卸载优化系统的结构图。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
本发明通过研究移动边缘计算中计算卸载优化问题,提出了一种基于联邦学习的卸载智能优化方法,同时可以保护用户隐私数据。多层感知器模型来学习计算任务的特征(任务大小、任务计算复杂性、延迟敏感性等),并将物联网设备的任务分为四类。然后,为了克服模型训练中访问物联网设备私有数据的问题,采用基于边缘计算的联邦学习框架对计算任务特征提取模型进行训练。在系统成本上,考虑了不同应用场景对延迟、能耗和训练时间的要求不同,设计了一种可由系统管理员自适应调整权重的计算成本的方式。提出的方法在保护隐私的同时控制了总服务成本,提高了系统性能。
如图1为本发明方案一种基于联邦学习的卸载智能优化方法流程图;具体包括如下步骤:
S101:采用多层感知器模型学习计算任务特征并把任务进行分类,采用联邦学习训练模型;
具体地,采用多层感知器模型学习计算任务特征并把任务进行分类,采用联邦学习训练模型;具体包括:
初始化参数;初始化在时隙时本地设备和边缘服务器的CPU频率以及总本地设备 和边缘服务器的CPU频率;
模型初始化;确定多层感知器模型训练模型后初始化模型参数;本地设备模型参 数、边缘服务器模型参数、云服务器模型参数、特征向量;确定修正线性单元作为激活函数;
模型的隐藏层处理和测试模型;若输入层和第一层隐藏层直接存在权重和偏 移量,则第一层隐藏层的输出为,以此类推, 隐藏层每一层的输出为;利用损失函数测试模型 训练,损失函数用如下公式表示:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出。
代价函数是所有训练数据集的损失函数平均值,用如下公式表示为:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出。
基于联邦学习的训练;使用作为模型参数在物联网设备、边缘服务器 和云服务器之间进行通信,在每一轮的训练开始时,随机选取P个本地物联网设备参与本轮 训练,对于这P个设备,每个设备从边缘服务器下载模型参数并初始化,训练后更新参数 为;在经历了次训练轮次后,进行边缘聚合,即所有设备将自己的模型参数上传到 边缘服务器,边缘服务器的参数进行更新:;在经历了次训练轮 次后,进行全局聚合,即所有边缘服务器将自己的模型参数上传到全局云服务器,云服务器 的参数进行更新:。
把任务进行分类,具体包括:
任务的复杂性低、对延迟敏感,在本地物联网设备中执行;
任务的复杂性高、对延迟敏感,在边缘服务器中执行;
任务的复杂度高、对延迟不敏感,在云服务器上执行;
任务不能在本地物联网设备中执行、对延迟不敏感,在边缘服务器中执行。
S102:计算各分类任务的评分,得到排名前N个任务作为集合;
计算各分类任务的评分,得到排名前N个任务作为集合,具体包括:
适合在边缘服务器中执行的概率为,则不适合在边缘服务器中执行的概率为,二者的比例用表示;
评分公式为:
其中,和是常数。
S103:计算系统总服务成本,当本地服务器的CPU频率小于一定比例的边缘服务器 频率且当前任务不在集合中,则该任务在本地执行;当本地服务器的CPU频率小于一 定比例的边缘服务器频率且当前任务在集合中,则该任务在边缘服务器执行;否则该 任务在云服务器执行;
具体地,计算系统总服务成本,具体包括:
系统总服务成本系统为延迟、系统损耗、训练时间成本,具体表示为:
所述延迟包括传输延迟、计算延迟以及等待延迟,其中,传输延迟, 计算延迟,等待延迟,为训练时间,为系统能耗,为设备最大能耗限制,分别表示权重;
传输延迟用下式表示为:
其中表示一个物联网设备的传输延迟;个边缘服务器,分别 表示本地设备和云服务器。
计算延迟用下式表示为:
其中,来表示计算节点在时隙的计算能力,变量表示计算延迟的计算需求;表示i计算节点在时隙的工作状态,当表示设备执行计算任务,即 计算任务卸载到设备执行;当表示设备不执行计算任务;
等待延迟用下式表示:
其中表示为本地设备,表示为边缘服务器的等待时间;
其中,使用和分别表示本地物联网设备和边缘服务器队列中剩余任 务的等待时间,和表示计算节点的任务大小和CPU频率;
系统的能耗表示为:
其中表示计算能耗,表示传输能耗;
训练时间表示。
S104:当时隙时刻的成本低于上一个时隙的成本时,更新卸载策略,表示i计算节点在时隙的工作状态,其中分别代表边缘服务器、 本地设备、云服务器,当表示设备执行计算任务,即计算任务卸载到 设备执行;当表示设备不执行计算任务;
如图2,本发明另一实施例提供了一种基于联邦学习的卸载智能优化系统,包括:
任务分类单元201:采用多层感知器模型学习计算任务特征并把任务进行分类,采用联邦学习训练模型;
具体地,任务分类单元201,采用多层感知器模型学习计算任务特征并把任务进行分类,采用联邦学习训练模型;具体包括:
初始化参数;初始化在时隙时本地设备和边缘服务器的CPU频率以及总本地设备 和边缘服务器的CPU频率;
模型初始化;确定多层感知器模型训练模型后初始化模型参数;本地设备模型参 数、边缘服务器模型参数、云服务器模型参数、特征向量;确定修正线性单元作为激活函数;
模型的隐藏层处理和测试模型;若输入层和第一层隐藏层直接存在权重和偏 移量,则第一层隐藏层的输出为,以此类推, 隐藏层每一层的输出为;利用损失函数测试模型 训练,损失函数用如下公式表示:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出。
代价函数是所有训练数据集的损失函数平均值,用如下公式表示为:
其中,表示样本,是样本总数,表示实际的标签,表示预测的输出。
基于联邦学习的训练;使用作为模型参数在物联网设备、边缘服务器 和云服务器之间进行通信,在每一轮的训练开始时,随机选取P个本地物联网设备参与本轮 训练,对于这P个设备,每个设备从边缘服务器下载模型参数并初始化,训练后更新参数 为;在经历了次训练轮次后,进行边缘聚合,即所有设备将自己的模型参数上传到 边缘服务器,边缘服务器的参数进行更新:;在经历了次训练轮 次后,进行全局聚合,即所有边缘服务器将自己的模型参数上传到全局云服务器,云服务器 的参数进行更新:。
具体地,把任务进行分类,具体包括:
任务的复杂性低、对延迟敏感,在本地物联网设备中执行;
任务的复杂性高、对延迟敏感,在边缘服务器中执行;
任务的复杂度高、对延迟不敏感,在云服务器上执行;
任务不能在本地物联网设备中执行、对延迟不敏感,在边缘服务器中执行。
计算评分单元202:计算各分类任务的评分,得到排名前N个任务作为集合;
具体地,计算评分单元,计算各分类任务的评分,得到排名前N个任务作为集合,具体包括:
成本计算单元203:计算系统总服务成本,当本地服务器的CPU频率小于一定比例 的边缘服务器频率且当前任务不在集合中,则该任务在本地执行;当本地服务器的 CPU频率小于一定比例的边缘服务器频率且当前任务在集合中,则该任务在边缘服务 器执行;否则该任务在云服务器执行;
具体地,成本计算单元,计算系统总服务成本,具体包括:
系统总服务成本系统为延迟、系统损耗、训练时间成本,具体表示为:
所述延迟包括传输延迟、计算延迟以及等待延迟,其中, 传输延迟, 计算延迟, 等待延迟,为训练时间,为系统能耗,为设备最大能耗限制,分别表示权重;
传输延迟用下式表示为:
其中表示一个物联网设备的传输延迟;个边缘服务器,分别 表示本地设备和云服务器。
计算延迟用下式表示为:
其中,来表示计算节点在时隙的计算能力,变量表示计算延迟的计算需求;表示i计算节点在时隙的工作状态,当表示设备执行计算任务,即 计算任务卸载到设备执行;当表示设备不执行计算任务;
等待延迟用下式表示:
其中表示为本地设备,表示为边缘服务器的等待时间;
其中,使用和分别表示本地物联网设备和边缘服务器队列中剩余任 务的等待时间,和表示计算节点的任务大小和CPU频率;
系统的能耗表示为:
其中表示计算能耗,表示传输能耗;
训练时间表示。
卸载策略更新单元204:当时隙时刻的成本低于上一个时隙的成本时,更新 卸载策略,表示i计算节点在时隙的工作状态,其中分别代表边 缘服务器、本地设备、云服务器,当表示设备执行计算任务,即计算任 务卸载到设备执行;当表示设备不执行计算任务。
本发明提出一种基于联邦学习的卸载智能优化方法,为了优化计算卸载策略,使用多层感知器模型来学习任务特征,并将任务分类,获取更适合卸载到边缘服务器或云服务器的任务,且为了保护不同物联网设备的隐私数据,使用联邦学习来训练模型,能够避免向服务器传输过程中的数据泄漏,本发明提出的方法,能够降低系统总服务成本,同时保护多参与方的隐私,实现计算卸载优化,此外,为了控制整体系统的服务成本,在卸载过程中的关键因素设置了不同的权重因子,权重因子由系统管理员根据实际应用场景设置。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。