一种基于隐私数据进行模型训练的方法及系统技术方案

技术编号:24122337 阅读:16 留言:0更新日期:2020-05-13 03:28
本说明书一个或多个实施例涉及一种基于隐私数据进行模型训练的方法及系统。所述的方法包括:第二终端接收来自第一终端的加密后的第一隐私数据;并将其与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;第二终端基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;将所述加密损失值参与加密模型训练,得到完成一次参数更新的模型;其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同样本的不同特征以及模型参数。

【技术实现步骤摘要】
一种基于隐私数据进行模型训练的方法及系统
本说明书一个或多个实施例涉及多方数据合作,特别涉及一种基于隐私数据进行模型训练的方法和系统。
技术介绍
在数据分析、数据挖掘、经济预测等领域,机器学习模型可被用来分析、发现潜在的数据价值。由于单个数据拥有方持有的数据可能是不完整的,由此难以准确地刻画目标,为了得到更好的模型预测结果,通过多个数据拥有方的数据合作,来进行模型的联合训练的方式得到了广泛的使用。但是在多方数据合作的过程中,涉及到数据安全和模型安全等问题。因此,有必要提出一种安全的基于多方数据进行联合建模的方案。
技术实现思路
本说明书实施例的一个方面提供一种基于隐私数据进行模型训练的方法,所述方法包括:第二终端接收来自第一终端的加密后的第一隐私数据;并将其与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;第二终端基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;将所述加密损失值参与加密模型训练,得到参数更新的模型;其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同样本的不同特征以及模型参数。本说明书实施例的另一方面提供一种基于隐私数据进行模型训练的系统,所述系统包括:第一数据接收模块,用于接收来自第一终端的加密后的第一隐私数据;加密结果确定模块,用于将加密后的第一隐私数据与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;加密损失值确定模块,用于基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;模型参数更新模块,用于将所述加密损失值参与加密模型训练,得到完成一次参数更新的模型;其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同样本的不同特征以及模型参数。本说明书实施例的另一方面提供一种基于隐私数据进行模型训练的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述基于隐私数据进行模型训练方法对应的操作。本说明书实施例的另一方面提供一种基于隐私数据进行模型训练的方法,所述方法包括:第一终端接收来自第二终端的掩码加密损失值,所述掩码加密损失值由第一终端基于所述加密损失值以及第二掩码确定;第一终端将所述掩码加密损失值参与加密模型的联合训练,得到完成一次参数更新的模型;其中,所述加密为同态加密;第一终端和第二终端分别持有第一隐私数据和第二隐私数据,且所述第一隐私数据和所述第二隐私数据对应于相同样本的不同特征以及模型参数。本说明书实施例的另一方面提供一种基于隐私数据进行模型训练的系统,所述系统包括:掩码加密损失值接收模块,用于接收来自第二终端的掩码加密损失值,所述掩码加密损失值由第二终端基于所述加密损失值以及第二掩码确定;模型参数更新模块,用于将所述掩码加密损失值参与加密模型的联合训练,得到参数更新的模型;其中,所述加密为同态加密;第一终端和第二终端分别持有第一隐私数据和第二隐私数据,且所述第一隐私数据和所述第二隐私数据对应于相同样本的不同特征以及模型参数。本说明书实施例的另一方面提供一种基于隐私数据进行模型训练的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述基于隐私数据进行模型训练方法对应的操作。附图说明本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本说明书一些实施例所示的基于隐私数据进行模型训练系统的示例性应用场景图;图2是根据本说明书一些实施例所示的基于隐私数据进行模型训练方法的示例性流程图;以及图3是根据本说明书的另外一些实施例所示的基于隐私数据进行模型训练方法的示例性流程图。具体实施方式为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。在经济、文化、教育、医疗、公共管理等各行各业充斥的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理在越来越多场景中广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过多方数据的联合训练来获得更为准确的模型参数。在一些实施例中,基于隐私数据进行模型的联合训练系统可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,政府银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到比较好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。基于隐私数据进行模型训练系统可以使多方的隐私数据在不受到泄露的情况下,通过多方数据的联合训练来得到共同使用的机器学习模型,达到一种共赢的合作状态。在一些实施例中,基于多方数据进行的联合训练中,为了防止隐私数据的泄露,可以采用混淆电路(garbledcircuit)或秘密分享的方式来进行。其中,在特征维度较大时,混淆电路(garbledcircuit)或秘密分享方案的运算效率不高。而且,秘密分享的方式需要多个数据方在在同一时间利用自身的数据参与运算。在一些实施例中,也可以对各方的隐私数据进行同态加密,然后让各方的隐私数据在加密的状态参与模型训练的运算。其中,同态加密仅支持积运算和/或和运算,在使用的过程中,需要把对应的运算公式根据需要进行相应的转换。在本文档来自技高网...

【技术保护点】
1.一种基于隐私数据进行模型训练的方法,所述方法包括:/n第二终端接收来自第一终端的加密后的第一隐私数据;并将其与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;所述第一隐私数据由与其对应的特征和模型参数确定;所述第二隐私数据由与其对应的特征和模型参数确定;/n第二终端基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;/n将所述加密损失值参与第一解密梯度和第二解密梯度的计算;所述第一解密梯度和第二解密梯度分别与所述第一隐私数据和第二隐私数据对应,所述第一解密梯度和第二解密梯度用于更新所述联合训练的模型;/n其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同的训练样本。/n

【技术特征摘要】
1.一种基于隐私数据进行模型训练的方法,所述方法包括:
第二终端接收来自第一终端的加密后的第一隐私数据;并将其与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;所述第一隐私数据由与其对应的特征和模型参数确定;所述第二隐私数据由与其对应的特征和模型参数确定;
第二终端基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;
将所述加密损失值参与第一解密梯度和第二解密梯度的计算;所述第一解密梯度和第二解密梯度分别与所述第一隐私数据和第二隐私数据对应,所述第一解密梯度和第二解密梯度用于更新所述联合训练的模型;
其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同的训练样本。


2.根据权利要求1所述的方法,所述联合训练的模型包括线性回归模型或逻辑回归模型。


3.根据权利要求1所述的方法,当所述联合训练的模型包括逻辑回归模型时,所述第二终端基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值包括:
第二终端基于泰勒展开公式以及Sigmoid函数确定所述加密损失值。


4.根据权利要求1所述的方法,所述将所述加密损失值参与第一解密梯度和第二解密梯度的计算包括:
基于所述加密损失值以及第二隐私数据对应的特征确定第二加密梯度;
基于所述第二加密梯度,确定对应的第二解密梯度。


5.根据权利要求4所述的方法,所述基于所述第二加密梯度,确定对应的第二解密梯度包括:
基于所述第二加密梯度和第一掩码确定对应的第一掩码梯度,并将所述掩码梯度传输给所述第一终端;
接收来自第一终端的第一解码结果,所述第一解码结果对应所述第一掩码梯度;
第二终端基于所述第一解码结果以及所述第一掩码,确定第二解密梯度;并基于所述第二解密梯度更新所述联合训练的模型。


6.根据权利要求1所述的方法,所述接收来自第一终端的加密后的第一隐私数据包括:接收用第一终端的公钥进行加密的第一隐私数据;
所述第二隐私数据的加密数据的加密公钥为第一终端的公钥。


7.根据权利要求1所述的方法,所述第一隐私数据和所述第二隐私数据包括与实体相关的图像数据、文本数据或声音数据。


8.一种基于隐私数据进行模型训练的系统,所述系统包括:
第一数据接收模块,用于接收来自第一终端的加密后的第一隐私数据;所述第一隐私数据由与其对应的特征和模型参数确定;
加密结果确定模块,用于将加密后的第一隐私数据与第二终端的第二隐私数据的加密数据进行计算,得到加密后的结果;所述第二隐私数据由与其对应的特征和模型参数确定;
加密损失值确定模块,用于基于所述加密后的结果以及样本标签,得到基于所述第一隐私数据和所述第二隐私数据联合训练的模型的加密损失值;
模型参数更新模块,用于将所述加密损失值参与第一解密梯度和第二解密梯度的计算;所述第一解密梯度和第二解密梯度分别与所述第一隐私数据和第二隐私数据对应,所述第一解密梯度和第二解密梯度用于更新所述联合训练的模型;
其中,所述加密为同态加密;所述第一隐私数据和所述第二隐私数据对应于相同的训练样本。


9.根据权利要求8所述的系统,所述联合训练的模型包括线性回归模型或逻辑回归模型。


10.根据权利要求8所述的系统,当所述联合训练的模型包括逻辑回归模型时,所述加密损失值确定模块还用于:基于泰勒展开公式以及Sigmoid函数确定所述加密损失值。


11.根据权利要求8所述的系统,所述模型参数更新模块还用于:
基于所述加密损失值以及第二隐私数据对应的特征确定第二加密梯度;
基于所述第二加密梯度,确定对应的第二解密梯度。


12.根据权利要求11所述的系统,所述模型参数更新模块还用于:
基于所述第二加密梯度和第一掩码确定对应的第一掩码梯度,并将所述第一掩码梯度传输给所述第一终端;
接收来自第一终...

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

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

1