CN113469367A - 一种联邦学习方法、装置及系统 - Google Patents
一种联邦学习方法、装置及系统 Download PDFInfo
- Publication number
- CN113469367A CN113469367A CN202110573525.4A CN202110573525A CN113469367A CN 113469367 A CN113469367 A CN 113469367A CN 202110573525 A CN202110573525 A CN 202110573525A CN 113469367 A CN113469367 A CN 113469367A
- Authority
- CN
- China
- Prior art keywords
- model
- server
- constraint
- trained
- norm
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 60
- 230000002776 aggregation Effects 0.000 claims abstract description 18
- 238000004220 aggregation Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 121
- 238000012549 training Methods 0.000 claims description 92
- 238000011144 upstream manufacturing Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 24
- 239000013598 vector Substances 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 230000003094 perturbing effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 32
- 208000032538 Depersonalisation Diseases 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 50
- 238000013528 artificial neural network Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 24
- 238000010801 machine learning Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 12
- 238000009826 distribution Methods 0.000 description 12
- 230000001537 neural effect Effects 0.000 description 12
- 238000003062 neural network model Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 9
- 230000004927 fusion Effects 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种联邦学习方法、装置及系统,用于在进行联邦学习的过程中,服务器对接收到的模型进行再次训练,实现一定程度的去个性化处理,以得到输出精度更高的模型。该方法包括:首先,第一服务器接收至少一个下游设备发送的至少一个第一模型的信息,该至少一个下游设备可以包括接入第一服务器的其他服务器或者客户端等;第一服务器对至少一个第一模型进行训练,以得到训练后的至少一个第一模型;随后,第一服务器对训练后的至少一个第一模型进行聚合,并使用聚合结果更新本地存储的第二模型,以得到更新后的第二模型。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种联邦学习方法、装置及系统。
背景技术
联邦学习(Federated Learning)是针对“数据孤岛”的存在而提出的一种机器学习框架,能够有效帮助各参与方(客户端)在无需共享数据资源,即训练数据不出本地的情况下,进行联合训练,建立共享的机器学习模型。
在实际部署中,为解决客户端与服务器之间距离较远导致的传输时延大的问题,一般在服务器和客户端之间引入中间层服务器(边服务器),形成端边云的分层架构。边服务器距离客户端更近,大大降低了传输时延。然而,在进行联邦学习时,各客户端之间的训练数据为异构数据的概率较大,因此直接对各客户端训练得到的模型进行聚合后得到的模型可能准确度较低。
发明内容
本申请提供一种联邦学习方法、装置及系统,用于在进行联邦学习的过程中,服务器对端侧模型进行再次训练,实现一定程度的去个性化处理,以得到输出精度更高的模型。
有鉴于此,第一方面,本申请提供一种联邦学习方法,包括:首先,第一服务器接收至少一个下游设备发送的至少一个第一模型的信息,该至少一个下游设备可以包括接入第一服务器的其他服务器或者客户端等;第一服务器对至少一个第一模型进行训练,以得到训练后的至少一个第一模型;随后,第一服务器对训练后的至少一个第一模型进行聚合,并根据聚合结果更新本地存储的第二模型,以得到更新后的第二模型。
因此,本申请实施方式中,下游设备可以基于自身的个性化数据来得到第一模型,服务器在接收到下游设备反馈的第一模型之后,可以对该第一模型进行再次训练,从而实现对第一模型的一定程度的去个性化处理,如去除部分噪声或者适应各个下游设备之间因数据分布不同导致的模型差异等,提高模型的泛化能力,提高最终得到的模型的输出精度。可以理解为,适度利用了下游设备的数据分布差异,在保证各个下游设备的模型的个性化的同时,通过再次训练去除了各个第一模型中不利于融合的特征,使得多个经过再训练的第一模型融合得到的模型,拥有更高的精度和泛化能力。
在一种可能的实施方式中,前述的第一服务器对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,可以包括:第一服务器在第一稀疏约束条件的约束下,对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,第一稀疏约束条件包括用于减少第一模型中的参数的函数形成的约束。
因此,在本申请实施方式中,第一服务器可以在第一稀疏约束条件的约束下对第一模型进行训练,从而得到训练后的参数更少的第一模型,从而减少第一服务器在和其他设备传输该第一模型时所需的通信资源,降低通信成本。
在一种可能的实施方式中,前述的第一服务器对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,可以包括:第一服务器在第一稀疏约束条件和第一距离约束条件的约束下对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,第一距离约束条件包括至少一个第一模型和第二模型之间的相似度或者距离形成的约束。
因此,本申请实施方式中,第一服务器可以在稀疏约束对接收到的第一模型进行训练,从而减少最终得到模型的参数量,减少第一服务器和其他设备传输第一模型的通信量,降低通信成本。此外,第一服务器还可以在距离约束下对第一模型进行训练,从而实现对第一模型的一定程度的去个性化处理,提高第一模型的泛化能力,以得到适应第一服务器和下游设备的数据分布特性的模型,可以使第一模型和第二模型之间保持一定的相似度或者距离,从而得到输出更准确的模型。
可选地,第一距离约束条件具体可以包括以下一种或者多种:欧式距离、闵可夫斯基距离(或者称为明氏距离)、曼哈顿距离、切比雪夫距离、闵氏距离、马氏距离、互信息、余弦相似度、皮尔逊相关系数、熵函数或内积等中的一种或者多种形成的约束。
在一种可能的实施方式中,前述的第一服务器在第一稀疏约束条件和第一距离约束条件的约束下对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,可以包括:第一服务器使用噪声对至少一个第一模型进行扰动,以得到更新后的至少一个第一模型;第一服务器在第一稀疏约束条件和第一距离约束条件的约束下对至少一个第一模型进行训练,以得到训练后的至少一个第一模型。
因此,本申请实施方式中,可以通过增加噪声扰动的方式,以得到新的第一模型,从而通过扰动的方式在一定程度上实现对第一模型的去个性化处理,以得到新的第一模型,以便于后续第一服务器对该第一模型进行再次训练时。
在一种可能的实施方式中,前述的第一距离约束条件中还可以包括第二模型和第三模型之间的相似度或者距离形成的约束,第三模型是第一服务器的上游设备向第一服务器发送的模型,该上游设备可以包括与第一服务器建立连接的边服务器或者云服务器等。
因此,本申请实施方式中,距离约束中还可以包括服务器本地存储的第二模型和上游设备发送的第三模型之间的相似度或者距离,使最终得到的模型可以结合第二模型和第三模型之间的相似度或者距离来作为约束,使最终得到的模型可以适应第一服务器和上游设备的数据分布差异,提高最终得到的模型的泛化能力。
在一种可能的实施方式中,前述的第一稀疏约束条件中包括至少一个第一模型的向量或者矩阵的范数,范数包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数,p∈(0,1)。
因此,本申请实施方式中,可以使用多种范数或者范数的变种来实现稀疏约束,从而减少模型中的参数,降低设备之间传输模型所需的通信资源,减少通信成本。
在一种可能的实施方式中,在第一服务器接收至少一个下游设备发送的至少一个第一模型的信息之前,方法还包括:第一服务器接收上游设备向第一服务器发送的第三模型;第一服务器根据第三模型更新本地存储的模型,以得到第二模型。
因此,本申请实施方式中,第一服务器还可以接收上游设备发送的第三模型,从而更新本地模型得到第二模型,以得到新的第二模型。
在一种可能的实施方式中,在第一服务器得到更新后的第二模型之后,本申请提供方法还可以包括:第一服务器对第三模型进行训练,以得到更新后的第三模型,第三模型是上游设备向第一服务器发送的模型。
因此,本申请实施方式中,第一服务器还可以接收第二服务器发送的第三模型,从而更新本地模型得到第二模型。然后在得到基于第一模型更新后第二模型之后,可以对第三模型进行训练,从而可以基于稀疏的第二模型来对第三模型进行训练,可以实现一定程度的去个性化处理,提高模型的泛化能力。
在一种可能的实施方式中,前述的第一服务器对第三模型进行训练,以得到更新后的第三模型,可以包括:第一服务器在第二稀疏约束条件的约束下对第三模型进行训练,以得到训练后的第三模型,第二稀疏约束条件包括用于减少第三模型中的参数的函数形成的约束。
本申请实施方式中,第一服务器还可以在稀疏约束下对第三模型进行训练,从而减少第三模型中的参数,减少第一服务器传输该第三模型所需的通信资源,降低通信成本。
在一种可能的实施方式中,前述的本申请提供的方法还可以包括:第一服务器向上游设备发送训练后的第三模型的信息,如在训练后的第三模型满足第一预设条件的情况下,第一服务器可以向上游设备发送训练后的第三模型的信息。
因此,本申请实施方式中,可以向上游设备反馈训练后的第三模型,从而通过第一服务器来实现对上游设备上的模型的更新。
可选地,该第一预设条件具体可以包括但不限于以下一项或者多项:训练后的第三模型的输出精度超过第一阈值,或者训练后的第三模型的平均输出精度超过第二阈值,或者第三模型的更新次数达到预设次数等。
在一种可能的实施方式中,本申请提供的方法还可以包括:第一服务器将更新后的第二模型作为新的第一模型发送至少一个下游设备发送更新后的第二模型的信息,以使至少一个下游设备对新的第一模型进行训练,如在训练后的第三模型不满足第一预设条件的情况下,第一服务器可以向至少一个下游设备发送新的第一模型的信息。
因此,本申请实施方式中,第一服务器可以继续向至少一个下游设备发送新的第一模型的信息,以使至少一个下游设备对更新后的第二模型进行训练,进行下一轮迭代,直到得到符合需求的第三模型。
在一种可能的实施方式中,在第一服务器得到更新后的第二模型之后,本申请提供的方法还可以包括:第一服务器向上游设备发送更新后的第二模型的信息,以使上游设备根据更新后的第二模型的信息对第三模型进行训练以得到训练后的第三模型。
因此,本申请实施方式中,第一服务器可以向上游设备发送更新后的第二模型,由上游设备对第三模型来进行更新,从而减少了第一服务器的工作量。
可选地,若由上游设备对第三模型进行训练,则可以判断更新后的第二模型是否满足收敛条件,该收敛条件可以包括第一预设条件或者与第一预设条件类似的条件,从而在第二模型满足收敛条件时完成本轮迭代,由上游设备来训练第三模型。
第二方面,本申请提供一种联邦学习方法,包括:首先,第一客户端接收第一服务器发送的第一模型的信息;第一客户端在第三稀疏约束条件约束下,对第一模型进行训练,以得到训练后的第一模型,第三稀疏约束条件包括用于减少第一模型中的参数的函数形成的约束;第一客户端向第一服务器发送训练后的第一模型的信息,以使第一服务器根据接收到的训练后的第一模型的信息对本地存储的第一模型进行训练以得到新的第一模型。
因此,本申请实施方式中,客户端在接收到服务器下发的模型之后,即可对在稀疏约束下对该模型进行训练,从而得到参数量更少的第一模型,因此可以向第一服务器反馈参数量更少的模型,减少所需的通信资源,降低通信成本。
在一种可能的实施方式中,前述的第一客户端在第三稀疏约束条件约束下,对第一模型进行训练,以得到训练后的第一模型,可以包括:第一客户端在第三稀疏约束条件和第二距离约束条件的约束下,对第一模型进行训练,以得到训练后的第一模型,第二距离约束条件包括第一模型和本地存储的第四模型之间的相似度或者距离形成的约束。
因此,在本申请实施方式中,除了增加稀疏约束之外,还可以增加距离约束,距离约束使得客户端能够寻找与边服务器下发的边服务器模型有差异,且能适应于该客户端本地数据集的个性化模型,能够缓解联邦学习不同客户端数据异构性带来联邦学习训练困难。
例如,可以在损失函数中增加第二距离约束,该第二距离约束具体可以包括以下一种或者多种:欧式距离、闵可夫斯基距离(或者称为明氏距离)、曼哈顿距离、切比雪夫距离、闵氏距离、马氏距离、互信息、余弦相似度、皮尔逊相关系数或熵函数等中的一种或者多种。
第三方面,本申请实施例提供一种联邦学习装置,该联邦学习装置具有实现上述第一方面联邦学习方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。
该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请实施例提供一种联邦学习装置,该联邦学习装置具有实现上述第二方面联邦学习方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。
该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请实施例提供一种联邦学习装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项所示的联邦学习方法中与处理相关的功能。可选地,该联邦学习装置可以是芯片。
第六方面,本申请实施例提供一种联邦学习装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第二方面任一项所示的第一方法中与处理相关的功能。可选地,该联邦学习装置可以是芯片。
第七方面,本申请实施例提供了一种数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第一方面或第二方面中任一可选实施方式中与处理相关的功能。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一可选实施方式中的方法。
第九方面,本申请实施例提供了一种包含计算机程序/指令的计算机程序产品,当其被处理器执行时,使得处理器执行上述第一方面或第二方面中的任一可选实施方式中的方法。
附图说明
图1为人工智能主体框架的一种结构示意图;
图2为本申请提供的一种联邦学习系统的架构示意图;
图3为本申请提供的另一种联邦学习系统的架构示意图;
图4为本申请提供的另一种联邦学习系统的架构示意图;
图5为本申请提供的另一种联邦学习系统的架构示意图;
图6为本申请提供的一种联邦学习方法的流程意图;
图7为本申请提供的另一种联邦学习方法的流程意图;
图8为本申请提供的另一种联邦学习方法的流程意图;
图9为本申请提供的另一种联邦学习方法的流程意图;
图10为本申请提供的另一种联邦学习方法的流程意图;
图11为本申请提供的一种联邦学习装置的结构示意图;
图12为本申请提供的另一种联邦学习装置的结构示意图;
图13为本申请提供的一种服务器的结构示意图;
图14为本申请提供的一种客户端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片,如中央处理器(centralprocessing unit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(英语:graphics processing unit,GPU)、专用集成电路(application specificintegrated circuit,ASIC)或现场可编程逻辑门阵列(field programmable gate array,FPGA)等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能交通、智能医疗、自动驾驶、智慧城市等。
本申请实例主要应用于对各种应用联邦学习场景中采用到的机器学习模型进行训练,训练后的机器学习模型可以应用于上述各种应用领域中以实现分类、回归或其他功能,训练后的机器学习模型的处理对象可以为图像样本、离散数据样本、文本样本或语音样本等,此处不做穷举。其中机器学习模型具体可以表现为神经网络、线性模型或其他类型的机器学习模型等,对应的,组成机器学习模型的多个模块具体可以表现为神经网络模块、现行模型模块或组成其他类型的机器学习模型的模块等,此处不做穷举。在后续实施例中,仅以机器学习模型表现为神经网络为例进行说明,对于机器学习模型表现为除神经网络之外的其他类型时可以类推理解,本申请实施例中不再赘述。
本申请实施例可以应用于联邦学习领域,可以对通过客户端和服务器协同对神经网络进行训练,因此涉及了大量神经网络的相关应用,如在进行联邦学习时客户端训练的神经网络。为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以如公式(1-1)所示:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层中间层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,中间层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是中间层,或者称为隐层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,其每一层可以表示为线性关系表达式:其中,是输入向量,是输出向量,是偏移向量或者称为偏置参数,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数w为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的中间层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。该损失函数通常可以包括误差平方均方、交叉熵、对数、指数等损失函数。例如,可以使用误差均方作为损失函数,定义为具体可以根据实际应用场景选择具体的损失函数。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
在本申请中,客户端在进行模型训练时,即可通过损失函数或者通过BP算法来对全局模型进行训练,以得到训练后的全局模型。
(6)联邦学习(federated learning,FL)
一种分布式机器学习算法,通过多个客户端,如移动设备或边缘服务器,和服务器在数据不出域的前提下,协作式完成模型训练和算法更新,以得到训练后的全局模型。可以理解为,在进行机器学习的过程中,各参与方可借助其他方数据进行联合建模。各方无需共享数据资源,即数据不出本地的情况下,进行数据联合训练,建立共享的机器学习模型。
首先,对本申请提供的联邦学习系统进行介绍。
参阅图2,本申请提供的一种联邦学习系统的架构示意图。该系统(或者也可以简称为集群)中可以包括多个服务器,该多个服务器之间可以互相建立连接,即各个服务器之间也可以进行通信。每个服务器可以和一个或者多个客户端通信,客户端可以部署于各种设备中,如部署于移动终端或者服务器等,如图2中所示出的客户端1、客户端2、…、客户端N-1以及客户端N等。
具体地,服务器之间或者服务器与客户端之间,可以通过任何通信机制/通信标准的通信网络进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。具体地,该通信网络可以包括无线网络、有线网络或者无线网络与有线网络的组合等。该无线网络包括但不限于:第五代移动通信技术(5th-Generation,5G)系统,长期演进(long term evolution,LTE)系统、全球移动通信系统(global system for mobilecommunication,GSM)或码分多址(code division multiple access,CDMA)网络、宽带码分多址(wideband code division multiple access,WCDMA)网络、无线保真(wirelessfidelity,WiFi)、蓝牙(bluetooth)、紫蜂协议(Zigbee)、射频识别技术(radio frequencyidentification,RFID)、远程(Long Range,Lora)无线通信、近距离无线通信(near fieldcommunication,NFC)中的任意一种或多种的组合。该有线网络可以包括光纤通信网络或同轴电缆组成的网络等。
通常,客户端可以部署于各种服务器或者终端中,以下所提及的客户端也可以是指部署了客户端软件程序的服务器或者终端,该终端可以包括移动终端或者固定安装的终端等,例如,该终端具体可以包括手机、平板、个人计算机(personal computer,PC)、智能手环、音响、电视、智能手表或其他终端等。
在进行联邦学习时,每个服务器可以向与其建立了连接的客户端下发待训练的模型,客户端可以使用本地存储的训练样本对该模型进行训练,并将训练后的模型的数据反馈至服务器,服务器在接收到一个或者多个客户端反馈的训练后的一个或者多个模型之后,即可对接收到的一个或者多个模型的数据进行聚合,以得到聚合后的数据,相当于聚合后的模型。在满足停止条件之后,即可输出最终的模型,完成联邦学习。
通常,为解决客户端和服务器之间距离较远而导致的传输时延大的问题,一般在服务器和客户端之间引入中间层服务器(本申请称为边服务器),形成多层架构,即客户端-边服务器-云服务器的架构,从而通过边服务器来减少客户端和联邦学习系统之间的传输时延。
通常,一些常用的方式中,客户端可以将训练后的客户端本地模型上传给变服务器进行聚合,边服务器将聚合后的边服务器模型上传给云服务器,云服务器对接收到的边服务器模型进行聚合,即可得到最终的全局模型。
然而,通常各个客户端之间的训练数据为异构,简单地将客户端模型取平均得到的全局模型,不支持客户端个性化的特性,使得最终得到的全局模型与客户端适配性较差,泛化能力弱。并且,不同区域的边服务器可能具有特定的模型,仅对边服务器模型进行去平均得到全局模型,也不支持边服务器个性化的特性,最终得到的全局模型可能不能应用于每个边服务器以及与其连接的客户端等。此外,客户端和服务器通常通信频繁,每次通信均上传或者下发完整模型,导致传输量较大。
因此,本申请提供一种联邦学习方法,支持客户端的个性化训练模型以及服务器的个性化更新模型,且能够在一定程度上实现去其他设备个性化处理,从而泛化能力更强的全局模型。
具体地,本申请提供的联邦学习方法可以应用的联邦学习系统可以包括多种拓扑关系,如联邦学习系统可以包括两层或者两层以上的架构,下面对一些可能的架构进行示例性介绍。
一、两层架构
如图3所示,本申请提供的一种联邦学习系统的结构示意图。
其中,该联邦学习系统内包括服务器-客户端形成的两层架构。服务器可以直接与一个或者多个客户端直接建立连接。
在联邦学习的过程中,服务器向与其建立了连接的一个或者多个客户端下发全局模型,客户端使用本地存储的训练样本对接收到的全局模型进行训练,并将训练后的全局模型反馈至服务器,服务器基于接收到的训练后的全局模型对本地存储的全局模型进行更新,以得到最终的全局模型。
二、三层架构
如图4所示,本申请提供的一种联邦学习系统的结构示意图。
其中,联邦学习系统中包括了一个或多个云服务器、一个或多个边服务器以及一个或者多个客户端,形成云服务器-边服务器-客户端三层架构。
在该系统中,一个或者多个边服务器接入云服务器,一个或者多个客户端接入边服务器。
在进行联邦学习的过程中,云服务器将本地保存的全局模型下发给边服务器,然后边服务器将该全局模型下发给与其连接的客户端。客户端使用本地存储的训练样本对接收到的全局模型进行训练,并将训练后的全局模型反馈给边服务器,边服务器根据接收到的训练后的全局模型对本地存储的全局模型进行更新,并将边服务器更新后的全局模型再反馈至云服务器,完成联邦学习。
三、三层以上架构
如图5所示,本申请提供的另一种联邦学习系统的结构示意图。
其中,该联邦学习系统中包括了三层以上内的架构,其中一层包括一个或者多个云服务,多个边服务器形成两层或者两层以上的架构,如一个或者多个上游边服务器组成一层架构,每个上游边服务器与一个或者多个下游边服务器连接。边服务器形成的最后一层架构中的每个边服务器和一个或者多个客户端连接,从而客户端形成一层架构。
在联邦学习的过程中,最上游的云服务器将本地存储的最新的全局模型下发给下一层的边服务器,随后边服务器向下一层逐层下发全局模型,直至下发至客户端。客户端在接收到边服务器下发的全局模型之后,使用本地存储的训练样本对接收到的全局模型进行训练,并将训练后的全局模型反馈给上一层的边服务器,然后上一层边服务器基于接收到的训练后的全局模型对本地存储的全局模型进行更新之后,即可将更新后的全局模型上传至更上一层的边服务器,以此类推,直到第二层边服务器将更新后的全局模型上传至云服务器,云服务器基于接收到的全局模型更新本地的全局模型,以得到最终的全局模型,完成联邦学习。
需要说明的是,在本申请中,针对联邦学习架构中的每个节点,将向云服务器传输数据的方向称为上游,将向客户端传输数据的方向称为下游,例如,如图3中所示,服务器是客户端的上游节点,客户端是服务器的下游节点,如图4所示,云服务器可以称为边服务器的上游节点,客户端可以称为边服务器的下游节点等,以此类推。
前述对本申请提供的联邦学习系统进行了介绍,下面对该联邦学习系统中各个设备执行的详细步骤进行介绍。参阅图6,本申请提供的一种联邦学习方法的流程示意图,如下所述。
601、第一服务器向下游设备发送第一模型。
其中,第一服务器可以是前述图2-图5中的联邦学习系统中的服务器。例如,该第一服务器可以是如前述图2中所示出的多个服务器中的任意一个服务器,也可以是前述图3中所示出的两层架构中的任意一个服务器,也可以是如图4中所示的云服务器或者边服务器中的任意一个,还可以是如图5中所述示出的云服务器或者边服务器中的任意一个。该下游设备可以是客户端或者第一服务器的下一层边服务器,且下游设备的数量可以是一个或者多个。例如,若第一服务器与多个客户端建立了连接,则第一服务器可以向每个客户端发送第一模型。
该第一模型可以是第一服务器本地存储的模型,如云服务器本地存储的全局模型,或者第一服务器可以接收到其他服务器发送的模型之后,将接收到的模型保存在本地或者更新本地存储的模型。具体地,第一服务器可以向下游设备发送第一模型的结构参数(如神经网络的宽度、深度或者卷积核大小等)或者初始权重参数等,可选地,第一服务器还可以向下游设备发送训练配置参数,如学习率、epoch数量或者安全算法中类别等参数,以使最终进行训练的客户端可以使用该训练配置参数来对第一模型进行训练。
例如,当第一服务器为云服务器时,该第一模型可以是云服务器上保存的全局模型,为便于区分,以下将云服务器上保存的全局模型称为云侧模型。
又例如,当该第一服务器是边服务器时,该第一模型可以是边服务器上保存的本地模型,或者称为边服务器模型,在边服务器接收到上一层边服务器或者云服务器下发的模型之后,使用接收到的模型作为边服务器模型或更新已有的边服务器模型,以得到新的边服务器模型,并向下游设备发送新的边服务器模型。还需要说明的是,当第一服务器是边服务器,下游设备为客户端时,第一服务器可以直接向客户端下发边服务器模型(或者称为第二模型),当第一服务器是边服务器,下游设备为客户端时可以将该步骤中的第一模型替换为边服务器模型。
在本申请实施例中,所提及的模型,如第一模型、第二模型或者第三模型等等,具体可以包括卷积神经网络(convolutional neural networks,CNN),深度卷积神经网络(deep convolutional neural networks,DCNN),循环神经网络(recurrent neuralnetwork,RNN)等神经网络,具体可以根据实际应用场景确定待学习的模型,本申请对此并不作限定。
可选地,第一服务器可以主动向与其连接的下游设备发送第一模型,也可以是在下游设备的请求下向下游设备发送第一模型。例如,若下游设备为客户端,第一服务器为边服务器,客户端可以向边服务器发送请求消息,以请求参与联邦学习,边服务器在接收到请求消息之后,若确认允许该客户端参与联邦学习,则可以向该客户端下发第一模型。又例如,客户端可以向云服务器发送请求消息,以请求参与联邦学习,云服务器在接收到该请求消息,并确认允许该客户端参与联邦学习,则可以将本地存储的云侧模型下发给边服务器,边服务器根据接收到的模型更新本地的第一模型,并将更新后的第一模型下发给客户端。
602、下游设备对第一模型进行训练。
下游设备在接收到第一服务器发送的第一模型之后,即可对该第一模型进行训练,从而得到训练后的第一模型。或者,下游设备在接收到第一服务器发送的第一模型之后,可以基于接收到的第一模型来更新本地存储的模型,如通过加权融合或者平均等方式来更新本地存储的模型,以得到新的第一模型。
在一种场景中,当下游设备为边服务器时,第一服务器可以是该边服务器的上一层的边服务器或者云服务器,第一服务器在将第一模型下发给边服务器之后,边服务器可以基于该第一模型更新本地存储的第一模型,并将更新后的第一模型下发给更下游的设备,如下发给客户端,或者下发给更下一层的边服务器直到下发至客户端,最终由客户端对第一模型进行训练,以得到训练后的第一模型。
在另一种场景中,当下游设备为客户端时,客户端可以使用本地保存的训练样本对第一模型进行训练,以得到训练后的第一模型。例如,客户端可以部署于移动终端中,该移动终端在运行过程中可以采集到大量数据,客户端可以将采集到的数据作为训练样本,从而对第一模型进行个性化的训练,以得到具有客户端的个性化模型。
在一种可能的实施方式中,若下游设备为客户端,客户端(以其中一个第一客户端为例)对第一模型进行训练的过程具体可以包括:第一客户端接收第一服务器发送的第一模型的信息;第一客户端在第三稀疏约束条件约束下,对第一模型进行训练,以得到训练后的第一模型,该第三稀疏约束条件中包括用于减少第一模型中的参数的函数形成的约束;第一客户端向第一服务器发送训练后的第一模型的信息,如训练后的模型的权重参数、梯度参数等。
因此,在本申请实施方式中,客户端在训练模型时,可以增加稀疏约束,从而使训练后的模型的稀疏性更强,减少最终得到的模型的参数,从而使客户端和服务器之间传输该模型时,相比未进行稀疏约束的模型可以传输更少的参数,减少客户端和服务器之间传输数据所需的通信资源,降低通信负载。
可选地,该第三稀疏约束条件中可以包括的函数具体可以包括第一模型的向量或者矩阵的范数,该范数具体可以包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数等,p∈(0,1)。
可选地,第一客户端可以在第三稀疏约束条件和第二距离约束条件的约束下,对第一模型进行训练,以得到训练后的第一模型,该第二距离约束条件包括所述第一模型和本地存储的第四模型之间的相似度或者距离形成的约束。
例如,可以在损失函数中增加第二距离约束,该第二距离约束具体可以包括以下一种或者多种:欧式距离、闵可夫斯基距离(或者称为明氏距离)、曼哈顿距离、切比雪夫距离、闵氏距离或者马氏距离等距离,或者互信息、余弦相似度、皮尔逊相关系数、熵函数或者内积等相似度。
因此,本申请实施方式中,通过添加距离约束的方式,使客户端可以获知本地存储的模型与服务器下发的模型之间的差异,从而得到适应于客户端本地的数据分布特性的个性化模型,使最终得到的模型可以实现客户端个性化。
为便于理解,在以下一些实施例中,当下游设备为客户端时,客户端在接收到第一模型之后,即可基于该第一模型更新本地存储的端侧模型,如通过替换、加权融合等方式得到新的端侧模型并进行训练。
603、下游设备向第一服务器反馈训练后的第一模型。
下游设备在对第一模型进行训练得到训练后的第一模型之后,即可向上游设备反馈训练后的第一模型。
当该下游设备为客户端时,则客户端可以直接使用本地存储的训练样本对该第一模型进行训练,以得到训练后的第一模型并反馈至第一服务器。
当该下游设备为第一服务器的下一层边服务器时,边服务器可以基于该第一模型更新本地存储的第一模型,并将更新后的第一模型下发给更下游的设备,如下发给客户端,或者下发给更下一层的边服务器直到下发至客户端,最终由客户端对第一模型进行训练,以得到训练后的第一模型,并向上游设备反馈训练后的第一模型,上游设备可以对接收到的第一模型进行再次训练,实现保留上游设备的个性化的效果,并将再次训练后的第一模型向上游设备反馈,直到反馈至第一服务器中。
需要说明的是,当下游设备为边服务器时,可以将下游设备反馈的训练后的模型称为边服务器反馈的云侧模型或者边服务器模型,当下游设备为客户端时,可以将客户端反馈的训练后的模型称为端侧模型,以下不再赘述。
604、第一服务器对训练后的第一模型进行再次训练。
第一服务器接收到下游设备反馈的训练后的第一模型(为避免冗余本步骤中直接称为第一模型)之后,可以对接收到的第一模型进行再次训练,以得到再次训练后的第一模型。其中,下游设备的数量可以是一个或者多个,当存在多个下游设备时,第一服务器可以接收到多个下游设备分别反馈的训练后的第一模型,并对多个训练后的第一模型进行再次训练,以得到再次训练后的多个第一模型。
具体地,下游设备可以将训练后的第一模型的梯度参数反馈给第一服务器,第一服务器在接收到该梯度参数之后,即可基于梯度参数来进行模型训练,而无需使用训练样本,从而使服务器可以一定程度的实现去客户端个性化的处理,且服务器可以对第一模型进行调整,以得到泛化能力更强的模型。
具体地,第一服务器可以在第一稀疏约束条件下,对接收到的至少一个第一模型进行再次训练,以得到再次训练后的第一模型。该第一稀疏约束条件可以包括用于减少第一模型中的参数的函数形成的约束。例如,在再次训练第一模型时,可以在损失函数中增加用于减少第一模型中的参数的函数。
可选地,该第一稀疏约束条件中可以包括的函数具体可以包括第一模型的向量或者矩阵的范数,该范数具体可以包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数等,p∈(0,1)。
因此,本申请实施方式中,可以通过在损失函数中增加范数的方式,来对第一模型进行稀疏处理,从而减少第一模型的参数,从而使下游设备和第一服务器之间传输第一模型时,相比于未稀疏的模型,需要传输的数据更少,减少了传输所需的通信资源,提高传输效率。
可选地,第一服务器还可以在第一距离约束条件的约束下对接收到的至少一个第一模型进行再次训练,以得到再次训练后的第一模型。该第一距离约束条件中可以包括第一模型和第二模型之间的相似度或者在向量空间中的距离形成的约束,第二模型即第一服务器本地存储的模型。例如,可以在损失函数中增加距离约束,该距离约束具体可以包括以下一种或者多种:欧式距离、闵可夫斯基距离(或者称为明氏距离)、曼哈顿距离、切比雪夫距离、闵氏距离、马氏距离、互信息、余弦相似度、皮尔逊相关系数、熵函数等。
因此,本申请实施方式中,还可以结合第一模型和本地存储的第二模型之间的距离或者相似度来训练第一模型,从而使最终得到的训练后的模型结合了上游设备个性化和第一服务器本地模型的个性化特征,泛化能力更强。
在一种可选的实施方式中,为实现一定程度的对第一模型的去个性化以及保留个性化处理,使第一模型的泛化能力更强,在第一服务器对第一模型进行再次训练之前,可以使用噪声对接收到的至少一个第一模型进行扰动,从而得到新的第一模型,然后对新的第一模型进行训练。
为便于理解,在以下实施方式中,若第一服务器为边服务器,可以将该第二模型称为边服务器模型,若该第一服务器为云服务器,则可以将该第二模型称为云侧模型,以下不再赘述。
605、第一服务器聚合本地再次训练后的至少一个第一模型,更新第二模型。
第一服务器在对接收到的至少一个第一模型进行再次训练之后,即可对在本地再次训练后的第一模型进行聚合,基于聚合结果来更新本地存储的第二模型,以得到更新后的第二模型。
具体地,对至少一个第一模型进行聚合的方式可以包括求均值、加权求和或者与本地的第二模型进行加权融合等方式,具体可以根据实际应用场景,本申请对聚合方式并不作限定。
因此,在本申请实施方式中,服务器可以在本地对接收到的模型进行再次训练,从而对接收模型进行保留服务器数据分布特性的个性化处理,使最终得到的模型在适应下游设备的数据分布结构同时,也可以适应服务器的数据分布,提高最终得到的模型在联邦学习系统中的泛化能力。通过客户端和服务器分层训练的方式,能够充分利用各个客户端数据的差异性和各个服务器之间的数据分布差异,实现一定程度的去个性化处理,并一定程度地适应各个设备的个性化特征,有利于提高训练后的端侧模型或者边服务器模型的输出准确度。
在一种可能的实施方式中,若该第一服务器是边服务器,其上一层还具有云服务器,则上述方法还可以包括:在第一服务器向下游设备发送第一模型之前,第一服务器还可以接收云服务器下发的第三模型(或者称为云侧模型),使用该第三模型来更新本地存储的第二模型或者第一模型。在对至少一个第一模型进行聚合得到更新后的第二模型之后,即可对该第三模型进行训练,以得到更新后的第三模型。因此,本申请实施方式中,可以由边服务器对云服务器下发的云侧模型进行训练,从而使云侧模型可以融合边服务器的个性化特征,即使联邦学习系统内的各个设备上的数据异构,也可以得到适应能力强的模型。
示例性地,边服务器在接收到云服务器发送的云侧模型(即第三模型)之后,边服务器可以基于该云侧模型来更新本地的边服务器模型(即第二模型),然后将本地的边服务器模型下发给客户端,客户端使用本地的训练样本对接收到的模型进行训练,并向边服务器反馈训练后的端侧模型(即客户端反馈的第一模型)。然后边服务器可以使用训练后的端侧模型更新边服务器模型,并更新本地存储的云侧模型,将更新后的云侧模型反馈至云服务器,以使云服务器基于该更新后的云侧模型更新本地的云侧模型。
可选地,第一服务器对第三模型进行训练时,可以在第二稀疏约束条件的约束下对第三模型进行训练,该第二稀疏约束条件包括用于减少第三模型中的参数的函数形成的约束,与前述第三稀疏条件类似,此处不再赘述。
若训练后的第三模型满足第一预设条件,则第一服务器可以向上游设备发送训练后的第三模型的信息,如训练后的第三模型的权重参数或者梯度参数等,从而使上游设备上可以具有更新的第三模型的信息。
若训练后的第三模型不满足第一预设条件,则第一服务器可以将更新后的第二模型发送至下游设备,以再次完成一轮迭代,以得到再次迭代后更新的第三模型。相当于将更新后的第二模型作为新的第一模型发送给下游设备,以使下游设备可以对新的第一模型来进行训练,即重复步骤601-605,直到得到符合需求的第三模型。
具体地,该第一预设条件可以根据实际应用场景设置,如可以设置为训练后的第三模型的输出精度超过第一阈值,或者训练后的第三模型的平均输出精度超过第二阈值,或者第三模型的更新次数达到预设次数等,此处不再一一赘述。
可选地,第一服务器也可以将更新后的第二模型的信息发送给上游设备,以使得上游设备根据该更新后的第二模型的信息来更新第三模型,从而减少第一服务器的工作量。上游设备训练第三模型的具体步骤与第一服务器训练第三模型的过程类似,此处不再赘述。
前述对本申请提供的联邦学习学习的流程进行了介绍,下面结合更具体的联邦学习系统的架构,对本申请提供的联邦学习方法进行更详细地阐述。其中,二层架构可以参阅前述图6,将其中的下游设备替换为客户端即可,下面示例性地对三层架构或者三层以上架构的整体流程进行说明。
一、三层架构
参阅图7,本申请提供的一种联邦学习方法的流程示意图,如下所述。
701、云服务器向边服务器发送云侧模型。
其中,云侧模型即云服务器上保存的待训练的全局模型。具体地,云服务器可以向边服务器发送该云侧模型的结构参数(如模型的宽度、深度或者卷积核大小等)、权重参数或梯度参数等参数。
若本轮迭代为第一次迭代,则该全局模型是初始化的待训练的模型。若本轮迭代为非第一次迭代,则该云侧模型可以是根据上一轮迭代中边服务器上传的模型进行更新得到。
应理解,若前述图6中的第一服务器为云服务器,则该云侧模型即前述的第一模型,可以理解为由云服务器存储并进行下发的全局模型。
还应理解,本申请提供的联邦学习系统中,边服务器的数量可以是一个或者多个,若存在多个边服务器,则云服务器可以向多个边服务器分别发送云侧模型云侧模型。并且,云服务可以主动向边服务器下发云侧模型,也可以是在边服务器的请求下向各个边服务器发送云侧模型,具体可以根据实际应用场景调整,本申请对此并不作限定。
702、边服务器更新边服务器模型。
边服务器基于接收到的云侧模型来更新边服务器模型,具体可以是直接将本地存储的边服务器模型直接替换为该云侧模型,以得到新的边服务器模型;或者,也可以对接收到的云侧模型和本地保存的边服务器模型进行聚合,如求平均值或者加权融合等,从而得到新的边服务器模型。
例如,各边服务器需要在每一轮更新开始时用云服务器下发的全局模型,即云侧模型w,更新其本地云侧本地模型wi和各个边服务器模型yi,i=1,2,…,N。如第i个边服务器使用云服务器全局模型w,替换边服务器模型yi=w,替换云侧本地模型wi=w。
703、边服务器向客户端发送边服务器模型。
边服务器在跟新本地存储的边服务器模型之后,即可将最新的边服务器模型下发给客户端,以使客户端接收到最新的边服务器模型并进行训练。
需要说明的是,边服务器可以主动向客户端下发边服务器模型,也可以是在客户端的请求下向客户端下发边服务器模型,具体可以根据实际应用场景确定,本申请对此并不作限定。
在一种可能的场景中,边服务器本地可以保存端侧模型,在得到最新的边服务器模型之后,即可基于最新的边服务器模型来更新端侧模型,如将最新的边服务器模型直接作为端侧模型,或者对最新的边服务器模型和端侧模型进行加权融合,以得到新的端侧模型等,具体可以根据实际应用场景调整。若边服务器本地保存了端侧模型,则边服务器可以直接向客户端下发该端侧模型,即本步骤中的边服务器模型可以替换为端侧模型。
704、客户端在距离约束和/或稀疏约束下对端侧模型进行训练。
其中,客户端在接收到边服务器下发的边服务器模型之后,可以基于该边服务器模型更新本地的端侧模型,并使用本地存储的训练样本,在距离约束和稀疏约束下对端侧模型进行训练,以得到训练后的端侧模型。
具体地,该稀疏约束可以是由第三稀疏约束条件形成的约束,该稀疏约束可以用于减少端侧模型中的参数,从而得到稀疏后的模型,以降低与边服务器之间的通信量。
例如,客户端的数量可以是多个,使用接收到的边服务器模型yi,i=1,2,…,N更新各客户端模型θi,j,i=1,2,…,N,j=1,2,…,Ji。然后客户端使用本地存储的训练样本,在稀疏约束下进一步迭代更新端侧模型θi,j,i=1,2,…,N,j=1,2,…,Ji。如表示为
其中,θi,j表示第i个边服务器的第j个客户端的客户端模型,是第i个边服务器所管理的第j个客户端上的损失函数,其具体形式可以是均方误差损失,交叉熵损失等任何用来衡量神经网路模型预测值和真实值之间不一样程度的函数。根据实际应用场景和需求选取损失函数,能够更灵活的训练神经网络模型。
φρ(θi,j)为稀疏约束对应的函数,γ1为超参数,表示用于调节各个约束函数的权重,在本申请实施例中超参数可以取任意非负实数,例如,当γ1=0时,表示稀疏约束的权重是0,即训练过程中不要求参数稀疏,通常可以适用于神经网络模型较小,传输通信成本较小,无需要求模型参数稀疏的场景。
此处的术语“第i”、“第j”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解这样的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
示例性地,若端侧模型的参数数量为d,稀疏约束为φρ(·)的一种具体形式可以表示为:
也可以替换为l0范数、l1范数、l0范数的近似,l1范数的近似,l0和lp混合范数、l1和lp混合范数等可用于引导变量稀疏性的函数。
可选地,在训练端侧模型时,还可以增加距离约束,即接收到的端侧模型和本地存储的端侧模型(或者称为第四模型)之间的距离或者相似度。
例如,端侧模型可以表示为:
其中,λ1为超参数,表示距离约束所占的权重,此处示例性地以θi,j和yi之间的距离的l2范数为例进行示例性说明,在实际应用场景中,可以替换为欧氏距离、马氏距离、互信息、余弦相似度、内积或者范数等其他任何衡量两个变量相似度或距离的函数,具体可以根据实际应用场景确定适配的函数,本申请对此不作限定。
又例如,前述的二范数可以替换为内积,如端侧模型可以表示为:
示例性地,结合距离约束和稀疏约束后,更新端侧模型可以表示为:
相应地,此处更新端侧模型时使用的二范数也可以替换为其他函数,如内积,如更新端侧模型可以表示为:
此外,客户端在训练端侧模型时,对端侧模型的更新方式具体可以通过梯度下降法,可以是牛顿法,可以是自适应矩估计法(adaptive moment estimation,Adam)等可用于机器学习中的优化算法。
例如,在一种实现方式中,第i个边服务器所管理的第j个客户端,在接收到边服务器下发的边服务器模型yi后,可以选择梯度下降的优化算法更新客户端模型θi,j,
其中,η1是梯度下降优化算法的学习率或每一次更新时的步长,迭代k次之后得到本轮更新最终的个性化模型θi,j。在实际训练过程中,通常不同时使用全部的数据计算可以采用切片的方式,每次迭代使用一个切片(batch)的数据来计算损失函数,更新梯度值,
其中,Zi,j表示第i个边服务器所管理的第j个客户端存储的数据集中的某一个切片(batch)的数据集合,中一组训练数据Zi,j=(Xi,j,Yi,j),Xi,j表示用于神经网络训练的输入数据,Yi,j表示输入数据Xi,j对应的真实标签。
本申请实施方式中,距离约束使得客户端能够寻找与边服务器下发的边服务器模型有差异的适应于该客户端本地数据集的模型的个性化模型,能够缓解联邦学习不同客户端数据异构性带来联邦学习训练困难。稀疏约束能够有效降低客户端个性化模型的非零参数数量,从而降低用户端的计算和存储压力,并减小客户端和边服务器之间的通信成本。
705、客户端向边服务器发送训练后的端侧模型。
客户端在对端侧模型进行训练之后,即可将向边服务器反馈更新后的端侧模型的信息。例如,各个客户端在进行训练得到更新后的稀疏的端侧模型θi,j,i=1,2,…,N,j=1,2,…,Ji之后,即可上传至对应的边服务器中。具体地,可以上传更新后的端侧模型的权重参数、梯度参数等。
706、边服务器更新本地端侧模型。
各客户端上传更新后的稀疏的端侧模型θi,j,i=1,2,…,N,j=1,2,…,Ji至对应的各边服务器,各边服务器使用客户端上传的客户端稀疏模型θi,j计算得到与之对应的边服务器模型yi,j。
具体地,边服务器可以对接收到的端侧模型进行再次训练,由于各个客户端的数据可能是异构数据,因而各个客户端分别用本地的数据训练得到的模型差异也比较大,直接进行聚合的效果不佳,通过本申请提供的方式,边服务器可以对来自各个客户端的模型(本地端侧模型)进行再训练,在保留本地端侧模型的个性化的同时,又一定程度上去除它们之间的差异,使得边服务器聚合得到的模型精度更高,而且能够泛化到更多类型的数据上,提高了边服务器聚合模型的精度和泛化能力。
可选地,边服务器在对接收到的端侧模型进行再次训练的过程中,可以加入稀疏约束来进行训练。例如,与前述客户端侧训练时使用的稀疏约束类似地,可以表示为:
其中,y为超参数,表示稀疏约束φρ(θi,j)的权重。
可选地,在边服务器对接收到的端侧模型进行再次训练的过程中,也可以加入距离约束来进行训练,该距离约束可以包括本地保存的边服务器模型和接收到的端侧模型之间的距离或者相似度,或者还可以包括本地保存的边服务器模型和云侧模型之间的距离或者相似度。例如,第i个边服务器计算得到Ji本地的端侧模型yi,j可以表示为:
解得:
其中,θi,j是该边服务器所管理的第j个客户端上传的稀疏的端侧模型,wi是该边服务器所存储的当前的云侧本地模型。需要说明的是,此处的二范数也可以替换为其他函数,如内积、欧式距离等,具体可以根据实际应用场景进行调整。
可选地,在对端侧模型进行训练之前,也可以使用一定的噪声对端侧模型θi,j进行扰动处理,以得到新的端侧模型θi,j。然后对新的端侧模型θi,j进行再次训练。从而可以通过扰动的方式来得到新的端侧模型。
因此,本实施例中,边服务器可以结合稀疏约束或者距离约束来再次对客户端上传的稀疏模型进行训练,从而使边服务器可以使端侧模型和边服务器之间的差异保持在合适的范围内,避免差异过大或者过小,实现一定程度的去客户端个性化处理,以得到增加了边服务器个性化特征的模型,提高模型的泛化能力。且通过稀疏约束来减少模型的参数,从而降低边服务器和云服务器之间或者边服务器和客户端之间传输的通信量,降低通信成本。
707、边服务器更新边服务器模型。
在得到的本地的端侧模型yi,j之后,即可使用端侧模型yi,j来更新边服务器模型yi。
在一种可能的实施方式中,可能存在多个端侧模型yi,j,第i个边服务器利用所有端侧本地模型yi,j,j=1,2,…,Ji,计算该边服务器模型yi,
可选地,也可先对端侧本地模型进行采样,再聚合得到新的边服务器模型yi。
因此,本实施例中,边服务器模型的个性化训练使得不同的边服务器能够依据其管理的客户端而训练不同的网络,边服务器模型可以不直接用于聚合全局模型,从而提高训练后的神经网络的性能,同时提高联邦学习全局模型的输出准确率。
708、边服务器更新本地云侧模型。
在更新边服务器模型之后,即可使用边服务器模型来更新本地云侧模型。
具体的更新方式可以是使用边服务器模型替换本地的云侧模型,或者对边服务器模型和本地的云侧模型来进行加权融合,或者采用稀疏约束和/或距离约束等来对本地的云侧模型进行更新等,具体可以根据实际应用场景调整。
示例性地,在本申请实施例中,可以采用梯度下降的方法更新第i个边服务器的云侧本地模型wi,对Fi,j(·)求关于w的导数得:
因此以学习率(更新步长)η2更新wi:
稀疏约束φρ(wi)使得本地模型非零参数越来越少,能有效降低边服务器每一次参数传递所需的通信成本。稀疏约束除了φρ(·)还可以根据实际场景灵活选择更适宜的稀疏引导函数,例如使用混合范数引导参数的群/块稀疏性,具体可以根据实际应用场景中调整。
709、边服务器判断是否满足第一预设条件,若是则执行步骤710,若否,则继续执行步骤703。
在边服务器和客户端之间的每一轮迭代中,边服务器更新本地云侧模型之后,即可判断是否已满足第一预设条件,若满足该第一预设条件,则可以将本地存储的云侧模型发送给服务器,即执行步骤710,若未满足第一预设条件,则可以继续将步骤707中得到的最新的边服务器模型下发给客户端,以使客户端使用本地存储的训练样本再次对最新的边服务器模型进行训练,即重复执行步骤703-步骤709。
具体地,该第一预设条件可以包括但不限于以下一项或者多项:迭代训练的次数达到预设次数,即步骤703-步骤709的执行次数达到预设次数、边服务器模型或者云侧模型的输出精度超过第一阈值、边服务器模型或者云侧模型的平均精度超过第二阈值、边服务器模型或者云侧模型在多次迭代之间的参数变化值小于预设变化值等。
因此,本申请实施方式中,在每轮迭代满足终止条件之后,即可将得到的本地的云侧模型发送给云服务器,以使云服务器可以得到泛化能力更强的云侧模型,并基于此更新云服务器上的云侧模型,且得到的云侧模型可以适应联邦学习系统内的各个设备之间(如各个客户端之间)的数据结构或者数据分布差异,泛化能力强。
此外,可选地,边服务器在更新了边服务器模型之后,可以不更新本地云侧模型,在709中可以判断更新后的边服务器模型是否满足第一预设条件,若是则可以将本地的边服务器模型发送给云服务器,由云服务器来执行步骤708。
710、边服务器向云服务器发送本地云侧模型。
在边服务器确定更新后的本地的云侧模型满足第一预设条件之后,若边服务器执行了步骤708,则可以将更新后的本地存储的云侧模型反馈至云服务器。具体地,边服务器可以将更新后的云服务器模型的权重参数、梯度参数等反馈给云服务器。
711、云服务器更新云侧模型。
云服务器在接收到边服务器发送的云侧模型之后,即可使用接收到的云侧模型来更新本地存储的云侧模型。
通常,若云服务器仅接收到一个边服务器上传的云侧模型,则可以使用该云侧模型替换本地存储的云侧模型,或者对接收到的云侧模型和本地存储的云侧模型进行加权融合等。
下面示例性地,对几种更新方式进行示例性介绍。
在一种实现方式中,新的全局模型,即云侧模型w由所有边服务器上传的云侧模型wi求均值得到:
可选地,云服务器也可以通过所有边服务器上传的云侧本地模型加权求和得到:
其中权重αi可以由各个边服务器所拥有的客户端数量决定、可以由各个边服务器所掌握的客户端存储的数据集的大小决定、可以由各边服务器的个性化模型的识别准确率决定,也可以是其他形式,在本申请实施例中不作限定。
在另一种实现方式中,云服务器聚合得到新的全局模型的时候可以考虑结合当前全局模型,如表示为:
其中,β>0,其具体值可以是提前设定的。
此外,也可以对各边服务器上传的本地模型先进行采样,再聚合得到新的全局模型。
因此,本申请实施方式中,可以由云服务器对接收到的模型进行聚合,从而根据聚合结果来更新云侧模型,即全局模型。
712、云服务器判断是否满足第二预设条件,若是,则训练结束,若否,则继续执行步骤701。
其中,该第二预设条件可以包括以下一种或者多种:云服务器全局模型收敛、边服务器模型收敛、客户端模型收敛、循环次数达到预定次数、云服务器全局模型的输出准确率达到某个阈值等。
迭代训练的次数达到一定次数、边服务器模型或者云侧模型的输出精度超过第三阈值、边服务器模型或者云侧模型的平均精度超过第四阈值、边服务器模型或者云侧模型在多次迭代之间的参数变化值小于一定变化值等。
在训练完成之后,以得到最终的稀疏的全局模型w,适用于各边服务器的边服务器模型yi,i=1,2,…,N,适用于各客户端的客户端稀疏模型θi,j,i=1,2,…,N,j=1,2,…,Ji,具有较强的泛化能力。
示例性地,针对三层架构,其整体的联邦学习过程可以例如,该客户端-边服务器-云服务器框架有N个边服务器,其中第i个边服务器管理Ji个客户端,神经网络模型的参数数量为d,在这种情况下,分层个性化联邦学习问题的数学表达形式如下:
其中f1(·)是距离约束函数,其具体形式可以是欧氏距离、马氏距离、互信息、余弦相似度,范数等其他任何衡量两个变量相似度或距离的函数,f1(·)有两个自变量,需要注意,f1(·)可以直接作用于这两个自变量,也可以作用于这两个自变量的某种变形,例如转置、平移、旋转等等,此处不再穷举。f2(·)是稀疏约束函数,其具体形式可以是l0范数、l1范数、l0范数的近似,l1范数的近似,l0和lp混合范数、l1和lp混合范数等任何可用于引导变量稀疏性的函数。λ1、λ2、γ1和γ2为超参数,用于调节各个约束函数的权重,在本申请实施例中超参数可以取任意非负实数,例如,当γ1=γ2=0时,表示稀疏约束的权重是0,即训练过程中不要求参数稀疏,这种情况可用于神经网络模型较小,传输通信成本较小,无需要求模型参数稀疏的场景。w是云侧模型,θi,j是第i个边服务器的第j个客户端的个性化的端侧模型,yi是第i个边服务器的个性化的边服务器模型。
是第i个边服务器所管理的第j个客户端上的损失函数,其具体形式可以是均方误差损失,交叉熵损失等任何用来衡量神经网路模型预测值和真实值之间不一样程度的函数。根据实际应用场景和需求选取损失函数,能够更灵活的训练神经网络模型。
在本申请实施例中以距离约束函数f1(·)为l2范数,稀疏约束函数f2(·)为l1范数的某个近似函数φρ(·)进行阐述,
其中,xn表示x的第n个元素。此时Fi,j(w)的数学表达式为:
此处的二范数也可以替换为其他函数,如内积或者欧式距离等,如替换为内积后的Fi,j(w)的数学表达式为:
因此,本申请实施方式中,边服务器在更新模型时,可以对模型进行训练,根据学习率或者梯度参数等来更新模型,从而使边服务器模型更具有变服务器的个性化特色,提高边服务器模型的输出效果。通过稀疏约束和/或距离约束,使边服务器模型具有边服务的个性化特征,且实现一定程度的去客户端个性化,提高最终得到的模型的泛化能力。相比于仅对接收到的模型进行聚合,本申请通过训练的方式来更新边服务器模型,可以实现对边服务器模型个性化处理,保留边服务器的个性化特色,使边服务器模型可以适应更多的设备中,提高了模型的泛化能力。并且,客户端或者边服务器在进行模型训练时,结合了稀疏约束减少了模型的参数量,从而使客户端和边服务器之间,或者边服务器和云服务器之间传输模型时所需的通信资源更少,降低了通信成本。
二、三层以上架构
参阅图8,本申请提供的另一种联邦学习方法的流程示意图,如下所述。
首先,需要说明的是,本实施例中,客户端执行的步骤与前述图7中的客户端执行的步骤类似,边服务器所执行的步骤与前述图7中的边服务器执行的步骤类似,区别在于图8中所示出的边服务器的上游设备可以由云服务器替换为边服务器,下面对类似之处不再赘述,对一些有区别之处进行介绍。
801、云服务器向边服务器K下发云侧模型。
在进行联邦学习时,云服务器向其下一层边服务器下发云侧模型,即云服务器上存储的全局模型。
802、边服务器K向下一层边服务器J下发边服务器J模型。
边服务器K接收到云侧模型之后,即可使用该云侧模型更新本地的边服务器J模型,并向下一层边服务器下发边服务器J模型,本实施例以下一层边服务器J为例进行示例性说明。
803、边服务器J向变服务器I下发边服务器模型。
边服务器J接收到上一层边服务器下发的边服务器模型之后,即可使用接收到的边服务器模型更新本地边服务器J模型,并向下一层边服务器下发边服务器J模型。
804、边服务器I更新边服务器I模型。
边服务器I接收到上一层边服务器下发的模型之后,即可使用该模型更新本地的边服务器I模型。
805、边服务器I向客户端下发边服务器I模型。
806、客户端在第三稀疏约束条件下对端侧模型进行训练。
在本申请实施例中,客户端接收到最下层边服务器下发的模型后,可以基于接收到的模型更新本地存储的端侧模型,然后在稀疏约束和/或距离约束下对本地存储的端侧模型进行训练,以得到训练后的端侧模型。因此,客户端稀疏个性化的模型能够缓解联邦学习不同客户端数据异构性带来联邦学习训练困难的同时,降低客户端每次上传模型给边服务器所需的通信成本。
通常,第i个最下层边服务器所管理的第j个客户端接收到i个最下层边服务器下发的模型yi,更新客户端个性化模型θi,j。
本申请中的步骤806可以参阅前述步骤704的相关描述,此处不再赘述。
807、客户端向边服务器I上传训练后的端侧模型。
客户端在对端侧模型进行训练之后,即可向边服务器I上传训练后的端侧模型,如上传模型的权重参数或者梯度参数等。
808、边服务器I更新本地端侧模型。
809、边服务器I更新边服务器I模型。
810、边服务器I更新边服务器J模型。
811、边服务器I判断是否满足第一预设条件,若是,则执行步骤805,若否,则执行步骤。
其中,步骤808-步骤811可以参阅前述步骤706-步骤709的相关描述,此处不再赘述。
812、边服务器I向边服务器J上传本地云侧模型。
813、边服务器J向边服务器K反馈本地云侧模型。
814、边服务器K更新本地端侧模型。
815、边服务器K更新边服务器J模型。
816、边服务器K更新本地云侧模型。
817、边服务器K判断是否满足第三预设条件,若是,则执行步骤802,若否,则执行步骤818。
其中,步骤813-步骤817可以参阅前述步骤706-步骤709的相关描述,此处不再赘述。
818、边服务器K向云服务器反馈本地云侧模型。
819、云服务器更新云侧模型。
820、云服务器判断是否满足第二预设条件,若否,则执行步骤801,若是,则结束训练。
其中,步骤819-步骤820可以参阅前述步骤710-步骤712的相关描述,此处不再赘述。
因此,本申请实施方式提供的联邦学习方法,可以适应两层、三层或者三层以上的架构,可以适应更多的场景,充分利用了各客户端数据的差异性和各边服务器数据分布,有利于提高训练后端侧/边服务器个性化模型和全局模型的准确度,最终得到准确度更高的全局模型。并且,通过在训练过程中增加稀疏约束来减少模型的参数,从而减少各个设备之间进行通信的数据量,降低通信成本。并且,各个设备在训练模型时,可以增加距离约束,从而在实现一定程度的去个性化的同时,还可以保留一定程度的边服务器和客户端的个性化,使最终得到的模型可以适应各个设备之间的数据结构或者数据分布的差异,模型的适配性更好,泛化能力更强。
为便于理解,下面对三层以上架构下,边服务器所执行的步骤进行更详细的解释。
其中,处于中间层的边服务器做执行的步骤可以理解为分解为了多个串行的执行块,下面对每个执行块所包括的步骤,即中间层的边服务器所执行的步骤进行示例性说明。参与图9,本申请提供的另一种联邦学习方法的流程示意图。
901、边服务器A接收下一层边服务器上传的本地云侧模型,并更新本地端侧模型。
边服务器A管理M个下一层边服务器(M>1),边服务器A首先接收到其管理的M个下一层边服务器上传的其本地的云侧模型记为wl,i,通过稀疏约束和/或距离约束计算得到的与之对应的本地端侧模型记为yp,i,i=1,2,…,M,边服务器A当前存储的云侧模型记为w。
示例性地,边服务器A更新本地端侧模型的方式可以表示为:
其中,λ1,λ2是超参数,表示各个约束函数所占的权重,||wl,i-yp,i||2用于表示wl,i和yp,i之间的距离形成的l2范数约束,||wp,i-w||2可以表示wp,i和本地存储的w之间的距离形成的l2范数约束,此处的范数也可以替换为内积或者欧式距离等,具体可以根据实际应用场景调整。
当然,除了上述的方式,也可以通过其他利用下一层边服务器上传的云侧本地模型wl,i计算得到新的神经网络模型的方式,此次不再一一赘述。
902、边服务器A聚合所有端侧模型得到新的边服务器模型。
在前述步骤901中计算得到M个本地端侧模型yp,i,i=1,2,…,M,边服务器A当前存储的本地模型记为w,聚合M个本地端侧模型得到的边服务器模型记为yp。
边服务器A聚合所有端侧模型的具体聚合方式不做限制,例如,可以是求各个模型的加权和,可以是求各个模型的均值,或其他类似的方式等。
在一种实现方式中,聚合yp可以表示为
此外,也可先对个性化本地模型yp,i进行采样,如筛选出部分yp,i,再聚合筛选出的部分模型得到新的边服务器模型yp。
因此,本申请实施方式中,边服务器模型使得不同的边服务器能够依据其管理的下层边服务器而训练不同的网络,边服务器模型不用于上传上层边服务器聚合新模型,从而提高训练后神经网络的性能,同时提高联邦学习全局模型的识别准确率。
903、边服务器A使用边服务器模型更新本地的云侧模型。
在更新边服务器A的本地云侧模型w时,可以采用梯度下降的方式来更新本地存储的云侧模型w,如表示为:
其中,η是梯度下降过程中的学习率,该学习率可以是预先设定的值,也可以是根据实际应用场景确定的值,λ和γ是超参数,即为稀疏约束。因此,本申请实施方式中,在边服务器对本地的端侧模型进行更新时,可以增加稀疏约束,来减少最终得到的模型中的参数,从而降低边服务器和其他设备之间进行通信的通信量,降低通信成本。
904、边服务器A判断是否符合停止条件,若是,则执行步骤905,若否,则执行步骤906。
边服务器A判断是否符合停止条件,停止条件可以是边服务器模型收敛、循环次数达到预定次数、边服务器模型输出准确率达到某个阈值等,该终止条件参阅前述的第一预设条件或者第二预设条件等,此处不再赘述。
905、边服务器A上传最新的本地云侧模型至上一层边服务器。
若当前符合停止条件,则可以向上一层边服务上传最新的本地的云侧模型,以使上一层边服务器使用该云侧模型更新其本地的云侧模型。
906、边服务器A向下一层边服务器下发更新后的边服务器模型。
若当前不符合停止条件,则服务器A可以继续上下一层边服务器下发更新后的边服务器模型,以使上一层边服务器逐层向下下发边服务器模型,使最下游的客户端继续训练接收到的模型。
因此,本申请实施方式中,三层以上架构中边服务器可以与相邻的边服务器之间交互,并通过稀疏约束来训练接收到的模型,从而减少模型的参数,降低边服务器和上游设备或者下游设备之间通信的通信成本。
此外,参阅图10,本申请提供的另一种联邦学习方法的流程示意图,如下所述。
1001、边服务器A接收下一层边服务器上传的本地云侧模型,并聚合得到边服务器模型。
边服务器A管理M个下一层边服务器(M>1),边服务器A首先接收到其管理的M个下一层边服务器上传的其本地的云侧模型记为wl,i,通过稀疏约束和/或距离约束计算得到的与之对应的本地的端侧模型记为yp,i,i=1,2,…,M,边服务器A当前存储的云侧模型记为w。
在一种可能的实现方式中,聚合接收到的云侧模型的方式可以表示为:
1002、边服务器A判断是否满足停止条件,若是,则执行步骤1003,若否,则执行步骤1004。
1003、边服务器A向上一层边服务器上传本地的云侧模型。
1004、边服务器A想下一层边服务器下发最新的边服务器模型。
其中,步骤1002-步骤1004和前述步骤904-步骤906类似,此处不再赘述。
因此,本申请实施方式中,针对处于中间层的边服务器,也可以无需更新本地的端侧模型,适应具有更多层架构的联邦学习系统,提高联邦学习的效率。
前述对本申请提供的联邦学习方法的流程进行了详细介绍,下面基于前述的方法流程,对执行该方法流程的装置进行进一步介绍。
参阅图11,本申请提供的一种联邦学习装置的结构示意图,该联邦学习装置可以用于执行如前述图6-图10中服务器执行的步骤,该联邦学习装置可以包括:
收发模块1101,用于接收至少一个下游设备发送的至少一个第一模型的信息;
训练模块1102,用于对至少一个第一模型进行训练,以得到训练后的至少一个第一模型;
聚合模块1103,用于对训练后的至少一个第一模型进行聚合,以得到聚合结果;
更新模块1104,用于根据聚合结果更新本地存储的第二模型,以得到更新后的第二模型。
在一种可能的实施方式中,训练模块1102,具体用于在第一稀疏约束条件的约束下,对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,第一稀疏约束条件包括用于减少第一模型中的参数的函数形成的约束。
在一种可能的实施方式中,训练模块1102,具体用于在第一稀疏约束条件和第一距离约束条件的约束下对至少一个第一模型进行训练,以得到训练后的至少一个第一模型,第一稀疏约束条件包括用于减少第一模型中的参数的函数形成的约束,第一距离约束条件包括至少一个第一模型和第二模型之间的相似度或者距离形成的约束。
在一种可能的实施方式中,训练模块1102,具体用于:使用噪声对至少一个第一模型进行扰动,以得到更新后的至少一个第一模型;在第一稀疏约束条件和第一距离约束条件的约束下对更新后的至少一个第一模型进行训练,以得到训练后的至少一个第一模型。
在一种可能的实施方式中,第一距离约束条件中还包括第二模型和第三模型之间的相似度或者距离形成的约束,第三模型是上游设备发送的模型。
在一种可能的实施方式中,第一稀疏约束条件中包括至少一个第一模型的向量或者矩阵的范数,范数包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数,p∈(0,1)。
在一种可能的实施方式中,收发模块1101,还用于接收上游设备向第一服务器发送的第三模型;
训练模块1102,还用于根据第三模型更新本地存储的模型,以得到第二模型。
在一种可能的实施方式中,训练模块1102,还用于对第三模型进行训练,以得到更新后的第三模型。
在一种可能的实施方式中,训练模块1102,具体用于在第二稀疏约束条件的约束下对第三模型进行训练,以得到训练后的第三模型,第二稀疏约束条件包括用于减少第三模型中的参数的函数形成的约束。
在一种可能的实施方式中,收发模块1101,还用于向上游设备发送训练后的第三模型的信息。
在一种可能的实施方式中,收发模块1101,还用于将更新后的第二模型作为新的模型发送给至少一个下游设备,以使至少一个下游设备对新的第一模型进行训练,直到得到符合需求的第三模型。
在一种可能的实施方式中,收发模块1101,还用于在第一服务器对训练后的至少一个第一模型进行聚合,以得到更新后的第二模型之后,向上游设备发送更新后的第二模型的信息,以使上游设备根据更新后的第二模型的信息对第三模型进行训练以得到训练后的第三模型。
参阅图12,本申请提供的另一种联邦学习装置的结构示意图,该联邦学习装置可以用于执行如前述图6-图10中客户端执行的步骤,该联邦学习装置可以包括:
收发模块1201,用于接收第一服务器发送的第一模型的信息;
训练模块1202,用于在第三稀疏约束条件约束下,对第一模型进行训练,以得到训练后的第一模型,第三稀疏约束条件包括用于减少第一模型中的参数的函数形成的约束;
收发模块1201,还用于向第一服务器发送训练后的第一模型的信息,以使第一服务器根据接收到的训练后的第一模型的信息对第一模型进行再训练以得到新的第一模型。
在一种可能的实施方式中,训练模块1202,具体用于第一客户端在第三稀疏约束条件和第二距离约束条件的约束下,对第一模型进行训练,以得到训练后的第一模型,第二距离约束条件包括第一模型和本地存储的第四模型之间的相似度或者距离形成的约束。
本申请实施例还提供一种服务器,请参阅图13,图13为本申请实施例提供的服务器的一种结构示意图。联邦学习装置1300上可以部署有图11对应实施例中所描述的联邦学习装置,用于实现图6至图10对应实施例中服务器的功能。具体的,联邦学习装置1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器CPU1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。
其中,存储器1332和存储介质1330可以是短暂存储或持久存储。在一个实施例中,存储器1332为随机存储存储器(random access memory,RAM),可以与中央处理器1322直接交换数据,用于加载数据1344和应用程序1342和/或操作系统1341以供中央处理器1322直接运行与运用,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。存储在存储介质1330的程序可以包括一个或一个以上模块(图13中未示出),每个模块可以包括联邦学习装置中的一系列指令操作。
更进一步地,中央处理器1322可以设置为与存储介质1330通信,在联邦学习装置1300上执行存储介质1330中的一系列指令操作。在一种可能的实施方式中,存储介质1330中存储了前述图6-图10中任一实施例所示的方法步骤对应的程序指令以及数据。
联邦学习装置1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例还提供了一种联邦学习装置,该联邦学习装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元可以通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图6-图10中任一实施例所示的服务器执行的方法步骤。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器1322,或者处理器1322的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中服务器装置执行的动作。
更详细地,当本申请实施例提供的联邦学习装置为芯片时,该芯片具体包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图6-图10所示实施例描述的联邦学习方法。
请参阅图14,本申请提供的另一种客户端的结构示意图,如下所述。
该客户端可以包括处理器1401和存储器1402。该处理器1401和存储器1402通过线路互联。其中,存储器1402中存储有程序指令和数据。
存储器1402中存储了前述图6至图10中的步骤对应的程序指令以及数据。
处理器1401用于执行前述图6至图10中任一实施例所示的客户端执行的方法步骤。
该客户端还可以包括收发器1403,用于接收或者发送数据。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如前述图6至图10所示实施例描述的方法中由客户端执行的步骤。
本申请实施例还提供了一种联邦学习装置,该联邦学习装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元可以通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行前述图6-图10中任一实施例所示的客户端执行的方法步骤。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器1401,或者处理器1401的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中服务器装置执行的动作。
更详细地,当本申请实施例提供的联邦学习装置为芯片时,该芯片具体包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图6-图10所示实施例描述的联邦学习方法。
可选地,前述的存储单元可以为芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器RAM等。
具体地,前述的处理单元或者处理器可以是中央处理器、网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)或现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述图3-图14的方法的程序执行的集成电路。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如前述图3-图14所示实施例描述的方法中的步骤。
本申请实施例中还提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3-图14所示实施例描述的方法中数据处理装置或者生产计划生成装置所执行的步骤。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
最后应说明的是:以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (33)
1.一种联邦学习方法,其特征在于,包括:
第一服务器接收至少一个下游设备发送的至少一个第一模型的信息;
所述第一服务器对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型;
所述第一服务器对所述训练后的至少一个第一模型进行聚合,以得到聚合结果;
所述第一服务器根据所述聚合结果更新本地存储的第二模型,以得到更新后的第二模型。
2.根据权利要求1所述的方法,其特征在于,所述第一服务器对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,包括:
所述第一服务器在第一稀疏约束条件的约束下,对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,所述第一稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束。
3.根据权利要求1所述的方法,其特征在于,所述第一服务器对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,包括:
所述第一服务器在第一稀疏约束条件和第一距离约束条件的约束下对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,所述第一稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束,所述第一距离约束条件包括所述至少一个第一模型和所述第二模型之间的相似度或者距离形成的约束。
4.根据权利要求3所述的方法,其特征在于,所述第一服务器在所述第一稀疏约束条件和第一距离约束条件的约束下对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,包括:
所述第一服务器使用噪声对所述至少一个第一模型进行扰动,以得到更新后的至少一个第一模型;
所述第一服务器在所述第一稀疏约束条件和所述第一距离约束条件的约束下对所述更新后的至少一个第一模型进行训练,以得到训练后的至少一个第一模型。
5.根据权利要求3或4所述的方法,其特征在于,所述第一距离约束条件中还包括所述第二模型和第三模型之间的相似度或者距离形成的约束,所述第三模型是来自所述第一服务器的上游设备的模型。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一服务器接收来自上游设备的第三模型;
所述第一服务器根据所述第三模型更新本地存储的模型,以得到所述第二模型。
7.根据权利要求6所述的方法,其特征在于,
在所述得到更新后的第二模型之后,所述方法还包括:
所述第一服务器对所述第三模型进行训练,以得到更新后的第三模型。
8.根据权利要求7所述的方法,其特征在于,所述第一服务器对第三模型进行训练,以得到更新后的第三模型,包括:
所述第一服务器在第二稀疏约束条件的约束下对所述第三模型进行训练,以得到所述训练后的第三模型,所述第二稀疏约束条件包括用于减少所述第三模型中的参数的函数形成的约束。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第一服务器向所述上游设备发送所述训练后的第三模型的信息。
10.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第一服务器将所述更新后的第二模型作为新的第一模型发送至所述至少一个下游设备,以使所述至少一个下游设备对所述新的第一模型进行训练。
11.根据权利要求6所述的方法,其特征在于,在所述得到更新后的第二模型之后,所述方法还包括:
所述第一服务器向所述上游设备发送所述更新后的第二模型的信息,以使所述上游设备根据所述更新后的第二模型的信息对所述第三模型进行训练以得到训练后的第三模型。
12.根据权利要求2-5中任一项所述的方法,其特征在于,所述第一稀疏约束条件中包括所述至少一个第一模型的向量或者矩阵的范数,所述范数包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数,p∈(0,1)。
13.一种联邦学习方法,其特征在于,包括:
第一客户端接收第一服务器发送的第一模型的信息;
所述第一客户端在第三稀疏约束条件约束下,对所述第一模型进行训练,以得到训练后的第一模型,所述第三稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束;
所述第一客户端向所述第一服务器发送所述训练后的第一模型的信息,以使所述第一服务器根据接收到的所述训练后的第一模型的信息对所述第一模型进行再训练以得到新的第一模型。
14.根据权利要求13所述的方法,其特征在于,所述第一客户端在第三稀疏约束条件约束下,对所述第一模型进行训练,以得到训练后的第一模型,包括:
所述第一客户端在所述第三稀疏约束条件和第二距离约束条件的约束下,对所述第一模型进行训练,以得到所述训练后的第一模型,所述第二距离约束条件包括所述第一模型和本地存储的第四模型之间的相似度或者距离形成的约束。
15.一种联邦学习装置,其特征在于,包括:
收发模块,用于接收至少一个下游设备发送的至少一个第一模型的信息;
训练模块,用于对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型;
聚合模块,用于对所述训练后的至少一个第一模型进行聚合,以得到聚合结果;
更新模块,用于结合所述聚合结果对本地存储的第二模型进行更新,以得到更新后的第二模型。
16.根据权利要求15所述的装置,其特征在于,
所述训练模块,具体用于在第一稀疏约束条件的约束下,对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,所述第一稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束。
17.根据权利要求15所述的装置,其特征在于,
所述训练模块,具体用于在第一稀疏约束条件和第一距离约束条件的约束下对所述至少一个第一模型进行训练,以得到训练后的至少一个第一模型,所述第一稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束,所述第一距离约束条件包括所述至少一个第一模型和所述第二模型之间的相似度或者距离形成的约束。
18.根据权利要求17所述的装置,其特征在于,所述训练模块,具体用于:
使用噪声对所述至少一个第一模型进行扰动,以得到更新后的至少一个第一模型;
在所述第一稀疏约束条件和所述第一距离约束条件的约束下对所述更新后的至少一个第一模型进行训练,以得到训练后的至少一个第一模型。
19.根据权利要求17或18所述的装置,其特征在于,所述第一距离约束条件中还包括所述第二模型和第三模型之间的相似度或者距离形成的约束,所述第三模型是上游设备发送的模型。
20.根据权利要求15-19中任一项所述的装置,其特征在于,
所述收发模块,还用于接收上游设备向所述第一服务器发送的第三模型;
所述训练模块,还用于根据所述第三模型更新本地存储的模型,以得到所述第二模型。
21.根据权利要求20所述的装置,其特征在于,所述训练模块,还用于对所述第三模型进行训练,以得到更新后的第三模型。
22.根据权利要求21所述的装置,其特征在于,
所述训练模块,具体用于在第二稀疏约束条件的约束下对所述第三模型进行训练,以得到所述训练后的第三模型,所述第二稀疏约束条件包括用于减少所述第三模型中的参数的函数形成的约束。
23.根据权利要求21或22所述的装置,其特征在于,
所述收发模块,还用于向所述上游设备发送所述训练后的第三模型的信息。
24.根据权利要求21或22所述的装置,其特征在于,
所述收发模块,还用于将所述更新后的第二模型作为新的第一模型发送至所述至少一个下游设备,以使所述至少一个下游设备对所述新的第一模型进行训练。
25.根据权利要求20所述的装置,其特征在于,
所述收发模块,还用于向所述上游设备发送所述更新后的第二模型的信息,以使所述第二服务器根据所述更新后的第二模型的信息对所述第三模型进行训练以得到训练后的第三模型。
26.根据权利要求16-19中任一项所述的装置,其特征在于,所述第一稀疏约束条件中包括所述至少一个第一模型的向量或者矩阵的范数,所述范数包括:l0范数、l1范数、lp范数、l12范数、lp2范数、l0范数变换后的连续函数、l1范数变换后的连续函数、lp范数变换后的连续函数、l12范数变换后的连续函数或者lp2范数变换后的连续函数,p∈(0,1)。
27.一种联邦学习装置,其特征在于,包括:
收发模块,用于接收第一服务器发送的第一模型的信息;
训练模块,用于在第三稀疏约束条件约束下,对所述第一模型进行训练,以得到训练后的第一模型,所述第三稀疏约束条件包括用于减少所述第一模型中的参数的函数形成的约束;
所述收发模块,还用于向所述第一服务器发送所述训练后的第一模型的信息,以使所述第一服务器根据接收到的所述训练后的第一模型的信息对所述第一模型进行再训练以得到新的第一模型。
28.根据权利要求27所述的装置,其特征在于,
所述训练模块,具体用于所述第一客户端在所述第三稀疏约束条件和第二距离约束条件的约束下,对所述第一模型进行训练,以得到所述训练后的第一模型,所述第二距离约束条件包括所述第一模型和本地存储的第四模型之间的相似度或者距离形成的约束。
29.一种联邦学习系统,其特征在于,包括多个服务器和至少一个客户端,所述至少一个客户端和所述多个服务器建立连接;
所述多个服务器中的任意一个服务器用于实现权利要求1至12中任一项所述的方法的步骤;
所述至少一个客户端用于实现权利要求13或14所述的方法的步骤。
30.一种联邦学习装置,其特征在于,包括一个或多个处理器,所述一个或多个处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述一个或多个处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
31.一种联邦学习装置,其特征在于,包括一个或多个处理器,所述一个或多个处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述一个或多个处理器执行时实现权利要求13或14所述的方法的步骤。
32.一种计算机可读存储介质,其特征在于,包括程序,当其被处理单元所执行时,执行如权利要求1至14中任一项所述的方法。
33.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至14中任一项所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110573525.4A CN113469367B (zh) | 2021-05-25 | 2021-05-25 | 一种联邦学习方法、装置及系统 |
EP22810410.5A EP4328814A1 (en) | 2021-05-25 | 2022-05-17 | Federated learning method, apparatus, and system |
PCT/CN2022/093183 WO2022247683A1 (zh) | 2021-05-25 | 2022-05-17 | 一种联邦学习方法、装置及系统 |
US18/518,753 US20240086720A1 (en) | 2021-05-25 | 2023-11-24 | Federated learning method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110573525.4A CN113469367B (zh) | 2021-05-25 | 2021-05-25 | 一种联邦学习方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113469367A true CN113469367A (zh) | 2021-10-01 |
CN113469367B CN113469367B (zh) | 2024-05-10 |
Family
ID=77871554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110573525.4A Active CN113469367B (zh) | 2021-05-25 | 2021-05-25 | 一种联邦学习方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240086720A1 (zh) |
EP (1) | EP4328814A1 (zh) |
CN (1) | CN113469367B (zh) |
WO (1) | WO2022247683A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006735A (zh) * | 2021-10-19 | 2022-02-01 | 广州木链云科技有限公司 | 一种数据保护方法、装置、计算机设备和存储介质 |
CN114584581A (zh) * | 2022-01-29 | 2022-06-03 | 华东师范大学 | 面向智慧城市物联网信物融合的联邦学习系统及联邦学习训练方法 |
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
WO2022247683A1 (zh) * | 2021-05-25 | 2022-12-01 | 华为技术有限公司 | 一种联邦学习方法、装置及系统 |
WO2024007264A1 (zh) * | 2022-07-07 | 2024-01-11 | 华为技术有限公司 | 模型训练方法及通信装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447083A (zh) * | 2020-03-10 | 2020-07-24 | 中国人民解放军国防科技大学 | 动态带宽和不可靠网络下的联邦学习架构及其压缩算法 |
CN111553484A (zh) * | 2020-04-30 | 2020-08-18 | 同盾控股有限公司 | 联邦学习的方法、装置及系统 |
US20200285980A1 (en) * | 2019-03-08 | 2020-09-10 | NEC Laboratories Europe GmbH | System for secure federated learning |
CN112070240A (zh) * | 2020-09-07 | 2020-12-11 | 清华大学 | 一种高效通信的分层联邦学习框架及其优化方法和系统 |
CN112181666A (zh) * | 2020-10-26 | 2021-01-05 | 华侨大学 | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法、系统、设备和可读存储介质 |
US20210073639A1 (en) * | 2018-12-04 | 2021-03-11 | Google Llc | Federated Learning with Adaptive Optimization |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
CN112804107A (zh) * | 2021-01-28 | 2021-05-14 | 南京邮电大学 | 一种物联网设备能耗自适应控制的分层联邦学习方法 |
CN112817653A (zh) * | 2021-01-22 | 2021-05-18 | 西安交通大学 | 一种基于云边端的联邦学习计算卸载计算系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469367B (zh) * | 2021-05-25 | 2024-05-10 | 华为技术有限公司 | 一种联邦学习方法、装置及系统 |
-
2021
- 2021-05-25 CN CN202110573525.4A patent/CN113469367B/zh active Active
-
2022
- 2022-05-17 WO PCT/CN2022/093183 patent/WO2022247683A1/zh active Application Filing
- 2022-05-17 EP EP22810410.5A patent/EP4328814A1/en active Pending
-
2023
- 2023-11-24 US US18/518,753 patent/US20240086720A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073639A1 (en) * | 2018-12-04 | 2021-03-11 | Google Llc | Federated Learning with Adaptive Optimization |
US20200285980A1 (en) * | 2019-03-08 | 2020-09-10 | NEC Laboratories Europe GmbH | System for secure federated learning |
CN111447083A (zh) * | 2020-03-10 | 2020-07-24 | 中国人民解放军国防科技大学 | 动态带宽和不可靠网络下的联邦学习架构及其压缩算法 |
CN111553484A (zh) * | 2020-04-30 | 2020-08-18 | 同盾控股有限公司 | 联邦学习的方法、装置及系统 |
CN112070240A (zh) * | 2020-09-07 | 2020-12-11 | 清华大学 | 一种高效通信的分层联邦学习框架及其优化方法和系统 |
CN112181666A (zh) * | 2020-10-26 | 2021-01-05 | 华侨大学 | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法、系统、设备和可读存储介质 |
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
CN112817653A (zh) * | 2021-01-22 | 2021-05-18 | 西安交通大学 | 一种基于云边端的联邦学习计算卸载计算系统及方法 |
CN112804107A (zh) * | 2021-01-28 | 2021-05-14 | 南京邮电大学 | 一种物联网设备能耗自适应控制的分层联邦学习方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022247683A1 (zh) * | 2021-05-25 | 2022-12-01 | 华为技术有限公司 | 一种联邦学习方法、装置及系统 |
CN114006735A (zh) * | 2021-10-19 | 2022-02-01 | 广州木链云科技有限公司 | 一种数据保护方法、装置、计算机设备和存储介质 |
CN114006735B (zh) * | 2021-10-19 | 2024-03-08 | 广州木链云科技有限公司 | 一种数据保护方法、装置、计算机设备和存储介质 |
CN114584581A (zh) * | 2022-01-29 | 2022-06-03 | 华东师范大学 | 面向智慧城市物联网信物融合的联邦学习系统及联邦学习训练方法 |
CN114584581B (zh) * | 2022-01-29 | 2024-01-09 | 华东师范大学 | 面向智慧城市物联网信物融合的联邦学习系统及联邦学习训练方法 |
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
WO2024007264A1 (zh) * | 2022-07-07 | 2024-01-11 | 华为技术有限公司 | 模型训练方法及通信装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240086720A1 (en) | 2024-03-14 |
EP4328814A1 (en) | 2024-02-28 |
CN113469367B (zh) | 2024-05-10 |
WO2022247683A1 (zh) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113469367B (zh) | 一种联邦学习方法、装置及系统 | |
WO2023279975A1 (zh) | 一种模型处理方法、联邦学习方法及相关设备 | |
US11010658B2 (en) | System and method for learning the structure of deep convolutional neural networks | |
WO2022105714A1 (zh) | 数据处理方法、机器学习的训练方法及相关装置、设备 | |
WO2022179492A1 (zh) | 一种卷积神经网络的剪枝处理方法、数据处理方法及设备 | |
CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
WO2021244249A1 (zh) | 一种分类器的训练方法、数据处理方法、系统以及设备 | |
CN113705769A (zh) | 一种神经网络训练方法以及装置 | |
WO2021051987A1 (zh) | 神经网络模型训练的方法和装置 | |
CN111783937A (zh) | 一种神经网络构建方法以及系统 | |
Li et al. | Application of deep neural network and deep reinforcement learning in wireless communication | |
WO2021218470A1 (zh) | 一种神经网络优化方法以及装置 | |
WO2022012668A1 (zh) | 一种训练集处理方法和装置 | |
CN111612215A (zh) | 训练时间序列预测模型的方法、时间序列预测方法及装置 | |
WO2022088063A1 (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
CN114492723A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
WO2022267036A1 (zh) | 神经网络模型训练方法和装置、数据处理方法和装置 | |
CN115081588A (zh) | 一种神经网络参数量化方法和装置 | |
CN111931901A (zh) | 一种神经网络构建方法以及装置 | |
CN113536970A (zh) | 一种视频分类模型的训练方法及相关装置 | |
CN112446462B (zh) | 目标神经网络模型的生成方法和装置 | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
CN114943324A (zh) | 神经网络训练方法、人体运动识别方法及设备、存储介质 | |
CN116830122A (zh) | 用于联合学习的方法、系统和装置 |
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 |