CN113722987B - 联邦学习模型的训练方法、装置、电子设备和存储介质 - Google Patents
联邦学习模型的训练方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113722987B CN113722987B CN202110939079.4A CN202110939079A CN113722987B CN 113722987 B CN113722987 B CN 113722987B CN 202110939079 A CN202110939079 A CN 202110939079A CN 113722987 B CN113722987 B CN 113722987B
- Authority
- CN
- China
- Prior art keywords
- training
- target
- learning model
- federal learning
- gradient
- 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
- 238000012549 training Methods 0.000 title claims abstract description 501
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000012795 verification Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 50
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 24
- 238000003066 decision tree Methods 0.000 description 22
- 238000007637 random forest analysis Methods 0.000 description 19
- 238000010801 machine learning Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出一种联邦学习模型的训练方法、装置、电子设备和存储介质,其中,训练方法包括:与数据提供方服务器进行样本对齐;生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器;将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练;在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数。由此,能够使训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种联邦学习模型的训练方法、装置、电子设备和存储介质。
背景技术
随着机器学习的发展,越来越多的机器学习技术被应用于各行各业。数据的数量和质量往往决定了机器学习模型效果的上限。但是随着法规和监管越来越严格,以及人们对于数据安全和隐私保护越来越重视,形成数据孤岛现象。在这样的场景下,联邦学习应运而生,它可以让参与方在不共享数据的基础上联合训练,解决数据孤岛的难题。
相关技术中,联邦学习是一种加密的分布式机器学习技术,它融合了信息加密、分布式计算和机器学习等多种技术。联邦学习根据参与方持有数据的特点可以被分为横向联邦学习、纵向联邦学习以及联邦迁移学习。在风控场景下,纵向联邦学习的应用更为广泛。
发明内容
本申请第一方面实施例提出一种联邦学习模型的训练方法,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
本申请第二方面实施例提出一种联邦学习模型的训练方法。
本申请第三方面实施例提出一种联邦学习模型的训练装置。
本申请第四方面实施例提出一种联邦学习模型的训练装置。
本申请第五方面实施例提出一种电子设备。
本申请第六方面实施例提出一种计算机可读存储介质。
本申请第一方面实施例提出了一种联邦学习模型的训练方法,包括:
与数据提供方服务器进行样本对齐;
分别获取业务方服务器和所述数据提供方服务器的特征数量,并根据所述特征数量分别对所述业务方服务器和所述数据提供方服务器的特征进行编号,以生成特征编码集,以及将所述数据提供方服务器的特征编号和公钥发送至所述数据提供方服务器;
将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;
根据所述训练集、所述验证集、所述参数集和所述特征编码集,对所述联邦学习模型进行M次迭代训练,其中,所述M为大于1的正整数;
在所述M次迭代训练中每次所述迭代训练的过程中,若判断所述联邦学习模型满足早停条件,则控制所述M次迭代训练早停,并获取所述M次迭代训练中最后一次迭代训练得到的所述联邦学习模型的目标参数;
若判断所述联邦学习模型未满足所述早停条件,则获取第M次所述迭代训练得到的所述联邦学习模型的目标参数。
根据本申请实施例的联邦学习模型的训练方法,首先与数据提供方服务器进行样本对齐,并分别获取业务方服务器和数据提供方服务器的特征数量,以及根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,然后将数据提供方服务器的特征编号和公钥发送至数据提供方服务器,并将当前样本划分为训练集和验证集,以及获取联邦学习模型的参数集,再然后根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,并在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数,若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
另外,根据本申请上述实施例的联邦学习模型的训练方法还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述每次迭代训练,包括:
从所述参数集中获取样本采样率和特征采样率;
从所述训练集中选取所述样本采样率的样本以生成目标训练集;
从所述特征编码集中选取所述特征采样率的特征编码以生成目标特征编码集;
将所述目标训练集划分为k个目标训练子集,其中,所述k为大于1的正整数;
将所述k个目标训练子集中每个样本的编号,以及将所述目标特征编码集中所述数据提供方服务器的目标特征编号发送至所述数据提供方服务器;
根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数;
从所述k个初始参数中确定目标参数;
基于梯度提升算法,并根据所述目标参数和所述联邦学习模型,生成所述当前样本的优化标签,其中,所述优化标签为下一轮迭代训练的所述当前样本的训练标签。
在本申请的一个实施例中,所述根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数,包括:
对所述k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个所述模型训练集包括k-1个目标训练子集;
分别根据所述k个模型训练集,以及所述目标特征编码集,生成所述k个初始参数。
在本申请的一个实施例中,所述根据所述模型训练集,以及所述目标特征编码集,生成所述初始参数,包括:
计算所述模型训练集中样本的梯度信息,并将所述梯度信息发送至所述数据提供方服务器;
接收所述数据提供方服务器提供的梯度返回信息;
根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,并基于私钥和所述目标分裂点编号生成密文,以及将所述密文发送至所述数据提供方服务器;
接收所述数据提供方服务器发送的解密运算值,并根据所述解密运算值进行节点分裂;
重复以上步骤直至模型收敛,以完成所述联邦学习模型的训练,并通过所述完成训练的联邦学习模型获取所述初始参数。
在本申请的一个实施例中,所述计算所述模型训练集中样本的梯度信息,包括:
生成所述模型训练集中样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
在本申请的一个实施例中,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,包括:
根据所述多个梯度返回信息和所述目标特征编码集分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
在本申请的一个实施例中,所述根据所述解密运算值进行节点分裂,包括:
根据所述解密运算值生成分裂空间信息;
根据所述模型训练集中样本和所述分裂空间信息进行节点分裂。
在本申请的一个实施例中,所述从所述k个初始参数中确定目标参数,包括:
获取所述k个初始参数中每个所述初始参数对应的目标验证子集,其中,所述目标验证子集为所述k个目标训练子集中未参与训练的目标训练子集;
根据所述每个初始参数对应的目标验证子集和所述联邦学习模型,分别对所述k个初始参数进行验证,以从所述k个初始参数中确定目标参数。
在本申请的一个实施例中,在所述M次迭代训练中每次所述迭代训练的过程中,通过以下步骤判断所述联邦学习模型满足所述早停条件,包括:
将所述M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,所述N为小于所述M的正整数;
分别获取所述第N次迭代训练至第Q次迭代训练得到的所述联邦学习模型的多个目标参数,其中,所述Q为大于所述N小于所述M的正整数;
分别根据所述多个目标参数,以及所述联邦学习模型和所述验证集,生成所述联邦学习模型的多个早停指标;
若所述多个早停指标未见提升,则判断所述联邦学习模型满足所述早停条件。
本申请第二方面实施例提出了一种联邦学习模型的训练方法,包括:
与业务方服务器进行样本对齐;
接收所述业务方服务器发送的所述数据提供方服务器的特征编号和公钥;
接收所述业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中所述数据提供方服务器的目标特征编号,其中,k为大于1的正整数;
接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
向所述业务方服务器发送所述梯度返回信息;
接收所述业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息和所述目标特征编码集生成;
基于所述公钥对所述密文进行解密,得到解密运算值,并发送给所述业务方服务器。
根据本申请实施例的联邦学习模型的训练方法,首先与业务方服务器进行样本对齐,并接收业务方服务器发送的数据提供方服务器的特征编号和公钥,然后接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送梯度返回信息,并接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,最后基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,减少了复杂度。
另外,根据本申请上述实施例的联邦学习模型的训练装置还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述根据所述梯度信息获取梯度返回信息,包括:
根据所述目标特征编号和所述数据提供方服务器的特征编号,确定特征集;
根据所述特征集中每个所述特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取所述每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
在本申请的一个实施例中,所述对所述梯度求和信息进行编号之后,还包括:
生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
本申请第三方面实施例提出了一种联邦学习模型的训练装置,包括:
对齐模块,用于与数据提供方服务器进行样本对齐;
发送模块,用于分别获取业务方服务器和所述数据提供方服务器的特征数量,并根据所述特征数量分别对所述业务方服务器和所述数据提供方服务器的特征进行编号,以生成特征编码集,以及将所述数据提供方服务器的特征编号和公钥发送至所述数据提供方服务器;
第一获取模块,用于将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;
迭代训练模块,用于根据所述训练集、所述验证集、所述参数集和所述特征编码集,对所述联邦学习模型进行M次迭代训练,其中,所述M为大于1的正整数;
第二获取模块,用于在所述M次迭代训练中每次所述迭代训练的过程中,若判断所述联邦学习模型满足早停条件,则控制所述M次迭代训练早停,并获取所述M次迭代训练中最后一次迭代训练得到的所述联邦学习模型的目标参数;
第三获取模块,用于若判断所述联邦学习模型未满足所述早停条件,则获取第M次所述迭代训练得到的所述联邦学习模型的目标参数。
本申请实施例的联邦学习模型的训练装置,通过对齐模块与数据提供方服务器进行样本对齐,并通过发送模块分别获取业务方服务器和数据提供方服务器的特征数量,并根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器,以及通过第一获取模块将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集,然后通过迭代训练模块根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,并通过第二获取模块在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数,以及若判断联邦学习模型未满足早停条件,则通过第三获取模块获取第M次迭代训练得到的联邦学习模型的目标参数。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
另外,根据本申请上述实施例的联邦学习模型的训练装置还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述迭代训练模块,包括:
获取子模块,用于从所述参数集中获取样本采样率和特征采样率;
第一生成子模块,用于从所述训练集中选取所述样本采样率的样本以生成目标训练集;
第二生成子模块,用于从所述特征编码集中选取所述特征采样率的特征编码以生成目标特征编码集;
划分子模块,用于将所述目标训练集划分为k个目标训练子集,其中,所述k为大于1的正整数;
发送子模块,用于将所述k个目标训练子集中每个样本的编号,以及将所述目标特征编码集中所述数据提供方服务器的目标特征编号发送至所述数据提供方服务器;
第三生成子模块,用于根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数;
确定子模块,用于从所述k个初始参数中确定目标参数;
第四生成子模块,用于基于梯度提升算法,并根据所述目标参数和所述联邦学习模型,生成所述当前样本的优化标签,其中,所述优化标签为下一轮迭代训练的所述当前样本的训练标签。
在本申请的一个实施例中,所述第三生成子模块,包括:
拆分单元,用于对所述k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个所述模型训练集包括k-1个目标训练子集;
生成单元,用于分别根据所述k个模型训练集,以及所述目标特征编码集,生成所述k个初始参数。
在本申请的一个实施例中,所述生成单元,包括:
计算子单元,用于计算所述模型训练集中样本的梯度信息,并将所述梯度信息发送至所述数据提供方服务器;
接收子单元,用于接收所述数据提供方服务器提供的梯度返回信息;
生成子单元,用于根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,并基于私钥和所述目标分裂点编号生成密文,以及将所述密文发送至所述数据提供方服务器;
节点分裂子单元,用于接收所述数据提供方服务器发送的解密运算值,并根据所述解密运算值进行节点分裂;
获取子单元,用于重复以上子单元的步骤直至模型收敛,以完成所述联邦学习模型的训练,并通过所述完成训练的联邦学习模型获取所述初始参数。
在本申请的一个实施例中,所述计算子单元,具体用于:
生成所述模型训练集中样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
在本申请的一个实施例中,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,生成子单元,具体用于:
根据所述多个梯度返回信息和所述目标特征编码集分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
在本申请的一个实施例中,所述节点分裂子单元,具体用于:
根据所述解密运算值生成分裂空间信息;
根据所述模型训练集中样本和所述分裂空间信息进行节点分裂。
在本申请的一个实施例中,所述确定子模块,具体用于:
获取所述k个初始参数中每个所述初始参数对应的目标验证子集,其中,所述目标验证子集为所述k个目标训练子集中未参与训练的目标训练子集;
根据所述每个初始参数对应的目标验证子集和所述联邦学习模型,分别对所述k个初始参数进行验证,以从所述k个初始参数中确定目标参数。
在本申请的一个实施例中,所述第二获取模块,具体用于:
将所述M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,所述N为小于所述M的正整数;
分别获取所述第N次迭代训练至第Q次迭代训练得到的所述联邦学习模型的多个目标参数,其中,所述Q为大于所述N小于所述M的正整数;
分别根据所述多个目标参数,以及所述联邦学习模型和所述验证集,生成所述联邦学习模型的多个早停指标;
若所述多个早停指标未见提升,则判断所述联邦学习模型满足所述早停条件。
本申请第四方面实施例提出了一种联邦学习模型的训练装置,包括:
对齐模块,用于与业务方服务器进行样本对齐;
第一接收模块,用于接收所述业务方服务器发送的所述数据提供方服务器的特征编号和公钥;
第二接收模块,用于接收所述业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中所述数据提供方服务器的目标特征编号,其中,k为大于1的正整数;
第三接收模块,用于接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
第一发送模块,用于向所述业务方服务器发送所述梯度返回信息;
第四接收模块,用于接收所述业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息和所述目标特征编码集生成;
第二发送模块,用于基于所述公钥对所述密文进行解密,得到解密运算值,并发送给所述业务方服务器。
本申请实施例的联邦学习模型的训练装置,通过对齐模块与业务方服务器进行样本对齐,并通过第一接收模块接收业务方服务器发送的数据提供方服务器的特征编号和公钥,以通过第二接收模块接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,然后通过第三接收模块接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,再然后通过第一发送模块向业务方服务器发送梯度返回信息,并通过第四接收模块接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,最后通过第二发送模块基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,减少了复杂度。
本申请第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述第一方面实施例或第二方面实施例所述的联邦学习模型的训练方法。
本申请实施例的电子设备,通过处理器执行存储在存储器上的计算机程序,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
本申请第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述第一方面实施例或第二方面实施例所述的联邦学习模型的训练方法。
本申请实施例的计算机可读存储介质,通过存储计算机程序并被处理器执行,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请一个实施例的联邦学习模型的训练方法的流程示意图;
图2为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图3为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图4为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图5为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图6为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图7为根据本申请实施例的联邦学习模型的训练方法的示意图;
图8为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图9为根据本申请一个实施例的联邦学习模型的训练装置的结构示意图;
图10为根据本申请另一个实施例的联邦学习模型的训练装置的结构示意图;以及
图11为根据本申请一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参照附图描述本申请实施例的联邦学习模型的训练方法、装置、电子设备和存储介质。
本申请实施例提供的联邦学习模型的训练方法,可以由电子设备来执行,该电子设备可为PC(Personal Computer,个人计算机)电脑、平板电脑或服务器等,此处不做任何限定。
在本申请实施例中,电子设备中可以设置有处理组件、存储组件和驱动组件。可选的,该驱动组件和处理组件可以集成设置,该存储组件可以存储操作系统、应用程序或其他程序模块,该处理组件通过执行存储组件中存储的应用程序来实现本申请实施例提供的联邦学习模型的训练方法。
本申请实施例提供的联邦学习模型的训练方法,可为一种融合了基于bagging(引导聚集算法)的随机森林和GradientBoosting(梯度提升)的联邦学习模型的训练方法,其中,可将GBDT(机器学习算法)等方案每一棵决策树子模型使用多棵决策树组成的森林替代,并在每一层森林上进行梯度提升。使用森林替代单棵决策树有如下优势:
(1)鲁棒性更优:在并行的前提下,随机森林选取了部分数据、部分特征建立了多棵决策树,即使有个别决策树会因为异常值的影响导致模型效果欠佳,但森林最终的输出则是多棵决策树的综合结果(在本申请实施例中,随机森林输出可为每颗树模型输出的平均值而并非分类结果的投票),这使得模型对异常值具有更好的鲁棒性;
(2)减缓过拟合问题:随机森林在特征与样本维度均可做到随机抽样,Breima(布赖曼)在相关论文中指出随机森林的泛化误差上界为其中/>可为森林中决策树拟合残差项的加权相关系数,PE*(tree)可为森林中决策树的平均泛化误差,这个公式指出了一个泛化误差小的随机森林需要同时保证决策树残差之间的低相关性以及单决策树的低泛化误差。因而从理论上分析,关注样本抽样率、样本特征、决策树深度、决策树棵数这些指标,通过它们构造丰富多样的决策树,减少分类器间相似性,有利于进一步控制过拟合问题。
在申请实施例中,每一层随机森林都需要对样本和特征进行抽样,在抽样结果上构建决策树,亦可以采用混合森林,即根据特征、样本这两个因素抽样与否构造丰富多样的决策树,如完全随机森林(样本抽样(采样),特征不抽样(采样))、普通随机森林(样本、特征均抽样)等,可进一步减少泛化误差。
其中,值得注意的是,本申请还提出了逐层动态优化森林中的参数(优化的核心参数树深、棵数、样本采样率、特征抽样率),而并非像Xgboost(极端梯度提升)中每棵树都保持着一样的参数,主要是为了使得模型更加精简,避免每一层森林都是“庞大”的参数,最终导致模型庞大冗余。其次,实验发现并非每一层森林的最佳参数并不相同。在具有可加性的梯度提升策略前提下,逐层优化森林进行参数寻优的思想可以视为一种“只顾眼前”的贪心策略。本专利将使用结合了交叉验证的网格搜索的方法逐层优化参数,也可以模仿深度学习中对学习率的动态处理方式,设计适当的衰减函数,利用函数更快速的动态调参,这样也可以在保证效率的前提下大幅度减少模型的复杂度。
进一步地,本申请实施例提供的联邦学习模型的训练方法中还可融入早停策略,其中,该早停策略的使用可一方面通过观察验证集的表现,避免模型过拟合,使得模型的泛化性得到保障。另一个更重要的原因是,试图减少模型的超参数。区别于GBDT等模型,算法需要梯度提升至指定的轮次后再进一步处理(也可以在此基础上进一步早停),本申请实施例的联邦学习模型的训练方法可引入早停,让算法自动根据实际建模情况和验证集的指标选择是否停止,从而减少了超参数。减少超参数是利大于弊的,主要是因为在于繁多的超参数带来了难以调整和难以复现的问题。
下面参照附图详细描述本申请实施例的联邦学习模型的训练方法:
图1为根据本申请一个实施例的联邦学习模型的训练方法的流程示意图。
本申请实施例的联邦学习模型的训练方法,还可由本申请实施例提供的联邦学习模型的训练装置执行,该装置可配置于电子设备中,以实现与数据提供方服务器进行样本对齐;生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器;将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练;在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数;若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数,从而能够使训练更加高效,同时提升了建模效果,减少了复杂度。
作为一种可能的情况,本申请实施例的联邦学习模型的训练方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该联邦学习模型的训练方法。
如图1所示,该联邦学习模型的训练方法,可包括:
步骤101,与数据提供方服务器进行样本对齐。其中,据提供方服务器可为多个。
在本申请实施例中,业务方(即,业务方服务器)可通过预设的方法与数据提供方服务器进行样本对齐。其中,预设的方法可根据实际情况进行标定。例如,由于合作方的用户群体并非完全重合,可利用基于加密的用户样本对齐技术(方法),在业务方和数据提供方均不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户。
需要说明的是,该实施例中所描述样本对齐也可以是指,业务方服务器与数据提供方服务器进行样本位置的对齐,以便于进行精确的样本传输。另外,在进行样本对齐的过程中,可建立业务方和数据提供方服务器之间的通信通道(信道),且可对该通信通道进行加密。
步骤102,分别获取业务方服务器和数据提供方服务器的特征数量,并根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器。
在本申请实施例中,数据提供方服务器可将自身本地的特征数量主动发送至业务方服务器。即,业务方服务器需知晓各个数据提供方服务器本地特征的数量,业务方服务器可直接自身的存储空间中获取业务方服务器和数据提供方服务器的特征数量。
具体地,在数据提供方服务器和业务方服务器完成样本对齐(例如,有m个样本)之后,业务方服务器可首先在本地生成一队密钥,即公钥和私钥,并将公钥同步至每一个业务方服务器。其中,业务方服务器可根据预设的密钥生成算法生成一对公私钥(即,公钥和私钥),可分别进行编号记作{p,,p'}其中,p,为公钥,p'为私钥,其中,预设的密钥生成算法可根据实际情况进行标定。
而后业务方服务器可直接自身的存储空间中获取总特征数F,并对F个特征完成编号(编号规则可由业务方(业务方服务器)确定,不限于顺序编号),将编号信息同步到对应持有各个特征的数据方(业务方服务器),即每个数据方仅有自身拥有特征的编号信息,全特征编号信息仅有业务方持有。
步骤103,将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集。
在本申请实施例中,假设在Host(数据方)方(n≥1)、Guest(业务方)方样本对齐后共有m个样本,Guest方持有标签y与自身本地数据XGuest(特征数据),Host方各自仅持有数据可分别为X0,X1,…,Xn。(每个host方都有各自的本地特征数据)需要强调的是,在建模过程中,Guest方和Host方数据应该有两大部分,一是用于构建每层随机森林的训练集T,一是用于确定是否早停(可以理解为森林深度)的验证集V。
具体地,业务方服务器在将数据提供方服务器的特征编号和公钥发送至数据提供方服务器之后,可将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集。
需要说明的是,上述实施例中所描述的参数集可以是预先生成的,并将其存储在业务方服务器的存储空间中,以便需要时调用。其中,该参数集(即,预先形成的参数池)中可包括机森林的树深、棵数、样本采样率、特征采样率等。
步骤104,根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,其中,M为大于1的正整数。
为了清楚说明上一实施例,在本申请的一个实施例中,如图2所示,每次迭代训练,可包括:
步骤201,从参数集中获取样本采样率和特征采样率。
需要说明的是,该实施例中所描述的参数集中的各种参数均可为多个,例如,样本采样率可包括样本采样率10%、样本采样率20%、样本采样率25%等;特征采样率可包括特征采样率10%、特征采样率25%、特征采样率30%等;棵数可包括5、8、10等,此处不做任何限定。
具体地,业务方服务器在将当前样本划分为训练集和验证集之后,可从自身的存储空间中调出(获取)联邦学习模型的参数集,然后可从该参数集中随机抽取所需的参数,例如,抽取到的参数可包括样本采样率10%、特征采样率10%、机森林的树深5、棵数8等。
步骤202,从训练集中选取样本采样率的样本以生成目标训练集。
步骤203,从特征编码集中选取特征采样率的特征编码以生成目标特征编码集。
具体地,业务方服务器在从参数集中获取样本采样率和特征采样率之后,可从上述的训练集中选取样本采样率的样本以生成目标训练集,并从上述的特征编码集中选取特征采样率的特征编码以生成目标特征编码集。例如,假设样本采样率和特征采样率均为10%,则可从上述的训练集中选取10%的样本以生成目标训练集,并从上述的特征编码集中选取10%的特征编码以生成目标特征编码集。
步骤204,将目标训练集划分为k个目标训练子集,其中,k为大于1的正整数。
步骤205,将k个目标训练子集中每个样本的编号,以及将目标特征编码集中数据提供方服务器的目标特征编号发送至数据提供方服务器。
步骤206,根据k个目标训练子集和目标特征编码集,生成联邦学习模型的k个初始参数。
在本申请实施例中,以网格搜索寻优参数为例,业务方服务器可以采用交叉验证的思想进行参数搜索,具体地,业务方服务器可固定交叉验证的参数,如将对齐后的目标训练集进一步划分为k份,其中k-1份为用于参数搜索的训练集,1份为用于参数搜索的验证集,且业务方服务器可同步划分后的样本空间(ID)同步至数据提供方服务器。
具体地,业务方服务器在生成目标训练集和目标特征编码集之后,可将目标训练集划分为k个目标训练子集,其中,k为大于1的正整数,然后将k个目标训练子集中每个样本的编号,以及将目标特征编码集中数据提供方服务器的目标特征编号发送至数据提供方服务器。再然后业务方服务器可根据k个目标训练子集和目标特征编码集,生成联邦学习模型的k个初始参数。
进一步而言,业务方服务器可预先生成参数池,该参数池中可包括如随机森林的树深、棵数、样本抽样率10%、特征抽样率10%等参数,用于后续网格搜索。并且根据对齐后的样本ID(训练集)与参数池,得到本层森林各个参数组合的信息,并将信息同步至对应的数据提供方服务器。比如,仅有10%(样本采样率为10%)的样本参与本次建模,则Guest方(业务方服务器)需要同步至各个Host方(数据提供方服务器)的参与建模的10%样本的ID,仅有sqrt(F)数量的特征参与本次建模,其中,则Guest方在对特征随机抽样得到sqrt(F)个选中特征后,需将对应的特征信息同步至对应的各个Host方。应说明的是,在上述的机制下,每一层森林,Guest方的参数池中可得到多种不同的参数组合。每一种参数组合都会得到与之对应的独特建模信息,Guest方可以同时同步建模信息至每一个Host方,这不仅有利于并行完成参数搜索,更重要的是起到了对建模信息的混淆,Host方无法猜测,最终经过网格搜索得到最佳模型的参数信息,进一步保护了模型的隐私安全。
为了清楚说明上一实施例,在本申请的一个实施例中,如图3所述,根据k个目标训练子集和目标特征编码集,生成联邦学习模型的k个初始参数,可包括:
步骤301,对k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个模型训练集包括k-1个目标训练子集。
举例而言,假设k为4,4个目标训练子集可分别为A目标训练子集、B目标训练子集、C目标训练子集和D目标训练子集,则对该4个目标训练子集进行拆分组合后得到的4个模型训练集可分别为:A+B+C目标训练子集、A+B+D目标训练子集、A+C+D目标训练子集和B+C+D目标训练子集。
步骤302,分别根据k个模型训练集,以及目标特征编码集,生成k个初始参数。
为了清楚说明上一实施例,在本申请的一个实施例中,如图4所述,根据模型训练集,以及目标特征编码集,生成初始参数,可包括:
步骤401,计算模型训练集中样本的梯度信息,并将梯度信息发送至数据提供方服务器。
在本申请的一个实施例中,计算模型训练集中样本的梯度信息,可包括生成模型训练集中样本的一阶梯度值和二阶梯度值,并对一阶梯度值和二阶梯度值进行同态加密以生成梯度信息。
具体地,业务方服务器可先根据预设的梯度生成算法生成模型训练集中样本(即,对齐的样本)的一阶梯度值g1和二阶梯度值h1,并对一阶梯度值g1和二阶梯度值h1进行同态加密以生成梯度信息<g1>,<h1>,并将该梯度信息<g1>,<h1>发送至数据提供方服务器。其中,预设的梯度生成算法可根据实际情况进行标定。
进一步地,在本申请实施例中,模型训练集中的样本可为多个,业务方服务器可根据预设的梯度生成算法生成每个样本的一阶梯度值和二阶梯度值(g1,h1),...,(gn,hn),然后通过同态加密得到(<g1>,<h1>),...,(<gn>,<hn>)发送给数据提供方服务器,其中,n可为正整数。
在本申请实施例中,数据提供方服务器可接收业务方服务器发送的数据提供方服务器的特征编号和公钥,并接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,其中,k为大于1的正整数,以及接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,而后向业务方服务器发送梯度返回信息。
其中,根据梯度信息获取梯度返回信息,可包括根据目标特征编号和数据提供方服务器的特征编号,确定特征集,并根据特征集中每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间,然后根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号,以及利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。其中,对梯度求和信息进行编号之后,还可包括生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
具体地,数据提供方服务器在接收到业务方服务器发送的数据提供方服务器的特征编号之后,可知晓自身本地所有特征的编号,应说明的是,在业务方服务器与数据提供方服务器进行样本对齐后,业务方服务器和据提供方服务器可均知晓对齐样本的编号。而后,当数据提供方服务器接收到业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号之后,可根据上述的样本的编号确定(获取)后续操作所需的样本,以及根据上述的目标特征编号确定(获取)后续操作所需的特征。
进一步地,数据提供方服务器在接收到业务方服务器发送的当前所训练的样本的梯度信息之后,可先根据上述的目标特征编号和数据提供方服务器的特征编号,确定特征集,即根据该目标特征编号从数据提供方服务器的特征编号对应的特征中挑选与该目标特征编号对应的特征,以形成该特征集。然后数据提供方服务器可根据该特征集中每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间,并根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,即,即进行分箱操作,并根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,即对应计算每一箱中样本的梯度求和信息,例如,通过下述公式(1)和(2)计算左侧的分裂空间(即,左空间)中的梯度求和信息:
其中,<GL>可为样本的一阶梯度求和信息,<HL>可为样本的二阶梯度求和信息,<gi>可为样本的一阶梯度信息,<hi>可为样本的一阶梯度信息,i可为小于等于n的正整数,IL可为左侧的分裂空间(即,i个样本的空间)。
再然后,数据提供方服务器可对梯度求和信息进行编号,以及利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。
进一步地,数据提供方服务器在对梯度求和信息进行编号之后,还可生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系,并可将其生成一张表。例如,下述的表A(即,编号-特征-分裂阈值-梯度求和信息表)中的映射关系:
表A
需要说明的是,该实施例中所描述的梯度返回信息可包括编号和梯度求和信息。
最后,数据提供方服务器可将梯度返回信息发送(同步)至业务方服务器。其中,数据提供方服务器可将发送(同步)至业务方服务器的数据进行加密。
步骤402,接收数据提供方服务器提供的梯度返回信息。
步骤403,根据梯度返回信息和目标特征编码集生成目标分裂点编号,并基于私钥和目标分裂点编号生成密文,以及将密文发送至数据提供方服务器。
在本申请的一个实施例中,梯度返回信息可为多个,且每个梯度返回信息对应有相应的编号,其中,根据梯度返回信息和目标特征编码集生成目标分裂点编号,可包括根据多个梯度返回信息和目标特征编码集分别生成对应的多个信息增益,并从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
具体地,业务方服务器在接收到上述的梯度返回信息后,可根据多个梯度返回信息和目标特征编码集分别生成对应的多个信息增益,并从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
举例而言,业务方服务器在接收到上述的梯度返回信息后,可对该梯度返回信息进行解析,以得到每个特征及对应分箱组合的梯度求和信息GL、GR、HL、HR,其中,GL可为左侧的分裂空间(即,左空间)中的样本的一阶梯度求和信息,HL可为左侧的分裂空间(即,左空间)中的样本的二阶梯度求和信息,GR可为右侧的分裂空间(即,右空间)中的样本的一阶梯度求和信息,HR可为右侧的分裂空间(即,右空间)中的样本的二阶梯度求和信息。由此计算每一棵决策树节点的特征信息增益。在业务方服务器得到数据提供方服务器分箱梯度求和结果后结合上述的目标特征编码集,可通过相关的公式计算出上述的多个信息增益。
然后,业务方服务器可对比每个特征对应的信息增益,选出其中的最大值,即从多个信息增益之中选择最大信息增益。其中,应说明的是,可基于目标特征编码集进行判断,如果参与上述计算的特征ID和阈值ID是数据方的特征和阈值,则需要将特征编号信息发送给数据方,利用数据方返回的特征对样本空间进行切分;如果是业务方的则可直接切分。
进一步地,业务方服务器找到上述多个信息增益中的最大信息增益(即,一阶梯度信息增益和二阶梯度信息增益)以及对应表A中的编号q(即,目标分裂点编号)。然后业务方服务器可基于私钥和目标分裂点编号生成密文,以及将密文发送至数据提供方服务器。应说明的是,可基于相关技术,并根据私钥和目标分裂点编号生成密文,这里不再赘述。
在本申请实施例中,数据提供方服务器可接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,目标分裂点编号根据梯度返回信息和目标特征编码集生成,并基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。
具体地,数据提供方服务器可接收业务方服务器发送的密文之后,可使用公钥对密文进行解密,以得到解密运算值,并将该解密运算值发送给业务方服务器。应说明的是,可基于相关技术,使用公钥对密文进行解密,以得到解密运算值,这里不再赘述。
步骤404,接收数据提供方服务器发送的解密运算值,并根据解密运算值进行节点分裂。
在本申请的一个实施例中,根据解密运算值进行节点分裂,可包括根据解密运算值生成分裂空间信息,并根据模型训练集中样本和分裂空间信息进行节点分裂。
具体地,业务方服务器在接收到数据提供方服务器发送的解密运算值之后,可基于相关的公式,并根据解密运算值生成分裂空间信息,其中,该分裂空间信息可为业务方服务器所需要的空间信息。然后,业务方服务器可根据上述模型训练集中的样本信息和最优分裂特征的一侧分裂空间信息(即,上述的分裂空间信息),进行差集运算以得到最优分裂特征的另一侧分裂空间信息,由此完成节点分裂(即,第一次节点分裂)。
步骤405,重复以上步骤直至模型收敛,以完成联邦学习模型的训练,并通过完成训练的联邦学习模型获取初始参数。
具体地,业务方服务器可重复以上步骤401至404直至模型收敛,以完成联邦学习模型的训练,即,直至建立一颗决策树。应说明的是,由于随机森林可以并行建立多棵决策树,因此也可以按照上述的方法同时完成随机森林的建模。然后业务方服务器可通过完成本次训练的联邦学习模型获取初始参数。
由此,本申请实施例提供的联邦学习模型的训练方法,可基于图4所描述的方法分别根据k个模型训练集,以及目标特征编码集,生成k个初始参数。
步骤207,从k个初始参数中确定目标参数。
为了清楚说明上一实施例,在本申请的一个实施例中,如图5所示,从k个初始参数中确定目标参数,可包括:
步骤501,获取k个初始参数中每个初始参数对应的目标验证子集,其中,目标验证子集为k个目标训练子集中未参与训练的目标训练子集。
举例而言,假设k为4,4个目标训练子集可分别为A目标训练子集、B目标训练子集、C目标训练子集和D目标训练子集,则对该4个目标训练子集进行拆分组合后得到的4个模型训练集可分别为:A+B+C目标训练子集、A+B+D目标训练子集、A+C+D目标训练子集和B+C+D目标训练子集。由此,基于A+B+C目标训练子集得到的初始参数对应的目标验证子集可为D目标训练子集;基于A+B+D目标训练子集得到的初始参数对应的目标验证子集可为C目标训练子集;基于A+C+D目标训练子集得到的初始参数对应的目标验证子集可为B目标训练子集;基于B+C+D目标训练子集得到的初始参数对应的目标验证子集可为A目标训练子集。
步骤502,根据每个初始参数对应的目标验证子集和联邦学习模型,分别对k个初始参数进行验证,以从k个初始参数中确定目标参数。
具体地,业务方服务器在得到k个初始参数之后,可获取k个初始参数中每个初始参数对应的目标验证子集,然后可根据每个初始参数对应的目标验证子集和联邦学习模型,分别对k个初始参数进行验证,以从k个初始参数中确定目标参数。
举例而言,假设k为4,4个初始参数可分别为a初始参数、b初始参数、c初始参数和d初始参数,则当对a初始参数进行验证时,联邦学习模型可具有初始参数a,将a初始参数对应的目标验证子集中的样本依次输入至该联邦学习模型,以得到多个预测的分数,并计算该多个预测的分数的平均值,即为该a初始参数对应的分数。当对b初始参数进行验证时,联邦学习模型可具有初始参数b,将a初始参数对应的目标验证子集中的样本依次输入至该联邦学习模型,以得到多个预测的分数,并计算该多个预测的分数的平均值,即为该b初始参数对应的分数。基于上述的方式再依次计算出c初始参数对应的分数和d初始参数对应的分数。然后业务方服务器可将a、b、c和d初始参数分别对应的分数进行比对,并将分数最高的初始参数作为目标参数,即本轮训练得到的最佳参数。
需要说明的是,当Host方(数据提供方服务器)接收到Guest方(业务方服务器)同步的建模信息(即,Guest方发送至Host方的数据)后,可以通过与Guest方交互并行完成随机森林的构造,这里构造森林可以采用SecureBoost(纵向联邦学习)中对决策树的构造方案,只是需要按建模信息并行构造多棵决策树,具体构造过程在此并不重复,可参见相关技术中SecureBoost构造决策树的过程。
其中,值得注意的是,各个Host方仅用Guest方同步的、划分为模型训练集的样本训练模型,在模型训练完成后Guest方需要在划分的验证集上计算关注指标(例如,分数、AUC(ROC曲线下方的面积大小)指标等)作为参数选择的依据。如此,便可在当下的数据集、标签值下,结合网格搜索和交叉验证,得到此层森林的最佳参数,最佳参数即为该层森林的参数,最佳参数可不需同步至Host方。
步骤208,基于梯度提升算法,并根据目标参数和联邦学习模型,生成当前样本的优化标签,其中,优化标签为下一轮迭代训练的当前样本的训练标签。
具体地,业务方服务器在本轮迭代训练结束后,可基于梯度提升算法,并根据目标参数和联邦学习模型,生成当前样本的优化标签,并将该优化标签作为下一轮迭代训练的当前样本的训练标签,然后继续进行下一轮的迭代训练
步骤105,在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数。
具体地,在M次迭代训练中每次迭代训练的过程中,业务方服务器可在完成本轮迭代训练之后(即,获取到本轮的目标参数),可先判断经过本轮训练后的联邦学习模型是否满足早停条件,若是,则可控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数。
为了清楚说明上一实施例,在本申请的一个实施例中,如图6所示,在M次迭代训练中每次迭代训练的过程中,通过以下步骤判断联邦学习模型满足早停条件,可包括:
步骤601,将M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,N为小于M的正整数。
步骤602,分别获取第N次迭代训练至第Q次迭代训练得到的联邦学习模型的多个目标参数,其中,Q为大于N小于M的正整数。
步骤603,分别根据多个目标参数,以及联邦学习模型和验证集,生成联邦学习模型的多个早停指标。
在本申请实施例中,可分别将验证集中的样本输入至多个具有不同目标参数的联邦学习模型,以得到多个具有不同目标参数的联邦学习模型输出的多个早停指标。
需要说明的是,该实施例中所描述的早停指标可为AUC-指标(ROC曲线下方的面积大小)。
步骤604,若多个早停指标未见提升,则判断联邦学习模型满足早停条件。
具体地,业务方服务器可在完成本轮迭代训练之后(即,获取到本轮的目标参数),使用在验证集数据上运行完成本轮训练的联邦学习模型,得到用于判断是否需要早停的指标(如AUC-指标(ROC曲线下方的面积大小)等)。其中,业务方服务器可先将M次迭代训练中当前的迭代训练作为第N次迭代训练,并分别获取第N次迭代训练至第Q次迭代训练得到的联邦学习模型的多个目标参数,以及分别根据多个目标参数,以及联邦学习模型和验证集,生成联邦学习模型的多个早停指标,即AUC-指标。若多个早停指标未见提升,业务方服务器则可判断联邦学习模型满足早停条件,若多个早停指标见提升,则业务方服务器则可判断联邦学习模型不满足早停条件。
举例而言,假设目前为第m层森林(即,第m次迭代),而早停参数为t(轮数-后面的轮数),意味着可以形成一个观测窗口,即观测模型(即,联邦学习模型)在[m,m+t]轮中的早停指标序列,其中,m+t可为上述的N,只需在这个序列窗口中计算测试集V的效果指标(即,上述的早停指标)是否有提升。若观测模型在t轮后在验证集V上未见提升,则可以在第m层森林早停,也可以在第m+t层森林早停。反之若观测模型在t轮后在验证集V上见提升,则下一次早停的观测窗口序列起点为m+s,其中,s可为t的中间的轮次。
需要说明的是,若判断联邦学习模型满足早停条件,则说明训练完毕,即建模完成。
步骤106,若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数。
具体地,业务方服务器若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数,即获取完成所有轮迭代训练的联邦学习模型的目标参数。
由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
在本申请实施例中,参见图7,其中,grid search可为网格搜索;early stopping可为提前停车(即,早停),融合了随机森林(bagging)和梯度提升(boosting)两种集成策略的联邦建模方法,并且动态优化了随机森林的参数(以网格搜索和交叉验证为例),采用了早停策略避免模型出现过拟合的同时减少了复杂度,具体地:
首先,模型在随机森林的基础上进行了梯度提升,减弱了随机森林模型偏差相对较大的问题,而且由于随机森林可以并行构建,相比于GBDT等模型并不会带来时间上的低效。且由于基于bagging的随机森林建模效果优于单棵的决策树子模型,因而能够在原有GBDT等boosting集成模型上提升建模效果。
其次,本申请动态优化了每层森林的参数。以网格搜索为例,本申请方案中整个模型中每层森林参数并不保持一致,而是逐层搜索最佳参数。而传统参数搜索方案中,需要在每组可能的参数组合前提下,运行整个模型,最终决断最佳参数。传统的参数搜索方法带来了较高的时间成本,且并没有针对每层森林的训练目标做出参数调整,而并行化地逐层搜索参数提高了模型的效率。
最后,本申请还结合了早停的策略,即在确定的观察窗口序列上计算早停的考量指标,若模型在指定观察轮次中并无明显优化,则可以选择停止。这样的策略首先避免了模型出现严重的过拟合问题,一定程度上保障了方案的泛化性;另一方面也可以减少模型的复杂度,模型不需像GBDT等方法一样梯度提升至指定的参数(即棵数),而是自动停止,可以让模型根据实际情况自动调整建模参数,减少了模型的超参数。
综上,根据本申请实施例的联邦学习模型的训练方法,首先与数据提供方服务器进行样本对齐,并分别获取业务方服务器和数据提供方服务器的特征数量,以及根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,然后将数据提供方服务器的特征编号和公钥发送至数据提供方服务器,并将当前样本划分为训练集和验证集,以及获取联邦学习模型的参数集,再然后根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,并在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数,若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
图8为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图。
本申请实施例的联邦学习模型的训练方法,还可由本申请实施例提供的联邦学习模型的训练装置执行,该装置可配置于电子设备中,以实现与与业务方服务器进行样本对齐,并接收业务方服务器发送的数据提供方服务器的特征编号、公钥、k个目标训练子集中每个样本的编号、目标特征编码集中数据提供方服务器的目标特征编号,以及当前所训练的样本的梯度信息,然后根据梯度信息获取梯度返回信息,并向业务方服务器发送梯度返回信息,以及接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,而后基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器,从而能够使训练更加高效,同时提升了建模效果,减少了复杂度。
作为一种可能的情况,本申请实施例的联邦学习模型的训练方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该联邦学习模型的训练方法。
如图8所示,该联邦学习模型的训练方法,可包括:
步骤801,与业务方服务器进行样本对齐。
在本申请实施例中,数据方(即,数据提供方服务器)可通过预设的方法与业务方服务器进行样本对齐。其中,预设的方法可根据实际情况进行标定。例如,由于合作方的用户群体并非完全重合,可利用基于加密的用户样本对齐技术(方法),在业务方和数据提供方均不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户。
需要说明的是,该实施例中所描述样本对齐也可以是指,业务方服务器与数据提供方服务器进行样本位置的对齐,以便于进行精确的样本传输。另外,在进行样本对齐的过程中,可建立业务方和数据提供方服务器之间的通信通道(信道),且可对该通信通道进行加密。
步骤802,接收业务方服务器发送的数据提供方服务器的特征编号和公钥。
步骤803,接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,其中,k为大于1的正整数。
步骤804,接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息。
步骤805,向业务方服务器发送梯度返回信息。
步骤806,接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,目标分裂点编号根据梯度返回信息和目标特征编码集生成。
步骤807,基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。
在本申请的一个实施例中,根据梯度信息获取梯度返回信息,包括:根据目标特征编号和数据提供方服务器的特征编号,确定特征集;根据特征集中每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号;利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。
在本申请的一个实施例中,对梯度求和信息进行编号之后,还包括:生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
需要说明的是,本申请实施例的联邦学习模型的训练方法中未披露的细节,请参照本申请图1至7实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,根据本申请实施例的联邦学习模型的训练方法,首先与业务方服务器进行样本对齐,并接收业务方服务器发送的数据提供方服务器的特征编号和公钥,然后接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送梯度返回信息,并接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,最后基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,减少了复杂度。
图9为根据本申请一个实施例的联邦学习模型的训练装置的结构示意图。
本申请实施例的联邦学习模型的训练装置,可配置于电子设备中,以实现与数据提供方服务器进行样本对齐;生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器;将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练;在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数;若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数,从而能够使训练更加高效,同时提升了建模效果,减少了复杂度。
如图9所示,该联邦学习模型的训练装置900,可包括:对齐模块910、发送模块920、第一获取模块930、迭代训练模块940、第二获取模块950、第三获取模块960。
其中,对齐模块910用于与数据提供方服务器进行样本对齐。
发送模块920用于分别获取业务方服务器和数据提供方服务器的特征数量,并根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器。
第一获取模块930用于将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集。
迭代训练模块940用于根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,其中,M为大于1的正整数。
第二获取模块950用于在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数。
第三获取模块960用于若判断联邦学习模型未满足早停条件,则获取第M次迭代训练得到的联邦学习模型的目标参数。
在本申请的一个实施例中,迭代训练模块940可包括:获取子模块、第一生成子模块、第二生成子模块、划分子模块、发送子模块、第三生成子模块、确定子模块和第四生成子模块。
其中,获取子模块,用于从参数集中获取样本采样率和特征采样率。
第一生成子模块,用于从训练集中选取样本采样率的样本以生成目标训练集。
第二生成子模块,用于从特征编码集中选取特征采样率的特征编码以生成目标特征编码集。
划分子模块,用于将目标训练集划分为k个目标训练子集,其中,k为大于1的正整数。
发送子模块,用于将k个目标训练子集中每个样本的编号,以及将目标特征编码集中数据提供方服务器的目标特征编号发送至数据提供方服务器。
第三生成子模块,用于根据k个目标训练子集和目标特征编码集,生成联邦学习模型的k个初始参数。
确定子模块,用于从k个初始参数中确定目标参数。
第四生成子模块,用于基于梯度提升算法,并根据目标参数和联邦学习模型,生成当前样本的优化标签,其中,优化标签为下一轮迭代训练的当前样本的训练标签。
在本申请的一个实施例中,第三生成子模块,可包括:拆分单元和生成单元。
其中,拆分单元,用于对k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个模型训练集包括k-1个目标训练子集。
生成单元,用于分别根据k个模型训练集,以及目标特征编码集,生成k个初始参数。
在本申请的一个实施例中,生成单元,可包括:计算子单元、接收子单元、生成子单元、节点分裂子单元和获取子单元。
其中,计算子单元,用于计算模型训练集中样本的梯度信息,并将梯度信息发送至数据提供方服务器。
接收子单元,用于接收数据提供方服务器提供的梯度返回信息。
生成子单元,用于根据梯度返回信息和目标特征编码集生成目标分裂点编号,并基于私钥和目标分裂点编号生成密文,以及将密文发送至数据提供方服务器。
节点分裂子单元,用于接收数据提供方服务器发送的解密运算值,并根据解密运算值进行节点分裂。
获取子单元,用于重复以上子单元的步骤直至模型收敛,以完成联邦学习模型的训练,并通过完成训练的联邦学习模型获取初始参数。
在本申请的一个实施例中,计算子单元,具体用于:生成模型训练集中样本的一阶梯度值和二阶梯度值;对一阶梯度值和二阶梯度值进行同态加密以生成梯度信息。
在本申请的一个实施例中,梯度返回信息为多个,且每个梯度返回信息对应有相应的编号,其中,生成子单元,具体用于:根据多个梯度返回信息和目标特征编码集分别生成对应的多个信息增益;从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
在本申请的一个实施例中,节点分裂子单元,具体用于:根据解密运算值生成分裂空间信息;根据模型训练集中样本和分裂空间信息进行节点分裂。
在本申请的一个实施例中,确定子模块,具体用于:获取k个初始参数中每个初始参数对应的目标验证子集,其中,目标验证子集为k个目标训练子集中未参与训练的目标训练子集;根据每个初始参数对应的目标验证子集和联邦学习模型,分别对k个初始参数进行验证,以从k个初始参数中确定目标参数。
在本申请的一个实施例中,第二获取模块950具体用于:将M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,N为小于M的正整数;分别获取第N次迭代训练至第Q次迭代训练得到的联邦学习模型的多个目标参数,其中,Q为大于N小于M的正整数;分别根据多个目标参数,以及联邦学习模型和验证集,生成联邦学习模型的多个早停指标;若多个早停指标未见提升,则判断联邦学习模型满足早停条件。
需要说明的是,本申请实施例的联邦学习模型的训练装置中未披露的细节,请参照本申请图1至图7实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,本申请实施例的联邦学习模型的训练装置,通过对齐模块与数据提供方服务器进行样本对齐,并通过发送模块分别获取业务方服务器和数据提供方服务器的特征数量,并根据特征数量分别对业务方服务器和数据提供方服务器的特征进行编号,以生成特征编码集,以及将数据提供方服务器的特征编号和公钥发送至数据提供方服务器,以及通过第一获取模块将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集,然后通过迭代训练模块根据训练集、验证集、参数集和特征编码集,对联邦学习模型进行M次迭代训练,并通过第二获取模块在M次迭代训练中每次迭代训练的过程中,若判断联邦学习模型满足早停条件,则控制M次迭代训练早停,并获取M次迭代训练中最后一次迭代训练得到的联邦学习模型的目标参数,以及若判断联邦学习模型未满足早停条件,则通过第三获取模块获取第M次迭代训练得到的联邦学习模型的目标参数。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
图10为根据本申请另一个实施例的联邦学习模型的训练装置的结构示意图。
本申请实施例的联邦学习模型的训练装置,可配置于电子设备中,以实现与与业务方服务器进行样本对齐,并接收业务方服务器发送的数据提供方服务器的特征编号、公钥、k个目标训练子集中每个样本的编号、目标特征编码集中数据提供方服务器的目标特征编号,以及当前所训练的样本的梯度信息,然后根据梯度信息获取梯度返回信息,并向业务方服务器发送梯度返回信息,以及接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,而后基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器,从而能够使训练更加高效,同时提升了建模效果,减少了复杂度。
如图10所示,该联邦学习模型的训练装置1000,可包括:对齐模块1010、第一接收模块1020、第二接收模块1030、第三接收模块1040、第一发送模块1050、第四接收模块1060和第二发送模块1070。
其中,对齐模块1010用于与业务方服务器进行样本对齐。
第一接收模块1020用于接收业务方服务器发送的数据提供方服务器的特征编号和公钥。
第二接收模块1030用于接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,其中,k为大于1的正整数。
第三接收模块1040用于接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息。
第一发送模块1050用于向业务方服务器发送梯度返回信息。
第四接收模块1060用于接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,目标分裂点编号根据梯度返回信息和目标特征编码集生成。
第二发送模块1070用于基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。
在本申请的一个实施例中,第三接收模块1040具体用于:根据目标特征编号和数据提供方服务器的特征编号,确定特征集;根据特征集中每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号;利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。
在本申请的一个实施例中,第三接收模块1040还用于:生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
需要说明的是,本申请实施例的联邦学习模型的训练装置中未披露的细节,请参照本申请图1至图7实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,本申请实施例的联邦学习模型的训练装置,通过对齐模块与业务方服务器进行样本对齐,并通过第一接收模块接收业务方服务器发送的数据提供方服务器的特征编号和公钥,以通过第二接收模块接收业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中数据提供方服务器的目标特征编号,然后通过第三接收模块接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,再然后通过第一发送模块向业务方服务器发送梯度返回信息,并通过第四接收模块接收业务方服务器发送的基于私钥和目标分裂点编号生成的密文,最后通过第二发送模块基于公钥对密文进行解密,得到解密运算值,并发送给业务方服务器。由此,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,减少了复杂度。
为了实现上述实施例,如图11所示,本发明还提出一种电子设备1100,包括存储器1110、处理器1120及存储在存储器1110上并可在处理器1120上运行的计算机程序,处理器1120执行程序,以实现本申请前述实施例提出的联邦学习模型的训练方法。
本申请实施例的电子设备,通过处理器执行存储在存储器上的计算机程序,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现本申请前述实施例提出的联邦学习模型的训练方法。
本申请实施例的计算机可读存储介质,通过存储计算机程序并被处理器执行,能够使业务方服务器与数据提供方服务器之间的联合训练更加高效,同时提升了建模效果,并且采用了早停策略避免模型出现过拟合的同时减少了复杂度。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (24)
1.一种联邦学习模型的训练方法,其特征在于,包括:
与数据提供方服务器进行样本对齐;
分别获取业务方服务器和所述数据提供方服务器的特征数量,并根据所述特征数量分别对所述业务方服务器和所述数据提供方服务器的特征进行编号,以生成特征编码集,以及将所述数据提供方服务器的特征编号和公钥发送至所述数据提供方服务器;
将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;
根据所述训练集、所述验证集、所述参数集和所述特征编码集,对所述联邦学习模型进行M次迭代训练,其中,所述M为大于1的正整数;
在所述M次迭代训练中每次所述迭代训练的过程中,若判断所述联邦学习模型满足早停条件,则控制所述M次迭代训练早停,并获取所述M次迭代训练中最后一次迭代训练得到的所述联邦学习模型的目标参数;
若判断所述联邦学习模型未满足所述早停条件,则获取第M次所述迭代训练得到的所述联邦学习模型的目标参数;
所述每次迭代训练,包括:
从所述参数集中获取样本采样率和特征采样率;
从所述训练集中选取所述样本采样率的样本以生成目标训练集;
从所述特征编码集中选取所述特征采样率的特征编码以生成目标特征编码集;
将所述目标训练集划分为k个目标训练子集,其中,所述k为大于1的正整数;
将所述k个目标训练子集中每个样本的编号,以及将所述目标特征编码集中所述数据提供方服务器的目标特征编号发送至所述数据提供方服务器;
根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数;
从所述k个初始参数中确定目标参数;
基于梯度提升算法,并根据所述目标参数和所述联邦学习模型,生成所述当前样本的优化标签,其中,所述优化标签为下一轮迭代训练的所述当前样本的训练标签。
2.如权利要求1所述的联邦学习模型的训练方法,其特征在于,所述根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数,包括:
对所述k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个所述模型训练集包括k-1个目标训练子集;
分别根据所述k个模型训练集,以及所述目标特征编码集,生成所述k个初始参数。
3.如权利要求2所述的联邦学习模型的训练方法,其特征在于,其中,所述根据所述模型训练集,以及所述目标特征编码集,生成所述初始参数,包括:
计算所述模型训练集中样本的梯度信息,并将所述梯度信息发送至所述数据提供方服务器;
接收所述数据提供方服务器提供的梯度返回信息;
根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,并基于私钥和所述目标分裂点编号生成密文,以及将所述密文发送至所述数据提供方服务器;
接收所述数据提供方服务器发送的解密运算值,并根据所述解密运算值进行节点分裂;
重复以上步骤直至模型收敛,以完成所述联邦学习模型的训练,并通过所述完成训练的联邦学习模型获取所述初始参数。
4.如权利要求3所述的联邦学习模型的训练方法,其特征在于,所述计算所述模型训练集中样本的梯度信息,包括:
生成所述模型训练集中样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
5.如权利要求3所述的联邦学习模型的训练方法,其特征在于,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,包括:
根据所述多个梯度返回信息和所述目标特征编码集分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
6.如权利要求3所述的联邦学习模型的训练方法,其特征在于,所述根据所述解密运算值进行节点分裂,包括:
根据所述解密运算值生成分裂空间信息;
根据所述模型训练集中样本和所述分裂空间信息进行节点分裂。
7.如权利要求1所述的联邦学习模型的训练方法,其特征在于,所述从所述k个初始参数中确定目标参数,包括:
获取所述k个初始参数中每个所述初始参数对应的目标验证子集,其中,所述目标验证子集为所述k个目标训练子集中未参与训练的目标训练子集;
根据所述每个初始参数对应的目标验证子集和所述联邦学习模型,分别对所述k个初始参数进行验证,以从所述k个初始参数中确定目标参数。
8.如权利要求1所述的联邦学习模型的训练方法,其特征在于,其中,在所述M次迭代训练中每次所述迭代训练的过程中,通过以下步骤判断所述联邦学习模型满足所述早停条件,包括:
将所述M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,所述N为小于所述M的正整数;
分别获取所述第N次迭代训练至第Q次迭代训练得到的所述联邦学习模型的多个目标参数,其中,所述Q为大于所述N小于所述M的正整数;
分别根据所述多个目标参数,以及所述联邦学习模型和所述验证集,生成所述联邦学习模型的多个早停指标;
若所述多个早停指标未见提升,则判断所述联邦学习模型满足所述早停条件。
9.一种联邦学习模型的训练方法,其特征在于,包括:
与业务方服务器进行样本对齐;
接收所述业务方服务器发送的数据提供方服务器的特征编号和公钥;
接收所述业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中所述数据提供方服务器的目标特征编号,其中,k为大于1的正整数;
接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
向所述业务方服务器发送所述梯度返回信息;
接收所述业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息和所述目标特征编码集生成;
基于所述公钥对所述密文进行解密,得到解密运算值,并发送给所述业务方服务器。
10.如权利要求9所述的联邦学习模型的训练方法,其特征在于,所述根据所述梯度信息获取梯度返回信息,包括:
根据所述目标特征编号和所述数据提供方服务器的特征编号,确定特征集;
根据所述特征集中每个所述特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取所述每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
11.如权利要求10所述的联邦学习模型的训练方法,其特征在于,所述对所述梯度求和信息进行编号之后,还包括:
生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
12.一种联邦学习模型的训练装置,其特征在于,包括:
对齐模块,用于与数据提供方服务器进行样本对齐;
发送模块,用于分别获取业务方服务器和所述数据提供方服务器的特征数量,并根据所述特征数量分别对所述业务方服务器和所述数据提供方服务器的特征进行编号,以生成特征编码集,以及将所述数据提供方服务器的特征编号和公钥发送至所述数据提供方服务器;
第一获取模块,用于将当前样本划分为训练集和验证集,并获取联邦学习模型的参数集;
迭代训练模块,用于根据所述训练集、所述验证集、所述参数集和所述特征编码集,对所述联邦学习模型进行M次迭代训练,其中,所述M为大于1的正整数;
第二获取模块,用于在所述M次迭代训练中每次所述迭代训练的过程中,若判断所述联邦学习模型满足早停条件,则控制所述M次迭代训练早停,并获取所述M次迭代训练中最后一次迭代训练得到的所述联邦学习模型的目标参数;
第三获取模块,用于若判断所述联邦学习模型未满足所述早停条件,则获取第M次所述迭代训练得到的所述联邦学习模型的目标参数;
所述迭代训练模块,包括:
获取子模块,用于从所述参数集中获取样本采样率和特征采样率;
第一生成子模块,用于从所述训练集中选取所述样本采样率的样本以生成目标训练集;
第二生成子模块,用于从所述特征编码集中选取所述特征采样率的特征编码以生成目标特征编码集;
划分子模块,用于将所述目标训练集划分为k个目标训练子集,其中,所述k为大于1的正整数;
发送子模块,用于将所述k个目标训练子集中每个样本的编号,以及将所述目标特征编码集中所述数据提供方服务器的目标特征编号发送至所述数据提供方服务器;
第三生成子模块,用于根据所述k个目标训练子集和所述目标特征编码集,生成所述联邦学习模型的k个初始参数;
确定子模块,用于从所述k个初始参数中确定目标参数;
第四生成子模块,用于基于梯度提升算法,并根据所述目标参数和所述联邦学习模型,生成所述当前样本的优化标签,其中,所述优化标签为下一轮迭代训练的所述当前样本的训练标签。
13.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述第三生成子模块,包括:
拆分单元,用于对所述k个目标训练子集进行拆分组合,以得到k个模型训练集,其中,每个所述模型训练集包括k-1个目标训练子集;
生成单元,用于分别根据所述k个模型训练集,以及所述目标特征编码集,生成所述k个初始参数。
14.如权利要求13所述的联邦学习模型的训练装置,其特征在于,所述生成单元,包括:
计算子单元,用于计算所述模型训练集中样本的梯度信息,并将所述梯度信息发送至所述数据提供方服务器;
接收子单元,用于接收所述数据提供方服务器提供的梯度返回信息;
生成子单元,用于根据所述梯度返回信息和所述目标特征编码集生成目标分裂点编号,并基于私钥和所述目标分裂点编号生成密文,以及将所述密文发送至所述数据提供方服务器;
节点分裂子单元,用于接收所述数据提供方服务器发送的解密运算值,并根据所述解密运算值进行节点分裂;
获取子单元,用于重复以上子单元的步骤直至模型收敛,以完成所述联邦学习模型的训练,并通过所述完成训练的联邦学习模型获取所述初始参数。
15.如权利要求14所述的联邦学习模型的训练装置,其特征在于,所述计算子单元,具体用于:
生成所述模型训练集中样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
16.如权利要求14所述的联邦学习模型的训练装置,其特征在于,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,生成子单元,具体用于:
根据所述多个梯度返回信息和所述目标特征编码集分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
17.如权利要求14所述的联邦学习模型的训练装置,其特征在于,所述节点分裂子单元,具体用于:
根据所述解密运算值生成分裂空间信息;
根据所述模型训练集中样本和所述分裂空间信息进行节点分裂。
18.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述确定子模块,具体用于:
获取所述k个初始参数中每个所述初始参数对应的目标验证子集,其中,所述目标验证子集为所述k个目标训练子集中未参与训练的目标训练子集;
根据所述每个初始参数对应的目标验证子集和所述联邦学习模型,分别对所述k个初始参数进行验证,以从所述k个初始参数中确定目标参数。
19.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述第二获取模块,具体用于:
将所述M次迭代训练中当前的迭代训练作为第N次迭代训练,其中,所述N为小于所述M的正整数;
分别获取所述第N次迭代训练至第Q次迭代训练得到的所述联邦学习模型的多个目标参数,其中,所述Q为大于所述N小于所述M的正整数;
分别根据所述多个目标参数,以及所述联邦学习模型和所述验证集,生成所述联邦学习模型的多个早停指标;
若所述多个早停指标未见提升,则判断所述联邦学习模型满足所述早停条件。
20.一种联邦学习模型的训练装置,其特征在于,包括:
对齐模块,用于与业务方服务器进行样本对齐;
第一接收模块,用于接收所述业务方服务器发送的数据提供方服务器的特征编号和公钥;
第二接收模块,用于接收所述业务方服务器发送的k个目标训练子集中每个样本的编号,以及目标特征编码集中所述数据提供方服务器的目标特征编号,其中,k为大于1的正整数;
第三接收模块,用于接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
第一发送模块,用于向所述业务方服务器发送所述梯度返回信息;
第四接收模块,用于接收所述业务方服务器发送的基于私钥和目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息和所述目标特征编码集生成;
第二发送模块,用于基于所述公钥对所述密文进行解密,得到解密运算值,并发送给所述业务方服务器。
21.如权利要求20所述的联邦学习模型的训练装置,其特征在于,所述第三接收模块,具体用于:
根据所述目标特征编号和所述数据提供方服务器的特征编号,确定特征集;
根据所述特征集中每个所述特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取所述每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
22.如权利要求21所述的联邦学习模型的训练装置,其特征在于,所述第三接收模块,还用于:
生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
23.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-8或权利要求9-11中任一项所述的联邦学习模型的训练方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8或权利要求9-11中任一项所述的联邦学习模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110939079.4A CN113722987B (zh) | 2021-08-16 | 2021-08-16 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110939079.4A CN113722987B (zh) | 2021-08-16 | 2021-08-16 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722987A CN113722987A (zh) | 2021-11-30 |
CN113722987B true CN113722987B (zh) | 2023-11-03 |
Family
ID=78676004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110939079.4A Active CN113722987B (zh) | 2021-08-16 | 2021-08-16 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722987B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113947211A (zh) * | 2021-10-11 | 2022-01-18 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN114140213A (zh) * | 2021-12-07 | 2022-03-04 | 航天信息股份有限公司 | 一种税电指标计算方法及装置 |
CN114168988B (zh) * | 2021-12-16 | 2024-05-03 | 大连理工大学 | 一种联邦学习模型聚合方法及电子装置 |
CN114418380B (zh) * | 2022-01-17 | 2024-09-06 | 建信金融科技有限责任公司 | 基于联邦学习的用户评分方法、服务器及存储介质 |
CN115292738B (zh) * | 2022-10-08 | 2023-01-17 | 豪符密码检测技术(成都)有限责任公司 | 一种联邦学习模型和数据安全性及正确性的检测方法 |
CN115936112B (zh) * | 2023-01-06 | 2023-07-18 | 北京国际大数据交易有限公司 | 一种基于联邦学习的客户画像模型训练方法及系统 |
CN116822660B (zh) * | 2023-03-21 | 2024-07-09 | 北京火山引擎科技有限公司 | 纵向联邦学习方法、装置、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034398A (zh) * | 2018-08-10 | 2018-12-18 | 深圳前海微众银行股份有限公司 | 基于联邦训练的特征选择方法、装置及存储介质 |
CN110378488A (zh) * | 2019-07-22 | 2019-10-25 | 深圳前海微众银行股份有限公司 | 客户端变化的联邦训练方法、装置、训练终端及存储介质 |
CN110633806A (zh) * | 2019-10-21 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 |
WO2020029590A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN111695674A (zh) * | 2020-05-14 | 2020-09-22 | 平安科技(深圳)有限公司 | 联邦学习方法、装置、计算机设备及可读存储介质 |
CN111738359A (zh) * | 2020-07-24 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN112232508A (zh) * | 2020-09-18 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种模型的训练方法、系统、设备以及介质 |
-
2021
- 2021-08-16 CN CN202110939079.4A patent/CN113722987B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034398A (zh) * | 2018-08-10 | 2018-12-18 | 深圳前海微众银行股份有限公司 | 基于联邦训练的特征选择方法、装置及存储介质 |
WO2020029590A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN110378488A (zh) * | 2019-07-22 | 2019-10-25 | 深圳前海微众银行股份有限公司 | 客户端变化的联邦训练方法、装置、训练终端及存储介质 |
CN110633806A (zh) * | 2019-10-21 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN111695674A (zh) * | 2020-05-14 | 2020-09-22 | 平安科技(深圳)有限公司 | 联邦学习方法、装置、计算机设备及可读存储介质 |
CN111738359A (zh) * | 2020-07-24 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN112232508A (zh) * | 2020-09-18 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种模型的训练方法、系统、设备以及介质 |
Non-Patent Citations (1)
Title |
---|
贾延延 ; 张昭 ; 冯键 ; 王春凯 ; .联邦学习模型在涉密数据处理中的应用.中国电子科学研究院学报.2020,(01),47-53. * |
Also Published As
Publication number | Publication date |
---|---|
CN113722987A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113722987B (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
CN113947211A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
CN110942154A (zh) | 基于联邦学习的数据处理方法、装置、设备及存储介质 | |
Beigi et al. | Quantum achievability proof via collision relative entropy | |
CN111832074B (zh) | 基于spdz安全多方计算的安全验证协作学习方法及系统 | |
Akinyele et al. | Automating fast and secure translations from type-i to type-iii pairing schemes | |
CN112862057A (zh) | 一种建模方法、装置、电子设备和可读介质 | |
EP4058951A1 (en) | Privacy preserving machine learning via gradient boosting | |
CN115659807A (zh) | 一种基于贝叶斯优化模型融合算法对人才表现预测的方法 | |
CN106452758A (zh) | 一种多方量子密钥分发系统及其纠错方法 | |
AU2017101168A4 (en) | A method of testing the robustness of cryptographickey | |
Ambika | A reliable blockchain-based image encryption scheme for IIoT networks | |
CN109598289B (zh) | 跨平台的数据处理方法、装置、设备及可读存储介质 | |
US20220209960A1 (en) | System and method for transmitting a notification to a network | |
CN111914281A (zh) | 基于区块链和同态加密的贝叶斯模型训练方法及装置 | |
CN108632257B (zh) | 支持分层搜索的加密健康记录的获取方法和系统 | |
CN116614273A (zh) | 基于cp-abe的对等网络中联邦学习数据共享模型及其构建方法 | |
CN113887740B (zh) | 联合更新模型的方法、装置及系统 | |
CN115292144A (zh) | 多方模型及多方金融模型的可信评估方法、装置和设备 | |
CN114723068A (zh) | 联邦模型训练方法及装置 | |
Tang et al. | Efficient non-interactive verifiable outsourced computation for arbitrary functions | |
CN113362168A (zh) | 一种风险预测方法及装置、存储介质及电子设备 | |
CN117453414B (zh) | 电力数据参与数据共享计算的贡献度预测方法及系统 | |
CN111966753B (zh) | 基于区块链和同态加密的决策树模型训练方法及装置 | |
CN113807535B (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 |