基于神经网络的联邦建模方法、设备及可读存储介质与流程

文档序号:16857126发布日期:2019-02-12 23:27阅读:274来源:国知局
基于神经网络的联邦建模方法、设备及可读存储介质与流程

本发明涉及机器学习的技术领域,尤其涉及一种基于神经网络的联邦建模方法、设备及可读存储介质。



背景技术:

随着机器学习的快速发展,机器学习可应用于各个领域,如数据挖掘、计算机视觉、自然语言处理、生物特征识别、医学诊断、检测信用卡欺诈、证券市场分析和dna序列测序等。机器学习包括学习部分和执行部分,学习部分利用样本数据修改系统的知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

目前,由于各方的样本数据具有密切联系,如果机器学习仅使用一方的样本数据,则学习得到的模型不准确,为解决上述问题,通过联合各方的样本数据,应用逻辑回归或决策树等单层简单模型进行机器学习。然而,由于需要联合各方的样本数据,存在一方的样本数据被另一方知晓的情况,此外,通过单层简单模型进行机器学习,无法有效的利用各方的样本数据。

因此,如何提高各方样本数据的私密性和利用率是目前亟待解决的问题。



技术实现要素:

本发明的主要目的在于提供一种基于神经网络的联邦建模方法、设备及可读存储介质,旨在提高各方样本数据的私密性和利用率。

为实现上述目的,本发明提供一种基于神经网络的联邦建模方法,所述基于神经网络的联邦建模方法包括以下步骤:

第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;

接收第二终端发送的经同态加密后的第二输出,其中,所述第二终端将第二样本数据输入待训练模型的第二神经网络进行迭代,并将经迭代后所述第二神经网络的第二输出进行同态加密后传输至所述第一终端;

依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端;

由所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛,若所述待训练模型收敛,则结束训练,得到待训练模型。

进一步地,所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛的步骤包括:

所述第三终端接收所述第一终端发送的加密的损失值,并获取所述第一终端前一次发送的历史损失值;

依据预存的私有密钥对加密的损失值和历史损失值进行解密,并依据解密后的损失值和历史损失值判断所述待训练模型是否收敛。

进一步地,所述依据解密后的损失值和历史损失值判断所述待训练模型是否收敛的步骤包括:

计算解密后的损失值与历史损失值之间的差值,并判断所述差值是否小于或等于预设阈值;

若所述差值小于或等于预设阈值,则确定所述待训练模型收敛,否则确定所述待训练模型未收敛。

进一步地,所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛的步骤之后,还包括:

若所述待训练模型未收敛,则所述第三终端将所述待训练模型的目标函数对于所述第一输出的梯度解密之后,返回给所述第一终端;

由所述第一终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度;

所述第三终端将所述待训练模型的目标函数对于所述第二输出的梯度解密之后,返回给所述第二终端;

由所述第二终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第二输出的梯度,反向传播调整所述第二神经网络的本地梯度。

进一步地,由所述第一终端依据第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度的步骤包括:

所述第一终端对所述待训练模型的梯度函数进行多项式拟合处理;

接收所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度;

依据经多项式拟合处理的梯度函数和所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度。

进一步地,所述对经迭代后所述第一神经网络的第一输出进行同态加密的步骤包括:

接收所述第三终端发送的公有密钥,并将所述公有密钥存储至预设区域;

依据所述预设区域中的公有密钥对经迭代后所述第一神经网络的第一输出进行同态加密。

进一步地,所述基于神经网络的联邦建模方法还包括:

当检测到初始权值的配置指令时,统计所述第一神经网络中的突触个数,并调用预设随机数生成器,生成与所述突触个数对应的一组随机数;

依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值。

进一步地,所述依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值的步骤包括:

依据生成的一组随机数的大小顺序,从生成的一组随机数中依次选择一随机数作为初始权值,配置给所述第一神经网络中的一突触,其中,每个突触配置一次初始权值。

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

本发明还提供一种可读存储介质,所述可读存储介质上存储有基于神经网络的联邦建模程序,所述基于神经网络的联邦建模程序被处理器执行时实现如上所述的基于神经网络的联邦建模方法的步骤。

本发明提供一种基于神经网络的联邦建模方法、设备及可读存储介质,本发明将一方已标注的样本数据输入待训练模型中的一神经网络,并将另一方样本数据输入待训练模型中的另一神经网络,然后在双方样本数据经过各自的神经网络到达最后一层时,对双方神经网络的输出进行同态加密,并将其中一方经过同态加密的输出传输给另一方,由另一方结合经同态加密的两方神经网络的输出,计算加密的损失值和梯度值,最后将加密的损失值和梯度值传输给第三方,由第三方返对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断待训练模型是否收敛,若待训练模型收敛,则结束训练,得到待训练模型,由于通过同态加密的方式,对双方需要传输的数据进行加密,且可在加密的形式下进行联合训练,有效的提高各方样本数据的私密性,同时,联合各方的多层神经网络进行机器学习,可有效的利用各方的样本数据,提高各方样本数据的利用率。

附图说明

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

图2为本发明基于神经网络的联邦建模方法第一实施例的流程示意图;

图3为本发明第一实施例中联合双方样本数据训练待训练模型的示意图;

图4为本发明基于神经网络的联邦建模方法第二实施例的流程示意图。

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

具体实施方式

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

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

本发明实施例基于神经网络的联邦建模设备可以是pc等固定终端设备,也可以是智能手机、平板电脑、便携计算机等具有显示功能的可移动式终端设备。

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

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

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

在图1所示的基于神经网络的联邦建模设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,并执行以下步骤:

第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;

接收第二终端发送的经同态加密后的第二输出,其中,所述第二终端将第二样本数据输入待训练模型的第二神经网络进行迭代,并将经迭代后所述第二神经网络的第二输出进行同态加密后传输至所述第一终端;

依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端;

由所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛,若所述待训练模型收敛,则结束训练,得到待训练模型。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

所述第三终端接收所述第一终端发送的加密的损失值,并获取所述第一终端前一次发送的历史损失值;

依据预存的私有密钥对加密的损失值和历史损失值进行解密,并依据解密后的损失值和历史损失值判断所述待训练模型是否收敛。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

计算解密后的损失值与历史损失值之间的差值,并判断所述差值是否小于或等于预设阈值;

若所述差值小于或等于预设阈值,则确定所述待训练模型收敛,否则确定所述待训练模型未收敛。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

若所述待训练模型未收敛,则所述第三终端将所述待训练模型的目标函数对于所述第一输出的梯度解密之后,返回给所述第一终端;

由所述第一终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度;

所述第三终端将所述待训练模型的目标函数对于所述第二输出的梯度解密之后,返回给所述第二终端;

由所述第二终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第二输出的梯度,反向传播调整所述第二神经网络的本地梯度。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

所述第一终端对所述待训练模型的梯度函数进行多项式拟合处理;

接收所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度;

依据经多项式拟合处理的梯度函数和所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

接收所述第三终端发送的公有密钥,并将所述公有密钥存储至预设区域;

依据所述预设区域中的公有密钥对经迭代后所述第一神经网络的第一输出进行同态加密。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

当检测到初始权值的配置指令时,统计所述第一神经网络中的突触个数,并调用预设随机数生成器,生成与所述突触个数对应的一组随机数;

依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值。

进一步地,处理器1001可以用于调用存储器1005中存储的基于神经网络的联邦建模程序,还执行以下步骤:

依据生成的一组随机数的大小顺序,从生成的一组随机数中依次选择一随机数作为初始权值,配置给所述第一神经网络中的一突触,其中,每个突触配置一次初始权值。

本发明基于神经网络的联邦建模设备的具体实施例与下述基于神经网络的联邦建模方法的各具体实施例基本相同,在此不作赘述。

参照图2,图2为本发明基于神经网络的联邦建模方法第一实施例的流程示意图。

步骤s101,第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;

本实施例中,该待训练模型包括至少两个机器学习模型,至少两个机器模型中至少有一个机器模型为神经网络模型,下面以待训练模型由两个神经网络和一个联合神经元组成为例进行说明,如图3所示,两个神经网络分别为第一神经网络和第二神经网络,且第一神经网络部署于第一终端,第二神经网络部署于第二终端。需要说明的是,第一神经网络和第二神经网络的网络参数可由本领域技术人员基于实际情况基于实际情况进行设置,本实施例对此不作具体限定。其中,网络参数包括但不限于各层网络节点个数、隐含层数、各突触的初始权值、学习率、动态参数、允许误差、迭代次数和激活函数。

本实施例中,开发人员确定待训练模型之后,并将待训练模型的第一神经网络部署于第一终端,将待训练模型的第二神经网络部署于第二终端,将第一终端和第二终端所需的公有密钥保存在第三终端中,第一终端的本地存储有已标注的第一样本数据,第二终端的本地存储有未标注的第二样本数据。在对待训练模型进行训练的过程中,第一终端将位于本地的已标注的第一样本数据输入待训练模型的第一神经网络,并对经迭代后第一神经网络的第一输出,即第一神经网络最后一层的各神经元值,以及最后一层各神经元在待训练模型的梯度函数和损失函数里的参与损失值计算和梯度值计算所需的参数值进行同态加密,即第一样本数据经过第一神经网络处理到达第一神经网络的最后一层时,利用从第三终端中获取到的公有密钥对该第一神经网络的第一输出进行同态加密。其中,对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。

具体地,接收第三终端发送的公有密钥,并将公有密钥存储至预设区域,然后在已标注的第一样本数据输入第一神经网络之后,依据预设区域中的公有密钥对经迭代后第一神经网络的第一输出进行同态加密。

步骤s102,接收第二终端发送的经同态加密后的第二输出,其中,第二终端将第二样本数据输入待训练模型的第二神经网络进行迭代,并将经迭代后第二神经网络的第二输出进行同态加密后传输至第一终端;

本实施例中,在对待训练模型进行训练的过程中,第二终端将位于本地的第二样本数据输入待训练模型的第二神经网络,并将经迭代后第二神经网络的第二输出,即第二神经网络最后一层的各神经元值,以及最后一层各神经元在待训练模型的梯度函数和损失函数里的参与损失值计算和梯度值计算所需的参数值进行同态加密后传输至第一终端,即第二样本数据经过第二神经网络处理到达第二神经网络的最后一层时,利用从第三终端中获取到的公有密钥对该第二神经网络的第二输出进行同态加密,并将经过同态加密的第二神经网络的第二输出传输至第一终端,由第一终端接收第二终端发送的经同态加密后的第二输出。

步骤s103,依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端;

本实施例中,第一终端依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端,即结合第一神经网络的第一输出,即第一神经网络最后一层的各神经元值,以及最后一层各神经元在待训练模型的梯度函数和损失函数里的参与损失值计算和梯度值计算所需的参数值和第二神经网络的第二输出,即第二神经网络最后一层的各神经元值,以及最后一层各神经元在待训练模型的梯度函数和损失函数里的参与损失值计算和梯度值计算所需的参数值,以密文的形式计算损失值和梯度值,且计算得到的损失值和梯度值处于加密状态。

具体实施中,为进一步地的提高双方数据的安全性,在训练模型的过程中,第一终端和第二终端定时从第三终端中获取一公有密钥,以更新本地预存的公有密钥,具体为在第三终端中设置一定时器,在开始训练模型时,定时器开始计时,当定时器的计时达到预设时长时,第三终端生成一组公有密钥和私有密钥,并将公有密钥下发给第一终端和第二终端,且定时器重新开始计时,由第一终端和第二终端更新本地预存的公有密钥。需要说明的是,上述预设时长可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。

步骤s104,由第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断待训练模型是否收敛,若待训练模型收敛,则结束训练,得到待训练模型。

本实施例中,第三终端接收第一终端发送的加密的损失值和梯度值,并对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断待训练模型是否收敛,即获取加密的损失值和梯度值的公有密钥,并获取与该公有密钥对应的私有密钥,然后依据该私有密钥对加密的损失值和梯度值进行解密,并依据解密后的损失值判断待训练模型是否收敛。具体地,第三终端在接收到第一终端发送的加密的损失值时,获取第一终端前一次发送的历史损失值,并依据对应的私有密钥对加密的损失值和历史损失值进行解密,并依据解密后的损失值和历史损失值判断待训练模型是否收敛,即计算解密后的损失值与历史损失值之间的差值,并判断该差值是否小于或等于预设阈值,如果该差值小于或等于预设阈值,则确定该待训练模型收敛,如果该差值大于预设阈值,则确定该待训练模型未收敛。需要说明的是,上述预设阈值可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。

进一步地,如果待训练模型未收敛,则第三终端将待训练模型的目标函数对于第一输出的梯度解密之后,返回给第一终端,由第一终端依据第三终端解密返回的待训练模型的目标函数对于第一输出的梯度,反向传播调整第一神经网络的本地梯度,第三终端还将待训练模型的目标函数对于第二输出的梯度解密之后,返回给所述第二终端,由第二终端依据第三终端解密返回的待训练模型的目标函数对于第二输出的梯度,反向传播调整第二神经网络的本地梯度。

具体地,在待训练模型的梯度函数或损失函数不能在加密下计算时,第一终端对待训练模型的梯度函数进行多项式拟合处理,并接收第三终端解密返回的待训练模型的目标函数对于第一输出的梯度,然后依据经多项式拟合处理的梯度函数和待训练模型的目标函数对于第一输出的梯度,反向传播调整第一神经网络的本地梯度。同理,第二终端按照同样的方式调整第二神经网络的本地梯度。通过对梯度函数进行多项式拟合处理可解决非线性的梯度函数或损失函数无法同态加密的问题。需要说明的是,采用拟合多项式逼近激活函数的方式对梯度函数进行处理,可使得不能在加密下计算的梯度函数可以被同态加密,值得说明的是,具体实施中也可以采取其他方式对梯度函数处理,使得非线性的梯度函数可以被同态加密。

本实施例中,本发明将一方已标注的样本数据输入待训练模型中的一神经网络,并将另一方样本数据输入待训练模型中的另一神经网络,然后在双方样本数据经过各自的神经网络到达最后一层时,对双方神经网络的输出进行同态加密,并将其中一方经过同态加密的输出传输给另一方,由另一方结合经同态加密的两方神经网络的输出,计算加密的损失值和梯度值,最后将加密的损失值和梯度值传输给第三方,由第三方返对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断待训练模型是否收敛,若待训练模型收敛,则结束训练,得到待训练模型,由于通过同态加密的方式,对双方需要传输的数据进行加密,且可在加密的形式下进行联合训练,有效的提高各方样本数据的私密性,同时,联合各方的多层神经网络进行机器学习,可有效的利用各方的样本数据,提高各方样本数据的利用率。

进一步地,参照图4,基于上述第一实施,提出了本发明基于神经网络的联邦建模方法的第二实施例,与前述实施例的区别在于,基于神经网络的联邦建模方法还包括:

步骤105,当检测到初始权值的配置指令时,统计第一神经网络中的突触个数,并调用预设随机数生成器,生成与突触个数对应的一组随机数;

本实施例中,在对待训练模型进行训练之前,需要配置待训练模型中各突触的初始权值,则当检测到初始权值的配置指令时,第一终端统计第一神经网络中的突触个数,并调用预设随机数生成器,生成与突触个数对应的一组随机数,同时第二终端统计第二神经网络中的突触个数,并调用预设随机数生成器,生成与突触个数对应的另一组随机数。需要说明的是,上述随机数的取值范围可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定,优选地,随机数的取值范围为-0.5~+0.5。

步骤106,依据生成的一组随机数,配置第一神经网络中各突触的初始权值。

本实施例中,第一终端依据生成的一组随机数,,配置第一神经网络中各突触的初始权值,即依据生成的一组随机数的大小顺序,从生成的一组随机数中依次选择一随机数作为初始权值,配置给第一神经网络中的一突触;第二终端依据生成的另一组随机数,配置第二神经网络中各突触的初始权值,即依据生成的另一组随机数的大小顺序,从生成的另一组随机数中依次选择一随机数作为初始权值,配置给第二神经网络中的一突触,其中,每个突触配置一次初始权值。

本实施例中,本发明利用随机数生成器,给待训练模型中第一神经网络和第二神经网络的各突触配置随机的初始权值,防止各突触的初始权值相同,导致训练过程中各突触的权值始终保持相等,有效的提高训练得到模型的准确性。

此外,本发明实施例还提出一种可读存储介质,所述可读存储介质上存储有基于神经网络的联邦建模程序,所述基于神经网络的联邦建模程序被处理器执行时,执行以下步骤:

第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;

接收第二终端发送的经同态加密后的第二输出,其中,所述第二终端将第二样本数据输入待训练模型的第二神经网络进行迭代,并将经迭代后所述第二神经网络的第二输出进行同态加密后传输至所述第一终端;

依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端;

由所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛,若所述待训练模型收敛,则结束训练,得到待训练模型。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛的步骤包括:

所述第三终端在接收到所述第一终端发送的加密的损失值时,获取所述第一终端前一次发送的历史损失值;

依据预存的私有密钥对加密的损失值和历史损失值进行解密,并依据解密后的损失值和历史损失值判断所述待训练模型是否收敛。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

所述依据解密后的损失值和历史损失值判断所述待训练模型是否收敛的步骤包括:

计算解密后的损失值与历史损失值之间的差值,并判断所述差值是否小于或等于预设阈值;

若所述差值小于或等于预设阈值,则确定所述待训练模型收敛,否则确定所述待训练模型未收敛。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

若所述待训练模型未收敛,则所述第三终端将所述待训练模型的目标函数对于所述第一输出的梯度解密之后,返回给所述第一终端;

由所述第一终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度;

所述第三终端将所述待训练模型的目标函数对于所述第二输出的梯度解密之后,返回给所述第二终端;

由所述第二终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第二输出的梯度,反向传播调整所述第二神经网络的本地梯度二神经网络中输出的梯度,反向传播调整所述第二神经网络的本地梯度。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

所述第一终端对所述待训练模型的梯度函数进行多项式拟合处理;

接收所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度;

依据经多项式拟合处理的梯度函数和所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

接收所述第三终端发送的公有密钥,并将所述公有密钥存储至预设区域;

依据所述预设区域中的公有密钥对经迭代后所述第一神经网络的第一输出进行同态加密。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

当检测到初始权值的配置指令时,统计所述第一神经网络中的突触个数,并调用预设随机数生成器,生成与所述突触个数对应的一组随机数;

依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值。

进一步地,所述基于神经网络的联邦建模程序被处理器执行时,还执行以下步骤:

依据生成的一组随机数的大小顺序,从生成的一组随机数中依次选择一随机数作为初始权值,配置给所述第一神经网络中的一突触,其中,每个突触配置一次初始权值。

本发明可读存储介质的具体实施例与上述基于神经网络的联邦建模方法各实施例基本相同,在此不作赘述。

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

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

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

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

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