首页> 中国专利> 基于主动学习和模型压缩的联邦学习全局模型训练方法

基于主动学习和模型压缩的联邦学习全局模型训练方法

摘要

一种基于主动学习和模型压缩的联邦学习全局模型训练方法,其步骤为:服务器利用生成的预训练集,对构建的联邦学习全局模型进行预训练,并下发至由客户端组成的每个簇中,每个簇中客户端基于主动学习利用生成的客户端样本集,按照静态顺序依次训练下发的联邦学习全局模型,训练完成后对模型参数进行模型压缩,将压缩后的模型参数上传至服务器,服务器对上传的模型参数进行加权聚合后下发至每个簇中,当联邦学习全局模型性能达到预期目标或模型损失函数收敛时结束训练。本发明的方法在未标记且独立同分布的数据环境上提升模型精确度的同时,降低了传输过程中的通信开销。

著录项

  • 公开/公告号CN114943345A

    专利类型发明专利

  • 公开/公告日2022-08-26

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN202210658274.4

  • 发明设计人 张琛;胡雄伟;鱼滨;解宇;

    申请日2022-06-10

  • 分类号G06N20/20(2019.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构陕西电子工业专利中心 61205;陕西电子工业专利中心 61205;

  • 代理人田文英;王品华

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-06-19 16:31:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-13

    实质审查的生效 IPC(主分类):G06N20/20 专利申请号:2022106582744 申请日:20220610

    实质审查的生效

说明书

技术领域

本发明属于数据处理技术领域,更进一步涉及机器学习模型梯度数据处理技术领域中的一种基于主动学习和模型压缩的联邦学习全局模型训练方法。本发明可用于客户端协同训练机器学习模型。

背景技术

联邦学习是一种新兴的机器学习范式,其核心思想是在客户端上利用本地数据训练本地模型,并将模型参数发送到服务器以聚合全局模型。目前主流的联邦学习侧重于这个假设:参与学习的客户端的本地训练数据都是真实有标签且数据分布呈独立同分布。由于在真实场景中每个客户端都缺乏独立同分布的监督数据,而且为给定的联邦学习任务构建此类数据集是非常耗时、复杂的工作,使得在未标记的非独立同分布数据上训练高质量模型具有非常大的挑战性。此外,在整个训练过程中,本地客户端需要与中央服务器进行频繁的交互通信,其通信效率也制约着联邦学习全局模型训练的效率,如何减少单次通信开销和整体通信次数以提升联邦学习通信效率成为高效联邦学习的瓶颈。

华南理工大学在其申请的专利文献“一种针对数据异构性的个性化联邦元学习方法”(专利申请号:202111535626.9,专利公布号:CN 114357067 A,公布日期2022.04.15)中提出了一种个性化的联邦学习全局模型训练方法。该方法的主要步骤包括以下:(1)确定各个客户端初始化阶段时的自动编码器结构以及个性化阶段时的元模型结构。(2)进行初始化阶段以获得不同数据分布的中心点。(3)客户端参与联邦训练,根据每轮上传的数据分布向量将客户端划分为多个组。(4)对每个组内的客户端模型进行聚合并下发给组内的客户端进行下一轮迭代。(5)联邦训练结束后,客户端在其组内元模型及其本地数据上进行调整产生个性化模型。该方法存在的不足之处是:该方法在面对缺乏监督数据的情况下执行联邦学习任务时,客户端模型优化程度有限,导致模型性能较低。

黑龙江大学在其申请的专利文献“基于non-IID数据的半监督联邦学习方法”(专利申请号:202111361762.0,专利公布号:CN 114065951 A,公布日期2022.02.18)中提出了一种针对非独立同分布且未标记数据的联邦学习全局模型训练方法。该方法的主要步骤包括以下:(1)服务器随机从全部客户端中选择设定比例的客户端,并发送全局模型给选择的客户端。(2)服务器在标记的数据集上使用本地优化器来训练并获得监督模型。(3)每个被选定的客户端使用本地无标签数据集来训练从服务器接收到的全局模型,并获得无监督模型发送给服务器。(4)服务器聚合客户端上传的无监督模型,并得到全局无监督模型。(5)服务器将本轮训练中获得的全局无监督模型,监督模型和上一轮的全局模型聚合得到新的全局模型。(6)重复步骤(1)至步骤(5),直至全局模型收敛。该方法存在的不足之处是:该方法在步骤三中需要客户端上传本地训练的全部无监督模型,占用了大量的存储空间,增加了传输过程的通信开销。

发明内容

本发明的目的在于针对上述现有技术存在的不足,提出一种基于主动学习和模型压缩的联邦学习全局模型训练方法,用于解决联邦学习在客户端缺乏监督数据、数据分布为非独立同分布情况下训练模型质量低和通信开销大的问题。

实现本发明目的的思路是,本发明通过将客户端随机划分到不同的簇中,并在簇中利用主动学习训练客户端模型,从而在缺乏监督数据、数据呈非独立同分布情况下得到高质量模型。主动学习是一种在缺乏监督数据情况下训练机器学习模型的方法,通过指定的查询策略从未标记数据集中逐步选择和注释信息量最大的未标记样本,并利用这些注释后的样本训练模型以提升模型性能。在本发明中,每个客户端在主动学习过程中利用不同的查询策略分别训练本地模型,以挖掘并学习非独立同分布数据的潜藏知识来提高模型性能。在此基础上,将簇中的客户端模型以静态的顺序传递给下一个客户端继续训练,使得模型在多个数据样本空间上优化,对比传统的客户端模型训练方式进一步提高了模型性能。因此,本发明通过主动学习多个查询策略以及顺序学习方式训练模型,实现了在缺乏监督数据、数据呈非独立同分布情况下训练得到高质量模型。此外,本发明通过模型压缩对客户端的本地模型参数进行压缩,从而降低了传输过程的通信成本,提高了联邦学习全局模型训练效率。在联邦学习中,模型压缩指的是通过当前模型的性能结果来提取出在每次训练中影响较显著的本地模型梯度中的参数值,从而控制本地模型梯度的上传规模,降低通信成本。因此,对本地模型进行压缩可以减少客户端单次通信传输开销,提高联邦学习全局模型训练效率。

实现本发明目的的具体步骤如下:

步骤1,生成预训练集:

步骤1.1,选取至少50000张图像组成样本集,该样本集包含至少10种类别;

步骤1.2,样本集中的每张图像进行预处理,在预处理好的样本集中每种类别随机选取至少4000个样本组成预训练集;

步骤2,生成客户端样本集;

步骤3,构建联邦学习全局网络;

步骤4,服务器对联邦学习全局网络进行预训练;

步骤5,确定二次训练的客户端;

步骤6,客户端对服务器下发的联邦学习全局网络进行二次训练;

步骤7,对训练好的联邦学习客户端网络进行模型压缩:

步骤7.1,利用求差公式,计算联邦学习客户端网络的参数矩阵与服务器下发到簇中的联邦学习全局网络的参数矩阵的变化量;

步骤7.2,利用压缩阈值计算方法,计算联邦学习客户端网络参数的压缩阈值;

步骤7.3,根据压缩阈值对联邦学习客户端网络进行模型压缩;

步骤8,对模型压缩后的网络参数进行加权聚合;

步骤9,将聚合后的联邦学习全局网络下发到每个簇中;

步骤10,判断聚合后的断联邦学习全局网络是否满足训练终止条件,若是,则执行步骤11,否则,执行步骤6;

步骤11,得到最终训练好的联邦学习全局网络。

本发明与现有技术相比有以下优点:

第一,本发明对客户端划分到不同的簇中,并在簇中利用主动学习的不同查询策略训练本地模型,由于模型得以在多个的数据样本空间上进行优化且进一步挖掘学习异构数据的潜藏知识,显著提升了模型性能,克服了现有技术存在的客户端对于缺乏监督数据、数据分布为非独立同分布情况下训练模型性能低的不足,使得本发明对于联邦学习在未标记且非独立同分布的数据集环境下,提高了模型性能,增强了模型泛化能力。

第二,本发明对簇客户端模型进行压缩,并通过上传簇客户端模型参数的方式降低了通信中上传本地模型参数的规模,克服了现有技术存在的本地客户端上传本地模型参数中通信开销大的缺陷,使得本发明在达到所需全局模型精确度要求的前提下,降低了传输过程中通信成本,提高了整体联邦学习全局模型训练过程的效率。

附图说明

图1是本发明的流程图。

具体实施方式

通常,联邦学习利用分布在客户端本地的隐私数据进行分布式训练的方式获得一个具有良好预测能力的机器学习模型。具体来说,中央服务器通过聚合本地用户经过本地训练获得的本地模型参数,获得更新联邦学习全局模型参数。然后,中央服务器使用该全局模型参数对联邦学习全局模型进行更新。该联邦学习全局模型更新过程迭代进行,直到满足确定的训练终止条件。

下面结合图1和实施例,对本发明的实现步骤做进一步的详细描述。

步骤1,生成预训练集。

步骤1.1,本发明的实施例是将手写数字灰度图像MNIST(Mixed NationalInstitute of Standards and Technology database)数据集中所有图像组成样本集,该样本集中包括从0到9的10个种类。对样本集中每张图像进行随机裁剪,固定图像像素尺寸为28*28,得到预处理后的样本集。

步骤1.2,从预处理好的样本集的每种类别中随机选取5500张图像,共55000张图像组成预训练集。

步骤2,对客户端分配样本集。

步骤2.1,从MNIST样本集中每次随机选取5种不同的类别、每种类别包含1400张图像组成一个客户端样本集。采用相同方式随机选取100次,得到100个不同的客户端样本集。每个客户端对应100个不同的客户端样本集中的一个客户端样本集。

步骤2.2,每个客户端在其分配的7000张图像的样本集中,随机选取每种类别的1200张图像,共6000张图像组成客户端的训练集。将样本集中剩余1000张图像数据组成测试集。

步骤3,构建联邦学习全局网络。

根据步骤1.1的图像样本集,基于卷积神经网络的架构,构建一个联邦学习全局网络,该联邦学习全局网络能够基于图像样本集完成图像分类学习任务。卷积神经网络架构为由卷积组、池化组、全连接组串联组成的人工神经网络,其中卷积组包含N

本发明实施例中所述的基于卷积神经网络的架构是构建一个7层的联邦学习全局网络,设置N

将第一至第三卷积层的维度分别设置为28*28,13*13,5*5,卷积核的个数分别设置为32,64,64,卷积核的大小均设置为3*3,步长均设置为1,激活函数均采用Relu函数。

第一、第二池化层均采用最大池化方式,池化区域核的大小均设置为2*2,步长均设置为2。

将第一、第二全连接层的维度分别设置为64,10。

步骤4,服务器对联邦学习全局网络进行预训练。

服务器将预训练集输入到构建好的联邦学习全局网络中,利用随机梯度下降法,迭代更新网络参数,直至损失函数收敛为止,得到预训练好的联邦学习全局网络。所述的损失函数为:

其中,L表示损失函数,N表示训练集中样本的总数,log表示以自然常数e为底的对数操作,t

步骤5,确定二次训练的客户端。

步骤5.1,从100个客户端中随机选取10个未选过的客户端连接后组成一个簇,采用相同方式采用相同方式对所有客户端进行选簇,得到10个簇。

步骤5.2,将预训练好的联邦学习全局网络下发给每个簇。

步骤6,客户端对服务器下发的联邦学习全局网络进行二次训练。

从每个簇中的头部客户端开始,簇中的所有客户端按照连接顺序,依次使用对客户端分配的样本集,训练下发的联邦学习全局网络,最终得到客户端网络。例如,第n个簇中的第k个客户端利用分配的样本集,对第n个簇中的第k-1个客户端训练后的联邦学习全局网络进行训练,当训练完成后,第n个簇中的第k+1个客户端以相同方式继续训练,直至簇中的尾部客户端对联邦学习全局网络训练完成,得到第n个簇的联邦学习客户端网络。

第n个簇中的第k个客户端对联邦学习全局网络的训练方式如下:

将第n个簇中的第k个客户端的分配样本集,输入到前一个客户端训练完成后的联邦学习全局网络中,输出样本集的分类结果。依次利用最小置信度查询策略、边缘置信度查询策略、基于熵的查询策略三种主动学习的不确定性查询策略,对输出的结果进行不确定性查询,将查询到的最不确定的结果,所对应的样本组成三个查询样本集:最小置信度查询样本集

其中,∩表示对集合中的元素进行求交集运算。

将获得的最终查询的样本集输入到联邦学习全局网络中,利用随机梯度下降法迭代更新网络参数,直至损失函数收敛为止。得到第n个簇中的第k个客户端训练好的联邦学习全局网络。

本发明的实施例中10个簇中的所有客户端都利用上述训练方式,训练所在簇中的联邦学习全局网络,当10个簇的客户端全都训练完成后,获得10个训练好的联邦学习客户端网络。

步骤7,对联邦学习客户端网络进行模型压缩。

步骤7.1,利用下述求差公式,计算联邦学习客户端网络的参数矩阵与服务器下发到簇中的联邦学习全局网络的参数矩阵的变化量:

其中,w′

步骤7.2,对变化量按照降序排列,将排序中的第

步骤7.3,判断联邦学习客户端网络中每个参数值是否大于或等于压缩阈值,若是,则保留该参数值;否则,将该参数值置为空值。

由于将联邦学习客户端网络参数矩阵中的参数值置为空值后,减小了联邦学习客户端网络参数矩阵所占用的内存,从而完成了模型压缩。

在本发明的实施例中,当对10个联邦学习客户端网络中的所有参数值选取完成后,获得10个模型压缩后的网络。

步骤8,对模型压缩后的网络参数进行加权聚合。

利用下述聚合公式,服务器对10个模型压缩后的网络参数进行加权聚合获得联邦学习全局网络参数:

其中,

步骤9,将聚合后的联邦学习全局网络下发到每个簇中。

步骤10,判聚合后的断联邦学习全局网络是否满足训练终止条件,若是,则执行步骤11,否则,将当前迭代次数加1后执行步骤6。

所述训练终止条件指的是满足下述条件之一的情形:

条件1,联邦学习全局网络性能达到指定的预期目标。

条件2,联邦学习全局网络的损失函数收敛。

步骤11,得到最终训练好的联邦学习全局网络。

下面结合仿真实验对本发明的效果做进一步的说明。

1.仿真实验条件:

本发明的仿真实验的硬件平台为:处理器为Intel(R)Xeon(R)CPU E5-2650v4,主频为2.20GHz,内存256GB。

本发明的仿真实验的软件平台为:Ubuntu 18.04操作系统和python 3.6。

本发明仿真实验所使用的数据集为来自美国国家标准与技术研究所的MNIST手写识别图像数据集。该数据集是美国国家标准与技术研究所通过对250个人的手写数字内容进行处理后生成的。其中的参与者一半来自高中学生,另一半来自人口普查工作人员。该数据集共有70000条数据,包括60000条训练集数据和10000条测试集数据。每个样本都是一张28*28像素的灰度手写数字图片。

2.仿真内容及其结果分析:

本发明仿真实验是采用本发明和三个现有技术(FL全局模型训练方法、FedMatch全局模型训练方法、CMFL全局模型训练方法)分别在MNIST数据集上进行全局模型训练,获得四种方法对应的训练结果。仿真实验所模拟的场景是100客户端协同训练一个联邦学习全局模型。

在仿真实验中,采用的四个现有技术是指:

现有技术FL全局模型训练方法是指,Mcmahan等人在“Communication-EfficientLearning of Deep Networks from Decentralized Data.2016”中提出的联邦学习全局模型方法,简称FL全局模型训练方法。

现有技术PSCN分类方法指的是,JEONG W等人在“Federated semi-supervisedlearning with inter-client consistency&disjoint learning,InternationalConference on Learning Representations.2021.”中提出的联邦学习全局模型训练方法,简称FedMatch全局模型训练方法。。

现有技术CMFL全局模型训练方法是指,LUPING W等人在“Cmfl:Mitigatingcommunication overhead for federated learning,in:2019 IEEE 39th internationalconference on distributed computing systems,2019”中提出的联邦学习全局模型训练方法,简称CMFL全局模型训练方法。

为了验证本发明仿真实验的效果,利用下述两个评价指标(精确度、通信时间)分别对四种方法的联邦学习全局模型训练结果进行评价,将所有计算结果绘制成表1。

表1中精确度是指100个客户端协同进行联邦学习全局模型训练,并使全局模型最终收敛时的精确度值。通信时间指的是全局模型最终收敛达到精确度值时所需要经历的迭代次数。

表1.仿真实验中本发明和各现有技术训练结果一览表

由表1可以看出,最基本的FL全局模型训练方法最终收敛时可以获得99.01%的精确度。FedMatch全局模型训练方法由于基于半监督学习方法,非独立同分布的数据集上获得了接近于FL全局模型训练方法达到的精确度。CMFL全局模型训练方法通过对客户端模型压缩,降低了通信所需的时间,提高了传输过程的通信效率,同时,模型精确度略高于FL全局模型训练方法达到的精确度。本发明方法结合了主动学习和模型压缩的优越性,最终全局模型可以获得超越FL全局模型训练方法的精确度(99.35%)。本发明方法既提高了在非独立同分布数据上训练的精确度,又降低了通信成本,提高了联邦学习全局模型训练的效率。证明本发明可以提高模型精度的情况下进行通信高效的联邦学习全局模型训练。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号