少量数据训练的联邦元学习方法、服务端及电子设备技术

技术编号:37854632 阅读:6 留言:0更新日期:2023-06-14 22:47
本公开涉及一种少量数据训练的联邦元学习方法、服务端及电子设备,属于联邦学习技术领域。该方法包括:将目标任务发送给参与联邦学习的节点,以使各节点根据目标任务生成至少一个相似的子任务j,且基于子任务j对本地数据集进行划分,得到数据集D

【技术实现步骤摘要】
少量数据训练的联邦元学习方法、服务端及电子设备


[0001]本专利技术提供一种少量数据训练的联邦元学习方法、服务端及电子设备,涉及联邦学习


技术介绍

[0002]联邦元学习是当下比较热门的一个研究方向。所谓元学习,就是学会学习,利用元学习得到的模型,当我们在面临一个新的任务时,经过很少的训练步骤就可以得到一个比较好的模型,而不必像经典机器学习一样,需要在一个数据集上进行大量训练。
[0003]在联邦元学习过程中,服务器上维护一个算法(元学习器),将此算法分发给客户端进行模型训练。在元学习每一个episode里,一批采样的客户端接收算法的参数并进行模型训练。然后将query集上的测试结果上传到服务器进行算法更新。
[0004]同时,在进行联邦学习任务时,节点可能不具备或仅具备少量合适的数据,导致联邦学习难以开展。

技术实现思路

[0005]为了克服上述现有技术的不足,本专利技术提供一种适用于流调业务的少量数据训练的联邦元学习方法,用以解决因少量数据导致的联邦学习难以开展问题。
[0006]本专利技术的技术方案,包括:
[0007]一种面向少量数据训练的联邦元学习方法,应用于联邦学习的服务端,所述方法包括:
[0008]将目标任务发送给参与联邦学习的节点,以使各节点根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示节点编号;
[0009]将待训练模型g
t
发送给参与联邦学习的节点,以使各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型其中,t表示训练轮数;
[0010]接收各节点发送的所述模型并基于所述模型生成待训练模型g
t+1

[0011]在所述待训练模型g
t+1
不满足所述目标任务的需求的情况下,令t=t+1,并返回至所述将待训练模型g
t
发送给参与联邦学习的节点;
[0012]在所述待训练模型g
t+1
满足所述目标任务的需求的情况下,输出所述待训练模型g
t+1

[0013]进一步地,所述各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型包括:
[0014]在子任务j上,利用对应的训练数据子集对所述待训练模型g
t
进行训练,得到模型
[0015]获取所述模型在子任务j的数据集D
i,j
上的训练梯度
[0016]基于所述训练梯度更新模型g
t
,得到模型
[0017]进一步地,所述生成模型的梯度更新的梯度更新其中,表示超参的单位向量,表示模型g
t
损失函数的Hessian矩阵,I表示模型g
t
对应的单位向量,f
i
(
·
)表示损失函数。
[0018]进一步地,所述基于所述模型生成待训练模型g
t+1
,包括:
[0019]对所述模型进行标准化操作,得到模型
[0020]利用验证数据集对所述模型进行检验,获取所述模型的表现
[0021]将所述表现按降序对进行排列,并挑选前k个模型
[0022]对前k个模型加权聚合,以得到待训练模型g
t+1

[0023]一种面向少量数据训练的联邦元学习服务端,所述服务端包括:
[0024]任务分发模块,用于将目标任务发送给参与联邦学习的节点,以使各节点根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示节点编号;
[0025]模型分发模块,用于将待训练模型g
t
发送给参与联邦学习的节点,以使各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型其中,t表示训练轮数;
[0026]模型聚合模块,用于接收各节点发送的所述模型并基于所述模型生成待训练模型g
t+1

[0027]模型验证模块,用于在所述待训练模型g
t+1
不满足所述目标任务的需求的情况下,令t=t+1,并返回至所述将待训练模型g
t
发送给参与联邦学习的节点;在所述待训练模型g
t+1
满足所述目标任务的需求的情况下,输出所述待训练模型g
t+1

[0028]一种电子设备,其特征在于,包括:
[0029]处理器;
[0030]用于存储所述处理器可执行指令的存储器;
[0031]所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1

4中任一所述的平衡各方调查数据差异的纵向联邦学习方法。
[0032]一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1

4中任一所述的平衡各方调查数据差异的纵向联邦学习方法。
[0033]一种面向少量数据训练的联邦元学习方法,应用于联邦学习的节点,所述方法包括:
[0034]接收服务端发来的目标任务,并根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示节点编号;
[0035]接收服务端发来的待训练模型g
t
,并利用利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型其中,t表示训练轮数;
[0036]将所述模型发送至服务端,以使服务端基于各节点的所述模型生成待训练模型g
t+1
,并判断所述待训练模型g
t+1
是否满足所述目标任务的需求:
[0037]在所述待训练模型g
t+1
不满足所述目标任务的需求的情况下,将所述待训练模型g
t+1
分发给各节点之后,令t=t+1,并返回至接收服务端发来的待训练模型g
t

[0038]在所述待训练模型g
t+1
满足所述目标任务的需求的情况下,输出所述待训练模型g
t+1

[0039]一种面向少量数据训练的联邦元学习节点,所述节点包括:
[0040]任务划分模块,用于接收服务端发来的目标任务,并根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向少量数据训练的联邦元学习方法,应用于联邦学习的服务端,其特征在于,所述方法包括:将目标任务发送给参与联邦学习的节点,以使各节点根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示节点编号;将待训练模型g
t
发送给参与联邦学习的节点,以使各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型其中,t表示训练轮数;接收各节点发送的所述模型并基于所述模型生成待训练模型g
t+1
;在所述待训练模型g
t+1
不满足所述目标任务的需求的情况下,令t=t+1,并返回至所述将待训练模型g
t
发送给参与联邦学习的节点;在所述待训练模型g
t+1
满足所述目标任务的需求的情况下,输出所述待训练模型g
t+1
。2.如权利要求1所述的方法,其特征在于,所述各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型包括:在子任务j上,利用对应的训练数据子集对所述待训练模型g
t
进行训练,得到模型获取所述模型在子任务j的数据集D
i,j
上的训练梯度基于所述训练梯度更新模型g
t
,得到模型3.如权利要求1所述的方法,其特征在于,所述生成模型的梯度更新的梯度更新其中,表示超参的单位向量,表示模型g
t
损失函数的Hessian矩阵,I表示模型g
t
对应的单位向量,f
i
(
·
)表示损失函数。4.如权利要求1所述的方法,其特征在于,所述基于所述模型生成待训练模型g
t+1
,包括:对所述模型进行标准化操作,得到模型利用验证数据集对所述模型进行检验,获取所述模型的表现将所述表现按降序对进行排列,并挑选前k个模型对前k个模型加权聚合,以得到待训练模型g
t+1
。5.一种面向少量数据训练的联邦元学习服务端,其特征在于,所述服务端包括:任务分发模块,用于将目标任务发送给参与联邦学习的节点,以使各节点根据所述目标任务生成至少一个相似的子任务j,且基于所述子任务j对本地数据集进行划分,得到数据集D
i,j
;其中,i表示节点编号;模型分发模块,用于将待训练模型g
t
发送给参与联邦学习的节点,以使各节点利用所述数据集D
i,j
对所述待训练模型g
t
训练之后,基于所有训练结果生成模型其中,t表示训练轮数;模型聚合模块,用于接收各节点发送的所述模型并基于所述模型生成待训练模型
g
t+1
;模型验证模块,用于在所述待训练模型g
t+1
不满足所述目标任务的需求的情况下,令t=t+1,并返回至所述将待训练模型g
t
发送给参与联邦学习的节点;在所述待训练模型g
t+1
满足所述目标任务的需求的情况下,输出所述待训练模型g
t+1
。6.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1

4中任一所述的平衡各方调查数据差异的纵向联邦学习方法。7.一种计算机可读存储介质,其上存储有计算机...

【专利技术属性】
技术研发人员:关志陈钟唐礼勇韩亚吴振豪高健博陈子明任立峰刘勇孔坚黄亮张锴刘娟
申请(专利权)人:奇安信科技集团股份有限公司北京大学重庆大数据研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1