基于多方安全计算的神经网络模型训练及预测方法、装置制造方法及图纸

技术编号:23625233 阅读:117 留言:0更新日期:2020-03-31 22:52
本说明书实施例提供基于多方安全计算的神经网络模型训练方法、模型预测方法及装置。神经网络模型被分割为至少一个客户端模型和至少一个服务端模型,服务端模型部署在服务端,客户端模型部署在对应训练参与方的客户端。在每次循环时,训练样本数据被提供给神经网络模型来得到当前预测值和当前预测差值。在各个客户端模型,经由各个训练参与方使用各自的客户端子模型以及所接收的数据逐层进行多方安全计算。在各个服务端模型,使用在前客户端模型的计算结果逐层进行非多方安全计算。在循环未结束时,根据当前预测差值,通过反向传播来调整服务端模型和客户端子模型的各层模型参数。利用该方法,能够在确保隐私数据安全的情况下提高模型训练效率。

Neural network model training and prediction method and device based on multi-party security computing

【技术实现步骤摘要】
基于多方安全计算的神经网络模型训练及预测方法、装置
本说明书的实施例通常涉及计算机领域,更具体地,涉及基于多方安全计算的神经网络模型训练方法、模型预测方法及装置。
技术介绍
对于公司或企业而言,数据是非常重要的资产,比如,用户数据和业务数据。用户数据例如可以包括用户身份数据等。业务数据例如可以包括在公司提供的业务应用上发生的业务数据,比如淘宝上的商品交易数据等。保护数据安全是公司或企业广泛关注的技术问题。在公司或企业进行业务运营时,通常会需要使用机器学习模型来进行模型预测,以确定业务运营风险或者进行业务运营决策。神经网络模型是机器学习领域广泛使用的机器学习模型。在很多情况下,神经网络模型需要多个模型训练参与方来协同进行模型训练,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练神经网络模型所使用的训练数据中的部分数据。该多个模型训练参与方希望共同使用彼此的数据来统一训练神经网络模型,但又不想把各自的隐私数据提供给其它各个模型训练参与方以防止自己的隐私数据泄露。面对这种情况,提出了能够保护隐私数据安全的机器学习模本文档来自技高网...

【技术保护点】
1.一种基于多方安全计算的神经网络模型训练方法,其中,所述神经网络模型利用第一数目个训练参与方协同训练,所述神经网络模型包括多个隐层并且被按照客户端模型与服务端模型间隔的方式分割为至少一个客户端模型和至少一个服务端模型,每个客户端模型被分解为第一数目个客户端子模型,每个客户端子模型具有相同的子模型结构,所述至少一个服务端模型部署在服务端,每个客户端子模型部署在对应的训练参与方的客户端,所述方法包括:/n执行下述循环过程,直到满足循环结束条件:/n将训练样本数据提供给当前神经网络模型,以经由各个当前客户端模型和各个当前服务端模型配合计算来得到所述当前神经网络模型的当前预测值,其中,在各个当前客户...

【技术特征摘要】
1.一种基于多方安全计算的神经网络模型训练方法,其中,所述神经网络模型利用第一数目个训练参与方协同训练,所述神经网络模型包括多个隐层并且被按照客户端模型与服务端模型间隔的方式分割为至少一个客户端模型和至少一个服务端模型,每个客户端模型被分解为第一数目个客户端子模型,每个客户端子模型具有相同的子模型结构,所述至少一个服务端模型部署在服务端,每个客户端子模型部署在对应的训练参与方的客户端,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
将训练样本数据提供给当前神经网络模型,以经由各个当前客户端模型和各个当前服务端模型配合计算来得到所述当前神经网络模型的当前预测值,其中,在各个当前客户端模型,经由各个训练参与方,使用各自的当前客户端子模型以及所述训练样本数据或者在前的当前服务端模型的计算结果来逐层进行多方安全计算,以得到该当前客户端模型的计算结果,以及在各个当前服务端模型,使用在前的当前客户端模型的计算结果来逐层进行非多方安全计算,以得到该当前服务端模型的计算结果;
基于所述当前预测值和样本标记值,确定当前预测差值;以及
在不满足所述循环结束条件时,根据所述当前预测差值,通过反向传播来逐层调整各个当前服务端模型和各个当前客户端子模型的各层模型参数,所述调整后的各个服务端模型和各个客户端子模型充当下一循环过程的各个当前服务端模型和各个当前客户端子模型。


2.如权利要求1所述的神经网络模型训练方法,其中,所述服务端模型中的神经网络模型分层结构的模型计算与数据隐私保护无关。


3.如权利要求1所述的神经网络模型训练方法,其中,所述客户端模型所包括的隐层的总层数根据用于模型训练的算力、应用场景所要求的训练时效性和/或训练安全等级确定。


4.如权利要求1所述的神经网络模型训练方法,其中,所述神经网络模型包括N个隐层,所述神经网络模型被分割为第一客户端模型和单个服务端模型,所述第一客户端模型包括输入层以及第一隐层到第K隐层,以及所述服务端模型包括输出层以及第K+1隐层到第N隐层。


5.如权利要求1所述的神经网络模型训练方法,其中,所述神经网络模型包括N个隐层,所述神经网络模型被分割为第一客户端模型、单个服务端模型和第二客户端模型,所述第一客户端模型包括输入层以及第一隐层到第K隐层,所述服务端模型包括第K+1隐层到第L隐层,以及所述第二客户端模型包括输出层以及第L+1隐层到第N隐层。


6.如权利要求1所述的神经网络模型训练方法,其中,所述神经网络模型包括N个隐层,所述神经网络模型被分割为第一客户端模型、单个服务端模型和第二客户端模型,所述第一客户端模型包括输入层以及第一隐层到第K隐层,所述服务端模型包括第K+1隐层到第N隐层,以及所述第二客户端模型包括输出层。


7.如权利要求1所述的神经网络模型训练方法,其中,所述当前预测差值的确定过程在所述服务端执行或者在拥有所述样本标记值的训练参与方的客户端执行。


8.如权利要求1所述的神经网络模型训练方法,其中,所述循环结束条件包括:
循环次数达到预定次数;或者
当前预测差值在预定差值范围内。


9.如权利要求1所述的神经网络模型训练方法,其中,所述多方安全计算包括秘密共享、混淆电路和同态加密中的一种。


10.如权利要求1所述的神经网络模型训练方法,其中,在所述服务端处的模型计算使用TensorFlow或Pytorch技术实现。


11.如权利要求1到10中任一所述的模型预测方法,其中,所述训练样本数据包括基于图像数据、语音数据或文本数据的训练样本数据,或者所述训练样本数据包括用户特征数据。


12.一种基于神经网络模型的模型预测方法,所述神经网络模型包括多个隐层并且被按照客户端模型与服务端模型间隔的方式分割为至少一个客户端模型和至少一个服务端模型,每个客户端模型被分解为第一数目个客户端子模型,每个客户端子模型具有相同的子模型结构,所述至少一个服务端模型部署在服务端处,每个客户端子模型部署在所述第一数目个模型拥有方中的对应模型拥有方的客户端处,所述模型预测方法包括:
接收待预测数据;以及
将所述待预测数据提供给神经网络模型,以经由各个客户端模型和各个服务端模型配合计算来得到所述神经网络模型的预测值,
其中,在各个客户端模型,经由各个模型拥有方,使用各自的客户端子模型以及所述待预测数据或者在前服务端模型的计算结果来逐层进行多方安全计算,以得到该客户端模型的计算结果,以及在各个服务端模型,使用在前客户端模型的计算结果来逐层进行非多方安全计算,以得到该服务端模型的计算结果。


13.如权利要求12所述的模型预测方法,其中,所述...

【专利技术属性】
技术研发人员:陈超超郑龙飞王力周俊
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1