【技术实现步骤摘要】
一种纵向联邦学习模型的训练方法及系统
[0001]本申请涉及机器学习
,具体而言,涉及一种纵向联邦学习模型的训练方法及系统。
技术介绍
[0002]联邦学习最早由谷歌提出,主要是为了应对用户数据安全保护和数据隐私监管所需。其作为一种多方安全计算的实现技术,能够实现在原始数据不出门的前提下,让数据的价值进行流动,逐步被应用于金融风控、个性化推荐等领域。联邦学习根据不同的业务使用场景,主要包括纵向联邦学习、横向联邦学习以及联邦迁移算法三种类型。目前联邦学习已经可以支持多种机器学习算法。
[0003]联邦学习提供了数据使用的安全性保证,能够规避数据安全监管风险,当下的联邦学习在工程实现上,普遍对安全性给予更多的关注,为了保护用户数据安全,使用加密算法或者多方安全计算秘密共享等方式,实现数据的隐私计算,但是,现有技术对大数据量进行加解密涉及大量的计算操作,或者采用秘密共享又会使得数据通信量倍数扩大,将导致联邦学习算法的运行速度较慢,算法性能较低。现有的联邦学习模型与明文数据集中式的模型训练速度相比,相差数倍甚至数十倍,并且随着数据量的扩大,性能差距愈专利技术显。而现实业务中,企业与企业之间,用户与企业服务之间都非常强调效率,如果性能损失很大,一个任务执行效率非常慢,会影响联邦学习在实际业务中落地,用户也无法接受企业所提供的服务,造成业务受损,用户流失等负面结果,进而对企业的正常发展产生不利影响。
技术实现思路
[0004]本申请实施例的目的在于提供一种纵向联邦学习模型的训练方法及系统,用以解决现 ...
【技术保护点】
【技术特征摘要】
1.一种纵向联邦学习模型的训练方法,其特征在于,包括:进行梯度下降的联邦学习迭代训练,并获取所有特征每次迭代所使用的梯度值;根据每一特征的梯度值,获取每一特征的梯度值变化趋势;以及重复迭代更新,直到判断出梯度值变化趋势满足预设条件的特征在特征总数的占比超过预设阈值时,进行有加密机制的联邦学习迭代训练。2.如权利要求1所述的方法,其特征在于,在开始训练时,梯度值变化趋势为梯度夹角值tan(angle)变大;所述梯度夹角值tan(angle)为:tan(angle) =|(k
i
‑
k
i
‑1)/(1+k
i
×
k
i
‑1)|其中,k
i
为第i次迭代获取的梯度值,k
i
‑1为第i
‑
1次迭代获取的梯度值。3.如权利要求1或2所述的方法,其特征在于,所述预设条件为所述梯度夹角值tan(angle)开始变小。4.如权利要求1所述的方法,其特征在于,所述联邦学习迭代训练包括:数据参与方和模型发起方各自计算每一样本特征的特征值与特征权重的内积;对每一样本特征,将数据参与方和模型发起方的内积相加,得到总内积值,使用sigmoid函数对总内积值进行转换得到预测值;对每一样本特征,将预测值与对应的模型发起方的真实标签做差,得到梯度中间值;以及根据梯度中间值分别计算数据参与方和模型发起方的样本特征的梯度值,并更新样本特征的特征权重。5.如权利要求4所述的方法,其特征在于,所述梯度值变化趋势满足预设条件的特征在特征总数的占比超过预设阈值,包括:模型发起方和数据参与方的所有样本特征中梯度值变化趋势满足预设条件的数量在特征总数的占比超过预设阈值;其中,所述特征总数为模型发起方和数据参与方的样本特征数之和。6.如权利要求1所述的方法,其特征在于,所述有加密机制的联邦学习迭代训练,包括:数据参与方和模型发起方各自计算每一样本特征的特征值与特征权重的内积;对每一样本特征,将数据参与方和模型发起方的内积相加,得到总内积值,使用sigmoid函数对总内积值进行转换得到预测值;对每一样本特征,将预测值与对应的模型发起方的真实标签做差,得到梯度中间值;由模型发起方,根据梯度中间值计算模型发起方的梯度值,利用模型发起方的梯度值更新样本特征的特征权重,并且,对梯度中间值进行加密得到加密梯度中间值,并发送至数据参与方;由数据参与方,根据加密梯度中间值计算数据参与方的梯度并增加掩码,得到加密掩码梯度并发送至模型发起方;由模型发起方,对加密掩码梯度利用私钥解密,得到掩码梯度并发送至数据参与方;以及由数据参与方,对掩码梯度去除掩码,得到数据参与方的梯度值,并利用数据参与方的梯度值更新特征权重。7.如权利要求6所述的方法,其特征在于,所述有加密机制的联邦学习迭代训练采用分
批训练的方式;所述根据加密梯度中间值计算数据参与方的梯度并增加掩码,得到加密掩码梯度并发送至模型发起方,包括:根据加密梯度中间值计算数据参与方的梯度后,对各对应样本特征的加密梯度值做聚合操作,并增加掩码,得到加密掩码聚合梯度并发送至模型发起方;利用梯度值更新特征权重,包括:计算每一样本特征的梯度值均值,利用梯度值均值...
【专利技术属性】
技术研发人员:尤志强,卞阳,
申请(专利权)人:富算科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。