本说明书一个或多个实施例涉及机器学习和在线预测领域,尤其涉及一种多方参与的在线预测方法、系统和装置。
背景技术:
1、目前,随着人工智能技术的发展,机器学习神经网络已逐渐应用于众多领域。例如,风险评估、语音识别、图像识别和自然语言处理等。在不同应用场景下,为实现更好的模型性能,往往需要更多的训练数据。在不同的领域中,不同的企业或机构拥有不同的数据样本,如果将这些数据进行联合训练,将极大提升模型性能,并带来显著的经济效益。但是,各方的原始的训练数据中包含大量的用户隐私和数据价值,而泄露这些数据则会导致用户隐私或数据价值的泄露。因此,在模型训练中,还需要保护各方训练数据的用户隐私和数据价值,一些企业或机构采用了拆分学习方案来对不同训练方的训练数据的用户隐私和数据价值进行保护。但是,现有的通过拆分学习方案训练的模型,存在不适于在线预测的场景的问题。
2、因此,需要一种新的在线预测方法。
技术实现思路
1、本说明书中的实施例旨在提供一种多方参与的模型训练方法、系统和装置,通过该方法,可以使得在线预测场景下可以对单个样本进行预测,并保护多个参与方的数据价值不被流失。
2、根据第一方面,提供了一种多方参与的在线预测方法,包括:
3、第一方将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量,将其发送到第二方;
4、第二方将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;
5、第二方构建n个加密向量的向量集合,并将该向量集合发送给第一方;所述向量集合包括n-1个混淆向量和所述目标向量,第二方记录所述目标向量在所述向量集合中的排列位置;
6、第一方对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量;通过第一公钥对n个分类向量进行同态加密后发送给第二方;
7、第二方根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,将其发送给第一方;
8、第一方对所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
9、在一种可能的实施方式中,所述第一特征提取网络、第二特征提取网络、以及分类网络通过预训练得到;所述预训练包括:
10、第一方将多个对象对应的多个第三特征,输入第一特征提取网络,通过第一公钥对输出结果进行同态加密,得到多个第三加密向量,将其发送到所述第二方;
11、第二方将所述多个业务对象对应的多个第四特征输入第二特征提取网络,根据第一公钥对输出结果进行同态加密,得到多个第四加密向量,针对所述第三加密向量和所述第四加密向量进行同态计算,得到多个融合加密向量;
12、所述第二方对所述多个融合加密向量进行打乱,得到乱序加密向量集合;
13、所述第一方和第二方,基于所述乱序加密向量,更新所述第一特征提取网络、第二特征提取网络以及分类网络。
14、在一种可能的实施方式中,第二方根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,包括:
15、第二方根据所述排列位置,从n个加密的分类向量中确定出目标向量对应的加密的分类向量,并输入分类网络的第二部分,得到所述目标向量对应的加密预测结果。
16、在一种可能的实施方式中,,第二方根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,包括:
17、第二方将所述n个加密的分类向量,输入分类网络的第二部分,得到n个加密的分类向量对应的n个加密预测结果,根据所述排列位置,从n个加密预测结果确定出目标向量对应的加密预测结果.
18、在一种可能的实施方式中,所述n-1个混淆向量,选自所述多个融合加密向量。
19、在一种可能的实施方式中,所述n-1个混淆向量,通过利用所述第一公钥对n-1个随机向量进行加密而得到。
20、根据第二方面,提供一种多方参与的在线预测方法,所述方法由多方中的第一方执行,所述方法包括:
21、将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量,将其发送到第二方;
22、接收第二方发送的向量集合,所述向量集合由第二方通过以下步骤得到:将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;构建n个加密向量的向量集合,所述向量集合包括n-1个混淆向量和所述目标向量,记录所述目标向量在所述向量集合中的排列位置;
23、对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量;通过第一公钥对n个分类向量进行同态加密后发送给第二方;
24、接收第二方发送的加密预测结果,所述加密预测结果由第二方根据所述排列位置,利用分类网络的第二部分而确定;
25、对所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
26、根据第三方面,提供一种多方参与的在线预测方法,所述方法由多方中的第二方执行,所述方法包括:
27、接收第一方发送的第一加密向量,所述第一加密向量由第一方通过以下步骤得到:将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量;
28、将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;
29、构建n个加密向量的向量集合,并将该向量集合发送给第一方;所述向量集合包括n-1个混淆向量和所述目标向量,记录所述目标向量在所述向量集合中的排列位置;
30、接收第一方发送的同态加密后的n个分类向量,同态加密后的n个分类向量由第一方通过以下步骤得到:对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量,通过第一公钥对n个分类向量进行同态加密;
31、根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,将其发送给第一方,用于根据所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
32、根据第四方面,提供一种多方参与的模型训练系统,包括第一方和第二方,其中:
33、第一方,配置为,将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量,将其发送到第二方;
34、第二方,配置为,将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;
35、所述第二方,还配置为,构建n个加密向量的向量集合,并将该向量集合发送给第一方;所述向量集合包括n-1个混淆向量和所述目标向量,第二方记录所述目标向量在所述向量集合中的排列位置;
36、所述第一方,还配置为,对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量;通过第一公钥对n个分类向量进行同态加密后发送给第二方;
37、所述第二方,还配置为,根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,将其发送给第一方;
38、所述第一方,还配置为,对所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
39、根据第五方面,提供一种多方参与的模型训练装置,部署于多方中的第一方,所述装置包括:
40、发送单元,配置为,将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量,将其发送到第二方;
41、第一接收单元,配置为,接收第二方发送的向量集合,所述向量集合由第二方通过以下步骤得到:将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;构建n个加密向量的向量集合,所述向量集合包括n-1个混淆向量和所述目标向量,记录所述目标向量在所述向量集合中的排列位置;
42、处理单元,配置为,对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量;通过第一公钥对n个分类向量进行同态加密后发送给第二方;
43、第二接收单元,配置为,接收第二方发送的加密预测结果,所述加密预测结果由第二方根据所述排列位置,利用分类网络的第二部分而确定;
44、预测单元,配置为,对所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
45、根据第六方面,提供一种多方参与的模型训练装置,部署于多方中的第二方,所述装置包括:
46、第一接收单元,配置为,接收第一方发送的第一加密向量,所述第一加密向量由第一方通过以下步骤得到:将目标对象的第一特征,输入第一特征提取网络,并通过第一公钥对输出结果进行同态加密,得到第一加密向量;
47、第一处理单元,配置为,将所述目标对象的第二特征输入第二特征提取网络,根据所述第一公钥对输出结果进行同态加密,得到第二加密向量,并针对所述第一加密向量和所述第二加密向量进行同态计算,得到目标向量;
48、第二处理单元,配置为,构建n个加密向量的向量集合,并将该向量集合发送给第一方;所述向量集合包括n-1个混淆向量和所述目标向量,记录所述目标向量在所述向量集合中的排列位置;
49、第二接收单元,配置为,接收第一方发送的同态加密后的n个分类向量,同态加密后的n个分类向量由第一方通过以下步骤得到:对所述向量集合中的各个加密向量解密后,分别输入分类网络的第一部分,得到n个分类向量,通过第一公钥对n个分类向量进行同态加密;
50、发送单元,配置为,根据所述排列位置,利用分类网络的第二部分,确定出所述目标向量对应的加密预测结果,将其发送给第一方,用于根据所述加密预测结果进行解密,得到目标对象对应的明文预测结果。
51、根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一、第二和第三方面所述的方法。
52、根据第八方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一、第二和第三方面所述的方法。
53、利用以上各个方面中的方法、装置、计算设备、存储介质中的一个或多个,可以使得在线预测场景下可以对单个样本进行预测,并保护多个参与方的数据价值不被流失。