联邦学习建模优化方法、设备、介质及计算机程序产品与流程

文档序号:26176067发布日期:2021-08-06 18:21阅读:118来源:国知局
联邦学习建模优化方法、设备、介质及计算机程序产品与流程

本申请涉及金融科技(fintech)的人工智能技术领域,尤其涉及一种联邦学习建模优化方法、设备、介质及计算机程序产品。



背景技术:

随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。

随着计算机技术的不断发展,联邦学习的应用也越来越广泛,目前,在通过联邦学习进行模型构建时,参与联邦学习的标签拥有方通常需要将同态加密的标签发送至无标签的特征拥有方,进而特征拥有方基于同态加密的标签计算同态加密的梯度和同态加密的损失,并将同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方对同态加密的梯度和同态加密的损失进行解密后,将明文状态的模型梯度和模型损失发送至特征拥有方后,特征拥有方即可更新本地模型,但是,若特征拥有方在接收同态加密的标签后,将己方想要知道的密文内容(同态加密的标签)代替同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方进行解密后,将解密结果反馈至特征拥有方,特征拥有方即可套取标签拥有方的样本标签,也即,在构建模型的整个联邦学习过程中存在解密接口,进而特征拥有方可通过解密接口套取标签拥有方的隐私数据,进而将导致作为标签拥有方的隐私数据的样本标签发生泄露,所以,当前基于联邦学习构建模型的方法仍存在安全隐患。



技术实现要素:

本申请的主要目的在于提供一种联邦学习建模优化方法、设备、介质及计算机程序产品,旨在解决现有技术中基于联邦学习构建模型时安全性低的技术问题。

为实现上述目的,本申请提供一种联邦学习建模优化方法,所述联邦学习建模优化方法应用于第一设备,所述联邦学习建模优化方法包括:

获取第一方待训练本地模型对应的第一方本地模型预测值;

基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值;

基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型;

基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型。

为实现上述目的,本申请提供一种联邦学习建模优化方法,所述联邦学习建模优化方法应用于第二设备,所述联邦学习建模优化方法包括:

获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签;

基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值;

基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型;

基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型。

本申请还提供一种联邦学习建模优化装置,所述联邦学习建模优化装置为虚拟装置,且所述联邦学习建模优化装置应用于第一设备,所述联邦学习建模优化装置包括:

获取模块,用于获取第一方待训练本地模型对应的第一方本地模型预测值;

加密值交换模块,用于基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值;

加密中间参数交换模块,用于基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型;

优化模块,用于基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型。

本申请还提供一种联邦学习建模优化装置,所述联邦学习建模优化装置为虚拟装置,且所述联邦学习建模优化装置应用于第二设备,所述联邦学习建模优化装置包括:

获取模块,用于获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签;

加密值交换模块,用于基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值;

加密中间参数交换模块,用于基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型;

优化模块,用于基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型。

本申请还提供一种联邦学习建模优化设备,所述联邦学习建模优化设备为实体设备,所述联邦学习建模优化设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述联邦学习建模优化方法的程序,所述联邦学习建模优化方法的程序被处理器执行时可实现如上述的联邦学习建模优化方法的步骤。

本申请还提供一种介质,所述介质为可读存储介质,所述可读存储介质上存储有实现联邦学习建模优化方法的程序,所述联邦学习建模优化方法的程序被处理器执行时实现如上述的联邦学习建模优化方法的步骤。

本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的联邦学习建模优化方法的步骤。

本申请提供了一种联邦学习建模优化方法、设备、介质及计算机程序产品,相比于现有技术采用的参与联邦学习的标签拥有方通常需要将同态加密的标签发送至无标签的特征拥有方,进而特征拥有方基于同态加密的标签计算同态加密的梯度和同态加密的损失,并将同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方对同态加密的梯度和同态加密的损失进行解密后,将明文状态的模型梯度和模型损失反馈至特征拥有方以进行模型更新的技术手段,本申请首先获取第一方待训练本地模型对应的第一方本地模型预测值,进而基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值,进而基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型,进而基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型,其中,在构建联邦模型的整个交互过程中,第一设备与第二设备之间互相传递的数据均为加密数据,所以,本申请在构建联邦模型的过程中不存在解密接口,所以,克服了现有技术中由于在构建模型的整个联邦学习过程中存在解密接口,特征拥有方可通过解密接口套取标签拥有方的隐私数据,进而导致作为标签拥有方的隐私数据的样本标签发生泄露的技术缺陷,所以,提升了基于联邦学习构建模型时的安全性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请联邦学习建模优化方法第一实施例的流程示意图;

图2为本申请联邦学习建模优化方法中第一设备侧迭代训练第一方待训练本地模型的流程示意图;

图3为本申请联邦学习建模优化方法中第二设备侧迭代训练第二方待训练本地模型的流程示意图;

图4为本申请联邦学习建模优化方法第二实施例的流程示意图;

图5为本申请联邦学习建模优化方法第三实施例的流程示意图;

图6为本申请联邦学习建模优化方法第四实施例的流程示意图;

图7本申请联邦学习建模优化方法中第二设备生成联邦预测结果的流程示意图;

图8为本申请实施例中联邦学习建模优化方法涉及的硬件运行环境的设备结构示意图;

图9为本申请实施例方案涉及的联邦学习的硬件架构示意图。

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

具体实施方式

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

本申请实施例提供一种联邦学习建模优化方法,在本申请联邦学习建模优化方法的第一实施例中,参照图1,所述联邦学习建模优化方法应用于第一设备,所述联邦学习建模优化方法包括:

步骤s10,获取第一方待训练本地模型对应的第一方本地模型预测值;

在本实施例中,需要说明的是,所述联邦学习建模优化方法应用于纵向联邦学习的场景,第一设备与第二设备均为纵向联邦学习的参与方,其中,所述第一设备拥有不具备样本标签的本地样本,所述第二设备拥有具备样本标签的本地样本,所述第一方待训练本地模型为第一设备中未训练好的第一方本地模型,其中,所述第一方本地模型可以为逻辑回归模型,所述第一方本地模型预测值为第一设备中第一方待训练本地模型输出的逻辑回归值。

另外地,需要说明的是,在联邦迭代训练所述第一方待训练本地模型的第一轮迭代过程中,所述第一方待训练本地模型的模型参数处于明文状态,由联邦迭代训练所述第一方待训练本地模型的第二轮迭代过程开始,所述第一方待训练本地模型的模型参数均处于同态加密的密文状态,所以,所述第一方本地模型预测值可以表示为第一方待训练本地模型的模型参数与样本的乘积,也可以表示为同态加密的第一方待训练本地模型的模型参数与样本的乘积,例如,假设样本a为x,第一方待训练本地模型的模型参数为w,则所述第一方本地模型预测值为wx或者为[[wx]],其中,[[]]为同态加密符号。

获取第一方待训练本地模型对应的第一方本地模型预测值,具体地,获取公共样本id,其中,所述公共样本id为第一设备与第二设备进行样本对齐确定的样本id,进而获取所述公共样本id对应的第一方本地样本以及所述第一方训练本地模型参数对应的第一方本地模型参数,进而计算第一方本地模型参数和第一方本地样本之积,获得第一方本地模型预测值。

步骤s20,基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值;

在本实施例中,需要说明的是,在纵向联邦学习的场景中,纵向联邦模型分为两部分,一部分在第一设备中,也即为第一方待训练本地模型,另一部分在第二设备中,也即为第二方待训练本地模型,所述第二方待训练本地模型为第二设备中未训练好的第二方本地模型,其中,所述第二方本地模型可以为逻辑回归模型。

基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值,具体地,基于预设第一方随机数混合方式,将同态加密的第一方本地模型预测值与预设第一方随机数进行混合,获得第一方随机数加密值,其中,所述预设第一方随机数混合方式包括求和以及求积等方式,进而基于所述第一方随机数加密值,与第二设备进行加密值交换,以将所述第一方随机数加密值发送至第二设备,并接收第二设备发送的第二方随机数加密值,其中,所述第二设备获取与第一设备中一致的公共样本id,进而获取所述公共样本id对应的第二方本地样本以及所述第二方训练本地模型参数对应的第二方本地模型参数,进而计算第二方本地模型参数和第二方本地样本之积,获得第二方本地模型预测值,基于预设第二方随机数混合方式,将同态加密的第二方本地模型预测值、预设第二方随机数以及所述第二方本地样本对应的样本标签进行混合,获得第二方随机数加密值,其中,所述预设第二方随机数混合方式包括求和以及求积等,例如假设所述第一方本地模型预测值为[[wx]],所述预设第一方随机数混合方式为求和,所述预设第一方随机数为r1,进而所述第一方随机数加密值为[[wx]]+r1,假设预设第二方随机数混合方式为求和以及求差,所述第二本地模型预测值为[[wx2]],所述样本标签为y,所述预设第二方随机数为r2,进而所述第二方随机数加密值为1/4[[wx2]]-1/2y+r2。

其中,所述基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值的步骤包括:

步骤s21,基于预设第一方随机数和预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行随机数加密,获得第一方随机数加密值;

在本实施例中,需要说明的是,第二设备生成预设第二方密钥对,并将所述预设第二方密钥对中的公钥分享至第一设备,而第一设备生成预设第一方密钥对,并将所述预设第一方密钥对中的公钥分享至第二设备。

基于预设第一方随机数和预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行随机数加密,获得第一方随机数加密值,具体地,若所述第一方本地模型预测值处于同态加密状态,其中,所述第一方本地模型预测值是基于预设第二方密钥对中的公钥加密的,此时联邦学习的迭代轮次大于1,则基于预设第一随机数混合方式,将所述第一方本地模型预测值与预设第一方随机数进行混合,获得第一方随机数加密值,若所述第一方本地模型预测值未处于同态加密状态,此时联邦学习的迭代轮次等于1,则基于预设第二方密钥对中的公钥,对第一方本地模型预测值进行同态加密,获得同态加密的第一方本地模型预测值,进而基于预设第一随机数混合方式,将同态加密的第一方本地模型预测值与预设第一方随机数进行混合,获得第一方随机数加密值。

其中,所述基于预设第一方随机数和预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行随机数加密,获得第一方随机数加密值的步骤包括:

步骤s211,基于所述预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行同态加密,获得第一方同态加密模型预测值;

在本实施例中,需要说明的是,此时联邦学习的迭代轮次为1,所述第一方同态加密模型预测值为处于同态加密状态的第一方本地模型预测值。

步骤s212,将所述第一方同态加密模型预测值和所述预设第一方随机数进行混合,生成所述第一方随机数加密值。

在本实施例中,将所述第一方同态加密模型预测值和所述预设第一方随机数进行混合,生成所述第一方随机数加密值,具体地,计算所述第一方同态加密模型预测值与所述预设第一方随机数之和,以将所述第一方同态加密模型预测值和所述预设第一方随机数进行混合,获得所述第一方随机数加密值。

步骤s22,基于所述第一方随机数加密值,与所述第二设备进行加密值交换,获得所述第二方随机数加密值。

在本实施例中,基于所述第一方随机数加密值,与所述第二设备进行加密值交换,获得所述第二方随机数加密值,具体地,所述第一设备将第一方随机数加密值发送至第二设备,并接收所述第二设备发送的第二方随机数加密值,所述第二设备将第二方随机数加密值发送至第一设备,并接收第一设备发送的第一方随机数加密值。

步骤s30,基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型;

在本实施例中,基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型,具体地,基于预设第一方密钥对中的私钥,对所述第二方随机数加密值进行解密,获得第二方随机数混合值,进而基于所述第二方随机数混合值和所述第一方本地模型预测值,计算第二方随机数混合中间参数,并基于预设第一方密钥对中的公钥,对所述第二方随机数混合中间参数进行同态加密,获得第二方随机数加密中间参数,进而基于所述第二方随机数加密中间参数,与第二设备进行加密中间参数交换,以将所述第二方随机数加密中间参数发送至第二设备,并接收第二设备发送的第一方随机数加密中间参数,以供所述第二设备接收第一设备发送的第二方随机数加密中间参数,进而对所述第二方随机数中间参数进行随机数消除,获得第二方加密中间参数,进而通过计算所述第二方加密中间参数和第二方本地样本之积,生成第二方加密模型梯度,进而基于所述第二方加密模型梯度,优化所述第二方待训练本地模型,获得第二方联邦模型,其中,所述第二设备基于预设第二方密钥对中的私钥,对所述第一方随机数加密值进行解密,获得第一方随机数混合值,进而基于所述第一方随机数混合值和所述第二方本地模型预测值,计算第一方随机数混合中间参数,并基于预设第二方密钥对中的公钥,对所述第一方随机数混合中间参数进行同态加密,获得第一方随机数加密中间参数。

其中,所述基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数的步骤包括:

步骤s31,基于预设第一方密钥对中的私钥和公钥、所述第二方随机数加密值以及所述第一方本地模型预测值,生成第二方随机数加密中间参数;

在本实施例中,基于预设第一方密钥对中的私钥和公钥、所述第二方随机数加密值以及所述第一方本地模型预测值,生成第二方随机数加密中间参数,具体地,基于预设第一方密钥对中的私钥,对所述第二方随机数加密值进行解密,获得第二方随机数混合值,进而基于所述第二方随机数混合值以及所述第一方本地模型预测值对应的第一方本地样本,计算第二方随机数混合中间参数,并基于所述预设第一方密钥对中的公钥,对所述第二方随机数混合中间参数进行同态加密,生成第二方随机数加密中间参数,其中,所述计算第二方随机数混合中间参数的过程如下:

其中,d为所述第二方随机数混合中间参数,wx1为所述第一方本地模型预测值,wx2为所述第二方本地模型预测值,y为所述样本标签,r2为所述预设第二方随机数,所述第二方随机数混合值为1/4wx2-1/2y+r2。

其中,所述基于所述预设第一方密钥对中的私钥和公钥、所述第二方随机数加密值、所述第一方本地模型预测值,生成第二方随机数加密中间参数的步骤包括:

步骤s311,基于所述预设第一方密钥对中的私钥,对所述第二方随机数加密值进行解密,获得第二方随机数混合值;

在本实施例中,需要说明的是,所述第二方随机数加密值为同态加密的第二方随机数混合值。

步骤s312,基于所述第一方本地模型预测值和所述第二方随机数混合值,生成第二方随机数混合中间参数;

在本实施例中,基于所述第一方本地模型预测值和所述第二方随机数混合值,生成第二方随机数混合中间参数,具体地,通过计算所述第一方本地模型预测值和所述第二方随机数混合值之和,生成第二方随机数混合中间参数。

步骤s313,基于所述预设第一方密钥对中的公钥,对所述第二方随机数混合中间参数进行加密,获得所述第二方随机数加密中间参数。

在本实施例中,需要说明的是,所述预设第一方密钥对中的私钥只由第一设备持有,所述第一设备与第二设备均持有预设第一方密钥对中的公钥。

步骤s32,基于所述第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得所述第一方随机数加密中间参数。

在本实施例中,基于所述第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得所述第一方随机数加密中间参数,具体地,第一设备将所述第二方随机数加密中间参数发送至第二设备,以供所述第二设备接收所述第二方随机数加密中间参数,所述第二设备将所述第一方随机数加密中间参数发送至第一设备,以供所述第一设备接收所述第一方随机数加密中间参数,其中,需要说明的是,由于第一方随机数加密中间参数是基于预设第二方密钥中的公钥进行加密的,而预设第二方密钥中的私钥只由第二设备持有,进而第一设备无法对第一方随机数加密中间参数进行解密,且由于第二方随机数加密中间参数是基于预设第一方密钥中的公钥进行加密的,而预设第一方密钥中的私钥只由第一设备持有,进而第二设备无法对第二方随机数加密中间参数进行解密。

步骤s40,基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型。

在本实施例中,基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型,具体地,对所述第一方随机数加密中间参数进行随机数消除,获得第一方加密中间参数,进而基于所述第一方加密中间参数生成的第一方加密模型梯度,更新所述第一方待训练本地模型的模型参数,获得第一方联邦模型。

其中,所述基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型的步骤包括:

步骤s41,对所述第一方随机数加密中间参数进行随机数消除,获得第一方加密中间参数;

在本实施例中,对所述第一方随机数加密中间参数进行随机数消除,获得第一方加密中间参数,具体地,通过计算所述第一方随机数加密中间参数与预设第一方随机数之间的差值,以对所述第一方随机数加密中间参数进行随机数消除,获得第一方加密中间参数,其中,对所述第一方随机数加密中间参数进行随机数消除的过程如下:

[[d]]1=[[d1]]-r1

其中,[[d]]1为所述第一方加密中间参数,[[d1]]为第一方随机数加密中间参数,wx1为所述第一方本地模型预测值,wx2为所述第二方本地模型预测值,y为所述样本标签,r1为所述预设第一方随机数。

步骤s42,基于所述第一方加密中间参数和所述第一方本地模型预测值对应的第一方本地样本,生成第一方加密梯度;

在本实施例中,基于所述第一方加密中间参数和所述第一方本地模型预测值对应的第一方本地样本,生成第一方加密梯度,具体地,通过计算所述第一方加密中间参数与所述第一方本地模型预测值对应的第一方本地样本之间的乘积,生成第一方加密梯度,其中,生成第一方加密梯度的具体过程如下:

[[g]]1=[[d]]1*x

其中,[[g]]1为所述第一方加密梯度,[[d]]1为所述第一方加密中间参数,x为所述第一方本地样本。

步骤s43,基于所述第一方加密梯度,优化所述第一方待训练本地模型,获得所述第一方联邦模型。

在本实施例中,基于所述第一方加密梯度,优化所述第一方待训练本地模型,获得所述第一方联邦模型,具体地,基于所述第一方加密梯度,通过预设模型参数更新方法,更新所述第一方待训练本地模型的模型参数,获得所述第一方联邦模型,其中,预设模型参数更新方法包括梯度下降法以及梯度上升法等。

其中,所述基于所述第一方加密梯度,优化所述第一方待训练本地模型,获得所述第一方联邦模型的步骤包括:

步骤s431,基于所述第一方加密梯度,对所述第一方待训练本地模型进行模型参数更新,并判断模型参数更新后的第一方待训练本地模型是否满足预设训练结束条件;

在本实施例中,需要说明的是,所述预设训练结束包括损失收敛以及达到最大迭代次数等。

步骤s432,若满足,则将所述模型参数更新后的第一方待训练本地模型作为所述第一方联邦模型;

步骤s433,若不满足,则返回执行所述获取第一方待训练本地模型对应的第一方本地模型预测值的步骤。

在本实施例中,若模型参数更新后的第一方待训练本地模型满足预设训练结束条件,则直接将所述模型参数更新后的第一方待训练本地模型作为所述第一方联邦模型,若模型参数更新后的第一方待训练本地模型不满足预设训练结束条件,则返回执行所述获取第一方待训练本地模型对应的第一方本地模型预测值的步骤。

在本申请实施例整个联邦学习过程中,第一设备与第二设备之间交换的第一方随机数加密值、第二方随机数加密值、第一方随机数加密中间参数以及第二方随机数加密中间参数均为同态加密状态,且对于第一方随机数加密值,第二设备虽然可以进行解密,但是由于混合了随机数,进而仍然可以保证数据的隐私性,而对于第二方随机数加密值,第一设备虽然可以进行解密,但是由于混合了随机数,进而也可以保证数据的隐私性,而第一设备持有的第一方随机数加密中间参数由预设第二方密钥对中的公钥进行加密,第一设备无法解密,第二设备持有第二方随机数加密中间参数由预设第一方密钥对中的公钥进行加密,第二设备无法解密,且在整个联邦学习过程中,第一设备和第二设备中的模型中的梯度与模型参数均处于同态加密状态,第一设备与第二设备均无法解密己方的数据,进而实现了在联邦学习过程中保证数据隐私性的目的,且由于第一设备和第二设备之间传输的数据均为加密数据,第一设备与第二设备在联邦学习过程中无需对方的协助进行数据解密,进而在整个联邦学习过程中无解密接口,所以,提升了联邦学习过程中的安全性。

进一步地,如图2所示为第一设备侧迭代训练第一方待训练本地模型的流程示意图,其中,a为所述第一设备,b为所述第二设备,x1、x2、x3、x4和x5均为样本的特征,y为样标签,r1为预设第一方随机数,wx_g为第一方本地模型预测值,wx_h为第二方本地模型预测值,b生成的同态加密公钥以及私钥为所述预设第二方密钥对,[[wx]]+r1为所述第一方随机数加密值,[[d_b]]为第一方随机数加密中间参数,[[d]]为所述第一方加密中间参数,[[g]]为所述第一方加密梯度,如图3所示为第二设备侧迭代训练第二方待训练本地模型的流程示意图,其中,a为所述第一设备,b为所述第二设备,x1、x2、x3、x4和x5均为样本的特征,y为样标签,r2为预设第二方随机数,wx_g为第一方本地模型预测值,wx_h为第二方本地模型预测值,a生成的同态加密公钥以及私钥为所述预设第一方密钥对,1/4[[wx]]-1/2y+r2为所述第二方随机数加密值,[[d_a]]为第二方随机数加密中间参数,[[d]]为所述第二方加密中间参数,[[g]]为所述第二方加密梯度。

进一步地,基于联邦学习构建逻辑回归模型时,参与联邦学习的标签拥有方通常需要将同态加密的标签发送至无标签的特征拥有方,进而特征拥有方基于同态加密的标签计算同态加密的梯度和同态加密的损失,并将同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方对同态加密的梯度和同态加密的损失进行解密后,将明文状态的模型梯度和模型损失发送至特征拥有方后,特征拥有方即可更新本地逻辑回归模型,所以,现有技术中在基于联邦学习构建逻辑回归模型的过程中存在解密接口,进而标签拥有方存在泄漏数据隐私的风险,而在本申请实施例中的基于联邦学习构建模型的过程中,至始至终均不存在解密接口,进而通过本申请实施例中的联邦学习建模优化方法构建逻辑回归模型,可避免标签拥有方存在泄漏数据隐私的风险,提升基于联邦学习构建逻辑回归模型时的安全性。

本申请实施例提供了一种联邦学习建模优化方法,相比于现有技术采用的参与联邦学习的标签拥有方通常需要将同态加密的标签发送至无标签的特征拥有方,进而特征拥有方基于同态加密的标签计算同态加密的梯度和同态加密的损失,并将同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方对同态加密的梯度和同态加密的损失进行解密后,将明文状态的模型梯度和模型损失反馈至特征拥有方以进行模型更新的技术手段,本申请实施例首先获取第一方待训练本地模型对应的第一方本地模型预测值,进而基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值,进而基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型,进而基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型,其中,在构建联邦模型的整个交互过程中,第一设备与第二设备之间互相传递的数据均为加密数据,所以,本申请实施例在构建联邦模型的过程中不存在解密接口,所以,克服了现有技术中由于在构建模型的整个联邦学习过程中存在解密接口,特征拥有方可通过解密接口套取标签拥有方的隐私数据,进而导致作为标签拥有方的隐私数据的样本标签发生泄露的技术缺陷,所以,提升了基于联邦学习构建模型时的安全性。

进一步地,参照图4,基于本申请中第一实施例,在本申请的另一实施例中,所述第一方联邦模型包括由预设第二方密钥对中的公钥加密的第一方加密模型参数,所述第二方联邦模型包括由预设第一方密钥对中的公钥加密的第二方加密模型参数,

在所述基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型的步骤之后,所述联邦学习建模优化方法还包括:

步骤a10,获取第一方待预测样本,并基于所述第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值;

在本实施例中,需要说明的是,所述第一方加密模型参数是基于预设第二方密钥对中的公钥进行加密的模型参数。

获取第一方待预测样本,并基于所述第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,具体地,获取第一方待预测样本,并通过计算所述第一方待预测样本与所述第一方加密模型参数之间的乘积,获得第一方加密模型输出值。

步骤a20,将所述第一方加密模型输出值和所述第一方待预测样本的目标样本id发送至所述第二设备,以供所述第二设备基于所述目标样本id对应的第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值;

在本实施例中,将所述第一方加密模型输出值和所述第一方待预测样本的目标样本id发送至所述第二设备,以供所述第二设备基于所述目标样本id对应的第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值,具体地,将所述第一方加密模型输出值和所述第一方待预测样本的目标样本id发送至所述第二设备,以供所述第二设备获取所述目标样本id对应的第二方预测样本,并通过计算所述第二方预测样本和所述第二方加密模型参数之间的乘积,获得第二方加密模型输出值,并基于预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值,进而第二设备将所述第一方模型输出值和第二方加密模型输出值发送至第一设备。

步骤a30,接收所述第二设备发送的第二方加密模型输出值以及第一方模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值;

在本实施例中,需要说明的是,由于第二方加密模型参数是基于预设第一密钥对中的公钥进行加密的,进而基于所述预设第一方密钥对中的私钥,可对第二方加密模型输出值进行解密,得到第二方模型输出值。

步骤a40,基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果。

在本实施例中,基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果,具体地,基于预设聚合方式,聚合所述第一方模型输出值和所述第二方模型输出值,获得联邦预测结果,其中,所述预设聚合方式包括加权求和以及加权平均等。

进一步地,本申请基于联邦学习构建的模型可以为逻辑回归模型,进而在基于逻辑回归模型进行分类时,由于逻辑回归模型是基于无解密接口的联邦模型,进而可实现基于安全性更高的联邦学习构建的逻辑回归模型进行分类的目的,提升了基于联邦学习构建的逻辑回归模型进行分类的安全性。

本申请实施例提供了一种联邦预测方法,其中,由于第一联邦模型和第二联邦模型是基于无解密接口的联邦学习过程构建的,进而第一设备与第二设备中的模型参数均处于同态加密状态,进而获取第一方待预测样本,并基于所述第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,进而将所述第一方加密模型输出值和所述第一方待预测样本的目标样本id发送至所述第二设备,以供所述第二设备基于所述目标样本id对应的第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值,进而接收所述第二设备发送的第二方加密模型输出值以及第一方模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值,进而基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果,实现了基于无解密接口的联邦模型进行联邦预测的目的,进而达到了基于安全性更高的联邦模型进行联邦预测的目的,提升了联邦预测的安全性。

进一步地,在本申请联邦学习建模优化方法的第一实施例中,参照图5,所述联邦学习建模优化方法应用于第二设备,所述联邦学习建模优化方法包括:

步骤b10,获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签;

在本实施例中,需要说明的是,所述联邦学习建模优化方法应用于纵向联邦学习的场景,第一设备与第二设备均为纵向联邦学习的参与方,其中,所述第一设备拥有不具备样本标签的本地样本,所述第二设备拥有具备样本标签的本地样本,所述第二方待训练本地模型为第二设备中未训练好的第二方本地模型,其中,所述第二方本地模型可以为逻辑回归模型,所述第二方本地模型预测值为第二设备中第二方待训练本地模型输出的逻辑回归值。

另外地,需要说明的是,在联邦迭代训练所述第二方待训练本地模型的第一轮迭代过程中,所述第二方待训练本地模型的模型参数处于明文状态,由联邦迭代训练所述第二方待训练本地模型的第二轮迭代过程开始,所述第二方待训练本地模型的模型参数均处于同态加密的密文状态,所以,所述第二方本地模型预测值可以表示为第二方待训练本地模型的模型参数与样本的乘积,也可以表示为同态加密的第二方待训练本地模型的模型参数与样本的乘积,例如,假设样本a为x,第二方待训练本地模型的模型参数为w,则所述第二方本地模型预测值为wx或者为[[wx]],其中,[[]]为同态加密符号。

获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签,具体地,获取公共样本id,其中,所述公共样本id为第一设备与第二设备进行样本对齐确定的样本id,进而获取所述公共样本id对应的第二方本地样本以及所述第二方训练本地模型参数对应的第二方本地模型参数,进而计算第二方本地模型参数和第二方本地样本之积,获得第二方本地模型预测值,其中,第一方本地样本与第二方本地样本对应同一公共样本id,进而获取所述第二方本地样本对应的样本标签,其中,所述样本标签为第二方本地样本的标识,用于标识第二方本地样本的类别或者属性等。

步骤b20,基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值;

在本实施例中,需要说明的是,在纵向联邦学习的场景中,纵向联邦模型分为两部分,一部分在第一设备中,也即为第一方待训练本地模型,另一部分在第二设备中,也即为第二方待训练本地模型,所述第一方待训练本地模型为第一设备中未训练好的第一方本地模型,其中,所述第一方本地模型可以为逻辑回归模型。

基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值,具体地,基于预设第二方随机数混合方式,将预设第二方随机数、样本标签以及同态加密的第二方本地模型预测值进行混合,获得第二方随机数加密值,其中,所述预设第二方随机数混合方式包括求和以及求积等方式,进而基于所述第二方随机数加密值,与第一设备进行加密值交换,以将所述第二方随机数加密值发送至第一设备,并接收第一设备发送的第一方随机数加密值,其中,所述第一设备获取与第二设备中一致的公共样本id,进而获取所述公共样本id对应的第一方本地样本以及所述第一方训练本地模型参数对应的第一方本地模型参数,进而计算第一方本地模型参数和第一方本地样本之积,获得第一方本地模型预测值,并基于预设第一方随机数混合方式,将预设第一方随机数和同态加密的第一方本地模型预测值进行混合,获得第一方随机数加密值,其中,所述预设第一方随机数混合方式包括求和以及求积等,例如假设所述第一方本地模型预测值为[[wx]],所述预设第一方随机数混合方式为求和,所述预设第一方随机数为r1,进而所述第一方随机数加密值为[[wx]]+r1,假设预设第二方随机数混合方式为求和以及求差,所述第二本地模型预测值为[[wx2]],所述样本标签为y,所述预设第二方随机数为r2,进而所述第二方随机数加密值为1/4[[wx2]]-1/2y+r2。

其中,所述基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值的步骤包括:

步骤b21,基于预设第二方随机数和预设第一方密钥对中的公钥,对所述第二方本地模型预测值和所述样本标签进行随机数加密,获得第二方随机数加密值;

在本实施例中,需要说明的是,第二设备生成预设第二方密钥对,并将所述预设第二方密钥对中的公钥分享至第一设备,而第一设备生成预设第一方密钥对,并将所述预设第一方密钥对中的公钥分享至第二设备。

基于预设第二方随机数和预设第一方密钥对中的公钥,对所述第二方本地模型预测值和所述样本标签进行随机数加密,获得第二方随机数加密值,具体地,若所述第二方本地模型预测值处于同态加密状态,其中,所述第二方本地模型预测值是基于预设第一方密钥对中的公钥加密的,此时联邦学习的迭代轮次大于1,则基于预设第二随机数混合方式,将所述第二方本地模型预测值、预设第二方随机数以及样本标签进行混合,获得第二方随机数加密值,若所述第二方本地模型预测值未处于同态加密状态,此时联邦学习的迭代轮次等于1,则基于预设第一方密钥对中的公钥,对第二方本地模型预测值进行同态加密,获得同态加密的第二方本地模型预测值,进而基于预设第二随机数混合方式,将预设第一方随机数、样本标签以及同态加密的第一方本地模型预测值进行混合,获得第二方随机数加密值。

其中,所述基于预设第二方随机数和预设第一方密钥对中的公钥,对所述第二方本地模型预测值和所述样本标签进行随机数加密,获得第二方随机数加密值的步骤包括:

步骤b211,基于所述预设第一方密钥对中的公钥,对所述第二方本地模型预测值进行同态加密,获得第二方同态加密模型预测值;

在本实施例中,需要说明的是,此时联邦学习的迭代轮次为1,所述第二方同态加密模型预测值为处于同态加密状态的第二方本地模型预测值。

步骤b212,将所述第二方同态加密模型预测值、所述样本标签和所述预设第二方随机数进行混合,生成所述第二方随机数加密值。

在本实施例中,将所述第二方同态加密模型预测值、所述样本标签和所述预设第二方随机数进行混合,生成所述第二方随机数加密值,具体地,计算第一预设倍数的第二方同态加密模型预测值与预设第二倍数的样本标签之间的差值,获得差值计算结果,进而通过计算所述差值计算结果与预设第二方随机数之间的和,生成所述第二方随机数加密值,其中,生成所述第二方随机数加密值的具体过程如下:

其中,n为所述第二方随机数加密值,[[wx2]]为所述第二方同态加密模型预测值,y为所述样本标签,r2为所述预设第二方随机数,为所述第一预设倍数,为所述第二预设倍数。

步骤b22,基于所述第二方随机数加密值,与所述第一设备进行加密值交换,获得所述第一方随机数加密值。

在本实施例中,基于所述第二方随机数加密值,与所述第一设备进行加密值交换,获得所述第一方随机数加密值,具体地,所述第二设备将第二方随机数加密值发送至第一设备,并接收所述第一设备发送的第一方随机数加密值,所述第一设备将第一方随机数加密值发送至第二设备,并接收第二设备发送的第二方随机数加密值。

步骤b30,基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型;

在本实施例中,基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型,具体地,基于预设第二方密钥对中的私钥,对所述第一方随机数加密值进行解密,获得第一方随机数混合值,进而基于所述第一方随机数混合值和所述第二方本地模型预测值,计算第一方随机数混合中间参数,并基于预设第二方密钥对中的公钥,对所述第一方随机数混合中间参数进行同态加密,获得第一方随机数加密中间参数,进而基于所述第一方随机数加密中间参数,与第一设备进行加密中间参数交换,以将所述第一方随机数加密中间参数发送至第一设备,并接收第一设备发送的第二方随机数加密中间参数,以供所述第一设备接收第二设备发送的第一方随机数加密中间参数,进而对所述第一方随机数中间参数进行随机数消除,获得第一方加密中间参数,进而通过计算所述第一方加密中间参数和第一方本地样本之积,生成第一方加密模型梯度,进而基于所述第一方加密模型梯度,优化所述第一方待训练本地模型,获得第一方联邦模型,其中,所述第一设备基于预设第一方密钥对中的私钥,对所述第二方随机数加密值进行解密,获得第二方随机数混合值,进而基于所述第二方随机数混合值和所述第一方本地模型预测值,计算第二方随机数混合中间参数,并基于预设第一方密钥对中的公钥,对所述第二方随机数混合中间参数进行同态加密,获得第二方随机数加密中间参数。

其中,所述基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数的步骤包括:

步骤b31,基于预设第二方密钥对中的私钥和公钥、所述第一方随机数加密值、所述第二方本地模型预测值以及所述样标签,生成第一方随机数加密中间参数;

在本实施例中,基于预设第二方密钥对中的私钥和公钥、所述第一方随机数加密值、所述第二方本地模型预测值以及所述样标签,生成第一方随机数加密中间参数,具体地,基于预设第二方密钥对中的私钥,对所述第一方随机数加密值进行解密,获得第一方随机数混合值,进而基于所述第一方随机数混合值、所述第二方本地模型预测值对应的第二方本地样本以及所述第二方本地样本对应的样本标签,计算第一方随机数混合中间参数,并基于所述预设第二方密钥对中的公钥,对所述第一方随机数混合中间参数进行同态加密,生成第一方随机数加密中间参数。

其中,所述基于预设第二方密钥对中的私钥和公钥、所述第一方随机数加密值、所述第二方本地模型预测值以及所述样标签,生成第一方随机数加密中间参数的步骤包括:

步骤b311,基于所述预设第二方密钥对中的私钥,对所述第一方随机数加密值进行解密,获得第一方随机数混合值;

在本实施例中,需要说明的是,所述第一方随机数加密值为同态加密的第一方随机数混合值。

步骤b312,基于所述第二方本地模型预测值和所述第一方随机数混合值以及所述样本标签,生成第一方随机数混合中间参数;

在本实施例中,基于所述第二方本地模型预测值和所述第一方随机数混合值以及所述样本标签,生成第一方随机数混合中间参数,具体地,计算所述第二方本地模型预测值和所述第一方随机数混合值之和,获得求和结果,进而通过计算第一预设倍数的求和结果与预设第二倍数的样本标签之间的差值,生成所述第一方随机数混合中间参数,其中,生成所述第一方随机数混合中间参数的具体过程如下:

其中,d为所述第一方随机数混合中间参数,wx1为所述第一方本地模型预测值,wx2为所述第二方本地模型预测值,y为所述样本标签,r1为所述预设第一方随机数,所述第一方随机数混合值为wx1+r1。

步骤b313,基于所述预设第一方密钥对中的公钥,对所述第一方随机数混合中间参数进行加密,获得所述第一方随机数加密中间参数。

在本实施例中,需要说明的是,所述预设第二方密钥对中的私钥只由第二设备持有,所述第一设备与第二设备均持有预设第二方密钥对中的公钥。

步骤b32,基于所述第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得所述第二方随机数加密中间参数。

在本实施例中,基于所述第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得所述第二方随机数加密中间参数,具体地,第二设备将所述第一方随机数加密中间参数发送至第一设备,以供所述第一设备接收所述第一方随机数加密中间参数,所述第一设备将所述第二方随机数加密中间参数发送至第二设备,以供所述第二设备接收所述第二方随机数加密中间参数,其中,需要说明的是,由于第二方随机数加密中间参数是基于预设第一方密钥中的公钥进行加密的,而预设第一方密钥中的私钥只由第一设备持有,进而第二设备无法对第二方随机数加密中间参数进行解密,且由于第一方随机数加密中间参数是基于预设第二方密钥中的公钥进行加密的,而预设第二方密钥中的私钥只由第二设备持有,进而第一设备无法对第一方随机数加密中间参数进行解密。

步骤b40,基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型。

在本实施例中,基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型,具体地,对所述第二方随机数加密中间参数进行随机数消除,获得第二方加密中间参数,进而基于所述第二方加密中间参数生成的第二方加密模型梯度,更新所述第二方待训练本地模型的模型参数,获得第二方联邦模型。

其中,所述基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型的步骤包括:

步骤b41,对所述第二方随机数加密中间参数进行随机数消除,获得第二方加密中间参数;

在本实施例中,对所述第二方随机数加密中间参数进行随机数消除,获得第二方加密中间参数,具体地,通过计算所述第二方随机数加密中间参数与预设第二方随机数之间的差值,以对所述第二方随机数加密中间参数进行随机数消除,获得第二方加密中间参数,其中,对所述第二方随机数加密中间参数进行随机数消除的过程如下:

[[d]]2=[[d2]]-r2

其中,[[d]]2为所述第二方加密中间参数,[[d2]]为第二方随机数加密中间参数,wx1为所述第一方本地模型预测值,wx2为所述第二方本地模型预测值,y为所述样本标签,r2为所述预设第二方随机数。

步骤b42,基于所述第二方加密中间参数和所述第二方本地模型预测值对应的第二方本地样本,生成第二方加密梯度;

在本实施例中,基于所述第二方加密中间参数和所述第二方本地模型预测值对应的第二方本地样本,生成第二方加密梯度,具体地,通过计算所述第二方加密中间参数与所述第二方本地模型预测值对应的第二方本地样本之间的乘积,生成第二方加密梯度,其中,生成第二方加密梯度的具体过程如下:

[[g]]2=[[d]]2*x

其中,[[g]]2为所述第二方加密梯度,[[d]]2为所述第二方加密中间参数,x为所述第二方本地样本。

步骤b43,基于所述第二方加密梯度,优化所述第二方待训练本地模型,获得所述第二方联邦模型。

在本实施例中,基于所述第二方加密梯度,优化所述第二方待训练本地模型,获得所述第二方联邦模型,具体地,基于所述第二方加密梯度,通过预设模型参数更新方法,更新所述第二方待训练本地模型的模型参数,获得所述第二方联邦模型,其中,预设模型参数更新方法包括梯度下降法以及梯度上升法等。

其中,所述基于所述第二方加密梯度,优化所述第二方待训练本地模型,获得所述第二方联邦模型的步骤包括:

步骤b431,基于所述第二方加密梯度,对所述第二方待训练本地模型进行模型参数更新,并判断模型参数更新后的第二方待训练本地模型是否满足预设训练结束条件;

在本实施例中,需要说明的是,所述预设训练结束包括损失收敛以及达到最大迭代次数等。

步骤b432,若满足,则将所述模型参数更新后的第二方待训练本地模型作为所述第二方联邦模型;

步骤b433,若不满足,则返回执行所述获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签的步骤。

在本实施例中,若模型参数更新后的第二方待训练本地模型满足预设训练结束条件,则直接将所述模型参数更新后的第二方待训练本地模型作为所述第二方联邦模型,若模型参数更新后的第二方待训练本地模型不满足预设训练结束条件,则返回执行所述获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签的步骤。

在本申请实施例整个联邦学习过程中,第一设备与第二设备之间交换的第一方随机数加密值、第二方随机数加密值、第一方随机数加密中间参数以及第二方随机数加密中间参数均为同态加密状态,且对于第一方随机数加密值,第二设备虽然可以进行解密,但是由于混合了随机数,进而仍然可以保证数据的隐私性,而对于第二方随机数加密值,第一设备虽然可以进行解密,但是由于混合了随机数,进而也可以保证数据的隐私性,而第一设备持有的第一方随机数加密中间参数由预设第二方密钥对中的公钥进行加密,第一设备无法解密,第二设备持有第二方随机数加密中间参数由预设第一方密钥对中的公钥进行加密,第二设备无法解密,且在整个联邦学习过程中,第一设备和第二设备中的模型中的梯度与模型参数均处于同态加密状态,第一设备与第二设备均无法解密己方的数据,进而实现了在联邦学习过程中保证数据隐私性的目的,且由于第一设备和第二设备之间传输的数据均为加密数据,第一设备与第二设备在联邦学习过程中无需对方的协助进行数据解密,进而在整个联邦学习过程中无解密接口,所以,提升了联邦学习过程中的安全性。

本申请实施例提供了一种联邦学习建模优化方法,相比于现有技术采用的参与联邦学习的标签拥有方通常需要将同态加密的标签发送至无标签的特征拥有方,进而特征拥有方基于同态加密的标签计算同态加密的梯度和同态加密的损失,并将同态加密的梯度和同态加密的损失发送至标签拥有方,进而标签拥有方对同态加密的梯度和同态加密的损失进行解密后,将明文状态的模型梯度和模型损失反馈至特征拥有方以进行模型更新的技术手段,本申请实施例首先获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签,进而基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值,进而基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型,进而基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型,其中,在构建联邦模型的整个交互过程中,第一设备与第二设备之间互相传递的数据均为加密数据,所以,本申请实施例在构建联邦模型的过程中不存在解密接口,所以,克服了现有技术中由于在构建模型的整个联邦学习过程中存在解密接口,特征拥有方可通过解密接口套取标签拥有方的隐私数据,进而导致作为标签拥有方的隐私数据的样本标签发生泄露的技术缺陷,所以,提升了基于联邦学习构建模型时的安全性。

进一步地,参照图6,基于本申请中第三实施例,在本申请的另一实施例中,所述第一方联邦模型包括由预设第二方密钥对中的公钥加密的第一方加密模型参数,所述第二方联邦模型包括由预设第一方密钥对中的公钥加密的第二方加密模型参数,

在所述基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型的步骤之后,所述联邦学习建模优化方法还包括:

步骤c10,获取第二方待预测样本,并基于所述第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值;

在本实施例中,需要说明的是,所述第二方加密模型参数是基于预设第一方密钥对中的公钥进行加密的模型参数。

获取第二方待预测样本,并基于所述第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,具体地,获取第二方待预测样本,并通过计算所述第二方待预测样本与所述第二方加密模型参数之间的乘积,获得第二方加密模型输出值。

步骤c20,将所述第二方加密模型输出值和所述第二方待预测样本的目标样本id发送至所述第一设备,以供所述第一设备基于所述目标样本id对应的第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值;

在本实施例中,将所述第二方加密模型输出值和所述第二方待预测样本的目标样本id发送至所述第一设备,以供所述第一设备基于所述目标样本id对应的第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值,具体地,将所述第二方加密模型输出值和所述第二方待预测样本的目标样本id发送至所述第一设备,以供所述第一设备获取所述目标样本id对应的第一方预测样本,并通过计算所述第一方预测样本和所述第一方加密模型参数之间的乘积,获得第一方加密模型输出值,并基于预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值,进而第一设备将所述第二方模型输出值和第一方加密模型输出值发送至第二设备。

步骤c30,接收所述第一设备发送的第一方加密模型输出值以及第二方模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值;

在本实施例中,需要说明的是,由于第一方加密模型参数是基于预设第二密钥对中的公钥进行加密的,进而基于所述预设第二方密钥对中的私钥,可对第一方加密模型输出值进行解密,得到第一方模型输出值。

步骤c40,基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果。

在本实施例中,基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果,具体地,基于预设聚合方式,聚合所述第一方模型输出值和所述第二方模型输出值,获得联邦预测结果,其中,所述预设聚合方式包括加权求和以及加权平均等,其中,如图7所示为本申请实施例中第二设备生成联邦预测结果的流程示意图,其中,,a为所述第一设备,b为所述第二设备,x1、x2、x3、x4和x5均为样本的特征,y为样标签,a中的[[w]]为所述第一方加密模型参数,a中的[[w]]*x为所述第一方加密模型输出值,也即为[[w]]*x_a,b中的[[w]]为所述第二方加密模型参数,b中的[[w]]*x为所述第二方加密模型输出值,也即为[[w]]*x_b,id为所述目标样本id,完整的wx即为为所述联邦预测结果,进而将联邦预测结果转换为预测得分。

本申请实施例提供了一种联邦预测方法,其中,由于第一联邦模型和第二联邦模型是基于无解密接口的联邦学习过程构建的,进而第一设备与第二设备中的模型参数均处于同态加密状态,进而获取第二方待预测样本,并基于所述第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,并将所述第二方加密模型输出值和所述第二方待预测样本的目标样本id发送至所述第一设备,以供所述第一设备基于所述目标样本id对应的第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值,进而接收所述第一设备发送的第一方加密模型输出值以及第二方模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值,进而基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果,实现了基于无解密接口的联邦模型进行联邦预测的目的,进而达到了基于安全性更高的联邦模型进行联邦预测的目的,提升了联邦预测的安全性。

参照图8,图8是本申请实施例方案涉及的硬件运行环境的设备结构示意图。

如图8所示,该联邦学习建模优化设备可以包括:处理器1001,例如cpu,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。

可选地,该联邦学习建模优化设备还可以包括矩形用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。矩形用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图8中示出的联邦学习建模优化设备结构并不构成对联邦学习建模优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及联邦学习建模优化程序。操作系统是管理和控制联邦学习建模优化设备硬件和软件资源的程序,支持联邦学习建模优化程序以及其它软件和/或,程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与联邦学习建模优化系统中其它硬件和软件之间通信。

在图8所示的联邦学习建模优化设备中,处理器1001用于执行存储器1005中存储的联邦学习建模优化程序,实现上述任一项所述的联邦学习建模优化方法的步骤。

本申请联邦学习建模优化设备具体实施方式与上述联邦学习建模优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种联邦学习建模优化装置,所述联邦学习建模优化装置应用于第一设备,所述联邦学习建模优化装置包括:

获取模块,用于获取第一方待训练本地模型对应的第一方本地模型预测值;

加密值交换模块,用于基于对所述第一方本地模型预测值进行随机数加密生成的第一方随机数加密值,与第二设备进行加密值交换,获得第二方随机数加密值,其中,所述第二方随机数加密值由所述第二设备对第二方待训练本地模型对应的第二方本地模型预测值以及样本标签进行随机数加密获得,以供所述第二设备获取所述第一方随机数加密值;

加密中间参数交换模块,用于基于所述第二方随机数加密值生成的第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得第一方随机数加密中间参数,其中,所述第一方随机数加密中间参数由所述第二设备基于所述第一方随机数加密值生成,以供所述第二设备基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型;

优化模块,用于基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型。

可选地,所述加密值交换模块还用于:

基于预设第一方随机数和预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行随机数加密,获得第一方随机数加密值;

基于所述第一方随机数加密值,与所述第二设备进行加密值交换,获得所述第二方随机数加密值。

可选地,所述基于所述预设第二方密钥对中的公钥,对所述第一方本地模型预测值进行同态加密,获得第一方同态加密模型预测值;

将所述第一方同态加密模型预测值和所述预设第一方随机数进行混合,生成所述第一方随机数加密值。

可选地,所述加密中间参数交换模块还用于:

基于预设第一方密钥对中的私钥和公钥、所述第二方随机数加密值以及所述第一方本地模型预测值,生成第二方随机数加密中间参数;

基于所述第二方随机数加密中间参数,与所述第二设备进行加密中间参数交换,获得所述第一方随机数加密中间参数。

可选地,所述加密中间参数交换模块还用于:

基于所述预设第一方密钥对中的私钥,对所述第二方随机数加密值进行解密,获得第二方随机数混合值;

基于所述第一方本地模型预测值和所述第二方随机数混合值,生成第二方随机数混合中间参数;

基于所述预设第一方密钥对中的公钥,对所述第二方随机数混合中间参数进行加密,获得所述第二方随机数加密中间参数。

可选地,所述优化模块还用于:

对所述第一方随机数加密中间参数进行随机数消除,获得第一方加密中间参数;

基于所述第一方加密中间参数和所述第一方本地模型预测值对应的第一方本地样本,生成第一方加密梯度;

基于所述第一方加密梯度,优化所述第一方待训练本地模型,获得所述第一方联邦模型。

可选地,所述优化模块还用于:

基于所述第一方加密梯度,对所述第一方待训练本地模型进行模型参数更新,并判断模型参数更新后的第一方待训练本地模型是否满足预设训练结束条件;

若满足,则将所述模型参数更新后的第一方待训练本地模型作为所述第一方联邦模型;

若不满足,则返回执行所述获取第一方待训练本地模型对应的第一方本地模型预测值的步骤。

可选地,所述联邦学习建模优化装置还用于:

获取第一方待预测样本,并基于所述第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值;

将所述第一方加密模型输出值和所述第一方待预测样本的目标样本id发送至所述第二设备,以供所述第二设备基于所述目标样本id对应的第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值;

接收所述第二设备发送的第二方加密模型输出值以及第一方模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值;

基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果。

本申请联邦学习建模优化装置的具体实施方式与上述联邦学习建模优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种联邦学习建模优化装置,所述联邦学习建模优化装置应用于第二设备,所述联邦学习建模优化装置包括:

获取模块,用于获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签;

加密值交换模块,用于基于对所述第二方本地模型预测值和所述样本标签进行随机数加密生成的第二方随机数加密值,与第一设备进行加密值交换,获得第一方随机数加密值,其中,所述第一方随机数加密值由所述第一设备对第一方待训练本地模型对应的第一方本地模型预测值进行随机数加密获得,以供所述第一设备获取所述第二方随机数加密值;

加密中间参数交换模块,用于基于所述第一方随机数加密值生成的第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得第二方随机数加密中间参数,其中,所述第二方随机数加密中间参数由所述第一设备基于所述第二方随机数加密值生成,以供所述第一设备基于所述第一方随机数加密中间参数,优化所述第一方待训练本地模型,获得第一方联邦模型;

优化模块,用于基于所述第二方随机数加密中间参数,优化所述第二方待训练本地模型,获得第二方联邦模型。

可选地,所述加密值交换模块还用于:

基于预设第二方随机数和预设第一方密钥对中的公钥,对所述第二方本地模型预测值和所述样本标签进行随机数加密,获得第二方随机数加密值;

基于所述第二方随机数加密值,与所述第一设备进行加密值交换,获得所述第一方随机数加密值。

可选地,所述加密值交换模块还用于:

基于所述预设第一方密钥对中的公钥,对所述第二方本地模型预测值进行同态加密,获得第二方同态加密模型预测值;

将所述第二方同态加密模型预测值、所述样本标签和所述预设第二方随机数进行混合,生成所述第二方随机数加密值。

可选地,所述加密中间参数交换模块还用于:

基于预设第二方密钥对中的私钥和公钥、所述第一方随机数加密值、所述第二方本地模型预测值以及所述样标签,生成第一方随机数加密中间参数;

基于所述第一方随机数加密中间参数,与所述第一设备进行加密中间参数交换,获得所述第二方随机数加密中间参数。

可选地,所述加密中间参数交换模块还用于:

基于所述预设第二方密钥对中的私钥,对所述第一方随机数加密值进行解密,获得第一方随机数混合值;

基于所述第二方本地模型预测值和所述第一方随机数混合值以及所述样本标签,生成第一方随机数混合中间参数;

基于所述预设第一方密钥对中的公钥,对所述第一方随机数混合中间参数进行加密,获得所述第一方随机数加密中间参数。

可选地,所述优化模块还用于:

对所述第二方随机数加密中间参数进行随机数消除,获得第二方加密中间参数;

基于所述第二方加密中间参数和所述第二方本地模型预测值对应的第二方本地样本,生成第二方加密梯度;

基于所述第二方加密梯度,优化所述第二方待训练本地模型,获得所述第二方联邦模型。

可选地,所述优化模块还用于:

基于所述第二方加密梯度,对所述第二方待训练本地模型进行模型参数更新,并判断模型参数更新后的第二方待训练本地模型是否满足预设训练结束条件;

若满足,则将所述模型参数更新后的第二方待训练本地模型作为所述第二方联邦模型;

若不满足,则返回执行所述获取第二方待训练本地模型对应的第二方本地模型预测值和所述第二方本地模型预测值对应的样本标签的步骤。

可选地,所述联邦学习建模优化装置还用于:

获取第二方待预测样本,并基于所述第二方待预测样本和所述第二方加密模型参数,生成第二方加密模型输出值;

将所述第二方加密模型输出值和所述第二方待预测样本的目标样本id发送至所述第一设备,以供所述第一设备基于所述目标样本id对应的第一方待预测样本和所述第一方加密模型参数,生成第一方加密模型输出值,并基于所述预设第一方密钥对中的私钥,对所述第二方加密模型输出值进行解密,获得第二方模型输出值;

接收所述第一设备发送的第一方加密模型输出值以及第二方模型输出值,并基于所述预设第二方密钥对中的私钥,对所述第一方加密模型输出值进行解密,获得第一方模型输出值;

基于所述第一方模型输出值和所述第二方模型输出值,生成联邦预测结果。

本申请联邦学习建模优化装置的具体实施方式与上述联邦学习建模优化方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种介质,所述介质为可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的联邦学习建模优化方法的步骤。

本申请可读存储介质具体实施方式与上述联邦学习建模优化方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种计算机程序产品,且所述计算机程序产品包括有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的联邦学习建模优化方法的步骤。

本申请计算机程序产品具体实施方式与上述联邦学习建模优化方法各实施例基本相同,在此不再赘述。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1