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

文档序号:19572574发布日期:2019-12-31 19:06阅读:260来源:国知局
纵向联邦学习系统优化方法、装置、设备及可读存储介质与流程

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



背景技术:

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

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

但是,在使用通过纵向联邦学习训练好的模型时,参与者a需要与参与者b合作才能使用模型进行预测。例如,参与者a拥有数据特征x3、x4和x5,参与者b拥有数据特征x1和x2,当参与者a需要对一个新的客户进行预测时,因为参与者a不拥有全部的数据特征,即没有该客户在数据特征x1和x2下的数据,那么参与者a就需要与参与者b进行通信,查询参与者b是否也拥有该客户,如果参与者b还没有客户的数据,那么参与者a就无法对该客户进行预测。即使参与者b有该客户的数据,也需要参与者a与b协作才能对该客户进行预测。



技术实现要素:

本发明的主要目的在于提供一种纵向联邦学习系统优化方法、装置、设备及可读存储介质,旨在实现纵向联邦学习的参与者在使用通过纵向联邦学习训练好的模型时,无需其他参与者的配合也能够独立使用模型。

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

与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;

采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。

可选地,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:

将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;

将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;

根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;

将所述第一部分模型和所述第二部分模型组合得到所述插补模型。

可选地,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,还包括:

将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;

采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。

可选地,所述第一设备中包括第一可信执行环境tee模块,所述第二设备中包括第二tee模块,

所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:

对所述第一输出进行加密得到第一加密输出;

将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二tee模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;

所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:

接收所述第二设备发送的所述加密梯度信息,并在所述第一tee模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第二部分模型相关的梯度信息更新所述第一部分模型的参数。

可选地,所述将所述第一输出发送给所述第二设备的步骤之后,还包括:

接收所述第二设备发送的所述第二输出和所述第一损失函数;

将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;

根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;

所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:

根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。

可选地,所述第一设备中包括tee模块,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:

接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;

在所述tee模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。

可选地,所述目标机器学习模型用于预测用户的购买意向,所述采用所述本地样本数据和所述预测样本数据对预置待训练机器学习模型进行本地训练得到目标机器学习模型的步骤之后,还包括:

将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;

将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。

为实现上述目的,本发明还提供一种纵向联邦学习系统优化装置,所述纵向联邦学习系统优化装置部署于第一设备,所述第一设备与第二设备通信连接,所述纵向联邦学习系统优化装置包括:

对齐模块,用于与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;

训练模块,用于采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的预测数据。

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

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

本发明中,第一设备通过与第二设备进行样本对齐,采用对齐后的样本数据进行协作训练,得到能够补全第一设备相对于第二设备所缺失数据特征的插补模型,使得第一设备在使用采用第一设备和第二设备的数据特征训练得到的机器学习模型时,即使没有第二设备的数据,也可以独自在本地通过插补模型,预测得到属于第二设备对应数据特征的数据,从而通过补全的数据使用机器学习模型进行完成预测,从而扩大了纵向联邦学习的应用范围,避免在第二设备无法为第一设备提供数据的场景下第一设备无法使用纵向联邦学习得到的机器学习模型。

附图说明

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

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

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

图4为本发明实施例涉及的一种模型切割方式示意图;

图5为本发明实施例涉及的一种第一设备独自训练机器学习模型的示意图;

图6为本发明实施例涉及的一种第一设备与第二设备协作训练插补模型、第一设备独自训练机器学习模型的流程示意图;

图7为本发明实施例涉及的一种第一设备与第二设备在各自tee模块环境中协作训练插补模型的示意图;

图8为本发明实施例涉及的一种第一设备与第二设备协作训练插补模型和机器学习模型的示意图;

图9为本发明纵向联邦学习系统优化装置较佳实施例的功能示意图模块图。

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

具体实施方式

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

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

需要说明的是,本发明实施例纵向联邦学习系统优化设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。

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

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

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及纵向联邦学习系统优化程序。还包括tee(trustedexecutionenvironment,可信执行环境)模块。其中,操作系统是管理和控制设备硬件和软件资源的程序,支持联邦学习隐私数据处理程序以及其它软件或程序的运行。tee是主处理器内的安全区域,运行在一个独立的环境中且与操作系统并行运行,它确保tee中加载的代码和数据的机密性和完整性都得到保护。tee中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作系统中运行的用户安装应用程序的影响。在本实施例中,tee模块的实现方式可以有多种,如基于intel的softwareguardextensions(软件保护扩展,sgx)、amd的secureencryptedvirtualization(安全虚拟化加密,sev)、arm的trustzone或mit的sanctum。对tee模块的认证和鉴权,可以通过第三方安全服务器来完成。例如,当tee是使用intel的sgx时,可以通过intel的安全服务器对所述tee进行认证,即保证所述tee的安全。

在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与联邦学习的其他终端设备建立通信连接,如作为纵向联邦学习的参与者的第二设备;而处理器1001可以用于调用存储器1005中存储的纵向联邦学习系统优化程序,并执行以下操作:

与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;

采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。

进一步地,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:

将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;

将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;

根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;

将所述第一部分模型和所述第二部分模型组合得到所述插补模型。

进一步地,所述将所述第一部分模型和所述第二部分模型组合得到所述插补模型的步骤之后,处理器1001还可以用于调用存储器1005中存储的联邦学习隐私数据处理程序,并执行以下步骤:

将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;

采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。

进一步地,所述第一设备中包括第一tee模块,所述第二设备中包括第二tee模块,

所述将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数包括:

对所述第一输出进行加密得到第一加密输出;

将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二tee模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;

所述根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:

接收所述第二设备发送的所述加密梯度信息,并在所述第一tee模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。

进一步地,所述将所述第一输出发送给所述第二设备的步骤之后,处理器1001还可以用于调用存储器1005中存储的联邦学习隐私数据处理程序,并执行以下步骤:

接收所述第二设备发送的所述第二输出和所述第一损失函数;

将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;

根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;

所述迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:

根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。

进一步地,所述第一设备中包括tee模块,所述采用所述第一样本数据与所述第二设备协作训练得到插补模型的步骤包括:

接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;

在所述tee模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。

进一步地,所述目标机器学习模型用于预测用户的购买意向,所述采用所述本地样本数据和所述预测样本数据对预置待训练机器学习模型进行本地训练得到目标机器学习模型的步骤之后,处理器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下的数据。

步骤s20,采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的数据。

第一设备采用第一样本数据与第二设备协作训练得到插补(imputation)模型。其中,插补模型用于补全第一设备相对于第二设备缺失数据特征的数据。如上述具体例子中,插补模型用于补全第一设备的第一样本数据中用户u1和u2在数据特征x4和x5下的数据。具体地,插补模型可用于输入属于第一设备对应数据特征的数据,输出属于第二设备对应数据特征的数据,也即,将第一样本数据中用户的数据输入插补模型,输出得到接近于第二样本数据中该用户的数据,如输入用户u1在数据特征x1、x2和x3下的数据,插补模型输出与第二样本数据中用户u1在数据特征x4和x5下的数据接近的数据,从而为第一设备补全缺失的用户u1在数据特征x4和x5下的数据。插补模型可采用变分自动编码器(variationalautoencoder)、生成对抗网络(generativeadversarialnetwork)、pixel-rnn、pixel-cnn或者受限玻尔兹曼机(restrictedboltzmannmachine)等模型结构,第一设备和第二设备可采用分裂学习(splitlearning)的方式进行协作训练插补模型。

进一步地,所述步骤s20包括:

步骤s201,将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;

预先可设置待训练的插补模型的结构,将待训练插补模型的输入特征设置为第一设备对应的数据特征,输出特征设置为第二设备对应的数据特征,并将待训练的插补模型切割为两部分,分别为第一部分模型和第二部分模型。将第一部分模型预置于第一设备中,第二部分模型预置于第二设备中。具体地,如图4所示,当待训练的插补模型是包括多个层次的神经网络模型时,切割待训练的插补模型的方式有两种;第一种是选择神经网络模型中的两层,从两层之间进行切割,将神经网络模型的前面部分作为第一部分模型,后面部分作为第二部分模型,这两层称为切分层;第二种是选择神经网络模型中的两层,在这两层中间增加一层,该层的输入是这两层中前一层的输出,输出是这两层中后一层的输入,也即,该前一层与增加的该层之间是直连的,将神经网络模型从该前一层与增加的该层之间进行切割,前面部分作为第一部分模型,后面部分作为第二部分模型,将该前一层与增加的该层之间称为切分层;第二种切割方式相比于第一种切割方式,第一部分模型与第二部分模型之间的连接较少,从而减少了第一设备和第二设备之间需要传输的数据量,可根据第一设备和第二设备的数据特征的维数、待训练插补模型的结构复杂度等具体情况,选择采用哪一种切割方式。

第一设备将第一样本数据输入第一设备的第一部分模型中,第一部分模型输出第一输出,第一输出也即第一部分模型的最后一层的输出。

步骤s202,将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;

第一设备将第一输出发送给第二设备。需要说明的是,若按照第一种切割方式对待训练的插补模型进行切割,则第一设备将第一输出按照切分层之间的连接关系乘以对应的连接权重,以将第一输出转化为第二部分模型第一层的输入,将转化后的结果发送给第二设备,供第二设备将转化后的结果输入第二部分模型的第一层,由第二部分模型输出第二输出;若按照第二种切割方式对待训练的插补模型进行切割,则第一设备直接将第一输出发送给第二设备,第二设备接收到第一输出后,直接将第一输出输入第二部分模型的第一层,由第二部分模型输出第二输出。

第二设备根据第一输出得到第二部分模型的第二输出后,根据第二样本数据和第二输出计算第一损失函数和第一梯度信息。其中,第一损失函数是待训练的插补模型的损失函数,第一梯度信息可包括与第二部分模型相关的梯度信息,如第一损失函数对第二部分模型的各个参数的梯度信息,也可包括与第一部分模型相关的梯度信息,如第一损失函数对第二部分模型的输入变量的梯度信息。

第二设备可检测是否满足预设停止条件,预设停止条件可以是预先设置的停止条件,如检测到第一损失函数收敛时停止,或迭代训练的次数达到最大次数时停止,或迭代训练的时间达到最大训练时间时停止。具体地,第二设备可以是检测到第一损失函数的损失值小于预设值,则确定第一损失函数收敛,若不小于预设值,则确定第一损失函数未收敛。当检测到未满足预设停止条件时,第二设备根据第一梯度信息中与第二部分模型相关的梯度信息对第二部分模型中的参数进行更新。第二设备可将第一梯度信息中与第一部分模型相关的梯度信息发送给第一设备,也可以是将第一梯度信息都发送给第一设备。

步骤s203,根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;

第一设备从第二设备接收第一梯度信息,或者是接收第一梯度信息中与第一部分模型相关的梯度新。第一设备根据与第一部分模型相关的梯度信息更新第一部分模型的各个参数,如根据第一损失函数对第二部分模型的输入变量的梯度信息,推导第一损失函数对第一部分模型的输出变量的梯度信息,进而推导第一损失函数对第一部分模型各个参数的梯度信息,根据参数对应的梯度信息更新各个参数。更新第一部分模型的参数后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出发送给第二设备,第二设备计算第一损失函数和梯度信息,循环直到检测到满足预设停止条件时,停止待训练插补模型的训练,将当前的参数作为第一部分模型和第二部分模型的最终参数。第二设备将确定了最终参数的第二部分模型发送给第一设备。需要说明的是,可以是第二设备检测是否满足预设停止条件,也可以是第一设备检测是否满足预设停止条件,若由第一设备检测是否满足预设停止条件,则第二设备可将第一损失函数的计算结果发送给第一设备,由第一设备检测第一损失函数是否收敛,也可以是第二设备将检测第一损失函数是否收敛的结果发送给第一设备。

步骤s204,将所述第一部分模型和所述第二部分模型组合得到所述插补模型。

第一设备接收第二设备发送的确定了最终参数的第二部分模型,将第二部分模型与确定了最终参数的第一部分模型组合,得到训练完成的插补模型。具体地,组合方式可以与切割方式对应,当采用第一种切割方式时,直接将训练完成的第一部分模型与第二部分模型进行拼接,当采用第二种切割方式时,将第二部分模型的第一层去掉后与第一部分模型拼接。

在本实施例中,第一设备通过与第二设备进行样本对齐,采用对齐后的样本数据进行协作训练,得到能够补全第一设备相对于第二设备所缺失数据特征的插补模型,使得第一设备在使用采用第一设备和第二设备的数据特征训练得到的机器学习模型时,即使没有第二设备的数据,也可以独自在本地通过插补模型,预测得到属于第二设备对应数据特征的数据,从而通过补全的数据使用机器学习模型进行完成预测,从而扩大了纵向联邦学习的应用范围,避免在第二设备无法为第一设备提供数据的场景下第一设备无法使用纵向联邦学习得到的机器学习模型。

进一步地,基于上述第一实施例,提出本发明纵向联邦学习系统优化方法第二实施例,在本发明纵向联邦学习系统优化方法第二实施例中,所述步骤s204之后,还包括:

步骤s205,将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;

第一设备在与第二设备协作训练得到插补模型后,可独自训练输入特征包括第一设备和第二设备的数据特征的机器学习模型。具体地,第一设备本地存储有属于第一设备对应数据特征的本地样本数据(可包括多个用户的数据)。需要说明的是,本地样本数据中可包括在训练插补模型中没有使用过的用户数据,也即,第二设备中可能没有该用户的数据。第一设备将本地样本数据输入插补模型中,得到属于第二设备对应数据特征的预测样本数据。或者,第一设备将第一样本数据输入插补模型中,得到与所述第二样本数据对应的属于第二设备对应数据特征的预测样本数据。如第一设备将用户u1在数据特征x1、x2和x3下的数据输入插补模型中,得到在数据特征x4和x5下的数据(称为预测样本数据),由于是预先训练好的插补模型,因此,插补模型输出得到的在数据特征x4和x5下的数据,接近该用户u1在数据特征x4和x5下的真实数据。

步骤s206,采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。

第一设备采用本地样本数据和预测样本数据,对预置的待训练机器学习模型进行本地训练得到目标机器学习模型。或者,第一设备采用所述第一样本数据和预测样本数据,对预置的待训练机器学习模型进行本地训练得到目标机器学习模型。其中,待训练机器学习模型可以是有具体预测或分类目标的机器学习模型,如神经网络模型。具体地,第一设备将本地样本数据中用户数据的数据特征与预测样本数据中用户数据的数据特征组合,作为待训练机器学习模型的输入特征,对待训练机器学习模型进行迭代训练,直到检测到待训练机器学习模型收敛,即训练完成得到目标机器学习模型。第一设备可使用训练得到的目标机器学习模型完成预测或分类任务。

需要说明的是,若待训练机器学习模型是有监督的机器学习模型,且只有第二设备中有数据标签时,第二设备可将数据标签对应的数据共享给第一设备,第一设备采用数据标签对应的数据对待训练机器学习模型进行有监督的训练。若第一设备与第二设备之间是不信任的场景,第二设备可采用加密的方式给第一设备共享数据标签。

如图5所示,为第一设备独自训练机器学习模型的示意图。图中gma是第一设备与第二设备协作训练得到的插补模型,第一设备将第一样本数据xa输入gma和ma,在本地通过插补模型对机器学习模型ma进行训练,将第一样本数据xa输入gma和ma。

在本实施例中,第一设备采用与第二设备协作训练得到的插补模型来对第一设备缺失的数据特征进行补全,使得第一设备即使没有第二设备的帮助,也能够独自在本地训练得到目标机器学习模型,从而扩大了纵向联邦学习的应用场景。

进一步地,所述目标机器学习模型用于预测用户的购买意向,所述步骤s206之后,还包括:

步骤s207,将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;

目标机器学习模型可以是用于预测用户的购买意向的机器学习模型,也即,目标机器学习模型的输出标签可以是购买意向,如输出结果为0或1,1表示用户会购买,0表示用户不会购买。第一设备可以是部署与银行机构的设备,第二设备可以是部署与电商机构的设备,由于业务不同,第一设备与第二设备中的用户数据的数据特征不相同,第一设备中用户数据的数据特征可包括用户身份特征,如年龄、存款、月薪等等,第二设备中用户数据的数据特征可包括用户购买特征,如购买次数、购买偏好等等。第一设备与第二设备预先通过协作,训练得到了根据用户身份特征数据预测用户购买特征数据的插补模型。

第一设备在训练得到目标机器学习模型后,在没有第二设备提供用户购买特征方面数据的场景下,可独自采用插补模型和目标机器学习模型来预测目标用户的购买意向。具体地,第一设备可将目标用户的第一数据输入插补模型,插补模型输出第二数据。其中,第一数据即第一设备记录的目标用户的数据,包括用户身份特征,第二数据即预测得到的目标用户的购买特征数据。

步骤s208,将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。

第一设备在得到第二数据后,将第一数据和第二数据输入目标机器学习模型,得到目标用户的购买意向。由于第二数据由预先训练好的插补模型预测得到,接近与用户的真实数据,因此,采用第一数据和第二数据输入目标机器学习模型,预测得到的目标用户的购买意向误差较小。

需要说明的是,目标机器学习模型还可以是用于除购买意向预测以外其他的应用场景,如还可以应用于绩效等级预测、论文价值评价等,本发明实施例在此不做限定。

如图6为一种第一设备与第二设备协作训练插补模型,第一设备独自训练机器学习模型的流程示意图。

在本实施例中,通过第一设备与第二设备协作训练得到插补模型,并在使用目标机器学习模型时,采用插补模型补全第一设备缺失的数据特征,使得第一设备在没有第二设备配合的场景下,也能够使用目标机器学习模型完成预测功能,从而扩展了纵向联邦学习的应用范围。

进一步地,基于上述第一和二实施例,提出本发明纵向联邦学习系统优化方法第三实施例,在本发明纵向联邦学习系统优化方法第三实施例中,所述第一设备中包括第一tee模块,所述第二设备中包括第二tee模块,所述步骤s202包括:

步骤s2021,对所述第一输出进行加密得到第一加密输出;

在本实施例中,为适应第一设备与第二设备互相不信任的场景,第一设备和第二设备中可各自设置tee模块,在tee模块中进行隐私数据的处理,在tee模块外隐私数据均是加密的,从而无法获取对方的隐私数据。具体地,第一设备在得到第一输出后,可对第一输出进行加密得到第一加密输出,加密方式在本实施例中不作限制。需要说明的是,由于第一输出是根据第一设备本地的数据得到的,在第一设备中是可见的,因此可在第一tee模块中加密,也可在第二tee模块中加密,加密是为了保证发送给第二设备后,第二设备无法获得原始的第一输出,从而保证在第一设备与第二设备不信任的场景下,第一设备的数据信息不会泄露给第二设备。

步骤s2022,将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二tee模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;

第一设备将第一加密输出给第二设备。第二设备在接收到第一加密输出后,在第二tee模块中对第一加密输出进行解密,得到第一输出。需要说明的是,第二设备的第二tee模块中解密的方式与第一设备的第一tee模块中加密的方式对应,如第一tee模块中采用公钥对第一输出进行加密,则第二tee模块中采用与公钥对应的私钥进行解密。第二设备在第二tee模块中解密得到第一输出后,由于不能够将第一输出暴露给第二设备tee模块外的部分,第二设备继续在tee模块中按照与步骤s202类似的方式,得到第一损失函数和第一梯度信息,并更新第二部分模型的参数,对第一梯度信息中与第一部分模型相关的梯度信息进行加密得到加密梯度信息。第二设备在得到加密梯度信息后,将加密梯度信息发送给第一设备。由于第一输出以及第一损失函数、第一梯度信息是在第一设备中数据的基础上得到的,因此,第二设备中在tee模块中对原始的第一输出、第一损失函数、第一梯度信息进行处理,而在第二设备的tee模块外,这些数据是加密的,从而使得第二设备无法获取到第一设备的隐私数据。

所述步骤ss203中的根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数的步骤包括:

步骤s2031,接收所述第二设备发送的所述加密梯度信息,并在所述第一tee模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。

第一设备在接收到第二设备发送的加密梯度信息后,由于加密梯度信息是在第二设备的数据基础上得到的,因此,为了保证第二设备的数据不泄露给第一设备,第一设备在第一tee模块中对加密梯度信息进行解密,得到原始的第一梯度信息中与第一部分模型相关的梯度信息。第一tee模块中对数据进行解密的方式,与第二tee模块中对数据进行加密的方式对应。第一设备在得到第一梯度信息中与第一部分模型相关的梯度信息后,根据该第一部分模型相关的梯度信息对第一部分模型的参数进行更新。

在对第一部分模型的参数进行更新后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出加密发送给第二设备,第二设备在tee模块中计算第一损失函数和梯度信息,循环直到检测到满足预设停止条件时,停止待训练插补模型的训练,将当前的参数作为第一部分模型和第二部分模型的最终参数。第二设备将确定了最终参数的第二部分模型(可加密)发送给第一设备。第一设备根据第一部分模型和第二部分模型组合得到插补模型。具体地,与上述步骤s204的过程类似,在此不进行详细赘述。

如图6所示,为一种第一设备与第二设备在各自tee模块环境中协作训练插补模型的示意图,第一设备在第一tee模块中将第一样本数据xa输入插补模型gma的第一部分模型gma-part1中,将第一输出加密后前向传输给第二设备,第二设备在第二tee模块中对第一输出进行解密,并根据解密结果得到第二部分模型gma-part2的第二输出xb’,并计算梯度信息,将梯度信息加密后,后向传播给第一设备,第一设备根据梯度信息进行参数更新,迭代训练直到满足预设停止条件时,第二设备将gma-part2发送给第一设备,第一设备将gma-part1和gma-part2组合得到训练好的插补模型gma。

在本实施例中,通过在第一设备和第二设备中分别设置tee模块,第一设备与第二设备在tee模块中对原始数据进行处理,在tee模块外则只能获得加密数据,以保证在第一设备与第二设备互不信任的场景时,隐私数据不会泄露给对方,从而保证了数据的安全性。

进一步地,基于上述第一、第二和第三实施例,提出本发明纵向联邦学习系统优化方法第四实施例,在本发明纵向联邦学习系统优化方法第四实施例中,所述步骤s202之后,还包括:

步骤a10,接收所述第二设备发送的所述第二输出和所述第一损失函数;

在本实施例中,第一设备与第二设备可在协作训练插补模型的同时,协作训练机器学习模型。具体地,在第一实施例的基础上,第一设备在向第二设备发送第一输出,由第二设备得到第二输出,并计算得到第一损失函数和第一梯度信息后,第二设备将第二输出、第一损失函数和第二梯度信息发送给第一设备。

步骤a20,将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;

第一设备中预先设置了待训练机器学习模型。第一设备将第一样本数据和第二输出输入待训练机器学习模型中,由待训练机器学习模型输出预测标签数据。

步骤a30,根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;

第一设备根据预测标签数据和预存的本地实际标签数据,计算待训练机器学习模型的第二损失函数和第二梯度信息。需要说明的是,第一设备中预存的本地实际标签数据可以是第一设备本地记录的标签数据,也可以是第二设备将本地记录的标签数据共享给第一设备,第一设备存储在本地。

所述步骤s203中的迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型的步骤包括:

步骤s2032,根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。

第一设备将第一损失函数和第二损失函数进行融合得到融合损失函数,融合的方式可以是计算第一损失函数和第二损失函数的加权和,作为融合损失函数。第一设备判断是否满足预设停止条件,预设停止条件可以是预先设置的停止条件,如检测到融合损失函数收敛时停止,或迭代训练的次数达到最大次数时停止,或迭代训练的时间达到最大训练时间时停止。具体地,判断融合损失函数是否收敛,可以是根据计算得到的融合损失函数的损失值判断是否收敛,如若检测到融合损失函数的损失值小于预设值,则确定融合损失函数收敛,若不小于预设值,则确定融合损失函数未收敛。若第一设备检测到未满足预设停止条件,则可根据第二梯度信息更新待训练机器学习模型的参数,根据第一梯度信息中与第一部分模型相关的梯度信息更新第一部分模型的参数。更新第一部分模型和待训练机器学习模型的参数后,第一设备继续采用第一样本数据输入第一部分模型得到第一输出,将第一输出发送给第二设备,第二设备计算第一损失函数和梯度信息,迭代训练以达到最小化融合损失函数的目的,循环直到检测满足预设停止条件时,停止对待训练插补模型和待训练机器学习模型的训练,将当前的参数作为第一部分模型、第二部分模型和待训练机器学习模型的最终参数,将最终确定参数的待训练机器学习模型作为训练完成的目标机器学习模型。第二设备将确定了最终参数的第二部分模型发送给第一设备,第一设备将第一部分模型和第二部分模型组合得到训练完成的插补模型。

需要说明的是,在上述协作训练的基础上,若第一设备与第二设备之间互不信任,则可在第一设备和第二设备中各设置tee模块,并在tee模块中对原始的隐私数据进行处理,在tee模块外隐私数据是加密的,以保证第一设备和第二设备的隐私数据不会泄露给对方。

如图7所示,为第一设备与第二设备协作训练插补模型和机器学习模型的示意图,第一设备将第一样本数据xa输入插补模型gma的第一部分模型gma-part1中,将第一输出前向传输给第二设备,第二设备根据第一输出得到第二部分模型gma-part2的第二输出xb’,并计算梯度信息和损失函数,将第二输出前向传输给第一设备,将梯度信息和损失函数后向传播给第一设备。第一设备根据梯度信息更新gma-part1的参数,并将第二输出作为待训练机器学习模型ma的输入,迭代训练直到融合损失函数收敛,即得到训练好的机器学习模型ma。第二设备将gma-part2发送给第一设备,第一设备将gma-part1和gma-part2组合得到训练好的插补模型gma。

在本实施例中,通过第一设备与第二设备协作训练插补模型的同时协作训练机器学习模型,提高了机器学习模型的训练效率,并且,第一设备训练得到插补模型后,可通过插补模型对缺失的数据特征进行补全,从而使得第一设备在没有第二设备协作的情况下,也能够使用训练好的机器学习模型完成预测任务,从而扩大了纵向联邦学习的应用范围。

进一步地,基于上述第一、第二、第三和第四实施例,提出本发明纵向联邦学习系统优化方法第五实施例,在本发明纵向联邦学习系统优化方法第五实施例中,所述第一设备中包括tee模块,所述步骤s20包括:

步骤b10,接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;

在本实施例中,提出一种与第一实施例中不同的协作训练插补模型的方式。具体地,为适应第一设备与第二设备互相不信任的场景,在第一设备中可设置tee模块,第一设备在tee模块中进行隐私数据的处理,在tee模块外隐私数据均是加密的,从而无法获取第二设备的隐私数据。第二设备在与第一设备进行样本对齐得到第二样本数据后,对第二样本数据进行加密得到第二加密数据,并将第二加密数据发送给第一设备。

步骤b20,在所述tee模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。

第一设备在tee模块中对第二加密样本数据进行解密得到第二样本数据。需要说明的是,tee模块中对数据进行解密的方式与第二设备对数据进行加密的方式对应。第一设备在tee模块中根据第一样本数据和第二样本数据对待训练插补模型进行训练,得到插补模型,第一设备独自训练插补模型的方式与传统的独自训练模型的方式相同,在此不作具体限制。进一步地,第二设备可在tee模块中通过训练完成的插补模型,独自在本地训练机器学习模型;第一设备还可以是在tee模块中训练插补模型的同时训练机器学习模型。

在本实施例中,通过在第一设备中设置tee模块,第二设备将第二样本数据加密后发送给第一设备,第一设备在tee模块中解密得到第二样本数据,使得第二设备在不泄露隐私数据给第一设备的情况下,第一设备独自训练插补模型,以避免在第二设备无法与第一设备协作训练插补模型的场景下,第一设备无法训练和使用机器学习模型,从而扩大了纵向联邦学习的应用范围。

此外,此外本发明实施例还提出一种纵向联邦学习系统优化装置,所述纵向联邦学习系统优化装置部署于第一设备,所述第一设备与第二设备通信连接,参照图9,所述纵向联邦学习系统优化装置包括:

对齐模块10,用于与所述第二设备进行样本对齐得到所述第一设备的第一样本数据,其中,所述第一样本数据与第二样本数据的数据特征不同,所述第二样本数据由所述第二设备与所述第一设备进行样本对齐得到;

训练模块20,用于采用所述第一样本数据与所述第二设备协作训练得到插补模型,其中,所述插补模型用于输入属于所述第一设备对应数据特征的数据、输出属于所述第二设备对应数据特征的预测数据。

进一步地,所述训练模块20包括:

第一输入单元,用于将所述第一样本数据输入所述第一设备中预置的第一部分模型得到第一输出;

发送单元,用于将所述第一输出发送给所述第二设备,以供所述第二设备根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数;

第一接收单元,用于根据从所述第二设备接收的所述第一梯度信息中与所述第一部分模型相关的梯度信息更新所述第一部分模型的参数,迭代训练直到检测到满足预设停止条件时,接收所述第二设备发送的所述第二部分模型;

组合单元,用于将所述第一部分模型和所述第二部分模型组合得到所述插补模型。

进一步地,所述训练模块20还包括:

第二输入单元,用于将属于所述第一设备对应数据特征的本地样本数据输入所述插补模型,得到属于所述第二设备对应数据特征的预测样本数据;

第一训练单元,用于采用所述本地样本数据和所述预测样本数据,对预置待训练机器学习模型进行本地训练得到目标机器学习模型。

进一步地,所述第一设备中包括第一可信执行环境tee模块,所述第二设备中包括第二tee模块,所述发送单元包括:

加密子单元,用于对所述第一输出进行加密得到第一加密输出;

发送子单元,用于将所述第一加密输出发送给所述第二设备,以供所述第二设备在所述第二tee模块中对所述第一加密输出进行解密得到所述第一输出,根据所述第一输出得到预置第二部分模型的第二输出,并根据所述第二样本数据和所述第二输出计算第一损失函数和第一梯度信息,根据所述第一梯度信息中与所述第二部分模型相关的梯度信息更新所述第二部分模型的参数,对所述第一梯度信息中与所述第一部分模型相关的梯度信息进行加密得到加密梯度信息;

所述第一接收单元还用于接收所述第二设备发送的所述加密梯度信息,并在所述第一tee模块中对所述加密梯度信息进行解密得到所述第一梯度信息中与所述第一部分模型相关的梯度信息,根据所述第一部分模型相关的梯度信息更新所述第一部分模型的参数。

进一步地,所述训练模块20还包括:

第二接收单元,用于接收所述第二设备发送的所述第二输出和所述第一损失函数;

第三输入单元,用于将所述第一样本数据和所述第二输出输入预置待训练机器学习模型,得到预测标签数据;

计算单元,用于根据所述预测标签数据和预存的本地实际标签数据,计算所述待训练机器学习模型的第二损失函数和第二梯度信息;

所述第一接收单元还用于根据所述第二梯度信息更新所述待训练机器学习模型的参数,迭代训练以最小化融合损失函数,直到检测到满足预设停止条件时得到目标机器学习模型,并接收所述第二设备发送的所述第二部分模型,其中,所述第一设备融合所述第一损失函数和所述第二损失函数得到所述融合损失函数。

进一步地,所述第一设备中包括tee模块,所述训练模块20包括:

第三接收单元,用于接收所述第二设备发送的第二加密样本数据,其中,所述第二设备对所述第二样本数据进行加密得到所述第二加密样本数据;

第二训练单元,用于在所述tee模块中对所述第二加密样本数据进行解密得到所述第二样本数据,并根据所述第一样本数据和所述第二样本数据对待训练插补模型进行训练得到插补模型。

进一步地,所述目标机器学习模型用于预测用户的购买意向,所述纵向联邦学习系统优化装置还包括:

输入模块,用于将目标用户的第一数据输入所述插补模型得到第二数据,其中,所述第一数据的数据特征包括用户身份特征,所述第二数据的数据特征包括用户购买特征;

预测模块,用于将所述第一数据和所述第二数据输入所述目标机器学习模型,得到所述目标用户的购买意向。

本发明纵向联邦学习系统优化装置的具体实施方式的拓展内容与上述纵向联邦学习系统优化方法各实施例基本相同,在此不做赘述。

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

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

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

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

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

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

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