CN113052323B - 基于联邦学习的模型训练方法、装置和电子设备 - Google Patents
基于联邦学习的模型训练方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113052323B CN113052323B CN202110306735.7A CN202110306735A CN113052323B CN 113052323 B CN113052323 B CN 113052323B CN 202110306735 A CN202110306735 A CN 202110306735A CN 113052323 B CN113052323 B CN 113052323B
- Authority
- CN
- China
- Prior art keywords
- model
- parameter information
- model parameter
- individuals
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Abstract
本说明书实施例公开了一种基于联邦学习的模型训练方法、装置和电子设备。所述方法包括:利用以下步骤进行迭代处理,直至满足迭代结束条件:接收多个参与方上传的第一模型参数信息及其对应的模型性能;以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对所述初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息;向多个参与方发送第二模型参数信息。本说明书实施例可以提高模型训练效率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种基于联邦学习的模型训练方法、装置和电子设备。
背景技术
联邦学习能够在保护机构私有数据隐私的基础上,实现多个机构之间的联合建模。然而,联邦学习的模型训练效率较低。因此,有必要提出一种方案以提高联邦学习的模型训练效率。
发明内容
本说明书实施例提供一种基于联邦学习的模型训练方法、装置和电子设备。
本说明书实施例的第一方面,提供了一种基于联邦学习的模型训练方法,应用于服务器,所述方法包括:利用以下步骤进行迭代处理,直至满足迭代结束条件:接收多个参与方上传的第一模型参数信息及其对应的模型性能;以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息;向多个参与方发送第二模型参数信息。
本说明书实施例的第二方面,提供了一种基于联邦学习的模型训练方法,应用于参与方,所述方法包括:利用以下步骤进行迭代处理,直至满足迭代结束条件:接收服务器发送的多个第二模型参数信息;确定第二模型参数信息对应的模型性能;选择模型性能最优的第二模型参数信息作为第一模型参数信息;向服务器上传选择的第一模型参数信息及其对应的模型性能;在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
本说明书实施例的第三方面,提供了一种基于联邦学习的模型训练装置,应用于服务器,所述装置包括:迭代模块,用于利用以下子模块进行迭代处理,直至满足迭代结束条件:接收子模块,用于接收多个参与方上传的第一模型参数信息及其对应的模型性能;遗传操作子模块,用于以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息;发送子模块,用于向多个参与方发送第二模型参数信息。
本说明书实施例的第四方面,提供了一种基于联邦学习的模型训练装置,应用于参与方,所述装置包括:迭代模块,用于利用以下步骤进行迭代处理,直至满足迭代结束条件:接收子模块,用于接收服务器发送的多个第二模型参数信息;第一确定子模块,用于确定第二模型参数信息对应的模型性能;选择子模块,用于选择模型性能最优的第二模型参数信息作为第一模型参数信息;上传子模块,用于向服务器上传选择的第一模型参数信息及其对应的模型性能;确定模块,用于在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
本说明书实施例的第五方面,提供了一种电子设备,包括:至少一个处理器;存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如第一方面或者第二方面所述方法的指令。
本说明书实施例提供的技术方案,将遗传操作应用到联邦学习中,实现了进化算法与联邦学习相结合,提高了联邦学习的模型训练效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例中联邦学习系统的结构示意图;
图2为本说明书实施例中模型训练方法的流程示意图;
图3为本说明书实施例中模型训练方法的流程示意图;
图4为本说明书实施例中模型训练装置的结构示意图;
图5为本说明书实施例中模型训练装置的结构示意图;
图6为本说明书实施例中电子设备的结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
在人工智能时代,需要利用大量的数据训练机器学习模型。但是在很多场景中,所述大量的数据往往分散在多个不同的机构中,每个机构持有一部分数据。并且,出于隐私保护的考虑,不同机构之间不能够交换数据。这便影响了机器学习模型的训练效果。联邦学习(Federated Learning)能够在保护私有数据隐私的基础上,实现多个机构之间的联合建模。在联合建模的过程中,各机构持有的数据可以保留在本地而无需出域。
在相关技术中,实现联邦学习的系统可以包括多个参与方和服务器。联邦学习的过程可以包括多轮迭代过程。在每一轮迭代过程中,服务器可以向各参与方发送模型参数(以下称为第一模型参数)。每个参与方可以接收第一模型参数;可以利用本地的数据,对第一模型参数对应的机器学习模型进行训练,得到更新后的第一模型参数(以下称为第二模型参数);可以向服务器发送第二模型参数。所述服务器可以接收各参与方发送的第二模型参数;可以从接收的第二模型参数中随机选择部分第二模型参数求取均值,得到求取均值后的模型参数(以下称为第三模型参数);可以向各参与方发送第三模型参数。
从上述流程可知,所述服务器是从接收的第二模型参数中随机选择部分第二模型参数求取均值。采用随机的方式选择部分第二模型参数,随机性较强,扰动较大,使得整个迭代过程的收敛速度较慢,降低了模型训练效率。另外,采用求取均值的方式获得第三模型参数,也造成了整个迭代过程的收敛速度较慢,降低了模型训练效率。
进化算法(Evolutionary Algorithms)是一种对优化问题的候选解做演化计算的算法。所述进化算法可以包括遗传算法(Genetic Algorithm,GA)、差分进化算法(Differential Evolution Algorithm,DE)等。若将进化算法与联邦学习相结合,则有望提高联邦学习的模型训练效率。
请参阅图1。本说明书实施例提供一种联邦学习系统。
所述联邦学习系统可以包括多个参与方和服务器。
所述多个参与方用于联合建模。所述参与方可以持有数据。具体地,所述参与方可以持有至少一个训练数据和至少一个测试数据。所述训练数据用于训练机器学习模型,所述测试数据用于测试机器学习模型的模型性能。所述机器学习模型可以包括逻辑回归模型、神经网络模型、决策树模型等。所述模型性能可以包括以下之一:准确率(Accuracy)、召回率(Recall)、精确率(Precision)、F1分数(F1-Score)等。不同参与方持有的训练数据可以不同或者部分相同。不同参与方持有的测试数据可以不同或者部分相同。所述参与方包括但不限于移动终端、服务器等。所述移动终端包括但不限于智能手机、平板电子设备、便携式计算机、个人计算机(PC机)等。在一些场景示例中,所述参与方可以为用户的智能手机。所述智能手机上存储有用户的个人信息。所述个人信息可以包括图片、语音、流量记录、操作记录等。所述智能手机可以将个人信息划分为训练数据和测试数据。
所述服务器可以用于协助所述多个参与方联合联合建模。所述服务器可以为单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器。
基于所述联邦学习系统的模型训练过程可以包括初始化过程和多轮迭代过程。
在所述初始化过程中,所述多个参与方和所述服务器可以协商机器学习模型的网络结构。所述服务器可以获取与所述网络结构相对应的超参数;可以向多个参与方发送所述超参数。每个参与方可以接收超参数;可以利用本地的训练数据,对超参数对应的机器学习模型进行训练,得到第一模型参数信息;可以确定第一模型参数信息对应的模型性能;可以向服务器上传第一模型参数信息及其对应的模型性能。在本说明书实施例中,模型参数信息对应的模型性能可以理解为:模型参数信息对应的机器学习模型的性能。例如,第一模型参数信息对应的模型性能可以理解为:第一模型参数信息对应的机器学习模型的性能。另举一例,第二模型参数信息对应的模型性能可以理解为:第二模型参数信息对应的机器学习模型的性能。
与模型参数不同,所述超参数可以是在开始训练之前设置的参数。例如,神经网络模型的超参数可以包括神经网络的层数和节点数。所述超参数可以为经验值。或者,所述服务器还可以采用超参数优化方法获得超参数。所述超参数优化方法可以包括贝叶斯优化算法(Bayesian Optimization)和基于强化学习(Reinforcement Learning)的算法(例如神经网络架构搜索,Neural Architecture Search,NAS)等。
参与方可以采用梯度下降法或者牛顿法对超参数对应的机器学习模型进行训练。参与方可以利用本地的测试数据,对第一模型参数信息对应的机器学习模型进行测试,得到模型性能。在实际应用中,所述第一模型参数信息可以包括第一模型参数的明文。具体地,参与方可以利用本地的训练数据,对超参数对应的机器学习模型进行训练,得到第一模型参数的明文;可以利用本地的测试数据,对第一模型参数的明文所对应的机器学习模型进行测试,得到模型性能。或者,为了增加安全性,所述第一模型参数信息还可以包括第一模型参数的密文。具体地,参与方可以利用本地的训练数据,对超参数对应的机器学习模型进行训练,得到第一模型参数的明文;可以利用本地的测试数据,对第一模型参数的明文所对应的机器学习模型进行测试,得到模型性能;可以对第一模型参数的明文进行加密,得到第一模型参数的密文。参与方可以采用同态加密的方式进行加密。例如,联邦学习的各参与方可以协商公私钥对。所述公私钥对不被联邦学习的服务器知悉。所述公私钥对可以包括具有对应关系的公钥和私钥。参与方可以利用所述公钥,对第一模型参数的明文进行加密,得到第一模型参数的密文。当然,参与方还可以采用其它的方式进行加密。例如,参与方还可以采用差分隐私的方式进行加密。具体地,例如,参与方可以根据差分隐私理论,生成噪声数据作为扰动数据;可以将扰动数据添加至第一模型参数的明文中,得到第一模型参数的密文。
在所述多轮迭代过程中的每一轮迭代过程中,所述服务器可以接收各参与方上传的第一模型参数信息及其对应的模型性能;可以以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度;可以根据适应度,对初始种群中的个体进行遗传操作,得到优化种群,所述优化种群中的个体用于表示第二模型参数信息;可以向各参与方发送第二模型参数信息。每个参与方可以接收服务器发送的多个第二模型参数信息;可以确定第二模型参数信息对应的模型性能;可以选择模型性能最优的第二模型参数信息作为第一模型参数信息;可以向服务器上传选择的第一模型参数信息及其对应的模型性能。
在所述多轮迭代过程中的每一轮迭代过程中,所述服务器可以判断是否满足迭代结束条件。若不满足迭代结束条件,所述多个参与方和所述服务器可以继续进行下一轮的迭代过程。若满足迭代结束条件,所述服务器可以向各参与方发送迭代结束指令。每个参与方可以接收迭代结束指令;可以根据在本轮迭代过程中选择的第一模型参数信息,确定机器学习模型。值得说明的是,在本轮迭代过程中,不同参与方选择的第一模型参数信息可以是不同的,因而不同参与方通过联邦学习获得的机器学习模型可以是不同的。
本说明书实施例提供一种基于联邦学习的模型训练方法。
请参阅图2。所述模型训练方法可以应用于服务器,可以包括以下步骤。
步骤S21:接收多个参与方上传的第一模型参数信息及其对应的模型性能。
步骤S23:以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息。
步骤S25:向多个参与方发送第二模型参数信息。
在一些实施例中,联邦学习中的各参与方可以向服务器上传第一模型参数信息、以及第一模型参数信息对应的模型性能。所述服务器可以接收各参与方上传的第一模型参数信息、以及第一模型参数信息对应的模型性能。其中,参与方向服务器上传第一模型参数信息及其对应的模型性能的过程,在后续图3所对应的实施例中会有详细介绍。
在一些实施例中,所述初始种群中可以包括多个个体。所述初始种群中的个体用于表示第一模型参数信息。所述第一模型参数信息包括多个子信息。所述初始种群中的个体包含多个基因,每个基因用于表示第一模型参数信息中的一个子信息。例如,所述初始种群中包括个体bi,1≤i≤p,p表示初始种群中个体的数量。个体bi=[ci1,…,cij,…,ciq],1≤j≤q,q表示个体中基因的数量,cij表示个体bi中的第j个基因。可以理解的是,所述初始种群中个体所包含的基因的数量与机器学习模型中参数的数量相等。例如,某一机器学习模型包含100个参数。所述初始种群中个体所包含的基因数量为100。
所述优化种群中可以包括多个个体。所述优化种群中的个体用于表示第二模型参数信息。所述第二模型参数信息包括多个子信息。所述优化种群中的个体包含多个基因,每个基因用于表示第二模型参数信息中的一个子信息。可以理解的是,优化种群和初始种群中个体的数量可以相同或者不同。优化种群中的个体和初始种群中的个体所包含的基因数量可以相同。
在一些实施例中,所述第一模型参数信息可以包括第一模型参数的明文,所述第一模型参数的明文包括多个子参数的明文,所述初始种群中的个体用于表示第一模型参数的明文。所述初始种群中的个体包含多个基因,每个基因用于表示一个子参数的明文。或者,为了增加安全性,所述第一模型参数信息还可以包括第一模型参数的密文,所述第一模型参数的密文可以包括多个子参数的密文,所述初始种群中的个体用于表示第一模型参数的密文。所述初始种群中的个体可以包含多个基因,每个基因用于表示一个子参数的密文。
所述第二模型参数信息可以包括第二模型参数的明文,所述第二模型参数的明文可以包括多个子参数的明文,所述优化种群中的个体用于表示第二模型参数的明文。所述优化种群中的个体可以包含多个基因,每个基因用于表示一个子参数的明文。或者,为了增加安全性,所述第二模型参数信息还可以包括第二模型参数的密文,所述第二模型参数的密文可以包括多个子参数的密文,所述优化种群中的个体用于表示第二模型参数的密文。所述优化种群中的个体包含多个基因,每个基因用于表示一个子参数的密文。
在一些实施例中,所述遗传操作可以包括选择操作、交叉操作、变异操作等。所述服务器可以从所述初始种群中选择适应度最优的多个个体作为第一个体;可以对第一个体中的基因进行交叉操作,得到新的个体作为第二个体;可以对第二个体中的基因进行变异操作,得到新的个体作为优化种群中的个体。所述优化种群中的个体用于表示第二模型参数信息。
适应度用于度量个体对于生存环境的适应程度。根据适应度选择个体的过程可以理解为根据适应度的优胜略汰过程。根据适应度选择个体,降低了选择时的随机性,可以提高模型训练效率。所述服务器可以从初始种群中选择适应度最优的n1个个体,n1为预设数量。例如,所述适应度可以包括准确率。所述服务器可以从初始种群中选择准确率最高的n1个个体。
通过交叉操作,可以根据选择的个体繁殖新的个体。交叉操作实现了在繁殖过程中个体之间基因的交换,提高了优化种群中个体的多样性,从而提高了模型参数的丰富程度。所述服务器可以直接对多个第一个体中的基因进行交叉操作。例如,所述服务器可以对n1个第一个体中的基因进行交叉操作,得到n2个第二个体。n2可以大于、等于或者小于n1。所述服务器可以对一个或多个位置处的基因进行交叉操作。所述交叉操作可以包括:将相同位置处的基因进行交换。例如,选择的n1个第一个体可以包括b1和b2。b1=[c11,…,c1j,…,c1q]。b2=[c21,…,c2j,…,c2q]。所述服务器可以对第1位置处(j=1)的基因进行交叉操作。具体地,例如,所述服务器可以利用b2中第1位置处的基因c21对b1中第1位置处的基因c11进行更新,得到新的个体作为第二个体;可以利用b1中第1位置处的基因c11对b2中第1位置处的基因c21进行更新,得到新的个体作为第二个体。当然,所述交叉操作还可以包括其它的形式。例如,所述交叉操作还可以包括:对相同位置处的基因进行计算。例如,选择的n1个第一个体可以包括b1和b2。b1=[c11,…,c1j,…,c1q]。b2=[c21,…,c2j,…,c2q]。所述服务器可以对第1位置处(j=1)的基因进行交叉操作。具体地,例如,所述服务器可以利用c11+F(c21-c11)对b1中第1位置处的基因c11进行更新,得到新的个体作为第二个体;可以利用c21+F(c21-c11)对b2中第1位置处的基因c21进行更新,得到新的个体作为第二个体。F为预设的交叉概率。
或者,所述服务器还可以将多个第一个体划分到多个组中,每组中可以包括多个第一个体。例如,所述服务器可以将多个第一个体划分到两个组中。所述服务器可以将每组中的多个第一个体聚合为一个第三个体;可以对多个第三个体中的基因进行交叉操作,得到新的个体作为第二个体。所述聚合的过程可以包括:将相同位置处的基因聚合为一个基因。具体的聚合方式可以包括求取均值、求取最大值、求取最小值、求取中位数等。例如,某组中的第一个体可以包括b1、b2、b3。个体b1=[c11,…,c1j,…,c1q]。个体b2=[c21,…,c2j,…,c2q]。个体b3=[c31,…,c3j,…,c3q]。所述服务器可以将该组中的第一个体b1、b2、b3聚合为一个第三个体b4=[c41,…,c4j,…,c4q]。其中,所述服务器对第三个体中的基因进行交叉操作的过程,可以参照对第一个体中的基因进行交叉操作的过程。
根据生物进化过程中的基因变异原理,所述服务器可以对个体中的基因进行变异操作。通过变异操作,可以降低模型过拟合的风险。所述服务器可以对每个第二个体中的基因进行变异操作,得到一个新的个体作为优化种群中的个体。所述服务器可以对一个或多个位置处的基因进行变异操作。例如,所述服务器可以对第二个体中数量比例为α的基因进行变异操作,α为预设数值。所述变异操作可以包括:将变异概率与第二个体中的基因相乘。例如,第二个体b5=[c51,…,c5j,…,c5q]。所述服务器可以对第1位置处(j=1)的基因、以及第2位置处(j=2)的基因进行变异操作。具体地,例如,所述服务器可以将变异概率分别与b5中第1位置处的基因c51、以及b5中第3位置处的基因c53相乘,得到新的个体作为优化种群中的个体。当然,所述变异操作还可以包括其它的形式。例如,所述变异操作还可以包括:将随机数与个体中的基因相乘,所述随机数符合特定分布(例如高斯分布、均匀分布等等)。例如,第二个体b5=[c51,…,c5j,…,c5q]。所述服务器可以对第1位置处(j=1)的基因、以及第2位置处(j=2)的基因进行变异操作。具体地,例如,所述服务器可以利用均匀分布函数生成两个随机数,可以将一个随机数与b5中第1位置处的基因c51相乘,可以将另一个随机数与b5中第3位置处的基因c53相乘,得到新的个体作为优化种群中的个体。
可以理解的是,在实际应用中,还可以采用其它的方式对所述初始种群中的个体进行遗传操作,得到优化种群。例如,所述服务器可以从初始种群中选择适应度最优的多个个体作为第一个体;可以对第一个体中的基因进行交叉操作,得到新的个体作为优化种群中的个体。另举一例,所述服务器可以从初始种群中选择适应度最优的多个个体作为第一个体;可以将选择的多个第一个体划分到多个组中。每组中包括多个第一个体。所述服务器可以将每组中的多个第一个体聚合为一个第三个体;可以将第三个体作为优化种群中的个体。另举一例,所述服务器可以从初始种群中选择适应度最优的多个个体作为第一个体;可以将选择的多个第一个体划分到多个组中。每组中包括多个第一个体。所述服务器可以将每组中的多个第一个体聚合为一个第三个体;可以对第三个体中的基因进行变异操作,得到新的个体作为优化种群中的个体。另举一例,所述服务器可以从初始种群中选择适应度最优的多个个体作为第一个体;可以对第一个体中的基因进行变异操作,得到新的个体作为优化种群中的个体。
在一些实施例中,所述服务器可以根据优化种群,向多个参与方发送第二模型参数信息。发送的第二模型参数信息为优化种群中的个体所表示的第二模型参数信息。
在一些实施例中,所述服务器可以迭代执行步骤S21-步骤S25,直至满足迭代结束条件。在满足迭代结束条件以后,所述服务器可以向多个参与方发送迭代结束指令。所述迭代结束条件可以为:迭代次数满足第一预设条件。所述第一预设条件可以包括:迭代次数大于或等于阈值。或者,所述迭代结束条件还可以为:模型性能满足第二预设条件。所述第二预设条件可以包括:模型性能大于或等于阈值。在一些场景示例中,所述服务器可以接收多个参与方上传的模型性能;可以根据接收的模型性能,确定参考模型性能。例如,所述服务器可以根据接收的多个的模型性能,获取平均模型性能或者中位数作为参考模型性能。在参考模型性能不满足第二预设条件时,所述服务器可以以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度;可以根据适应度,对初始种群中的个体进行遗传操作,得到优化种群,所述优化种群中的个体用于表示第二模型参数信息。在参考模型性能满足第二预设条件时,所述服务器可以向多个参与方发送迭代结束指令。
本说明书实施例的模型训练方法,可以接收多个参与方上传的第一模型参数信息及其对应的模型性能;可以以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度;可以根据适应度,对所述初始种群中的个体进行遗传操作,得到优化种群,所述优化种群中的个体用于表示第二模型参数信息;可以向多个参与方发送第二模型参数信息。本说明书实施例将遗传操作应用到联邦学习中,实现了进化算法与联邦学习相结合,提高了联邦学习的模型训练效率。
本说明书实施例还提供另一种基于联邦学习的模型训练方法。
请参阅图3。所述模型训练方法可以应用于参与方,可以包括以下步骤。
步骤S31:接收服务器发送的多个第二模型参数信息。
步骤S33:确定第二模型参数信息对应的模型性能。
步骤S35:选择模型性能最优的第二模型参数信息作为第一模型参数信息。
步骤S37:向服务器上传选择的第一模型参数信息及其对应的模型性能。
步骤S39:在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
在一些实施例中,在步骤S33中,针对每个第二模型参数信息,参与方可以利用本地的测试数据,对该第二模型参数信息对应的机器学习模型进行测试,得到模型性能。
在一些实施例中,在步骤S35中,参与方可以从所述多个第二模型参数信息中,选择模型性能最优的一个或多个第二模型参数信息作为第一模型参数信息。例如,所述模型性能可以包括准确率。参与方可以从所述多个第二模型参数信息中,选择准确率最高的一个或多个第二模型参数信息作为第一模型参数信息。
在一些实施例中,针对每个第二模型参数信息,参与方还可以利用本地的训练数据,对该第二模型参数信息对应的机器学习模型进行训练,得到第一模型参数信息。在步骤S33中,参与方可以确定第一模型参数信息对应的模型性能。参与方确定第一模型参数信息对应的模型性能的过程,可以参照确定第二模型参数信息对应的模型性能的过程。在步骤S35中,参与方可以从多个第一模型参数信息中,选择模型性能最优的一个或多个第一模型参数信息。
在一些实施例中,在步骤S37中,参与方可以向服务器上传选择的一个或多个第一模型参数信息、以及选择的一个或多个第一模型参数信息所对应的模型性能。
在一些实施例中,所述第二模型参数信息可以包括第二模型参数的明文。所述第二模型参数的明文可以包括多个子参数的明文。所述第一模型参数信息可以包括第一模型参数的明文。所述第一模型参数的明文可以包括多个子参数的明文。
在一些实施例中,为了增加安全性,所述第二模型参数信息还可以包括第二模型参数的密文。所述第二模型参数的密文可以包括多个子参数的密文。所述第一模型参数信息可以包括第一模型参数的密文。所述第一模型参数的密文可以包括多个子参数的密文。
第二模型参数的密文和第一模型参数的密文可以为采用同态加密的方式获得的同态密文。例如,联邦学习的各参与方可以协商公私钥对。所述公私钥对不被联邦学习的服务器知悉。所述公私钥对可以包括具有对应关系的公钥和私钥。参与方可以接收服务器发送的多个第二模型参数的密文;可以利用私钥对第二模型参数的密文进行同态解密,得到第二模型参数的明文;可以确定第二模型参数的明文对应的模型性能;可以选择模型性能最优的第二模型参数的明文作为第一模型参数的明文;可以确定第一模型参数的明文对应的模型性能;可以利用公钥,对第一模型参数的明文进行同态加密,得到第一模型参数的密文;可以向服务器上传第一模型参数的密文、以及第一模型参数的密文对应的模型性能。在迭代结束以后,参与方可以根据选择的第一模型参数的明文确定机器学习模型。当然,第二模型参数的密文和第一模型参数的密文还可以采用其它的方式获得。例如,第二模型参数的密文和第一模型参数的密文可以为采用差分隐私的方式获得的密文。具体地,例如,参与方可以接收服务器发送的多个第二模型参数的密文。第二模型参数的密文近似等于第二模型参数的明文。因此参与方可以将第二模型参数的密文作为第二模型参数的明文;可以确定第二模型参数的明文对应的模型性能;可以选择模型性能最优的第二模型参数的明文作为第一模型参数的明文;可以确定第一模型参数的明文对应的模型性能;可以根据差分隐私理论,生成噪声数据作为扰动数据,可以将扰动数据添加至第一模型参数的明文中,得到第一模型参数的密文;可以向服务器上传第一模型参数的密文、以及第一模型参数的密文对应的模型性能。
在一些实施例中,参与方可以接收服务器发送的迭代结束指令。在接收到迭代结束指令以后,参与方可以根据在本轮迭代过程中选择的第一模型参数信息,确定机器学习模型。在实际应用中,如前面所述,参与方知晓机器学习模型的网络结构。在机器学习模型的网络结构的基础上,结合第一模型参数信息,参与方可以获得机器学习模型。具体地,所述第一模型参数信息可以包括第一模型参数的明文。在机器学习模型的网络结构的基础上,结合第一模型参数的明文,参与方可以获得机器学习模型。或者,所述第一模型参数信息还可以包括第一模型参数的密文。第一模型参数的密文是根据第一模型参数的明文获得的。在机器学习模型的网络结构的基础上,结合第一模型参数的明文,参与方可以获得机器学习模型。
本说明书实施例的模型训练方法,利用联邦学习,参与方可以在保护自身私有数据隐私的基础上,实现与其它参与方之间联合建模,得到机器学习模型。
本说明书实施例还提供一种基于联邦学习的模型训练装置,应用于服务器。
请参阅图4。所述装置可以包括以下模块。
迭代模块41,用于利用以下子模块进行迭代处理,直至满足迭代结束条件:
接收子模块411,用于接收多个参与方上传的第一模型参数信息及其对应的模型性能;
遗传操作子模块413,用于以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对所述初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息;
发送子模块415,用于向多个参与方发送第二模型参数信息。
本说明书实施例还提供另一种基于联邦学习的模型训练装置,应用于参与方。
请参阅图5。所述装置可以包括以下模块。
迭代模块51,用于利用以下步骤进行迭代处理,直至满足迭代结束条件:
接收子模块511,用于接收服务器发送的多个第二模型参数信息;
第一确定子模块513,用于确定第二模型参数信息对应的模型性能;
选择子模块515,用于选择模型性能最优的第二模型参数信息作为第一模型参数信息;
上传子模块517,用于向服务器上传选择的第一模型参数信息及其对应的模型性能;
确定模块53,用于在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
请参阅图6。本说明书实施例还提供一种电子设备。
所述电子设备可以包括存储器和处理器。
在本实施例中,所述存储器包括但不限于动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)和静态随机存取存储器(Static Random Access Memory,SRAM)等。所述存储器可以用于存储计算机指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以用于执行所述计算机指令以实现图2或者图3所对应的实施例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (17)
1.一种基于联邦学习的模型训练方法,应用于服务器,所述方法包括:
利用以下步骤进行迭代处理,直至满足迭代结束条件:
接收多个参与方上传的第一模型参数信息及其对应的模型性能;
以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群包括多个个体,所述多个个体用于表示多个第二模型参数信息;
向每个参与方发送所述多个第二模型参数信息,其中,所述多个第二模型参数信息用于供参与方从中选择模型性能最优的第二模型参数信息作为第一模型参数信息,选择的第一模型参数信息及其对应的模型性能用于供参与方上传至服务器。
2.如权利要求1所述的方法,所述第一模型参数信息包括多个子信息,所述初始种群中的个体包含多个基因,每个基因用于表示一个子信息;
所述对初始种群中的个体进行遗传操作,包括:
从初始种群中选择适应度最优的多个个体作为第一个体;
对第一个体中的基因进行交叉操作,得到新的个体作为第二个体;
对第二个体中的基因进行变异操作,得到新的个体优化种群中的个体。
3.如权利要求2所述的方法,所述对第一个体中的基因进行交叉操作,包括:
将多个第一个体划分到多个组中,每组中包括多个第一个体;
将每组中的多个第一个体聚合为一个第三个体;
对第三个体中的基因进行交叉操作,得到新的个体作为第二个体。
4.如权利要求1所述的方法,所述迭代结束条件包括:迭代次数满足第一预设条件。
5.如权利要求1所述的方法,所述迭代结束条件包括:模型性能满足第二预设条件;
所述对初始种群中的个体进行遗传操作,包括:
根据接收的模型性能,确定参考模型性能;
在参考模型性能不满足第二预设条件时,以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群中的个体用于表示第二模型参数信息。
6.如权利要求5所述的方法,所述参考模型性能包括平均模型性能。
7.如权利要求1所述的方法,在进行迭代处理之前,所述方法还包括:
获取机器学习模型的超参数;
向多个参与方发送超参数。
8.如权利要求1所述的方法,所述第一模型参数信息包括第一模型参数的明文或者密文;所述第二模型参数信息包括第二模型参数的明文或者密文。
9.一种基于联邦学习的模型训练方法,应用于参与方,所述方法包括:
利用以下步骤进行迭代处理,直至满足迭代结束条件:
接收服务器发送的多个第二模型参数信息;
确定第二模型参数信息对应的模型性能;
选择模型性能最优的第二模型参数信息作为第一模型参数信息;
向服务器上传选择的第一模型参数信息及其对应的模型性能,以使服务器以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群,所述优化种群包括多个个体,所述多个个体用于表示多个第二模型参数信息,向参与方发送所述多个第二模型参数信息;
在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
10.如权利要求9所述的方法,所述确定第二模型参数信息对应的模型性能,包括:
利用测试数据,对第二模型参数信息对应的机器学习模型进行测试,得到模型性能。
11.如权利要求9所述的方法,所述方法还包括:
利用训练数据,对第二模型参数信息对应的机器学习模型进行训练,得到第一模型参数信息;
所述确定第二模型参数信息对应的模型性能,包括:
确定第一模型参数信息对应的模型性能;
所述选择模型性能最优的第二模型参数信息作为第一模型参数信息,包括:
选择模型性能最优的第一模型参数信息。
12.如权利要求11所述的方法,所述确定第一模型参数信息对应的模型性能,包括:
利用测试数据,对第一模型参数信息对应的机器学习模型进行测试,得到模型性能。
13.如权利要求9所述的方法,在进行迭代处理之前,所述方法还包括:
接收服务器发送的超参数;
利用训练数据,对超参数对应的机器学习模型进行训练,得到第一模型参数信息;
确定第一模型参数信息对应的模型性能;
向服务器上传第一模型参数信息及其对应的模型性能。
14.如权利要求9所述的方法,所述第二模型参数信息包括第二模型参数的明文或者密文;所述第一模型参数信息包括第一模型参数的明文或者密文。
15.一种基于联邦学习的模型训练装置,应用于服务器,所述装置包括:
迭代模块,用于利用以下子模块进行迭代处理,直至满足迭代结束条件:
接收子模块,用于接收多个参与方上传的第一模型参数信息及其对应的模型性能;
遗传操作子模块,用于以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群;其中,所述优化种群包括多个个体,所述多个个体用于表示多个第二模型参数信息;
发送子模块,用于向每个参与方发送所述多个第二模型参数信息,其中,所述多个第二模型参数信息用于供参与方从中选择模型性能最优的第二模型参数信息作为第一模型参数信息,选择的第一模型参数信息及其对应的模型性能用于供参与方上传至服务器。
16.一种基于联邦学习的模型训练装置,应用于参与方,所述装置包括:
迭代模块,用于利用以下步骤进行迭代处理,直至满足迭代结束条件:
接收子模块,用于接收服务器发送的多个第二模型参数信息;
第一确定子模块,用于确定第二模型参数信息对应的模型性能;
选择子模块,用于选择模型性能最优的第二模型参数信息作为第一模型参数信息;
上传子模块,用于向服务器上传选择的第一模型参数信息及其对应的模型性能,以使服务器以接收的第一模型参数信息为初始种群中的个体,以接收的模型性能为初始种群中个体的适应度,根据适应度,对初始种群中的个体进行遗传操作,得到优化种群,所述优化种群包括多个个体,所述多个个体用于表示多个第二模型参数信息,向参与方发送所述多个第二模型参数信息;
确定模块,用于在迭代结束以后,根据选择的第一模型参数信息确定机器学习模型。
17.一种电子设备,包括:
至少一个处理器;
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-14中任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110306735.7A CN113052323B (zh) | 2021-03-23 | 2021-03-23 | 基于联邦学习的模型训练方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110306735.7A CN113052323B (zh) | 2021-03-23 | 2021-03-23 | 基于联邦学习的模型训练方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113052323A CN113052323A (zh) | 2021-06-29 |
CN113052323B true CN113052323B (zh) | 2023-05-23 |
Family
ID=76514566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110306735.7A Active CN113052323B (zh) | 2021-03-23 | 2021-03-23 | 基于联邦学习的模型训练方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113052323B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299142A (zh) * | 2018-11-14 | 2019-02-01 | 中山大学 | 一种基于进化算法的卷积神经网络结构搜索方法及系统 |
CN111382875A (zh) * | 2020-03-06 | 2020-07-07 | 深圳前海微众银行股份有限公司 | 联邦模型参数确定方法、装置、设备及存储介质 |
CN111428881A (zh) * | 2020-03-20 | 2020-07-17 | 深圳前海微众银行股份有限公司 | 识别模型的训练方法、装置、设备及可读存储介质 |
CN111723948A (zh) * | 2020-06-19 | 2020-09-29 | 深圳前海微众银行股份有限公司 | 基于演化计算的联邦学习方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924460B2 (en) * | 2019-12-13 | 2021-02-16 | TripleBlind, Inc. | Systems and methods for dividing filters in neural networks for private data computations |
-
2021
- 2021-03-23 CN CN202110306735.7A patent/CN113052323B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299142A (zh) * | 2018-11-14 | 2019-02-01 | 中山大学 | 一种基于进化算法的卷积神经网络结构搜索方法及系统 |
CN111382875A (zh) * | 2020-03-06 | 2020-07-07 | 深圳前海微众银行股份有限公司 | 联邦模型参数确定方法、装置、设备及存储介质 |
CN111428881A (zh) * | 2020-03-20 | 2020-07-17 | 深圳前海微众银行股份有限公司 | 识别模型的训练方法、装置、设备及可读存储介质 |
CN111723948A (zh) * | 2020-06-19 | 2020-09-29 | 深圳前海微众银行股份有限公司 | 基于演化计算的联邦学习方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
解英杰 ; 朱振方 ; .一种基于模糊遗传算法的最优特征子集优化方法研究.信息技术与信息化.2008,(第06期),35-37. * |
Also Published As
Publication number | Publication date |
---|---|
CN113052323A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI682304B (zh) | 基於圖結構模型的異常帳號防控方法、裝置以及設備 | |
US11710035B2 (en) | Distributed labeling for supervised learning | |
Cubitt et al. | Universal quantum hamiltonians | |
CN113239404B (zh) | 一种基于差分隐私和混沌加密的联邦学习方法 | |
Zhang et al. | Privacy preserving deep computation model on cloud for big data feature learning | |
CN110414567B (zh) | 数据处理方法、装置和电子设备 | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN113221183B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN110569227B (zh) | 模型参数确定方法、装置和电子设备 | |
CA3059610A1 (en) | Secure multi-party computation with no trusted initializer | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN111125727A (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN112765652B (zh) | 叶节点分类权值的确定方法、装置、及设备 | |
CN115496204B (zh) | 一种跨域异质场景下的面向联邦学习的评测方法及装置 | |
Khalid et al. | An FPGA-based hardware abstraction of quantum computing systems | |
CN113052323B (zh) | 基于联邦学习的模型训练方法、装置和电子设备 | |
US20230088588A1 (en) | Security as a service for machine learning | |
CN112511361B (zh) | 模型训练方法、装置和计算设备 | |
CN114638998A (zh) | 模型更新方法、装置、系统及设备 | |
CN114595474A (zh) | 联邦学习建模优化方法、电子设备、介质及程序产品 | |
CN110569659B (zh) | 数据处理方法、装置和电子设备 | |
CN113111254B (zh) | 推荐模型的训练方法、拟合方法、装置和电子设备 | |
CN111460514B (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 |