一种纵向联邦学习模型的训练方法及系统技术方案

技术编号:33064572 阅读:15 留言:0更新日期:2022-04-15 09:54
本申请提供一种纵向联邦学习模型的训练方法及系统,在纵向联邦学习场景,将模型的训练流程拆分为前后两个阶段,前一训练阶段,模型信息量少且不稳定,在梯度中间值采取明文的方式由带有标签数据的发起方通信给数据参与方进行模型的学习,该过程几乎不泄露有效信息,因此,前一训练阶段进行不加密的联邦学习迭代训练,重复迭代更新,直到判断出梯度值变化趋势满足预设调节的特征在特征总数的占比超过预设阈值时,开始后一训练阶段进行有加密机制的联邦学习迭代训练。通过对模型训练过程的差异化处理,在保护数据安全的前提下,能够加快联邦学习算法的运行速度,明显提升算法性能。能。能。

【技术实现步骤摘要】
一种纵向联邦学习模型的训练方法及系统


[0001]本申请涉及机器学习
,具体而言,涉及一种纵向联邦学习模型的训练方法及系统。

技术介绍

[0002]联邦学习最早由谷歌提出,主要是为了应对用户数据安全保护和数据隐私监管所需。其作为一种多方安全计算的实现技术,能够实现在原始数据不出门的前提下,让数据的价值进行流动,逐步被应用于金融风控、个性化推荐等领域。联邦学习根据不同的业务使用场景,主要包括纵向联邦学习、横向联邦学习以及联邦迁移算法三种类型。目前联邦学习已经可以支持多种机器学习算法。
[0003]联邦学习提供了数据使用的安全性保证,能够规避数据安全监管风险,当下的联邦学习在工程实现上,普遍对安全性给予更多的关注,为了保护用户数据安全,使用加密算法或者多方安全计算秘密共享等方式,实现数据的隐私计算,但是,现有技术对大数据量进行加解密涉及大量的计算操作,或者采用秘密共享又会使得数据通信量倍数扩大,将导致联邦学习算法的运行速度较慢,算法性能较低。现有的联邦学习模型与明文数据集中式的模型训练速度相比,相差数倍甚至数十倍,并且随着数据量的扩大,性能差距愈专利技术显。而现实业务中,企业与企业之间,用户与企业服务之间都非常强调效率,如果性能损失很大,一个任务执行效率非常慢,会影响联邦学习在实际业务中落地,用户也无法接受企业所提供的服务,造成业务受损,用户流失等负面结果,进而对企业的正常发展产生不利影响。

技术实现思路

[0004]本申请实施例的目的在于提供一种纵向联邦学习模型的训练方法及系统,用以解决现有技术对大数据量进行加解密涉及大量的计算操作,或者采用秘密共享又会使得数据通信量倍数扩大,将导致联邦学习算法的运行速度较慢,算法性能较低的问题。
[0005]本申请实施例提供的一种纵向联邦学习模型的训练方法,包括:进行梯度下降的联邦学习迭代训练,并获取所有特征每次迭代所使用的梯度值;根据每一特征的梯度值,获取每一特征的梯度值变化趋势;以及重复迭代更新,直到判断出梯度值变化趋势满足预设条件的特征在特征总数的占比超过预设阈值时,进行有加密机制的联邦学习迭代训练。
[0006]上述技术方案中,在纵向联邦学习场景,将模型的训练流程拆分为前后两个阶段,前一训练阶段,模型信息量少且不稳定,在梯度中间值采取明文的方式由带有标签数据的发起方通信给数据参与方进行模型的学习,该过程几乎不泄露有效信息,因此,前一训练阶段进行不加密的联邦学习迭代训练,重复迭代更新,直到判断出梯度值变化趋势满足预设调节的特征在特征总数的占比超过预设阈值时,开始后一训练阶段进行有加密机制的联邦学习迭代训练。通过对模型训练过程的差异化处理,在保护数据安全的前提下,能够加快联邦学习算法的运行速度,明显提升算法性能。
[0007]在一些可选的实施方式中,在开始训练时,梯度值变化趋势为梯度夹角值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次迭代获取的梯度值。
[0008]上述技术方案中,为了将训练阶段合理拆分为前后两个阶段,引入了梯度夹角值的概念,例如:对一个特征的特征值来说,其特征权重所对应的梯度值即为导数,同时也是斜率,可以看做一条直线,相邻两次迭代所用到的两个梯度值可以看作是两条直线,这两条直线的夹角的变化反映了梯度值变化趋势,因此,梯度值变化趋势可以通过梯度夹角值来进行量化表示。
[0009]在一些可选的实施方式中,预设条件为梯度夹角值tan(angle)开始变小。
[0010]上述技术方案中,由于模型训练是使用梯度下降优化算法进行迭代的,在模型训练的起始阶段,梯度值变化较大,慢慢的逐步变缓,当快达到局部最优点是,梯度变缓将变得非常小,所以整个学习过程中连续两次梯度方向直线夹角先增大后减小,在单个特征场景下,将特征对应的梯度夹角值是否开始减小作为判断是否进入有加密机制的训练阶段,具备合理性。推广到多个特征的场景下,梯度值变化趋势满足预设条件的特征在特征总数的占比超过预设阈值时,进行有加密机制的联邦学习迭代训练,也具备合理性,其中预设阈值例如1/2、1/3等。在一些可选的实施方式中,联邦学习迭代训练包括:数据参与方和模型发起方各自计算每一样本特征的特征值与特征权重的内积;对每一样本特征,将数据参与方和模型发起方的内积相加,得到总内积值,使用sigmoid函数对总内积值进行转换得到预测值;对每一样本特征,将预测值与对应的模型发起方的真实标签做差,得到梯度中间值;以及根据梯度中间值分别计算数据参与方和模型发起方的样本特征的梯度值,并更新样本特征的特征权重。
[0011]上述技术方案中,在梯度中间值采取明文的方式由模型发起方通信给数据参与方进行模型的学习,该训练过程不采用加密方式通信,具有运行速度快的优点,并且由于是前一训练阶段,模型信息量少且不稳定,几乎不泄露有效信息。
[0012]在一些可选的实施方式中,梯度值变化趋势满足预设条件的特征在特征总数的占比超过预设阈值,包括:模型发起方和数据参与方的所有样本特征中梯度值变化趋势满足预设条件的数量在特征总数的占比超过预设阈值;其中,特征总数为模型发起方和数据参与方的样本特征数之和。
[0013]上述技术方案中,综合统计模型发起方和数据参与方的梯度值变化趋势的情况,以评估是否进入后一阶段的有加密机制的联邦学习迭代过程,相较于只统计一方的梯度值变化趋势更具有合理性,更能准确评估联邦学习整体的训练情况。
[0014]在一些可选的实施方式中,有加密机制的联邦学习迭代训练,包括:数据参与方和模型发起方各自计算每一样本特征的特征值与特征权重的内积;对每一样本特征,将数据参与方和模型发起方的内积相加,得到总内积值,使用sigmoid函数对总内积值进行转换得到预测值;
对每一样本特征,将预测值与对应的模型发起方的真实标签做差,得到梯度中间值;由模型发起方,根据梯度中间值计算模型发起方的梯度值,利用模型发起方的梯度值更新样本特征的特征权重,并且,对梯度中间值进行加密得到加密梯度中间值,并发送至数据参与方;由数据参与方,根据加密梯度中间值计算数据参与方的梯度并增加掩码,得到加密掩码梯度并发送至模型发起方;由模型发起方,对加密掩码梯度利用私钥解密,得到掩码梯度并发送至数据参与方;以及由数据参与方,对掩码梯度去除掩码,得到数据参与方的梯度值,并利用数据参与方的梯度值更新特征权重。
[0015]上述技术方案中,随着迭代次数的增加,特征权重逐步找到全局最优或者局部最优点,预测值与真实值直接的误差越来越小,此时梯度信息能够提供的有效信息较多,如果泄露梯度信息,将会产生数据信息泄露的安全隐患,因此,在后一阶段的联邦学习过程中,模型发起方和数据参与方采用加密方式通信,以保护双方隐私数据。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的方法,其特征在于,所述有加密机制的联邦学习迭代训练采用分
批训练的方式;所述根据加密梯度中间值计算数据参与方的梯度并增加掩码,得到加密掩码梯度并发送至模型发起方,包括:根据加密梯度中间值计算数据参与方的梯度后,对各对应样本特征的加密梯度值做聚合操作,并增加掩码,得到加密掩码聚合梯度并发送至模型发起方;利用梯度值更新特征权重,包括:计算每一样本特征的梯度值均值,利用梯度值均值...

【专利技术属性】
技术研发人员:尤志强卞阳
申请(专利权)人:富算科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1