联邦学习模型训练方法、装置、非易失性存储介质及电子设备与流程
未命名
09-10
阅读:168
评论:0

1.本技术涉及信息技术领域,具体而言,涉及一种联邦学习模型训练方法、装置、非易失性存储介质及电子设备。
背景技术:
2.现有的联邦学习算法中,为了避免训练过程中出现的模型异构问题,通常会采用多任务联邦学习模型。但是多任务联邦学习模型在训练过程中存在客户端不平等、计算冗余等问题,导致训练完成后部分节点本地的模型性能达不到用户需求,且训练过程中所需的算力过多。
3.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
4.本技术实施例提供了一种联邦学习模型训练方法、装置、非易失性存储介质及电子设备,以至少解决相关技术中的多任务联邦学习模型在训练过程中存在客户端不平等、计算冗余的问题导致的训练完成后的部分本地节点中的模型性能达不到用户需求,且训练过程占用计算资源过多的技术问题。
5.根据本技术实施例的一个方面,提供了一种联邦学习模型训练方法,包括:确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内。
6.可选地,训练完成后,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:在每一训练轮次中,在对全局模型训练前,依据全局修正系数对本地模型进行多次修正梯度下降;在多次修正梯度下降之后,依据全局修正系数和修正后的本地模型确定第一节点对应的局部修正系数;依据局部修正系数对全局修正系数进行更新。
7.可选地,第一节点包括多个第二节点和调度器,调度器用于对第二节点进行分配调度,其中,第一节点对应的散度值在预设散度值取值范围内。
8.可选地,确定全局模型和各个第一节点对应的本地模型的步骤之前,联邦学习模型训练方法还包括:指示调度器依据各个第二节点对应的数据,对调度器对应的本地模型进行本地迭代训练,直到各个第二节点之间相对均衡,其中,各个第二节点之间相对均衡包括任意两个第二节点之间的负载差值在允许范围内,并且任意两个第二节点对本地模型的贡献均衡。
9.可选地,确定全局模型和各个第一节点对应的本地模型的步骤之前,联邦学习模型训练方法还包括:从全部的第二节点中确定离群节点;计算各个离群节点的标准正态分布分数,并根据标准正态分布分数确定多数类离群节点和少数类离群节点,其中,多数类离
群节点的标准正态分布分数大于第一分数阈值,少数类离群节点的标准正态分布分数小于第二分数阈值,第一分数阈值大于第二分数阈值;对多数类离群节点中的数据进行降采样处理,以及对少数类离群节点中的数据进行扩充处理,其中,扩充处理包括对少数类离群节点中的数据进行位移处理,旋转处理和剪切处理。
10.可选地,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤之前,联邦学习模型训练方法还包括:确定全局优化目标和各个第一节点对应的本地优化目标,其中,全局优化目标用于对全局模型进行训练,本地优化目标用于对本地模型进行训练;确定本地优化目标的优化目标控制参数,其中,优化目标控制参数用于确定本地优化目标和全局优化目标的相似度,目标控制参数越大,本地优化目标与全局优化目标之间的相似度越大。
11.可选地,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:依据优化目标控制参数确定目标正则项,其中,目标正则项用于对本地优化目标进行调整,使得本地优化目标接近全局优化目标;采用目标正则项对调整本地优化目标,并采用调整后的本地优化目标对本地模型进行训练。
12.根据本技术实施例的另一方面,还提供了一种联邦学习模型训练装置,包括:第一处理模块,用于确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;第二处理模块,用于通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;第三处理模块,用于获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内。
13.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行联邦学习模型训练方法。
14.根据本技术实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行联邦学习模型训练方法。
15.在本技术实施例中,采用确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内的方式,通过交替训练全局模型和本地模型,达到了保障联邦学习模型训练过程中各个终端设备的公平性的技术效果,进而解决了相关技术中的多任务联邦学习模型在训练过程中存在客户端不平等、计算冗余的问题导致的训练完成后的部分本地节点中的模型性能达不到用户需求,且训练过程占用计算资源过多技术问题。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本申
请的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1是根据本技术实施例提供的一种计算机终端的结构示意图;
18.图2是根据本技术实施例提供的一种联邦学习模型训练方法的流程示意图;
19.图3是根据相关技术提供的一种采用梯度修正的训练流程的流程示意图;
20.图4是根据本技术实施例提供的一种采用梯度修正的训练流程的流程示意图;
21.图5是根据本技术实施例提供的一种联邦学习模型训练装置的结构示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.为了更好地理解本技术实施例,以下将本技术实施例中涉及的技术术语解释如下:
25.联邦学习模型:联邦学习模型是一种机器学习方法,目的是解决模型训练过程中的数据隐私和安全性的问题。在传统的机器学习方法中,数据集通常集中存储在一个中央位置,并由单个实体或组织进行训练。而在联邦学习模型中,数据集被分散存储在多个本地设备或边缘设备上,模型训练过程在本地设备上进行,仅使用本地数据进行训练,不需要将数据传递给中央服务器,只有模型的更新参数会被传输到中央服务器。
26.non-iid数据场景:指的是数据集中的样本分布不均匀或不独立同分布的情况。在该场景下,不同样本的分布可能存在明显的差异,比如某些类别的样本数量远多余其他类别,或者不同的样本特征分布存在明显的差异。
27.随着网络接入设备的不断增加、数据量的飞速增长和用户对数据隐私的要求,联邦学习模型由于其不暴露设备自身数据,仅通过参数聚合进行训练的特点,逐渐成为一种主流的模型训练方式。而且联邦学习模型作为新兴的多方机器学习框架,有望在当前集中式的云计算带来许多诸如参与方隐私问题和海量数据导致的网络限制等问题的情况下,成为许多复杂的多方参与机器学习场景的核心解决方案。目前联邦学习存在的几大研究挑战包括数据异构、传输效率、攻击抵御、服务估值和用户选择等。
28.但是联邦学习模型依然会存在以下问题:
29.第一点,联邦学习模型的训练过程中本身需要大量的计算资源和网络资源,因此在多客户端参与的大型多方计算场景下,需要对客户端进行编排调度从而减轻网络压力,
以及通过压缩和编码等方式节省传输成本。
30.第二点,虽然联邦学习不直接暴露边缘节点的数据,但是根据梯度数据等参数的传输,可能也会获取到边缘端的信息,因此联邦学习模型的训练过程中也会存在隐私泄露的风险;另外,边缘节点易受攻击,且可能存在恶意的参与方破坏模型的学习过程。
31.第三点,联邦学习模型的数据异构性是天然存在的,参与计算的客户端往往是移动智能设备或物联网设备,其训练数据的数据规模、特征分布等往往存在较大差异,这就会导致全局模型的精度难以提高,进而导致模型异构等问题,严重影响最终训练得到的联邦学习模型的性能。
32.具体地,由于参与训练过程的每个本地设备都只记录其所有者的相关活动数据,因此不同的本地设备中的数据往往存在数据大小不同、数据特征和目标类别分布不同的情况,导致任何本地设备的数据分布情况均不能代表整体的数据分布情况。并且由于联邦学习模型自身的聚合方式存在的缺陷,即跨本地设备生成的本地数据存在固有的异构性,导致联邦学习模型的训练过程中无法避免数据异构问题带来的精度损失。例如在non-iid数据场景中,由于数据集的类不平衡、分布不平衡或规模不平衡,导致最终训练得到的模型性能不能满足用户需求。
33.为了解决数据异构的问题,相关技术中提供了迁移学习、主动学习、多任务学习、客户端集群、数据增强等方式。其中,多任务学习指的是通过维护多个独立的模型避免模型异构问题。但多任务联邦学习存在客户端不平等、计算冗余等问题。
34.为了解决上述多任务联邦学习模型中存在的客户端不平等、计算冗余等问题,本技术实施例中提供了相关的解决方案,以下详细说明。
35.根据本技术实施例,提供了一种联邦学习模型训练方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
36.本技术实施例所提供的方法实施例可以通过移动终端、计算机终端或者类似的运算装置来远程或通过有线通信的方式控制服务器来执行。图1示出了一种用于实现联邦学习模型训练方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
37.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
38.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的联邦学习模型训练方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的联邦学习模型训练方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
39.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
40.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
41.在上述运行环境下,本技术实施例提供了一种联邦学习模型训练方法,如图2所示,该方法包括如下步骤:
42.步骤s202,确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;
43.在步骤s202所提供的技术方案中,第一节点包括多个第二节点和调度器,调度器用于对第二节点进行分配调度,其中,第一节点对应的散度值在预设散度值取值范围内。
44.具体地,在多任务联邦学习模型中,由于每个调度器(也就是第一节点)会对若干个边缘节点(也就是第二节点)进行调度,每个调度器和其负责调度的若干个边缘计算节点共同维护一个本地模型。另外在训练过程中,调度器可以先控制对应的边缘节点进行内部迭代,从而达到内部节点的局部平衡,之后再以调度器为单位参与联邦平均。
45.在确定调度器对应的边缘节点时,应确保分配给调度器的边缘节点的数量不超过调度器的容积上限,其中,调度器的容积可以由开发人员自行设定。为了满足最大程度的局部均衡,调度器对应的各个边缘节点的数据分布应当尽可能地接近均匀分布。另外,调度器可以通过对各个边缘节点进行遍历kld(kullback-leibler divergence,分布散度)计算并确定该计算结果是否在一个预设取值区间内来判断调度器对应的数据是否接近均匀分布。
46.作为一种可选地实施方式,确定全局模型和各个第一节点对应的本地模型的步骤之前,联邦学习模型训练方法还包括:指示调度器依据各个第二节点对应的数据,对调度器对应的本地模型进行本地迭代训练,直到各个第二节点之间相对均衡,其中,各个第二节点之间相对均衡包括任意两个第二节点之间的负载差值在允许范围内,并且任意两个第二节点对本地模型的贡献均衡。
47.在本技术的一些实施例中,为了保证训练效果,缓解全局不平衡的问题,在确定全局模型和各个第一节点对应的本地模型的步骤之前,可以对边缘节点中的数据进行预处理,包括如下步骤:从全部的第二节点中确定离群节点;计算各个离群节点的标准正态分布分数,并根据标准正态分布分数确定多数类离群节点和少数类离群节点,其中,多数类离群节点的标准正态分布分数大于第一分数阈值,少数类离群节点的标准正态分布分数小于第
二分数阈值,第一分数阈值大于第二分数阈值;对多数类离群节点中的数据进行降采样处理,以及对少数类离群节点中的数据进行扩充处理,其中,扩充处理包括对少数类离群节点中的数据进行位移处理,旋转处理和剪切处理。
48.具体地,可以采用基于z-score的离群点检测算法的变体来确定边缘节点中的离群节点,以及确定离群节点的类型,并根据离群节点的类型对离群节点中的数据进行数据增强或降采样处理。执行本技术所提供的联邦学习模型训练方法的服务器可以先收集客户端的样本数据分布情况,并根据分布情况计算节点的z-score,然后将各个节点的z-score分数与预设的第一分数阈值τd和第二分数阈值τa进行比较,并根据比较结果确定多数类离群节点和少数类离群节点。对于多数类离群节点,可以采用降采样的方式来降低数据规模,对于少数类离群节点,可以采用对原数据进行随机的位移、旋转、剪切的方式来获取新的数据从而对数据规模进行增加。增加或降低数据规模的具体程度可以用参数r
ad
来衡量,r
ad
为在节点当前数据规模的基础上,增加或减少的数据比例。
49.通过上述采用调度器管理多个边缘节点,并以调度器为单位进行多任务联邦学习的方式,可以有效缓解常规联邦学习中可能存储在的统计异构性问题,而且可以减少训练过程中的计算冗余和样本数量少的节点对训练的贡献度低的问题。具体地,以调度器为单位进行矩阵优化时,可以显著减少每一轮次的计算量。
50.步骤s204,通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;
51.采用本技术所提供的交替训练全局模型和本地模型的方法,可以同时提升训练过程中的公平性和鲁棒性。其中,公平性指的是训练完成的模型跨设备的性能表现一致性,可以将所有客户端设备(边缘节点)的测试loss作为衡量公平性地标准。鲁棒性指的是对于恶意节点在训练阶段发起的攻击的抵抗能力大小,可以用良性节点的测试性能来体现。而相关技术中的联邦学习模型训练方法,通常采用每个客户端设备独立优化本地模型的方式,虽然可以保证鲁棒性,但是在公平性上表现较差,即使通过节点调度的方式将客户端的训练结果进行聚合,也无法避免部分客户端中模型的性能表现较差的问题。
52.在步骤s204所提供的技术方案中,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤之前,联邦学习模型训练方法还包括:确定全局优化目标和各个第一节点对应的本地优化目标,其中,全局优化目标用于对全局模型进行训练,本地优化目标用于对本地模型进行训练;确定本地优化目标的优化目标控制参数,其中,优化目标控制参数用于确定本地优化目标和全局优化目标的相似度,目标控制参数越大,本地优化目标与全局优化目标之间的相似度越大。
53.作为一种可选地实施方式,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:依据优化目标控制参数确定目标正则项,其中,目标正则项用于对本地优化目标进行调整,使得本地优化目标接近全局优化目标;采用目标正则项对调整本地优化目标,并采用调整后的本地优化目标对本地模型进行训练。
54.具体地,假设联邦学习过程的全局优化目标可以用如下公式表示:
55.minwg(f1(w),
…fk
(w))
56.上述公式中,g()为聚合本地目标函数的函数,w为全局优化目标模型,f为各个设
备的本地目标,minw表示训练目标为本地目标函数的聚合函数的结果收敛,k为总的设备数量,在基于节点调度的多任务联邦学习过程中也可以看做是调度器的数量。
57.由于不同客户端中的数据分布情况不同,因此对于任意一个节点k而言,节点k的优化目标可以表示为如下公式:
[0058][0059]
上述公式中d(k)表示节点k的全部数据,fk表示节点k对应的模型的优化目标下单个数据xk的loss计算,xk表示数据集中的任意一个数据,“:=”表示复制操作,e表示xk对应的误差。
[0060]
当节点k优化一个独立的本地模型时,优化目标可以用如下公式表示:
[0061][0062]
其中vk为节点k的目标模型,也就是上述独立的本地模型。
[0063]
作为一种可选地实施方式,在训练过程中可以在对本地模型训练的过程中增加如下正则项,从而使得本地的优化目标和可以逼近全局的优化目标:
[0064][0065][0066]
上述正则项中的各个参数含义可以参见前文中的其他公式。参数λ为上述优化目标控制参数。当λ等于0时,节点k训练本地模型,也就是说本地模型的训练目标与全局模型的训练目标差异较大。而当λ趋于无穷时节点k的目标将无限逼近全局优化目标。
[0067]
作为一种可选地实施方式,在确定了上述优化目标后,本技术实施例所提供的模型训练过程如下:
[0068]
第一步,初始化参数,包括初始化k,t,s,λ,η,ω0,{vk},k∈[k]等参数;
[0069]
第二步,在第t轮训练过程中,服务器选择若干个节点s
t
,并向这些节点发送全局模型ω
t
。
[0070]
节点在接收到全局模型后,首先按照联邦聚合算法对聚合模型进行训练更新,可用如下公式表示:
[0071][0072]
上述公式中的表示训练更新后的模型及其参数,update_global()表示训练过程,w
t
为全局模型ωt的模型参数,表示训练过程中的目标函数。
[0073]
在全局模型训练完成后,节点还会对本地模型进行训练更新,可以用如下公式表示:
[0074][0075]
上述公式表示以h()函数为优化目标对本地模型执行梯度下降地训练操作,η表示学习率。
[0076]
在步骤s204所提供的技术方案中,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:在每一训练轮次中,在对全局模型训练前,依据全局修正系数对本
地模型进行多次修正梯度下降;在多次修正梯度下降之后,依据全局修正系数和修正后的本地模型确定第一节点对应的局部修正系数;依据局部修正系数对全局修正系数进行更新。
[0077]
具体地,在联邦学习过程中,通信效率是影响训练效果的重要挑战之一。在多任务联邦学习场景下,由于关系矩阵优化的复杂性,联邦学习的拟合效率将进一步降低,在非交替优化情况下有些模型无法实现拟合。在相关技术如fedavg算法中,一次训练的具体训练过程如图3所示,节点在一轮次内进行多次本地梯度下降更新。但是相关技术中的这种方式在面临non-iid数据时会产生模型精度下降的问题。为了解决这个问题,可以使用本技术所提供的scaffold算法,在节点进行本地梯度下降时加入对另一个修正参数的优化,利用该修正参数控制节点梯度总是沿着相对正确的方向下降。这样在每个训练轮次中,节点会在对全局模型和本地模型更新后,对节点修正参数进行本地更新,然后再进行各个节点的模型聚合和全局修正参数的更新。
[0078]
作为一种可选地实施方式,修正参数的更新规则可以用如下公式表示:
[0079][0080]
上述公式中,gi()为计算节点模型参数的梯度的函数。ci为第i和节点的修正参数,k为本地训练中计算整个数据集所需的次数,x为全局模型,yi为节点i的本地模型,η
l
为本地更新的学习率。
[0081]
各个节点可以根据本地模型的训练任务特点自适应选取参数优化方案。在节点对本地的修正参数修正完成后,服务器可以对全局修正参数进行更新。具体地,服务器首先会对参与训练的各个节点进行联邦平均处理,具体公式如下:
[0082][0083]
上述公式中ηg表示全局更新时的学习率,表示所有节点的集合,x表示全局模型。
[0084]
之后服务器可以对全局的修正参数进行更新,并为下一次局部梯度修正做准备,具体公式如下:
[0085][0086]
作为一种可选地实施方式,本技术实施例中还提供了一种如图4所示的在联邦学习模型训练过程中进行梯度下降修正的流程,包括如下步骤:
[0087]
首先输入调度器模型xt全局修正系数c,对于调度器t,yt
←
xt,也就是对调度器中的模型进行更新,然后对yt进行k次修正梯度下降。
[0088]
yt
←
yt-ηl(gt(yt)-ct+c)
[0089]
随后更新局部修正系数并更新全局修正系数
[0090]
[0091]
上述公式中m为调度器总数,c为全局修正系数,上述公式表述可以通过对各个调度器的局部修正系数c
t
进行加权平均来更新全局修正系数。
[0092]
最后发送优化后的调度器模型参数,进行联邦学习模型的本地更新和全局更新。
[0093]
具体地,从图4中可以看出,采用本技术所提供的提取修正方法来进行联邦学习模型的训练时,调度器接收全局模型xi更新本地模型yi,然后本地模型yi利用本地数据以及局部修正系数ci以及全局系数c进行梯度修正更新yi,再得到新的局部修正系数并将这些参数发送给全局服务器,服务器获取各个调度器的局部修正系数以及模型,进行加权平均得到全局修正系数和全局模型,然后进入交替优化的下一步。
[0094]
步骤s206,获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内。
[0095]
通过采用确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内的方式,通过交替训练全局模型和本地模型,达到了保障联邦学习模型训练过程中各个终端设备的公平性的技术效果,进而解决了相关技术中的多任务联邦学习模型在训练过程中存在客户端不平等、计算冗余的问题导致的训练完成后的部分本地节点中的模型性能达不到用户需求,且训练过程占用计算资源过多技术问题。
[0096]
另外,采用本技术所提供的交替优化策略,在通过节点调度减少多任务学习的冗余计算的前提下,能够在泛化策略和个性化策略中交替优化,同时提高客户端的公平性和整体模型的性能。而且采用本技术所提供的梯度下降修正方法,可以通过梯度下降的方式有效减少模型拟合所需的轮次,提升拟合速率的同时能够提升个性化模型的精度。
[0097]
综上所述从,采用本技术所提供的联邦学习模型训练方法可以有效地减少训练过程中所需的计算资源,并且保证最终得到的模型在参与到训练过程中的各个终端设备上的性能表现差异较小。
[0098]
本技术实施例提供了一种联邦学习模型训练装置,图5是该装置的结构示意图,如图5所示,该装置包括:第一处理模块50,用于确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点中;第二处理模块52,用于通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;第三处理模块54,用于获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型,其中,各个第一节点对应的目标本地模型的测试指标均在预设测试指标取值范围内。
[0099]
在本技术的一些实施例中,第一节点包括多个第二节点和调度器,调度器用于对第二节点进行分配调度,其中,第一节点对应的散度值在预设散度值取值范围内。
[0100]
在本技术的一些实施例中,确定全局模型和各个第一节点对应的本地模型的步骤之前,第一处理模块50还用于:指示调度器依据各个第二节点对应的数据,对调度器对应的
本地模型进行本地迭代训练,直到各个第二节点之间相对均衡,其中,各个第二节点之间相对均衡包括任意两个第二节点之间的负载差值在允许范围内,并且任意两个第二节点对本地模型的贡献均衡。
[0101]
在本技术的一些实施例中,确定全局模型和各个第一节点对应的本地模型的步骤之前,第一处理模块50还用于:从全部的第二节点中确定离群节点;计算各个离群节点的标准正态分布分数,并根据标准正态分布分数确定多数类离群节点和少数类离群节点,其中,多数类离群节点的标准正态分布分数大于第一分数阈值,少数类离群节点的标准正态分布分数小于第二分数阈值,第一分数阈值大于第二分数阈值;对多数类离群节点中的数据进行降采样处理,以及对少数类离群节点中的数据进行扩充处理,其中,扩充处理包括对少数类离群节点中的数据进行位移处理,旋转处理和剪切处理。
[0102]
在本技术的一些实施例中,第二处理模块52通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:在每一训练轮次中,在对全局模型训练前,依据全局修正系数对本地模型进行多次修正梯度下降;在多次修正梯度下降之后,依据全局修正系数和修正后的本地模型确定第一节点对应的局部修正系数;依据局部修正系数对全局修正系数进行更新。
[0103]
在本技术的一些实施例中,通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤之前,第二处理模块52还用于:确定全局优化目标和各个第一节点对应的本地优化目标,其中,全局优化目标用于对全局模型进行训练,本地优化目标用于对本地模型进行训练;确定本地优化目标的优化目标控制参数,其中,优化目标控制参数用于确定本地优化目标和全局优化目标的相似度,目标控制参数越大,本地优化目标与全局优化目标之间的相似度越大。
[0104]
在本技术的一些实施例中,第二处理模块52通过各个第一节点对全局模型和本地模型进行多轮次训练的步骤包括:依据优化目标控制参数确定目标正则项,其中,目标正则项用于对本地优化目标进行调整,使得本地优化目标接近全局优化目标;采用目标正则项对调整本地优化目标,并采用调整后的本地优化目标对本地模型进行训练。
[0105]
需要说明的是,上述联邦学习模型训练装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
[0106]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0107]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0108]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0109]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0110]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0111]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0112]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种联邦学习模型训练方法,其特征在于,包括:确定全局模型和各个第一节点对应的本地模型,其中,所述本地模型存储在对应的所述第一节点中;通过各个所述第一节点对所述全局模型和所述本地模型进行多轮次训练,其中,在每一训练轮次中,所述第一节点均会采用所述第一节点对应的数据对所述全局模型进行训练,并在对所述全局模型训练完成后,对所述本地模型进行训练;获取进行所述多轮次训练后得到的目标全局模型和各个所述第一节点对应的目标本地模型,其中,各个所述第一节点对应的所述目标本地模型的测试指标均在预设测试指标取值范围内。2.根据权利要求1所述的联邦学习模型训练方法,其特征在于,训练完成后,所述通过各个所述第一节点对所述全局模型和所述本地模型进行多轮次训练的步骤包括:在每一训练轮次中,在对所述全局模型训练前,依据全局修正系数对所述本地模型进行多次修正梯度下降;在所述多次修正梯度下降之后,依据所述全局修正系数和修正后的所述本地模型确定所述第一节点对应的局部修正系数;依据所述局部修正系数对所述全局修正系数进行更新。3.根据权利要求1所述的联邦学习模型训练方法,其特征在于,所述第一节点包括多个第二节点和调度器,所述调度器用于对所述第二节点进行分配调度,其中,所述第一节点对应的散度值在预设散度值取值范围内。4.根据权利要求3所述的联邦学习模型训练方法,其特征在于,所述确定全局模型和各个第一节点对应的本地模型的步骤之前,所述联邦学习模型训练方法还包括:指示所述调度器依据各个所述第二节点对应的数据,对所述调度器对应的所述本地模型进行本地迭代训练,直到各个所述第二节点之间相对均衡,其中,各个所述第二节点之间相对均衡包括任意两个所述第二节点之间的负载差值在允许范围内,并且任意两个所述第二节点对所述本地模型的贡献均衡。5.根据权利要求3所述的联邦学习模型训练方法,其特征在于,所述确定全局模型和各个第一节点对应的本地模型的步骤之前,所述联邦学习模型训练方法还包括:从全部的所述第二节点中确定离群节点;计算各个所述离群节点的标准正态分布分数,并根据所述标准正态分布分数确定多数类离群节点和少数类离群节点,其中,所述多数类离群节点的所述标准正态分布分数大于第一分数阈值,所述少数类离群节点的所述标准正态分布分数小于第二分数阈值,所述第一分数阈值大于所述第二分数阈值;对所述多数类离群节点中的数据进行降采样处理,以及对所述少数类离群节点中的数据进行扩充处理,其中,所述扩充处理包括对所述少数类离群节点中的数据进行位移处理,旋转处理和剪切处理。6.根据权利要求1所述的联邦学习模型训练方法,其特征在于,所述通过各个所述第一节点对所述全局模型和所述本地模型进行多轮次训练的步骤之前,所述联邦学习模型训练方法还包括:确定全局优化目标和各个所述第一节点对应的本地优化目标,其中,所述全局优化目
标用于对所述全局模型进行训练,所述本地优化目标用于对所述本地模型进行训练;确定所述本地优化目标的优化目标控制参数,其中,所述优化目标控制参数用于确定所述本地优化目标和所述全局优化目标的相似度,所述优化目标控制参数越大,所述本地优化目标与所述全局优化目标之间的相似度越大。7.根据权利要求6所述的联邦学习模型训练方法,其特征在于,所述通过各个所述第一节点对所述全局模型和所述本地模型进行多轮次训练的步骤包括:依据所述优化目标控制参数确定目标正则项,其中,所述目标正则项用于对所述本地优化目标进行调整,使得所述本地优化目标接近所述全局优化目标;采用所述目标正则项对调整所述本地优化目标,并采用调整后的所述本地优化目标对所述本地模型进行训练。8.一种联邦学习模型训练装置,其特征在于,包括:第一处理模块,用于确定全局模型和各个第一节点对应的本地模型,其中,所述本地模型存储在对应的所述第一节点中;第二处理模块,用于通过各个所述第一节点对所述全局模型和所述本地模型进行多轮次训练,其中,在每一训练轮次中,所述第一节点均会采用所述第一节点对应的数据对所述全局模型进行训练,并在对所述全局模型训练完成后,对所述本地模型进行训练;第三处理模块,用于获取进行所述多轮次训练后得到的目标全局模型和各个所述第一节点对应的目标本地模型,其中,各个所述第一节点对应的所述目标本地模型的测试指标均在预设测试指标取值范围内。9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的联邦学习模型训练方法。10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的联邦学习模型训练方法。
技术总结
本申请公开了一种联邦学习模型训练方法、装置、非易失性存储介质及电子设备。其中,该方法包括:确定全局模型和各个第一节点对应的本地模型,其中,本地模型存储在对应的第一节点;通过各个第一节点对全局模型和本地模型进行多轮次训练,其中,在每一训练轮次中,第一节点均会采用第一节点对应的数据对全局模型进行训练,并在对全局模型训练完成后,对本地模型进行训练;获取进行多轮次训练后得到的目标全局模型和各个第一节点对应的目标本地模型。本申请解决了相关技术中的多任务联邦学习模型在训练过程中存在客户端不平等、计算冗余的问题导致的训练完成后的部分本地节点中的模型性能达不到用户需求,且训练过程占用计算资源过多的技术问题。过多的技术问题。过多的技术问题。
技术研发人员:张诗杭 张妍 王迪 赵建英 贾迪楠
受保护的技术使用者:中国电信股份有限公司
技术研发日:2023.07.24
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:制造由纤维增强塑料构成的构件的方法与流程 下一篇:容器以及加热用包装袋的制作方法