CN111898764A - 联邦学习的方法、装置和芯片 - Google Patents
联邦学习的方法、装置和芯片 Download PDFInfo
- Publication number
- CN111898764A CN111898764A CN202010593841.3A CN202010593841A CN111898764A CN 111898764 A CN111898764 A CN 111898764A CN 202010593841 A CN202010593841 A CN 202010593841A CN 111898764 A CN111898764 A CN 111898764A
- Authority
- CN
- China
- Prior art keywords
- parameters
- node
- model
- distribution
- local
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 238000009826 distribution Methods 0.000 claims abstract description 886
- 238000012549 training Methods 0.000 claims abstract description 225
- 238000010801 machine learning Methods 0.000 claims abstract description 96
- 238000013528 artificial neural network Methods 0.000 claims description 92
- 230000015654 memory Effects 0.000 claims description 45
- 238000011156 evaluation Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 abstract description 33
- 238000012545 processing Methods 0.000 abstract description 9
- 230000003993 interaction Effects 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 71
- 230000006870 function Effects 0.000 description 44
- 238000005457 optimization Methods 0.000 description 30
- 238000013531 bayesian neural network Methods 0.000 description 26
- 239000013598 vector Substances 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 13
- 210000002569 neuron Anatomy 0.000 description 12
- 238000005070 sampling Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 102000005717 Myeloma Proteins Human genes 0.000 description 3
- 108010045503 Myeloma Proteins Proteins 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了联邦学习的方法、装置和芯片。涉及人工智能领域。该方法适于处理参数服从分布的机器学习模型。该方法包括:第二节点向至少一个第一节点发送联邦模型的参数的先验分布。在收到联邦模型的参数的先验分布之后,该至少一个第一节点根据联邦模型的参数的先验分布和第一节点的本地训练数据,训练得到第一节点的本地模型的参数的后验分布。本地训练结束后,该至少一个第一节点向第二节点反馈本地模型的参数的后验分布,以便第二节点根据该至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新。通过节点之间交互先验分布和后验分布,实现了参数服从分布的机器学习模型的联邦学习,从而有助于减少联邦学习的训练时间和节点之间的通信开销。
Description
技术领域
本申请涉及人工智能领域,具体涉及一种联邦学习的方法、装置和芯片。
背景技术
随着用户对个人隐私数据的保护意愿日益提升,数据拥有者之间的用户数据无法互通,形成了大大小小的“数据孤岛”。“数据孤岛”对基于海量数据的人工智能(artificialintelligence,AI)提出了新的挑战,即在没有权限获得足够多的训练数据的情况下,如何对机器学习模型进行训练?
针对“数据孤岛”的存在,联邦学习(federated learning)被提出。但是,传统的联邦学习仅能用于训练参数为固定值的机器学习模型,导致联邦学习的训练时间较长、通信开销较大。
发明内容
本申请提供一种联邦学习的方法和装置,能够支持参数服从分布的机器学习模型的联邦学习,从而减少联邦学习的训练时间和通信开销。
第一方面,提供一种联邦学习的方法,包括:第一节点从第二节点接收联邦模型的参数的先验分布,其中所述联邦模型为参数服从分布的机器学习模型;所述第一节点根据所述联邦模型的参数的先验分布和所述第一节点的本地训练数据,训练得到所述第一节点的本地模型的参数的后验分布。
通过在节点之间交互模型参数的先验分布和后验分布,实现了参数服从分布的机器学习模型的联邦学习。参数服从分布的机器学习模型能够预先给出参数的各种取值的可能性,而参数的各种取值的可能性能够表征机器学习模型的各种可能的改进方向之间的优劣。因此,对参数服从分布的机器学习模型进行联邦学习,有助于参与联邦学习的节点找到机器学习模型的较优的改进方向,从而减少联邦学习的训练时间和节点之间的通信开销。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一节点根据所述本地模型的参数的后验分布,确定本地模型的不确定度;当所述本地模型的不确定度满足第一预设条件时,所述第一节点向所述第二节点发送所述本地模型的参数的后验分布。
本地模型的不确定度能够很好地衡量本地训练数据与联邦模型的匹配度,进而可以表明第一节点对于联邦学习的重要性。因此,以本地模型的不确定度作为衡量第一节点是否向第二节点反馈训练结果的指标,能够使得联邦模型的训练过程更加可控。例如,当希望联邦模型快速收敛,则可以禁止本地模型的不确定度较高的第一节点反馈本地训练结果;又如,当希望提升联邦模型的容量时,则可以要求本地模型的不确定度较高的第一节点反馈本地训练结果。此外,不向第二节点发送不确定度不满足第一预设条件的本地模型,可以降低节点之间的通信开销。
结合第一方面,在第一方面的某些实现方式中,所述本地模型的不确定度是基于以下信息中的至少一种度量的:所述本地模型的参数的后验分布的方差,所述本地模型的参数的后验分布的收敛速度,或者所述本地模型的参数的后验分布的推断准确率。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一节点根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,其中所述本地模型的参数包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;当所述第一参数的不确定度满足第二预设条件时,所述第一节点向所述第二节点发送所述第一参数的后验分布。
本地模型中的参数的不确定度可以很好地衡量该参数对该本地模型的重要性。通过计算参数的不确定度,第一节点可以仅上传对本地模型重要的参数的训练结果,这样可以降低节点间的通信开销,提高通信效率。
结合第一方面,在第一方面的某些实现方式中,所述第一参数的不确定度是基于所述第一参数的后验分布的方差度量的。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一节点根据所述本地模型的参数的后验分布,确定所述本地模型的不确定度;当所述本地模型的不确定度满足第一预设条件时,所述第一节点根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,其中,所述本地模型包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;当所述第一参数的不确定度满足第二预设条件时,所述第一节点向所述第二节点发送所述第一参数的后验分布。
第一节点根据本地模型的不确定度以及本地模型中的参数的不确定度有选择地向第二节点发送本地训练得到的全部或部分结果,可以降低节点间的通信开销,提高通信效率。
结合第一方面,在第一方面的某些实现方式中,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型,所述第一节点根据所述联邦模型的参数的先验分布和所述第一节点的本地训练数据,训练得到所述第一节点的本地模型的参数的后验分布,包括:所述第一节点根据所述多个局部先验分布与所述本地训练数据的匹配度,确定所述第一节点的本地模型的参数的先验分布;所述第一节点根据所述本地模型的参数的先验分布和所述本地训练数据,训练得到所述本地模型的参数的后验分布。
可选地,该多个局部先验分布可以隐含在联邦模型的参数的先验分布中,换句话说,所述联邦模型的参数的先验分布可以按照一定的方式分解成多个局部先验分布,如可以对联邦模型的参数的先验分布进行随机采样,从而将联邦模型的参数的先验分布分解成多个局部先验分布。
第二节点维护较大的、包含多个局部先验分布的联邦模型,第一节点从中选取与本地训练数据匹配的局部先验分布进行本地训练,这样可以加快本地训练过程的收敛速度。
结合第一方面,在第一方面的某些实现方式中,所述联邦学习包括多轮迭代,所述本地模型的参数的后验分布为经过本轮迭代得到的本地模型的参数的后验分布,所述第一节点根据所述多个局部先验分布与所述本地训练数据的匹配度,确定所述第一节点的本地模型的参数的先验分布,包括:所述第一节点根据所述多个局部先验分布与历史后验分布之间的差异,确定所述第一节点的本地模型的参数的先验分布,其中所述历史后验分布为所述第一节点在所述本轮迭代之前得到的本地模型的参数的后验分布。
结合第一方面,在第一方面的某些实现方式中,所述本地模型的参数的先验分布为所述多个局部先验分布中的与所述历史后验分布差异最小的先验分布;或者,所述本地模型的参数的先验分布为所述多个局部先验分布的加权和,其中所述多个局部先验分布在所述加权和中分别所占的权重由所述多个局部先验分布与所述历史后验分布之间的差异确定。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一节点向所述第二节点发送所述本地模型的参数的后验分布。
结合第一方面,在第一方面的某些实现方式中,所述机器学习模型为神经网络。
结合第一方面,在第一方面的某些实现方式中,所述联邦模型为贝叶斯神经网络。
结合第一方面,在第一方面的某些实现方式中,所述联邦模型的参数为随机变量。
结合第一方面,在第一方面的某些实现方式中,所述本地模型为神经网络。
结合第一方面,在第一方面的某些实现方式中,所述本地模型为贝叶斯神经网络。
结合第一方面,在第一方面的某些实现方式中,所述本地模型的参数为随机变量。
结合第一方面,在第一方面的某些实现方式中,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
结合第一方面,在第一方面的某些实现方式中,所述第一节点和所述第二节点分别为网络中的客户端和服务器。
第二方面,提供一种联邦学习的方法,包括:第二节点接收至少一个第一节点的本地模型的参数的后验分布;所述第二节点根据所述至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,其中所述联邦模型为参数服从分布的机器学习模型。
通过在节点之间交互模型参数的先验分布和后验分布,实现了参数服从分布的机器学习模型的联邦学习。参数服从分布的机器学习模型能够预先给出参数的各种取值的可能性,而参数的各种取值的可能性能够表征机器学习模型的各种可能的改进方向之间的优劣。因此,对参数服从分布的机器学习模型进行联邦学习,有助于参与联邦学习的节点找到机器学习模型的较优的改进方向,从而减少联邦学习的训练时间和节点之间的通信开销。
结合第二方面,在第二方面的某些实现方式中,在所述第二节点接收至少一个第一节点的本地模型的参数的后验分布之前,所述方法还包括:所述第二节点从候选节点中选取所述至少一个第一节点,所述联邦学习包括多轮迭代,所述至少一个第一节点为参与本轮迭代的节点,所述候选节点为在所述本轮迭代之前参与所述联邦学习的节点;所述第二节点向所述至少一个第一节点发送所述联邦模型的参数的先验分布。
第二节点从候选节点中选择参与本轮训练的第一节点,能够使得联邦学习的训练过程更有针对性,也更加灵活。
结合第二方面,在第二方面的某些实现方式中,所述第二节点从候选节点中选取所述至少一个第一节点,包括:所述第二节点根据所述候选节点向所述第二节点发送的评价信息,从所述候选节点中选取所述至少一个第一节点,其中所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布的匹配度。
通过候选节点反馈的评价信息,第二节点能够准确掌握候选节点的本地模型(或本地训练数据)与联邦模型的匹配度,从而可以根据实际需要,更好地对参与联邦学习的第一节点进行选择。
结合第二方面,在第二方面的某些实现方式中,所述第二节点从候选节点中选取所述至少一个第一节点,包括:所述第二节点根据所述候选节点的历史后验分布与所述联邦模型的参数的先验分布的差异,从所述候选节点中选取所述至少一个第一节点,其中所述历史后验分布为所述候选节点在所述本轮迭代之前得到的本地模型的参数的后验分布。
第二节点通过计算候选节点的历史后验分布与联邦模型的参数的先验分布的差异,能够掌握候选节点的本地模型(或本地训练数据)与联邦模型之间的匹配度,从而可以根据实际需要,更好地对参与联邦学习的第一节点进行选择。
结合第二方面,在第二方面的某些实现方式中,所述本地模型不包含不确定度不满足预设条件的参数。
本地模型中的参数的不确定度可以很好地衡量该参数对该本地模型的重要性。节点之间根据参数的不确定度,有选择性地交互重要的参数,能够降低节点间的通信开销,提高通信效率。
结合第二方面,在第二方面的某些实现方式中,所述至少一个第一节点包括多个第一节点,且所述多个第一节点的本地模型的参数的后验分布均包括第一参数的后验分布,所述第二节点根据所述至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,包括:如果所述多个第一节点的所述第一参数的后验分布之间的差异大于预设阈值,所述第二节点对所述联邦模型的参数的先验分布进行更新,以将所述第一参数拆分成多个参数。
结合第二方面,在第二方面的某些实现方式中,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型。
第二节点维护较大的、包含多个局部先验分布的联邦模型,使得第一节点可以根据自身的情况选择匹配的局部先验分布,有助于加快第一节点的本地训练过程的收敛速度。
结合第二方面,在第二方面的某些实现方式中,所述机器学习模型为神经网络。
结合第二方面,在第二方面的某些实现方式中,所述联邦模型为贝叶斯神经网络。
结合第二方面,在第二方面的某些实现方式中,所述联邦模型的参数为随机变量。
结合第二方面,在第二方面的某些实现方式中,所述本地模型为神经网络。
结合第二方面,在第二方面的某些实现方式中,所述本地模型为贝叶斯神经网络。
结合第二方面,在第二方面的某些实现方式中,所述本地模型的参数为随机变量。
结合第二方面,在第二方面的某些实现方式中,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
结合第二方面,在第二方面的某些实现方式中,所述第一节点和所述第二节点分别为网络中的客户端和服务器。
第三方面,提供一种联邦学习的方法,包括:第一节点从第二节点接收联邦模型,所述联邦模型包括多个机器学习模型(如多个神经网络);所述第一节点从所述多个机器学习模型中选取目标机器学习模型;所述第一节点根据所述目标机器学习模型和所述第一节点的本地训练数据,训练所述第一节点的本地模型。
在第二节点处维护多个机器学习模型,第一节点能够根据自身情况从中选择一个机器学习模型进行本地训练,这样有助于缩短第一节点本地计算的耗时,提升本地的计算效率。
结合第三方面,在第三方面的某些实现方式中,所述第一节点从所述多个机器学习模型中选取目标机器学习模型,包括:所述第一节点根据所述多个机器学习模型与所述本地训练数据的匹配度,从所述多个模型中选取所述目标机器学习模型。
第一节点选择与本地训练数据相匹配的机器学习模型进行本地训练,能够提升本地训练的训练效率。
第四方面,提供一种联邦学习的方法,包括:所述第二节点向第一节点发送联邦模型,联邦模型包括多个机器学习模型(如多个神经网络);第二节点接收第一节点发送的与所述多个机器学习模型中的目标机器学习模型对应的本地模型;所述第二节点根据所述本地模型优化所述目标机器学习模型。
在第二节点处维护多个机器学习模型,第一节点能够根据自身情况从中选择一个机器学习模型进行本地训练,这样有助于缩短第一节点本地计算的耗时,提升本地的计算效率。
第五方面,提供一种联邦学习的装置,该装置包括用于执行第一方面至第四方面中任意一个方面的方法的模块。
第六方面,提供一种联邦学习的装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面至第四方面中任意一个方面的方法。
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面至第四方面中任意一个方面的方法。
第八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第一方面至第四方面中任意一个方面的方法。
第九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面至第四方面中任意一个方面的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。
第十方面,提供一种电子设备,该电子设备包括上述第五方面至第六方面中的任意一个方面中的联邦学习的装置。
附图说明
图1为联邦学习的应用场景的示例图。
图2为联邦学习的流程图。
图3为本申请实施例提供的一种芯片硬件结构图。
图4为本申请实施例提供的联邦学习的方法的示意性流程图。
图5为图4中的步骤S420的一种可能的实现方式的示意性流程图。
图6为本申请实施例提供的参与联邦学习的第一节点的选择方式的示意性流程图。
图7是本申请一个实施例提供的联邦学习的装置的结构示意图。
图8是本申请另一实施例提供的联邦学习的装置的结构示意图。
图9是本申请又一实施例提供的联邦学习的装置的结构示意图。
具体实施方式
为了便于理解,先结合图1和图2,对联邦学习的场景和过程进行示例性说明。
参见图1,联邦学习的场景中可以包括多个第一节点102和第二节点105。第一节点102和第二节点105可以是支持数据传输的任意节点(如网络节点)。例如,第一节点102可以是客户端,如移动终端或个人电脑。第二节点105可以是服务器,或称参数服务器。在某些实施例中,第一节点可以称为训练数据的拥有者,第二节点也可称为联邦学习过程的协调者。
第二节点105可用于维护联邦模型。第一节点102可以从第二节点105获取联邦模型,并结合本地训练数据进行本地训练,得到本地模型。在训练得到本地模型之后,第一节点102可以将该本地模型发送给第二节点105,以便第二节点105更新或优化该联邦模型。如此往复,经过多轮迭代,直到联邦模型收敛或达到预设的迭代停止条件。
下面结合图2,对联邦学习的一般过程进行介绍。
在步骤S210,第二节点105构建联邦模型。第二节点105可以构建通用的机器学习模型,也可以根据需求构建特定的机器学习模型。以图像识别任务为例,第二节点105可以构建一个卷积神经网络(convolutional neural network,CNN),作为联邦模型。
在步骤S220,第二节点105选择第一节点102。第二节点105选择出的第一节点102会得到第一节点102下发的联邦模型。第二节点105可以随机选择第一节点102,也可以根据一定的策略选择第一节点102。例如,第二节点105可以选择本地模型与联邦模型匹配度较高的第一节点102,以加快联邦模型的收敛速度。
在步骤S230,第一节点102从第二节点105获取或接收联邦模型。例如,在一种实现方式中,第一节点102可以主动请求第二节点105下发联邦模型。或者,在另一种实现方式中,第二节点105主动向第一节点102下发联邦模型。以第一节点102为客户端,第二节点105为服务器为例,则客户端可以从服务器下载联邦模型。
在步骤S240,第一节点102利用本地训练数据对联邦模型进行训练,得到本地模型。第一节点102可以将联邦模型作为本地模型的初始模型,然后利用本地训练数据对该初始模型进行一步或多步训练,得到本地模型。
本地训练过程可以看成是本地模型的优化过程。优化的优化目标可以通过下式表示:
其中,仞表示本地模型,ωt表示第t轮迭代时的联邦模型,ω可以采用ωt作为初始值,也可以使用上一轮迭代得到的本地模型作为初始值。k表示第k个第一节点。Fk(ω)表示本地模型在本地训练数据上的损失函数。
在步骤S250,第二节点105将第一节点102训练得到的本地模型进行汇聚,得到更新后的联邦模型。例如,在其中一种实现方式中,第二节点105可以将多个第一节点102的本地模型的参数进行加权求和,并将加权求和的结果作为更新后的联邦模型。
步骤S220-S250描述的过程可以看成是联邦学习过程中的一轮迭代。第二节点105和第一节点102可以重复执行步骤S220-S250,直到联邦模型收敛或达到预设效果。
联邦学习可用于训练机器学习模型。最常见的机器学习模型为神经网络。为了便于理解,先对神经网络的相关概念以及本申请实施例涉及的一些用语进行解释。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距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看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:中,是输入向量,是输出向量,b是偏移向量,W是权重矩阵(也称系数),α(.)为激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,则系数W和偏移向量b的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(4)参数服从分布的神经网络
参数服从分布的神经网络是参数服从分布的机器学习模型中的一种。具体而言,传统的神经网络的参数(如前文中提及的神经元的权重)为固定值。但是,这种类型的神经网络存在过拟合的问题,即这种类型的神经网络在训练数据缺失的区域往往给出过于自信的预测,无法对预测结果的不确定性进行准确度量。
相比参数为固定值的神经网络,有些神经网络的参数服从一定的分布。例如,贝叶斯神经网络的参数即为服从某种分布的随机变量,如服从高斯分布的随机变量。参数服从概率分布的神经网络的训练过程并非希望得到参数的固定值,而是旨在优化参数的概率分布。在训练完成后,可以对参数的分布进行采样,每个采样值可以对应一个参数为固定值的神经网络。如果采样得到的大量神经网络对某个输入的预测是相似的,则可以认为该神经网络对该输入对应的预测有较小的不确定度,否则该神经网络对输入对应的预测的不确定度较大。通过这样的方式,这种参数服从概率分布的神经网络可以表征由于数据缺失带来的预测的不确定性,从而避免过拟合的问题。
(5)先验分布、后验分布和似然估计
参数服从概率分布的机器学习模型的训练问题可以看成是基于贝叶斯公式,对参数的概率分布的估计问题。在贝叶斯公式中,先验分布、后验分布和似然估计是三个重要的概念。
参数的先验分布是对后验分布的预先假设,也就是说,参数的先验分布指的是在未观测到训练数据之前对参数的后验分布的假设。参数的先验分布可以由人工指定,也可以通过数据学习得到。相对而言,参数的后验分布是在观测到训练数据之后,对参数的分布的描述。换句话说,参数的后验分布是在已知训练数据的条件下,对参数的分布的描述。根据贝叶斯公式,参数的先验分布、后验分布和似然估计之间满足如下关系:后验分布=(先验分布×似然估计)/训练数据出现的概率。
(6)参数的分布的参数化描述和非参数化描述
无论是参数的先验分布还是后验分布,都是在描述参数的分布,但参数的分布的具体描述方式可以有多种,本申请实施例对此并不限定。在一些实施例中,参数的先验分布和/或后验分布可以采用参数化的分布描述方式。例如,假设参数的分布为高斯分布,则参数的先验分布和/或后验分布可以通过均值和方差描述高斯分布。在另一些实施例中,先验分布和/或后验分布也可以采用非参数化的分布描述方式。例如,参数的先验分布和/或后验分布可以采用概率直方图、概率密度、累计函数曲线等方式描述参数的分布。
(7)先验分布对后验分布的“点描述”和“分布描述”
模型参数的先验分布可以是模型参数的概率分布,也可以是模型参数的概率分布的概率分布。
先验分布和后验分布之间是存在关联的,即先验分布可以视为对后验分布的一种预先的描述,即在观测到训练数据之前的一种假设性的描述。如果模型参数的先验分布为模型参数的概率分布,则这种类型的先验分布可以理解为在对后验分布进行“点描述”;如果模型参数的先验分布为模型参数的概率分布的概率分布,则这种类型的先验分布可以理解为在对后验分布进行“分布描述”。
例如,假设模型参数服从高斯分布,当模型参数的先验分布为模型参数的概率分布时,该模型参数的先验分布可以是模型参数的分布的均值和方差。从先验分布对后验分布进行描述这个角度来看,相当于先验分布采用[均值,方差]这样一个点对后验分布进行了“点描述”。
又如,假设模型参数服从高斯分布,当模型参数的先验分布为模型参数的概率分布的概率分布时,该模型参数的先验分布并非给出模型参数的分布的均值和方差,而是对模型参数的分布的均值和方差取不同值的概率进行描述。从先验分布对后验分布进行描述这个角度来看,相当于先验分布采用概率分布对后验分布的均值和方差取不同值的概率(或取不同值的惩罚或奖励)进行了“分布描述”。
(8)两个分布之间的差异的度量
本申请的某些实施例会涉及先验分布与后验分布之间的差异的度量。先验分布和后验分布之间的差异度量方式可以有多种,且可以根据先验分布对后验分布的描述方式的不同,设计出不同的分布差异度量函数,以度量两个分布之间的差异。下面给出几个示例。
作为一个示例,如果先验分布对后验分布采用的是“点描述”,且先验分布采用参数化的分布描述方式,则先验分布与后验分布之间的差异可以采用两个分布的KL散度(Kullback-Leibler散度)进行度量。换句话说,可以采用先验分布与后验分布的KL散度作为两个分布的分布差异度量函数。
作为另一示例,如果先验分布采用的是“点描述”,且先验分布采用非参数化的分布描述方式(如基于直方图、概率密度曲线等进行描述),则先验分布与后验分布之间的差异可以通过计算两个分布对应的直方图(或概率密度曲线)的相似性,对两个分布之间的差异进行度量。换句话说,可以将先验分布与后验分布对应的直方图(或概率密度曲线)的相似性作为两个分布的分布差异度量函数。两个分布对应的直方图(或概率密度曲线)的相似性可以通过计算两个直方图(或概率密度曲线)的面积的差异或者余弦距离得到。
作为又一示例,如果先验分布对后验分布采用“分布描述”,则可以使用先验分布在后验分布的取值处的概率作为两个分布的差异的描述。换句话说,可以使用先验分布在后验分布的取值处的概率作为两个分布的分布差异度量函数。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本申请实施例提供的一种芯片硬件结构。该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的第一节点102中,用于第一节点102完成本地模型的训练工作。该芯片也可以被设置在如图1所示的第二节点105中,用于第二节点105完成联邦模型的维护和更新工作。
神经网络处理器50作为协处理器挂载到主中央处理单元(host centralprocessingunit,host CPU)上,由主CPU分配任务。神经网络处理器50的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local resronse normalization)等。
在一些实现中,向量计算单元507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令。
控制器504用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(on-chip)存储器,外部存储器为该神经网络处理器外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamicrandomaccess memory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
目前,现有的联邦学习仅能对参数(如权重)为固定值的机器学习模型进行训练,而无法对参数服从分布的机器学习模型进行训练。由于本地训练数据的数据分布与整体训练数据(整体训练数据指的是所有本地训练数据形成的数据集)的数据分布经常不一致,所以参数为固定值的机器学习模型的联邦学习过程经常出现模型震荡的问题(即训练过程中,模型参数的取值来回摆动,而不是朝着一个方向持续收敛),导致联邦学习过程的训练时间长、通信开销大。
为了解决该问题,本申请提供一种联邦学习的方法,能够实现参数服从分布的机器学习模型的联邦学习。应理解,本申请提及的分布指的是概率分布。下面结合图4,对本申请实施例提供的联邦学习的方法进行详细介绍。
图4的方法包括步骤S410-S440。图4中的第一节点可以是图1中的第一节点102中的任意一个,图4中的第二节点可以是图1中的第二节点105。
图4实施例中提及的联邦模型是参数服从分布的机器学习模型。在某些实施例中,联邦模型是参数服从分布的神经网络,联邦模型的参数可以指神经网络中的神经元的参数。例如,联邦模型可以为贝叶斯神经网络。进一步地,在一些实施例中,该贝叶斯神经网络中的参数可以服从高斯分布。
图4实施例中提及的本地模型也可以是参数服从分布的机器学习模型。在某些实施例中,本地模型是参数服从分布的神经网络,本地模型的参数可以指神经网络中的神经元的参数。例如,本地模型可以为贝叶斯神经网络。进一步地,在一些实施例中,该贝叶斯神经网络中的参数服从高斯分布、delta分布或其他分布。在一些实施例中,联邦模型和本地模型可以是结构相同的机器学习模型。在另一些实施例中,联邦模型可以包括多个贝叶斯模型(如多个贝叶斯神经网络),而本地模型可以与其中的一个贝叶斯模型结构相同。
在步骤S410,第一节点从第二节点接收联邦模型的参数的先验分布。例如,在一种实现方式中,第一节点可以主动请求第二节点下发联邦模型的参数的先验分布。或者,在另一种实现方式中,第二节点可以主动向第一节点下发联邦模型的参数的先验分布。
在步骤S420,第一节点根据联邦模型的参数的先验分布和第一节点的本地训练数据,训练得到第一节点的本地模型的参数的后验分布。
可替换地,步骤S420也可描述成:第一节点根据联邦模型的参数的先验分布和第一节点的本地训练数据,优化得到第一节点的本地模型的参数的后验分布。在具体实现时,可以根据联邦模型参数的先验分布,通过贝叶斯优化方式,推断得到第一节点的本地模型的参数的后验分布。
在步骤S430,第二节点接收至少一个第一节点的本地模型的参数的后验分布。
例如,在一种实现方式中,第一节点主动向第二节点发送本地模型的参数的后验分布。或者,在另一种实现方式中,第一节点可以应第二节点的要求向第二节点发送本地模型的参数的后验分布。
第一节点向第二节点发送的本地模型的参数的后验分布可以是本地模型的所有参数的后验分布,也可以是本地模型的部分参数的后验分布。
第一节点可以采用向第二节点发送本地模型参数的后验分布与联邦模型参数的先验分布之间的差异的方式,向第二节点发送本地模型的参数的后验分布。或者,第一节点也可以直接向第二节点发送本地模型的参数的后验分布本身。
第一节点向第二节点发送的本地模型的参数的后验分布可以是加密后的本地模型的参数的后验分布,也可以是不加密的本地模型的参数的后验分布。
此外,在某些实现方式中,第一节点也可以向第二节点发送本地训练数据。
在步骤S440,第二节点根据该至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新。例如,第二节点可以接收至少一个第一节点发送的本地模型的参数的后验分布;然后,第二节点可以对该至少第一节点的本地模型的参数的后验分布进行加权求和,得到更新后的联邦模型的参数的先验分布。
在联邦学习的过程中,步骤S410至步骤S440可以执行一次,也可以重复执行多次。例如,步骤S410至步骤S440可以迭代执行多次,直到满足迭代停止条件。迭代停止条件例如可以是达到预设的迭代次数,或者可以是联邦模型已经收敛。
本申请实施例通过在节点之间交互模型参数的先验分布和后验分布,实现了参数服从分布的机器学习模型的联邦学习。参数服从分布的机器学习模型能够预先给出参数的各种取值的可能性,而参数的各种取值的可能性能够表征机器学习模型的各种可能的改进方向之间的优劣。因此,对参数服从分布的机器学习模型进行联邦学习,有助于参与联邦学习的节点找到机器学习模型的较优的改进方向,从而减少训练时间和节点之间的通信开销。
此外,参数服从分布的机器学习模型的训练过程仍然存在需要保护数据隐私的需求,但现有技术并不支持参数服从分布的机器学习模型的联邦学习。针对参数服从分布的机器学习模型,现有技术需要将各节点的训练数据汇聚在一端共同进行训练,利用汇聚后的数据进行训练一方面容易泄露用户隐私,另一方面对汇聚数据的节点的计算力要求较高。采用本申请实施例提供的方案可以实现参数服从分布的机器学习模型的联邦学习,从而可以避免泄露用户隐私,也可以降低对执行训练任务的节点的计算力的要求。
图4中的步骤S420的实现方式可以有多种,下面结合图5进行举例说明。
如图5所示,步骤S420进一步包括步骤S422和步骤S424。在步骤S422,第一节点根据联邦模型的参数的先验分布,确定本地模型的参数的先验分布。在步骤S424,第一节点根据本地模型的参数的先验分布和第一节点的本地训练数据,训练得到第一节点的本地模型的参数的后验分布。
步骤S422的实现方式有多种。例如,如果联邦模型与本地模型对应相同结构的机器学习模型,则第一节点可以直接将联邦模型的参数的先验分布作为本地模型的参数的先验分布。
或者,如果联邦模型的参数的先验分布可以包括多个局部先验分布(每个局部先验分可以对应一个贝叶斯模型),则第一节点在收到该联邦模型的参数的先验分布之后,可以根据该多个局部先验分布与本地训练数据的匹配度,确定本地模型的参数的先验分布。
需要说明的是,多个局部先验分布可以以显式的方式包含在联邦模型的参数的先验分布中;或者,在一些实施例中,该多个局部先验分布也可以隐含在联邦模型的参数的先验分布中,并需要通过一定的方式(如随机采样的方式)从联邦模型的参数的先验分布中将其分解出来。下面给出几个示例。
作为一个示例,联邦模型包括结构相同的多个贝叶斯模型,其中每个贝叶斯模型的每个参数仅包含一个分布。此外,联邦模型参数的先验分布对后验分布进行“点描述”。在这种情况下,针对一个参数,多个贝叶斯模型提供的先验分布可能是不同的,即一个参数可能存在多种可能的分布。第一节点接收到联邦模型参数的先验分布之后,可以对每个参数的多种可能的分布进行采样(如随机采样),并将不同参数的分布的采样结果按照多种方式进行组合,形成多个局部先验分布。然后,第一节点可以根据该多个局部先验分布与第一节点的本地训练数据的匹配度,从该多个局部先验分布中选取与该本地训练数据最匹配的局部先验分布,作为本地模型的参数的先验分布。或者,第一节点可以根据该多个局部先验分布与该本地训练数据匹配度的差异,采用加权求和的方式得到本地模型的参数的先验分布。
作为另一示例,联邦模型仅包括一个机器学习模型,但该机器学习模型的每个参数包括多个分布(即该参数的分布为混合分布)。此外,联邦模型参数的先验分布对后验分布进行“点描述”。在这种情况下,该机器学习模型的每个参数仍然存在多种可能的分布。第一节点接收到联邦模型参数的先验分布之后,可以对每个参数的多种可能的分布进行采样(如随机采样),并将不同参数的分布的采样结果按照多种方式进行组合,形成多个局部先验分布。然后,第一节点可以根据该多个局部先验分布与第一节点的本地训练数据的匹配度,从该多个局部先验分布中选取与该本地训练数据最匹配的局部先验分布,作为本地模型的参数的先验分布。或者,第一节点可以根据该多个局部先验分布与该本地训练数据匹配度的差异,采用加权求和的方式得到本地模型的参数的先验分布。
作为又一示例,第二节点维护的联邦模型还可以是上述两种情况的组合,即第二节点维护多个机器学习模型,其中一个机器学习模型的一个参数包含多种分布。在这种情况下,每个参数的分布的取值具有更多的可能性,可以为第一节点的采样提供更丰富的选择范围。
以参数服从高斯分布的贝叶斯神经网络为例,假设第二节点维护的联邦模型是以下几种情况中的一种:
情况一:联邦模型仅维护一个贝叶斯神经网络,该贝叶斯神经网络的每个参数仅包含一个高斯分布;
情况二:联邦模型维护多个贝叶斯神经网络,其中每个贝叶斯神经网络的每个参数仅包含一个高斯分布,且该多个贝叶斯神经网络的参数的分布不同;
情况三:联邦模型仅维护一个贝叶斯神经网络,其中每个参数包含多个高斯分布。
情况四:联邦模型维护多个贝叶斯神经网络,其中每个贝叶斯神经网络的每个参数包含多个高斯分布,该多个贝叶斯神经网络的参数的分布不同。
面对情况二至四,第一节点在收到联邦模型参数的先验分布之后,均可以先对其进行采样,以获得一个贝叶斯神经网络的参数,且使得该贝叶斯神经网络的一个参数仅包含一个高斯分布。
如果联邦模型参数的先验分布对后验分布采用的是“分布描述”,则可以先依据该“分布描述”给出的分布取值的概率,对先验分布的取值进行采样,从而得到先验分布的多种取值。经过上述采样操作,相当于将先验分布对后验分布的“分布描述”转换成先验分布对后验分布的多个“点描述”,其中每个“点描述”就相当于从联邦模型参数的先验分布中分解出的一个局部先验分布。然后,第一节点可以根据多个局部先验分布与第一节点的本地训练数据的匹配度,从该多个局部先验分布中选取与该本地训练数据匹配的局部先验分布,作为本地模型的参数的先验分布。或者,第一节点可以根据该多个局部先验分布与该本地训练数据匹配度的差异,采用加权求和的方式得到本地模型的参数的先验分布。
局部先验分布与第一节点的本地训练数据的匹配度的度量方式可以有多种。
例如,可以依次将各个局部先验分布作为本地模型参数的先验分布,并结合本地训练数据进行训练。然后,根据各个局部先验分布的训练效果,对局部先验分布与第一节点的本地训练数据的匹配度进行度量。
或者,在某些实施例中,可以根据局部先验分布与本地模型参数的历史后验分布之间的差异对局部先验分布与第一节点的本地训练数据的匹配度进行度量。然后,可以根据多个局部先验分布与历史后验分布之间的差异,确定本地模型的参数的先验分布。例如,可以将多个局部先验分布中的与历史后验分布差异最小的先验分布作为本地模型的参数的先验分布。或者,可以根据多个局部先验分布与历史后验分布之间的差异,对多个局部先验分布进行加权求和,并将加权求和的结果作为本地模型的参数的先验分布。
本实施例提及的历史后验分布指的是第一节点在本轮迭代之前得到的本地模型的参数的后验分布,如上一轮迭代得到的本地模型的参数的后验分布。两个分布之间的差异的度量方式在前文有描述,此处不再详述。
需要说明的是,联邦模型维护多个机器学习模型的方案也可应用于参数为固定值的机器学习模型的联邦学习中。
例如,第一节点从第二节点接收包括多个机器学习模型的联邦模型;然后,第一节点从多个机器学习模型中选取目标机器学习模型,并根据目标机器学习模型和第一节点的本地训练数据,训练第一节点的本地模型。该目标机器学习模型可以是多个机器学习模型中的与本地训练数据匹配度最高的机器学习模型,或者,该目标机器学习模型可以是多个机器学习模型中的精度最高的机器学习模型。
对应地,第二节点向第一节点发送包括多个机器学习模型的联邦模型;然后,第二节点可以接收第一节点发送的与多个机器学习模型中的目标机器学习模型对应的本地模型(即该本地模型是通过训练该目标机器学习模型得到的);第二节点根据本地模型优化目标机器学习模型(即第二节点根据本地模型优化联邦模型中的对应的机器学习模型)。
前文对图5中的步骤S422进行了详细描述,下文对图5中的步骤S424进行详细描述,即对如何根据本地模型的参数的先验分布生成本地模型的参数的后验分布进行详细描述。
根据本地模型的参数的先验分布生成本地模型的参数的后验分布的过程也就是利用本地训练数据对本地模型进行本地训练的过程。该本地训练的过程中,本地模型的参数的先验分布的使用方式可以有多种。例如,可以将本地模型的参数的先验分布作为本地训练的优化目标中的约束条件。或者,可以根据本地模型的参数的先验分布确定本地模型的参数的后验分布的初始值。下面对这两种使用方式各自对应的本地训练过程进行详细描述。
方式一:本地模型的参数的先验分布作为本地训练的优化目标中的约束条件
首先,可以将本地训练的优化目标设定为:本地模型的参数的后验分布在本地训练数据上的损失函数尽可能小(或者似然函数尽可能大),同时,本地模型参数的先验分布和后验分布的分布差异度量函数尽可能小或惩罚尽可能小。
其次,在本地训练开始前,可以先为本地模型的参数的后验分布设置初始值。该初始值的设定方式可以有多种。例如,本地模型的参数的后验分布的初始值可以设定为本轮迭代之前(如上一轮迭代)的本地模型的参数的后验分布的值,也可以是随机化的初始值。在某些实施例中,本地模型的参数的后验分布的初始值可以根据本地模型的参数的先验分布确定。以本地模型的参数的先验分布对后验分布采用“点描述”为例,本地模型的参数的后验分布的初始值可以是本地模型的参数的先验分布的值;以本地模型的参数的先验分布对后验分布采用“分布描述”为例,本地模型的参数的后验分布的初始值可以是本地模型的参数的先验分布的采样值。
接着,在确定本地模型的参数的后验分布的初始值,以及优化目标之后,可以采用评分函数(score function)或者重参数化的方式进行本地训练,直到本地模型的参数的后验分布收敛。
方式二:根据本地模型的参数的先验分布确定本地模型的参数的后验分布的初始值
如果本地模型的参数的先验分布对后验分布采用“点描述”,则在本地训练过程中,可以将本地模型的参数的先验分布作为本地模型的参数的后验分布的初始值。如果本地模型的参数的先验分布对后验分布采用“分布描述”,则在本地训练过程中,本地模型的参数的后验分布的初始值可以采用本地模型的参数的先验分布的采样值。
本地训练的优化目标可以设定为:在本地训练数据训练时,本地模型的参数的后验分布的损失函数尽可能小或者似然函数尽可能大。
接着,在确定本地模型的参数的后验分布的初始值以及本地训练的优化目标之后,可以采用评分函数(score function)或者重参数化的方式进行训练,直到本地模型的参数的后验分布收敛。
上文结合图5,详细描述了第一节点如何利用本地训练数据开展本地训练。在本地训练结束之后,第一节点可以将训练得到的本地模型的参数的后验分布发送至第二节点,以便第二节点根据接收到的本地模型的参数的后验分布更新联邦模型的参数的先验分布。但是,在某些实施例中,在向第二节点反馈本地训练的结果之前,第一节点也可以根据一定的条件对是否向第二节点反馈本地训练的结果进行决策;和/或,第一节点也可以根据一定的条件对向第二节点反馈本地训练的全部结果还是部分结果进行决策。下面结合具体的实施例,对第一节点的决策方式进行举例说明。
在向第二节点发送本地模型的参数的后验分布之前,第一节点可以根据本地模型的参数的后验分布,确定本地模型的不确定度。当本地模型的不确定度满足第一预设条件时,第一节点向第二节点发送本地模型的参数的后验分布;当本地模型的不确定度不满足第一预设条件时,第一节点不向第二节点发送本地模型的参数的后验分布。
本地模型的不确定度可用于表示本地模型的稳定性。在某些实施例中,本地模型的不确定度可以表示第一节点的本地训练数据对联邦模型的重要性(或对联邦学习的重要性)。
例如,当希望联邦模型尽快收敛时,如果本地模型的不确定度较高,则说明第一节点的本地训练数据对联邦模型不重要,在优化联邦模型参数的先验分布时,将该本地模型的后验分布考虑在内,会降低联邦模型的收敛速度。
又如,当希望增大联邦模型的容量时,如果本地模型的不确定度较高,则说明第一节点的本地训练数据对联邦模型重要,在优化联邦模型参数的先验分布时,将该本地模型的参数的后验分布考虑在内,会提升联邦模型在与本地训练数据相同或接近的数据上进行推断的可靠性。
本地模型的不确定度可以基于以下信息中的至少一种度量:本地模型的参数的后验分布的方差,本地模型的参数的后验分布的收敛速度(或称收敛效果),或者本地模型的参数的后验分布的推断准确率。
本申请实施例对第一预设条件的具体内容不做限定,可以根据实际需要选取。
作为一个例子,如果希望加快联邦模型的收敛速度,则当本地模型的不确定度较高时,第一节点可以不向第二节点发送本地模型的参数的后验分布。例如,当本地模型的方差大于预设阈值或本地模型的收敛效率速度小于预设阈值时,第一节点不向第二节点发送本地模型的参数的后验分布。
作为另一个例子,如果希望提高联邦模型的容量,则当本地模型的不确定度较高时,第一节点向第二节点发送本地模型的参数的后验分布。例如,当本地模型的方差大于预设阈值或本地模型的收敛效率速度小于预设阈值时,第一节点向第二节点发送本地模型的参数的后验分布。
在向第二节点发送本地模型的参数的后验分布之前,第一节点也可以根据本地模型的参数的后验分布与本地模型的参数的先验分布之间的差异,选择是否将本地模型的参数的后验分布发送至第二节点。
例如,如果希望提高节点之间的通信效率,则当本地模型的参数的后验分布与本地模型的参数的先验分布之间的差异较小(如小于预设阈值)时,第一节点可以不向第二节点发送本地模型的参数的后验分布。这是因为,当本地模型的参数的后验分布与本地模型的参数的先验分布之间的差异较小时,表明本地模型与联邦模型之间的差异较小,即使将本地模型的参数的后验分布发送给第二节点,也不会对联邦模型的参数的先验分布的更新带来多大影响。在这种情况下,第一节点不上传本地模型的参数的后验分布可以节省节点之间的带宽,提升节点之间的通信效率。
上文详细描述了第一节点如何决策是否向第二节点发送本地训练的结果。下文详细描述第一节点如何决策是否向第二节点发送本地训练结果中的部分结果。需要说明的是,这两种决策可以相互独立,也可以相互组合。例如,第一节点可以在决定向第二节点反馈本地训练结果之后,再决定向第二节点反馈本地训练结果中的哪些结果。
可选地,在一些实施例中,第一节点可以根据该第一参数的后验分布,确定本地模型中的第一参数的不确定度,其中本地模型可以包括至少一个参数,第一参数是该至少一个参数中的任意一个参数;当第一参数的不确定度满足第二预设条件时,第一节点向第二节点发送该第一参数的后验分布。
第一参数的不确定度可用于表示第一参数对第一节点的本地模型的重要性。如果第一参数的不确定度较高(如第一参数的分布比较平坦),该参数通常对本地模型最终的预测或推断结果没有太大影响。在这种情况下,第一节点可以考虑不向第二节点发送该第一参数的后验分布。
上文提及的第一参数的不确定度的度量方式可以有多种。例如,第一参数的不确定度可以基于第一参数的后验分布的均值、方差或二者的结合度量。例如,第一节点可以将第一参数的方差与固定阈值进行比较。当该方差小于该固定阈值时,第一节点向第二节点发送该第一参数的后验分布;当该方差大于或等于该固定阈值时,第一节点不向第二节点发送该第一参数的后验分布。又如,第一节点可以先根据第一参数的方差生成随机数,然后将该随机数与固定阈值进行比较。当该随机数小于该固定阈值时,第一节点向第二节点发送该第一参数的后验分布;当该随机数大于或等于该固定阈值时,第一节点不向第二节点发送该第一参数的后验分布。
本申请实施例对上文提及的第二预设条件的具体内容不做限定,可以根据实际需要设定。例如,第二预设条件可以根据第一参数的不确定度的大小设定,也可以根据第一参数的不确定度在本地模型的所有参数的不确定度中的排序设定。
应理解,上文提及的第一参数是本地模型中的任意一个参数,第一节点可以按照第一参数的处理方式类似的方式处理本地模型中的部分或全部参数。如果第一节点按照与第一参数的处理方式类似的方式对本地模型中的所有参数进行处理,则可以找到本地模型中的参数的不确定度不满足第二预设条件的所有参数,并在向第二节点反馈本地训练结果时,不向第二节点反馈这些参数的后验分布。
第一节点向第二节点发送本地模型的参数的后验分布的方式也可以有多种。例如,第一节点可以向第二节点发送本地模型的参数的整体分布,也可以向第二节点发送本地模型的参数的整体分布的一个或多个采样值。当第一节点向第二节点发送本地模型的参数的整体分布的一个或多个采样值时,第二节点可以根据接收到的针对同一参数的整体分布的多个采样值,对该参数的整体分布进行估计,并将估计结果作为该参数的先验分布更新至联邦模型中。第一节点向第二节点发送整体分布的采样值,可以提升节点之间的通信效率,降低通信带宽。
在执行图4中的步骤S410之前,第二节点可以执行如图6所示的步骤。即第二节点可以按照一定的规则从候选节点中选择一个或多个第一节点,并向被选择的第一节点发送联邦模型的参数的先验分布,而不向未被选择的节点发送联邦模型的参数的先验分布。联邦学习通常包括多轮迭代,图4中的至少一个第一节点可以是参与本轮迭代的节点,则上文提及的候选节点可以为在本轮迭代之前参与该联邦学习的节点,如可以是参与联邦学习的上一轮迭代的节点。第二节点在不同的迭代轮次可以选择相同的第一节点,也可以选择不同的第一节点。
步骤S610的实现方式可以有多种,下面给出几种可能的实现方式。例如,在某些实施例中,第二节点可以随机选择参与本轮迭代的第一节点。
或者,在某些实施例中,第二节点可以按照候选节点反馈的评价信息,选择参与本轮迭代的第一节点。评价信息可用于表示联邦模型的参数的先验分布与候选节点的本地训练数据的匹配度。或者,评价信息可用于表示候选节点根据联邦模型的参数的先验分布训练得到的后验分布与候选节点的本地训练数据的匹配度。或者,评价信息可用于表示联邦模型的参数的先验分布与候选节点根据联邦模型的参数的先验分布训练得到的后验分布的匹配度。先验分布或后验分布与本地训练数据的匹配度可以采用本地模型在本地测试时得到的损失函数的取值进行评价。
如果希望提升联邦模型的容量,第二节点可以选择匹配度较低的候选节点参与联邦学习。如果加快联邦模型的收敛速度,第二节点可以选择匹配度较高的候选节点参与联邦学习。
或者,在某些实施例中,第二节点可以根据候选节点的历史后验分布与联邦模型的参数的先验分布之间的差异,从候选节点中选取至少一个第一节点。
如果希望提升联邦模型的容量,第二节点可以选择差异较大的候选节点参与联邦学习。如果加快联邦模型的收敛速度,第二节点可以选择差异较小的候选节点参与联邦学习。
重新参见图4。图4中的步骤S440描述的是第二节点对联邦模型的参数的先验分布的更新过程。该更新过程也可理解为第二节点对联邦模型的参数的先验分布的优化过程,或计算联邦模型的参数的先验分布的最优解的过程。下面结合具体的实施例,对联邦模型参数的更新过程进行详细描述。
如果联邦模型的参数的先验分布对后验分布采用参数化的“点描述”,则在更新过程中,针对同一参数,第二节点可以利用该参数的后验分布的差异计算该参数的先验分布,使得该参数的先验分布与该参数的各个后验分布的差异的均值(或加权平均值)最小。
如果联邦模型的参数的先验分布对后验分布采用非参数化的“点描述”(如直方图或概率密度曲线),第二节点可以将对同一参数的直方图或概率密度曲线进行合成,以得到该参数的先验分布。
如果联邦模型的参数的先验分布对后验分布采用“分布描述”,则第二节点可以根据针对同一参数的不同的后验分布,估计该参数的后验分布的概率分布,并将估计出该参数的后验分布的概率分布作为该参数的先验分布。
如果第二节点的联邦模型的参数的先验分布包含或可以拆分出多个局部先验分布,而某个第一节点的本地训练过程仅基于其中某个局部先验分布,则该第一节点的本地模型的参数的后验分布可以仅用于更新其对应的局部先验分布。
可选地,在更新过程中,还可以对联邦模型的结构进行调整。
例如,假设联邦模型中的一个参数的当前分布由较多分布叠加而成,则可以采用较少数量的分布的叠加对该参数的当前分布的叠加进行近似,以简化联邦模型。具体可以采用成分减少(component reduction)技术实现较少数量的分布的叠加对较多分布的叠加的近似。
或者,假设第二节点接收到的多个第一节点的本地模型参数的后验分布均包括第一参数的后验分布,且该多个第一节点的第一参数的后验分布之间的差异大于预设阈值,则第二节点可以对联邦模型参数的先验分布进行更新,以将该第一参数拆分成多个参数。本申请实施例将该技术称为模型拆分技术。
或者,当第二节点维护多个机器学习模型时,第二节点可以将差异较小的机器学习模型合并在一起,也可以从已有的机器学习模型中产生新的机器学习模型(如采用随机的方式产生新的模型)。
在联邦学习的起始阶段,第二节点还可以先对联邦模型进行初始化。本申请实施例对初始化的内容不做具体限定。例如,第二节点可以设置联邦模型的网络结构。又如,第二节点还可以为联邦模型的参数的先验分布设置初始值。又如,第二节点可以设置联邦学习过程中的超参数。
下面结合具体例子,更加详细地描述本申请实施例。应注意,下文给出的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
示例1:
1.1、应用场景介绍
第二节点维护的联邦模型为单神经网络,且该联邦模型的参数的先验分布对后验分布进行“分布描述”。在本地训练过程中,第一节点直接将联邦模型的参数的先验分布作为本地模型的参数的先验分布,进行本地训练。本地模型的参数的先验分布和后验分布均对应相同大小的神经网络,且本地训练过程中,第一节点采用高斯分布作为似然函数进行贝叶斯优化。
例如,第二节点维护的联邦模型的参数的先验分布采用高斯逆伽玛分布对后验分布进行“分布描述”,而后验分布采用的是高斯分布。高斯逆伽玛分布也可称为正态逆伽玛(normal inverse gamma)分布,其可以通过如下的公式(1)表示。
N-Γ-1(μ,σ2|μ0,v,α,β) (1)
公式(1)中,N-Γ-1表示高斯逆伽玛分布;μ0,v,α,β为高斯逆伽玛分布的4个参数。该4个参数决定了后验分布(高斯分布)的均值μ和方差σ2的分布。
本地训练数据由联邦模型生成的概率可以通过公式(2)表示:
公式(2)中,K表示参与联邦学习的第一节点的数量,k表示K个第一节点中的第k个第一节点。D表示K个第一节点的本地训练数据构成的完整的数据集,Dk表示第k个第一节点的本地训练数据所构成的数据集。θk表示第k个第一节点的本地模型的参数,p(Dk|θk)表示在给定参数θk的情况下,出现数据集Dk的概率。N(.)表示高斯分布,表示高斯分布的均值μk和方差决定了θk的分布。
进一步地,公式(2)中,表示第k个第一节点在给定参数μ0,v0,α,β下出现数据集Dk的概率。由于预先假设各第一节点是相互独立的,因此,在给定参数μ0,v0,α,β下,出现数据集D的概率是出现各个数据集Dk的概率的联乘。
1.2、本地训练过程
本地训练过程实际上可以是一个优化过程。优化目标可以采用公式(3)定义:
公式(3)中的表示在给定模型参数的条件下,出现本地训练数据组成的数据集Dk的概率,通过优化使得这个概率尽可能大。公式(3)中的表示在给定参数μ0,v,α,β的条件下,出现的概率,优化目标是希望出现的概率尽可能大。可以将理解为的正则项,该正则项可以使得本地模型的参数的后验分布与本地模型的参数的先验分布之间的差异尽可能小,从而使得本地模型参数的后验分布不偏离联邦模型参数的先验分布太远,即保证联邦学习过程是一个持续学习的过程,不会出现模型震荡问题。
1.3、联邦模型的参数的先验分布的更新(或优化)过程
当参与联邦学习的第一节点将本地模型的参数的后验分布发送给第二节点之后,第二节点可以根据公式(4)更新联邦模型的参数的先验分布:
例如,第二节点可以通过最大化公式(4),得到联邦模型的参数的先验分布的最优解,即μ0,v,α,β的最优解。
示例2:
2.1、应用场景介绍
第二节点维护的联邦模型为单神经网络(如一个贝叶斯神经网络)。该联邦模型的一个参数具有多个分布(如混合高斯分布),且联邦模型的参数的先验分布对后验分布进行“点描述”。本地训练过程中,第一节点直接将联邦模型的参数的先验分布作为本地模型的参数的先验分布,进行本地训练。本地模型的参数的先验分布和后验分布均对应相同大小的神经网络,且本地训练过程中,第一节点采用高斯分布作为似然函数进行贝叶斯优化。
2.2、初始化过程
第二节点初始化一个神经网络,作为联邦模型。P(θ|η)表示该联邦模型的参数的先验分布,其中θ表示模型参数,η表示描述θ的分布的先验值。以一个参数包含两个高斯分布为例,η=[均值1,方差1,均值2,方差2]。
2.3、本地训练过程
首先,被第二节点选定的第一节点从第二节点处获取联邦模型的参数的先验分布P(θ|η)。
其次,第一节点以P(θ|η)作为本地模型的参数的先验分布,使用本地训练数据,训练得到本地模型的参数的后验分布。
具体地,本地模型的参数的后验分布的训练过程是一个优化过程。优化目标可以采用公式(5)定义:
公式(5)中,qk(θ)表示本地模型的参数θ的后验分布。如果本地模型的参数的后验分布采用的是参数化的描述方式(而非直方图、概率密度曲线等非参数化描述方式),则本地模型的参数的后验分布也可以通过qk(θ|ηk)表示,即通过参数ηk描述本地模型的参数θ。logp(Dk|θ)表示本地模型的参数θ对应的似然函数。DKL表示KL散度。
在定义了优化目标之后,采用重参数化的方式对qk(θ)进行优化,即可得到优化后的qk(θ)。
2.4、联邦模型的参数的先验分布的更新(或优化)过程
当参与联邦学习的第一节点将本地模型的参数的后验分布发送给第二节点之后,第二节点可以根据公式(6)更新联邦模型的参数的先验分布:
公式(6)中的P(η)表示η的分布,该分布可以事先由人为设定。
示例3:
3.1、应用场景介绍
第二节点维护的联邦模型包括多个神经网络。第一节点的本地模型为单个神经网络。
3.2、初始化过程
第二节点对联邦模型的参数的先验分布进行初始化。该联邦模型的参数的先验分布包括N个局部先验分布(N为大于1的整数)。N个局部先验分布一一对应N个神经网络。换句话说,该N个局部先验分布分别为该N个神经网络的参数的先验分布。该N个神经网络的结构可以相同,也可以不同。例如,N个神经网络中的第1个神经网络具有5个全连接层,其中每层设置50个神经元。第2个神经网络也具有5个全连接层的神经网络,其中每层设置50个神经元。第3个神经网络具有4个全连接层,其中每层设置40个神经元。第4个神经网络具有4个卷积层和1个全连接层。
然后,第二节点可以将N个局部先验分布发送给多个第一节点。第二节点可以向不同的第一节点发送不同的局部先验分布。例如,第二节点可以将第1个神经网络对应的局部先验分布发送给第一节点1,2,3;将第2个神经网对应的局部先验分布发送给第一节点4,5,6;将第3个神经网络对应的局部先验分布发送给第一节点7,8,9;将第4个神经网络对应的局部先验分布发送给第一节点9,10,11。当然,为了对数据进行隐私保护,第二节点也可以向不同的第一节点发送相同的局部先验分布。
收到第i个神经网络对应的局部先验分布的第一节点,可以以该第i个神经网络对应的局部先验分布作为本地模型参数的先验分布的初始值然后使用本地训练数据进行1次或多次训练,以得到本地模型参数的后验分布。第一节点可以采用公式(7)作为本地训练过程的损失函数:
Pi g(θ|η) (7)
第一节点将训练得到的本地模型参数的后验分布发送至第二节点。第二节点根据公式(8),以加权平均的方式对联邦模型的参数的先验分布进行更新:
公式(8)中,Ni表示基于第i个神经网络对应的局部先验分布进行本地训练后得到的本地模型参数的后验分布的数量,表示该Ni个本地模型的参数的后验分布中的第n个本地模型的参数的后验分布的权重,该权重可以根据该第n个本地模型的参数的后验分布的本地训练数据的数据量占该Ni个本地模型的参数的后验分布的本地训练数据的数据总量的比重确定。
3.3、本地训练过程
第二节点选定的第一节点可以从第二节点获取到联邦模型的参数的先验分布然后,第一节点可以使用本地训练数据测试联邦模型的参数的先验分布中的各个局部先验分布与本地训练数据的匹配度,并从中选择匹配度最高的局部先验分布
在确定了与本地训练数据最匹配的局部先验分布之后,第一节点可以将该局部先验分布作为本地模型的参数的先验分布的初始值,即然后,第一节点可以使用本地训练数据进行1次或多次训练,以获取本地模型的参数的后验分布。该训练过程可以以作为损失函数,其中表示该第i*个第一节点的本地训练数据。
3.4、联邦模型的参数的先验分布的更新(或优化)过程
当参与联邦学习的第一节点将本地模型的参数的后验分布发送给第二节点之后,第二节点可以根据公式(9)更新联邦模型中的各个神经网络的参数的先验分布:
公式(9)中,Ni表示基于第i个神经网络对应的局部先验分布进行本地训练后得到的本地模型参数的后验分布的数量,表示该Ni个本地模型的参数的后验分布中的第n个本地模型的参数的后验分布的权重,该权重可以根据该第n个本地模型的参数的后验分布的本地训练数据的数据量占该Ni个本地模型的参数的后验分布的本地训练数据的数据总量的比重确定。
示例4:
4.1、应用场景介绍
第二节点维护的联邦模型包括多个神经网络(如多个贝叶斯神经网络),其中每个神经网络的参数采用一个高斯分布进行描述。
联邦模型参数的先验分布包括与该多个神经网络一一对应的多个局部先验分布,且每个局部先验分布对后验分布进行“点描述”。
本地训练过程中,第一节点使用联邦模型参数的先验分布中的某个局部先验分布作为本地模型参数的先验分布,进行本地训练。例如,第一节点从第二节点维护的多个局部先验分布中选择与本地训练数据最匹配的一个局部先验分布,并将该局部先验分布作为本地模型参数的先验分布。
本地模型参数的先验分布和后验分布均对应相同大小的神经网络,且本地训练过程中,第一节点采用高斯分布作为似然函数进行贝叶斯优化。
4.2、初始化过程
第二节点对联邦模型的参数的先验分布进行初始化。该联邦模型的参数的先验分布包括N个局部先验分布(N为大于1的整数)。N个局部先验分布一一对应N个神经网络。Pi g(θ|η)表示联邦模型中的与第i个神经网络对应的局部先验分布,θ表示该第i个神经网络的参数,η用于描述θ的分布的先验值。以高斯分布为例,η可以是高斯分布的[均值,方差]。
第二节点将N个局部先验分布发送给不同的第一节点。如果考虑数据的隐私保护,第二节点也可以将不同的局部先验分布发送给相同的第一节点。
收到第i个神经网络对应的局部先验分布的第一节点,可以以Pi g(θ|η)作为本地模型的参数的先验分布,使用本地训练数据训练得到本地模型的参数的后验分布。
本地训练过程本质上是一个优化过程,可以采用公式(10)作为优化目标:
4.3、本地训练过程
被第二节点选定的第一节点可以从第二节点获取到联邦模型的参数的先验分布Pi g(θ|η),i=1,2...N。然后,第一节点可以测试联邦模型的参数的先验分布中的各个局部先验分布与本地训练数据的匹配度,并选择匹配度最高的局部先验分布
本地训练过程可以采用公式(12)作为优化目标:
第一节点可以采用重参数化的方式进行优化,以确定本地模型的参数的后验分布的最优解。
4.4、联邦模型的参数的先验分布的更新(或优化)过程
当参与联邦学习的第一节点将本地模型的参数的后验分布发送给第二节点之后,第二节点可以根据公式(13)更新各个神经网络:
示例5:
5.1、应用场景介绍
第二节点维护的联邦模型维护一个神经网络。该神经网络的每个参数采用一个分布进行描述。该神经网络的参数的先验分布对后验分布进行点描述。例如,联邦模型为一个贝叶斯神经网络,且该贝叶斯神经网络的每个参数采用一个高斯分布进行描述。
第一节点使用联邦模型参数的先验分布中的局部先验分布作为本地模型参数的先验分布。
第一节点的本地模型与联邦模型的尺寸相同,且本地模型参数的后验分布采用的是delta分布。
5.2、初始化过程
第二节点初始化一个神经网络,作为联邦模型。P(θ|η)表示该联邦模型的参数的先验分布,其中θ表示模型参数,η表示描述θ的分布的先验值。以高斯分布为例,η=[均值,方差]。
5.3、本地训练过程
首先,被第二节点选定的第一节点从第二节点处获取联邦模型的参数的先验分布P(θ|η)。
其次,第一节点以P(θ|η)作为本地模型的参数的先验分布,使用本地训练数据,训练得到本地模型的参数的后验分布。
具体地,本地模型的参数的后验分布的训练过程是一个优化过程。优化目标可以采用公式(14)定义:
公式(14)中,θk表示本地模型的参数。l0gp(Dk|θk)表示给定模型的参数对应的似然函数。可以采用梯度下降法进行训练本地模型参数θk,其后验分布δ(θk)。δ(θk)表示该后验分布为delta分布。
5.4、联邦模型的参数的先验分布的更新(或优化)过程
当参与联邦学习的第一节点将本地模型的参数的后验分布发送给第二节点之后,第二节点可以根据公式(15)更新各个神经网络:
公式(15)中的P(η)表示η的分布,该分布可以事先由人为设定。
示例6:
6.1应用场景介绍
示例6旨在提供一种衡量各个第一节点的重要性的方案,从而能够在联邦学习过程中根据第一节点的重要性对参与联邦学习的第一节点进行选择,使得联邦学习的整个训练过程的稳定性最优。
例如,可以根据第一节点的本地模型的参数的模型的方差,为第一节点设置权重,并根据第一节点的权重对参与联邦学习的第一节点进行选择,或者根据第一节点的权重选择是否需要某个第一节点上传本地模型的参数的后验分布。
首先,可以为不同的第一节点设置各自对应的权重r(Dk)。Dk表示第k个第一节点的本地训练数据,因此,第一节点的权重也可以理解为对第一节点的本地训练数据的重要性的一种衡量。
然后,第二节点可以根据公式(16)最小化各个第一节点反馈的本地模型参数的后验分布的方差:
公式(16)中的pdata(Dk)表示Dk在所有的第一节点的本地训练数据形成的数据集上出现的概率,考虑到权重之和应该为1,所以,公式(16)可以转换成如下的公式(17):
通过求解上式,可以得到第一节点的权重与本地模型参数的后验分布之间的关系为如果本地模型的后验分布采用高斯分布,则第一节点的权重与本地模型参数的后验分布之间的关系可以表示为:(j为本地模型中的参数的数量)。
第二节点可以根据r(Dk)对需要上传本地模型参数的后验分布的第一节点进行选择。第一节点也可以根据该r(Dk)对其是否需要向第二节点发送本地的训练结果进行决策。例如,可以将r(Dk)与固定阈值进行比较,以决定第一节点是否需要向第二节点发送本地的训练结果。或者,可以根据r(Dk)计算第一节点被选择的概率,然后根据该概率决定是否需要向第二节点发送本地的训练结果。
示例7:
示例7旨在提供一种联邦模型的简化方案,旨在当联邦模型的某个参数为较多分布的叠加时,以较少数量的分布的叠加对该较多分布的叠加进行近似。
例如,假设K个第一节点向第二节点上传本地模型参数的后验分布qk(θ)之后,第二节点根据如下的公式(18)更新联邦模型参数的先验分布:
公式(18)中,DKL表示KL散度,p(θ|η)表示联邦模型参数的先验分布。
公式(18)的最优解可以通过公式(19)表示:
假设本地模型参数的后验分布服从高斯分布,则公式(19)中的联邦模型参数的先验分布服从混合高斯分布,其中每个参数包含K个成分的混合高斯分布。由此可见,联邦模型参数的规模与本地模型参数相比,扩大了K倍,这样会造成较大的通信开销。
为了限制通信开销,可以采用公式(20)对联邦模型参数进行优化,将联邦模型的参数定义为最多包含M个成分(M<K)的混合高斯分布:
公式(20)中,ρm表示M个成分中的第m个成分的比例。μm,∑m分别为搞死分布的均值和协方差矩阵。然后,通过引入ρm的先验分布-狄利克雷分布(Dirichlet分布),可以使得优化后的ρm变得稀疏(即包含较多的0元素),从而使得最终的参数的混合分布最多包含M个成分。由此可见,通过调整Dirichlet分布的参数,可以在联邦模型的精度与复杂度(即每个参数包含多少成分,这决定了联邦学习过程的通信开销)之间进行折中。
示例8:
本申请对本地模型参数的后验分布的类型不做具体限定。示例8旨在给出一种特定的后验分布。
具体地,本地模型参数的后验分布可以服从如公式(21)所示的分布:
θ~N(μk,λ(μk-μ)2) (21)
公式(21)中,θ为本地模型参数的后验分布,μ为先验分布的均值,μk为该后验分布的均值。
公式(21)可以看出:当本地模型参数的后验分布的均值距离先验分布的均值较远时,该后验分布的方差也比较大。这样一来,采用公式(21)所示的分布形式可以使得本地模型参数的后验分布与先验分布之间尽量存在较大重叠,从而使得本地训练过程变得更加可靠。
上文结合图1至图6,详细描述了本申请的方法实施例,下面结合图7至图8,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图7是本申请一个实施例提供的联邦学习的装置的结构示意图。该联邦学习的装置700对应于上文中的第一节点,且装置700与第二节点通信连接。
如图7所示,装置700包括接收模块701和训练模块702。接收模块701可用于从第二节点接收联邦模型的参数的先验分布,其中联邦模型为参数服从分布的机器学习模型。训练模块702可用于根据联邦模型的参数的先验分布和装置的本地训练数据,训练得到装置的本地模型的参数的后验分布。
可选地,在一些实施例中,装置700还可包括:第一确定模块,用于根据本地模型的参数的后验分布,确定本地模型的不确定度;第一发送模块,用于当本地模型的不确定度满足第一预设条件时,向第二节点发送本地模型的参数的后验分布。
可选地,在一些实施例中,装置700还可包括:第二确定模块,用于根据本地模型的第一参数的后验分布,确定第一参数的不确定度,其中本地模型包括至少一个参数,第一参数为该至少一个参数中的任意一个;第二发送模块,用于当第一参数的不确定度满足第二预设条件时,向第二节点发送第一参数的后验分布。
可选地,在一些实施例中,装置700还可包括:第三确定模块,用于根据本地模型的参数的后验分布,确定本地模型的不确定度;当本地模型的不确定度满足第一预设条件时,根据本地模型的第一参数的后验分布,确定第一参数的不确定度,其中,本地模型包括至少一个参数,第一参数为至少一个参数中的任意一个;第三发送模块,用于当第一参数的不确定度满足第二预设条件时,向第二节点发送第一参数的后验分布。
图8是本申请另一实施例提供的联邦学习的装置的结构示意图。该联邦学习的装置800对应于上文中的第二节点,且装置800与第一节点通信连接。
如图8所示,装置800包括接收模块801和更新模块802。接收模块801可用于接收至少一个第一节点的本地模型的参数的后验分布。更新模块802可用于根据至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,其中联邦模型为参数服从分布的机器学习模型。
可选地,在一些实施例中,装置800还可包括:选取模块,用于在装置接收至少一个第一节点的本地模型的参数的后验分布之前,从候选节点中选取至少一个第一节点,联邦学习包括多轮迭代,该至少一个第一节点为参与本轮迭代的节点,候选节点为在本轮迭代之前参与联邦学习的节点;第一发送模块,用于在装置接收至少一个第一节点的本地模型的参数的后验分布之前,向至少一个第一节点发送联邦模型的参数的先验分布。
可选地,在一些实施例中,选取模块用于根据候选节点向装置发送的评价信息,从候选节点中选取至少一个第一节点,其中评价信息用于表示联邦模型的参数的先验分布与候选节点的本地训练数据的匹配度,或者评价信息用于表示候选节点根据联邦模型的参数的先验分布训练得到的后验分布与候选节点的本地训练数据的匹配度,或者评价信息用于表示联邦模型的参数的先验分布与候选节点根据联邦模型的参数的先验分布训练得到的后验分布的匹配度。
可选地,在一些实施例中,选取模块用于根据候选节点的历史后验分布与联邦模型的参数的先验分布的差异,从候选节点中选取至少一个第一节点,其中历史后验分布为候选节点在本轮迭代之前得到的本地模型的参数的后验分布。
可选地,在一些实施例中,本地模型不包含不确定度不满足预设条件的参数。
图9是本申请实施例提供的一种联邦学习的装置的硬件结构示意图。图9所示的联邦学习的装置900(该装置900具体可以是一种计算机设备)包括存储器901、处理器902、通信接口903以及总线904。其中,存储器901、处理器902、通信接口903通过总线904实现彼此之间的通信连接。
存储器901可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器901可以存储程序,当存储器901中存储的程序被处理器902执行时,处理器902和通信接口903用于执行本申请实施例的联邦学习的方法的各个步骤。
处理器902可以采用通用的CPU,微处理器,应用专用集成电路(applicationspecific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的联邦学习的装置中的模块所需执行的功能,或者执行本申请方法实施例的联邦学习的方法。
处理器902还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的联邦学习的方法的各个步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器902还可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器901,处理器902读取存储器901中的信息,结合其硬件完成本申请实施例的联邦学习的装置中包括的模块所需执行的功能,或者执行本申请方法实施例的联邦学习的方法。
通信接口903使用例如但不限于收发器一类的收发装置,来实现装置900与其他设备或通信网络之间的通信。
总线904可包括在装置900各个部件(例如,存储器901、处理器902、通信接口903)之间传送信息的通路。
应理解,联邦学习的装置700中的接收模块701相当于联邦学习的装置900中的通信接口903,训练模块702可以相当于处理器902。或者,联邦学习的装置800中的接收模块801相当于联邦学习的装置900中的通信接口903,更新模块802可以相当于处理器902。
应注意,尽管图9所示的装置900仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置900还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置900还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置900也可仅仅包括实现本申请实施例所必须的器件,而不必包括图9所示的全部器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (48)
1.一种联邦学习的方法,其特征在于,包括:
第一节点从第二节点接收联邦模型的参数的先验分布,其中所述联邦模型为参数服从分布的机器学习模型;
所述第一节点根据所述联邦模型的参数的先验分布和所述第一节点的本地训练数据,训练得到所述第一节点的本地模型的参数的后验分布。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述本地模型的参数的后验分布,确定所述本地模型的不确定度;
当所述本地模型的不确定度满足第一预设条件时,所述第一节点向所述第二节点发送所述本地模型的参数的后验分布。
3.根据权利要求2所述的方法,其特征在于,所述本地模型的不确定度是基于以下信息中的至少一种度量的:所述本地模型的参数的后验分布的方差,所述本地模型的参数的后验分布的收敛速度,或者所述本地模型的参数的后验分布的推断准确率。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,其中,所述本地模型包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;
当所述第一参数的不确定度满足第二预设条件时,所述第一节点向所述第二节点发送所述第一参数的后验分布。
5.根据权利要求4所述的方法,其特征在于,所述第一参数的不确定度是基于所述第一参数的后验分布的方差度量的。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述本地模型的参数的后验分布,确定所述本地模型的不确定度;
当所述本地模型的不确定度满足第一预设条件时,所述第一节点根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,其中,所述本地模型包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;
当所述第一参数的不确定度满足第二预设条件时,所述第一节点向所述第二节点发送所述第一参数的后验分布。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型,
所述第一节点根据所述联邦模型的参数的先验分布和所述第一节点的本地训练数据,训练得到所述第一节点的本地模型的参数的后验分布,包括:
所述第一节点根据所述多个局部先验分布与所述本地训练数据的匹配度,确定所述第一节点的本地模型的参数的先验分布;
所述第一节点根据所述本地模型的参数的先验分布和所述本地训练数据,训练得到所述本地模型的参数的后验分布。
8.根据权利要求7所述的方法,其特征在于,所述联邦学习包括多轮迭代,所述本地模型的参数的后验分布为经过本轮迭代得到的本地模型的参数的后验分布,
所述第一节点根据所述多个局部先验分布与所述本地训练数据的匹配度,确定所述第一节点的本地模型的参数的先验分布,包括:
所述第一节点根据所述多个局部先验分布与历史后验分布之间的差异,确定所述第一节点的本地模型的参数的先验分布,其中所述历史后验分布为所述第一节点在所述本轮迭代之前得到的本地模型的参数的后验分布。
9.根据权利要求8所述的方法,其特征在于,所述本地模型的参数的先验分布为所述多个局部先验分布中的与所述历史后验分布差异最小的先验分布;或者,所述本地模型的参数的先验分布为所述多个局部先验分布的加权和,其中所述多个局部先验分布在所述加权和中分别所占的权重由所述多个局部先验分布与所述历史后验分布之间的差异确定。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点向所述第二节点发送所述本地模型的参数的后验分布。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述机器学习模型为神经网络。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
13.根据权利要求1-12中任一项所述的方法,其特征在于,所述第一节点和所述第二节点分别为网络中的客户端和服务器。
14.一种联邦学习的方法,其特征在于,包括:
第二节点接收至少一个第一节点的本地模型的参数的后验分布;
所述第二节点根据所述至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,其中所述联邦模型为参数服从分布的机器学习模型。
15.根据权利要求14所述的方法,其特征在于,在所述第二节点接收至少一个第一节点的本地模型的参数的后验分布之前,所述方法还包括:
所述第二节点从候选节点中选取所述至少一个第一节点,所述联邦学习包括多轮迭代,所述至少一个第一节点为参与本轮迭代的节点,所述候选节点为在所述本轮迭代之前参与所述联邦学习的节点;
所述第二节点向所述至少一个第一节点发送所述联邦模型的参数的先验分布。
16.根据权利要求15所述的方法,其特征在于,所述第二节点从候选节点中选取所述至少一个第一节点,包括:
所述第二节点根据所述候选节点向所述第二节点发送的评价信息,从所述候选节点中选取所述至少一个第一节点,其中所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布的匹配度。
17.根据权利要求15所述的方法,其特征在于,所述第二节点从候选节点中选取所述至少一个第一节点,包括:
所述第二节点根据所述候选节点的历史后验分布与所述联邦模型的参数的先验分布的差异,从所述候选节点中选取所述至少一个第一节点,其中所述历史后验分布为所述候选节点在所述本轮迭代之前得到的本地模型的参数的后验分布。
18.根据权利要求14-17中任一项所述的方法,其特征在于,所述本地模型不包含不确定度不满足预设条件的参数。
19.根据权利要求14-18中任一项所述的方法,其特征在于,所述至少一个第一节点包括多个第一节点,且所述多个第一节点的本地模型的参数的后验分布均包括第一参数的后验分布,
所述第二节点根据所述至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,包括:
如果所述多个第一节点的所述第一参数的后验分布之间的差异大于预设阈值,所述第二节点对所述联邦模型的参数的先验分布进行更新,以将所述第一参数拆分成多个参数。
20.根据权利要求14-19中任一项所述的方法,其特征在于,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型。
21.根据权利要求14-20中任一项所述的方法,其特征在于,所述机器学习模型为神经网络。
22.根据权利要求14-21中任一项所述的方法,其特征在于,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
23.根据权利要求14-22中任一项所述的方法,其特征在于,所述第一节点和所述第二节点分别为网络中的客户端和服务器。
24.一种联邦学习的装置,其特征在于,所述装置为与第二节点通信连接的第一节点,所述装置包括:
接收模块,用于从所述第二节点接收联邦模型的参数的先验分布,其中所述联邦模型为参数服从分布的机器学习模型;
训练模块,用于根据所述联邦模型的参数的先验分布和所述装置的本地训练数据,训练得到所述装置的本地模型的参数的后验分布。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于根据所述本地模型的参数的后验分布,确定本地模型的不确定度;
第一发送模块,用于当所述本地模型的不确定度满足第一预设条件时,向所述第二节点发送所述本地模型的参数的后验分布。
26.根据权利要求25所述的装置,其特征在于,所述本地模型的不确定度是基于以下信息中的至少一种度量的:所述本地模型的参数的后验分布的方差,所述本地模型的参数的后验分布的收敛速度,或者所述本地模型的参数的后验分布的推断准确率。
27.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,所述本地模型包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;
第二发送模块,用于当所述第一参数的不确定度满足第二预设条件时,向所述第二节点发送所述第一参数的后验分布。
28.根据权利要求27所述的装置,其特征在于,所述第一参数的不确定度是基于所述第一参数的后验分布的方差度量的。
29.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于根据所述本地模型的参数的后验分布,确定所述本地模型的不确定度;当所述本地模型的不确定度满足第一预设条件时,根据所述本地模型的第一参数的后验分布,确定所述第一参数的不确定度,其中,所述本地模型包括至少一个参数,所述第一参数为所述至少一个参数中的任意一个;
第三发送模块,用于当所述第一参数的不确定度满足第二预设条件时,向所述第二节点发送所述第一参数的后验分布。
30.根据权利要求24-29中任一项所述的装置,其特征在于,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型,
所述训练模块用于根据所述多个局部先验分布与所述本地训练数据的匹配度,确定所述装置的本地模型的参数的先验分布;根据所述本地模型的参数的先验分布和所述本地训练数据,训练得到所述本地模型的参数的后验分布。
31.根据权利要求30所述的装置,其特征在于,所述联邦学习包括多轮迭代,所述本地模型的参数的后验分布为经过本轮迭代得到的本地模型的参数的后验分布,
所述训练模块用于根据所述多个局部先验分布与历史后验分布之间的差异,确定所述装置的本地模型的参数的先验分布,其中所述历史后验分布为所述装置在所述本轮迭代之前得到的本地模型的参数的后验分布。
32.根据权利要求31所述的装置,其特征在于,所述本地模型的参数的先验分布为所述多个局部先验分布中的与所述历史后验分布差异最小的先验分布;或者,所述本地模型的参数的先验分布为所述多个局部先验分布的加权和,其中所述多个局部先验分布在所述加权和中分别所占的权重由所述多个局部先验分布与所述历史后验分布之间的差异确定。
33.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于向所述第二节点发送所述本地模型的参数的后验分布。
34.根据权利要求24-33中任一项所述的装置,其特征在于,所述机器学习模型为神经网络。
35.根据权利要求24-34中任一项所述的装置,其特征在于,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
36.根据权利要求24-35中任一项所述的装置,其特征在于,所述装置和所述第二节点分别为网络中的客户端和服务器。
37.一种联邦学习的装置,其特征在于,所述装置为与第一节点通信连接的第二节点,所述装置包括:
接收模块,用于接收至少一个第一节点的本地模型的参数的后验分布;
更新模块,用于根据所述至少一个第一节点的本地模型的参数的后验分布,对联邦模型的参数的先验分布进行更新,其中所述联邦模型为参数服从分布的机器学习模型。
38.根据权利要求37所述的装置,其特征在于,所述装置还包括:
选取模块,用于在所述装置接收所述至少一个第一节点的本地模型的参数的后验分布之前,从候选节点中选取所述至少一个第一节点,所述联邦学习包括多轮迭代,所述至少一个第一节点为参与本轮迭代的节点,所述候选节点为在所述本轮迭代之前参与所述联邦学习的节点;
第一发送模块,用于在所述装置接收所述至少一个第一节点的本地模型的参数的后验分布之前,向所述至少一个第一节点发送所述联邦模型的参数的先验分布。
39.根据权利要求38所述的装置,其特征在于,所述选取模块用于根据所述候选节点向所述装置发送的评价信息,从所述候选节点中选取所述至少一个第一节点,其中所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布与所述候选节点的本地训练数据的匹配度,或者所述评价信息用于表示所述联邦模型的参数的先验分布与所述候选节点根据所述联邦模型的参数的先验分布训练得到的后验分布的匹配度。
40.根据权利要求38所述的装置,其特征在于,所述选取模块用于根据所述候选节点的历史后验分布与所述联邦模型的参数的先验分布的差异,从所述候选节点中选取所述至少一个第一节点,其中所述历史后验分布为所述候选节点在所述本轮迭代之前得到的本地模型的参数的后验分布。
41.根据权利要求37-40中任一项所述的装置,其特征在于,所述本地模型不包含不确定度不满足预设条件的参数。
42.根据权利要求37-41中任一项所述的装置,其特征在于,所述至少一个第一节点包括多个第一节点,且所述多个第一节点的本地模型的参数的后验分布均包括第一参数的后验分布,所述更新模块用于在所述多个第一节点的所述第一参数的后验分布之间的差异大于预设阈值的情况下,对所述联邦模型的参数的先验分布进行更新,以将所述第一参数拆分成多个参数。
43.根据权利要求37-42中任一项所述的装置,其特征在于,所述联邦模型的参数的先验分布包括多个局部先验分布,所述多个局部先验分布一一对应多个贝叶斯模型。
44.根据权利要求37-43中任一项所述的装置,其特征在于,所述机器学习模型为神经网络。
45.根据权利要求37-44中任一项所述的装置,其特征在于,所述联邦模型的参数的先验分布为所述联邦模型的参数的概率分布,或者为所述联邦模型的参数的概率分布的概率分布。
46.根据权利要求37-45中任一项所述的装置,其特征在于,所述第一节点和所述装置分别为网络中的客户端和服务器。
47.一种芯片,其特征在于,包括:所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行如权利要求1-23中任一项所述的方法。
48.根据权利要求47所述的芯片,其特征在于,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行如权利要求1-23中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010593841.3A CN111898764A (zh) | 2020-06-23 | 2020-06-23 | 联邦学习的方法、装置和芯片 |
PCT/CN2021/100098 WO2021259090A1 (zh) | 2020-06-23 | 2021-06-15 | 联邦学习的方法、装置和芯片 |
EP21829619.2A EP4156039A4 (en) | 2020-06-23 | 2021-06-15 | METHOD AND APPARATUS FOR FEDERATED LEARNING AND CHIP |
US18/080,523 US20230116117A1 (en) | 2020-06-23 | 2022-12-13 | Federated learning method and apparatus, and chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010593841.3A CN111898764A (zh) | 2020-06-23 | 2020-06-23 | 联邦学习的方法、装置和芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111898764A true CN111898764A (zh) | 2020-11-06 |
Family
ID=73207076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010593841.3A Pending CN111898764A (zh) | 2020-06-23 | 2020-06-23 | 联邦学习的方法、装置和芯片 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230116117A1 (zh) |
EP (1) | EP4156039A4 (zh) |
CN (1) | CN111898764A (zh) |
WO (1) | WO2021259090A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686388A (zh) * | 2020-12-10 | 2021-04-20 | 广州广电运通金融电子股份有限公司 | 一种在联邦学习场景下的数据集划分方法及系统 |
CN112804304A (zh) * | 2020-12-31 | 2021-05-14 | 平安科技(深圳)有限公司 | 基于多点输出模型的任务节点分配方法、装置及相关设备 |
CN113033823A (zh) * | 2021-04-20 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 一种模型训练方法、系统及装置 |
CN113420335A (zh) * | 2021-08-24 | 2021-09-21 | 浙江数秦科技有限公司 | 一种基于区块链的联邦学习系统 |
CN113609785A (zh) * | 2021-08-19 | 2021-11-05 | 成都数融科技有限公司 | 基于贝叶斯优化的联邦学习超参数选择系统及方法 |
WO2021259090A1 (zh) * | 2020-06-23 | 2021-12-30 | 华为技术有限公司 | 联邦学习的方法、装置和芯片 |
US20220156633A1 (en) * | 2020-11-19 | 2022-05-19 | Kabushiki Kaisha Toshiba | System and method for adaptive compression in federated learning |
WO2023125660A1 (zh) * | 2021-12-29 | 2023-07-06 | 华为技术有限公司 | 一种通信方法及装置 |
WO2024072017A1 (en) * | 2022-09-26 | 2024-04-04 | Samsung Electronics Co., Ltd. | Method and system for federated learning |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11790039B2 (en) * | 2020-10-29 | 2023-10-17 | EMC IP Holding Company LLC | Compression switching for federated learning |
CN114662340B (zh) * | 2022-04-29 | 2023-02-28 | 烟台创迹软件有限公司 | 称重模型方案的确定方法、装置、计算机设备及存储介质 |
CN115277555B (zh) * | 2022-06-13 | 2024-01-16 | 香港理工大学深圳研究院 | 异构环境的网络流量分类方法、装置、终端及存储介质 |
CN115905648B (zh) * | 2023-01-06 | 2023-05-23 | 北京锘崴信息科技有限公司 | 基于高斯混合模型的用户群和金融用户群分析方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876038A (zh) * | 2018-06-19 | 2018-11-23 | 中国原子能科学研究院 | 大数据、人工智能、超算协同的材料性能预测方法 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
CN110490335A (zh) * | 2019-08-07 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种计算参与者贡献率的方法及装置 |
CN111222646A (zh) * | 2019-12-11 | 2020-06-02 | 深圳逻辑汇科技有限公司 | 联邦学习机制的设计方法、装置和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190487A (zh) * | 2019-12-30 | 2020-05-22 | 中国科学院计算技术研究所 | 一种建立数据分析模型的方法 |
CN111898764A (zh) * | 2020-06-23 | 2020-11-06 | 华为技术有限公司 | 联邦学习的方法、装置和芯片 |
-
2020
- 2020-06-23 CN CN202010593841.3A patent/CN111898764A/zh active Pending
-
2021
- 2021-06-15 EP EP21829619.2A patent/EP4156039A4/en active Pending
- 2021-06-15 WO PCT/CN2021/100098 patent/WO2021259090A1/zh unknown
-
2022
- 2022-12-13 US US18/080,523 patent/US20230116117A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876038A (zh) * | 2018-06-19 | 2018-11-23 | 中国原子能科学研究院 | 大数据、人工智能、超算协同的材料性能预测方法 |
CN109189825A (zh) * | 2018-08-10 | 2019-01-11 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN110490335A (zh) * | 2019-08-07 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种计算参与者贡献率的方法及装置 |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
CN111222646A (zh) * | 2019-12-11 | 2020-06-02 | 深圳逻辑汇科技有限公司 | 联邦学习机制的设计方法、装置和存储介质 |
Non-Patent Citations (2)
Title |
---|
KONSTANTIN SOZINOV 等: "Human Activity Recognition Using Federated Learning", 《2018 IEEE INTL CONF ON PARALLEL & DISTRIBUTED PROCESSING WITH APPLICATIONS, UBIQUITOUS COMPUTING & COMMUNICATIONS, BIG DATA & CLOUD COMPUTING, SOCIAL COMPUTING & NETWORKING, SUSTAINABLE COMPUTING & COMMUNICATIONS》, 31 December 2018 (2018-12-31) * |
LUCA CORINZIA 等: "Variational Federated Multi-Task Learning", 《ARXIV:1906.06268V1》, 14 June 2019 (2019-06-14), pages 2 - 4 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021259090A1 (zh) * | 2020-06-23 | 2021-12-30 | 华为技术有限公司 | 联邦学习的方法、装置和芯片 |
US20220156633A1 (en) * | 2020-11-19 | 2022-05-19 | Kabushiki Kaisha Toshiba | System and method for adaptive compression in federated learning |
CN112686388A (zh) * | 2020-12-10 | 2021-04-20 | 广州广电运通金融电子股份有限公司 | 一种在联邦学习场景下的数据集划分方法及系统 |
CN112804304A (zh) * | 2020-12-31 | 2021-05-14 | 平安科技(深圳)有限公司 | 基于多点输出模型的任务节点分配方法、装置及相关设备 |
CN113033823A (zh) * | 2021-04-20 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 一种模型训练方法、系统及装置 |
CN113609785A (zh) * | 2021-08-19 | 2021-11-05 | 成都数融科技有限公司 | 基于贝叶斯优化的联邦学习超参数选择系统及方法 |
CN113609785B (zh) * | 2021-08-19 | 2023-05-09 | 成都数融科技有限公司 | 基于贝叶斯优化的联邦学习超参数选择系统及方法 |
CN113420335A (zh) * | 2021-08-24 | 2021-09-21 | 浙江数秦科技有限公司 | 一种基于区块链的联邦学习系统 |
CN113420335B (zh) * | 2021-08-24 | 2021-11-12 | 浙江数秦科技有限公司 | 一种基于区块链的联邦学习系统 |
WO2023125660A1 (zh) * | 2021-12-29 | 2023-07-06 | 华为技术有限公司 | 一种通信方法及装置 |
WO2024072017A1 (en) * | 2022-09-26 | 2024-04-04 | Samsung Electronics Co., Ltd. | Method and system for federated learning |
Also Published As
Publication number | Publication date |
---|---|
EP4156039A4 (en) | 2023-11-08 |
US20230116117A1 (en) | 2023-04-13 |
WO2021259090A1 (zh) | 2021-12-30 |
EP4156039A1 (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898764A (zh) | 联邦学习的方法、装置和芯片 | |
US11461661B2 (en) | Stochastic categorical autoencoder network | |
US11585918B2 (en) | Generative adversarial network-based target identification | |
US11107250B2 (en) | Computer architecture for artificial image generation using auto-encoder | |
US20210081763A1 (en) | Electronic device and method for controlling the electronic device thereof | |
WO2019229931A1 (ja) | 情報処理装置、制御方法、及びプログラム | |
US11526760B2 (en) | Training system for artificial neural networks having a global weight constrainer | |
CN116187430A (zh) | 一种联邦学习方法及相关装置 | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
CN114698395A (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
Ibragimovich et al. | Effective recognition of pollen grains based on parametric adaptation of the image identification model | |
CN117501245A (zh) | 神经网络模型训练方法和装置、数据处理方法和装置 | |
Lai et al. | Stochastic neural networks with applications to nonlinear time series | |
US11195053B2 (en) | Computer architecture for artificial image generation | |
Cen et al. | Nim: modeling and generation of simulation inputs via generative neural networks | |
US11676027B2 (en) | Classification using hyper-opinions | |
US20230419075A1 (en) | Automated Variational Inference using Stochastic Models with Irregular Beliefs | |
Rady | Reyni’s entropy and mean square error for improving the convergence of multilayer backprobagation neural networks: a comparative study | |
BenSaïda | Are financial markets stochastic: A test for noisy chaos | |
Wang et al. | Bayesian optimization using monotonicity information and its application in machine learning hyperparameter | |
Yu et al. | An improved training algorithm for feedforward neural network learning based on terminal attractors | |
Kartheeswaran et al. | A hybrid genetic algorithm and back-propagation artificial neural network based simulation system for medical image reconstruction in noise-added magnetic resonance imaging data | |
CN113657592B (zh) | 一种软件定义卫星自适应剪枝模型压缩方法 | |
CN112396069B (zh) | 基于联合学习的语义边缘检测方法、装置、系统及介质 | |
CN112612602B (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 |