一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于DRL的联邦学习节点选择方法与流程

2022-02-22 19:41:38 来源:中国专利 TAG:

基于drl的联邦学习节点选择方法
技术领域
1.本发明属于计算机应用技术领域,特别是基于drl的联邦学习节点选择方法。


背景技术:

2.与传统的以云为中心的机器学习训练方法相比,以联邦学习架构在移动边缘网络进行的模型训练具有四大优点:高效利用网络资源、隐私安全、低延迟、可扩展性高。然而,在大规模复杂的移动边缘网络中,涉及具有不同约束的异构设备。这给大规模实施机器学习带来了通信成本、资源分配以及隐私和安全方面的挑战。首先,即使不再需要向云服务器发送原始数据,但由于参与训练的模型具有高维属性以及通信资源有限,如何降低通信时延,提高通信质量仍然值得关注。其次,部分节点的本地学习时间长、宽带小,且多轮训练之后损失函数会偏离合理范围,如何将这些节点排除,灵活调度使用分布式的计算资源是亟待解决的问题。由此可知,如何进行联邦学习的参与节点的合理选择是解决上述问题的关键。
3.专利公布号为cn112668128a的《联邦学习系统中终端设备节点的选择方法及装置》中,从训练准确度和终端设备能耗两个方面衡量联邦学习系统的质量,未考虑终端设备的资源及训练过程的设备能耗等因素,导致联邦学习效率和准确性较差。专利公布号为cn113206887a的《边缘计算下针对数据与设备异构性加速联邦学习的方法》中,通过选择拥有非独立同分布程度较低的数据集的终端设备参与训练,提升模型的准确性,但是降低了非独立同分布的数据影响,适用面比较窄,当满足专利要求的数据相对较少时,很可能出现训练精度急剧下降的情况。专利公布号为cn113128706a的《一种基于标签量信息的联邦学习节点选择方法及系统》中,当控制模型训练的单轮最大耗时,能保证一定的联邦学习的通信效率,但是没有采用深度强化学习等智能技术,每一轮次需要重新全局计算,不能很好的适应动态变化的边缘网络。
4.因此,如何基于边缘网络中使用联邦学习架构进行机器学习的场景,提出一种参与节点的智能选择方案,从而降低联邦学习系统的训练时间,提高聚合模型的精确度,成为当前研究的关键问题。


技术实现要素:

5.鉴于上述问题,本发明提供一种至少解决上述部分技术问题的基于深度强化学习(deep reinforcement learning,drl)的联邦学习节点选择方法,通过该方法能够有效降低联邦学习系统的训练时间,提高聚合模型的精确度。
6.本发明实施例提供了基于drl的联邦学习节点选择方法,包括:
7.s1、根据联邦学习过程,分别构建n个节点对应的联邦学习时间成本模型和节点精度损失成本模型;
8.s2、根据所述联邦学习时间成本模型和节点精度损失成本模型,构建联邦学习成本最小目标函数;
9.s3、对所述联邦学习成本最小目标函数进行求解,实现对所述n个节点的选取。
10.进一步地,所述联邦学习时间成本模型,包括训练时间成本模型和通信时间成本模型;表示为:
[0011][0012][0013][0014]
其中,表示时隙t下节点i的本地学习时间;τi表示节点i的可用计算资源,单位为gflops/kb;di表示节点i承担的计算任务,单位为kb;表示时隙t下节点i的通信时间;表示服务器m覆盖的第i个本地节点的带宽,单位为mbps;表示训练时隙i之后节点i需要上传服务器的数据大小,单位为kb;表示联邦学习时间成本模型,即时隙t下n个节点耗费时间的平均值。
[0015]
进一步地,步骤s1中,所述节点精度损失成本模型,表示为:
[0016][0017]
其中,表示时隙t下n个节点对应的精度损失成本;表示时隙t下节点i的精度损失;di=(xj,yj)表示节点i的训练数据,j表示di的维度;表示时隙t内的聚合模型;l(
·
)表示损失函数。
[0018]
进一步地,步骤s2中,所述联邦学习成本最小目标函数,表示为:
[0019][0020][0021]
其中,c
t

t
)表示时隙t下联邦学习的总成本;表示时隙t下节点i的选择状态;表示时隙t下节点i被选中参与联邦学习;表示时隙t下节点i未被选中。
[0022]
进一步地,所述s3具体包括:
[0023]
s31、使用马尔科夫决策过程将所述联邦学习成本最小目标函数转换为奖励函数最大目标函数;
[0024]
s32、通过ddpg算法对所述奖励函数最大目标函数进行求解。
[0025]
进一步地,步骤s31中,所述奖励函数最大目标函数,表示为:
[0026]
[0027][0028][0029]
其中,公式(12)表示累计奖励;γ∈(0,1]表示奖励折扣因子;t表示总时隙。
[0030]
与现有技术人相比,本发明记载的基于drl的联邦学习节点选择方法,具有如下有益效果:
[0031]
1.根据联邦学习架构在移动边缘网络中应用所遇到的问题,建立成本模型,设计训练时间和聚合模型精度两个指标衡量联邦学习系统的训练质量,以便于从参与训练的节点中选出合适的节点,从而有效降低联邦学习系统的训练时间,提高聚合模型的精确度。
[0032]
2.建立一个ddpg的马尔科夫决策过程形式化描述节点选择过程,将上述指标的组合优化问题转化为奖励函数的最大化问题;大大提高了计算效率。
[0033]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0034]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0035]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0036]
图1为本发明实施例提供的基于drl的联邦学习节点选择方法流程图。
[0037]
图2为本发明实施例提供的联邦学习过程框架图。
[0038]
图3为本发明实施例提供的ddpg算法框架图。
[0039]
图4为本发明实施例提供的算法对训练时间的影响结果图。
[0040]
图5为本发明实施例提供的算法对训练精度的影响结果图。
[0041]
图6为本发明实施例提供的算法对全局损失的影响结果图。
[0042]
图7为本发明实施例提供的算法对服务器宽带占用的影响结果图。
具体实施方式
[0043]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0044]
参见图1所示,本发明实施例提供了基于drl的联邦学习节点选择方法,具体包括如下步骤:
[0045]
s1、根据联邦学习过程,分别构建n个节点对应的联邦学习时间成本模型和节点精度损失成本模型;
[0046]
s2、根据联邦学习时间成本模型和节点精度损失成本模型,构建联邦学习成本最小目标函数;
[0047]
s3、对联邦学习成本最小目标函数进行求解,实现对n个节点的选取。
[0048]
下面分别对上述各个步骤进行详细的说明。
[0049]
在上述步骤s1中,首先构建一个边缘网络场景,该场景中包括多个服务器,每个服务器覆盖有n个本地节点;之后在该场景下分析联邦学习过程,参见图2所示,发现联邦学习过程具体包括:
[0050]
步骤一、服务器所覆盖的n个本地节点分别从服务器中下载最新状态联邦学习模型;
[0051]
步骤二、每个本地节点均利用本地数据对最新状态联邦学习模型进行训练,并将训练后的最新状态联邦学习模型通过加密梯度上传至服务器;
[0052]
步骤三、服务器对接收到的n个训练后的最新状态联邦学习模型进行聚合更新,形成新一轮最新状态联邦学习模型;
[0053]
步骤四、循环执行步骤步骤一至步骤步骤三;
[0054]
根据上述联邦学习模型,构建联邦学习时间成本模型和节点精度损失成本模型;其中,联邦学习时间成本模型包括训练时间成本模型和通信时间成本模型;
[0055]
根据上述步骤二中每个本地节点均利用本地数据对最新状态联邦学习模型进行训练,构建训练时间成本模型,表示为:
[0056][0057]
其中,表示时隙t下节点i的本地学习时间;τi表示节点i的可用计算资源,单位为gflops/kb;di表示节点i承担的计算任务,以输入数据的大小来衡量,单位为kb;例如对于dnn模型,以vggnet-16为示例,单个任务(图片)的输入大小通常为147kb,所需的计算量为约16gflops。所以上式的学习时间单位是gflops。
[0058]
根据上述步骤二中将训练后的最新状态联邦学习模型通过加密梯度上传至服务器,构建通信时间成本模型,表示为:
[0059][0060]
表示时隙t下节点i的通信时间;表示服务器m覆盖的第i个本地节点的带宽,单位为mbps;表示训练时隙t之后节点i需要上传服务器的数据大小,单位为kb;
[0061]
通过上述公式(1)-(2),可得到联邦学习时间成本模型即时隙t下n个节点耗费时间的平均值,表示为:
[0062][0063]
学习质量(qualityoflearning,qol)表示节点本地学习到的模型精度,本用qol的成本衡量时隙t的学习精度损失
[0064][0065]
其中,表示时隙t下n个节点对应的精度损失成本;表示时隙t下节点i的精
度损失;di=(xj,yj)表示节点i的训练数据,j表示di的维度;表示时隙t内的聚合模型;l(
·
)表示损失函数。
[0066]
在上述步骤s2中,
[0067]
联邦学习成本最小目标函数,表示为:
[0068][0069][0070]
其中,c
t

t
)表示时隙t下联邦学习的总成本;表示时隙t下节点i的选择状态;表示时隙t下节点i被选中参与联邦学习;表示时隙t下节点i未被选中;该联邦学习成本最小目标函数表示通过优化参与联邦学习的节点选择方案使得系统的总成本c
t

t
)最低;
[0071]
对联邦学习成本最小目标函数构建约束条件:
[0072][0073][0074]
公式(7)表示每轮训练结束之后,节点与服务器通信不能超过服务器的负载能力;公式(8)表示参与联邦学习的节点与服务器的距离应保持在一定范围内,其中r0表示该范围的上限。
[0075]
在上述步骤s3中,具体包括:
[0076]
s31、使用马尔科夫决策过程将联邦学习成本最小目标函数转换为奖励函数最大目标函数;
[0077]
状态空间s:每个时隙t中,系统的状态由节点与服务器之间传输使用的带宽节点可用计算资源节点位置还有节点选择状态λ(t-1)组成。
[0078]
s(t)={β(t)、τ(t)、p(t)、λ(t-1)}
ꢀꢀꢀ
(9)
[0079]
动作空间a:时隙t要执行的动作也就是节点选择的决策,因此用节点选择向量λ来表示,λ是一个1*n维的0-1向量。表示在时隙t节点i参与了联邦学习,等于0则表示未参加。
[0080][0081]
策略p:策略p是一个从状态空间s到动作空间a的映射p:s

a。所以时隙t要采取的动作可用λ
t
=p(s
t
)计算出来。在ddpg算法中,这一部分工作由神经网络完成。输入是系统状态,输出就是将要采用的动作。
[0082]
奖励函数r:系统通过奖励函数来评估动作的效果。定义如下:
[0083][0084][0085]
其中,公式(12)表示累计奖励;γ∈(0,1]表示奖励折扣因子;t表示总时隙。
[0086]
节点选择的目标是最大限度地减少联合学习的总成本。对于drl模型,目标是找到最多最大累计奖励(最小化总累积成本)的λ:
[0087][0088]
s32、通过ddpg算法对奖励函数最大目标函数进行求解。
[0089]
本发明采用ddpg对边缘服务器进行训练,以使服务器智能选择参与联邦学习的节点,达到训练时延短,训练模型精度高的目标;参见图3所示,ddpg由三个主要模块组成:主要网络(primary network),目标网络(target network),重放内存(replay memory);主要网络和目标网络的结构一致:θ
μ
和θq分别是actor dnn和critic dnn的参数;重放内存用来存储培训网络的经验转换信息。转换信息包含当前状态s
t
,状态下采取的动作λ
t
,下一个状态s
t 1
和相应的奖励r(s
t

t
)。ddpg通过使用目标网络提供客观值并从重放内存中随机获取经验来提高培训稳定性。
[0090]
图3中编号1-9的含义如下:
[0091]
1:actor dnn根据策略从动作空间a选择一个动作λ
t
=μ(s
t

μ
),交给仿真环境执行该动作;
[0092]
2:仿真环境执行该动作之后,状态从s
t
变成s
t 1
,并返回奖励r(s
t

t
)和新状态;
[0093]
3:actor dnn将转换信息(s
t
,λ
t
,s
t 1
,r(s
t

t
)存储在重放内存中;
[0094]
4:从重放内存中随机取样mini-batch的数据参与两个目标网络的训练;
[0095]
5:计算主要网络参数θq的梯度;
[0096]
6:根据式(17)更新critic dnn中的参数θq;
[0097]
7:根据式(18)计算主要网络参数θ
μ
的梯度;
[0098]
8:根据式(19)更新actor dnn中的参数θ
μ

[0099]
9:使用主要网络参数θ
μ
、θq软更新目标网络参数θ
μ

、θq′
[0100]
回到编号1继续循环。
[0101]
critic dnn的训练:
[0102]
上述编号5和6中,criticdnn对所选动作进行评估,并将评估值与从目标网络获得的客观值进行比较,损失函数定义为这两者差值的平方均值,然后以最小化损失函数为目的来训练自己的参数θq。
[0103]
所选动作的评估值由下列的动作值函数得到:
[0104]
q(s
t

t
|θq)=e[r(s
t

t
) γq(s
t 1
,μ(s
t 1
|θq))]
ꢀꢀꢀ
(14)
[0105]
从目标网络由以下公式得到y:
[0106]
y=r(s
t

t
) γq

(s
t 1


(s
t 1

μ

|θq′
)
ꢀꢀꢀ
(15)
[0107]
critic dnn以最小化损失函数为目的更新网络参数,损失函数lq(θq)定义如下:
[0108]
lq(θq)=e[(y-q(s
t

t
|θq))]
ꢀꢀꢀ
(16)
[0109]
其中q(
·
)为公式(14)中的动作的评估值,y为公式(15)得到的值,
[0110]
通过随机梯度下降来训练θq。θq由以下式子进行更新:
[0111][0112]
其中α是critic dnn的学习率,k为经过的时隙个数。
[0113]
actor dnn的训练:
[0114]
上述编号7和8中,actor dnn的目标就是得到最佳的节点选择动作。输入是当前状态s
t
,输出的要采取的动作λ
t
。动作λ
t
通过映射λ=μ(s
t

μ
)由当前的状态s
t
得到。actor dnn的参数θ
μ
代表了探索的策略。利用随机梯度下降来训练参数θ
μ
,完整的梯度定义如下:
[0115][0116]
每个训练轮次中,还需要随机从重放内存中随机抽取经验来更新参数θ
μ

[0117][0118]
其中α
μ
是actor dnn的训练率,θ

μ
是抽取的经验参数。
[0119]
完整的ddpg节点选择算法伪代码如下:
[0120]
输入:随机初始化主要网络中,actordnn的参数θ
μ
和critic dnn的参数θq;设置目标网络的两个参数θ
μ
t=θ
μ
、θqt=θq;初始化重放内存;初始化α、γ、λ0=[1
……
1]
[0121][0122]
本发明实施例提供了基于drl的联邦学习节点选择方法,通过排除本地学习时间长、带宽小的节点,提高联邦学习模型聚合速度;以及排除多轮训练之后损失函数偏离合理
范围的节点,大大提升聚合模型的质量;最终结果参见图4-图7。
[0123]
图7中的左图是联邦学习有“坏节点”参与的情况,即多轮训练后损失函数偏离合理范围的情况。仿真情况下,各节点带宽设置为2-4mbps,总带宽在20-40mbps之间。可以看到左图中,在进行节点选择之前,服务器总带宽为24mbps,符合参数设置范围。但是,在3/5个“坏节点”参与联邦学习并经过节点选择之后,总带宽迅速下降为15mbps/9mbps,而各节点平均带宽波动不大。这是因为算法直接抛弃了“坏节点”,所以参与联邦学习的节点分别减少到了7/5个,占用服务器的总带宽也就相应减少。但是节点选择过程对于那些正常节点没有影响,所以参与联邦学习的节点平均带宽没有发生太大变化。
[0124]
右图是联邦学习有“慢节点”参与的情况,即本地学习时间长、宽带小的情况。与“坏节点”参与联邦学习的情况不同的是,可以看到在进行节点选择前后,节点总的带宽的减少几乎可以忽略不计,始终在17.5mbps附近;而平均带宽则稳步提高,每个节点分配的带宽资源从1.7mbps上升到了3.3mbps。同样是因为算法直接抛弃了“慢节点”,所以参与联邦学习的节点分别减少到了7/5个,总带宽也就相应减少。但是根据仿真参数设置,“慢节点”的带宽仅为0.1mbps,所以即使不再让“慢节点”参与联邦学习,总带宽资源也只减少了0.3/0.5mbps,但可以有效提高平均带宽。
[0125]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献