发明内容
(一)要解决的技术问题
本发明提供了一种支持边缘计算的物联网多用户计算卸载方法,通过分布式训练方法解决支持边缘计算的物联网场景下多用户计算卸载问题;通过考虑网络、算力、隐私等约束条件,提出一种计算卸载和能量分配的决策方法;通过将计算任务与计算资源之间进行合理的匹配,达到长期效用期望的最大化,实现各项指标因素的综合提升。
(二)技术方案
本发明提供了一种支持边缘计算的物联网多用户计算卸载方法,包括:
步骤S1:初始化学习模型;
步骤S2:对物联网设备的本地学习模型进行迭代,并聚合至边缘节点;
步骤S3:预判策略并执行。
步骤S1还包括:
步骤S1-1:初始化边缘节点中的学习模型;
步骤S1-2:初始化物联网设备中的学习模型。
在步骤S1-1中,将一随机值作为初始参数赋值给边缘节点中的学习模型,并初始化所有物联网设备的总训练时间。
在步骤S1-2中,由单个物联网设备组成的物联网设备集合,对于单个物联网设备,初始化其经验重放内存,然后使用随机参数初始化其本地学习模型。
在步骤S2中,将物联网设备的本地学习模型进行多次迭代,直至训练收敛,且在所选取的物联网设备集合中的所有单个物联网设备均需执行迭代。
步骤S2还包括:
步骤S2-1:物联网设备从边缘节点下载学习模型进行本地学习;
步骤S2-2:将训练好的学习模型参数上传至边缘节点,更新边缘节点学习模型;
步骤S2-3:边缘节点进行学习模型聚合更新。
步骤S2-1:物联网设备从边缘节点下载学习模型参数,并将学习模型参数赋值给物联网设备的本地学习模型,物联网设备首先获取初始网络状态,并据此做出决策,决策执行完成后可得到相应的决策收益,决策的执行还会产生新的网络状态,将这些数据存入经验重放内存中,物联网设备会从经验重放内存中随机抽取部分数据作为学习样本在本地训练学习模型,更新本地学习模型参数;
步骤S2-2:将训练好的学习模型参数上传至边缘节点,并通知边缘节点在本地对学习模型进行训练的次数,边缘节点执行步骤S2-3更新自身的模型参数;
步骤S2-3:更新边缘节点收集到的对其成功传输数据的物联网设备的训练次数和,边缘节点对收到的学习模型参数进行聚合更新。
在步骤S3中,物联网设备根据从步骤S2训练完善的学习模型,对动态变化的应用环境做出高效决策,以实现长期综合效用的提升,决策内容包括任务的计算卸载决策以及能量分配决策。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
当用户计算卸载时,物联网设备无需将原始数据进行传输,而是每个物联网设备都依据自身观测到的数据在本地进行训练,之后将模型参数的更新进行传输,再由边缘节点将物联网设备的更新进行汇总聚合,从而在保证角色准确高效的同时,避免了大量原始数据的传输、降低了模型训练时传输的数据量、降低了数据传输时延以及加强了对数据的隐私保护。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本发明的保护范围。
在传统方法中,所有物联网设备的数据需要上传到服务器进行处理,由于原始数据规模往往很庞大,所以会导致较高的传输时延并且会给主干网络带来沉重的流量负载压力,此外,对原始数据的传输汇总也不利于对数据隐私性的保护。
本发明提供了一种支持边缘计算的物联网多用户计算卸载方法,基于分布式训练的计算卸载策略,通过分布式训练减轻单一设备的训练负担,针对网络通信约束提出将物联网设备上的观测数据仅用于本地训练,只将更新后的模型参数上传到边缘节点进行进一步的模型聚合,以实现减轻传感器设备的训练负担与达到隐私保护的需求,如图2所示。
为了清楚的描述本发明提供的一种支持边缘计算的物联网多用户计算卸载方法,首先对支持边缘计算的物联网系统各个组件进行概述,再对物联网设备的网络状态与决策空间进行描述,定义本发明所面向的典型问题,最后提出解决该场景下典型问题的解决方案。
在支持边缘计算的物联网系统中,如图3所示,物联网设备位于边缘节点的服务范围中;首先,物联网设备集合
与边缘设备集合
分别表示为
;其次,采用时间片的概念将时间划分为以i为索引、以δ秒为持续时长的多个阶段;再次,物联网设备中有一个最大长度为
的任务队列,以先入先出(FIFO)的方式暂存任务,并且定义
为任务到达指示器,还有一个最大长度为
的能量序列以保存能量单元;之后,物联网设备生成的计算任务被建模为(μ,v),其中μ表示加载任务所需的传输数据大小,v表示处理任务所需的CPU周期数。此外,物联网设备可通过在本地执行计算任务,可避免由数据传输引起的延迟,还可以加载到信道带宽为wHz的边缘节点来执行,利用边缘节点更丰富的资源来执行任务,根据实际情况进行权衡。
物联网设备需要在第i个阶段进行决策(ci,ei)。其中,ci代表任务卸载的决定,如式(1):
其中,ei表示分配的能量单元数量,对物联网设备的CPU频率和数据传输速率产生影响,当ei=0时,任务不执行,仍保存在任务队列中,当ei>0时,任务执行。此外,物联网设备还有一个任务队列,当任务队列已满时,该队列将无法保存新创建的任务。
当物联网设备在本地执行计算任务时,物联网设备分配的CPU频率fi可表示为式(2):
其中,τ取决于芯片结构,对应的时间消耗
可计算得式(3):
当物联网设备在边缘节点执行计算任务时,物联网设备与边缘节点在阶段i的连接关系可表示为式(4):
考虑到连接切换时会造成σ秒延迟,因此切换延迟hi可表示如式(5):
其中σ为常数。定义ri是物联网设备在第i阶段的数据传输速率,可表示为式(6):
其中,
可表示为阶段i中物联网设备与边缘设备的信道增益,I表示干扰与噪声的功率和,
表示为传输功率,并满足式(7):
代入式(6)、(7)可得式(9):
当任务卸载到边缘节点执行时,会产生一个较小的延迟ds,任务运行时延di可表示为式(10);
由于边缘节点计算资源的有限性,进一步定义了占用边缘节点所需的花销来避免对边缘节点的过度使用,定义π∈R+作为占用边缘节点单位时间的价格,则占用边缘节点的花销φi可表示为式(11):
在每个阶段,当有任务被取出或生成时,任务队列会进行更新如式(12):
其中
定义为第i阶段产生的任务数量,在每一阶段按照伯努利分布随机产生。此外,定义
是第i阶段物联网设备获取的能量单元数量,在每一阶段按照泊松分布随机产生,则能量队列中长度的变化
可表示为式(13):
定义ρi表示第i阶段任务队列中的排队延迟,可表示为式(14):
此外,当任务队列已满时,会使新产生的任务无法存入任务队列,从而导致任务丢失,定义ηi为第i阶段计算任务丢失的数量,可表示为式(15):
物联网设备的网络状态可以表示为式(16):
在每个阶段的开始,物联网设备进行决策,决策内容包括任务卸载决策与能量分配决策两部分,如式(17):
此外,定义Φ(Xi)表示依据网络状态χi的决策函数,则最大化的长期效益期望如式(18):
其中X1是初始网络状态,u(·)是阶段i的直接效用,u(·)由任务执行延迟di、任务丢弃数ηi、任务排队延迟ρi和占用边缘节点花销φi几项指标共同决定。需要注意的是,U(·)可以针对不同的目标进行定制化设计,例如:如果系统最注重任务执行的延迟,则可以提升任务排队延迟ρi和任务执行延迟di的权重,进而提高其在整个效用中的比例。
根据上述计算过程,式(18)所得U(X,Φ)为综合收益值,物联网在进行计算卸载时的决策需要依赖此函数。
本发明提供了一种支持边缘计算的物联网多用户计算卸载方法,基于深度强化学习技术,通过上述计算方法及其各阶段所得数值,使用分布式训练方法来协调多个物联网设备之间的训练过程,从而解决物联网中计算卸载的问题,步骤如下:
步骤S1:初始化学习模型:
步骤S1-1:初始化边缘节点中的学习模型:
其中,将一随机值θ0赋值给边缘节点中的学习模型,即以随机参数θ0初始化边缘节点中的学习模型,该数值在之后的步骤中会更新,并初始化所有物联网设备的总训练时间为一随机初始值A0;
步骤S1-2:初始化物联网设备中的学习模型:
其中,单个物联网设备表示为d,物联网设备集合表示为
使
对于单个物联网设备,初始化其经验重放内存
然后使用随机参数初始化其本地学习模型
步骤S2:对物联网设备的本地学习模型
进行迭代,并聚合至边缘节点:
其中,将进行迭代T次直至训练收敛,即将初始化的边缘节点中的学习模型θ0迭代至θt,其中t为当前周期次数,选取M个可用物联网设备的随机集合,并将其赋值至St,集合St中的每个设备d都并行地执行以下步骤:
步骤S2-1:物联网设备d从边缘节点下载学习模型参数θ
t,并将其赋值给物联网设备的本地学习模型参数
即
物联网设备首先获取由公式(16)定义的初始时网络状态X
t,之后据此做出公式(17)中定义的决策(c
t,e
t),决策执行完成后可得到相应的决策收益u(·),此外决策的执行还会产生新的网络状态X
t+1,然后将(X
t,(c
t,e
t),u(·),X
t+1)作为一条经验数据存入经验重放内存
物联网设备会从经验重放内存
中随机抽取部分数据作为学习样本,在本地训练学习模型
更新本地学习模型参数
步骤S2-2:将训练好的学习模型参数
上传至边缘节点,并通知边缘节点在本地对学习模型进行训练的次数
边缘节点执行步骤S2-3更新自身的模型参数;
步骤S2-3:更新边缘节点收集到的对其成功传输数据的物联网设备的训练次数和
并对边缘节点学习模型θ
t+1执行模型聚合,使
即边缘节点对收到的学习模型参数进行聚合更新;
步骤S3:预判策略并执行:
物联网设备根据从步骤S3训练完善的学习模型,对动态变化的应用环境做出高效决策,以实现长期综合效用的提升,决策内容包括任务的计算卸载决策以及能量分配决策。
如图4所示,为本发明的分布式训练示意图。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。