CN113762526B - 联邦学习的方法及分层网络系统、存储介质、电子设备 - Google Patents
联邦学习的方法及分层网络系统、存储介质、电子设备 Download PDFInfo
- Publication number
- CN113762526B CN113762526B CN202111042785.5A CN202111042785A CN113762526B CN 113762526 B CN113762526 B CN 113762526B CN 202111042785 A CN202111042785 A CN 202111042785A CN 113762526 B CN113762526 B CN 113762526B
- Authority
- CN
- China
- Prior art keywords
- target
- level
- subgroup
- hierarchy
- clients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种联邦学习的方法及分层网络系统、存储介质、电子设备,分层网络系统包括多个客户端以及每个层级对应的服务器,最低层级的一个小组包括一个客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有客户端组成的小组,该方法应用于及分层网络系统,在客户端分别基于最低层级对应的预设学习率对目标模型的梯度进行更新的次数整除某一层级对应的预设迭代次数时,通过该层级对应的服务器,基于对应的学习率计算其下的各个小组的梯度的均值,并基于计算的均值对客户端的目标模型进行模型参数更新,从而多次本地更新后求局部平均,在局部平均后再求全局平均,有效降低了通信压力,并且提高了收敛速度和训练效果。
Description
技术领域
本申请涉及模型训练技术领域,特别涉及一种联邦学习的方法及分层网络系统、存储介质、电子设备。
背景技术
联邦学习被用于解决数据孤岛,在满足用户隐私保护、数据安全的需求下,充分利用移动端或多方机构的数据进行机器学习建模。
与传统的分布式机器学习不同,联邦学习为确保隐私,要求数据分布式存储在每个客户端中,每个客户端从服务器中获取模型,然后所以分别利用存储的数据对模型进行训练,并在本地更新模型的梯度,然后将更新的梯度上传至服务器,由服务器计算全局平均,即对所有的客户端上传的数据求均值,并基于计算得到的均值调整模型的模型参数,然后将调整后的模型参数反馈给客户端进行更新。
但是现有的这种方式,需要所有客户端频繁地将数据上传服务器求全局平均,所以会造成较大的通信压力,并且模型收敛的速度较慢,且训练效果相对一般。
发明内容
基于上述现有技术的不足,本申请提供了一种联邦学习的方法及分层网络系统、存储介质、电子设备,以解决现有技术通信压力大,且模型训练速度和训练效果相对较低的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种联邦学习的方法,应用于分层网络系统,所述分层网络系统包括多个客户端以及每个层级对应的服务器,所述联邦学习的方法,包括:
各个所述客户端分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新;
各个所述客户端从各层级中确定出整除所述当前本地更新总次数的预设迭代次数对应的层级,并将确定出的所述层级中最高的层级作为目标层级;
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果;其中,最低层级的一个小组包括一个所述客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有所述客户端组成的小组;
所述目标层级对应的服务器,分别利用每个所述小组对应的当前平均结果对所述目标模型的模型参数进行更新,并将更新后的所述模型参数反馈给对应的所述小组中的各个所述客户端;
各个所述客户端利用接收到的所述模型参数对所述目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至所述当前本地更新总次数等于预设迭代总次数。
可选地,在上述的方法中,所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,包括:
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端发送的在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果。
可选地,在上述的方法中,所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,包括:
所述目标层级对应的服务器获取确定出的所述层级中所述目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果;其中,确定出的所述层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果;确定出的所述层级中最低的层级对应的服务器分别利用自身下的各个小组的所述客户端在本次更新的梯度进行得到均值结果;
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率,计算获取到的所述目标层级的各个小组中的对应的所述均值结果的均值,得到所述目标层级的各个小组对应的当前平均结果。
可选地,在上述的方法中,各个所述客户端利用接收到的所述模型参数对所述目标模型进行调参之后,还包括:
各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数;
其中,若判断出所述当前本地更新总次数等于预设迭代总次数,则停止对所述模板模型的训练;若判断出所述当前本地更新总次数不等于预设迭代总次数,则将所述当前本地更新总次数加一,得到最新的当前本地更新总次数,并返回执行所述基于最低层级对应的预设学习率对目标模型的梯度进行本地更新。
可选地,在上述的方法中,还包括:
若未存在与所述当前本地更新总次数整除的预设迭代次数,则直接执行所述各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数。
本申请第二方面提供了一种分层网络系统,包括:
多个客户端以及每个层级对应的服务器;
所述客户端用于分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,并从各层级中确定出整除所述当前本地更新总次数的预设迭代次数对应的层级,并将确定出的所述层级中最高的层级作为目标层级,以及利用接收到的模型参数对所述目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至所述当前本地更新总次数等于预设迭代总次数;
所述服务器用于在对应的层级被确定为所述目标层级时,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,并分别利用每个所述小组对应的当前平均结果对所述目标模型的模型参数进行更新,并将更新后的所述模型参数反馈给对应的所述小组中的各个所述客户端;其中,最低层级的一个小组包括一个所述客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有所述客户端组成的小组。
可选地,在上述的系统中,所述服务器执行所述分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果时,用于:
分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端发送的在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果。
可选地,在上述的系统中,所述服务器执行所述分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果时,用于:
获取确定出的所述层级中所述目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果;其中,确定出的所述层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果;确定出的所述层级中最低的层级对应的服务器分别利用自身下的各个小组的所述客户端在本次更新的梯度进行得到均值结果;
分别基于所述目标层级对应的预设学习率,计算获取到的所述目标层级的各个小组中的对应的所述均值结果的均值,得到所述目标层级的各个小组对应的当前平均结果。
可选地,在上述的系统中,所述客户端还用于:
判断所述当前本地更新总次数是否等于预设迭代总次数;
其中,若判断出所述当前本地更新总次数等于预设迭代总次数,则停止对所述模板模型的训练;若判断出所述当前本地更新总次数不等于预设迭代总次数,则将所述当前本地更新总次数加一,得到最新的当前本地更新总次数,并返回执行所述基于最低层级对应的预设学习率对目标模型的梯度进行本地更新。
可选地,在上述的系统中,所述客户端还用于:
若未存在与所述当前本地更新总次数整除的预设迭代次数,则直接执行所述各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数。
本申请第三方面提供了一种电子设备,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的联邦学习的方法。
本申请第四方面提供了一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的联邦学习的方法。
本申请提供的一种联邦学习方法,应用于包括多个客户端以及每个层级对应的服务器的分层网络系统。通过各个客户端从各层级中确定出整除所述当前本地更新总次数的预设迭代次数对应的层级,并将确定出的层级中最高的层级作为目标层级。然后,目标层级对应的服务器,分别基于目标层级对应的预设学习率计算所述目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。由于,最低层级的一个小组包括一个客户端,下一层级的多个小组组成其上一层级的一个小组,最高层级包括一个由所有客户端组成的小组,从而实现了在进行多次本地更新后,才进行局部平均,并且在多次局部平均后才进行全局平均,从而减小了通信压力,并且每个层级的学习率分离,通过设置的不同学习率可以有效地是的模型收敛,也能提高模型的训练效果。最后,目标层级对应的服务器,分别利用每个小组对应的当前平均结果对目标模型的模型参数进行更新,并将更新后的模型参数反馈给对应的所述小组中的各个客户端,由各个客户端利用接收到的所述模型参数对目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至当前本地更新总次数等于预设迭代总次数,结束对模型的训练。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种联邦学习的方法的示意图;
图2为本申请实施例提供的一示例中的多层级计算均值的方式的示意图;
图3为本申请实施例提供的一种目标层级对应的服务器计算均值的方法的流程图;
图4为本申请实施例提供的另一示例中的多层级计算均值的方式的示意图;
图5为本申请另一实施例提供的一种分层网络系统的结构示意图;
图6为本申请另一实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种联邦学习的方法,应用于分层网络系统。
其中,分层网络系统包括多个客户端以及每个层级对应的服务器,即分层网络系统包括被划分为多个层级,自最低的层级至最高的层级为一个树型结构。
具体的,最低层级中将每个客户端划分为一个小组。而最高层级则只包括一个小组,该小组中包括所有的客户端,所以用于求全局平均。而对于中间的每个层级均包括多个小组,并且上一个层级的一个小组由下一层的多个小组中的客户端组成,用于计算每个小组的客户端的局部平均,所以层级越高则对越多个客户端计算局部平均。需要说明的是,对于中间的一个层级,该层级中各个小组的客户端不存在交集,并且不同的小组中的客户端可以相等,也可以不相等。
具体的划分逻辑可以为:记个N客户端的编号为:1~N,则定义最低层级,即第0层为:
通过划分i-1层定义第i层: 其中: 最高层级为:LM={{1,...,N}}。
可选地,通常每个层级对应一个服务器,即每个层级该包括一个服务器,当然也可以是对个层级对应一个服务器,由一个服务器执行多个层级的计算任务。
需要说明的是,对于每个层级设置有对应的预设迭代次数以及对应的预设学习率,通常各个层级对应的预设学习率不相同,当然也可以相同,但是应该避免所有层级对应的预设学习率均相同,否则将无法有效提高模型的训练速度以及模型训练效果。
并且在总的迭代次数为某个层级对应的预设迭代次数时,利用该层级对应的预设学习率进行相应的局部平均。可选地,由于越高层级的对越多的客户端计算局部平均,所以越高层级的计算局部平均的次数应该要越少,低层级对应的预设迭代次数小于高层级对应的预设迭代次数。当然,也不一定限于是这种方式,其他的设置方式也应属于本申请的保护范畴。
基于上述的分层网络系统,本申请实施例提供的联邦学习的方法,如图1所示,包括以下步骤:
S101、各个客户端分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新。
具体的,各个客户端利用自身所存储的数据输入目标模型进行训练,并基于目标模型输出的结果以及预设学习率,在本地计算模型的损失函数的最新梯度,即更新目标模型的梯度。
其中,各个客户端在进行联邦学习时,可以总结为求解下面表达式的优化问题:
在数据集上计算得到损失函数的梯度可以表示为:
其中,Rd表示d维实数空间;N表示客户端的数量;D表示完整的数据集,Di表示第i个客户端上的数据集。函数f表示损失函数,X表示模型参数,E表示数学期望、ξ表示随机变量,即随机抽取的样本数据,Bi指的是选取的小样本集合。
S102、各个客户端从各层级中确定出整除当前本地更新总次数的预设迭代次数对应的层级,并将确定出的层级中最高的层级作为目标层级。
可选地,可以除最低层级外,每个层级都设置一个对应的预设迭代次数,以在进行到一定的迭代次数后,对更新的梯度求一次局部平均,从而可以在一定程度上加快训练速度,并且由于不是计算全局平均,所以可以降低通信压力。可选地,由于越高层级的对越多的客户端计算局部平均,所以越高层级的计算局部平均的次数应该要越少,低层级对应的预设迭代次数小于高层级对应的预设迭代次数,即上一层级在其下一层级计算多次局部平均后,才计算一次平均。从而随着本地更新次数的不断增加,局部平均涵盖的客户端的数量越多,最后计算全部平均。
需要说明的是,最小的预设迭代次数通常大于1,以在进行多次本地更新后,才进行一次局部平均。
由于会存在多个预设迭代次数与当前本地更新总次数整除的情况,但最终需要获取的确定出的层级中的最高的层级计算得到的局部平均结果,所以将最高的层级作为目标层级。并且,
还需说明的是,由于最小的预设迭代次数通常大于1,所以在一次本地更新后会出现不存在整除当前本地更新总次数的预设迭代次数的情况,此时返回执行步骤S101。并且,若存在当前本地更新总次数大于最大的预设迭代次数时,步骤S101应该变更为:各个客户端从各层级中确定出被当前本地更新总次数整除的预设迭代次数对应的层级,并将确定出的层级中最高的层级作为目标层级。
S103、目标层级对应的服务器,分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。
其中,最低层级的一个小组包括一个客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有所述客户端组成的小组。
需要说明的是,各个层级进行局部平均计算时所采用的学习率一般是不相同的,即通过对学习率的调整,从而可以有效地加快损失函数收敛的速度,也能提高模型的训练效果。
可选的,本申请另一实施例中,步骤S103的一种具体实施方式为:
目标层级对应的服务器,分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端发送的在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。
在本申请实施例中,由目标层级对应的服务器对更新的梯度求均值。所以,各个客户端在确定目标层级后,将本次更新的梯度发送给目标层级对应的服务器,由其分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端发送的在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。
例如,如图2所示,包括8个客户端,第一层级的每个小组包括2个客户端,其对应的预设迭代次数为3,第二层级即为最高层级,其小组包括8个客户端,对应的预设迭代次数为12。所以,图2中所示,在本地更新次数为3、6、9时,第一层级计算其下的各个小组的均值。其中,每个箭头代表一次本地更新。而在第12次时,第一层级和第二层级对应的预设迭代次数均整除的当前本地更新总次数,所以此时只由第二层级对8个客户端更新的梯度求均值,而第一层级不需要对客户端更新的梯度求均值。
可选地,在本申请另一实施例中,步骤S103的另一种具体实施方式,如图3所示,包括:
S301、目标层级对应的服务器获取确定出的层级中目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果。
其中,确定出的层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果。确定出的层级中最低的层级对应的服务器分别利用自身下的各个小组的客户端在本次更新的梯度进行得到均值结果。
也就是说,在本申请实施例中,确定出的每个层级都需要计算其下的各个小组的局部平均。但是由于,上一层级的每个小组是由下一层级的多个小组组成的,所以对于上一层级可以之间利用下一层级计算的均值结果,计算本层级的各个小组的均值结果。因此,目标层级可以获取确定出的层级中所述目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果,然后利用获取的均值执行步骤S302。
例如,如图4所示,在当前本地更新总次数为12次时,由第一层级计算各个小组的均值结果,然后再由第二层级利用第一层级计算得到的均值结果再进一步计算得到第二层级的小组的均值。
S302、目标层级对应的服务器,分别基于目标层级对应的预设学习率,计算获取到的目标层级的各个小组中的对应的均值结果的均值,得到目标层级的各个小组对应的当前平均结果。
S104、目标层级对应的服务器,分别利用每个小组对应的当前平均结果对所述目标模型的模型参数进行更新,并将更新后的模型参数反馈给对应的小组中的各个客户端。
其中,参数更新的表达式为:
其中,X为模型参数,τ(m)为层级对应的预设迭代次数,ηm为层级对应的预设学习率;指的是选取的小样本集合,gk表示梯度;/>为m层级的一个小组。
S105、各个客户端利用接收到的模型参数对目标模型进行更新,并返回执行基于第一预设学习率对目标模型的梯度进行本地更新,直至当前本地更新总次数等于预设迭代总次数。
可选地,在本申请另一实施例中,在各个客户端利用接收到的模型参数对目标模型进行更新之后,还可以包括:各个客户端判断所述当前本地更新总次数是否等于预设迭代总次数;
其中,若判断出所述当前本地更新总次数等于预设迭代总次数,则停止对模板模型的训练。若判断出当前本地更新总次数不等于预设迭代总次数,则将所述当前本地更新总次数加一,得到最新的当前本地更新总次数,并返回执行步骤S101。
可选地,在本申请实施例中,若未存在与当前本地更新总次数整除的预设迭代次数,则直接执行各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数的步骤。
本申请实施例提供的一种联邦学习方法,应用于包括多个客户端以及每个层级对应的服务器的分层网络系统。通过各个客户端从各层级中确定出整除所述当前本地更新总次数的预设迭代次数对应的层级,并将确定出的层级中最高的层级作为目标层级。然后,目标层级对应的服务器,分别基于目标层级对应的预设学习率计算所述目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。由于,最低层级的一个小组包括一个客户端,下一层级的多个小组组成其上一层级的一个小组,最高层级包括一个由所有客户端组成的小组,从而实现了在进行多次本地更新后,才进行局部平均,并且在多次局部平均后才进行全局平均,从而减小了通信压力,并且每个层级的学习率分离,通过设置的不同学习率可以有效地是的模型收敛,也能提高模型的训练效果。最后,目标层级对应的服务器,分别利用每个小组对应的当前平均结果对目标模型的模型参数进行更新,并将更新后的模型参数反馈给对应的所述小组中的各个客户端,由各个客户端利用接收到的所述模型参数对目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至当前本地更新总次数等于预设迭代总次数,结束对模型的训练。
本申请另一实施例提供了一种分层网络系统,包括:
多个客户端以及每个层级对应的服务器。
客户端用于分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,并从各层级中确定出整除当前本地更新总次数的预设迭代次数对应的层级,并将确定出的层级中最高的层级作为目标层级,以及利用接收到的模型参数对目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至当前本地更新总次数等于预设迭代总次数。
服务器用于在对应的层级被确定为目标层级时,分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果,并分别利用每个小组对应的当前平均结果对目标模型的模型参数进行更新,并将更新后的模型参数反馈给对应的小组中的各个客户端其中,最低层级的一个小组包括一个客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有客户端组成的小组。
可选地,本申请另一实施例提供的分层网络系统中,服务器执行分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果时,用于:
分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端发送的在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果。
可选地,本申请另一实施例提供的分层网络系统中,述服务器执行分别基于目标层级对应的预设学习率计算目标层级的各个小组中的客户端在本次更新的梯度的均值,得到目标层级的各个小组对应的当前平均结果时,用于:
获取确定出的层级中目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果;其中,确定出的层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果;确定出的层级中最低的层级对应的服务器分别利用自身下的各个小组的客户端在本次更新的梯度进行得到均值结果。
分别基于目标层级对应的预设学习率,计算获取到的目标层级的各个小组中的对应的均值结果的均值,得到目标层级的各个小组对应的当前平均结果。
可选地,本申请另一实施例提供的分层网络系统中的客户端还用于:
判断当前本地更新总次数是否等于预设迭代总次数。
其中,若判断出当前本地更新总次数等于预设迭代总次数,则停止对模板模型的训练;若判断出当前本地更新总次数不等于预设迭代总次数,则将当前本地更新总次数加一,得到最新的当前本地更新总次数,并返回执行基于最低层级对应的预设学习率对目标模型的梯度进行本地更新。
可选地,本申请另一实施例提供的分层网络系统中的客户端还用于:
若未存在与当前本地更新总次数整除的预设迭代次数,则直接执行各个客户端判断当前本地更新总次数是否等于预设迭代总次数。
本申请另一实施例提供了一种电子设备,如图6所示,包括:
存储器601和处理器602。
其中,存储器601用于存储程序,处理器602用于执行存储器601存储的程序,该程序被执行时,具体用于实现如上述任意一个实施例提供的联邦学习的方法。
本申请另一实施例提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一个实施例提供的联邦学习的方法。
计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种联邦学习的方法,其特征在于,应用于分层网络系统,所述分层网络系统包括多个客户端以及每个层级对应的服务器,所述联邦学习的方法,包括:
各个所述客户端分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新;
各个所述客户端从各层级中确定出整除当前本地更新总次数的预设迭代次数对应的层级,并将确定出的所述层级中最高的层级作为目标层级;
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果;其中,最低层级的一个小组包括一个所述客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有所述客户端组成的小组;
所述目标层级对应的服务器,分别利用每个所述小组对应的当前平均结果对所述目标模型的模型参数进行更新,并将更新后的所述模型参数反馈给对应的所述小组中的各个所述客户端;
各个所述客户端利用接收到的所述模型参数对所述目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至所述当前本地更新总次数等于预设迭代总次数。
2.根据权利要求1所述的方法,其特征在于,所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,包括:
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端发送的在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果。
3.根据权利要求1所述的方法,其特征在于,所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,包括:
所述目标层级对应的服务器获取确定出的所述层级中所述目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果;其中,确定出的所述层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果;确定出的所述层级中最低的层级对应的服务器分别利用自身下的各个小组的所述客户端在本次更新的梯度进行得到均值结果;
所述目标层级对应的服务器,分别基于所述目标层级对应的预设学习率,计算获取到的所述目标层级的各个小组中的对应的所述均值结果的均值,得到所述目标层级的各个小组对应的当前平均结果。
4.根据权利要求1所述的方法,其特征在于,各个所述客户端利用接收到的所述模型参数对所述目标模型进行调参之后,还包括:
各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数;
其中,若判断出所述当前本地更新总次数等于预设迭代总次数,则停止对所述目标模型的训练;若判断出所述当前本地更新总次数不等于预设迭代总次数,则将所述当前本地更新总次数加一,得到最新的当前本地更新总次数,并返回执行所述基于最低层级对应的预设学习率对目标模型的梯度进行本地更新。
5.根据权利要求4所述的方法,其特征在于,还包括:
若未存在与所述当前本地更新总次数整除的预设迭代次数,则直接执行所述各个所述客户端判断所述当前本地更新总次数是否等于预设迭代总次数。
6.一种分层网络系统,其特征在于,包括:
多个客户端以及每个层级对应的服务器;
所述客户端用于分别基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,并从各层级中确定出整除当前本地更新总次数的预设迭代次数对应的层级,并将确定出的所述层级中最高的层级作为目标层级,以及利用接收到的模型参数对所述目标模型进行更新,并返回基于最低层级对应的预设学习率对目标模型的梯度进行本地更新,直至所述当前本地更新总次数等于预设迭代总次数;
所述服务器用于在对应的层级被确定为所述目标层级时,分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果,并分别利用每个所述小组对应的当前平均结果对所述目标模型的模型参数进行更新,并将更新后的所述模型参数反馈给对应的所述小组中的各个所述客户端;其中,最低层级的一个小组包括一个所述客户端;下一层级的多个小组组成其上一层级的一个小组;最高层级包括一个由所有所述客户端组成的小组。
7.根据权利要求6所述的系统,其特征在于,所述服务器执行所述分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果时,用于:
分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端发送的在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果。
8.根据权利要求6所述的系统,其特征在于,所述服务器执行所述分别基于所述目标层级对应的预设学习率计算所述目标层级的各个小组中的所述客户端在本次更新的梯度的均值,得到所述目标层级的各个小组对应的当前平均结果时,用于:
获取确定出的所述层级中所述目标层级的下一层级对应的服务器计算得到的自身的各个小组对应的均值结果;其中,确定出的所述层级中除最低的层级外的每个层级对应的服务器,利用下一层级对应的服务器计算得到的均值结果计算得到自身的各个小组对应的均值结果;确定出的所述层级中最低的层级对应的服务器分别利用自身下的各个小组的所述客户端在本次更新的梯度进行得到均值结果;
分别基于所述目标层级对应的预设学习率,计算获取到的所述目标层级的各个小组中的对应的所述均值结果的均值,得到所述目标层级的各个小组对应的当前平均结果。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如权利要求1至5任意一项所述的联邦学习的方法。
10.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如权利要求1至5任意一项所述的联邦学习的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111042785.5A CN113762526B (zh) | 2021-09-07 | 2021-09-07 | 联邦学习的方法及分层网络系统、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111042785.5A CN113762526B (zh) | 2021-09-07 | 2021-09-07 | 联邦学习的方法及分层网络系统、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762526A CN113762526A (zh) | 2021-12-07 |
CN113762526B true CN113762526B (zh) | 2024-02-09 |
Family
ID=78793467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111042785.5A Active CN113762526B (zh) | 2021-09-07 | 2021-09-07 | 联邦学习的方法及分层网络系统、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762526B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175680A (zh) * | 2019-04-03 | 2019-08-27 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
GB202001313D0 (en) * | 2020-01-30 | 2020-03-18 | Vision Semantics Ltd | De-centralised learning for re-identification |
CN111260061A (zh) * | 2020-03-09 | 2020-06-09 | 厦门大学 | 联邦学习梯度交换中的差异化加噪方法及系统 |
CN111768008A (zh) * | 2020-06-30 | 2020-10-13 | 平安科技(深圳)有限公司 | 联邦学习方法、装置、设备和存储介质 |
CN112446040A (zh) * | 2020-11-24 | 2021-03-05 | 平安科技(深圳)有限公司 | 基于选择性梯度更新的联邦建模方法及相关设备 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN113055488A (zh) * | 2021-03-23 | 2021-06-29 | 重庆邮电大学 | 多层联邦深度强化学习的车辆边缘协作缓存方法及系统 |
CN113298191A (zh) * | 2021-04-01 | 2021-08-24 | 山东大学 | 基于个性化半监督在线联邦学习的用户行为识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073639A1 (en) * | 2018-12-04 | 2021-03-11 | Google Llc | Federated Learning with Adaptive Optimization |
-
2021
- 2021-09-07 CN CN202111042785.5A patent/CN113762526B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175680A (zh) * | 2019-04-03 | 2019-08-27 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
GB202001313D0 (en) * | 2020-01-30 | 2020-03-18 | Vision Semantics Ltd | De-centralised learning for re-identification |
CN111260061A (zh) * | 2020-03-09 | 2020-06-09 | 厦门大学 | 联邦学习梯度交换中的差异化加噪方法及系统 |
CN111768008A (zh) * | 2020-06-30 | 2020-10-13 | 平安科技(深圳)有限公司 | 联邦学习方法、装置、设备和存储介质 |
CN112446040A (zh) * | 2020-11-24 | 2021-03-05 | 平安科技(深圳)有限公司 | 基于选择性梯度更新的联邦建模方法及相关设备 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN113055488A (zh) * | 2021-03-23 | 2021-06-29 | 重庆邮电大学 | 多层联邦深度强化学习的车辆边缘协作缓存方法及系统 |
CN113298191A (zh) * | 2021-04-01 | 2021-08-24 | 山东大学 | 基于个性化半监督在线联邦学习的用户行为识别方法 |
Non-Patent Citations (1)
Title |
---|
基于优化卷积神经网络的人耳识别;弭博雯;田莹;王诗宁;;辽宁科技大学学报(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113762526A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688493B (zh) | 训练深度神经网络的方法、装置及系统 | |
CN107563509B (zh) | 一种基于特征返回的条件dcgan模型的动态调整方法 | |
US20190236439A1 (en) | Resource allocation based on decomposed utilization data | |
CN115688913A (zh) | 一种云边端协同个性化联邦学习方法、系统、设备及介质 | |
CN116542296A (zh) | 基于联邦学习的模型训练方法、装置及电子设备 | |
CN113315669B (zh) | 基于云边协同的吞吐量优化的机器学习推断任务部署方法 | |
CN113762526B (zh) | 联邦学习的方法及分层网络系统、存储介质、电子设备 | |
CN113312239B (zh) | 一种数据检测方法、装置、电子设备及介质 | |
CN107615183A (zh) | 模型预测控制应用程序中相对于最佳性能值的优良性能的系统和方法 | |
CN111209074B (zh) | 浏览器视图加载方法、装置、系统及服务器 | |
CN112312299A (zh) | 服务卸载方法、装置及系统 | |
CN112328171A (zh) | 数据分布预测方法、数据均衡方法、设备及存储介质 | |
WO2022062777A1 (zh) | 数据管理方法、数据管理装置及存储介质 | |
CN110781202B (zh) | 本科教学质量信息的数据智能收集方法及系统 | |
CN116450658A (zh) | 基于节点集群增益最大化区块存储方法及装置 | |
CN114548421A (zh) | 一种针对联邦学习通信开销的优化处理方法及装置 | |
CN109656696B (zh) | 一种数据api高效调用的处理方法 | |
CN104965836A (zh) | 一种互联网的数据处理方法和装置 | |
CN110502216B (zh) | 软件架构的日志时间的记录方法及终端 | |
CN117521782A (zh) | 稀疏鲁棒的联邦学习方法、联邦学习系统及服务器 | |
CN115277452B (zh) | 基于边端协同的ResNet自适应加速计算方法及应用 | |
CN116911403B (zh) | 联邦学习的服务器和客户端的一体化训练方法及相关设备 | |
US11962475B2 (en) | Estimating properties of units using system state graph models | |
CN112214342B (zh) | 一种联邦学习场景中高效的错误数据检测方法 | |
CN114489938A (zh) | 一种基于云边协同模式的用户侧QoS预测模型构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |