基于模型的预测方法和装置转让专利

申请号 : CN201810785420.3

文献号 : CN109033854B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林文珍殷山刘正

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本说明书实施例提供基于模型的预测方法和装置,一种所述方法在数据需求方执行,所述数据需求方包括预先训练好的计算模型,所述方法包括:通过对所述计算模型的至少一个参数进行加密,生成加密模型;将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;从所述数据提供方接收与所述计算请求对应的计算结果;以及基于所述计算结果,获取所述计算模型的明文预测结果。

权利要求 :

1.一种基于模型的预测方法,所述方法在数据需求方执行,所述数据需求方包括预先训练好的计算模型,所述方法包括:通过对所述计算模型的至少一个参数进行加密,生成加密模型;

将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;

向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;

从所述数据提供方接收与所述计算请求对应的计算结果;以及

基于所述计算结果,获取所述计算模型的明文预测结果。

2.根据权利要求1所述的基于模型的预测方法,其中,所述数据需求方安装有数据需求方计算引擎,其中,通过对所述计算模型的至少一个参数进行加密,生成加密模型包括,通过使用所述数据需求方计算引擎对所述计算模型的至少一个参数进行加密,生成加密模型。

3.根据权利要求2所述的基于模型的预测方法,其中,所述数据提供方安装有数据提供方计算引擎,其中,从所述数据提供方接收与所述计算请求对应的计算结果包括,通过所述数据需求方计算引擎从所述数据提供方计算引擎接收所述计算结果。

4.根据权利要求1所述的基于模型的预测方法,其中,对所述计算模型的至少一个参数进行加密包括,通过以下一种加密方法对所述至少一个参数进行加密:同态加密方法、混淆电路方法以及差分隐私方法。

5.根据权利要求4所述的基于模型的预测方法,其中所述计算模型为逻辑回归模型或线性回归模型,所述加密方法为同态加密方法,所述计算结果为同态密文结果,其中,基于所述计算结果,获取所述计算模型的明文预测结果包括:使用与所述计算模型对应的私钥对所述同态密文结果进行解密,以获取所述计算模型的明文预测结果,其中,所述私钥在本地预先生成。

6.根据权利要求4所述的基于模型的预测方法,其中所述计算模型为GBDT模型,所述加密方法为混淆电路方法。

7.根据权利要求4所述的基于模型的预测方法,其中所述计算模型为评分卡模型,所述加密方法为差分隐私方法。

8.一种基于模型的预测方法,所述方法在数据提供方执行,所述数据提供方存储有第一数据,所述方法包括:从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成;

从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求;

根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果;

以及

将所述计算结果发送给所述数据需求方。

9.根据权利要求8所述的基于模型的预测方法,其中,所述加密模型为通过权利要求5所述的方法所获取的第一加密模型,其中,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果包括:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。

10.一种基于模型的预测装置,所述装置在数据需求方实施,所述数据需求方包括预先训练好的计算模型,所述装置包括:生成单元,配置为,通过对所述计算模型的至少一个参数进行加密,生成加密模型;

提供单元,配置为,将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;

发送单元,配置为,向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;

接收单元,配置为,从所述数据提供方接收与所述计算请求对应的计算结果;以及获取单元,配置为,基于所述计算结果,获取所述计算模型的明文预测结果。

11.根据权利要求10所述的基于模型的预测装置,其中,所述数据需求方安装有数据需求方计算引擎,其中,所述生成单元还配置为,通过使用所述数据需求方计算引擎对所述计算模型的至少一个参数进行加密,生成加密模型。

12.根据权利要求11所述的基于模型的预测装置,其中,所述数据提供方安装有数据提供方计算引擎,其中,所述接收单元还配置为,通过所述数据需求方计算引擎从所述数据提供方计算引擎接收所述计算结果。

13.根据权利要求10所述的基于模型的预测装置,其中,所述生成单元还配置为,通过以下一种加密方法对所述至少一个参数进行加密:同态加密方法、混淆电路方法以及差分隐私方法。

14.根据权利要求13所述的基于模型的预测装置,其中所述计算模型为逻辑回归模型或线性回归模型,所述加密方法为同态加密方法,所述计算结果为同态密文结果,其中,所述获取单元还配置为:使用与所述计算模型对应的私钥对所述同态密文结果进行解密,以获取所述计算模型的明文预测结果,其中,所述私钥在本地预先生成。

15.根据权利要求13所述的基于模型的预测装置,其中所述计算模型为GBDT模型,所述加密方法为混淆电路方法。

16.根据权利要求13所述的基于模型的预测装置,其中所述计算模型为评分卡模型,所述加密方法为差分隐私方法。

17.一种基于模型的预测装置,所述装置在数据提供方实施,所述数据提供方存储有第一数据,所述装置包括:获取单元,配置为,从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成;

接收单元,配置为,从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求;

计算单元,配置为,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果;以及发送单元,配置为,将所述计算结果发送给所述数据需求方。

18.根据权利要求17所述的基于模型的预测装置,其中,所述加密模型为通过权利要求

5所述的方法所获取的第一加密模型,其中,所述计算单元还配置为:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。

19.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。

说明书 :

基于模型的预测方法和装置

技术领域

[0001] 本说明书实施例涉及数据处理技术领域,更具体地,涉及基于模型的预测方法和装置。

背景技术

[0002] 在数据分析、数据挖掘、经济预测等领域,经常使用模型对大数据进行处理,以分析、发现潜在的数据价值。在实际应用场景中,为了更准确地刻画目标群体或变量,通常需要使用测试数据进行训练,得到可以准确描述目标群体或变量的特征。然而不同的商户拥有的数据类型或特征往往是不健全的,通过单一的数据难以准确地刻画目标。为了得到更好的模型预测结果,通常商户间会选择数据合作的方式,结合不同的数据或特征标签共同完成模型计算,以求共赢。在多方数据合作过程中,又涉及数据安全和模型安全等问题。一方面,数据提供方不想输出自己的价值数据给数据需求方,泄漏私有数据;另一方面,模型中包含的特征标签等信息也是商户的私有数据,具有重要的商业价值,担忧数据合作过程中的模型安全问题,导致数据合作受阻。
[0003] 针对上述问题,传统的解决方案包括,将数据和模型放置在一个可信第三方(如共创实验室等),进行模型预测。对可信第三方的数据出入进行严格控制,保证信息安全。
[0004] 因此,需要一种更有效的基于模型的预测方案。

发明内容

[0005] 本说明书实施例旨在提供一种更有效的基于模型的预测方案,以解决现有技术中的不足。
[0006] 为实现上述目的,本说明书一个方面提供一种基于模型的预测方法,所述方法在数据需求方执行,所述数据需求方包括预先训练好的计算模型,所述方法包括:通过对所述计算模型的至少一个参数进行加密,生成加密模型;将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;从所述数据提供方接收与所述计算请求对应的计算结果;以及基于所述计算结果,获取所述计算模型的明文预测结果。
[0007] 在一个实施例中,在所述基于模型的预测方法中,所述数据需求方安装有数据需求方计算引擎,其中,通过对所述计算模型的至少一个参数进行加密,生成加密模型包括,通过使用所述数据需求方计算引擎对所述计算模型的至少一个参数进行加密,生成加密模型。
[0008] 在一个实施例中,在所述基于模型的预测方法中,所述数据提供方安装有数据提供方计算引擎,其中,从所述数据提供方接收与所述计算请求对应的计算结果包括,通过所述数据需求方计算引擎从所述数据提供方计算引擎接收所述计算结果。
[0009] 在一个实施例中,在所述基于模型的预测方法中,对所述计算模型的至少一个参数进行加密包括,通过以下一种加密方法对所述至少一个参数进行加密:同态加密方法、混淆电路方法以及差分隐私方法。
[0010] 在一个实施例中,在所述基于模型的预测方法中,所述计算模型为逻辑回归模型或线性回归模型,所述加密方法为同态加密方法,所述计算结果为同态密文结果,其中,基于所述计算结果,获取所述计算模型的明文预测结果包括:使用与所述计算模型对应的私钥对所述同态密文结果进行解密,以获取所述计算模型的明文预测结果,其中,所述私钥在本地预先生成。
[0011] 在一个实施例中,在所述基于模型的预测方法中,所述计算模型为GBDT模型,所述加密方法为混淆电路方法。
[0012] 在一个实施例中,在所述基于模型的预测方法中,所述计算模型为评分卡模型,所述加密方法为差分隐私方法。
[0013] 本说明书另一方面提供一种基于模型的预测方法,所述方法在数据提供方执行,所述数据提供方存储有第一数据,所述方法包括:从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成;从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求;根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果;以及将所述计算结果发送给所述数据需求方。
[0014] 在一个实施例中,在所述基于模型的预测方法中,所述加密模型为通过同态加密方法所获取的第一加密模型,其中,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果包括:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。
[0015] 本说明书另一方面提供一种基于模型的预测装置,所述装置在数据需求方实施,所述数据需求方包括预先训练好的计算模型,所述装置包括:生成单元,配置为,通过对所述计算模型的至少一个参数进行加密,生成加密模型;提供单元,配置为,将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;发送单元,配置为,向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;接收单元,配置为,从所述数据提供方接收与所述计算请求对应的计算结果;以及获取单元,配置为,基于所述计算结果,获取所述计算模型的明文预测结果。
[0016] 在一个实施例中,在所述基于模型的预测装置中,所述数据需求方安装有数据需求方计算引擎,其中,所述生成单元还配置为,通过使用所述数据需求方计算引擎对所述计算模型的至少一个参数进行加密,生成加密模型。
[0017] 在一个实施例中,在所述基于模型的预测装置中,所述数据提供方安装有数据提供方计算引擎,其中,所述接收单元还配置为,通过所述数据需求方计算引擎从所述数据提供方计算引擎接收所述计算结果。
[0018] 在一个实施例中,在所述基于模型的预测装置中,所述生成单元还配置为,通过以下一种加密方法对所述至少一个参数进行加密:同态加密方法、混淆电路方法以及差分隐私方法。
[0019] 在一个实施例中,在所述基于模型的预测装置中,所述计算模型为逻辑回归模型或线性回归模型,所述加密方法为同态加密方法,所述计算结果为同态密文结果,其中,基于所述计算结果,获取所述计算模型的明文预测结果包括:使用与所述计算模型对应的私钥对所述同态密文结果进行解密,以获取所述计算模型的明文预测结果,其中,所述私钥在本地预先生成。
[0020] 本说明书另一方面提供一种基于模型的预测装置,所述装置在数据提供方实施,所述数据提供方存储有第一数据,所述装置包括:获取单元,配置为,从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成;接收单元,配置为,从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求;计算单元,配置为,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果;以及发送单元,配置为,将所述计算结果发送给所述数据需求方。
[0021] 在一个实施例中,在所述基于模型的预测装置中,所述加密模型为通过同态加密方法获取的第一加密模型,其中,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果包括:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。
[0022] 本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述基于模型的预测方法。
[0023] 通过根据本说明书实施例的模型预测方案,不需要可信的第三方,数据和模型由数据合作方各自持有,规避了数据和模型集中在一起的隐私安全问题,也减少了大批量数据传输带来的传输安全隐患等问题。该方案为纯软件方案,除基本的服务器等,没有其他额外的硬件要求,不会引入其他硬件安全漏洞。并且对接成本不高。数据提供方和数据需求方只需要docker部署特定引擎,即可在线完成计算。另外,针对不同的模型特性,使用不同的模型加密方式,提高了计算结果的准确度。

附图说明

[0024] 通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
[0025] 图1示出了根据本说明书实施例的执行模型预测的系统100的示意图;
[0026] 图2示出了根据本说明书实施例的一种基于模型的预测方法的流程图;
[0027] 图3示出根据本说明书实施例的一种基于模型的预测方法的流程图;
[0028] 图4示出根据本说明书实施例的一种基于模型的预测装置400;以及[0029] 图5示出根据本说明书实施例的一种基于模型的预测装置500。

具体实施方式

[0030] 下面将结合附图描述本说明书实施例。
[0031] 图1示出了根据本说明书实施例的执行模型预测的系统100的示意图。如图1所示,系统100包括数据需求方11和数据提供方12。数据需求方11为模型拥有方,其包括训练好的计算模型,如图中所示,在数据需求方11,私有数据A包括训练好的模型的特征标签等数据,计算逻辑(模型/规则)通过所述计算模型体现。数据提供方为数据拥有方,图中所示的私有数据B即为数据提供方拥有的数据,该数据可使用上述计算模型进行计算。如图中所示,在数据需求方11预先安装有例如安全计算引擎,在所述数据提供方12安装有例如安全计算引擎。所述数据需求方11和数据提供方12通过其各自的安全计算引擎执行例如安全计算和计算中的通信。具体是,数据需求方11在本地使用所述计算引擎对计算模型进行加密,也即对私有数据A进行加密,并将加密后的加密模型发送给数据提供方12,并向数据提供方12发送关于该加密模型和私有数据B的计算请求。数据提供方12在接收到计算请求之后,在其本地的计算引擎中使用接收的加密模型基于私有数据B进行计算,并通过计算引擎将计算结果发送给数据需求方11。数据需求方11基于上述计算结果获取最终的明文结果。
[0032] 图1所示的系统100只是示意性的,根据本说明书实施例的系统100不限于图1所示的结构。例如,在数据需求方11和数据提供方12不必需安全计算引擎,而是可以包括任何计算软件,只要其能满足上述计算需求即可。另外,数据需求方11也可以包括需要进行模型预测的数据,即,数据需求方11可以同时作为另一个数据提供方,数据提供方12也可以拥有模型,即,数据提供方12可以同时作为另一个数据需求方。
[0033] 图2示出了根据本说明书实施例的一种基于模型的预测方法的流程图。所述方法在数据需求方执行,所述数据需求方包括预先训练好的计算模型。所述方法包括:
[0034] 在步骤S202,通过对所述计算模型的至少一个参数进行加密,生成加密模型;
[0035] 在步骤S204,将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;
[0036] 在步骤S206,向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求;
[0037] 在步骤S208,从所述数据提供方接收与所述计算请求对应的计算结果;以及[0038] 在步骤S210,基于所述计算结果,获取所述计算模型的明文预测结果。
[0039] 首先,在步骤S202,通过对所述计算模型的至少一个参数进行加密,生成加密模型。
[0040] 在一个实施例中,所述计算模型例如是逻辑回归模型(LR模型),LR模型的预测函数如下文的公式(1)所示:
[0041]
[0042] 其中ω、λ为模型系数,属于数据需求方。x为计算所需的输入,属于数据提供方的私有数据,即上述第一数据。这里ω、λ、x可以是单个数值,也可以是向量,下文中以ω和x都为包括多个数值的向量为例进行说明。
[0043] 为了减少计算量,同时为了减少模型参数的泄漏风险,只对公式(1)中的ω参数进行同态加密计算,从而获取与ωx对应的加密模型。首先,数据需求方生成并存储用于进行上述同态加密的公钥和私钥,并使用公钥对ω中包括的各数值分别进行同态加密,从而获取与ω对应的第一加密向量。之后,数据需求方将ω替换成第一加密向量,生成加密模型。所述加密模型中包括第一加密向量、以及与ωx对应的计算规则,即将第一加密向量与第二加密向量(与x对应的同态加密向量)进行点积的运算规则。这里,加密模型以配置文件的形式表示,可以理解,加密模型不限于配置文件的形式,而可以为其它形式,例如脚本、可执行程序等。
[0044] 所述计算模型不限于LR模型,所述加密方法也不限于同态加密方法。例如,在一个实施例中,所述计算模型为线性回归模型,数据需求方可同样地使用同态加密方法生成加密模型。在一个实施例中,所述计算模型为GBDT模型,数据需求方可通过混淆电路方法生成加密模型。在一个实施例中,所述计算模型为评分卡模型,数据需求方可通过差分隐私方法生成加密模型。评分卡模型最终结果只需输出分类,不需要精确的计算结果。从而可以使用差分隐私方法模糊化模型系数,加入微小噪声,而不会影响整体的决策分类。
[0045] 在一个实施例中,如图1中所示,数据需求方预先安装有专用的安全计算引擎,数据需求方通过该计算引擎进行对所述参数的加密,以生成加密模型。
[0046] 在步骤S204,将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据。数据需求方在生成所述加密模型之后,例如可通过本地的产品控制台将所述加密模型推送给数据提供方。将所述加密模型提供给数据提供方不限于上述方式,例如,数据需求方还可以通过硬盘存储的形式将存储有加密模型的硬盘提供给数据提供方。数据提供方接收所述加密模型之后,可在数据提供方部署该加密模型,以使用该加密模型进行本地的计算。例如,可将模型配置文件加载到一个进程中,然后通过调用该进程进行模型计算。这里,本领域技术人员可以理解,依据不同的计算环境,可以实施不同的部署方法,在此不进行详细说明。
[0047] 在步骤S206,向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求。这里,第一数据(即上文中的x)例如为特定对象(对象ID)的特征向量数据。所述计算请求中可包括所述对象ID和所述加密模型的模型ID,或者,所述计算请求中可包括与所述对象ID对应的信息,例如对象ID的手机号、护照号等信息。从而数据提供方基于该计算请求,可获取所述对象ID和所述加密模型,并基于所述对象ID获取所述第一数据,从而可基于该计算请求进行计算。
[0048] 在步骤S208,从所述数据提供方接收与所述计算请求对应的计算结果。
[0049] 例如,在上述计算模型为LR模型的实施例中,所述加密模型是与公式(1)中的ωx对应的加密模型。数据提供方在接收上述关于第一数据和所述加密模型的计算请求之后,在该加密模型中,使用预先获取的所述数据需求方的公钥基于x进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。该同态密文结果即与ωx对应的同态密文结果。之后,数据提供方将所述同态密文结果发送给所述数据需求方。从而所述数据需求方从数据提供方获取基于所述计算请求的同态密文结果。
[0050] 在上述计算模型为GBDT模型的实施例中,加密方法为混淆电路方法。所述加密模型中的加密参数为所述GBDT模型中的至少一个参数的混淆值。所述数据提供方使用所述加密的GBDT模型基于所述第一数据进行计算,从而可获取混淆值结果。之后,数据提供方将该混淆值结果发送给数据需求方。从而,数据需求方从数据提供方获取基于所述计算请求的混淆值结果。
[0051] 在上述计算模型为评分卡模型中,数据需求方通过差分隐私方法模糊该模型的系数,同时不影响模型的预测结果。从而,数据提供方直接将第一数据x输入该经过加密的评分卡模型,可基本准确地获取该评分卡模型的明文预测结果。之后,数据提供方将该明文预测结果发送给所述数据需求方。
[0052] 在一个实施例中,如图1所示,在第一服务器和数据提供方都预先部署有安全计算引擎。在该情况中,由数据需求方的安全计算引擎从数据提供方的安全计算引擎接收与所述计算请求对应的计算结果。该计算引擎在计算出加密模型的计算结果之后,可对该计算结果附上加密模型的标识,并发送给所述数据需求方的安全计算引擎,从而可确保该计算结果的真实性。
[0053] 在步骤S210,基于所述计算结果,获取所述计算模型的明文预测结果。
[0054] 在所述计算结果为同态密文结果的实施例中,数据需求方使用上述在本地生成的与所述计算模型对应的私钥对所述同态密文结果进行解密,从而获取与该计算结果对应的明文结果。根据同态加密原理,该明文结果等同于将ω和x直接点积所获得的值。在获得ωx的点积的明文值之后,数据需求方将该明文值代入公式(1)中进行计算,从而可最终获取上述LR模型对第一数据的预测结果。
[0055] 在所述计算结果为混淆值结果的实施例中,数据需求方基于该混淆值结果获取其原始值,从而获取上述GBDT模型对第一数据的明文预测结果。
[0056] 在所述计算结果为加密评分卡模型的明文预测结果的情况中,根据差分隐私加密原理,数据需求方可直接将该明文预测结果作为所述评分卡模型的明文预测结果。
[0057] 在一个实施例中,所述数据需求方安装有数据需求方计算引擎,所述数据提供方安装有数据提供方计算引擎。例如数据需求方和数据提供方可分别通过Docker(一种开源的应用容器引擎)部署上述数据需求方计算引擎和数据提供方计算引擎,即数据需求方计算引擎和数据提供方计算引擎可理解为软件。其中所述数据需求方的计算在所述数据需求方计算引擎内进行,所述数据提供方的计算在所述数据提供方计算引擎内进行。例如,数据需求方对模型的加密计算、对密文结果的解密计算可通过数据需求方计算引擎进行,数据提供方基于所述加密模型对第一数据的计算可通过数据提供方计算引擎进行。另外,上述数据需求方计算引擎和数据提供方计算引擎还具备通信功能,例如,数据需求方可通过数据需求方计算引擎向所述数据提供方发送关于所述第一数据和所述加密模型的计算请求,数据提供方可通过数据提供方计算引擎向所述数据需求方发送与所述计算请求对应的计算结果。
[0058] 图3示出根据本说明书实施例的一种基于模型的预测方法的流程图。所述方法在数据提供方执行,所述数据提供方存储有第一数据。所述方法包括以下步骤S302-S308。
[0059] 在步骤S302,从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成。该步骤的具体实施可参考上文对图2中步骤S202和步骤S204的相应描述,在此不再赘述。
[0060] 在步骤S304,从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求。该步骤的具体实施可参考上文对图2中步骤S206的相应描述,在此不再赘述。
[0061] 在步骤S306,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果。该步骤的具体实施可参考上文对图2中步骤S208的相应描述,在此不再赘述。
[0062] 在步骤S308,将所述计算结果发送给所述数据需求方。该步骤的具体实施可参考上文对图2中步骤S208的相应描述,在此不再赘述。
[0063] 在一个实施例中,如上文对图2中步骤S208的相应描述,所述加密模型为通过同态加密方法对上述LR模型或线性回归模型的至少一个参数进行加密所获取的第一加密模型。其中,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果包括:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。所述预先获取的公钥例如是由所述数据需求方预先发送给所述数据提供方的,或者,所述数据需求方预先向数据提供方提供与所述公钥相关的信息,所述数据提供方预先基于该信息推导出述公钥,等等
[0064] 图4示出根据本说明书实施例的一种基于模型的预测装置400。所述装置在数据需求方实施,所述数据需求方包括预先训练好的计算模型。所述装置包括:
[0065] 生成单元41,配置为,通过对所述计算模型的至少一个参数进行加密,生成加密模型;
[0066] 提供单元42,配置为,将所述加密模型提供给数据提供方,其中,所述数据提供方存储有第一数据;
[0067] 发送单元43,配置为,向所述数据提供方发送关于所述第一数据和所述加密模的计算请求;
[0068] 接收单元44,配置为,从所述数据提供方接收与所述计算请求对应的计算结果;以及
[0069] 获取单元45,配置为,基于所述计算结果,获取所述计算模型的明文预测结果。
[0070] 在一个实施例中,在所述基于模型的预测装置中,所述数据需求方安装有数据需求方计算引擎,其中,所述生成单元41还配置为,通过使用所述数据需求方计算引擎对所述计算模型的至少一个参数进行加密,生成加密模型。
[0071] 在一个实施例中,在所述基于模型的预测装置中,所述数据提供方安装有数据提供方计算引擎,其中,所述接收单元44还配置为,通过所述数据需求方计算引擎从所述数据提供方计算引擎接收与所述计算请求对应的计算结果。
[0072] 在一个实施例中,在所述基于模型的预测装置中,所述生成单元41还配置为,通过以下一种加密方法对所述至少一个参数进行加密:同态加密方法、混淆电路方法以及差分隐私方法。
[0073] 在一个实施例中,在所述基于模型的预测装置中,所述计算模型为逻辑回归模型或线性回归模型,所述加密方法为同态加密方法,所述计算结果为同态密文结果,其中,所述获取单元45配置为:使用与所述计算模型对应的私钥对所述同态密文结果进行解密,以获取所述计算模型的明文预测结果,其中,所述私钥在本地预先生成。
[0074] 图5示出根据本说明书实施例的一种基于模型的预测装置500。所述装置在数据提供方实施,所述数据提供方存储有第一数据,所述装置包括:
[0075] 获取单元51,配置为,从数据需求方获取加密模型,其中,所述数据需求方包括预先训练好的计算模型,所述加密模型通过由所述数据需求方对所述计算模型的至少一个参数进行加密而生成;
[0076] 接收单元52,配置为,从所述数据需求方接收关于所述第一数据和所述加密模型的计算请求;
[0077] 计算单元53,配置为,根据所述计算请求,使用所述加密模型基于所述第一数据进行计算,以获取计算结果;以及
[0078] 发送单元54,配置为,将所述计算结果发送给所述数据需求方。
[0079] 在一个实施例中,在所述基于模型的预测装置中,所述加密模型为通过同态加密方法对LR模型或线性回归模型的至少一个参数进行加密所获取的第一加密模型,其中,所述计算单元53还配置为:在所述第一加密模型中,使用预先获取的所述数据需求方的公钥基于所述第一数据进行同态计算,以获取同态密文结果,其中,所述公钥由所述数据需求方针对所述计算模型预先生成。
[0080] 在一个实施例中,在所述基于模型的预测装置中,所述数据提供方安装有数据提供方计算引擎,其中,所述计算单元53还配置为,通过所述数据提供方计算引擎,基于所述计算请求,根据所述加密模型对所述第一数据进行计算,以获取计算结果。
[0081] 本说明书另一方面如果一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述基于模型的预测方法。
[0082] 通过根据本说明书实施例的模型预测方案,不需要可信的第三方,数据和模型由数据合作方各自持有,规避了数据和模型集中在一起的隐私安全问题,也减少了大批量数据传输带来的传输安全隐患等问题。该方案为纯软件方案,除基本的服务器等,没有其他额外的硬件要求,不会引入其他硬件安全漏洞。并且对接成本不高。数据提供方和数据需求方只需要docker部署特定计算引擎,即可在线完成计算。另外,针对不同的模型特性,使用不同的模型加密方式,提高了计算结果的准确度。
[0083] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0084] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0085] 本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0086] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0087] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。