纵向联邦学习系统优化方法、设备及可读存储介质与流程

文档序号:21273952发布日期:2020-06-26 23:07阅读:292来源:国知局
纵向联邦学习系统优化方法、设备及可读存储介质与流程

本发明涉及机器学习技术领域,尤其涉及一种纵向联邦学习系统优化方法、设备及可读存储介质。



背景技术:

随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。

纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合训练机器学习模型。比如有属于同一个地区的两个参与者a和b,其中参与者a是一家银行,参与者b是一个电商平台。参与者a和b在同一地区拥有较多相同的用户,但是a与b的业务不同,记录的用户数据特征是不同的。特别地,a和b记录的用户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助a和b构建联合机器学习预测模型,帮助a和b向他们的客户提供更好的服务。

纵向联邦学习在建模过程中,参与者之间以加密形式交互用于计算梯度和损失函数的中间结果,每一轮模型训练都需要对中间结果中的每个数据进行加密及交换,中间结果的数量与参与者所拥有的数据的数量相同,故加密及交互的数据量很大,加密和通信成本很高,同时也增加了纵向联邦建模时间。



技术实现要素:

本发明的主要目的在于提供一种纵向联邦学习系统优化方法、装置、设备及可读存储介质,旨在实现降低纵向联邦学习训练过程中的加密和通信成本,缩短建模时间。

为实现上述目的,本发明提供一种纵向联邦学习系统优化方法,应用于参与纵向联邦学习的第一设备,所述第一设备与第二设备通信连接,所述纵向联邦学习系统优化方法包括以下步骤:

接收所述第二设备发送的第二设备的加密精简中间结果,其中,所述第二设备用于对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果,并对所述第二设备的精简中间结果进行加密,得到所述第二设备的加密精简中间结果;

对所述第二设备的加密精简中间结果进行数据补齐,得到第二设备的加密补齐中间结果,其中,所述加密补齐中间结果的数据数量与所述原始中间结果的数据数量相同;

利用所述第二设备的加密补齐中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值,并基于所述加密第一梯度值更新所述第一设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第一设备的目标模型参数。

可选地,所述对所述第二设备的加密精简中间结果进行数据补齐获得加密补齐中间结果的步骤包括:

获取所述第二设备的抽样对照表,并基于所述第二设备的抽样对照表在所述第二设备的加密精简中间结果中确定填充数据以及所述填充数据对应的填充位置;

在所述第二设备的加密精简中间结果中,基于所述填充位置插入所述填充数据,得到所述第二设备的加密补齐中间结果。

可选地,所述利用所述第二设备的加密补齐中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值的步骤包括:

计算得到用于计算梯度值的第一设备的加密精简中间结果;

利用所述第二设备的加密补齐中间结果以及所述第一设备的加密精简中间结果,计算得到第一设备的加密中间结果;

利用所述第一设备的加密中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值。

可选地,所述计算得到用于计算梯度值的第一设备的加密精简中间结果的步骤包括:

所述第一设备对计算得到的第一设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第一设备的部分样本数据对应的精简中间结果;

对所述第一设备的精简中间结果进行加密,得到所述第一设备的加密精简中间结果。

可选地,所述利用所述第二设备的加密补齐中间结果以及所述第一设备的加密精简中间结果,计算得到第一设备的加密中间结果的步骤包括:

对所述第一设备的加密精简中间结果进行数据补齐,得到所述第一设备的加密补齐中间结果;

利用所述第一设备的加密补齐中间结果与所述第二设备的加密补齐中间结果,计算得到第一设备的加密中间结果。

为实现上述目的,本发明还提供一种纵向联邦学习系统优化方法,应用于参与纵向联邦学习的第二设备,所述纵向联邦学习系统优化方法包括以下步骤:

对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果;

对第二设备的精简中间结果进行加密,得到所述第二设备的部分样本数据对应的精简中间结果并发送至所述第一设备,以供所述第一设备基于所述第二设备的加密精简中间结果反馈所述第一设备的加密中间结果,其中,所述第一设备用于对接收的所述第二设备的加密精简中间结果进行数据补齐获得所述第二设备的加密补齐中间结果,并利用所述第二设备的加密补齐中间结果计算得到所述第一设备的加密中间结果;

利用所述第一设备的加密中间结果计算得到所述第二设备中模型参数对应的加密第二梯度值,并基于所述加密第二梯度值更新所述第二设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第二设备的目标模型参数。

可选地,所述对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果的步骤包括:

利用所述第二设备的模型参数分别对所述第二设备各条样本数据进行加权求和,计算得到所述第二设备的原始中间结果;

基于阈值对所述第二设备的原始中间结果进行拆分,得到第一子原始中间结果和第二子原始中间结果,其中,所述第一子原始中间结果中的各个数据小于或等于阈值,所述第二子原始中间结果中的各个数据大于阈值;

将所述第一子原始中间结果的所有数据进行分组,并确定各组各自的代表数据,由各组的代表数据组成第三子原始中间结果;

基于所述第三子原始中间结果和所述第二子原始中间结果,得到第二设备的精简中间结果。

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

此外,为实现上述目的,本发明还提出一种可读存储介质,所述可读存储介质上存储有纵向联邦学习系统优化程序,所述纵向联邦学习系统优化程序被处理器执行时实现如上所述的纵向联邦学习系统优化方法的步骤。

本发明中,接收所述第二设备发送的第二设备的加密精简中间结果,其中,所述第二设备对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果,并对所述第二设备的精简中间结果进行加密,得到所述第二设备的加密精简中间结果,而后对所述第二设备的加密精简中间结果进行数据补齐,得到第二设备的加密补齐中间结果,其中,所述加密补齐中间结果的数据数量与所述原始中间结果的数据数量相同,接下来利用所述第二设备的加密补齐中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值,并基于所述加密第一梯度值更新所述第一设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第一设备的目标模型参数。通过减少参与设备对应的中间结果所包含的数据个数,减少了需要加密及通信的数据量,降低了加密和通信成本,同时极大的缩短了纵向联邦建模时间。

附图说明

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

图2为本发明纵向联邦学习系统优化方法第一实施例的流程示意图;

图3为本发明实施例涉及的一种样本数据示意图。

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

具体实施方式

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

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。

需要说明的是,图1即可为纵向联邦学习系统优化设备的硬件运行环境的结构示意图。本发明实施例纵向联邦学习系统优化设备可以是pc,也可以是智能手机、智能电视机、平板电脑、便携计算机等具有显示功能的终端设备。

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

本领域技术人员可以理解,图1中示出的系统结构并不构成对终端系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及纵向联邦学习系统优化程序。

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

在本实施例中,终端系统包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的纵向联邦学习系统优化程序,其中,处理器1001调用存储器1005中存储的纵向联邦学习系统优化程序时,执行本申请各个实施例提供的纵向联邦学习系统优化方法的步骤。

基于上述的结构,提出纵向联邦学习系统优化方法的各个实施例。

本发明实施例提供了纵向联邦学习系统优化方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明实施例中涉及的第一设备和第二设备可以是参与纵向联邦学习联邦学习的参与设备,参与设备可以是智能手机、个人计算机和服务器等设备。

参照图2,图2为本发明纵向联邦学习系统优化方法第一实施例的流程示意图。在本实施例中,所述纵向联邦学习系统优化方法包括:

步骤s10,接收所述第二设备发送的第二设备的加密精简中间结果,其中,所述第二设备用于对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果,并对所述第一设备的精简中间结果进行加密,得到所述第一设备的加密精简中间结果;

在本实施例中,第一设备与第二设备预先建立通信连接。第一设备和第二设备的本地数据在用户维度上有重叠部分,在数据特征上有不相同的部分(可能完全不相同),第一设备与第二设备采用各自的本地数据进行样本对齐,确定双方的共有用户和不同的数据特征,第一设备将本地数据中共有用户的数据作为训练数据,第二设备将本地数据中共有用户的数据中与第一设备数据特征不同的数据作为训练数据,也即最终确定的第一样本数据和第二样本数据中用户是相同的,数据特征不相同。第一设备和第二设备进行样本对齐的方式可采用现有的样本对齐技术,在此不进行详细赘述。例如,图3为第一设备和第二设备中的样本数据示意图,第一设备本地数据中包括3个用户{u1,u2,u3},数据特征包括{x1,x2,x3},第二设备本地数据包括3个用户{u1,u2,u4},数据特征包括{x4,x5}。样本对齐后,第一设备确定的训练数据是用户u1和u2在数据特征x1、x2和x3下的数据,第二设备确定的训练数据是用户u1和u2在数据特征x4和x5下的数据。

具体地,纵向联邦线性模型学习的一轮模型参数更新过程中,第一设备与第二设备之间以加密形式交互用于计算梯度和损失函数的中间结果,其中,加密采用同态加密算法,由第一设备和第二设备共同信任的第三方协调方产生公钥和私钥,并把公钥发送给第一设备和第二设备进行加密,第一设备和第二设备将加密的梯度值和加密的损失函数发送到协调方解密,然后根据解密后的梯度值更新第一设备的本地模型和第二设备的本地模型。

本申请涉及的线性模型包括但不限于:逻辑回归、线性回归、泊松回归等线性的基于权重学习的模型算法。为了描述方便,本发明中以纵向逻辑回归模型训练为例,进行说明参与纵向联邦学习的第一设备与第二设备一起联合构建一个逻辑回归模型。第二设备拥有数据其中,da表示第二设备的数据集,第一设备拥有数据和标签其中,db表示第一设备的数据集,都是多维向量,而yi是标量(例如,取值为0或1的标量,表示是或者否)。定义其中,wa和wb是分别对应于的机器学习模型参数,则

损失函数loss(也称为代价函数)为:

loss在第一设备进行计算,根据损失函数定义可知,需要第二设备发送中间结果ua和至第一设备,以供第一设备计算loss值。联邦训练过程中,需要对中间结果进行加密,避免数据隐私泄露,故第二设备发送加密中间结果[[ua]]和至第一设备,其中,[[·]]表示同态加密。

进一步地,定义

同态加密后

梯度函数g为:g=dx=∑dxi,则[[g]]=[[dx]]=∑[[d]]xi,第一设备根据接收第二设备发送的加密中间结果[[ua]],以及第一设备的ub计算得到[[d]],根据[[d]]进一步计算第一设备本地模型的加密梯度值[[gb]],同时第一设备发送[[d]]至第二设备,以供第二设备计算本地模型的加密梯度值[[ga]]。

具体地,ua和的数量分别与的样本数量相同,通常情况下样本数量是非常大的,第二设备需要对ua和进行加密再发送至第一设备进行交互,因此整个加密过程非常耗时并且通信量很大。第二设备对原始中间结果ua和进行抽样处理,得到精简中间结果u'a和原始中间结果到精简中间结果是数据维度上的数据量减少,即精简中间结果中的数据个数小于原始中间结果的数据个数,因此减少了需要加密及通信的数据量,降低了加密和通信成本。进一步,第二设备对精简中间结果进行加密,得到第二设备的加密精简中间结果,然后发送该加密精简中间结果至第一设备。原始中间结果ua和的处理过程相似,在本实施例中,以ua为例进行说明。

步骤s20,对所述第二设备的加密精简中间结果进行数据补齐,得到第二设备的加密补齐中间结果,其中,所述加密补齐中间结果的数据数量与所述原始中间结果的数据数量相同;

在本实施例中,需要第一设备和第二设备的中间结果进行数据对齐后进行相关计算,所以第一设备接收到第二设备的加密精简中间结果后,需要进行数据补齐,得到加密补齐中间结果,保证加密补齐中间结果的数据数量与原始中间结果的数据数量相同。

具体地,步骤s20包括:

步骤s21,获取所述第二设备的抽样对照表,并基于所述第二设备的抽样对照表在所述第二设备的加密精简中间结果中确定填充数据以及所述填充数据对应的填充位置;

步骤s22,在所述第二设备的加密精简中间结果中,基于所述填充位置插入所述填充数据,得到所述第二设备的加密补齐中间结果。

在本实施例中,抽样对照表是第二设备在对原始中间结果进行抽样处理时生成的,该抽样对照表中记录了精简中间结果中各数据与原始中间结果中数据的替代关系,例如,精简中间结果中数据a,是原始中间结果中数据1,数据2,数据3的替代数据,就可以用数据a,恢复数据1、数据2和数据3。因为对精简中间结果采用的是同态加密算法,加密过程中不会影响数据的顺序,所以可以根据抽样对照表,对加密精简中间结果进行数据补齐,从而保证第二设备的加密补齐中间结果与第一设备中对应的数据是对齐。

具体地,获取第二设备的抽样对照表,该抽样对照表由第二设备发送到第一设备,根据该抽样对照表在第二设备的加密精简中间结果中挑选出填充数据,再确定填充数据是对哪些数据的替代,例如,填充数据为数据a,其是对数据1、数据2和数据3的替代,需要说明的是数据1、数据2和数据3并不在加密精简中间结果中,只是在抽样对照表中记录了数据a与数据1、数据2和数据3之间存在替代关系,在加密精简中间结果补齐的过程中,需要用数据a补充到数据1、数据2和数据3所在位置。进一步确定填充数据对应的填充位置,在第二设备的加密精简中间结果中,在填充位置插入对应的填充数据,得到第二设备的加密补齐中间结果。

步骤s30,利用所述第二设备的加密补齐中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值,并基于所述加密第一梯度值更新所述第一设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第一设备的目标模型参数。

在本实施例中,利用得到的第二设备的加密补齐中间结果后,与第一设备的加密补齐中间结果计算第一设备中模型参数对应的加密第一梯度值,将加密第一梯度值发送的协调方进行解密,协调方将解密后的第一梯度值发回给第一设备,第一设备利用第一梯度值更新本地模型参数。同时,利用第一设备的加密补齐中间结果和第二设备的加密补齐中间结果计算加密的损失函数,发送协调方,协调方对加密的损失函数进行解密,并检测是否满足预设停止条件,如果不满足预设停止条件,则继续下一轮迭代训练。

具体地,步骤s30包括:

步骤s31,计算得到用于计算梯度值的第一设备的加密精简中间结果;

具体地,步骤s31包括:

步骤a,所述第一设备对计算得到的第一设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第一设备的部分样本数据对应的精简中间结果;

步骤b,对所述第一设备的精简中间结果进行加密,得到所述第一设备的加密精简中间结果。

在本实施例中,需要对第一设备的原始中间结果进行加密后,才能与第二设备的加密补齐中间结果进行计算,为了减少加密时间,提升模型训练速度,故也对第一设备的原始中间结果进行抽样处理,从而减少加密的数据量,节省加密成本和模型训练时间。

根据第一设备的模型参数以及第一设备拥有的数据,计算得到第一设备的各条样本数据对应的原始中间结果,其中,wb是第一设备的模型参数,是第一设备拥有的数据。对第一设备的原始中间结果进行抽样处理,得到第一设备的精简中间结果。

为了避免纵向逻辑回归模型训练的精度损失,因此只替换绝对值较小的ui值,对较大值ui仍保留原值。故抽样的具体处理过程是,根据阈值对第一设备的原始中间结果进行拆分,得到两个原始中间结果的子集,其中,第一个子集中各个数据小于或等于阈值,第二个子集中各个数据大于阈值,阈值根据实际情况确定,只对第一个子集中的数据进行抽样。将第一个子集中的数据进行分组,并确定各组各自的代表数据,由各组的代表数据组成第三个子集,第三个子集和第二个子集的数据即为第一设备的精简中间结果,进一步对第一设备的精简中间结果进行加密,加密算法采用同态加密,得到第一设备的加密精简中间结果。

步骤s32,利用所述第二设备的加密补齐中间结果以及所述第一设备的加密精简中间结果,计算得到第一设备的加密中间结果;

具体地,步骤s32包括:

步骤c,对所述第一设备的加密精简中间结果进行数据补齐,得到所述第一设备的加密补齐中间结果;

步骤d,利用所述第一设备的加密补齐中间结果与所述第二设备的加密补齐中间结果,计算得到第一设备的加密中间结果。

在本实施例中,对第一设备的加密精简中间结果进行数据补齐,得到第一设备的加密补齐中间结果,具体过程为:获取第一设备的抽样对照表,并根据第一设备的抽样对照表在第一设备的加密精简中间结果中确定填充数据以及填充数据对应的填充位置,在第一设备的加密精简中间结果中,根据填充位置插入填充数据,得到第一设备的加密补齐中间结果,第一设备的加密补齐中间结果的数据数量与第一设备的原始中间结果的数据数量相同。

进一步地,第一设备的加密补齐中间结果与第二设备的加密补齐中间结果数据是对齐的,利用第一设备的加密补齐中间结果与第二设备的加密补齐中间结果,计算得到第一设备的加密中间结果[[d]]。

步骤s33,利用所述第一设备的加密中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值。

在本实施例中,第一设备的加密中间结果[[d]],第一设备中模型参数对应的加密第一梯度值[[gb]],根据第一设备的加密中间结果以及第一设备拥有的数据,计算得到加密第一梯度值。

本实施例提出的纵向联邦学习系统优化方法,接收所述第二设备发送的第二设备的加密精简中间结果,而后对所述第二设备的加密精简中间结果进行数据补齐,得到第二设备的加密补齐中间结果,最后利用所述第二设备的加密补齐中间结果计算得到所述第一设备中模型参数对应的加密第一梯度值,并基于所述加密第一梯度值更新所述第一设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第一设备的目标模型参数。在纵向联邦训练中,通过减少参与设备的中间结果所包含的数据个数,从而减少了需要加密及通信的数据量,降低了加密和通信成本,同时极大的缩短了纵向联邦建模时间。

进一步的,根据第一实施例,本发明纵向联邦学习系统优化方法第二实施例提供一种纵向联邦学习系统优化方法,所述纵向联邦学习系统优化方法应用于第二设备,所述第二设备可以是智能手机、个人计算机等设备,所述纵向联邦学习系统优化方法包括:

步骤a10,对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果;

在本实施例中,在纵向联邦学习的一轮模型参数更新过程中,第一设备与第二设备之间以加密形式交互用于计算梯度和损失函数的中间结果,其中,加密采用同态加密算法,由第一设备和第二设备共同信任的第三方协调方产生公钥和私钥,并把公钥发送给第一设备和第二设备进行加密,第一设备和第二设备将加密的梯度值和加密的损失函数发送到协调方解密,然后根据解密后的梯度值更新第一设备和第二设备本地模型。

本申请涉及的线性模型包括但不限于:逻辑回归、线性回归、泊松回归等线性的基于权重学习的模型算法。为了描述方便,本发明中以纵向逻辑回归模型训练为例,进行说明参与纵向联邦学习的第一设备与第二设备一起联合构建一个逻辑回归模型。。第二设备拥有数据其中,da表示第二设备的数据集,第一设备拥有数据和标签其中,db表示第一设备的数据集,都是多维向量,而yi是标量(例如,取值为0或1的标量,表示是或者否)。定义其中,wa和wb是分别对应于的机器学习模型参数,则

损失函数loss(也称为代价函数)为:

loss在第一设备进行计算,根据损失函数定义可知需要第二设备发送中间结果ua和至第一设备,以供第一设备计算loss值。联邦训练过程中,需要对中间结果进行加密,避免数据隐私泄露,故第二设备发送加密中间结果[[ua]]和至第一设备,其中,[[·]]表示同态加密。

定义

同态加密后的梯度函数g为:g=dx=∑dxi,则[[g]]=[[dx]]=∑[[d]]xi,第一设备根据接收第二设备发送的加密中间结果[[ua]],以及第一设备的ub计算得到[[d]],根据[[d]]进一步计算第一设备本地模型的加密梯度值[[gb]],同时第一设备发送[[d]]至第二设备,以供第二设备计算本地模型的加密梯度值[[ga]]。

具体地,ua和的数量分别与的样本数量相同,通常情况下样本数量是非常大的,第二设备需要对ua和进行加密再发送至第一设备进行交互,因此整个加密过程非常耗时并且通信量很大。第二设备对原始中间结果ua和进行抽样处理,得到精简中间结果u'a和原始中间结果到精简中间结果是数据维度上的数据量减少,即精简中间结果中的数据个数小于原始中间结果的数据个数,因此减少了需要加密及通信的数据量,降低了加密和通信成本。进一步,第二设备对精简中间结果进行加密,得到第二设备的加密精简中间结果,然后发送该加密精简中间结果至第一设备。原始中间结果ua和的处理过程相似,在本实施例中,以ua为例进行说明。

具体地,步骤a10包括:

步骤a12,基于阈值对所述第二设备的原始中间结果进行拆分,得到第一子原始中间结果和第二子原始中间结果,其中,所述第一子原始中间结果中的各个数据小于或等于阈值,所述第二子原始中间结果中的各个数据大于阈值;

步骤a13,将所述第一子原始中间结果的所有数据进行分组,并确定各组各自的代表数据,由各组的代表数据组成第三子原始中间结果;

步骤a14,基于所述第三子原始中间结果和所述第二子原始中间结果,得到第二设备的精简中间结果。

在本实施例中,为了避免纵向逻辑回归模型训练的精度损失,因此只替换绝对值较小的ui值,对较大值ui仍保留原值。故抽样的具体处理过程是,根据阈值对第二设备的原始中间结果进行拆分,得到两个原始中间结果的子集:第一子原始中间结果和第二子原始中间结果,其中,第一子原始中间结果中的各个数据小于或等于阈值,第二子原始中间结果中的各个数据大于阈值,阈值根据实际情况确定,只对第一子原始中间结果中的数据进行抽样。将第一子原始中间结果中的数据进行分组,并确定各组各自的代表数据,由各组的代表数据组成第三子原始中间结果,第三子原始中间结果和第二子原始中间结果的数据即为第二设备的精简中间结果。其中,对第一子原始中间结果中的数据进行分组以及确定代表数据的具体方法可根据实际情况确定,例如将第一子原始中间结果中的数据按照从大到小的顺序排列,然后平均分成n组,每组计算平均数,将平均数作为每组的代表数据;还可以采用手动设置n个初始聚类中心,再利用k-means得到最终聚类中心点,将最终聚类中心点作为每组的代表数据。

步骤a20,对第二设备的精简中间结果进行加密,得到所述第二设备的部分样本数据对应的精简中间结果并发送至所述第一设备,以供所述第一设备基于所述第二设备的加密精简中间结果反馈所述第一设备的加密中间结果,其中,所述第一设备对接收的所述第二设备的加密精简中间结果进行数据补齐获得所述第二设备的加密补齐中间结果,并利用所述第二设备的加密补齐中间结果计算得到所述第一设备的加密中间结果;

在本实施例中,进一步对第二设备的精简中间结果进行加密,加密算法采用同态加密,得到第二设备的加密精简中间结果,并发送第二设备的加密精简中间结果至第一设备。第一设备接收到第二设备的加密精简中间结果,需要对第二设备的加密精简中间结果进行数据补齐,得到第二设备的加密补齐中间结果,然后利用第一设备的加密补齐中间结果与第二设备的加密补齐中间结果,计算得到第一设备的加密中间结果[[d]],并由第一设备发送第一设备的加密中间结果[[d]]至第二设备,其中,第一设备的加密补齐中间结果与第二设备的加密补齐中间结果数据是对齐的。

步骤a30,利用所述第一设备的加密中间结果计算得到所述第二设备中模型参数对应的加密第二梯度值,并基于所述加密第二梯度值更新所述第二设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第二设备的目标模型参数。

在本实施例中,利用得到的第一设备的加密中间结果[[d]],第二设备中模型参数对应的加密第一梯度值[[ga]],根据第一设备的加密中间结果以及第二设备的拥有的数据,结算得到加密第二梯度值。将加密第二梯度值发送的协调方进行解密,协调方将解密后的第二梯度值发回给第二设备,第二设备利用第二梯度值更新本地模型参数。同时,协调方检测是否满足预设停止条件,如果不满足预设停止条件,则继续下一轮迭代训练。

本实施例提出的纵向联邦学习系统优化方法,对计算得到的第二设备的各条样本数据对应的原始中间结果进行抽样处理,得到所述第二设备的部分样本数据对应的精简中间结果,对第二设备的精简中间结果进行加密,得到所述第二设备的部分样本数据对应的精简中间结果并发送至所述第一设备,以供所述第一设备基于所述第二设备的加密精简中间结果反馈所述第一设备的加密中间结果,利用所述第一设备的加密中间结果计算得到所述第二设备中模型参数对应的加密第二梯度值,并基于所述加密第二梯度值更新所述第二设备的模型参数,循环迭代直到检测到满足预设停止条件时,得到训练完成的第二设备的目标模型参数。在纵向联邦训练中,通过减少参与设备的中间结果所包含的数据个数,从而减少了需要加密及通信的数据量,降低了加密和通信成本,同时极大的缩短了纵向联邦建模时间。

此外,本发明实施例还提出一种可读存储介质,所述存储介质上存储有纵向联邦学习系统优化程序,所述纵向联邦学习系统优化程序被处理器执行时实现如下所述的纵向联邦学习系统优化方法的步骤。

本发明纵向联邦学习系统优化设备和可读存储介质的各实施例,均可参照本发明纵向联邦学习系统优化方法各个实施例,此处不再赘述。

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

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

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

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

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