纵向联邦建模方法、装置、设备及计算机可读存储介质与流程

文档序号:23223283发布日期:2020-12-08 15:06阅读:127来源:国知局
纵向联邦建模方法、装置、设备及计算机可读存储介质与流程

本发明涉及联邦学习技术领域,尤其涉及一种纵向联邦建模方法、装置、设备及计算机可读存储介质。



背景技术:

联邦学习是为了在保护数据隐私的情况下利用多个参与方的数据建立的机器学习模型,其中,纵向联邦学习利用多个参与方所拥有的重叠样本的不同特征来建立机器学习模型。参照图1,图1为具有3个参与方的纵向联邦学习的样本和特征视图,将来自参与方a、参与方b和参与方c的数据集通过样本对齐的方式聚合成一个大的虚拟数据集,则参与方a、参与方b和参与方c各自拥有该虚拟数据集纵向划分的一部分,其中,对齐的样本为参与方a、参与方b和参与方c的重叠样本,也就是说,参与方a、参与方b和参与方c分别拥有重叠样本的不同特征。然而,当重叠样本不够充分时纵向联邦学习很难建立起性能良好的机器学习模型,这在一定程度上限制了纵向联邦学习应用于更广泛的场景。

目前,往往通过联邦迁移学习或者半监督学习解决当重叠样本不够充分的问题。联邦迁移学习利用源领域中所拥有的充足数据资源为目标领域建立一个表现良好的预测模型,但通过联邦迁移学习建立的模型只能对目标领域的数据进行预测,而不能对所有参与方的数据进行标签预测,也就是说,通过联邦迁移学习建立的模型并不能适用于所有参与方。半监督学习可以通过对缺失特征(或特征表征)和标签的补全来提高模型性能,然而,在联邦学习下的半监督学习通常需要参与方之间复杂的交互,从而导致数据隐私的保护上存在隐患,无法有效的保护数据隐私。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种纵向联邦建模方法、装置、设备及计算机可读存储介质,旨在解决现有联邦学习中难以实现数据隐私保护与模型通用性之间的均衡的技术问题。

为实现上述目的,本发明提供一种纵向联邦建模方法,所述纵向联邦建模方法包括以下步骤:

第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;

第一参与方确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;

第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

进一步地,所述第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作的步骤包括:

第一参与方基于第一参与方的本地样本确定单方损失值,基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值,并基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值;

第一参与方分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

进一步地,所述基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值的步骤包括:

第一参与方将第一参与方的本地样本中的多方重叠样本输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征,将所述多方重叠样本的特征表征、样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型计算得到所述多方计算损失值。

进一步地,所述基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值的步骤包括:

第一参与方将第一参与方的本地样本中的各个双方重叠样本输入第一参与方的特征提取模型,以获得各个双方重叠样本的特征表征,将所述各个双方重叠样本的特征表征、样本标签以及各个所述双方联邦计算中间参数输入对应的各个双方联邦模型的第一双方分类模型计算得到所述各个双方计算损失值。

进一步地,所述第一参与方基于第一参与方的本地样本确定单方损失值的步骤包括:

第一参与方将第一参与方的本地样本输入第一参与方的特征提取模型,以获得第一特征表征,将所述第一特征表征以及样本标签,输入单方分类模型计算得到所述单方损失值。

进一步地,所述第一参与方分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作的步骤包括:

第一参与方基于所述单方损失值计算得到单方梯度,并基于单方梯度,更新第一参与方的单方分类模型;

第一参与方基于所述多方计算损失值计算得到多方联邦计算中间梯度;基于多方联邦计算中间梯度,更新多方联邦分类模型的第一多方分类模型;

第一参与方基于所述各个双方计算损失值计算得到各个双方联邦计算中间梯度;基于各个双方联邦计算中间梯度,对应更新各个双方联邦分类模型的第一双方分类模型;

第一参与方基于单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,更新第一参与方的特征提取模型。

此外,为实现上述目的,本发明还提供一种纵向联邦建模方法,所述纵向联邦建模方法包括以下步骤:

第二参与方基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,其中,第二参与方包括多个参与方;

第二参与方基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数;

第二参与方基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作。

进一步地,所述第二参与方基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数的步骤包括:

第二参与方将各自多方重叠样本中本地样本特征输入各自的特征提取模型,以获得第二特征表征;

第二参与方将所述第二特征表征输入各自的多方联邦分类模型的第二多方分类模型,计算得到中间参数,并基于各个第二参与方的中间参数联合计算得到多方联邦计算中间参数。

进一步地,所述第二参与方基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数的步骤包括:

第二参与方将双方重叠样本中本地样本特征输入各自的特征提取模型,以获得第三特征表征;

第二参与方将所述第三特征表征输入各自的双方联邦分类模型的第二双方分类模型,计算得到双方联邦计算中间参数。

进一步地,所述目标梯度包括多方联邦计算中间梯度以及双方联邦计算中间梯度,所述基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作的步骤包括:

第二参与方基于多方联邦计算中间梯度更新多方联邦分类模型的第二多方分类模型;

第二参与方基于双方联邦计算中间梯度更新双方联邦分类模型的第二双方分类模型;

第二参与方基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新特征提取模型。

此外,为实现上述目的,本发明还提供一种纵向联邦建模装置,所述纵向联邦建模装置包括:

第一确定模块,用于确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;

第二确定模块,用于确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;

第一模型更新模块,用于基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

此外,为实现上述目的,本发明还提供一种纵向联邦建模装置,所述纵向联邦建模装置包括:

第一计算模块,用于基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,其中,第二参与方包括多个参与方;

第二计算模块,用于基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数;

第二模型更新模块,用于基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作。

此外,为实现上述目的,本发明还提供一种纵向联邦建模设备,所述纵向联邦建模设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的纵向联邦建模程序,所述纵向联邦建模程序被所述处理器执行时实现前述的纵向联邦建模方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有纵向联邦建模程序,所述纵向联邦建模程序被处理器执行时实现前述的纵向联邦建模方法的步骤。

本发明通过第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;接着第一参与方确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;而后第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。使得包括第一参与方以及第二参与方在内的各个参与方完成模型更新得到目标模型,第一参与方以及各个第二参与方均可采用自身的目标模型对其本地样本进行标签预测,第一参与方以及各个第二参与方也可采用自身的目标模型对各个参与方之间的重叠样本进行标签预测,以使所有参与方完成模型训练,使得模型训练过程能够适用于所有参与方;通过增加双方重叠样本的训练过程,以在各个参与方所共同拥有的重叠样本数量较少时,训练出性能优良的模型,各个参与方之间通过多方联邦计算中间参数以及双方联邦计算中间参数进行数据交互,与传统的半监督学习相比,无需对缺失特征和标签进行补全,简化了模型训练过程中的交互流程,能够完全阻止信息泄漏,提高联邦学习中数据的安全性。

附图说明

图1为具有3个参与方的纵向联邦学习的样本和特征视图;

图2是本发明实施例方案涉及的硬件运行环境中的纵向联邦建模设备的结构示意图;

图3为本发明纵向联邦建模方法第一实施例的流程示意图;

图4为本发明纵向联邦建模方法另一实施例的流程示意图;

图5为本发明纵向联邦建模装置一实施例的功能模块示意图。

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

具体实施方式

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

如图2所示,图2是本发明实施例方案涉及的硬件运行环境中的纵向联邦建模设备的结构示意图。

本发明实施例纵向联邦建模设备可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。

如图2所示,该纵向联邦建模设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,纵向联邦建模设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。当然,纵向联邦建模设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

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

如图2所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及纵向联邦建模程序。

在图2所示的纵向联邦建模设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的纵向联邦建模程序。

在本实施例中,纵向联邦建模设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的纵向联邦建模程序,其中,处理器1001调用存储器1005中存储的纵向联邦建模程序时,并执行以下各个实施例中纵向联邦建模方法的步骤。

本发明还提供一种纵向联邦建模方法,参照图3,图3为本发明纵向联邦建模方法第一实施例的流程示意图。

该纵向联邦建模方法应包括:

步骤s100,第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;

需要说明的是,第二参与方包括联邦学习中除第一参与方之外的多个其他参与方,也就是说,第二参与方为多个,各个第二参与方中均存储有样本,第一参与方存储有样本以及样本标签。以包括参与方a、参与方b和参与方c三个参与方联邦学习系统为例,参与方a、参与方b和参与方c拥有一定数量的重叠样本。

本实施例中,第一参与方将其本地样本与各个第二参与方的样本进行样本对齐,得到第一参与方的多方重叠样本,各个第二参与方分别将各自本地样本,与第一参与方的本地样本以及第二参与方中其他参与方的本地样本进行样本对齐,得到各个第二参与方的多方重叠样本,即该多方重叠样本为各个参与方的本地样本与其他参与方进行样本对齐得到的,第一参与方为拥有多方重叠样本的样本标签的参与方,在进行样本对齐时,各个参与方根据本地样本的用户标识(id)进行样本对齐。各个多方重叠样本具有不同的样本特征,且各个多方重叠样本具有相同的id。

第一参与方根据本地样本所对应的样本标签,确定多方重叠样本对应的多方样本标签,并根据该多方样本标签确定多方中间参数,具体地,可将多方样本标签输入待训练模型,以获得多方中间参数。而后,将多方中间参数发送至第二参与方,以避免在联邦学过程中传输样本标签,避免样本标签的泄露。

而后,各个第二参与方分别基于多方重叠样本,联合计算得到多方联邦计算中间参数,并将所述多方联邦计算中间参数发送至第一参与方,具体地,各个第二参与方基于多方重叠样本,分别将各自多方重叠样本中本地样本特征,输入各自多方联邦分类模型的第一特征提取模型,以获得第二特征表征;各个第二参与方分别将所述第二特征表征输入各自的多方联邦分类模型的第一分类模型,计算得到中间参数,例如,将第二特征表征以及多方中间参数输入各自的多方联邦分类模型的第一分类模型,计算得到中间参数,而后根据中间参数计算得到多方联邦计算中间参数,并反馈所述多方联邦计算中间参数至所述第一参与方。

步骤s200,第一参与方确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;

本实施例中,第一参与方确定各个第二参与方与第一参与方之间的双方重叠样本,具体地,各个第二参与方分别将其样本与第一参与方的本地样本进行样本对齐,得到各个第二参与方的双方重叠样本,各个第二参与方在确定双方重叠样本之后,分别反馈各个双方重叠样本对应的标识信息至第一参与方,第一参与方基于各个标识信息以及本地样本的样本标签,确定各个双方重叠样本对应的双方样本标签,并根据双方样本标签确定双方中间参数,其中,第一参与方的本地样本中双方重叠样本对应的样本的标识信息,与双方重叠样本对应的标识信息相同。

而后,各个第二参与方基于双方重叠样本,计算得到双方联邦计算中间参数,并将所述双方联邦计算中间参数发送至第一参与方,具体地,各个第二参与方分别将双方重叠样本中本地样本特征输入各自双方联邦分类模型的第二特征提取模型,以获得第三特征表征;各个第二参与方分别将所述第三特征表征输入各自的双方联邦分类模型的第一分类模型,计算得到双方联邦计算中间参数,并反馈所述双方联邦计算中间参数至所述第一参与方,具体地,各个第二参与方分别将所述第三特征表征以及双方中间参数,输入各自的双方联邦分类模型的第一分类模型,得到双方联邦计算中间参数。

步骤s300,第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

本实施例中,在获得双方联邦计算中间参数以及多方联邦计算中间参数之后,第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作,具体地,第一参与方基于所述多方联邦计算中间参数确定多方计算损失值,基于各个所述双方联邦计算中间参数确定各个双方计算损失值,分别基于各个双方计算损失值以及所述多方计算损失值,确定多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作,即根据多方联邦计算中间梯度以及中间梯度执行模型更新操作,以获得目标模型,同时,第一参与方将多方联邦计算中间梯度、中间梯度以及双方联邦计算中间梯度反馈至各个第二参与方,第二参与方根据多方联邦计算中间梯度、中间梯度以及双方联邦计算中间梯度更新各自的模型。

需要说明的是,在第一参与方以及第二参与方均得到训练好的模型后,第一参与方以及各个第二参与方均可采用自身的目标模型对其本地样本进行标签预测,第一参与方以及各个第二参与方也可采用自身的目标模型对各个参与方之间的重叠样本进行标签预测。

本实施例中,通过增加双方重叠样本的训练过程,以在各个参与方所共同拥有的重叠样本数量较少时,训练出性能优良的模型,与联邦迁移学习相比,减少样本迁移学习的流程,提升各个参与方对应的终端的处理效率,同时,各个参与方之间通过多方联邦计算中间参数以及双方联邦计算中间参数进行数据交互,能够完全阻止信息泄漏,提高联邦学习中数据的安全性。

本实施例提出的纵向联邦建模方法,通过第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;接着第一参与方确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;而后第一参与方基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。使得包括第一参与方以及第二参与方在内的各个参与方完成模型更新得到目标模型,第一参与方以及各个第二参与方均可采用自身的目标模型对其本地样本进行标签预测,第一参与方以及各个第二参与方也可采用自身的目标模型对各个参与方之间的重叠样本进行标签预测,以使所有参与方完成模型训练,使得模型训练过程能够适用于所有参与方;通过增加双方重叠样本的训练过程,以在各个参与方所共同拥有的重叠样本数量较少时,训练出性能优良的模型,各个参与方之间通过多方联邦计算中间参数以及双方联邦计算中间参数进行数据交互,与传统的半监督学习相比,无需对缺失特征和标签进行补全,简化了模型训练过程中的交互流程,能够完全阻止信息泄漏,提高联邦学习中数据的安全性。

基于第一实施例,提出本发明纵向联邦建模方法的第二实施例,在本实施例中,步骤s300包括:

步骤s310,第一参与方基于第一参与方的本地样本确定单方损失值,基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值,并基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值;

步骤s320,第一参与方分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

本实施例中,在获得双方联邦计算中间参数以及多方联邦计算中间参数之后,第一参与方基于本地样本确定单方损失值,基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值;并基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值,以根据双方联邦计算中间参数以及多方联邦计算中间参数准确得到多方计算损失值以及双方计算损失值。

本实施例中,在获取到单方损失值、多方计算损失值以及双方计算损失值之后,分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,具体地,基于单方损失值确定单方梯度,基于多方计算损失值确定多方联邦计算中间梯度,基于双方计算损失值确定各个双方联邦计算中间梯度,而后,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并执行模型更新操作,即根据单方梯度所述、多方联邦计算中间梯度以及所述中间梯度执行模型更新操作,以获得目标模型。

本实施例提出的纵向联邦建模方法,通过第一参与方基于第一参与方的本地样本确定单方损失值,基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值,并基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值,接着第一参与方分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作,能够根据多方联邦计算中间参数以及双方联邦计算中间参数实现模型更新,能够完全阻止信息泄漏,进一步提高联邦学习中数据的安全性。

基于第二实施例,提出本发明纵向联邦建模方法的第三实施例,在本实施例中,步骤s310包括:

步骤s311,第一参与方将第一参与方的本地样本中的多方重叠样本输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征,将所述多方重叠样本的特征表征、样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型计算得到所述多方计算损失值。

本实施例中,在获得双方联邦计算中间参数以及多方联邦计算中间参数之后,第一参与方将第一参与方的本地样本中的多方重叠样本输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征,具体地,第一参与方获取其本地样本中的多方重叠样本的多方重叠样本特征,并将该多方重叠样本特征输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征。

而后,第一参与方将多方重叠样本的特征表征、样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型,具体地,第一参与方在样本标签中获取多方重叠样本对应的样本标签,将多方重叠样本的特征表征、多方重叠样本对应的样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型,得到所述多方计算损失值。

进一步地,在一实施例中,步骤s300还包括:

步骤s322,第一参与方将第一参与方的本地样本中的各个双方重叠样本输入第一参与方的特征提取模型,以获得各个双方重叠样本的特征表征,将所述各个双方重叠样本的特征表征、样本标签以及各个所述双方联邦计算中间参数输入对应的各个双方联邦模型的第一双方分类模型计算得到所述各个双方计算损失值。

本实施例中,在获得双方联邦计算中间参数以及多方联邦计算中间参数之后,第一参与方将第一参与方的本地样本中的各个双方重叠样本输入第一参与方的特征提取模型,以获得各个双方重叠样本的特征表征,第一参与方获取其本地样本中的各个双方重叠样本的双方重叠样本特征,并分别将各个双方重叠样本特征输入第一参与方的特征提取模型,以获得各个双方重叠样本的特征表征。

而后,第一参与方将所述各个双方重叠样本的特征表征、样本标签以及各个所述双方联邦计算中间参数输入对应的各个双方联邦模型的第一双方分类模型,具体地,第一参与方在样本标签中获取各个双方重叠样本对应的样本标签,分别将各个双方重叠样本的特征表征、各个双方重叠样本对应的样本标签以及所述多方联邦计算中间参数输入双方联邦模型的第一双方分类模型,得到双方计算损失值。

进一步地,又一实施例中,步骤s300还包括:

步骤s333,第一参与方将第一参与方的本地样本输入第一参与方的特征提取模型,以获得第一特征表征,将所述第一特征表征以及样本标签,输入单方分类模型计算得到所述单方损失值。

本实施例中,在获得双方联邦计算中间参数以及多方联邦计算中间参数之后,第一参与方将第一参与方的本地样本输入第一参与方的特征提取模型进行模型训练,以获得第一特征表征,而后将第一特征表征以及样本标签,输入单方分类模型进行模型训练,得到所述单方损失值。

本实施例提出的纵向联邦建模方法,通过第一参与方将第一参与方的本地样本中的多方重叠样本输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征,将所述多方重叠样本的特征表征、样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型计算得到所述多方计算损失值,能够根据多方联邦计算中间参数准确得到多方计算损失值,提升了多方计算损失值的准确性,进而提高了联邦学习的效率以及准确性。

基于第二实施例,提出本发明纵向联邦建模方法的第四实施例,在本实施例中,步骤s320包括:

步骤s410,第一参与方基于所述单方损失值计算得到单方梯度,并基于单方梯度,更新第一参与方的单方分类模型;

步骤s420,第一参与方基于所述多方计算损失值计算得到多方联邦计算中间梯度;基于多方联邦计算中间梯度,更新多方联邦分类模型的第一多方分类模型;

步骤s430,第一参与方基于所述各个双方计算损失值计算得到各个双方联邦计算中间梯度;基于各个双方联邦计算中间梯度,对应更新各个双方联邦分类模型的第一双方分类模型;

步骤s430,第一参与方基于单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,更新第一参与方的特征提取模型。

本实施例中,在获取到单方损失值、多方计算损失值以及双方计算损失值之后,第一参与方基于所述单方损失值计算得到单方梯度,例如采用梯度下降法计算单方梯度,并基于单方梯度,更新单方分类模型,即根据单方梯度分别更新单方分类模型的模型参数。

接着,第一参与方基于所述多方计算损失值计算得到多方联邦计算中间梯度,并基于多方联邦计算中间梯度,更新多方联邦分类模型的第一多方分类模型,即根据多方联邦计算中间梯度更新第一参与方中多方联邦分类模型的第一多方分类模型。同时,将多方联邦计算中间梯度反馈给各个第二参与方,在接收到多方联邦计算中间梯度后,各个第二参与方更新各自多方联邦分类模型的第二多方分类模型,即每个第二参与方分别根据多方联邦计算中间梯度更新自身多方联邦分类模型的第二多方分类模型的模型参数。

同时,第一参与方基于所述各个双方计算损失值计算得到各个双方联邦计算中间梯度,例如采用加权平均算法根据各个双方计算损失值计算得到各个双方联邦计算中间梯度,并基于各个双方联邦计算中间梯度,对应更新各个双方联邦分类模型的第一双方分类模型;同时,将各个双方联邦计算中间梯度反馈给各个对应的第二参与方,以供各个第二参与方更新各自双方联邦分类模型的第二双方分类模型。

并且,第一参与方基于单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,更新第一参与方的特征提取模型,例如,根据单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度进行融合得到第一目标梯度,根据第一目标梯度更新第一参与方的特征提取模型的模型参数。而各个第二参与方则分别基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新各自的特征提取模型,具体地,根据多方联邦计算中间梯度以及对应的双方联邦计算中间梯度进行融合得到各自的第二目标梯度,各个第二参与方根据第二目标梯度更新自身的特征提取模型的模型参数。

本实施例提出的纵向联邦建模方法,通过第一参与方基于所述单方损失值计算得到单方梯度,并基于单方梯度,更新第一参与方的单方分类模型;接着第一参与方基于所述多方计算损失值计算得到多方联邦计算中间梯度;基于多方联邦计算中间梯度,更新多方联邦分类模型的第一多方分类模型;而后第一参与方基于所述各个双方计算损失值计算得到各个双方联邦计算中间梯度;基于各个双方联邦计算中间梯度,对应更新各个双方联邦分类模型的第一双方分类模型;然后基于单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,更新第一参与方的特征提取模型,能够根据单方损失值、多方计算损失值以及双方计算损失值更新各个参与方的双方联邦分类模型以及多方联邦分类模型,进而准确实现模型的更新,得到训练好的模型,进一步提高了联邦学习的效率以及准确性。

基于第二实施例,提出本发明纵向联邦建模方法的第五实施例,在本实施例中,步骤s320之后,还包括:

步骤s510,第一参与方基于所述单方损失值、所述各个双方损失值以及所述多方计算损失值,计算总损失值;

步骤s520,若总损失值小于预设阈值,则第一参与方将模型更新操作后获得的模型作为目标模型;

步骤s530,若总损失值大于或等于预设阈值,则第一参与方基于模型更新操作后获得的模型,继续执行第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本的步骤。

本实施例中,在更新各个参与方的模型之后,第一参与方基于所述单方损失值、所述各个双方损失值以及所述多方计算损失值,计算总损失值,具体地,可获取单方损失值、各个双方损失值以及多方计算损失值对应的权重,并基于单方损失值、所述各个双方损失值以及所述多方计算损失值以及各自对应的权重,计算总损失值,例如,总损失值=多方计算损失值+单方损失值*单方损失值对应的权重+双方损失值1*双方损失值1对应的权重……+双方损失值n*双方损失值n对应的权重。

而后,第一参与方判断总损失值是否小于预设阈值,若小于,则第一参与方将模型更新操作后获得的模型作为目标模型。否则,第一参与方基于模型更新操作后获得的模型,继续执行第一参与方确定第一参与方与各个第二参与方之间的多方重叠样本的步骤,具体地,将更新后的第三特征提取模型作为第一参与方的第三特征提取模型,更新后的第三分类模型作为第一参与方的第三分类模型,更新后的第一参与方的多方联邦分类模型作为第一参与方的多方联邦分类模型,更新后第一参与方的双方联邦分类模型作为第一参与方的双方联邦分类模型,更新后各个第二参与方的多方联邦分类模型作为各个第二参与方的多方联邦分类模型作,更新后各个第二参与方的双方联邦分类模型作为各个第二参与方的双方联邦分类模型作,并继续执行步骤s100,直至新的总损失值小于预设阈值。

本实施例提出的纵向联邦建模方法,通过第一参与方基于所述单方损失值、所述各个双方损失值以及所述多方计算损失值,计算总损失值;接着若总损失值小于预设阈值,则第一参与方将模型更新操作后获得的模型作为目标模型;而后若总损失值大于或等于预设阈值,则第一参与方基于模型更新操作后获得的模型,继续执行确定第一参与方与各个第二参与方之间的多方重叠样本的步骤,通过确保总损失值收敛,以得到符合要求的模型,进一步提升联邦学习的效率。

本发明还提供一种纵向联邦建模方法,参照图4,图4为本发明纵向联邦建模方法另一实施例的流程示意图。

该纵向联邦建模方法应包括:

步骤610,第二参与方基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,其中,第二参与方包括多个参与方;

本实施例中,第二参与方分别将各自本地样本,与第一参与方的本地样本以及第二参与方中其他参与方的本地样本进行样本对齐,得到各个第二参与方的多方重叠样本,即该多方重叠样本为各个参与方的本地样本与其他参与方进行样本对齐得到的。各个多方重叠样本具有不同的样本特征,且各个多方重叠样本具有相同的id。

而后,第二参与方基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,具体的,各个第二参与方基于多方重叠样本,分别将各自多方重叠样本中本地样本特征,输入各自多方联邦分类模型的第一特征提取模型,以获得第二特征表征;各个第二参与方分别将所述第二特征表征输入各自的多方联邦分类模型的第一分类模型,计算得到中间参数,例如,将第二特征表征以及多方中间参数输入各自的多方联邦分类模型的第一分类模型,计算得到中间参数,而后根据中间参数计算得到多方联邦计算中间参数,并反馈所述多方联邦计算中间参数至所述第一参与方。

步骤620,第二参与方基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数;

本实施例中,各个第二参与方分别将其样本与第一参与方的本地样本进行样本对齐,得到各个第二参与方的双方重叠样本,各个第二参与方在确定双方重叠样本之后,分别反馈各个双方重叠样本对应的标识信息至第一参与方。

而后,第二参与方基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数,具体地,各个第二参与方分别将双方重叠样本中本地样本特征输入各自双方联邦分类模型的第二特征提取模型,以获得第三特征表征;各个第二参与方分别将所述第三特征表征输入各自的双方联邦分类模型的第一分类模型,计算得到双方联邦计算中间参数,并反馈所述双方联邦计算中间参数至所述第一参与方,具体地,各个第二参与方分别将所述第三特征表征以及双方中间参数,输入各自的双方联邦分类模型的第一分类模型,得到双方联邦计算中间参数。

步骤630,第二参与方基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作。

其中,目标梯度包括目标梯度包括多方联邦计算中间梯度以及双方联邦计算中间梯度,第二参与方基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新自身的多方联邦分类模型、双方联邦分类模型以及特征提取模型。

进一步地,在一实施例中,步骤s610包括:

步骤611,第二参与方将各自多方重叠样本中本地样本特征输入各自的特征提取模型,以获得第二特征表征;

步骤612,第二参与方将所述第二特征表征输入各自的多方联邦分类模型的第二多方分类模型,计算得到中间参数,并基于各个第二参与方的中间参数联合计算得到多方联邦计算中间参数。

本实施例中,各个第二参与方分别将各自多方重叠样本中本地样本特征输入各自的特征提取模型,以获得第二特征表征;而后,各个第二参与方分别将第二特征表征输入各自的多方联邦分类模型的第二多方分类模型,计算得到中间参数,例如,将第二特征表征以及多方中间参数输入各自的多方联邦分类模型的第二多方分类模型,计算得到中间参数;接着基于各个第二参与方的中间参数联合计算得到多方联邦计算中间参数,并反馈所述多方联邦计算中间参数至所述第一参与方,例如,各个第二参与方将中间参数发送至协调方,协调方根据各个中间参数联合计算得到多方联邦计算中间参数,并反馈所述多方联邦计算中间参数至所述第一参与方。

进一步地,另一实施例中,步骤s620包括:

步骤621,第二参与方将双方重叠样本中本地样本特征输入各自的特征提取模型,以获得第三特征表征;

步骤622,第二参与方将所述第三特征表征输入各自的双方联邦分类模型的第二双方分类模型,计算得到双方联邦计算中间参数。

本实施例中,各个第二参与方分别基于双方重叠样本计算得到双方联邦计算中间参数,并将所述双方联邦计算中间参数发送至第一参与方,具体地,第一参与方分别将双方中间参数发送至对应的第二参与方,各个第二参与方分别将双方重叠样本中本地样本特征输入各自的特征提取模型,以获得第三特征表征;各个第二参与方分别将所述第三特征表征输入各自的双方联邦分类模型的第二双方分类模型,计算得到双方联邦计算中间参数,并反馈所述双方联邦计算中间参数至所述第一参与方,具体地,各个第二参与方分别将所述第三特征表征以及双方中间参数,输入各自的双方联邦分类模型的第二双方分类模型,得到双方联邦计算中间参数。

进一步地,又一实施例中,所述目标梯度包括多方联邦计算中间梯度以及双方联邦计算中间梯度,步骤s630包括:

步骤631,第二参与方基于多方联邦计算中间梯度更新多方联邦分类模型的第二多方分类模型;

步骤632,第二参与方基于双方联邦计算中间梯度更新双方联邦分类模型的第二双方分类模型;

步骤633,第二参与方基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新特征提取模型。

本实施例中,在接收到多方联邦计算中间梯度以及双方联邦计算中间梯度后,各个第二参与方更新各自多方联邦分类模型的第二多方分类模型,即每个第二参与方分别根据多方联邦计算中间梯度更新自身多方联邦分类模型的第二多方分类模型的模型参数,并基于多方联邦计算中间梯度更新多方联邦分类模型的第二多方分类模型。

同时,各个第二参与方则分别基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新各自的特征提取模型,具体地,根据多方联邦计算中间梯度以及对应的双方联邦计算中间梯度进行融合得到各自的第二目标梯度,各个第二参与方根据第二目标梯度更新自身的特征提取模型的模型参数。

本实施例中,通过第二参与方基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,其中,第二参与方包括多个参与方;接着第二参与方基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数;而后第二参与方基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作,使得第二参与方完成模型更新得到目标模型,各个第二参与方均可采用自身的目标模型对其本地样本进行标签预测,第一参与方以及各个第二参与方也可采用自身的目标模型对各个参与方之间的重叠样本进行标签预测,以使所有参与方完成模型训练,使得模型训练过程能够适用于所有参与方;通过增加双方重叠样本的训练过程,以在各个参与方所共同拥有的重叠样本数量较少时,训练出性能优良的模型,各个参与方之间通过多方联邦计算中间参数以及双方联邦计算中间参数进行数据交互,与传统的半监督学习相比,无需对缺失特征和标签进行补全,简化了模型训练过程中的交互流程,能够完全阻止信息泄漏,提高联邦学习中数据的安全性。

本发明实施例还提供一种纵向联邦建模装置,参照图5,所述纵向联邦建模装置包括:

第一确定模块100,用于确定第一参与方与各个第二参与方之间的多方重叠样本,并基于多方重叠样本获取各个第二参与方对应的多方联邦计算中间参数;

第二确定模块200,用于确定各个第二参与方与第一参与方之间的双方重叠样本,并基于双方重叠样本分别获取各个第二参与方对应的双方联邦计算中间参数;

模型更新模块300,用于基于第一参与方的本地样本、多方联邦计算中间参数以及各个所述双方联邦计算中间参数,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

可选地,模型更新模块300还用于:

基于第一参与方的本地样本确定单方损失值,基于第一参与方的本地样本和所述多方联邦计算中间参数确定多方计算损失值,并基于第一参与方的本地样本和各个所述双方联邦计算中间参数确定各个双方计算损失值;

分别基于所述单方损失值、所述各个双方计算损失值以及所述多方计算损失值,确定单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,并基于所述单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度并执行模型更新操作。

可选地,模型更新模块300还用于:

将第一参与方的本地样本中的多方重叠样本输入第一参与方的特征提取模型,以获得多方重叠样本的特征表征,将所述多方重叠样本的特征表征、样本标签以及所述多方联邦计算中间参数输入多方联邦模型的第一多方分类模型计算得到所述多方计算损失值。

可选地,模型更新模块300还用于:

将第一参与方的本地样本中的各个双方重叠样本输入第一参与方的特征提取模型,以获得各个双方重叠样本的特征表征,将所述各个双方重叠样本的特征表征、样本标签以及各个所述双方联邦计算中间参数输入对应的各个双方联邦模型的第一双方分类模型计算得到所述各个双方计算损失值。

可选地,模型更新模块300还用于:

将第一参与方的本地样本输入第一参与方的特征提取模型,以获得第一特征表征,将所述第一特征表征以及样本标签,输入单方分类模型计算得到所述单方损失值。

可选地,模型更新模块300还用于:

基于所述单方损失值计算得到单方梯度,并基于单方梯度,更新第一参与方的单方分类模型;

基于所述多方计算损失值计算得到多方联邦计算中间梯度;基于多方联邦计算中间梯度,更新多方联邦分类模型的第一多方分类模型;

基于所述各个双方计算损失值计算得到各个双方联邦计算中间梯度;基于各个双方联邦计算中间梯度,对应更新各个双方联邦分类模型的第一双方分类模型;

基于单方梯度、多方联邦计算中间梯度以及各个双方联邦计算中间梯度,更新第一参与方的特征提取模型。

本发明实施例还提供一种纵向联邦建模装置,所述纵向联邦建模装置包括:

纵向联邦建模装置,其特征在于,所述纵向联邦建模装置包括:

第一计算模块,用于基于与第一参与方之间的多方重叠样本,联合计算得到多方联邦计算中间参数,其中,第二参与方包括多个参与方;

第二计算模块,用于基于与第一参与方之间的双方重叠样本,分别计算得到双方联邦计算中间参数;

第二模型更新模块,用于基于接收到的第一参与方基于所述多方联邦计算中间参数以及各个双方联邦计算中间参数反馈的目标梯度,执行模型更新操作。

可选地,第一计算模块还用于:

将各自多方重叠样本中本地样本特征输入各自的特征提取模型,以获得第二特征表征;

将所述第二特征表征输入各自的多方联邦分类模型的第二多方分类模型,计算得到中间参数,并基于各个第二参与方的中间参数联合计算得到多方联邦计算中间参数。

可选地,第二计算模块还用于:

将双方重叠样本中本地样本特征输入各自的特征提取模型,以获得第三特征表征;

将所述第三特征表征输入各自的双方联邦分类模型的第二双方分类模型,计算得到双方联邦计算中间参数。

可选地,第二模型更新模块还用于:

基于多方联邦计算中间梯度更新多方联邦分类模型的第二多方分类模型;

基于双方联邦计算中间梯度更新双方联邦分类模型的第二双方分类模型;

基于多方联邦计算中间梯度以及双方联邦计算中间梯度更新特征提取模型。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有纵向联邦建模程序,所述纵向联邦建模程序被处理器执行时实现如上所述的纵向联邦建模方法的步骤。

其中,在所述处理器上运行的纵向联邦建模程序被执行时所实现的方法可参照本发明纵向联邦建模方法各个实施例,此处不再赘述。

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

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

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

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

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