本发明涉及金融科技(fintech)技术领域,尤其涉及一种基于联邦迁移学习的参数处理方法、设备及存储介质。
背景技术:
随着金融科技(fintech),尤其是互联网科技金融的不断发展,越来越注重通过对用户的各项数据添加不同的标签来体现用户的特征;而各个机构中所涉及到的用户数据众多,往往通过机器学习的方式来对各项数据进行标注。
目前包括联邦学习在内的分布式机器学习技术应用的一个前提条件是分布式中各节点上的数据在样本空间或特征空间上高度重合。然而在很多真实场景中,分布在各节点上的数据往往是异构的,也即他们在样本空间和特征空间上的重合度很低;数据的异构性问题导致了分布式的机器学习技术在真实场景中的应用困难,需要构建大量的数据才能确保联邦学习的准确率。同时随着用户隐私保护在机器学习中的应用,采用隐私保护的计算使得计算成本大幅度增加,也影响了分布式机器学习的推广。如此一来,数据构建和计算的复杂性,以及基于隐私保护计算的高成本,在降低分布式机器学习效率的同时,还不利于其推广。
技术实现要素:
本发明的主要目的在于提供一种基于联邦迁移学习的参数处理方法、装置、设备及存储介质,旨在解决现有技术中因用于分布式机器学习的数据构建和计算复杂,以及基于隐私保护计算的高成本,所导致的分布式机器学习的效率低及影响推广的问题。
为实现上述目的,本发明提供一种基于联邦迁移学习的参数处理方法,所述基于联邦迁移学习的参数处理方法包括以下步骤:
第一终端调用第一特征转换函数对第一终端内的第一标注样本和第一重叠样本分别进行特征转换,得到第一标注样本特征和第一重叠样本特征;
所述第一终端根据由样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第一重叠样本特征、第一标注样本特征和第一标注样本标签,生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;
所述第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并根据第二参数梯度更新第二参数,其中第二参数包括第二特征转换函数全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数;
所述第一终端接收所述第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据第一参数梯度更新第一参数,其中第一参数包括第一特征转换函数的全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数。
可选地,所述第一终端根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度的步骤包括:
所述第一终端根据第一秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第一份额,基于秘密共享机制,生成秘密共享损失值的第一份额,第一秘密共享参数梯度的第一份额,第二秘密共享参数梯度的第一份额,并将所述第二秘密共享参数梯度的第一份额发送给第二终端,以供第二终端生成第二参数梯度;
所述第一终端接收第二终端发送的秘密共享损失值的第二份额、第一秘密共享参数梯度的第二份额和第二私有损失值,根据第一私有损失值,第二私有损失值,秘密共享损失值的第一份额和秘密共享损失值的第二份额生成总损失值,并根据第一私有参数梯度,第一秘密共享参数梯度的第一份额,和第一秘密共享参数梯度的第二份额,生成第一参数梯度。
可选地,所述根据所述总损失值和第一参数梯度更新第一参数的步骤包括:
所述第一终端判断所述总损失值是否小于预设阈值;
若所述总损失值小于预设阈值,则判定对联邦训练结束,所述第一终端停止训练,并发送训练停止信号到第二终端;
若所述总损失值不小于预设阈值,则通过第一参数梯度对第一参数进行更新,并发送训练继续信号到第二终端。
可选地,所述判定对联邦训练结束的步骤之后包括:
当所述第一终端接收到对第二终端的未标注样本的进行标签预测请求时,根据已经训练好的第一特征转换函数对第一标注样本进行特征转换,得到第一标注样本特征,基于第一标注样本特征和第一标注样本标签,生成第一秘密共享标签预测中间结果,并基于秘密共享机制,将所述第一秘密共享标签预测中间结果分解得到第一秘密共享标签预测中间结果的第一份额和第一秘密共享标签预测中间结果的第二份额,将所述第一秘密共享标签预测中间结果的第二份额发送到第二终端,以供所述第二终端生成第二标签预测结果;
所述第一终端接收所述第二终端发送的第二秘密共享标签预测中间结果的第一份额,并根据所述第一秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第一份额,生成第一标签预测结果;
所述第一终端接收所述第二终端发送的第二标签预测结果,并根据所述第一标签预测结果和所述第二标签预测结果,生成标签预测结果,完成对所述第二终端中未标注样本的标注。
进一步地,为实现上述目的,本发明还提供一种基于联邦迁移学习的参数处理设备,所述基于联邦迁移学习的参数处理方法包括以下步骤:
第二终端调用第二特征转换函数,并在对所述第二特征转换函数的参数进行初始化后,根据所述第二特征函数对所述第二终端的第二标注样本和第二重叠样本进行特征转换,生成第二标注样本特征和第二重叠样本特征,并根据样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第二重叠样本特征,第二标注样本特征和第二标注样本标签,生成第二私有损失值,第二私有参数梯度,第二秘密共享计算中间结果;
所述第二终端通过秘密共享机制对第二秘密共享计算中间结果进行分解得到第二秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第二份额,并将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端。
可选地,所述将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端的步骤包括:
所述第二终端接收所述第一终端发送的第一秘密共享计算中间结果的第二份额,并根据所述第一秘密共享计算中间结果的第二份额和第二秘密共享计算中间结果的第二份额,基于秘密共享机制,生成秘密共享损失值的第二份额,第一秘密共享参数梯度的第二份额,第二秘密共享参数梯度的第二份额,并将所述秘密共享损失值的第二份额和第一秘密共享参数梯度的第二份额发送给第一终端,以供第一终端生成总损失值和第一参数梯度;
所述第二终端接收第一终端发送的第二秘密共享参数梯度的第一份额,根据第二私有参数梯度,第二秘密共享参数梯度的第一份额,和第二秘密共享参数梯度的第二份额,生成第二参数梯度,并根据所述第二参数梯度更新第二参数。
可选地,所述根据第二参数梯度更新第二参数的步骤包括:
若所述第二终端接收到由第一终端发送的训练继续信号,则所述第二终端通过第二参数梯度对第二参数进行更新;
若所述第二终端接收到由第一终端发送的训练停止信号,则所述第二终端停止训练。
优选地,所述第二终端停止训练的步骤之后包括:
所述第二终端调用已经训练好的第二特征转换函数对所述第二终端的未标注样本进行特征转换,得到未标注样本特征,并根据已经训练好的标注预测模型,基于所述未标注样本特征生成第二秘密共享标签预测中间结果;
所述第二终端基于秘密共享机制,将所述第二秘密共享标签预测中间结果分解得到第二秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第二份额,并将所述第二秘密共享标签预测中间结果的第一份额发送到所述第一终端,以供所述第一终端生成第一预测结果;
所述第二终端接收所述第一终端发送的第一秘密共享标签预测中间结果的第二份额,并根据所述第二秘密共享标签预测中间结果的第二份额和第一秘密共享标签预测中间结果的第二份额,生成第二标签预测结果,并将所述第二标签预测结果发送到所述第一终端,以供所述第一终端生成标签预测结果。
进一步地,为实现上述目的,本发明还提供一种基于联邦迁移学习的参数处理设备,所述基于联邦迁移学习的参数处理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于联邦迁移学习的参数处理程序,所述基于联邦迁移学习的参数处理程序被所述处理器执行时实现如上述所述的基于联邦迁移学习的参数处理方法的步骤。
进一步地,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于联邦迁移学习的参数处理程序,所述基于联邦迁移学习的参数处理程序被处理器执行时实现如上所述的基于联邦迁移学习的参数处理方法的步骤。
本发明先由第一终端调用第一特征转换函数对第一标注样本和第一重叠样本进行特征转换,并由样本特征距离函数和标注预测模型误差函数组成的损失函数来生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;此后第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并更新第二参数。此外,第一终端接收第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额、第二秘密共享计算中间结果的第一份额、第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据第一参数梯度更新第一参数;以此实现对联邦标注预测模型中待更新参数的更新。
因第一参数依据对第一终端和第二终端中经分解得到的第一份额的处理进行更新,第二参数依据对第一终端和第二终端中经分解得到的第二份额的处理进行更新,而第一份额和第二份额均依据两者之间的重叠样本和各自的标注样本生成,使得第一参数和第二参数的更新与第一终端和第二终端中的重叠样本和各自的标注样本相关。重叠样本表征了第一终端和第二终端之间的相关性,而各自的标注样本则表征了各自之间标注样本和未标注样本之间的相关性,使得依据第一终端和第二终端各自所具有的原始样本、重叠样本和标注样本标签来实现第一参数和第二参数的更新,样本之间的相关性高,降低了数据的异构性;避免了因数据的异构性而导致的在真实场景中需要对大量数据进行构建和处理的问题,提高了分布式机器学习的效率。同时,通过秘密共享机制来对第一终端和第二终端中的数据进行分解,并将各自经分解得到数据进行交换,以更新各自的参数。整个过程中第一终端和第二终端均不知晓对方分解前的任何信息,确保了两者之间的隐私数据的安全性,且计算成本低,有利于分布式机器学习技术在真实场景中的推广应用。
附图说明
图1为本发明基于联邦迁移学习的参数处理设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明基于联邦迁移学习的参数处理方法第一实施例的流程示意图;
图3为本发明基于联邦迁移学习的参数处理方法第二实施例的流程示意图;
图4为本发明基于联邦迁移学习的参数处理方法中迭代更新的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于联邦迁移学习的参数处理设备,参照图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中可以包括操作系统、网络通信模块、用户接口模块以及基于联邦迁移学习的参数处理程序。其中,操作系统是管理和控制基于联邦迁移学习的参数处理设备与软件资源的程序,支持网络通信模块、用户接口模块、基于联邦迁移学习的参数处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的基于联邦迁移学习的参数处理设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的基于联邦迁移学习的参数处理程序,并执行以下操作:
第一终端调用第一特征转换函数对第一终端内的第一标注样本和第一重叠样本分别进行特征转换,得到第一标注样本特征和第一重叠样本特征;
所述第一终端根据由样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第一重叠样本特征、第一标注样本特征和第一标注样本标签,生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;
所述第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并根据第二参数梯度更新第二参数,其中第二参数包括第二特征转换函数全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数;
所述第一终端接收所述第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据第一参数梯度更新第一参数,其中第一参数包括第一特征转换函数的全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数。
进一步地,所述第一终端根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度的步骤包括:
所述第一终端根据第一秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第一份额,基于秘密共享机制,生成秘密共享损失值的第一份额,第一秘密共享参数梯度的第一份额,第二秘密共享参数梯度的第一份额,并将所述第二秘密共享参数梯度的第一份额发送给第二终端,以供第二终端生成第二参数梯度;
所述第一终端接收第二终端发送的秘密共享损失值的第二份额、第一秘密共享参数梯度的第二份额和第二私有损失值,根据第一私有损失值,第二私有损失值,秘密共享损失值的第一份额和秘密共享损失值的第二份额生成总损失值,并根据第一私有参数梯度,第一秘密共享参数梯度的第一份额,和第一秘密共享参数梯度的第二份额,生成第一参数梯度。
进一步地,所述根据所述总损失值和第一参数梯度更新第一参数的步骤包括:
所述第一终端判断所述总损失值是否小于预设阈值;
若所述总损失值小于预设阈值,则判定对联邦训练结束,所述第一终端停止训练,并发送训练停止信号到第二终端;
若所述总损失值不小于预设阈值,则通过第一参数梯度对第一参数进行更新,并发送训练继续信号到第二终端。
进一步地,所述判定对联邦训练结束的步骤之后,处理器1001还用于调用存储器1005中存储的基于联邦迁移学习的参数处理程序,并执行以下操作:
当所述第一终端接收到对第二终端的未标注样本的进行标签预测请求时,根据已经训练好的第一特征转换函数对第一标注样本进行特征转换,得到第一标注样本特征,基于第一标注样本特征和第一标注样本标签,生成第一秘密共享标签预测中间结果,并基于秘密共享机制,将所述第一秘密共享标签预测中间结果分解得到第一秘密共享标签预测中间结果的第一份额和第一秘密共享标签预测中间结果的第二份额,将所述第一秘密共享标签预测中间结果的第二份额发送到第二终端,以供所述第二终端生成第二标签预测结果;
所述第一终端接收所述第二终端发送的第二秘密共享标签预测中间结果的第一份额,并根据所述第一秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第一份额,生成第一标签预测结果;
所述第一终端接收所述第二终端发送的第二标签预测结果,并根据所述第一标签预测结果和所述第二标签预测结果,生成标签预测结果,完成对所述第二终端中未标注样本的标注。
进一步地,处理器1001还用于调用存储器1005中存储的基于联邦迁移学习的参数处理程序,并执行以下操作:
第二终端调用第二特征转换函数,并在对所述第二特征转换函数的参数进行初始化后,根据所述第二特征函数对所述第二终端的第二标注样本和第二重叠样本进行特征转换,生成第二标注样本特征和第二重叠样本特征,并根据样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第二重叠样本特征,第二标注样本特征和第二标注样本标签,生成第二私有损失值,第二私有参数梯度,第二秘密共享计算中间结果;
所述第二终端通过秘密共享机制对第二秘密共享计算中间结果进行分解得到第二秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第二份额,并将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端。
进一步地,所述将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端的步骤包括:
所述第二终端接收所述第一终端发送的第一秘密共享计算中间结果的第二份额,并根据所述第一秘密共享计算中间结果的第二份额和第二秘密共享计算中间结果的第二份额,基于秘密共享机制,生成秘密共享损失值的第二份额,第一秘密共享参数梯度的第二份额,第二秘密共享参数梯度的第二份额,并将所述秘密共享损失值的第二份额和第一秘密共享参数梯度的第二份额发送给第一终端,以供第一终端生成总损失值和第一参数梯度;
所述第二终端接收第一终端发送的第二秘密共享参数梯度的第一份额,根据第二私有参数梯度,第二秘密共享参数梯度的第一份额,和第二秘密共享参数梯度的第二份额,生成第二参数梯度,并根据所述第二参数梯度更新第二参数。
进一步地,所述根据第二参数梯度更新第二参数的步骤包括:
若所述第二终端接收到由第一终端发送的训练继续信号,则所述第二终端通过第二参数梯度对第二参数进行更新;
若所述第二终端接收到由第一终端发送的训练停止信号,则所述第二终端停止训练。
进一步地,所述第二终端停止训练的步骤之后,处理器1001还用于调用存储器1005中存储的基于联邦迁移学习的参数处理程序,并执行以下操作:
所述第二终端调用已经训练好的第二特征转换函数对所述第二终端的未标注样本进行特征转换,得到未标注样本特征,并根据已经训练好的标注预测模型,基于所述未标注样本特征生成第二秘密共享标签预测中间结果;
所述第二终端基于秘密共享机制,将所述第二秘密共享标签预测中间结果分解得到第二秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第二份额,并将所述第二秘密共享标签预测中间结果的第一份额发送到所述第一终端,以供所述第一终端生成第一预测结果;
所述第二终端接收所述第一终端发送的第一秘密共享标签预测中间结果的第二份额,并根据所述第二秘密共享标签预测中间结果的第二份额和第一秘密共享标签预测中间结果的第二份额,生成第二标签预测结果,并将所述第二标签预测结果发送到所述第一终端,以供所述第一终端生成标签预测结果。
本发明基于联邦迁移学习的参数处理设备的具体实施方式与下述基于联邦迁移学习的参数处理方法各实施例基本相同,在此不再赘述。
本发明还提供一种基于联邦迁移学习的参数处理方法。
参照图2,图2为本发明基于联邦迁移学习的参数处理方法第一实施例的流程示意图。
本发明实施例提供了基于联邦迁移学习的参数处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例基于联邦迁移学习的参数处理方法应用于第一终端,本发明实施例第一终端与第二终端可以分别是pc,便携计算机等终端设备,在此不做具体限制。
具体地,本实施例中的基于联邦迁移学习的参数处理方法包括:
步骤s10,第一终端调用第一特征转换函数对第一终端内的第一标注样本和第一重叠样本分别进行特征转换,得到第一标注样本特征和第一重叠样本特征;
随着科技的发展,“机器学习”已成为人工智能的核心研究领域之一,而如何在保护数据隐私、满足合法合规要求的前提下继续进行机器学习,是机器学习领域现在关注的一个趋势,在此背景下,人们研究提出了“联邦学习”的概念。
联邦学习利用技术算法加密建造的模型,联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,联邦学习通过加密机制下的参数交换方式保护用户数据隐私,数据和模型本身不会进行传输,也不能反猜对方数据,因此在数据层面不存在泄露的可能,也不违反更严格的数据保护法案如gdpr(generaldataprotectionregulation,《通用数据保护条例》)等,能够在较高程度保持数据完整性的同时,保障数据隐私。
现有的包括联邦学习在内的分布式机器学习技术应用的一个前提条件是分布式中各节点上的数据在样本空间或特征空间上高度重合。然而在很多真实场景中,分布在各节点上的数据往往是异构的,也即他们在样本空间和特征空间上的重合度很低。再者,真实场景中的样本数据往往存在标注缺失的问题。数据的异构性和标注的缺失问题导致了分布式的机器学习技术在真实场景中的应用困难。另一方面,随着各国对消费者的隐私保护日益重视,基于隐私保护的分布式机器学习技术的研究和应用正成为热点。然而采用隐私保护技术的一大挑战是其计算成本通常极其高昂。这便使得基于隐私保护的分布式机器学习技术的可行性大打折扣。为了实现对异构性数据的有效标注并降低计算成本,提出本发明基于联邦迁移学习的参数处理方法的各个实施例。
本实施例的联邦迁移联邦学习的一种类型,是指在两个数据集(即可以是本发明实施例中第一终端和第二终端中的数据)的用户与用户特征重叠都较少的情况下,不对数据进行切分,而利用迁移学习来克服数据或标签不足的情况。比如有两个不同机构,一家是位于中国的银行,另一家是位于美国的电商。由于受地域限制,这两家机构的用户群体交集很小。同时,由于机构类型的不同,二者的数据特征也只有小部分重合。此时就需要引入联邦迁移的学习方式,来解决单边数据规模小和标签样本少的问题。
本实施例中,第一终端和第二终端中均预先设置有第一特征转换函数和第二特征转换函数,分别
为了对第二终端中未标注的数据进行标注,需要先对联邦标注预测模型进行训练,对其中的待更新参数通过多次训练进行更新,以确保对未标注数据标注的准确性。具体地,先根据需求设置第一特征转换函数
步骤s20,所述第一终端根据由样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第一重叠样本特征、第一标注样本特征和第一标注样本标签,生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;
进一步地,第一终端通过由样本特征距离函数
步骤s30,所述第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并根据第二参数梯度更新第二参数,其中第二参数包括第二特征转换函数全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数;
更进一步地,第一终端通过秘密共享机制对所生成的第一秘密共享计算中间结果
具体地,第二终端先对其中第二特征参数函数
此后,第二终端通过样本特征距离函数
进一步地,第二终端对第二秘密共享计算中间结果
步骤s40,所述第一终端接收所述第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据第一参数梯度更新第一参数,其中第一参数包括第一特征转换函数的全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数;
更进一步地,第一终端在接收到第二终端发送的第二秘密共享计算中间结果的第一份额
具体地,第一终端先基于秘密共享机制对第一秘密共享计算中间结果的第一份额
进一步地,第二终端基于秘密共享机制,将此前接收到的第一终端发送的第一秘密共享计算中间结果的第二份额
第一终端在接收到该秘密共享损失值的第二份额<lab>b和第一秘密共享参数梯度的第二份额
l=la lb <lab>a <lab>b(1);
此外,第一终端依据第一私有参数梯度
同时,第二终端将接收的第二秘密共享参数梯度的第一份额
进一步地,在生成第一参数梯度
需要说明的是,本实施例上述的迭代更新过程可通过图4所示的流程实现,图4中的a方和b方分别表示第一终端和第二终端,而其各项字符标号和上述文字部分的含义相同,在此不做赘述。
本实施例先由第一终端调用第一特征转换函数对第一标注样本和第一重叠样本进行特征转换,并由样本特征距离函数和标注预测模型误差函数组成的损失函数来生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;此后第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并更新第二参数。此外,第一终端接收第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额、第二秘密共享计算中间结果的第一份额、第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据第一参数梯度更新第一参数;以此实现对联邦标注预测模型中待更新参数的更新。
因第一参数依据对第一终端和第二终端中经分解得到的第一份额的处理进行更新,第二参数依据对第一终端和第二终端中经分解得到的第二份额的处理进行更新,而第一份额和第二份额均依据两者之间的重叠样本和各自的标注样本生成,使得第一参数和第二参数的更新与第一终端和第二终端中的重叠样本和各自的标注样本相关。重叠样本表征了第一终端和第二终端之间的相关性,而各自的标注样本则表征了各自之间标注样本和未标注样本之间的相关性,使得依据第一终端和第二终端各自所具有的原始样本、重叠样本和标注样本标签来实现第一参数和第二参数的更新,样本之间的相关性高,降低了数据的异构性;避免了因数据的异构性而导致的在真实场景中需要对大量数据进行构建和处理的问题,提高了分布式机器学习的效率。同时,通过秘密共享机制来对第一终端和第二终端中的数据进行分解,并将各自经分解得到数据进行交换,以更新各自的参数。整个过程中第一终端和第二终端均不知晓对方分解前的任何信息,确保了两者之间的隐私数据的安全性,且计算成本低,有利于分布式机器学习技术在真实场景中的推广应用。
进一步地,基于本发明基于联邦迁移学习的参数处理方法的第一实施例,提出本发明基于联邦迁移学习的参数处理方法第二实施例。
请参照图3,所述基于联邦迁移学习的参数处理方法第二实施例与所述基于联邦迁移学习的参数处理方法第一实施例的区别在于,所述根据所述总损失值和第一参数梯度更新第一参数的步骤包括:
步骤s31,所述第一终端判断所述总损失值是否小于预设阈值;
步骤s32,若所述总损失值小于预设阈值,则判定对联邦训练结束,所述第一终端停止训练,并发送训练停止信号到第二终端;
步骤s33,若所述总损失值不小于预设阈值,则通过第一参数梯度对第一参数进行更新,并发送训练继续信号到第二终端:
可理解地,对于联邦标注预测模型来说,其总损失值的数值越小,联邦标注预测模型的预测越准确。为了判定总损失值的数值大小,预先设定有预设阈值,将更新的总损失值和该预设阈值对比,判断总损失值是否小于预设阈值。若小于预设阈值,则判定对联邦训练结束,第一终端停止对联邦标注预测模型的训练,同时发送训练停止信号到第二终端。第二终端在接收到该训练停止信号后,则停止训练。而当总损失值大于或等于预设阈值,则判定联邦预测模型的训练尚未结束,继续生成第一参数梯度对第一参数进行更新,并发送训练继续信号到第二终端。第二终端在接收到该训练继续信号后,继续生成第二参数梯度对第二参数进行更新,直到第一终端生成的总损失值小于预设阈值。
进一步地,基于本发明基于联邦迁移学习的参数处理方法的第二实施例,提出本发明基于联邦迁移学习的参数处理方法第三实施例。
请参照图3,所述基于联邦迁移学习的参数处理方法第三实施例与所述基于联邦迁移学习的参数处理方法第二实施例的区别在于,所述判定对联邦训练结束的步骤之后包括:
步骤s50,当所述第一终端接收到对第二终端的未标注样本的进行标签预测请求时,根据已经训练好的第一特征转换函数对第一标注样本进行特征转换,得到第一标注样本特征,基于第一标注样本特征和第一标注样本标签,生成第一秘密共享标签预测中间结果,并基于秘密共享机制,将所述第一秘密共享标签预测中间结果分解得到第一秘密共享标签预测中间结果的第一份额和第一秘密共享标签预测中间结果的第二份额,将所述第一秘密共享标签预测中间结果的第二份额发送到第二终端,以供所述第二终端生成第二标签预测结果;
步骤s60,所述第一终端接收所述第二终端发送的第二秘密共享标签预测中间结果的第一份额,并根据所述第一秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第一份额,生成第一标签预测结果;
步骤s70,所述第一终端接收所述第二终端发送的第二标签预测结果,并根据所述第一标签预测结果和所述第二标签预测结果,生成标签预测结果,完成对所述第二终端中未标注样本的标注。
本实施例为基于联邦迁移的模型训练完成之后,对第二终端中未标注样本的进行标签预测的过程。具体地,当第一终端接收到对第二终端中未标注样本进行标签预测请求时,先通过已经训练好的第一特征转换函数对第一标注样本进行特征转换,得到第一标注样本特征ua,并对第一终端中的第一标注样本特征ua和第一标注样本标签ya进行计算,生成第一秘密共享标签预测中间结果ka。此后基于秘密共享机制,对第一秘密共享标签预测中间结果ka进行分解,得到第一秘密共享标签预测中间结果的第一份额<ka>a和第一秘密共享标签预测中间结果的第二份额<ka〉b,并将第一秘密共享标签预测中间结果的第二份额〈ka〉b发送到第二终端,以供第二终端生成第二标签预测结果
第二终端先调用已经训练好的第二特征转换函数,并对第二特征转换函数中的第二函数参数θb进行初始化;再通过第二特征转换函数对第二终端内的未标注样本
进一步地,第一终端在接收到第二终端发送的第二秘密共享标签预测中间结果的第一份额<kb>a后,将其和第一秘密共享标签预测中间结果的第一份额<ka>a一并生成为第一标签预测结果
本实施例的基于联邦迁移学习的参数处理方法,通过训练好的联邦标注预测模型,结合第一终端和第二终端中的各项样本数据,来对第二终端中的未标注样本进行标签预测;因联邦标注预测模型具有较高的准确性,且与第一终端和第二终端之间的样本数据具有较高的关联性,从而确保了未标注样本标签预测的准确性。
此外,本发明实施例还提出一种存储介质。
存储介质上存储有基于联邦迁移学习的参数处理程序,基于联邦迁移学习的参数处理程序被处理器执行时实现如上所述的基于联邦迁移学习的参数处理方法的步骤。
本发明存储介质具体实施方式与上述基于联邦迁移学习的参数处理方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
1.一种基于联邦迁移学习的参数处理方法,其特征在于,所述基于联邦迁移学习的参数处理方法包括以下步骤:
第一终端调用第一特征转换函数对第一终端内的第一标注样本和第一重叠样本分别进行特征转换,得到第一标注样本特征和第一重叠样本特征;
所述第一终端根据由样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第一重叠样本特征、第一标注样本特征和第一标注样本标签,生成第一私有损失值、第一私有参数梯度和第一秘密共享计算中间结果;
所述第一终端通过秘密共享机制对第一秘密共享计算中间结果进行分解得到第一秘密共享计算中间结果的第一份额和第一秘密共享计算中间结果的第二份额,并将第一秘密共享计算中间结果的第二份额发送给第二终端,以供第二终端生成第二参数梯度,并根据第二参数梯度更新第二参数,其中第二参数包括第二特征转换函数全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数;
所述第一终端接收所述第二终端发送的第二秘密共享计算中间结果的第一份额,根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度,并根据所述总损失值和第一参数梯度更新第一参数,其中第一参数包括第一特征转换函数的全部参数,以及样本特征距离函数的待更新参数和联邦标注预测模型的待更新参数。
2.如权利要求1所述的基于联邦迁移学习的参数处理方法,其特征在于,所述第一终端根据第一秘密共享计算中间结果的第一份额,第二秘密共享计算中间结果的第一份额,第一私有损失值和第一私有参数梯度,生成总损失值和第一参数梯度的步骤包括:
所述第一终端根据第一秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第一份额,基于秘密共享机制,生成秘密共享损失值的第一份额,第一秘密共享参数梯度的第一份额,第二秘密共享参数梯度的第一份额,并将所述第二秘密共享参数梯度的第一份额发送给第二终端,以供第二终端生成第二参数梯度;
所述第一终端接收第二终端发送的秘密共享损失值的第二份额、第一秘密共享参数梯度的第二份额和第二私有损失值,根据第一私有损失值,第二私有损失值,秘密共享损失值的第一份额和秘密共享损失值的第二份额生成总损失值,并根据第一私有参数梯度,第一秘密共享参数梯度的第一份额,和第一秘密共享参数梯度的第二份额,生成第一参数梯度。
3.如权利要求1-2任一项所述的基于联邦迁移学习的参数处理方法,其特征在于,所述根据所述总损失值和第一参数梯度更新第一参数的步骤包括:
所述第一终端判断所述总损失值是否小于预设阈值;
若所述总损失值小于预设阈值,则判定对联邦训练结束,所述第一终端停止训练,并发送训练停止信号到第二终端;
若所述总损失值不小于预设阈值,则通过第一参数梯度对第一参数进行更新,并发送训练继续信号到第二终端。
4.如权利要求3所述的基于联邦迁移学习的参数处理方法,其特征在于,所述判定对联邦训练结束的步骤之后包括:
当所述第一终端接收到对第二终端的未标注样本的进行标签预测请求时,根据已经训练好的第一特征转换函数对第一标注样本进行特征转换,得到第一标注样本特征,基于第一标注样本特征和第一标注样本标签,生成第一秘密共享标签预测中间结果,并基于秘密共享机制,将所述第一秘密共享标签预测中间结果分解得到第一秘密共享标签预测中间结果的第一份额和第一秘密共享标签预测中间结果的第二份额,将所述第一秘密共享标签预测中间结果的第二份额发送到第二终端,以供所述第二终端生成第二标签预测结果;
所述第一终端接收所述第二终端发送的第二秘密共享标签预测中间结果的第一份额,并根据所述第一秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第一份额,生成第一标签预测结果;
所述第一终端接收所述第二终端发送的第二标签预测结果,并根据所述第一标签预测结果和所述第二标签预测结果,生成标签预测结果,完成对所述第二终端中未标注样本的标注。
5.一种基于联邦迁移学习的参数处理方法,其特征在于,所述基于联邦迁移学习的参数处理方法包括以下步骤:
第二终端调用第二特征转换函数,并在对所述第二特征转换函数的参数进行初始化后,根据所述第二特征函数对所述第二终端的第二标注样本和第二重叠样本进行特征转换,生成第二标注样本特征和第二重叠样本特征,并根据样本特征距离函数和标注预测模型误差函数组成的损失函数,基于所述第二重叠样本特征,第二标注样本特征和第二标注样本标签,生成第二私有损失值,第二私有参数梯度,第二秘密共享计算中间结果;
所述第二终端通过秘密共享机制对第二秘密共享计算中间结果进行分解得到第二秘密共享计算中间结果的第一份额和第二秘密共享计算中间结果的第二份额,并将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端。
6.如权利要求5所述的基于联邦迁移学习的参数处理方法,其特征在于,所述将第二私有损失值和第二秘密共享计算中间结果的第一份额发送给第一终端的步骤包括:
所述第二终端接收所述第一终端发送的第一秘密共享计算中间结果的第二份额,并根据所述第一秘密共享计算中间结果的第二份额和第二秘密共享计算中间结果的第二份额,基于秘密共享机制,生成秘密共享损失值的第二份额,第一秘密共享参数梯度的第二份额,第二秘密共享参数梯度的第二份额,并将所述秘密共享损失值的第二份额和第一秘密共享参数梯度的第二份额发送给第一终端,以供第一终端生成总损失值和第一参数梯度;
所述第二终端接收第一终端发送的第二秘密共享参数梯度的第一份额,根据第二私有参数梯度,第二秘密共享参数梯度的第一份额,和第二秘密共享参数梯度的第二份额,生成第二参数梯度,并根据所述第二参数梯度更新第二参数。
7.如权利要求6所述的基于联邦迁移学习的参数处理方法,其特征在于,所述根据第二参数梯度更新第二参数的步骤包括:
若所述第二终端接收到由第一终端发送的训练继续信号,则所述第二终端通过第二参数梯度对第二参数进行更新;
若所述第二终端接收到由第一终端发送的训练停止信号,则所述第二终端停止训练。
8.如权利要求7所述的基于联邦迁移学习的参数处理方法,其特征在于,所述第二终端停止训练的步骤之后包括:
所述第二终端调用已经训练好的第二特征转换函数对所述第二终端的未标注样本进行特征转换,得到未标注样本特征,并根据已经训练好的标注预测模型,基于所述未标注样本特征生成第二秘密共享标签预测中间结果;
所述第二终端基于秘密共享机制,将所述第二秘密共享标签预测中间结果分解得到第二秘密共享标签预测中间结果的第一份额和第二秘密共享标签预测中间结果的第二份额,并将所述第二秘密共享标签预测中间结果的第一份额发送到所述第一终端,以供所述第一终端生成第一预测结果;
所述第二终端接收所述第一终端发送的第一秘密共享标签预测中间结果的第二份额,并根据所述第二秘密共享标签预测中间结果的第二份额和第一秘密共享标签预测中间结果的第二份额,生成第二标签预测结果,并将所述第二标签预测结果发送到所述第一终端,以供所述第一终端生成标签预测结果。
9.一种基于联邦迁移学习的参数处理设备,其特征在于,所述基于联邦迁移学习的参数处理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于联邦迁移学习的参数处理程序,所述基于联邦迁移学习的参数处理程序被所述处理器执行时实现如权利要求1-8中任一项所述的基于联邦迁移学习的参数处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于联邦迁移学习的参数处理程序,所述基于联邦迁移学习的参数处理程序被处理器执行时实现如权利要求1-8中任一项所述的基于联邦迁移学习的参数处理方法的步骤。
技术总结