基于秘密共享的纵向联邦学习方法、系统及存储介质与流程

专利2022-06-30  73


本发明涉及联邦学习领域,尤其涉及一种基于秘密共享的纵向联邦学习方法、系统及存储介质。



背景技术:

联邦学习是人工智能的核心研究领域之一。相关技术中,联邦双方在不用给出己方数据的情况下,可以通过加密技术实现数据交换,能够在保障数据隐私前提下进行联邦学习。

然而,目前联邦学习所采用的传统加密技术如同态加密,运算量,加密速度及其缓慢,严重影响联邦学习的效率。



技术实现要素:

本发明的主要目的在于提供一种基于秘密共享的纵向联邦学习方法、系统及存储介质,旨在解决现有联邦学习所采用的加密技术运算量大,影响联邦学习效率的技术问题。

为实现上述目的,本发明提供一种基于秘密共享的纵向联邦学习方法,应用于联邦第一方,所述方法包括以下步骤:

初始化所述第一方预测模型的第一参数;

基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;

根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;

计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。

为实现上述目的,本发明还提供一种基于秘密共享的纵向联邦学习方法,应用于联邦第二方,所述方法包括以下步骤:

初始化所述第二方预测模型的第二参数;

基于秘密共享机制,将所述第二方第二重叠样本第一份额发送至联邦第一方,以供所述第一方生成第一训练数据,并接收所述第一方基于秘密共享机制发送的所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额,以生成第二训练数据;

根据所述第二训练数据对第二方预测模型进行训练,计算第二损失值和第二梯度,以更新所述第二参数,并将所述第二损失值发送至所述第一方;

当接收到所述第一方基于所述第一训练数据和所述第二损失值得到训练好的第一方预测模型而发送的停止训练指令时,得到所述第二方训练好的预测模型。

此外,本发明还提供一种基于秘密共享的纵向联邦学习的预测方法,所述方法应用于联邦第一方,包括以下步骤:

通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签;

将所述第一预测标签与所述第二预测标签的和作为所述待预测样本的标签。

此外,为实现上述目的,本发明还提供一种基于秘密共享的纵向联邦学习系统,所述基于秘密共享的纵向联邦学习系统包括联邦第一方和联邦第二方,其中,所述联邦第一方包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于秘密共享的纵向联邦学习程序或基于秘密共享的纵向联邦学习的预测程序,所述基于秘密共享的纵向联邦学习程序被所述处理器执行时实现上所述的基于秘密共享的纵向联邦学习方法的步骤,或所述基于秘密共享的纵向联邦学习的预测程序被所述处理器执行时实现如上所述的基于秘密共享的纵向联邦学习的预测方法的步骤;

所述联邦第二方包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于秘密共享的纵向联邦学习程序,所述基于秘密共享的纵向联邦学习程序被所述处理器执行时实现如上所述的基于秘密共享的纵向联邦学习方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于秘密共享的纵向联邦学习程序或基于秘密共享的纵向联邦学习的预测程序,所述基于秘密共享的纵向联邦学习程序被处理器执行时实现如上所述的基于秘密共享的纵向联邦学习方法的步骤,或所述基于秘密共享的纵向联邦学习的预测程序实现如上所述的基于秘密共享的纵向联邦学习的预测方法的步骤。

本发明提供一种基于秘密共享的纵向联邦学习方法、系统及存储介质,本发明联邦第一方初始化所述第一方预测模型的第一参数;基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。本发明依据秘密共享机制,在保证联邦双方各自样本数据隐私的情况下,互相利用联邦双方的样本数据,通过纵向联邦学习方法学习得到用于预测新样本标签的预测模型,不仅提升了对联邦双方的样本数据的利用率和预测模型的精确度,且相比于传统的同态加密技术,本发明秘密共享机制运算量小,从而提升了联邦学习的效率。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明基于秘密共享的纵向联邦学习方法第一实施例的流程示意图;

图3为本发明基于秘密共享的纵向联邦学习方法第一实施例中涉及的联邦双方a、b的样本空间和特征空间的示意图;

图4为本发明基于秘密共享的纵向联邦学习方法第一实施例中涉及的联邦双方a、b的一次训练迭代过程示意图;

图5本发明基于秘密共享的纵向联邦学习方法第二实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例终端涉及的基于秘密共享的纵向联邦学习方法主要应用于基于秘密共享的纵向联邦学习系统,该系统包括联邦第一方和联邦第二方,联邦第一方和联邦第二方可以是pc或服务器等具有数据处理功能的设备。

参照图1,图1为本发明实施例方案中涉及的联邦第一方或联邦第二方的硬件结构示意图。如图1所示,联邦第一方或联邦第二方包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本申请的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于秘密共享的纵向联邦学习程序。在图1中,处理器1001可以用于调用存储器1005中存储的基于秘密共享的纵向联邦学习程序,并执行本发明实施例提供的基于秘密共享的纵向联邦学习方法的步骤。

基于上述硬件结构,提出本发明基于秘密共享的纵向联邦学习方法的各个实施例。

参照图2,本发明基于秘密共享的纵向联邦学习方法第一实施例提供一种基于秘密共享的纵向联邦学习方法,该方法应用于联邦第一方,联邦第一方可以是单个服务器或服务器集群,该方法包括:

步骤s10、初始化所述第一方预测模型的第一参数;

步骤s20、基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;

步骤s30、根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;

步骤s40、计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。

联邦学习是人工智能的核心研究领域之一,相关技术中,联邦双方在不用给出己方数据的情况下,可以通过加密技术实现数据交换,能够在保障数据隐私前提下进行联邦学习。然而,目前联邦学习所采用的传统加密技术如同态加密,运算量,加密速度及其缓慢,严重影响联邦学习的效率。本实施例在保证联邦双方各自样本数据隐私的情况下,互相利用联邦双方的样本数据,通过纵向联邦学习方法学习得到用于预测新样本标签的预测模型,不仅提升了对联邦双方的样本数据的利用率和预测模型的精确度,且相比于传统的同态加密技术,本发明秘密共享机制运算量小,从而提升了联邦学习的效率。

为更好理解本实施例,首先对纵向联邦学习和秘密共享机制进行介绍。其中,纵向联邦学习是指,在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出联邦双方用户相同而用户特征不完全相同的那部分数据进行训练。秘密共享是实现安全多方计算协议的一种方法,指的是数据拥有者的多方在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方都无法得到除应得的计算结果之外的其他任何信息。具体到本实施例,就是利用联邦双方的重叠样本,通过基于秘密共享的纵向联邦学习方法学习得到预测模型,用于预测新样本的标签。

以下详细介绍本实施例基于秘密共享的纵向联邦学习方法的具体步骤:

步骤s10、初始化所述第一方预测模型的第一参数;

在本实施例中,联邦双方的样本空间和特征空间均不同,联邦第一方的样本有标签,联邦第二方的样本无标签,但联邦第一方和联邦第二方拥有若干个重叠样本。例如,以a、b表示联邦双方,a拥有样本xa和样本xa对应的标签ya,b拥有样本xb,样本xb没有标签,联邦双方a、b的样本空间和特征空间均不同,但是a、b拥有nab个重叠样本nab,在重叠样本nab中,属于a的第一重叠样本记为第一重叠样本的标签记为属于b的第二重叠样本记为即,可以参照图3,图3为联邦双方a、b的样本空间和特征空间的示意图,阴影部分为双方a、b的重叠样本。

首先,联邦第一方初始化其预测模型的参数(定义为第一参数),与此同时,联邦第二方初始化其预测模型的参数(定义为第二参数)。

步骤s20、基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;

之后,联邦第一方依据秘密共享机制,将联邦第一方的第一重叠样本秘密共享给第二方,还将第一重叠样本的标签秘密共享给第二方。

在一些实施例中,所述基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,具体为:将所述第一方和所述第二方的重叠样本中属于所述第一方的第一重叠样本拆分为第一重叠样本第一份额和第一重叠样本第二份额,以及,将属于所述第一方的第一重叠样本标签拆分为第一重叠样本标签第一份额和第一重叠样本标签第二份额;将所述第一重叠样本第二份额和所述第一重叠样本标签第二份额发送给联邦第二方。

在一些实施例中,所述接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据,具体为:接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额;将所述第一重叠样本第一份额、所述第二重叠样本第一份额和所述第一重叠样本标签第一份额组成第一训练数据。

在一些实施例中,所述接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据,具体为:接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额;将所述第一重叠样本第一份额、所述第二重叠样本第一份额和所述第一重叠样本标签第一份额组成第一训练数据。

即,联邦第一方将联邦第一方和联邦第二方的重叠样本中属于联邦第一方的第一重叠样本,拆分为第一重叠样本第一份额和第一重叠样本第二份额,以及,将属于联邦第一方的第一重叠样本标签拆分为第一重叠样本标签第一份额和第一重叠样本标签第二份额,并将第一重叠样本第二份额和第一重叠样本标签第二份额发送给第二方。

与此同时,联邦第二方依据秘密共享机制,将联邦第二方的第二重叠样本秘密共享给第一方。具体地,联邦第二方将重叠样本中属于联邦第二方的第二重叠样本拆分为第二重叠样本第一份额和第二重叠样本第二份额,并将第二重叠样本第一份额发送给联邦第一方。

通过上述方式,基于秘密共享机制,联邦双方在保证各自样本数据隐私的情况下,实现了样本数据的秘密互换,后续联邦双方即可分别利用联邦双方拥有的所有特征,通过基于秘密共享的纵向联邦学习方法学习得到各自的预测模型。

联邦第一方接收联邦第二方发送的第二重叠样本第一份额,将第一重叠样本第一份额、第二重叠样本第一份额和第一重叠样本标签第一份额组成第一训练数据。与此同时,联邦第二方接收联邦第一方发送的第一重叠样本第二份额和第一重叠样本标签第二份额,将第二重叠样本第二份额、第一重叠样本第二份额和第一重叠样本标签第二份额组成第二训练数据。

步骤s30、根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;

进一步地,联邦第一方根据第一训练数据对联邦第一方预测模型进行训练,计算第一损失值和第一梯度,以更新第一参数。与此同时,联邦第二方根据第二训练数据对联邦第二方预测模型进行训练,计算第二损失值和第二梯度,以更新第二参数,并将第二损失值发送给联邦第一方。联邦第一方接收联邦第二方发送的第二损失值。

步骤s40、计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。

之后,联邦第一方计算第一损失值和第二损失值的和,当第一损失值和第二损失值的和收敛时,第一参数更新完成,得到训练好的第一参数,即得到联邦第一方训练好的预测模型。联邦第一方向联邦第二方发送停止训练指令,联邦第二方停止训练,第二参数更新完成,得到训练好的第二参数,即得到联邦第二方训练好的预测模型。

为更好理解本实施例,参照图4,举例联邦双方a、b进行一次训练迭代的过程:

1)a方初始化a方预测模型的参数<θ>a,b方初始化b方预测模型的参数<θ>b;

2)a方基于秘密共享机制将重叠样本中属于a方的第一重叠样本拆分为第一重叠样本第一份额和第一重叠样本第二份额,将对应的标签拆分为第一重叠样本标签第一份额和第一重叠样本标签第二份额:

a方将发送给b方;

b方基于秘密共享机制将重叠样本中属于b方的第二重叠样本拆分为第二重叠样本第一份额和第二重叠样本第二份额:

b方将发送给a方;

3)a方将连结,组成第一训练数据,表示为:

为m×(da db)矩阵;

b方将连结,组成第二训练数据,表示为:

为m×(da db)矩阵;

4)a方根据参数<θ>a、第一训练数据和剩余份标签计算第一损失函数:

根据损失函数<l>a,计算第一梯度

b方根据参数<θ>b、第二训练数据和接收到的标签计算第二损失函数:

根据损失函数<l>b,计算第二梯度b方将<l>b发送给a方;

5)a方更新参数

b方更新参数

6)在a方计算损失函数l:

l=<l>a <l>b

判断损失函数l是否收敛,即,当损失函数l的值小于预设阈值时,则确认损失函数l收敛,说明a、b均得到最优参数,a、b各自对应的预测模型训练完成;当损失函数l未收敛时,继续执行步骤4)。

本实施例提供一种基于秘密共享的纵向联邦学习方法,初始化所述第一方预测模型的第一参数;基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。本发明依据秘密共享机制,在保证联邦双方各自样本数据隐私的情况下,互相利用联邦双方的样本数据,通过纵向联邦学习方法学习得到用于预测新样本标签的预测模型,不仅提升了对联邦双方的样本数据的利用率和预测模型的精确度,且相比于传统的同态加密技术,本发明秘密共享机制运算量小,从而提升了联邦学习的效率。

进一步地,基于上述图2所示的第一实施例,参照图5,本发明基于秘密共享的纵向联邦学习方法第二实施例提供一种基于秘密共享的纵向联邦学习方法,该方法应用于联邦第二方,联邦第二方可以是单个服务器或服务器集群,该方法包括:

步骤s50、初始化所述第二方预测模型的第二参数;

步骤s60、基于秘密共享机制,将所述第二方第二重叠样本第一份额发送至联邦第一方,以供所述第一方生成第一训练数据,并接收所述第一方基于秘密共享机制发送的所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额,以生成第二训练数据;

步骤s70、根据所述第二训练数据对第二方预测模型进行训练,计算第二损失值和第二梯度,以更新所述第二参数,并将所述第二损失值发送至所述第一方;

步骤s80、当接收到所述第一方基于所述第一训练数据和所述第二损失值得到训练好的第一方预测模型而发送的停止训练指令时,得到所述第二方训练好的预测模型。

本实施例的具体实现过程可参照第一实施例,此处不再赘述。

进一步地,基于上述图2或图3所示的实施例,还提出本发明基于秘密共享的纵向联邦学习的预测方法的各个实施例。

本发明基于秘密共享的纵向联邦学习的预测方法的第一实施例提供一种基于秘密共享的纵向联邦学习的预测方法,该方法应用于联邦第一方,该方法还包括:

通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签;

将所述第一预测标签与所述第二预测标签的和作为所述待预测样本的标签。

即,在联邦第一方和联邦第二方分别得到训练好的预测模型之后,联邦第一方即可联合联邦第二方对待预测样本的标签进行预测。具体地,联邦第一方通过其训练好的预测模型对待预测样本进行预测,得到第一预测标签;与此同时,联邦第二方通过其训练好的预测模型对待预测样本进行预测,得到第二预测标签,并将第二预测标签发送给联邦第一方。联邦第一方接收联邦第二方发送的第二预测标签,将第一预测标签与第二预测标签的和作为待预测样本的标签。

在一些实施例中,所述通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签,具体为:获取待预测样本在所述第一方的第一待预测样本;基于秘密共享机制,将所述第一待预测样本第二份额发送至所述第二方,以供所述第二方生成第二目标待预测样本,并接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额,以生成第一目标待预测样本;将所述第一目标待预测样本输入所述第一方训练好的预测模型进行分析得到第一预测标签,并接收所述第二方发送的所述第二方将所述第二目标待预测样本输入所述第二方训练好的预测模型进行分析得到的第二预测标签。

在一些实施例中,所述基于秘密共享机制,将所述第一待预测样本第二份额发送至所述第二方,具体为:将所述第一待预测样本拆分为第一待预测样本第一份额和第一待预测样本第二份额,并将所述第一待预测样本第二份额发送至所述第二方。

在一些实施例中,所述接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额,以生成第一目标待预测样本,具体为:接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额;将所述第一待预测样本第一份额和所述第二待预测样本第一份额组成第一目标待预测样本。

即,可以预先给定待预测样本在联邦第一方的第一待预测样本和在联邦第二方的第二待预测样本。联邦第一方获取待预测样本在联邦第一方的第一待预测样本;与此同时,联邦第二方获取待预测样本在联邦第二方的第二待预测样本。

之后,联邦第一方基于秘密共享机制,将第一待预测样本拆分为第一待预测样本第一份额和第一待预测样本第二份额,并将第一待预测样本第二份额发送至联邦第二方;与此同时,联邦第二方基于秘密共享机制,将第二待预测样本拆分为第二待预测样本第一份额和第二待预测样本第二份额,并将第二待预测样本第一份额发送至联邦第一方。

联邦第一方接收联邦第二方发送的第二待预测样本第一份额,将第一待预测样本第一份额和二待预测样本第一份额组成第一目标待预测样本。与此同时,联邦第二方接收联邦第一方发送的第一待预测样本第二份额,将第二待预测样本第二份额和所述第一待预测样本第二份额组成第二目标待预测样本。

之后,联邦第一方将第一目标待预测样本输入至其训练好的预测模型进行预测,得到其训练好的预测模型输出的第一预测标签,并将第一预测标签发送至联邦第二方;与此同时,联邦第二方将第二目标待预测样本输入至其训练好的预测模型进行预测,得到其训练好的预测模型输出的第二预测标签,并将第二预测标签发送至联邦第一方。

联邦第一方接收联邦第二方发送的第二预测标签,将将第一预测标签与第二标签的和作为预测结果。联邦第二方接收联邦第一方发送的第一预测标签,将第一预测标签与第二标签的和作为预测结果。

为更好理解本实施例,示例联邦双方a、b对待预测样本进行联合预测的过程:

待预测样本表示为其中,为预先给定的待预测样本在联邦第一方的第一待预测样本,为预先给定的待预测样本在联邦第二方的第二待预测样本。

1)a方基于秘密共享机制将第一待预测样本拆分成两份:

发送给b方;

b方基于秘密共享机制将样本数据拆分成两份:

b方将发送给a方;

2)a方将连结组成第一目标待预测样本,表示为:

b方将连结组成第二目标待预测样本,表示为:

3)a方基于第一目标待预测样本和a方预测模型,得到第一预测标签同时,b方基于第一目标待预测样本和b方预测模型,得到第一预测标签

4)a方将发送至b方,b方将发送至a方,a、b两方得到最终预测结果为:

的结果记为在预测完成后,即可得到有标注的样本

本发明提供的基于秘密共享的纵向联邦学习的预测方法,联邦第一方通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签;将所述第一预测标签与所述第二预测标签的和作为所述待预测样本的标签。本发明联邦第一方在其和联邦第二方分别得到训练好的预测模型之后,联合联邦第二方对新样本的标签进行预测,大大提升了所预测出的标签的准确度。

此外,本发明实施例还提出一种存储介质。

本发明所存储介质上存储有基于秘密共享的纵向联邦学习程序,所述基于秘密共享的纵向联邦学习程序被处理器执行时实现如上所述的基于秘密共享的纵向联邦学习方法的步骤,或所述基于秘密共享的纵向联邦学习的预测程序实现如上所述的基于秘密共享的纵向联邦学习的预测方法的步骤。

本发明存储介质的具体实施例与上述基于秘密共享的纵向联邦学习方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程映射,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种基于秘密共享的纵向联邦学习方法,其特征在于,所述方法应用于联邦第一方,包括以下步骤:

初始化所述第一方预测模型的第一参数;

基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方,以供所述第二方生成第二训练数据,并接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据;

根据所述第一训练数据对所述第一方预测模型进行训练,计算第一损失值和第一梯度,以更新所述第一参数,并接收所述第二方发送的所述第二方根据所述第二训练数据对所述第二方预测模型进行训练时计算的第二损损失值;

计算所述第一损失值和所述第二损失值的和,当所述第一损失值和所述第二损失值的和收敛时,得到所述第一方训练好的预测模型,并向所述第二方发送停止训练指令。

2.如权利要求1所述的基于秘密共享的纵向联邦学习方法,其特征在于,所述基于秘密共享机制,将所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方的步骤包括:

将所述第一方和所述第二方的重叠样本中属于所述第一方的第一重叠样本拆分为第一重叠样本第一份额和第一重叠样本第二份额,以及,将属于所述第一方的第一重叠样本标签拆分为第一重叠样本标签第一份额和第一重叠样本标签第二份额;

将所述第一重叠样本第二份额和所述第一重叠样本标签第二份额发送给联邦第二方。

3.如权利要求2所述的基于秘密共享的纵向联邦学习方法,其特征在于,所述接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额,以生成第一训练数据的步骤包括:

接收所述第二方基于秘密共享机制发送的所述第二方第二重叠样本第一份额;

将所述第一重叠样本第一份额、所述第二重叠样本第一份额和所述第一重叠样本标签第一份额组成第一训练数据。

4.一种基于秘密共享的纵向联邦学习方法,其特征在于,所述方法应用于联邦第二方,包括以下步骤:

初始化所述第二方预测模型的第二参数;

基于秘密共享机制,将所述第二方第二重叠样本第一份额发送至联邦第一方,以供所述第一方生成第一训练数据,并接收所述第一方基于秘密共享机制发送的所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额,以生成第二训练数据;

根据所述第二训练数据对第二方预测模型进行训练,计算第二损失值和第二梯度,以更新所述第二参数,并将所述第二损失值发送至所述第一方;

当接收到所述第一方基于所述第一训练数据和所述第二损失值得到训练好的第一方预测模型而发送的停止训练指令时,得到所述第二方训练好的预测模型。

5.如权利要求4所述的基于秘密共享的纵向联邦学习方法,其特征在于,所述基于秘密共享机制,将所述第二方第二重叠样本第一份额发送至联邦第一方的步骤包括:

将所述第一方和所述第二方的重叠样本中属于第二方的第二重叠样本拆分为第二重叠样本第一份额和第二重叠样本第二份额;

将所述第二重叠样本第一份额发送给所述第一方。

6.如权利要求5所述的基于秘密共享的纵向联邦学习方法,其特征在于,所述接收所述第一方基于秘密共享机制发送的所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额,以生成第二训练数据的步骤包括:

接收所述第一方基于秘密共享机制发送的所述第一方第一重叠样本第二份额和第一重叠样本标签第二份额;

将所述第一重叠样本第二份额、所述第二重叠样本第二份额和所述第一重叠样本标签第二份额组成第二训练数据。

7.一种基于秘密共享的纵向联邦学习的预测方法,其特征在于,所述方法应用于联邦第一方,包括以下步骤:

通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签;

将所述第一预测标签与所述第二预测标签的和作为所述待预测样本的标签。

8.如权利要求7所述的基于秘密共享的纵向联邦学习的预测方法,其特征在于,所述通过所述第一方训练好的预测模型对待预测样本进行预测,得到第一预测标签,并接收联邦第二方发送的所述第二方通过所述第二方训练好的预测模型对待预测样本进行预测得到的第二预测标签的步骤包括:

获取待预测样本在所述第一方的第一待预测样本;

基于秘密共享机制,将所述第一待预测样本第二份额发送至所述第二方,以供所述第二方生成第二目标待预测样本,并接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额,以生成第一目标待预测样本;

将所述第一目标待预测样本输入所述第一方训练好的预测模型进行分析得到第一预测标签,并接收所述第二方发送的所述第二方将所述第二目标待预测样本输入所述第二方训练好的预测模型进行分析得到的第二预测标签。

9.如权利要求8所述的基于秘密共享的纵向联邦学习的预测方法,其特征在于,所述基于秘密共享机制,将所述第一待预测样本第二份额发送至所述第二方的步骤包括:

将所述第一待预测样本拆分为第一待预测样本第一份额和第一待预测样本第二份额,并将所述第一待预测样本第二份额发送至所述第二方;

所述接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额,以生成第一目标待预测样本的步骤包括:

接收所述第二方基于秘密共享机制发送的所述第二方第二待预测样本第一份额;

将所述第一待预测样本第一份额和所述第二待预测样本第一份额组成第一目标待预测样本。

10.一种基于秘密共享的纵向联邦学习系统,其特征在于,所述基于秘密共享的纵向联邦学习系统包括联邦第一方和联邦第二方,其中,

所述联邦第一方包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于秘密共享的纵向联邦学习程序或基于秘密共享的纵向联邦学习的预测程序,所述基于秘密共享的纵向联邦学习程序被所述处理器执行时实现如权利要求1至3任一项所述的基于秘密共享的纵向联邦学习方法的步骤,或所述基于秘密共享的纵向联邦学习的预测程序被所述处理器执行时实现如权利要求7至9中任一项所述的基于秘密共享的纵向联邦学习的预测方法的步骤;

所述联邦第二方包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于秘密共享的纵向联邦学习程序,所述基于秘密共享的纵向联邦学习程序被所述处理器执行时实现如权利要求4至6中任一项所述的基于秘密共享的纵向联邦学习方法的步骤。

11.一种存储介质,其特征在于,所述存储介质上存储有基于秘密共享的纵向联邦学习程序或基于秘密共享的纵向联邦学习的预测程序,所述基于秘密共享的纵向联邦学习程序被处理器执行时实现如权利要求1至3或4至6中任一项所述的基于秘密共享的纵向联邦学习方法的步骤,或所述基于秘密共享的纵向联邦学习的预测程序实现如权利要求7至9中任一项所述的基于秘密共享的纵向联邦学习的预测方法的步骤。

技术总结
本发明公开一种基于秘密共享的纵向联邦学习方法、系统及存储介质,该方法包括:联邦第一方初始化其预测模型的第一参数;基于秘密共享机制将其第一重叠样本第二份额和第一重叠样本标签第二份额发送至联邦第二方供第二方生成第二训练数据,接收第二方基于秘密共享机制发送的第二方第二重叠样本第一份额以生成第一训练数据;根据第一训练数据对其预测模型进行训练,计算第一损失值和第一梯度以更新第一参数,接收第二方发送的第二方根据第二训练数据对其预测模型进行训练时计算的第二损损失值;计算第一损失值和第二损失值的和,当第一损失值和第二损失值的和收敛时得到其训练好的预测模型,向第二方发送停止训练指令。本发明能够提升联邦学习效率。

技术研发人员:康焱;刘洋;陈天健
受保护的技术使用者:深圳前海微众银行股份有限公司
技术研发日:2020.01.16
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56019.html

最新回复(0)