CN111415013B - 隐私机器学习模型生成、训练方法、装置及电子设备 - Google Patents

隐私机器学习模型生成、训练方法、装置及电子设备 Download PDF

Info

Publication number
CN111415013B
CN111415013B CN202010201726.7A CN202010201726A CN111415013B CN 111415013 B CN111415013 B CN 111415013B CN 202010201726 A CN202010201726 A CN 202010201726A CN 111415013 B CN111415013 B CN 111415013B
Authority
CN
China
Prior art keywords
machine learning
learning model
operator
model
plaintext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010201726.7A
Other languages
English (en)
Other versions
CN111415013A (zh
Inventor
陈元丰
谢翔
晏意林
黄高峰
史俊杰
李升林
孙立林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juzix Technology Shenzhen Co ltd
Original Assignee
Juzix Technology Shenzhen Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juzix Technology Shenzhen Co ltd filed Critical Juzix Technology Shenzhen Co ltd
Priority to CN202010201726.7A priority Critical patent/CN111415013B/zh
Publication of CN111415013A publication Critical patent/CN111415013A/zh
Application granted granted Critical
Publication of CN111415013B publication Critical patent/CN111415013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书的实施方案提供了一种隐私机器学习模型生成、训练方法、装置及电子设备,该模型生成方法包括:获取明文机器学习模型中的静态优化器;执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于所述明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成。本说明书的实施方案可以降低隐私机器学习模型的实现成本。

Description

隐私机器学习模型生成、训练方法、装置及电子设备
技术领域
本说明书涉及机器学习技术领域,尤其是涉及一种隐私机器学习模型生成、训练方法、装置及电子设备。
背景技术
目前机器学习(Machine Learning)已在很多领域有所应用。在一些情况下,鉴于机器学习需要使用大量的样本数据,为了可以从数据中挖掘出更大的价值,两个或更多个数据持有方会协作进行机器学习建模。但是,对于任何一个数据持有方而言,己方的隐私数据有被泄露或者是被不正当使用的风险。因此,如何将隐私数据很好地保护起来对机器学习至关重要。
为了解决该问题,各种基于加密机器学习的框架(以下简称隐私机器学习框架)应运而生,如:TF-Encrypted、PySyft等。一般地,这些隐私机器学习框架是利用了明文机器学习框架(如Tensorflow、PyTorch等)的应用程序接口(API,Application ProgrammingInterface)的易用性,同时通过多种密码学算法对加密数据进行训练和预测,以使用户可以在并不精通密码学、分布式系统或高性能计算专业知识的情况下,也可以使用。
然而,在实现本申请的过程中,本申请的发明人发现:这些隐私机器学习框架的实现均未使用已有的明文机器学习模型,若想要使用已有的明文机器学习模型的处理逻辑,就需要使用隐私机器学习框架特有的APIs和隐私数据类型重新编码实现,实现成本较高。
发明内容
本说明书的实施方案的目的在于提供一种隐私机器学习模型生成、训练方法、装置及电子设备,以降低隐私机器学习模型的实现成本。
为达到上述目的,一方面,本说明书的实施方案提供了一种隐私机器学习模型生成方法,包括:
获取明文机器学习模型中的静态优化器;
执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于所述明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成。
另一方面,本说明书的实施方案还提供了一种隐私机器学习模型生成装置,包括:
获取模块,用于获取明文机器学习模型中的静态优化器;
执行模块,用于执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于所述明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成。
另一方面,本说明书的实施方案还提供了一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时执行上述的隐私机器学习模型生成方法。
另一方面,本说明书的实施方案还提供了一种隐私机器学习模型训练方法,包括如下步骤:
基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用上述的隐私机器学习模型生成方法生成;
基于测试样本集测试所述第一模型是否满足预设条件;
当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
另一方面,本说明书的实施方案还提供了一种隐私机器学习模型训练装置,包括:
模型训练模块,用于基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用上述的隐私机器学习模型生成方法生成;
模型验证模块,用于基于测试样本集测试所述第一模型是否满足预设条件;
模型确定模块,用于当所述第一模型满足素所述预设条件时,将所述第一模型作为数据预测模型。
另一方面,本说明书的实施方案还提供了另一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时执行如下步骤:
基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用上述的隐私机器学习模型生成方法生成;
基于测试样本集测试所述第一模型是否满足预设条件;
当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
由以上本说明书的实施方案提供的技术方案可见,本说明书的实施方案除了实现密码算子外,还可以实现在明文机器学习模型中导入一个静态优化器;由于静态优化器是根据密码算子优化器类创建的,而密码算子优化器类又是依据明文机器学习框架的原生优化器类和密码算子派生的;如此,当重载明文机器学习模型时,通过执行该静态优化器就可以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而通过复用已有的明文机器学习模型实现了隐私机器学习模型,进而避免了现有技术因使用隐私机器学习框架特有的APIs和隐私数据类型重新编码所带来的巨大开发成本,因而本说明书的实施方案降低了隐私机器学习模型的实现成本。
附图说明
为了更清楚地说明本说明书的实施方案或现有技术中的技术方案,下面将对实施方案或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方案,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书的一些实施方案中隐私机器学习模型生成方法的流程图;
图2为本说明书的一个示例性实施方案中,明文机器学习模型中未导入静态优化器时的计算图;
图3为本说明书的一个示例性实施方案中,明文机器学习模型中导入静态优化器,并执行该静态优化器后的计算图;
图4为本说明书的一个实施方案中静态优化器的处理流程图;
图5为本说明书的一个示例性实施方案中多个数据持有方联合进行机器学习的结构示意图;
图6为本说明书的一些实施方案中隐私机器学习模型训练方法的流程图;
图7为本说明书的一些实施方案中隐私机器学习模型生成装置的结构框图;
图8为本说明书的一些实施方案中隐私机器学习模型训练装置的结构框图;
图9为本说明书的一些实施方案中电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书的实施方案中的附图,对本说明书的实施方案中的技术方案进行清楚、完整地描述,显然,所描述的实施方案仅仅是本说明书一部分实施方案,而不是全部的实施方案。基于本说明书中的实施方案,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方案,都应当属于本说明书保护的范围。
参考图1所示,本说明书的一些实施方案的隐私机器学习模型生成方法可以包括以下步骤:
S101、获取明文机器学习模型中的静态优化器;
S102、执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于所述明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成。
由此可见,本说明书的实施方案除了实现密码算子外,还可以实现在明文机器学习模型中导入一个静态优化器;由于静态优化器是根据密码算子优化器类创建的,而密码算子优化器类又是依据明文机器学习框架的原生优化器类和密码算子派生的;如此,当重载明文机器学习模型时,通过执行该静态优化器就可以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而通过复用已有的明文机器学习模型实现了隐私机器学习模型,进而避免了现有技术因使用隐私机器学习框架特有的APIs和隐私数据类型重新编码所带来的巨大开发成本,因而本说明书的实施方案降低了隐私机器学习模型的实现成本。
在本说明书的一些实施方案中,明文机器学习框架可以为任何已有的明文机器学习框架,例如TensorFlow、PyTorch、或Caffe等。因此,本说明书对于明文机器学习模型具体采用何种明文机器学习框架生成不作限定,具体可根据需要选择。
在本说明书的一些实施方案中,密码算子可以由开发人员预先通过静态语言(例如C、C++等)编程实现,以提高效率。其中,密码算子中一般还包含有密码梯度算子。当然,这些密码算子(包括密码梯度算子),应与基于该明文机器学习框架生成的明文机器学习模型中的原生明文算子一一对应,以便于后续对应替换。在实现密码算子后,开发人员可以将其注册到明文机器学习框架中,以便于明文机器学习模型使用。
在本说明书的一些实施方案中,密码算子为任何可在两个或多个数据持有方联合(或协同)进行机器学习建模及预测场景中,为各方输入数据提供隐私保护的密码算子。例如,在一些示例性实施方案中,密码算子可以为安全多方计算(Secure Multi-PartyComputation,MPC)算子、同态加密(Homomorphic Encryption,HE)算子、或零知识证明(Zero-knowledge Proof,ZKP)算子等。同样,本说明书对具体采用何种密码算子不作限定,具体可根据需要选择。
在本说明书的一个示例性实施方案中,当明文机器学习模型采用TensorFlow生成,密码算子采用MPC算子时,在将静态优化器导入明文机器学习模型,并执行该静态优化器后,明文机器学习模型中的原生明文算子(TF Native Ops)就被替换成为MPC算子(MPCOps),从而可以将明文机器学习模型变为由MPC隐私保护加持的机器学习模型。其中,Ops即为Operations的缩写。
参考图2所示,在本说明书的一个示例性实施方案中,将静态优化器导入明文机器学习模型前,明文机器学习模型的原生明文算子为:将输入的变量X和Y进行矩阵相乘(例如图2中的MatMul函数所示),并提供返回值。由于变量X和Y是在明文机器学习模型下处理的,变量X和Y的隐私安全难以得到保障。结合图3所示,而在将静态优化器导入明文机器学习模型,并执行该静态优化器后,明文机器学习模型转变成了隐私机器学习模型,相应的MPC算子为:将因受MPC隐私保护而形成的加密变量X和Y进行矩阵相乘(例如图3中的MPCMatMul函数所示),并提供返回值。在本说明书的实施方案中,明文机器学习框架一般配置有原生优化器类。为了能够直接复用明文机器学习框架的优化器类,开发人员可以预先以明文机器学习框架的原生优化器类作为基类派生出派生类,并在该派生类中添加与密码算子有关的新成员,从而形成密码算子优化器类。因此,密码算子优化器类不仅具有密码算子的特性,还具有明文机器学习框架的原生优化器类的所有特性。
例如,在本说明书的一个示例性实施方案中,TensorFlow的原生优化器类(Optimizer)一共有11个,它们分别为:
a.tf.train.AdadeltaOptimizer
b.tf.train.AdagradDAOptimizer
c.tf.train.AdagradOptimizer
d.tf.train.AdamOptimizer
e.tf.train.FtrlOptimizer
f.tf.train.GradientDescentOptimizer
g.tf.train.MomentumOptimizer
h.tf.train.ProximalAdagradOptimizer
i.tf.train.ProximalGradientDescentOptimizer
j.tf.train.RMSPropOptimizer
k.tf.train.SyncReplicasOptimizer
当密码算子采用MPC算子时,需要派生实现以上11个TensorFlow优化器类的MPC版本。其中,本说明书的实施方案中提及的密码算子优化器类、密码算子和密码静态图,分别是指在隐私保护下的优化器类、算子和静态图。
在生成密码算子优化器类的基础上,开发人员可以预先根据所述密码算子优化器类创建静态优化器。例如,在本说明书的一个示例性实施方案中,以MPC算子为例,可以根据MPC算子优化器类中的MPC Optimizer minimize函数创建静态优化器。此后,用户可以获取静态优化器并将其导入明文机器学习模型中。此外,在本说明书的一些实施方案中,静态优化器的优化算法可以采用任何合适的优化算法。例如,在本说明书的一些示例性实施方案中,采用的优化算法可以包括但不限于梯度下降法(如标准梯度下降法(GradientDescent,GD)、随机梯度下降法(Stochastic Gradient Descent,SGD)、批量梯度下降法(Batch Gradient Descent,BGD)等)、动量优化法(如Momentum、Nesterov加速梯度(Nesterov accelerated gradient,NAG)等)、或自适应学习率优化算法(如AdaGrad算法、RMSProp算法、Adam算法以及AdaDelta算法)等。
在本说明书的一些实施方案中,将所述明文机器学习模型中的原生明文算子替换为密码算子的一般原则是:对于影响数据隐私保护的原生明文算子,均需要替换为对应的密码算子,以确保输入数据的隐私安全;对于不影响数据隐私保护的原生明文算子,尽量不进行替换,以提高对明文机器学习模型的复用率,从而有利于降低隐私机器学习模型的实现成本。
对于使用计算图(或称为有向无环图)表示处理逻辑的明文机器学习模型(例如基于Tensorflow生成的明文机器学习模型)而言,当将明文机器学习模型中的各个原生明文算子(如果有必要)替换为对应的密码算子后,即实现了将所述明文机器学习模型中的原生静态图替换为密码静态图。但是,本领技术人员应当理解,这里仅是举例说明,在本说明书的其他实施方案中,当一些明文机器学习模型并不使用计算图表示处理逻辑时,将所述明文机器学习模型中的原生明文算子替换为密码算子,自然也可以不是针对计算图的替换。
参考图4所示,在本说明书的一个实施方案中,所述将明文机器学习模型中的原生静态图替换为密码静态图,可以包括以下步骤:
从所述明文机器学习模型的变量集合中获取损失函数(Loss)返回的变量名称,然后确认所述损失函数返回的变量名称是否位于目标模型的变量集合中。
在机器学习领域中,损失函数是模型输出和测试结果间概率分布差异的量化表征,是模型优化的目标函数。实际上,模型训练或者优化的过程就是最小化损失函数的过程。因此,在将明文机器学习模型中的原生静态图替换为密码静态图时,需要先获取损失函数返回的变量名称,以便于后续替换。一般地,用户在基于明文机器学习框架生成明文机器学习模型时,可以从明文机器学习框架提供的损失函数集合中选择损失函数。当然,从明文机器学习框架提供的损失函数集合中选择损失函数也不是必须的,用户也可以根据需要自定义损失函数。
在本说明书的实施方案中,当所述损失函数返回的变量名称位于目标模型(目标模型即指隐私机器学习模型)的变量集合中时,则可无需替换,并可以在所述目标模型的静态图中,根据所述损失函数返回的变量名称获取张量(tensor)并返回,以利于充分复用明文机器学习模型,从而有利于进一步降低隐私机器学习模型的实现成本。需要指出的是,计算图(包括静态图)中包含有节点和具有方向的边,节点一般表示数据的算子,边一般表示张量(通常一个张量代表一个n维矩阵)的流动。例如,在图3所示的计算图中,节点MPCMatMul函数即为数据的算子,而节点MPCMatMul函数对应的两个输入边即表示由变量X和Y的数据组成的张量(如)的数据流动方向。
在本说明书的实施方案中,当所述损失函数返回的变量名称未位于目标模型的变量集合中时,需要进一步确认所述损失函数所返回变量的类型;然后可以根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图。具体的:
在本说明书的实施方案中,当所述损失函数所返回变量的类型为张量类型时,可以获取该张量的张量名称,然后确认该张量名称是否为占位符(Placeholder),以便于后续可以有选择性地进行替换。
在本说明书的实施方案中,当该张量名称是占位符时,则可无需替换,并返回该张量,以利于充分复用明文机器学习模型,从而有利于进一步降低隐私机器学习模型的实现成本。
在本说明书的实施方案中,当该张量名称不是占位符时,则需要对该张量所属的原生算子进行递归替换,以实现数据的隐私保护,并返回替换后形成的新算子(new_op);然后获取该张量的输出索引值(outpu_index),并从所述新算子中使用所述输出索引值获取输出边张量并返回。
在本说明书的实施方案中,当所述损失函数所返回变量的类型为算子类型时,则需要对该算子对应的边(一般为数据边,特殊情况下,还可以包含控制边)进行递归替换,以实现输入数据的隐私保护,并返回替换后形成的新算子对应的边;然后确认该算子对应的数据流中是否包含目标模型的模型私有数据。
在本说明书的实施方案中,当该算子对应的数据流中包含目标模型的模型私有数据(即数据流流经密码算子)时,可以以所述新算子对应的边作为参数,调用密码算子创建函数创建对应的密码算子,并返回所述密码算子,以实现数据的隐私保护。
在本说明书的实施方案中,当该算子对应的数据流中未包含目标模型的模型私有数据时,可以将所述明文机器学习模型的算子(原生明文算子)深度拷贝至所述目标模型中,并返回深度拷贝的算子,以利于充分复用明文机器学习模型,从而有利于进一步降低隐私机器学习模型的实现成本。
在计算图中,损失函数所返回变量的类型通常为张量类型和算子类型之一。当损失函数所返回变量的类型不是张量类型也不是算子类型时,则可以抛出错误。
如此,在执行完静态优化器后,就实现了将明文机器学习模型中的原生静态图替换为密码静态图,从而实现了将明文机器学习模型转变为隐私机器学习模型。其中,密码静态图可以包括前向图(即前向传播对应的静态计算图)和反向图(即反向传播对应的静态计算图);其中,反向图可以根据前向图自动创建。
在基于上述方法生成隐私机器学习模型的基础上,本说明书提供了基于所述隐私机器学习模型的隐私机器学习模型训练方法。参考图6所示,在本说明书的一些实施方案中,所述隐私机器学习模型训练方法可以包括如下步骤:
S601、基于训练样本集训练隐私机器学习模型,以生成第一模型。其中,第一模型即为训练过程中得到的模型。
S602、基于测试样本集测试所述第一模型是否满足预设条件。
S603、当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。当然,如果第一模型不满足预设条件,则继续进行训练,直至训练出的第一模型满足预设条件时为止。
在如图5所示的示例性实施方案中,三个数据持有方(数据持有方1、数据持有方2和数据持有方3)协同进行机器学习建模。每个数据持有方的终端均可以配置有一个基于上述隐私机器学习模型生成方法生成的隐私机器学习模型,该隐私机器学习模型的密码算子为MPC算子。在进行机器学习建模的过程中,由于MPC隐私保护加持,三个数据持有方中,任何一方的数据都不会被其他两方所获知,从而实现了在提高数据利用价值的同时,兼顾了自身隐私数据的安全。在完成机器学习建模后,每个数据持有方都可以训练得到一个数据预测模型。
在本说明书的一些实施方案中,上述的隐私机器学习模型训练方法可应用于任何机器学习场景,例如可以包括但不限于计算机视觉、自然语言处理、机器人决策(例如自动驾驶)、网络安全检测(例如垃圾邮件检测、恶意程序\流量检测)、医疗拟合预测、金融高频交易、互联网数据挖掘、关联推荐等场景。
虽然上文描述的过程/流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
与上述的隐私机器学习模型生成方法对应,本说明书提供了隐私机器学习模型生成装置。参考图7所示,在本说明书的一些实施方案中,所述隐私机器学习模型生成装置可以包括:
获取模块71,可以用于获取明文机器学习模型中的静态优化器;
执行模块72,可以用于执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于所述明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述密码算子可以包括以下中的任意一种:
安全多方计算算子;
同态加密算子;
零知识证明算子。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述将所述明文机器学习模型中的原生明文算子替换为密码算子,包括:
将明文机器学习模型中的原生静态图替换为密码静态图。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述将明文机器学习模型中的原生静态图替换为密码静态图,可以包括:
从明文机器学习模型的变量集合中获取损失函数返回的变量名称;
确认所述损失函数返回的变量名称是否位于目标模型的变量集合中;
当所述损失函数返回的变量名称位于目标模型的变量集合中时,在所述目标模型的静态图中根据所述损失函数返回的变量名称获取张量并返回。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述将明文机器学习模型中的原生静态图替换为密码静态图,还可以包括:
当所述损失函数返回的变量名称未位于目标模型的变量集合中时,确认所述损失函数所返回变量的类型;
根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,可以包括:
当所述损失函数所返回变量的类型为张量类型时,获取该张量的张量名称;
确认所述张量名称是否为占位符;
当所述张量名称是占位符时,返回该张量。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还可以包括:
当所述张量名称不是占位符时,对该张量所属的原生算子进行递归替换,并返回替换后形成的新算子;
获取该张量的输出索引值,并从所述新算子中使用所述输出索引值获取输出边张量并返回。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还可以包括:
当所述损失函数所返回变量的类型为算子类型时,对该算子对应的边进行递归替换,并返回替换后形成的新算子对应的边;
确认该算子对应的数据流中是否包含目标模型的模型私有数据;
当该算子对应的数据流中包含目标模型的模型私有数据时,以所述新算子对应的边作为参数,调用密码算子创建函数创建对应的密码算子,并返回所述密码算子。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还可以包括:
当该算子对应的数据流中未包含目标模型的模型私有数据时,将所述明文机器学习模型的算子深度拷贝至所述目标模型中,并返回深度拷贝的算子。
在本说明书的一些实施方案的隐私机器学习模型生成装置中,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还可以包括:
当所述损失函数所返回变量的类型不是张量类型也不是算子类型时,抛出错误。
与上述的隐私机器学习模型训练方法对应,本说明书提供了隐私机器学习模型训练装置。参考图8所示,在本说明书的一些实施方案中,所述隐私机器学习模型训练装置可以包括:
模型训练模块81,可以用于基于训练样本集训练隐私机器学习模型,以生成第一模型;
模型验证模块82,可以用于基于测试样本集测试所述第一模型是否满足预设条件;
模型确定模块83,可以用于当所述第一模型满足素所述预设条件时,将所述第一模型作为数据预测模型。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在本说明书的其他实施方案中,也可以把各单元的功能在同一个或多个软件和/或硬件中实现。
此外,本说明书还提供了电子设备。参考图9所示,在本说明书的一些实施方案中,所述电子设备可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行对应的方法步骤。
例如,在本说明书的一些实施方案中,当存储在所述存储器上的计算机程序为上述隐私机器学习模型生成方法对应的指令集时,该计算机程序被所述处理器运行时,可以执行如下步骤:
确定密码算子;
根据明文机器学习框架的原生优化器类及所述密码算子,派生密码算子优化器类;
根据所述密码算子优化器类创建静态优化器;
执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;所述明文机器学习模型基于所述明文机器学习框架生成。
例如,在本说明书的另一些实施方案中,当存储在所述存储器上的计算机程序为上述隐私机器学习模型训练方法对应的指令集时,该计算机程序被所述处理器运行时,可以执行如下步骤:
基于训练样本集训练隐私机器学习模型,以生成第一模型;
基于测试样本集测试所述第一模型是否满足预设条件;
当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
本申请是参照根据本说明书实施方案的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施方案可提供为方法、系统或计算机程序产品。因此,本说明书实施方案可采用完全硬件实施方案、完全软件实施方案或结合软件和硬件方面的实施方案的形式。而且,本说明书实施方案可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施方案均采用递进的方式描述,各个实施方案之间相同相似的部分互相参见即可,每个实施方案重点说明的都是与其他实施方案的不同之处。尤其,对于系统实施方案而言,由于其基本相似于方法实施方案,所以描述的比较简单,相关之处参见方法实施方案的部分说明即可。在本说明书的描述中,参考术语“一个实施方案”、“一些实施方案”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方案或示例描述的具体特征、结构、材料或者特点包含于本说明书实施方案的至少一个实施方案或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施方案或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方案或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方案或示例以及不同实施方案或示例的特征进行结合和组合。
以上所述仅为本申请的一部分实施方案而已,并不用于限制本说明书实施方案。对于本领域技术人员来说,本说明书实施方案可以有各种更改和变化。凡在本说明书实施方案的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施方案的权利要求范围之内。

Claims (20)

1.一种隐私机器学习模型生成方法,其特征在于,包括:
获取明文机器学习模型中的静态优化器;
执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成;
所述将所述明文机器学习模型中的原生明文算子替换为密码算子,包括:
将明文机器学习模型中的原生静态图替换为密码静态图:
从明文机器学习模型的变量集合中获取损失函数返回的变量名称;
确认所述损失函数返回的变量名称是否位于目标模型的变量集合中;
当所述损失函数返回的变量名称位于目标模型的变量集合中时,在所述目标模型的静态图中根据所述损失函数返回的变量名称获取张量并返回。
2.如权利要求1所述的隐私机器学习模型生成方法,其特征在于,所述密码算子包括以下中的任意一种:
安全多方计算算子;
同态加密算子;
零知识证明算子。
3.如权利要求1所述的隐私机器学习模型生成方法,其特征在于,所述将明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数返回的变量名称未位于目标模型的变量集合中时,确认所述损失函数所返回变量的类型;
根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图。
4.如权利要求3所述的隐私机器学习模型生成方法,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,包括:
当所述损失函数所返回变量的类型为张量类型时,获取该张量的张量名称;
确认所述张量名称是否为占位符;
当所述张量名称是占位符时,返回该张量。
5.如权利要求4所述的隐私机器学习模型生成方法,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述张量名称不是占位符时,对该张量所属的原生算子进行递归替换,并返回替换后形成的新算子;
获取该张量的输出索引值,并从所述新算子中使用所述输出索引值获取输出边张量并返回。
6.如权利要求3所述的隐私机器学习模型生成方法,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数所返回变量的类型为算子类型时,对该算子对应的边进行递归替换,并返回替换后形成的新算子对应的边;
确认该算子对应的数据流中是否包含目标模型的模型私有数据;
当该算子对应的数据流中包含目标模型的模型私有数据时,以所述新算子对应的边作为参数,调用密码算子创建函数创建对应的密码算子,并返回所述密码算子。
7.如权利要求6所述的隐私机器学习模型生成方法,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当该算子对应的数据流中未包含目标模型的模型私有数据时,将所述明文机器学习模型的算子深度拷贝至所述目标模型中,并返回深度拷贝的算子。
8.如权利要求3所述的隐私机器学习模型生成方法,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数所返回变量的类型不是张量类型也不是算子类型时,抛出错误。
9.一种隐私机器学习模型生成装置,其特征在于,包括:
获取模块,用于获取明文机器学习模型中的静态优化器;
执行模块,用于执行所述静态优化器,以将所述明文机器学习模型中的原生明文算子替换为密码算子,从而生成隐私机器学习模型;
其中,所述静态优化器根据密码算子优化器类创建,所述密码算子优化器类派生于明文机器学习框架的原生优化器类,所述明文机器学习模型基于明文机器学习框架生成;
所述将所述明文机器学习模型中的原生明文算子替换为密码算子,包括:
将明文机器学习模型中的原生静态图替换为密码静态图:
从明文机器学习模型的变量集合中获取损失函数返回的变量名称;
确认所述损失函数返回的变量名称是否位于目标模型的变量集合中;
当所述损失函数返回的变量名称位于目标模型的变量集合中时,在所述目标模型的静态图中根据所述损失函数返回的变量名称获取张量并返回。
10.如权利要求9所述的隐私机器学习模型生成装置,其特征在于,所述密码算子包括以下中的任意一种:
安全多方计算算子;
同态加密算子;
零知识证明算子。
11.如权利要求9所述的隐私机器学习模型生成装置,其特征在于,所述将明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数返回的变量名称未位于目标模型的变量集合中时,确认所述损失函数所返回变量的类型;
根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图。
12.如权利要求11所述的隐私机器学习模型生成装置,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,包括:
当所述损失函数所返回变量的类型为张量类型时,获取该张量的张量名称;
确认所述张量名称是否为占位符;
当所述张量名称是占位符时,返回该张量。
13.如权利要求12所述的隐私机器学习模型生成装置,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述张量名称不是占位符时,对该张量所属的原生算子进行递归替换,并返回替换后形成的新算子;
获取该张量的输出索引值,并从所述新算子中使用所述输出索引值获取输出边张量并返回。
14.如权利要求9所述的隐私机器学习模型生成装置,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数所返回变量的类型为算子类型时,对该算子对应的边进行递归替换,并返回替换后形成的新算子对应的边;
确认该算子对应的数据流中是否包含目标模型的模型私有数据;
当该算子对应的数据流中包含目标模型的模型私有数据时,以所述新算子对应的边作为参数,调用密码算子创建函数创建对应的密码算子,并返回所述密码算子。
15.如权利要求14所述的隐私机器学习模型生成装置,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当该算子对应的数据流中未包含目标模型的模型私有数据时,将所述明文机器学习模型的算子深度拷贝至所述目标模型中,并返回深度拷贝的算子。
16.如权利要求11所述的隐私机器学习模型生成装置,其特征在于,所述根据所述损失函数所返回变量的类型,将所述明文机器学习模型中的原生静态图替换为密码静态图,还包括:
当所述损失函数所返回变量的类型不是张量类型也不是算子类型时,抛出错误。
17.一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行权利要求1-8任意一项所述的方法。
18.一种隐私机器学习模型训练方法,其特征在于,包括如下步骤:
基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用权利要求1-8任意一项所述的方法生成;
基于测试样本集测试所述第一模型是否满足预设条件;
当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
19.一种隐私机器学习模型训练装置,其特征在于,包括:
模型训练模块,用于基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用权利要求1-8任意一项所述的方法生成;
模型验证模块,用于基于测试样本集测试所述第一模型是否满足预设条件;
模型确定模块,用于当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
20.一种电子设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行如下步骤:
基于训练样本集训练隐私机器学习模型,以生成第一模型;所述隐私机器学习模型利用权利要求1-8任意一项所述的方法生成;
基于测试样本集测试所述第一模型是否满足预设条件;
当所述第一模型满足所述预设条件时,将所述第一模型作为数据预测模型。
CN202010201726.7A 2020-03-20 2020-03-20 隐私机器学习模型生成、训练方法、装置及电子设备 Active CN111415013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010201726.7A CN111415013B (zh) 2020-03-20 2020-03-20 隐私机器学习模型生成、训练方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010201726.7A CN111415013B (zh) 2020-03-20 2020-03-20 隐私机器学习模型生成、训练方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111415013A CN111415013A (zh) 2020-07-14
CN111415013B true CN111415013B (zh) 2024-03-22

Family

ID=71491404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010201726.7A Active CN111415013B (zh) 2020-03-20 2020-03-20 隐私机器学习模型生成、训练方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111415013B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021203260A1 (zh) * 2020-04-08 2021-10-14 云图技术有限公司 一种节点匹配方法、装置、设备及系统
CN112231650B (zh) * 2020-09-29 2021-06-29 北京瑞莱智慧科技有限公司 一种数据隐私保护协议的分析方法、装置及电子设备
CN112270415B (zh) * 2020-11-25 2024-03-22 矩阵元技术(深圳)有限公司 一种加密机器学习的训练数据准备方法、装置和设备
CN114936631B (zh) * 2021-04-26 2023-06-09 华为技术有限公司 一种模型处理方法及装置
CN113672985B (zh) * 2021-08-25 2023-11-14 支付宝(杭州)信息技术有限公司 用于隐私保护的机器学习算法脚本编译方法和编译器
CN113965313B (zh) * 2021-12-15 2022-04-05 北京百度网讯科技有限公司 基于同态加密的模型训练方法、装置、设备以及存储介质
CN115115062B (zh) * 2022-06-29 2023-09-19 北京百度网讯科技有限公司 机器学习模型建立方法、相关装置及计算机程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717514A (zh) * 2018-05-21 2018-10-30 中国人民大学 一种机器学习中的数据隐私保护方法和系统
CN109214193A (zh) * 2017-07-05 2019-01-15 阿里巴巴集团控股有限公司 数据加密、机器学习模型训练方法、装置以及电子设备
CN109255234A (zh) * 2018-08-15 2019-01-22 腾讯科技(深圳)有限公司 机器学习模型的处理方法、装置、介质及电子设备
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110175469A (zh) * 2019-05-16 2019-08-27 山东大学 一种社交媒体用户隐私泄漏检测方法、系统、设备及介质
CN110399738A (zh) * 2019-07-26 2019-11-01 安徽理工大学 具有隐私保护的分布式在线优化算法
CN110619220A (zh) * 2019-08-09 2019-12-27 北京小米移动软件有限公司 对神经网络模型加密的方法及装置、存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516253B1 (en) * 2010-01-18 2013-08-20 Viasat, Inc. Self-keyed protection of anticipatory content
US10644882B2 (en) * 2017-04-25 2020-05-05 Bank Of America Corporation Electronic security keys for data security based on quantum particle states

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214193A (zh) * 2017-07-05 2019-01-15 阿里巴巴集团控股有限公司 数据加密、机器学习模型训练方法、装置以及电子设备
CN108717514A (zh) * 2018-05-21 2018-10-30 中国人民大学 一种机器学习中的数据隐私保护方法和系统
CN109255234A (zh) * 2018-08-15 2019-01-22 腾讯科技(深圳)有限公司 机器学习模型的处理方法、装置、介质及电子设备
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110175469A (zh) * 2019-05-16 2019-08-27 山东大学 一种社交媒体用户隐私泄漏检测方法、系统、设备及介质
CN110399738A (zh) * 2019-07-26 2019-11-01 安徽理工大学 具有隐私保护的分布式在线优化算法
CN110619220A (zh) * 2019-08-09 2019-12-27 北京小米移动软件有限公司 对神经网络模型加密的方法及装置、存储介质

Also Published As

Publication number Publication date
CN111415013A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN111415013B (zh) 隐私机器学习模型生成、训练方法、装置及电子设备
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
De Cock et al. Efficient and private scoring of decision trees, support vector machines and logistic regression models based on pre-computation
CN110457912B (zh) 数据处理方法、装置和电子设备
Blanton et al. Secure and efficient outsourcing of sequence comparisons
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN110969264B (zh) 模型训练方法、分布式预测方法及其系统
CN111125727B (zh) 混淆电路生成方法、预测结果确定方法、装置和电子设备
CN110427969B (zh) 数据处理方法、装置和电子设备
CN111414646B (zh) 实现隐私保护的数据处理方法和装置
CN110414567A (zh) 数据处理方法、装置和电子设备
CN111428880A (zh) 隐私机器学习实现方法、装置、设备及存储介质
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
US20220006614A1 (en) Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method, and program
WO2021184346A1 (zh) 隐私机器学习模型生成、训练方法、装置及电子设备
WO2022127474A1 (en) Providing explainable machine learning model results using distributed ledgers
Escudero et al. More efficient dishonest majority secure computation over Z 2 k via galois rings
Zheng et al. SecSkyline: Fast privacy-preserving skyline queries over encrypted cloud databases
US11829468B2 (en) Neural network confidentiality
Bonnoron et al. A note on ring-LWE security in the case of fully homomorphic encryption
WO2020211075A1 (zh) 去中心化多方安全数据处理方法、装置及存储介质
CN117034263A (zh) 一种智能合约在无人机集群中的应用方法
CN114172631B (zh) 一种基于秘密分享的排序方法和系统
CN113849837B (zh) 一种安全模型的训练方法、装置、设备以及数据处理方法
Gaid et al. Homomorphic encryption

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant