CN109325584B - 基于神经网络的联邦建模方法、设备及可读存储介质 - Google Patents
基于神经网络的联邦建模方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109325584B CN109325584B CN201810913868.9A CN201810913868A CN109325584B CN 109325584 B CN109325584 B CN 109325584B CN 201810913868 A CN201810913868 A CN 201810913868A CN 109325584 B CN109325584 B CN 109325584B
- Authority
- CN
- China
- Prior art keywords
- neural network
- terminal
- trained
- model
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于神经网络的联邦建模方法、设备及可读存储介质,该方法包括:第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;接收第二终端发送的经同态加密后的第二输出;依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端,由所述第三终端对加密的损失值进行解密之后,依据解密的损失值判断所述待训练模型是否收敛,若所述待训练模型收敛,则结束训练,得到待训练模型。本发明能够提高各方样本数据的私密性和利用率。
Description
技术领域
本发明涉及机器学习的技术领域,尤其涉及一种基于神经网络的联邦建模方法、设备及可读存储介质。
背景技术
随着机器学习的快速发展,机器学习可应用于各个领域,如数据挖掘、计算机视觉、自然语言处理、生物特征识别、医学诊断、检测***欺诈、证券市场分析和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-volatile memory),例如磁盘存储器。存储器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、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于神经网络的联邦建模方法,其特征在于,所述基于神经网络的联邦建模方法包括以下步骤:
第一终端将已标注的第一样本数据输入待训练模型的第一神经网络进行迭代,并对经迭代后所述第一神经网络的第一输出进行同态加密;
接收第二终端发送的经同态加密后的第二输出,其中,所述第二终端将第二样本数据输入待训练模型的第二神经网络进行迭代,并将经迭代后所述第二神经网络的第二输出进行同态加密后传输至所述第一终端;
依据经同态加密后的第一输出和第二输出,计算加密的损失值和梯度值,并将加密的损失值和梯度值传输至第三终端;
由所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛,若所述待训练模型收敛,则结束训练,得到待训练模型。
2.如权利要求1所述的基于神经网络的联邦建模方法,其特征在于,所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛的步骤包括:
所述第三终端在接收到所述第一终端发送的加密的损失值时,获取所述第一终端前一次发送的历史损失值;
依据预存的私有密钥对加密的损失值和历史损失值进行解密,并依据解密后的损失值和历史损失值判断所述待训练模型是否收敛。
3.如权利要求2所述的基于神经网络的联邦建模方法,其特征在于,所述依据解密后的损失值和历史损失值判断所述待训练模型是否收敛的步骤包括:
计算解密后的损失值与历史损失值之间的差值,并判断所述差值是否小于或等于预设阈值;
若所述差值小于或等于预设阈值,则确定所述待训练模型收敛,否则确定所述待训练模型未收敛。
4.如权利要求1所述的基于神经网络的联邦建模方法,其特征在于,所述第三终端对加密的损失值和梯度值进行解密之后,依据解密后的损失值判断所述待训练模型是否收敛的步骤之后,还包括:
若所述待训练模型未收敛,则所述第三终端将所述待训练模型的目标函数对于所述第一输出的梯度解密之后,返回给所述第一终端;
由所述第一终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度;
所述第三终端将所述待训练模型的目标函数对于所述第二输出的梯度解密之后,返回给所述第二终端;
由所述第二终端依据所述第三终端解密返回的所述待训练模型的目标函数对于所述第二输出的梯度,反向传播调整所述第二神经网络的本地梯度。
5.如权利要求4所述的基于神经网络的联邦建模方法,其特征在于,由所述第一终端依据第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度的步骤包括:
所述第一终端对所述待训练模型的梯度函数进行多项式拟合处理;
接收所述第三终端解密返回的所述待训练模型的目标函数对于所述第一输出的梯度;
依据经多项式拟合处理的梯度函数和所述待训练模型的目标函数对于所述第一输出的梯度,反向传播调整所述第一神经网络的本地梯度。
6.如权利要求1-5中任一项所述的基于神经网络的联邦建模方法,其特征在于,所述对经迭代后所述第一神经网络的第一输出进行同态加密的步骤包括:
接收所述第三终端发送的公有密钥,并将所述公有密钥存储至预设区域;
依据所述预设区域中的公有密钥对经迭代后所述第一神经网络的第一输出进行同态加密。
7.如权利要求1-5中任一项所述的基于神经网络的联邦建模方法,其特征在于,所述基于神经网络的联邦建模方法还包括:
当检测到初始权值的配置指令时,统计所述第一神经网络中的突触个数,并调用预设随机数生成器,生成与所述突触个数对应的一组随机数;
依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值。
8.如权利要求7所述的基于神经网络的联邦建模方法,其特征在于,所述依据生成的一组随机数,配置所述第一神经网络中各突触的初始权值的步骤包括:
依据生成的一组随机数的大小顺序,从生成的一组随机数中依次选择一随机数作为初始权值,配置给所述第一神经网络中的一突触,其中,每个突触配置一次初始权值。
9.一种基于神经网络的联邦建模设备,其特征在于,所述基于神经网络的联邦建模设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于神经网络的联邦建模程序,所述基于神经网络的联邦建模程序被所述处理器执行时实现如权利要求1-8中任一项所述的基于神经网络的联邦建模方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有基于神经网络的联邦建模程序,所述基于神经网络的联邦建模程序被处理器执行时实现如权利要求1至8中任一项所述的基于神经网络的联邦建模方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810913868.9A CN109325584B (zh) | 2018-08-10 | 2018-08-10 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810913868.9A CN109325584B (zh) | 2018-08-10 | 2018-08-10 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109325584A CN109325584A (zh) | 2019-02-12 |
CN109325584B true CN109325584B (zh) | 2021-06-25 |
Family
ID=65263630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810913868.9A Active CN109325584B (zh) | 2018-08-10 | 2018-08-10 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325584B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165725B (zh) * | 2018-08-10 | 2022-03-29 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN109886417B (zh) * | 2019-03-01 | 2024-05-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、装置、设备及介质 |
CN110162995B (zh) * | 2019-04-22 | 2023-01-10 | 创新先进技术有限公司 | 评估数据贡献程度的方法及其装置 |
CN110084063B (zh) * | 2019-04-23 | 2022-07-15 | 中国科学技术大学 | 一种保护隐私数据的梯度下降计算方法 |
CN112085206B (zh) * | 2019-06-13 | 2024-04-09 | 北京百度网讯科技有限公司 | 联合逻辑回归建模方法、装置以及终端 |
CN110263919A (zh) * | 2019-06-20 | 2019-09-20 | 福州数据技术研究院有限公司 | 一种基于医疗健康数据安全的反向传播神经网络训练方法 |
CN112149174B (zh) * | 2019-06-28 | 2024-03-12 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备和介质 |
CN112182635B (zh) * | 2019-07-03 | 2024-02-23 | 北京百度网讯科技有限公司 | 一种联合建模的实现方法、装置、设备和介质 |
CN110674941B (zh) * | 2019-09-25 | 2023-04-18 | 南开大学 | 基于神经网络的数据加密传输方法及*** |
CN112749812A (zh) * | 2019-10-29 | 2021-05-04 | 华为技术有限公司 | 一种联合学习***、训练结果聚合的方法及设备 |
CN110852430B (zh) * | 2019-10-29 | 2022-09-09 | 清华大学 | 面向非易失性计算***的神经网络加密方法及装置 |
CN110751291B (zh) * | 2019-10-29 | 2021-02-12 | 支付宝(杭州)信息技术有限公司 | 实现安全防御的多方联合训练神经网络的方法及装置 |
CN110807528A (zh) * | 2019-10-30 | 2020-02-18 | 深圳前海微众银行股份有限公司 | 特征相关性计算方法、设备及计算机可读存储介质 |
CN111222628B (zh) * | 2019-11-20 | 2023-09-26 | 深圳前海微众银行股份有限公司 | 循环神经网络训练优化方法、设备、***及可读存储介质 |
CN111144576A (zh) * | 2019-12-13 | 2020-05-12 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置和电子设备 |
CN110955907B (zh) * | 2019-12-13 | 2022-03-25 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的模型训练方法 |
CN111125735B (zh) * | 2019-12-20 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及*** |
CN111143878B (zh) * | 2019-12-20 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及*** |
CN111210003B (zh) * | 2019-12-30 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111291897A (zh) * | 2020-02-10 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111260061B (zh) * | 2020-03-09 | 2022-07-19 | 厦门大学 | 联邦学习梯度交换中的差异化加噪方法及*** |
WO2021184347A1 (zh) * | 2020-03-20 | 2021-09-23 | 云图技术有限公司 | 实现隐私保护的数据处理方法和装置 |
CN111460478B (zh) * | 2020-03-30 | 2022-05-13 | 西安电子科技大学 | 一种面向协同深度学习模型训练的隐私保护方法 |
US11764941B2 (en) | 2020-04-30 | 2023-09-19 | International Business Machines Corporation | Decision tree-based inference on homomorphically-encrypted data without bootstrapping |
CN111695675B (zh) * | 2020-05-14 | 2024-05-07 | 平安科技(深圳)有限公司 | 联邦学习模型训练方法及相关设备 |
CN113723604B (zh) * | 2020-05-26 | 2024-03-26 | 杭州海康威视数字技术股份有限公司 | 一种神经网络训练方法、装置、电子设备及可读存储介质 |
CN112348197A (zh) * | 2020-07-01 | 2021-02-09 | 北京沃东天骏信息技术有限公司 | 基于联邦学习的模型生成方法及装置 |
CN111800265B (zh) * | 2020-07-07 | 2021-06-25 | 上海大学 | 一种基于隐私保护的材料逆向设计方法及*** |
CN113988254B (zh) * | 2020-07-27 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 用于多个环境的神经网络模型的确定方法及装置 |
CN112016632B (zh) * | 2020-09-25 | 2024-04-26 | 北京百度网讯科技有限公司 | 模型联合训练方法、装置、设备和存储介质 |
CN112565254B (zh) * | 2020-12-04 | 2023-03-31 | 深圳前海微众银行股份有限公司 | 数据传输方法、装置、设备与计算机可读存储介质 |
CN112613577B (zh) * | 2020-12-31 | 2024-06-11 | 上海商汤智能科技有限公司 | 神经网络的训练方法、装置、计算机设备及存储介质 |
CN113536667B (zh) * | 2021-06-22 | 2024-03-01 | 同盾科技有限公司 | 联邦模型训练方法、装置、可读存储介质及设备 |
CN115169589B (zh) * | 2022-09-06 | 2023-01-24 | 北京瑞莱智慧科技有限公司 | 一种参数更新方法、数据处理方法及相关设备 |
CN116151370B (zh) * | 2023-04-24 | 2023-07-21 | 西南石油大学 | 一种模型参数优化选择*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9946970B2 (en) * | 2014-11-07 | 2018-04-17 | Microsoft Technology Licensing, Llc | Neural networks for encrypted data |
US10095552B2 (en) * | 2016-02-05 | 2018-10-09 | Sas Institute Inc. | Automated transfer of objects among federated areas |
CN106021364B (zh) * | 2016-05-10 | 2017-12-12 | 百度在线网络技术(北京)有限公司 | 图片搜索相关性预测模型的建立、图片搜索方法和装置 |
CN107688493B (zh) * | 2016-08-05 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 训练深度神经网络的方法、装置及*** |
US20180089587A1 (en) * | 2016-09-26 | 2018-03-29 | Google Inc. | Systems and Methods for Communication Efficient Distributed Mean Estimation |
CN108229646A (zh) * | 2017-08-08 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型压缩方法、装置、存储介质和电子设备 |
-
2018
- 2018-08-10 CN CN201810913868.9A patent/CN109325584B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109325584A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325584B (zh) | 基于神经网络的联邦建模方法、设备及可读存储介质 | |
CN109165725B (zh) | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 | |
CN110633806B (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
CN109255444B (zh) | 基于迁移学习的联邦建模方法、设备及可读存储介质 | |
CN109284313B (zh) | 基于半监督学习的联邦建模方法、设备及可读存储介质 | |
CN110633805B (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
US11301571B2 (en) | Neural-network training using secure data processing | |
CN110601814B (zh) | 联邦学习数据加密方法、装置、设备及可读存储介质 | |
US11580417B2 (en) | System and method for processing data and managing information | |
CN109033854B (zh) | 基于模型的预测方法和装置 | |
CN111210003B (zh) | 纵向联邦学习***优化方法、装置、设备及可读存储介质 | |
US11588804B2 (en) | Providing verified claims of user identity | |
CN112148801B (zh) | 保护数据隐私的多方联合进行业务对象预测的方法及装置 | |
US11843586B2 (en) | Systems and methods for providing a modified loss function in federated-split learning | |
EP3566384B1 (en) | Pinocchio / trinocchio on authenticated data | |
CN112818369A (zh) | 一种联合建模方法及装置 | |
CN112801307B (zh) | 基于区块链的联邦学习方法、装置和计算机设备 | |
CN114168295A (zh) | 混合架构***及基于历史任务效果的任务调度方法 | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及*** | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN112054891B (zh) | 基于区块链的共有用户确定方法、电子设备及存储介质 | |
WO2022081539A1 (en) | Systems and methods for providing a modified loss function in federated-split learning | |
JP7501149B2 (ja) | セキュアコンポーネント、デバイス、サーバ、コンピュータプログラム及び機械学習方法 | |
EP4229559A1 (en) | Systems and methods for providing a modified loss function in federated-split learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |