基于隐私保护的神经网络模型训练方法、装置及系统转让专利

申请号 : CN202011276900.0

文献号 : CN112101531B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李漓春张祺智

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供基于隐私保护的神经网络模型训练方法、装置及系统。第一和第二成员设备分别具有第一和第二特征数据,第一和第二特征数据按照垂直切分方式组成神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据。第一成员设备接收第二成员设备所具有的数据,并与第二成员设备共同初始化神经网络模型。在执行模型训练时,第一成员设备从第一训练数据样本集中随机抽取出训练数据样本;对训练数据样本的第二特征数据进行份额分解处理得到第三和第四特征数据份额,并向第二成员设备发送第四特征数据份额和对应标签数据。第一和第二成员设备使用第一特征数据、第三特征数据份额、第四特征数据份额和对应标签数据进行联合模型训练。

权利要求 :

1.一种基于隐私保护的神经网络模型训练方法,所述方法由第一和第二成员设备联合执行,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法包括:经由第一成员设备从第二成员设备接收第二成员设备所具有的数据;

经由第一和第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的初始模型参数份额,以及经由第二成员设备单独初始化所述神经网络模型的剩余模型结构的模型参数;

执行下述模型训练过程,直到满足模型训练结束条件:

经由第一成员设备从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;

经由第一成员设备对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;

经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。

2.如权利要求1所述的神经网络模型训练方法,还包括:

经由第一成员设备对所述当前训练数据样本进行乱序处理,

经由第一成员设备对所述当前训练数据样本的第二特征数据进行份额分解处理包括:

经由第一成员设备对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。

3.如权利要求1或2所述的神经网络模型训练方法,其中,第二成员设备具有同态加密公钥/私钥对,所述神经网络模型训练方法还包括:经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到密文数据,

经由第一成员设备从第二成员设备接收第二成员设备所具有的数据包括:经由第一成员设备从第二成员设备接收所述密文数据和同态加密公钥,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据,在进行两方联合模型训练之前,所述模型训练过程还包括:经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到,经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数包括:经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数。

4.如权利要求3所述的神经网络模型训练方法,其中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据,经由第二成员设备对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额包括:经由第二成员设备对所述第四特征数据份额和所述密文标签数据进行解密,得到解密后的第四特征数据份额和明文标签数据。

5.如权利要求4所述的神经网络模型训练方法,其中,所述密文标签数据是经过Rerandom处理后的密文标签数据。

6.如权利要求5所述的神经网络模型训练方法,其中,所述Rerandom处理采用基于所述同态加密公钥/私钥对的同态加密算法实现。

7.如权利要求1所述的神经网络模型训练方法,其中,在完成所述模型训练过程后,所述神经网络模型训练方法还包括:经由第一成员设备向第二成员设备发送所具有的第一部分模型结构的模型参数份额;

经由第二成员设备对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。

8.如权利要求1所述的神经网络模型训练方法,其中,所述第一部分模型结构包括所述神经网络模型中的自输入层起的指定数目层模型结构。

9.一种基于隐私保护的神经网络模型训练方法,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法由第一成员设备执行,所述神经网络模型训练方法包括:从第二成员设备接收第二成员设备所具有的数据;

与第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,其中,所述神经网络模型的剩余模型结构的模型参数经由第二成员设备单独初始化;

执行下述模型训练过程,直到满足模型训练结束条件:

从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;

对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;

与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。

10.如权利要求9所述的神经网络模型训练方法,还包括:

对所述当前训练数据样本进行乱序处理,

对所述当前训练数据样本的第二特征数据进行份额分解处理包括:

对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。

11.如权利要求9所述的神经网络模型训练方法,其中,第二成员设备具有同态加密公钥/私钥对,从第二成员设备接收第二成员设备所具有的数据包括:从第二成员设备接收密文数据和同态加密公钥,所述密文数据经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据,与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数包括:与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,所述解密后的第四特征数据份额经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密得到,所述第三特征数据份额是随机数,所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。

12.如权利要求11所述的神经网络模型训练方法,其中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。

13.如权利要求9所述的神经网络模型训练方法,其中,在完成所述模型训练过程后,所述神经网络模型训练方法还包括:向第二成员设备发送所具有的第一部分模型结构的模型参数份额,

其中,第一成员设备所具有的第一部分模型结构的模型参数份额被第二成员设备使用来与自身所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。

14.一种基于隐私保护的神经网络模型训练方法,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法由第二成员设备执行,所述神经网络模型训练方法包括:向第一成员设备发送所具有的数据;

与第一成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,并且单独初始化所述神经网络模型的剩余模型结构的模型参数;

执行下述模型训练过程,直到满足模型训练结束条件:

从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,所述当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;

与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。

15.如权利要求14所述的神经网络模型训练方法,其中,第二成员设备具有同态加密公钥/私钥对,所述神经网络模型训练方法还包括:使用同态加密公钥对所具有的数据进行同态加密得到密文数据,

向第一成员设备发送所具有的数据包括:

向第一成员设备发送所述密文数据和所述同态加密公钥,

在进行两方联合模型训练之前,所述模型训练过程还包括:

使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额经由第一成员设备使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到,与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数包括:与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述解密后的第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数。

16.如权利要求15所述的神经网络模型训练方法,其中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据,使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额包括:使用同态加密私钥对所述第四特征数据份额和密文标签数据进行解密,得到解密后的第四特征数据份额和明文标签数据。

17.如权利要求14所述的神经网络模型训练方法,其中,在完成所述模型训练过程后,所述神经网络模型训练方法还包括:从第一成员设备接收第一成员设备所具有的第一部分模型结构的模型参数份额;以及对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。

18.一种基于隐私保护的神经网络模型训练装置,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述神经网络模型训练装置应用于第一成员设备,所述神经网络模型训练装置包括:数据接收单元,从第二成员设备接收第二成员设备所具有的数据;

模型初始化单元,与第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,其中,所述神经网络模型的剩余模型结构的模型参数经由第二成员设备单独初始化;

模型训练单元,执行下述模型训练过程,直到满足模型训练结束条件:

从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;

对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;

与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。

19.如权利要求18所述的神经网络模型训练装置,其中,所述模型训练单元进一步:对所述当前训练数据样本进行乱序处理,其中,所述模型训练单元对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。

20.如权利要求18所述的神经网络模型训练装置,其中,第二成员设备具有同态加密公钥/私钥对,所述数据接收单元从第二成员设备接收密文数据和同态加密公钥,所述密文数据经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据,所述模型训练单元:

与第二成员设备的模型训练单元一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,所述解密后的第四特征数据份额经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密得到,所述第三特征数据份额是随机数,所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。

21.如权利要求20所述的神经网络模型训练装置,其中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。

22.如权利要求21所述的神经网络模型训练装置,其中,所述模型训练单元进一步:对所述密文标签数据进行Rerandom处理,其中,所述模型训练单元将经过Rerandom处理后的密文标签数据发送给第二成员设备。

23.如权利要求18所述的神经网络模型训练装置,还包括:

模型参数发送单元,在完成所述模型训练过程后,向第二成员设备发送所具有的第一部分模型结构的模型参数份额,其中,第一成员设备所具有的第一部分模型结构的模型参数份额被第二成员设备使用来与自身所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。

24.一种基于隐私保护的神经网络模型训练装置,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述神经网络模型训练装置应用于第二成员设备,所述神经网络模型训练装置包括:数据发送单元,向第一成员设备发送所具有的数据;

模型初始化单元,与第一成员设备的模型初始化单元共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,以及单独初始化所述神经网络模型的剩余模型结构的模型参数;

模型训练单元,执行下述模型训练过程,直到满足模型训练结束条件:

从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,所述当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;

与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。

25.如权利要求24所述的神经网络模型训练装置,其中,第二成员设备具有同态加密公钥/私钥对,所述神经网络模型训练装置还包括:加密单元,使用同态加密公钥对所具有的数据进行同态加密得到密文数据,其中,所述数据发送单元向第一成员设备发送所述密文数据和所述同态加密公钥,在进行两方联合模型训练之前,所述模型训练单元进一步:

使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额经由第一成员设备使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到,其中,所述模型训练单元与第一成员设备的模型训练单元一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述解密后的第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数。

26.如权利要求24所述的神经网络模型训练装置,还包括:

模型参数接收单元,在完成所述模型训练过程后,从第一成员设备接收第一成员设备所具有的第一部分模型结构的模型参数份额;以及模型整合单元,对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。

27.一种基于隐私保护的神经网络模型训练系统,包括:

第一成员设备,包括如权利要求18到23中任一所述的神经网络模型训练装置;以及第二成员设备,包括如权利要求24到26中任一所述的神经网络模型训练装置,其中,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据。

28.一种电子设备,包括:

至少一个处理器,以及

与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求9到13中任一所述的方法或者14到17中任一所述的方法。

29.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求9到13中任一所述的方法或者14到17中任一所述的方法。

说明书 :

基于隐私保护的神经网络模型训练方法、装置及系统

技术领域

[0001] 本说明书实施例通常涉及机器学习领域,尤其涉及基于隐私保护的神经网络模型训练方法、装置及系统。

背景技术

[0002] 神经网络模型被广泛地应用于各种业务应用领域,比如,可以应用于基于互联网的各种服务平台或查询机构的业务预测系统,例如,信息查询服务、信息预测服务、保险服务、医疗服务、资金往来服务、人群分类服务等等。在很多情况下,多个数据拥有方(例如,电子商务公司、快递公司和银行)可以各自在本地收集神经网络模型训练所用的特征数据,这些特征数据是各个数据拥有方的私有数据,并且所对应的模型特征可能相同,也可能不相同。为了提升神经网络模型的性能,需要使用该多个数据拥有方的特征数据来联合训练神经网络模型,但该多个数据拥有方又不想将各自的私有数据提供给其它数据拥有方以防止隐私数据泄露。
[0003] 面对这种情况,提出了能够保护隐私数据安全的神经网络模型训练方法,其能够在保证两个数据拥有方的各自隐私数据安全的情况下,经由该两个数据拥有方来训练神经网络模型。

发明内容

[0004] 鉴于上述,本说明书实施例提供用于经由第一和第二成员设备联合训练神经网络模型的方法、装置和系统。利用该方法、装置和系统,可以在确保两个成员设备的数据隐私安全的情况下实现神经网络模型训练。
[0005] 根据本说明书实施例的一个方面,提供一种基于隐私保护的神经网络模型训练方法,所述方法由第一和第二成员设备联合执行,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法包括:经由第一成员设备从第二成员设备接收第二成员设备所具有的数据;经由第一和第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的初始模型参数份额,以及经由第二成员设备单独初始化所述神经网络模型的剩余模型结构的模型参数;执行下述模型训练过程,直到满足模型训练结束条件:经由第一成员设备从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;经由第一成员设备对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。
[0006] 可选地,在上述方面的一个示例中,所述神经网络模型训练方法还可以包括:经由第一成员设备对所述当前训练数据样本进行乱序处理。此外,经由第一成员设备对所述当前训练数据样本的第二特征数据进行份额分解处理可以包括:经由第一成员设备对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。
[0007] 可选地,在上述方面的一个示例中,第二成员设备具有同态加密公钥/私钥对。所述神经网络模型训练方法还可以包括:经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到密文数据。此外,经由第一成员设备从第二成员设备接收第二成员设备所具有的数据可以包括:经由第一成员设备从第二成员设备接收所述密文数据和同态加密公钥,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据。此外,在进行两方联合模型训练之前,所述模型训练过程还可以包括:经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。此外,经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数可以包括:经由第一成员设备使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及第二成员设备使用所述解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数。
[0008] 可选地,在上述方面的一个示例中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。此外,经由第二成员设备对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额可以包括:经由第二成员设备对所述第四特征数据份额和所述密文标签数据进行解密,得到解密后的第四特征数据份额和明文标签数据。
[0009] 可选地,在上述方面的一个示例中,所述密文标签数据可以是经过Rerandom处理后的密文标签数据。
[0010] 可选地,在上述方面的一个示例中,所述Rerandom处理可以采用基于所述同态加密公钥/私钥对的同态加密算法实现。
[0011] 可选地,在上述方面的一个示例中,在完成所述模型训练过程后,所述神经网络模型训练方法还可以包括:经由第一成员设备向第二成员设备发送所具有的第一部分模型结构的模型参数份额,以及经由第二成员设备对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。
[0012] 可选地,在上述方面的一个示例中,所述第一部分模型结构可以包括所述神经网络模型中的自输入层起的指定数目层模型结构。
[0013] 根据本说明书的实施例的另一方面,提供一种基于隐私保护的神经网络模型训练方法,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法由第一成员设备执行,所述神经网络模型训练方法包括:从第二成员设备接收第二成员设备所具有的数据;与第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,其中,所述神经网络模型的剩余模型结构的模型参数经由第二成员设备单独初始化;执行下述模型训练过程,直到满足模型训练结束条件:从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。
[0014] 可选地,在上述方面的一个示例中,所述神经网络模型训练方法还可以包括:对所述当前训练数据样本进行乱序处理。此外,对所述当前训练数据样本的第二特征数据进行份额分解处理可以包括:对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。
[0015] 可选地,在上述方面的一个示例中,第二成员设备具有同态加密公钥/私钥对。从第二成员设备接收第二成员设备所具有的数据可以包括:从第二成员设备接收密文数据和同态加密公钥,所述密文数据经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到。此外,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据。此外,与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数可以包括:与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,所述解密后的第四特征数据份额经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密得到,所述第三特征数据份额是随机数,所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。
[0016] 可选地,在上述方面的一个示例中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。
[0017] 可选地,在上述方面的一个示例中,在完成所述模型训练过程后,所述神经网络模型训练方法还可以包括:向第二成员设备发送所具有的第一部分模型结构的模型参数份额,其中,第一成员设备所具有的第一部分模型结构的模型参数份额被第二成员设备使用来与自身所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。
[0018] 根据本说明书的实施例的另一方面,提供一种基于隐私保护的神经网络模型训练方法,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述方法由第二成员设备执行,所述神经网络模型训练方法包括:向第一成员设备发送所具有的数据;与第一成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,并且单独初始化所述神经网络模型的剩余模型结构的模型参数;执行下述模型训练过程,直到满足模型训练结束条件:从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,所述当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。
[0019] 可选地,在上述方面的一个示例中,第二成员设备具有同态加密公钥/私钥对。所述神经网络模型训练方法还可以包括:使用同态加密公钥对所具有的数据进行同态加密得到密文数据。此外,向第一成员设备发送所具有的数据可以包括:向第一成员设备发送所述密文数据和所述同态加密公钥。此外,在进行两方联合模型训练之前,所述模型训练过程还可以包括:使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额经由第一成员设备使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。此外,与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数可以包括:与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述解密后的第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数。
[0020] 可选地,在上述方面的一个示例中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。此外,使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额可以包括:使用同态加密私钥对所述第四特征数据份额和密文标签数据进行解密,得到解密后的第四特征数据份额和明文标签数据。
[0021] 可选地,在上述方面的一个示例中,在完成所述模型训练过程后,所述神经网络模型训练方法还可以包括:从第一成员设备接收第一成员设备所具有的第一部分模型结构的模型参数份额;以及对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。
[0022] 根据本说明书的实施例的另一方面,提供一种基于隐私保护的神经网络模型训练装置,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述神经网络模型训练装置应用于第一成员设备,所述神经网络模型训练装置包括:数据接收单元,从第二成员设备接收第二成员设备所具有的数据;模型初始化单元,与第二成员设备共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,其中,所述神经网络模型的剩余模型结构的模型参数经由第二成员设备单独初始化;模型训练单元,执行下述模型训练过程,直到满足模型训练结束条件:从第一训练数据样本集中随机抽取出当前训练数据样本,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;对所述当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送所述第四特征数据份额以及对应标签数据;与第二成员设备一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额、所述第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。
[0023] 可选地,在上述方面的一个示例中,所述模型训练单元进一步对所述当前训练数据样本进行乱序处理,并且对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。
[0024] 可选地,在上述方面的一个示例中,第二成员设备具有同态加密公钥/私钥对。所述数据接收单元从第二成员设备接收密文数据和同态加密公钥,所述密文数据经由第二成员设备使用所述同态加密公钥对所具有的数据进行同态加密得到。此外,所述第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据。所述模型训练单元与第二成员设备的模型训练单元一起,使用所述当前训练数据样本的第一特征数据和所述第三特征数据份额以及解密后的第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,所述解密后的第四特征数据份额经由第二成员设备使用同态加密私钥对所述第四特征数据份额进行解密得到,所述第三特征数据份额是随机数,所述第四特征数据份额通过使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到。
[0025] 可选地,在上述方面的一个示例中,所述第二成员设备具有标签数据,所述第一成员设备向所述第二成员设备发送的对应标签数据是使用所述同态加密密钥加密后的密文标签数据。
[0026] 可选地,在上述方面的一个示例中,所述模型训练单元进一步对所述密文标签数据进行Rerandom处理,并且将经过Rerandom处理后的密文标签数据发送给第二成员设备。
[0027] 可选地,在上述方面的一个示例中,所述神经网络模型训练装置还可以包括:模型参数发送单元,在完成所述模型训练过程后,向第二成员设备发送所具有的第一部分模型结构的模型参数份额,其中,第一成员设备所具有的第一部分模型结构的模型参数份额被第二成员设备使用来与自身所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。
[0028] 根据本说明书的实施例的另一方面,提供一种基于隐私保护的神经网络模型训练装置,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据,所述神经网络模型训练装置应用于第二成员设备,所述神经网络模型训练装置包括:数据发送单元,向第一成员设备发送所具有的数据;模型初始化单元,与第一成员设备的模型初始化单元共同初始化所述第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,以及单独初始化所述神经网络模型的剩余模型结构的模型参数;模型训练单元,执行下述模型训练过程,直到满足模型训练结束条件:从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,所述当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;与第一成员设备一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有所述剩余模型结构的当前模型参数,其中,所述第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及所述剩余模型结构的模型计算经由第二成员设备单独实现。
[0029] 可选地,在上述方面的一个示例中,第二成员设备具有同态加密公钥/私钥对。所述神经网络模型训练装置还可以包括:加密单元,使用同态加密公钥对所具有的数据进行同态加密得到密文数据。此外,所述数据发送单元向第一成员设备发送所述密文数据和所述同态加密公钥。在进行两方联合模型训练之前,所述模型训练单元进一步:使用同态加密私钥对所述第四特征数据份额进行解密,得到解密后的第四特征数据份额,其中,所述第三特征数据份额是随机数,以及所述第四特征数据份额经由第一成员设备使用所述同态加密公钥对经过同态加密后的第二特征数据和所述第三特征数据份额进行同态加密减法得到,其中,所述模型训练单元与第一成员设备的模型训练单元一起,使用所述当前训练数据样本的第一特征数据、所述第三特征数据份额、所述解密后的第四特征数据份额以及所述对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数。
[0030] 可选地,在上述方面的一个示例中,所述神经网络模型训练装置还可以包括:模型参数接收单元,在完成所述模型训练过程后,从第一成员设备接收第一成员设备所具有的第一部分模型结构的模型参数份额;以及模型整合单元,对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到所述第一部分模型结构的模型参数。
[0031] 根据本说明书的实施例的另一方面,提供一种基于隐私保护的神经网络模型训练系统,包括:第一成员设备,包括如上所述的神经网络模型训练装置;以及第二成员设备,包括如上所述的神经网络模型训练装置,其中,第一成员设备具有第一特征数据和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据和所述神经网络模型,所述第一和第二特征数据按照垂直切分方式共同组成所述神经网络模型的训练数据样本的特征数据,第一或第二成员设备具有标签数据。
[0032] 根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求上所述的神经网络模型训练方法。
[0033] 根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的神经网络模型训练方法。

附图说明

[0034] 通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
[0035] 图1示出了神经网络模型的示例示意图。
[0036] 图2示出了基于两个成员设备的神经网络模型训练过程的示例示意图。
[0037] 图3示出了根据本说明书的实施例的基于隐私保护的两方模型训练系统的架构示意图。
[0038] 图4示出了根据本说明书的实施例的神经网络模型的一个分割示例的示意图。
[0039] 图5示出了根据本说明书的实施例的基于隐私保护的两方神经网络模型训练方法的一个示例的流程图。
[0040] 图6示出了根据本说明书的实施例的基于隐私保护的两方神经网络模型训练方法的另一示例的方框图。
[0041] 图7示出了根据本说明书的实施例的在第一成员设备侧实现的模型训练装置的方框图。
[0042] 图8示出了根据本说明书的实施例的在第一成员设备侧实现的模型训练单元的一个实现示例的方框图。
[0043] 图9示出了根据本说明书的实施例的在第二成员设备侧实现的模型训练装置的方框图。
[0044] 图10示出了根据本说明书的实施例的在第二成员设备侧实现的模型训练单元的一个实现示例的方框图。
[0045] 图11示出了根据本说明书的实施例的用于实现第一成员设备侧的神经网络模型训练过程的电子设备的示意图。
[0046] 图12示出了根据本说明书的实施例的用于实现第二成员设备侧的神经网络模型训练过程的电子设备的示意图。

具体实施方式

[0047] 现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
[0048] 如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
[0049] 在本说明书的实施例中,术语“成员设备”可以是部署或维护部分或全部神经网络模型结构的设备或设备方,比如,终端设备、服务器设备等。此外,成员设备还可以在本地收集本地数据。在本说明书的实施例中,术语“成员设备”与“数据拥有方”可以互换使用。所述服务器设备包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
[0050] 神经网络模型也可以称为人工神经网络模型,并且可以适用于各种人工智能应用场景,比如智能控制、智能预测、智能决策、智能搜索、智能推荐等业务应用场景。神经网络模型的示例可以包括但不限于:BP网络、径向基函数(RBF)网络、联想记忆(Hopfield)网络、卷积神经网络、图神经网络等。
[0051] 图1示出了神经网络模型100的一个示例的示意图。
[0052] 如图1所示,神经网络模型100包括输入层110、第一隐层120、第二隐层130、第三隐层140和输出层150。
[0053] 输入层110包括3个输入节点 、 和 以及偏置项 。三个输入节点 、和 分别接收来自三个不同数据拥有方的数据。第一隐层120包括2个隐层节点 和
以及偏置项 。隐层节点 和 分别与输入层110的3个输入节点 、 和 以及偏置
项 全连接。输入节点 与隐层节点 和 之间的权重分别为 和 。输入节点
与隐层节点 和 之间的权重分别为 和 。输入节点 与隐层节点 和
之间的权重分别为 和 。
[0054] 第二隐层130包括2个隐层节点 和 以及偏置项 。隐层节点 和 分别与第一隐层120的2个隐层节点 和 以及偏置项 全连接。隐层节点 与隐层节点 和
之间的权重分别为 和 。隐层节点 与隐层节点 和 之间的权重分别为
和 。
[0055] 第三隐层140包括2个隐层节点 和 以及偏置项 。隐层节点 和 分别与第二隐层130的2个隐层节点 和 以及偏置项 全连接。隐层节点 与隐层节点 和
之间的权重分别为 和 。隐层节点 与隐层节点 和 之间的权重分别为
和 。
[0056] 输出层150包括输出节点 。输出节点 与第三隐层140的2个隐层节点 和以及偏置项 全连接。隐层节点 与输出节点 之间的权重为 。隐层节点
与输出节点 之间的权重为 。
[0057] 在图1中示出的神经网络模型中,权重 、 、 、 、 、 、、 、 、 、 、 、 、 、 和 是神经网络模型的各
层模型参数。在进行前馈计算时,输入层110的输入节点 、 和 经过计算后得到第一隐层120的各个隐层节点 和 的输入 和 ,其中,
,以及
。然后,分别对 和 进行激活函数处
理,得到隐层节点 和 的输出 和 。按照上述方式逐层进行前馈计算,如图1中所示,最后得到神经网络模型的输出 。
[0058] 在本说明书的实施例中,神经网络模型所使用的训练样本数据可以包括数据拥有方在本地收集的本地数据。在神经网络模型应用于业务服务系统时,本地数据可以是业务服务提供方或运营方收集的业务数据。所收集的本地数据例如可以是图像数据、语音数据或文本数据。相应地,神经网络模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类或者业务决策等等。例如,本地数据可以是由医院收集的医疗数据,并且神经网络模型可以用于进行疾病检查或疾病诊断。或者,所收集的本地数据可以包括用户特征数据。相应地,神经网络模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
[0059] 在本说明书的实施例中,神经网络模型训练过程所使用的训练数据样本来自两个数据拥有方(第一和第二成员设备),每个数据拥有方具有训练数据样本的部分特征数据,并且仅仅只有一个数据拥有方具有标签数据。例如,假设每个数据样本包含d1+d2个特征,…, 和一个标签数据y;则第一数据拥有方具有前d1个特征数据 ,…, ,以及第二数据拥有方具有后d2个特征数据 ,…, 和标签数据y。
[0060] 在神经网络模型的一些应用场景下,存在多个数据拥有方分别在本地收集适用于神经网络模型训练的本地数据,例如,多个医院收集该医院的医疗诊断数据。为了提升所训练出的神经网络模型的性能,需要使用该多个数据拥有方本地收集的本地数据作为神经网络模型的训练样本数据来进行联合模型训练。例如,使用多个医院收集的医疗诊断数据来联合训练适用于医疗诊断的神经网络模型。然而,各个数据拥有方所收集的本地数据属于隐私数据,需要进行隐私保护,从而使得需要在确保各个数据拥有方的本地数据的数据隐私安全的情况下实现多方联合模型训练。
[0061] 图2示出了基于两个成员设备的神经网络模型训练过程200的示例示意图。在图2的示例中,包括第一成员设备10和第二成员设备20。第一成员设备10具有本地数据X1和标签数据,第二成员设备20具有本地数据X2,并且第一成员设备10和第二成员设备20都具有神经网络模型W的完整模型结构。
[0062] 如图2所示,在210,第一成员设备10和第二成员设备20初始化神经网络模型W的模型参数。在完成神经网络模型W的初始化后,第一成员设备10和第二成员设备20分别具有神经网络模型W的初始模型参数。
[0063] 随后,循环执行220到260的操作,直到满足模型训练结束条件。在一个示例中,模型训练结束条件例如可以是达到预定训练次数,或者模型预测差值在预定差值范围内。
[0064] 具体地,在220,第一成员设备10和第二成员设备20从训练数据样本集中选择当前训练数据样本,并且使用所选择的当前训练数据样本中的各自本地数据来执行两方安全计算得到当前模型预测值。两方安全计算的示例可以包括但不限于秘密分享、同态加密、混淆电路等。在该两方安全计算中,模型预测处理的整个计算过程都进行隐私保护,各个成员设备不会向对端成员设备泄露训练样本和中间运算结果。
[0065] 在230,在第一成员设备10处,根据当前模型预测值和标签数据来确定当前模型预测差值。然后,在240,将所确定出的当前模型预测差值发送给第二成员设备20。
[0066] 在250,在第一成员设备10和第二成员设备20处,分别基于当前模型预测差值来在本地执行模型更新,由此完成当前模型训练处理。随后,在260,判断是否满足模型训练结束条件。如果不满足训练结束条件,则返回到220,重新执行下一模型训练处理。如果满足训练结束条件,则输出模型训练结果。
[0067] 在上述神经网络模型训练方案中,各个成员设备侧的整个模型预测计算过程都执行两方安全计算,而两方安全计算的计算过程复杂,从而使得神经网络模型的模型训练具有较高的复杂度和较大的计算量,进而导致模型训练效率较差。
[0068] 为了解决上述问题,提出了一种基于两个成员设备的神经网络模型训练方案。该神经网络模型训练方案包括第一成员设备和第二成员设备。第一成员设备具有第一特征数据(例如,特征数据 ,…, )和神经网络模型的第一部分模型结构,第二成员设备具有第二特征数据(例如,特征数据 ,…, )和神经网络模型的完整模型结构。第一和第二特征数据按照垂直切分方式组成神经网络模型的训练数据样本的特征数据,并且标签数据仅仅位于第一或第二成员设备处。在进行模型训练之前,第一和第二成员设备共同初始化第一部分模型结构的模型参数,并且第一和第二成员设备分别具有第一部分模型结构的初始模型参数份额。此外,第二成员设备单独初始化神经网络模型的剩余模型结构的模型参数。然后,第二成员设备将所具有的数据共享给第一成员设备,从而使得第一成员设备具有完整训练数据样本集。在每次执行模型训练时,第一成员设备采取随机抽取和份额分解处理来根据完整训练数据样本集得到各个成员设备执行两方联合模型训练所使用的训练数据;并使用各自的训练数据来进行两方联合模型训练。此外,在两方联合模型训练中,第一和第二成员设备使用各自的训练数据执行多方安全计算来得到第一部分模型结构的模型计算结果,并且第二成员设备使用自己的训练数据和第一部分模型结构的模型计算结果来单独实现剩余模型结构的模型计算。按照上述神经网络模型训练方案,通过将神经网络模型训练的部分中间计算结果暴露给第二成员设备,使得第二成员设备在单侧实现针对剩余模型结构的本地计算,从而降低模型训练过程的复杂度和计算量,由此提升模型训练效率,同时由于在每次训练过程中通过第一成员设备随机选取当前训练所用的训练样本,从而第一成员设备能够隐藏提供给第二成员设备的数据样本的数据样本ID,使得第二成员设备不能将该部分中间计算结果与数据样本对应起来,进而无法反推出当前训练所使用的对端数据拥有方的训练样本,由此确保各个成员设备的本地数据的数据隐私保护。
[0069] 下面参照附图描述根据本说明书的实施例的基于隐私保护的神经网络模型训练方法、装置和系统。
[0070] 图3示出了根据本说明书的实施例的基于隐私保护的两方模型训练系统300的架构示意图。
[0071] 如图3所示,两方模型训练系统300包括第一成员设备10和第二成员设备20。在一些实施例中,第一成员设备10以及第二成员设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
[0072] 第一成员设备10具有第一特征数据(也可以称为第一数据)。第一特征数据例如可以是第一成员设备10在本地收集的本地隐私数据,并且具有神经网络模型训练所用的训练数据样本的第一特征数据,例如,特征数据 ,…, 。例如,医院A收集到的病例数据{年龄,病例症状特征1,……, 病例症状特征m}。
[0073] 第二成员设备20具有第二特征数据(也可以称为第二数据)。第二特征数据例如可以是第二成员设备20在本地收集的本地隐私数据,并且具有神经网络模型训练所用的训练数据样本的第二特征数据,例如,特征数据 ,…, 。例如,医院B收集到的病例数据{职业,体重,病例症状特征m+1,……, 病例症状特征n},其中,n>m。第一成员设备10处的第一特征数据和第二成员设备20处的第二特征数据共同沟通训练样本数据的所有特征维度数据。此外,在第一成员设备10或第二成员设备20处还可以具有标签数据。要说明的是,标签数据仅仅位于第一和第二成员设备中的一个成员设备处。
[0074] 在一些实施例中,第一和第二成员设备的本地隐私数据例如可以包括但不限于用户特征数据、业务处理数据、金融交易数据、商品交易数据、医疗健康数据等等。所述本地隐私数据例如可以应用于神经网络模型来进行模型预测、模型训练以及其它合适的多方数据联合处理。此外,第一特征数据和第二特征数据共同组成神经网络模型训练所用的训练数据样本的所有特征数据。
[0075] 此外,第二成员设备20处部署或维护待训练的神经网络模型W的完整(全部)模型结构。例如,神经网络模型W可以由第二成员设备20创建。第一成员设备10处部署或维护神经网络模型W的第一部分模型结构 。这里,第一部分模型结构 可以是具有规定层的部分模型结构。例如,第一部分模型结构 可以由第二成员设备20或者第三方指定,并发送给第一成员设备10来进行维护。
[0076] 在一些实施例中,第一部分模型结构可以包括神经网络模型中的自输入层起的指定数目层模型结构。图4示出了根据本说明书的实施例的神经网络模型的一个分割示例的示意图。如图4所示,第一部分模型结构包括从输入层110到第二隐层130的模型结构。
[0077] 在一些实施例中,第一成员设备10和第二成员设备20可以是参与业务处理的业务参与方,或者是为业务参与方提供数据的数据拥有方。例如,第一成员设备10和第二成员设备20例如可以是不同金融机构或医疗机构的私有数据存储服务器或智能终端设备。
[0078] 第一成员设备10具有模型训练装置310,以及第二成员设备20具有模型训练装置320。在一些实施例中,第一成员设备10可以与第二成员设备20通过网络30相互通信,由此模型训练装置310可以与模型训练装置320协同来使用各个成员设备处的本地数据进行神经网络模型训练。在本说明书的其它实施例中,第一成员10也可以与第二成员设备20直接可通信地连接来相互通信。
[0079] 在一些实施例中,网络30可以是有线网络或无线网络中的任意一种或多种。网络30的示例可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。
[0080] 图5示出了根据本说明书的实施例的基于隐私保护的两方神经网络模型训练方法500的一个示例的流程图。在图5示出的示例中,第一成员设备10具有第一特征数据,…, 以及神经网络模型的第一部分模型结构。第二成员设备20具有第二特征数据,…, 和标签数据 ,并且具有神经网络模型的全部模型结构。
[0081] 如图5所示,在510,第一成员设备10从第二成员设备20接收第二成员设备20所具有的数据,由此第一成员设备10得到神经网络模型的全部训练数据样本,即,第一训练数据样本集。第一训练数据样本集包括第一特征数据、第二特征数据和标签数据。在图5的示例中,第二成员设备20向第一成员设备10发送第二特征数据和标签数据。在另一示例中,如果第一成员设备10具有标签数据,而第二成员设备20不具有标签数据,则第二成员设备20仅仅向第一成员设备10发送第二特征数据。
[0082] 在520,执行神经网络模型初始化过程。具体地,第一成员设备10和第二成员设备20共同初始化第一部分模型结构的模型参数,由此第一成员设备10和第二成员设备20分别具有第一部分模型结构的初始模型参数份额。此外,第二成员设备20单独初始化神经网络模型的剩余模型结构的模型参数。
[0083] 随后,循环执行530到570的操作,直到满足模型训练结束条件。在一些实施例中,模型训练结束条件可以是达到预定循环次数。在另一些实施例中,模型训练结束条件可以是神经网络模型的模型预测差值在预定差值范围内,即,模型收敛。
[0084] 具体地,在530,第一成员设备10从第一训练数据样本集中随机抽取出当前训练数据样本。在一个示例中,所收取的当前训练数据样本可以是批大小(Batch)个训练数据样本。Batch的取值可以预先设置,例如,根据神经网络模型的训练要求和/或训练数据样本集的实际情况来设置。
[0085] 在540,第一成员设备10对所抽取出的当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额。即,针对当前训练数据样本的每个训练数据样本的第二特征数据都进行份额分解处理。例如,对于训练数据样本i的第二特征数据,… , ,将其拆分 为第三 特征数 据 ,… ,,以及第四特征数据
,…, 。第三特征数据可以是在第一成
员设备处生成的随机数,并且第四特征数据通过从第二特征数据中减去第三特征数据得到。在本说明书中,份额分解处理也可以称为份额拆分处理。
[0086] 在如上得到第三和第四特征数据后,在550,第一成员设备10向第二成员设备20发送第四特征数据份额以及对应标签数据(即,所抽取的数据样本的标签数据)。
[0087] 在560,第一成员设备10使用当前训练数据样本的第一特征数据和第三特征数据份额(作为两方联合模型训练时的本地数据)以及第二成员设备20使用第四特征数据份额和所接收的对应标签数据(作为两方联合模型训练时的本地数据)来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,第一成员设备10和第二成员设备20分别具有第一部分模型结构的当前模型参数份额,以及第二成员设备20具有剩余模型结构的当前模型参数。
[0088] 在每次进行两方联合模型训练时,第一部分模型结构的模型计算经由第一成员设备10和第二成员设备20执行多方安全计算实现。例如,在正向传播计算时,第一成员设备10使用当前训练数据样本的第一特征数据和第三特征数据份额,以及第二成员设备20使用第四特征数据份额执行多方安全计算得到第一部分模型结构的模型计算,并且将第一部分模型结构的模型计算结果提供给第二成员设备20。在反向传播计算时,针对第一部分模型结构的多方安全计算结果(更新后的共同初始化参数)对各个成员设备均保密,各个成员设备各自拿到两方安全计算结果的一个结果份额。神经网络模型的剩余模型结构的模型计算由第二成员设备20单独执行。例如,在正向传播计算时,第二成员设备20使用第四特征数据份额和第一部分模型结构的模型计算结果在本地确定剩余模型结构的模型计算结果,由此得到当前模型预测值。在反向传播计算时,第二成员设备20单独执行剩余模型结构的模型参数更新。
[0089] 在570,判断是否满足模型训练结束条件。如果满足模型训练结束条件,则模型训练结束。如果不满足模型训练结束条件,则返回到530,重新执行下一模型训练过程。
[0090] 利用图5中示出的神经网络模型训练方法,通过将神经网络模型训练的部分中间计算结果暴露给第二成员设备,由第二成员设备在单侧实现针对部分神经网络模型结构的本地计算,从而降低模型训练过程的复杂度和计算量,由此提升模型训练效率。同时,由于在每次训练过程中通过第一成员设备随机选取当前训练所用的训练样本,从而第一成员设备能够隐藏提供给第二成员设备的数据样本的数据样本ID,使得即使在将部分中间计算结果暴露给第二成员设备的情况下,第二成员设备也不能将该部分中间计算结果与数据样本对应起来,进而无法反推出当前训练所使用的对端数据拥有方的训练样本,由此确保各个成员设备的本地数据的数据隐私保护。
[0091] 在本说明书的一些其它实施例中,在图3中示出的神经网络模型训练方法的份额分解处理(540的操作)之前,第一成员设备还可以对当前训练数据样本进行乱序处理。随后,第一成员设备对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。
[0092] 利用上述神经网络模型训练方法,通过在第一成员设备执行份额分解处理之前,对所抽取的当前训练数据样本再次进行乱序处理,从而使得第二成员设备更加难以根据所得到的中间计算结果反推出当前训练过程所使用的对端数据拥有方的训练数据样本。
[0093] 在本说明书的一些其它实施例中,在图5中示出的神经网络模型训练方法的模型训练过程完成后,第一成员设备还可以向第二成员设备发送所具有的第一部分模型结构的模型参数份额。然后,第二成员设备对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到第一部分模型结构的模型参数,由此第二成员设备可以得到经由两方联合模型训练后得到的完整模型参数。
[0094] 图6示出了根据本说明书的实施例的基于隐私保护的两方神经网络模型训练方法的另一示例的方框图。图6中示出的示例是针对图5中示出的示例的修改。
[0095] 如图6所示,在601,在第二成员设备20处,生成同态加密公钥/私钥对。在另一示例中,第二成员设备20所具有的同态加密公钥/私钥对也可以是预先生成并存储在第二成员设备20处,无需每次实时生成。
[0096] 在602,第二成员设备20使用同态加密公钥对所具有的数据进行同态加密得到密文数据。例如,在第一成员设备10具有标签数据的情况下,第二成员设备20仅仅对第二特征数据 ,…, 进行同态加密,所得到的密文数据仅仅包括经过同态加密后的第二特征数据 ,…, 。在第二成员设备20具有标签数据的情况
下,第二成员设备20对第二特征数据 ,…, 和标签数据 进行同态加
密,所得到的密文数据包括经过同态加密后的第二特征数据 ,…,
和经过同态加密后的标签数据(密文标签数据) 。
[0097] 在603,第一成员设备从第二成员设备接收所述密文数据和同态加密公钥,由此得到第一训练数据样本集。在第一成员设备10具有标签数据的情况下,第一训练数据样本集中的训练数据样本包括第一特征数据 ,…, 、经过同态加密后的第二特征数据,…, 以及标签数据。在第一成员设备10具有标签数据的情况
下,所述标签数据是明文标签数据。在另一示例中,在第二成员设备20具有标签数据的情况下,所述标签数据是密文标签数据 。
[0098] 在604,执行神经网络模型初始化过程。具体地,第一成员设备10和第二成员设备20共同初始化第一部分模型结构的模型参数,由此第一成员设备10和第二成员设备20分别具有第一部分模型结构的初始模型参数份额。此外,第二成员设备20单独初始化神经网络模型的剩余模型结构的模型参数。
[0099] 随后,循环执行605到610的操作,直到满足模型训练结束条件。在一些实施例中,模型训练结束条件可以是达到预定循环次数。在另一些实施例中,模型训练结束条件可以是神经网络模型的模型预测差值在预定差值范围内,即,模型收敛。
[0100] 具体地,在605,第一成员设备10从第一训练数据样本集中随机抽取出当前训练数据样本。在一个示例中,所收取的当前训练数据样本可以是Batch个训练数据样本。同样,Batch的取值可以预先设置,例如,根据神经网络模型的训练要求和/或训练数据样本集的实际情况来设置。
[0101] 在606,第一成员设备10对所抽取出的当前训练数据样本的经过同态加密后的第二特征数据进行份额分解处理,得到第三和第四特征数据份额。即,针对当前训练数据样本中的每个训练数据样本的经过同态加密后的第二特征数据都进行份额分解处理(份额拆分处理)。例如,对于训练数据样本i的经过同态加密后的第二特征数据 ,…,,将其拆分为第三特征数据份额 ,…, ,
以及第四特征数据份额 ,… ,
。第三特征数据份额可以是在第
一成员设备10处生成的随机数,并且第四特征数据份额经由第一成员设备10使用同态加密公钥对经过同态加密后的第二特征数据和第三特征数据份额进行同态加密减法得到。
[0102] 在如上得到第三和第四特征数据份额后,在607,第一成员设备10向第二成员设备20发送第四特征数据份额以及对应标签数据。这里,对应标签数据是密文标签数据。
[0103] 在一些实施例中,在第一成员设备10向第二成员设备20发送密文标签数据之前,第一成员设备10还可以对密文标签数据进行Rerandom处理,然后,将经过Rerandom处理后的密文标签数据发送给第二成员设备20。在本说明书中,Rerandom处理是对密文进行的一种处理。在对密文A进行Rerandom处理后得到新的密文B,新密文A和旧密文B所对应的明文相同。在一些实施例中,Rerandom处理可以采用基于上述同态加密公钥/私钥对的同态加密算法实现。例如,使用同态加密公钥加密0生成一个新的0的密文E(0),然后利用同态性质,将新的0的密文E(0)与密文E(m)进行同态加法得到密文E(m+0),由此实现Rerandom处理。
[0104] 在608,第二成员设备20使用同态加密私钥对第四特征数据份额进行解密,得到解密后的第四特征数据份额。在对应标签数据是密文标签数据的情况下,第二成员设备20还使用同态加密私钥对密文标签数据进行解密,得到明文标签数据。
[0105] 在609,第一成员设备10使用当前训练数据样本的第一特征数据和第三特征数据份额(作为两方联合模型训练时的本地数据)以及第二成员设备20使用解密后的第四特征数据份额和明文标签数据(作为两方联合模型训练时的本地数据)来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,其中,第一成员设备10和第二成员设备20分别具有第一部分模型结构的当前模型参数份额,以及第二成员设备20具有剩余模型结构的当前模型参数。
[0106] 在每次进行两方联合模型训练时,第一部分模型结构的模型计算经由第一成员设备10和第二成员设备20执行多方安全计算实现。例如,在正向传播计算时,第一成员设备10使用当前训练数据样本的第一特征数据和第三特征数据份额,以及第二成员设备20使用解密后的第四特征数据份额执行多方安全计算得到第一部分模型结构的模型计算,并且将第一部分模型结构的模型计算结果提供给第二成员设备20。在反向传播计算时,针对第一部分模型结构的多方安全计算结果(更新后的共同初始化参数)对各个成员设备均保密,各个成员设备各自拿到两方安全计算结果的一个结果份额。神经网络模型的剩余模型结构的模型计算由第二成员设备20单独执行。例如,在正向传播计算时,第二成员设备20使用解密后的第四特征数据份额和第一部分模型结构的模型计算结果在本地确定剩余模型结构的模型计算结果,由此得到当前模型预测值。在反向传播计算时,第二成员设备20单独执行剩余模型结构的模型参数更新。
[0107] 在610,判断是否满足模型训练结束条件。如果满足模型训练结束条件,则模型训练结束。如果不满足模型训练结束条件,则返回到605,重新执行下一模型训练过程。
[0108] 利用图6中示出的神经网络模型训练方法,通过在对第二成员设备20所具有的数据进行同态加密后发送给第一成员设备10来进行两方神经网络模型联合训练,可以进一步提升神经网络模型训练时的数据隐私安全保护。
[0109] 图7示出了根据本说明书的实施例的在第一成员设备侧实现的模型训练装置700的方框图。如图7所述,模型训练装置700包括数据接收单元710、模型初始化单元720和模型训练单元730。
[0110] 数据接收单元710被配置为从第二成员设备接收第二成员设备所具有的数据。数据接收单元710的操作可以参考上面参照图5的510描述的操作。
[0111] 模型初始化单元720被配置为与第二成员设备共同初始化第一部分模型结构的模型参数,第一和第二成员设备分别具有第一部分模型结构的模型参数份额。此外,神经网络模型的剩余模型结构的模型参数由第二成员设备单独初始化。模型初始化单元720的操作可以参考上面参照图5的520描述的操作。
[0112] 模型训练单元730被配置为与第二成员设备20一起执行模型训练过程,得到训练出的神经网络模型的模型参数。
[0113] 图8示出了根据本说明书的实施例的在第一成员设备侧实现的模型训练单元730的一个实现示例的方框图。如图8所示,模型训练单元730包括数据样本抽取模块731、数据份额分解模块733、数据发送模块735和联合模型训练模块737。数据样本抽取模块731、数据份额分解模块733、数据发送模块735和联合模型训练模块737循环执行操作,直到满足模型训练结束条件。
[0114] 具体地,数据样本抽取模块731被配置为从第一训练数据样本集中随机抽取出当前训练数据样本。数据样本抽取模块731的操作可以参考上面参照图5描述的530的操作。
[0115] 数据份额分解模块733被配置为对当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额。数据份额分解模块733的操作可以参考上面参照图5的540描述的操作。
[0116] 数据发送模块735被配置为向第二成员设备发送第四特征数据份额以及对应标签数据。数据发送模块735的操作可以参考上面参照图5的550描述的操作。
[0117] 联合模型训练模块737被配置为与第二成员设备一起,使用当前训练数据样本的第一特征数据和第三特征数据份额、第四特征数据份额和所述对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,其中,第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及剩余模型结构的模型计算经由第二成员设备单独实现。联合模型训练模块737的操作可以参考上面参照图5的560描述的操作。
[0118] 在一些实施例中,模型训练单元730还可以包括乱序处理模块(未示出)。所述乱序处理模块被配置为对当前训练数据样本进行乱序处理。然后,数据份额分解模块733对经过乱序处理后的当前训练数据样本的第二特征数据进行份额分解处理。
[0119] 在一些实施例中,第二成员设备具有同态加密公钥/私钥对。数据接收单元710被配置为从第二成员设备接收密文数据和同态加密公钥。所述密文数据经由第二成员设备使用同态加密公钥对所具有的数据进行同态加密得到,并且第一训练数据样本集中的训练数据样本包括第一特征数据、经过同态加密后的第二特征数据以及标签数据。相应地,模型训练单元737与第二成员设备的模型训练单元一起,使用当前训练数据样本的第一特征数据、第三特征数据份额、解密后的第四特征数据份额以及对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数。其中,解密后的第四特征数据份额经由第二成员设备使用同态加密私钥对第四特征数据份额进行解密得到。这里,第三特征数据份额是随机数,并且第四特征数据份额通过使用同态加密公钥对经过同态加密后的第二特征数据和第三特征数据份额进行同态加密减法得到。
[0120] 在一些实施例中,在第二成员设备具有标签数据并且具有同态加密公钥/私钥对的情况下,数据发送模块735向第二成员设备发送的对应标签数据是使用同态加密密钥加密后的密文标签数据。
[0121] 此外,在一些实施例中,模型训练单元730还可以包括Rerandom处理模块(未示出)。Rerandom处理模块被配置为对密文标签数据进行Rerandom处理。然后,数据发送模块735向第二成员设备20发送经过Rerandom处理后的密文标签数据。
[0122] 此外,在一些实施例中,模型训练装置700还可以包括模型参数发送单元(未示出)。在完成模型训练过程后,所述模型参数发送单元向第二成员设备发送所具有的第一部分模型结构的模型参数份额。然后,第二成员设备20使用两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到第一部分模型结构的模型参数。
[0123] 图9示出了根据本说明书的实施例的在第二成员设备侧实现的模型训练装置900的方框图。如图9所示,模型训练装置900包括数据发送单元910、模型初始化单元920和模型训练单元930。
[0124] 数据发送单元910被配置为向第一成员设备发送所具有的数据。数据发送单元910的操作可以参考上面参照图5的510描述的操作。
[0125] 模型初始化单元920被配置为与第一成员设备的模型初始化单元共同初始化第一部分模型结构的模型参数,第一和第二成员设备分别具有第一部分模型结构的模型参数份额,以及单独初始化神经网络模型的剩余模型结构的模型参数。模型初始化单元920的操作可以参考上面参照图5的520描述的操作。
[0126] 模型训练单元930被配置为与第一成员设备10一起执行模型训练过程,得到训练出的神经网络模型的模型参数。
[0127] 图10示出了根据本说明书的实施例的在第二成员设备侧实现的模型训练单元930的一个实现示例的方框图。如图10所示,模型训练单元930包括数据份额接收模块931和联合模型训练模块933。
[0128] 数据份额接收模块931被配置为从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,所述当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,所述第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据。
[0129] 联合模型训练模块933被配置为与第一成员设备一起,使用当前训练数据样本的第一特征数据、第三特征数据份额、第四特征数据份额以及对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有剩余模型结构的当前模型参数,其中,第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及剩余模型结构的模型计算经由第二成员设备单独实现。
[0130] 可选地,在一个示例中,第二成员设备20具有同态加密公钥/私钥对。模型训练装置900还可以包括加密单元(未示出)。所述加密单元被配置为使用同态加密公钥对所具有的数据进行同态加密得到密文数据。相应地,数据发送单元910被配置为向第一成员设备发送所述密文数据和同态加密公钥。
[0131] 此外,模型训练单元930还可以包括数据解密模块(未示出)。所述数据解密模块被配置为在进行两方联合模型训练之前,使用同态加密私钥对第四特征数据份额进行解密,得到解密后的第四特征数据份额。其中,第三特征数据份额是随机数,以及第四特征数据份额经由第一成员设备使用同态加密公钥对经过同态加密后的第二特征数据和第三特征数据份额进行同态加密减法得到。相应地,联合模型训练模块933与第一成员设备的模型训练单元一起,使用当前训练数据样本的第一特征数据、第三特征数据份额、解密后的第四特征数据份额以及对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数。
[0132] 此外,可选地,在一个示例中,模型训练装置900还可以包括模型参数接收单元(未示出)和模型整合单元(未示出)。模型参数接收单元被配置为在完成模型训练过程后,从第一成员设备接收第一成员设备所具有的第一部分模型结构的模型参数份额。然后,模型整合单元对两个成员设备所具有的第一部分模型结构的模型参数份额进行整合,得到第一部分模型结构的模型参数。
[0133] 如上参照图1到图10,对根据本说明书实施例的基于隐私保护的神经网络模型训练方法和模型训练装置进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
[0134] 图11示出了根据本说明书的实施例的用于实现第一成员设备侧的神经网络模型训练过程的电子设备1100的示意图。如图11所示,电子设备1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器
1110执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
[0135] 在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1110:从第二成员设备接收第二成员设备所具有的数据;与第二成员设备共同初始化第一部分模型结构的模型参数,第一和第二成员设备分别具有第一部分模型结构的模型参数份额,其中,神经网络模型的剩余模型结构的模型参数经由第二成员设备单独初始化;执行下述模型训练过程,直到满足模型训练结束条件:从第一训练数据样本集中随机抽取出当前训练数据样本,第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;对当前训练数据样本的第二特征数据进行份额分解处理,得到第三和第四特征数据份额,并向第二成员设备发送第四特征数据份额以及对应标签数据;与第二成员设备一起,使用当前训练数据样本的第一特征数据、第三特征数据份额、第四特征数据份额和对应标签数据来进行两方联合模型训练,得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有剩余模型结构的当前模型参数,其中,第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及剩余模型结构的模型计算经由第二成员设备单独实现。
[0136] 应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本说明书的各个实施例中以上结合图1-10描述的各种操作和功能。
[0137] 图12示出了根据本说明书的实施例的用于实现第二成员设备侧的神经网络模型训练过程的电子设备1200的示意图。如图12所示,电子设备1200可以包括至少一个处理器1210、存储器(例如,非易失性存储器)1220、内存1230和通信接口1240,并且至少一个处理器1210、存储器1220、内存1230和通信接口1240经由总线1260连接在一起。至少一个处理器
1210执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
[0138] 在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1210:向第一成员设备发送所具有的数据;与第一成员设备共同初始化第一部分模型结构的模型参数,第一和第二成员设备分别具有所述第一部分模型结构的模型参数份额,并且单独初始化神经网络模型的剩余模型结构的模型参数;执行下述模型训练过程,直到满足模型训练结束条件:从第一成员设备接收第四特征数据份额以及对应标签数据,第三和第四特征数据份额经由第一成员设备对当前训练数据样本的第二特征数据进行份额分解处理得到,当前训练数据样本经由第一成员设备从第一训练数据样本集中随机抽取出,第一训练数据样本集中的训练数据样本包括第一特征数据、第二特征数据以及标签数据;与第一成员设备一起,使用当前训练数据样本的第一特征数据、第三特征数据份额、第四特征数据份额以及对应标签数据来进行两方联合模型训练得到第一和第二成员设备处的当前模型参数,第一和第二成员设备分别具有第一部分模型结构的当前模型参数份额,第二成员设备具有剩余模型结构的当前模型参数,其中,第一部分模型结构的模型计算经由第一和第二成员设备执行多方安全计算实现,以及剩余模型结构的模型计算经由第二成员设备单独实现。
[0139] 应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1210进行本说明书的各个实施例中以上结合图1-10描述的各种操作和功能。
[0140] 根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-10描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
[0141] 在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
[0142] 可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
[0143] 本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
[0144] 需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0145] 以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0146] 上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
[0147] 本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。