CN111414646A - 实现隐私保护的数据处理方法和装置 - Google Patents
实现隐私保护的数据处理方法和装置 Download PDFInfo
- Publication number
- CN111414646A CN111414646A CN202010201068.1A CN202010201068A CN111414646A CN 111414646 A CN111414646 A CN 111414646A CN 202010201068 A CN202010201068 A CN 202010201068A CN 111414646 A CN111414646 A CN 111414646A
- Authority
- CN
- China
- Prior art keywords
- operator
- plaintext
- machine learning
- cryptographic
- learning model
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000010801 machine learning Methods 0.000 claims abstract description 230
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 54
- 238000009434 installation Methods 0.000 claims description 25
- 230000003068 static effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008676 import Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书提供了一种实现隐私保护的数据处理方法和装置,其中,该方法由多个数据持有方执行,多个数据持有方中各数据持有方中存储有各自的隐私样本数据,该方法包括:将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型;执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。上述方案仅需将明文机器学习模型中的明文算子替换为对应的密码学算子,即可保护隐私样本数据不被泄露,操作方便简单,易用性强。
Description
技术领域
本申请涉及数据安全技术领域,特别涉及一种实现隐私保护的数据处理方法和装置。
背景技术
随着人工神经网络反向传播算法的提出,掀起了机器学习的热潮。机器学习需要大量的样本数据,人们开始担心自己的隐私数据被收集后会被泄露或者是被不正当使用。因此,如何将隐私数据很好地保护起来对未来机器学习至关重要。
目前,结合密码学与AI(Artificial Intelligence,人工智能)能够解决现在数据行业隐私保护的问题。因此,各种基于加密机器学习的框架(例如,TF-Encrypted、PySyft等)应运而生。这些加密机器学习框架与主流AI框架(例如,Tensorflow、PyTorch等)类似,利用了框架API(Application Programming Interface,应用程序接口)的易用性,同时通过MPC(Secure Multi-Party Computation,安全多方计算)和HE(HomomorphicEncryption,同态加密)等多种密码学算法对加密数据进行训练和预测。然而,这些加密机器学习框架在易用性、可扩展性和性能等方面均存在缺陷,特别是易用性将会影响这些加密机器学习框架的推广。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种实现隐私保护的数据处理方法和装置,以解决现有技术中的隐私机密机器学习框架的易用性差的问题。
本说明书实施例提供了一种实现隐私保护的数据处理方法,由多个数据持有方执行,多个数据持有方中各数据持有方中存储有各自的隐私样本数据,该方法包括:将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型;执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。
在一个实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,包括:获取多个密码算子,并对多个密码算子中各密码算子进行注册;获取优化器程序,并对优化器程序进行注册,其中,优化器程序用于将预设明文机器学习模型中的明文算子替换为对应的密码算子。
在一个实施例中,优化器程序还用于将预设明文机器学习模型中的明文算子梯度函数替换为对应的密码算子梯度函数;相应地,在获取多个密码算子,并对多个密码算子中各密码算子进行注册之后,还包括:获取多个密码算子中各密码算子对应的密码算子梯度函数,并对各密码算子对应的密码算子梯度函数进行注册;将经注册的密码算子梯度函数与对应的经注册的密码算子进行关联。
在一个实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,包括:获取安装包文件,其中,安装包文件是基于二进制文件构建的,二进制文件由用于实现多个密码算子的源码、用于实现优化器程序的源码、用于注册多个密码算子的源码和用于注册优化器程序的源码编译后得到,优化器程序在执行时用于将明文模型中的明文算子替换为明文算子对应的密码算子;对安装包文件进行安装;将安装后的文件导入预设明文机器学习模型,以将预设明文机器学习模型中的明文算子替换为对应的密码算子。
在一个实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,包括:基于预设明文机器学习模型对应的数据流图中的数据流,确定预设明文机器学习模型中需要替换的明文算子;将预设明文机器学习模型中需要替换的明文算子替换为对应的密码算子。
在一个实施例中,优化器程序包括以下至少之一:静态优化器程序和动态优化器程序。
在一个实施例中,密码算子包括以下至少之一:安全多方计算算子、同态加密算子和零知识证明算子。
本说明书实施例还提供了一种实现隐私保护的数据处理装置,位于多个数据持有方中各数据持有方中,多个数据持有方中各数据持有方中存储有各自的隐私样本数据,该装置包括:替换模块,用于将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型;训练模块,用于执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的实现隐私保护的数据处理方法的步骤。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的实现隐私保护的数据处理方法的步骤。
在本说明书实施例中,提供了一种实现隐私保护的数据处理方法,由多个数据持有方执行,各数据持有方中存储有各自的隐私样本数据,各数据持有方通过将预设明文机器学习模型中的明文算子替换为对应的密码算子,得到隐私机器学习模型,之后,多个数据持有方执行安全多方计算,以基于各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。上述方案中,仅需将预设明文机器学习模型中的明文算子替换为对应的密码算子,即可得到对应的隐私机器学习模型,之后多个数据持有方执行安全多方计算,即可基于各自的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型,因而可以有效保护各个数据持有方的隐私样本数据的隐私。此外,上述方案无需增加其他的应用程序接口,也无需增加其他的隐私数据类型,仅需将明文机器学习模型中的明文算子替换为对应的密码算子,操作方便简单,易用性强。通过上述方案解决了现有的隐私机密机器学习框架的易用性差的技术问题,达到了有效保护数据隐私并提高机器学习框架易用性的技术效果。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1示出了本说明书一个实施例中实现隐私保护的数据处理方法的应用场景的示意图;
图2示出了本说明书一个实施例中的实现隐私保护的数据处理方法的流程图;
图3示出了本说明书一个实施例中的实现隐私保护的数据处理方法的框图;
图4示出了本说明书一个实施例中的实现隐私保护的数据处理装置的示意图;
图5示出了本说明书一个实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在一个场景示例中,可以在机器学习框架中编写明文机器学习模型。其中,明文机器学习模型中可以包括机器学习框架提供的本地明文算子。为了在利用样本数据训练机器模型时保护样本数据的隐私,可以将明文机器学习模型中的本地明文算子替换为对应的密码算子,得到对应的隐私机器学习模型。这种替换对用户来说是透明的。之后,可以基于隐私样本数据对隐私机器学习模型进行训练,得到目标机器学习模型。
请参考图1,图1示出了上述场景示例的示意图。在图1中,示例性地示出了3个数据持有方:数据持有方1、数据持有方2和数据持有方3。数据持有方1中存储有第一隐私样本数据,数据持有方2中存储有第二隐私样本数据,数据持有方3中存储有第三隐私样本数据。数据持有方1、数据持有方2和数据持有方3可以获取待训练的预设明文机器学习模型,并将预设明文机器学习模型中的明文算子替换为密码算子,得到预设明文机器学习模型对应的隐私机器学习模型。之后,数据持有方1、数据持有方2和数据持有方3可以执行安全多方计算,以基于各自的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型。通过安全多方计算对隐私机器学习模型进行联合训练,可以保护各个数据持有方的隐私样本数据不被泄露,有效保护数据隐私。
在本场景示例中,预设明文机器学习模型可以是基于明文机器学习框架实现的。其中,明文机器学习框架可以为任何已有的明文机器学习框架,例如,TensorFlow、Pytorch、MxNet和CNTK-Azure等框架。因此,本说明书对于明文机器学习模型具体采用何种明文机器学习框架生成不作限定,具体可根据需要选择。
在本场景示例中,密码算子可以为任何可在两个或多个数据持有方联合(或协同)进行机器学习训练及预测场景中,为各方输入数据提供隐私保护的密码算子。例如,在一些示例性实施方案中,密码算子可以为安全多方计算(Secure Multi-Party Computation,MPC)算子、同态加密(Homomorphic Encryption,HE)算子、或零知识证明(Zero-knowledgeProof,ZKP)算子等。同样,本说明书对具体采用何种密码算子不作限定,具体可根据需要选择。
在本场景示例中,具体的,开发人员可以编写用于实现机器学习框架中的本地明文算子对应的密码算子的源码以及用于在机器学习框架中注册密码算子的源码,编写用于实现密码算子的梯度函数的源码以及用于在机器学习框架中注册密码算子梯度函数的源码,编写实现优化器程序的源码以及在机器学习框架中注册优化器程序的源码。其中,优化器程序用于将明文机器模型中的明文算子替换为对应的密码算子。之后,开发人员可以将实现密码算子的源码、注册密码算子的源码、实现密码算子梯度函数的源码、注册密码算子梯度函数的源码、实现优化器程序的源码以及注册优化器程序的源码编译成二进制文件。之后,基于该二进制文件生成python安装包(例如,文件名为Rosetta.whl)。数据持有方1、数据持有方2和数据持有方3可以下载该安装包并进行安装。数据持有方1、数据持有方2和数据持有方3的用户仅需在其编写的明文机器学习模型下增加一行代码“import Rosetta”即可支持隐私保护功能。之后,可以执行安全多方计算,以基于隐私样本数据对该模型进行联合训练,得到训练好的目标机器学习模型。在得到目标机器学习模型之后,可以利用该目标机器学习模型进行预测。
在本场景示例中,各个数据持有方通过联合训练得到的目标机器学习模型可以是完整机器学习模型,即模型参数是完整的。在这种情况下,各数据持有方可以获取待预测数据,将待预测数据输入训练好的完整机器学习模型中,得到预测结果。例如,数据持有方1可以获取待预测数据,通过将待预测数据输入完整机器学习模型,即可得到预测结果。
在本场景示例中,各个数据持有方通过联合训练得到的目标机器学习模型可以是不完整机器学习模型,即模型参数是不完整的。在这种情况下,多个数据持有方中的一个数据持有方可以获取待预测数据,该数据持有方与其他数据持有方进行多方安全计算,以得到待预测数据的联合预测结果。例如,数据持有方1可以获取待预测数据。之后,数据持有方1与数据持有方2和数据持有方3进行安全多方计算,以基于待预测数据和目标机器学习模型进行联合预测,得到联合预测结果。
本说明书实施例提供了一种实现隐私保护的数据处理方法,由多个数据持有方执行,多个数据持有方中各数据持有方中存储有各自的隐私样本数据。图2示出了本说明书一个实施例中实现隐私保护的数据处理方法的应用场景的示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图2所示,本说明书一种实施例提供的实现隐私保护的数据处理方法可以包括以下步骤。
步骤S201,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型。
具体的,多个数据持有方中各数据持有方可以存储有预设明文机器学习模型。其中,预设明文机器学习模型可以是用户在机器学习框架中建立的机器模型。机器学习框架可以是指包括机器学习算法在内的所有机器学习的系统或方法,可以包括数据表示与处理的方法、表示和建议预测模型的方法、评价和使用建模结果的方法。机器学习框架可以包括以下之一:TensorFlow、Pytorch、MxNet和CNTK-Azure等框架。机器学习框架中可以包括多个本地明文算子。基于机器学习框架建立的预设明文机器学习模型中可以包括该机器学习框架中的本地明文算子(简称明文算子)。
多个数据持有方中各数据持有方中可以存储有各自的隐私样本数据。为了保证各自隐私样本数据不泄露给其他数据持有方,各数据持有方可以将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型。其中,明文算子对应的密码算子是指在加密的情况下实现该明文算子对应操作的算子。
步骤S202,执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。
在各数据持有方得到隐私机器学习模型之后,多个数据持有方可以执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练。通过对隐私机器学习模型进行联合训练,可以确定隐私机器学习模型中的模型参数,得到训练好的目标机器学习模型。在输出目标机器学习模型之后,各数据持有方可以基于该目标机器学习模型对待预测数据进行处理,得到预测结果。
上述实施例中的方法,仅需将预设明文机器学习模型中的明文算子替换为对应的密码算子,即可得到对应的隐私机器学习模型,之后多个数据持有方执行安全多方计算,即可基于各自的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型,因而可以有效保护各个数据持有方的隐私样本数据的隐私。此外,上述方案无需增加其他的应用程序接口,也无需增加其他的隐私数据类型,仅需将明文机器学习模型中的明文算子替换为对应的密码算子,操作方便简单,易用性强。
在本说明书一些实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,可以包括:获取多个密码算子,并对多个密码算子中各密码算子进行注册;获取优化器程序,并对优化器程序进行注册,其中,优化器程序用于将预设明文机器学习模型中的明文算子替换为对应的密码算子。
具体的,各数据持有方可以获取多个密码算子。其中,多个密码算子中的各密码算子可以与机器学习框架中的多个明文算子对应。即,获得多个密码算子可以包括预设明文机器学习模型中的明文算子对应的密码算子。例如,各数据持有方可以接收用户输入的多个密码算子。又例如,多个密码算子可以存储在服务器中,各数据持有方可以向服务器发送获取请求,服务器响应于该获取请求将多个密码算子发送至各数据持有方。
在获得多个密码算子之后,各数据持有方可以将各密码算子注册到机器学习框架中。例如,各数据持有方可以基于机器学习框架提供的算子注册接口将多个密码算子中各密码算子注册到机器学习框架中。
各数据持有方可以获取优化器程序。其中,优化器程序用于将基于机器学习框架建立的预设明文机器学习模型中的明文算子替换为对应的密码算子。例如,各数据持有方可以接收用户输入的优化器程序。又例如,优化器程序可以存储在服务器中,各数据持有方可以向服务器发送获取请求,服务器响应于该获取请求将优化器程序发送至各数据持有方。
在获得优化器程序之后,各数据持有方可以将优化器程序注册到机器学习框架中。例如,各数据持有方可以基于机器学习框架提供的优化器注册接口将优化器程序注册到机器学习框架中。
上述实施例中的方法,通过将多个密码算子和优化器程序注册到机器学习框架中,可以将该机器学习框架中建立的预设明文机器学习模型中的明文算子替换为对应的密码算子,从而得到预设明文机器学习模型对应的隐私机器学习模型。
在本说明书一些实施例中,优化器程序可以包括以下至少之一:静态优化器程序和动态优化器程序。其中,静态优化器程序是指在明文机器学习模型中的数据流图执行之前,将机器学习模型中的明文算子替换为对应的密码算子。动态优化器程序是指在明文机器学习模型中的数据流图执行的过程中,将明文机器学习模型中的明文算子替换为对应的密码算子。优化器程序可以包括静态优化器程序,也可以包括动态优化器程序,或者可以包括动态优化器程序和静态优化器程序两者。上述实施例中,优化器程序可以包括静态优化器程序和动态优化器程序中的至少之一,灵活性高。
在本说明书一些实施例中,优化器程序还可以用于将预设明文机器学习模型中的明文算子梯度函数替换为对应的密码算子梯度函数;相应地,在获取多个密码算子,并对多个密码算子中各密码算子进行注册之后,还可以包括:获取多个密码算子中各密码算子对应的密码算子梯度函数,并对各密码算子对应的密码算子梯度函数进行注册;将经注册的密码算子梯度函数与对应的经注册的密码算子进行关联。
具体的,考虑到机器学习会涉及到反向传播算法,而反向传播算子会涉及到梯度函数,因此,需要将预设明文机器学习模型中的明文算子替换为密码算子以及将预设明文机器学习模型中的明文算子梯度函数替换为密码算子梯度函数。即,优化器程序还可以用于将预设明文机器学习模型中的明文算子梯度函数替换为对应的密码算子梯度函数。
在各数据持有方将获得的多个密码算子注册到机器学习框架中之后,各数据持有方可以获取多个密码算子中各密码算子对应的密码算子梯度函数。例如,各数据持有方可以接收用户输入的各密码算子对应的密码算子梯度函数。又例如,各密码算子对应的密码算子梯度函数可以存储在服务器中,各数据持有方可以向服务器发送获取请求,服务器响应于该获取请求将各密码算子对应的密码算子梯度函数发送至各数据持有方。
在获得各密码算子对应的密码算子梯度函数之后,各数据持有方可以将各密码算子对应的密码算子梯度函数学习框架中。例如,各数据持有方可以基于机器学习框架提供的梯度函数注册接口将优化器程序注册到机器学习框架中。各数据持有方还可以将各密码算子与各密码算子对应的密码算子梯度函数进行关联。通过将密码算子与对应的梯度函数关联起来,可以使得机器学习框架在进行自动求导时能够根据密码算子找到与之匹配的密码算子梯度函数。
在本说明书一些实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,可以包括:获取安装包文件,其中,安装包文件是基于二进制文件构建的,二进制文件由用于实现多个密码算子的源码、用于实现优化器程序的源码、用于注册多个密码算子的源码和用于注册优化器程序的源码编译后得到,优化器程序在执行时用于将明文模型中的明文算子替换为明文算子对应的密码算子;对安装包文件进行安装;将安装后的文件导入预设明文机器学习模型,以将预设明文机器学习模型中的明文算子替换为对应的密码算子。
可以通过安装包的形式来实现将预设明文机器学习模型中的明文算子替换为对应的密码算子。具体的,可以将用于实现多个密码算子的源码、用于注册多个密码算子的源码、用于实现优化器程序的源码和用于注册优化器程序的源码编译成二进制文件。之后,可以基于编译生成的二进制文件生成安装包文件。各数据持有方可以获取该安装包文件。例如,安装包文件可以存储在服务器中。各数据持有方可以向服务器发送下载请求,服务器响应于下载请求向各数据持有方发送安装包文件。在获得安装包文件之后,各数据持有方可以对该安装包文件进行安装,得到安装后的文件。其中,安装后的文件可以包括用于解释执行的代码以及可执行代码。之后,各数据持有方可以将安装后的文件导入明文机器学习模型,从而将预设明文机器学习模型中的明文算子替换为对应的密码算子。在一个实施方式,各数据持有方的用户可以通过在预设明文模型里增加一行代码(例如,import Rosetta,Rosetta为安装包的名称),即可将安装后的文件导入预设明文机器学习模型中,即可以将明文机器学习模型中的明文算子替换为对应的密码算子。
上述实施例中的方法,仅需在预设明文机器学习模型中增加一行代码即可得到明文机器学习模型对应的隐私机器学习模型,操作方便简单,无需增加其他的应用程序接口,也无需增加其他的隐私数据类型,易用性好。而且,通过上述方法可以极为方便地移植明文机器学习模型。相对于其他的隐私机器学习框架,如果要移植明文机器学习模型就必须要使用相应的隐私数据类型和隐私应用程序接口重写,而使用本方案只需要在明文模型的源码中增加一行导入代码即可支持隐私保护,故移植性极高。此外,通过上述方式可以很方便地对模型进行扩展。相对于其他的隐私机器学习框架,如果要扩展支持另外的密码算法,除了要实现另外的密码算子外,还需要增加对应的应用程序接口和隐私数据类型,而本方案仅需将明文算子替换为对应的密码算子即可,无需增加额外的应用程序接口或隐私数据类型。
在本说明书一些实施例中,将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,可以包括:基于预设明文机器学习模型对应的数据流图中的数据流,确定预设明文机器学习模型中需要替换的明文算子;将预设明文机器学习模型中需要替换的明文算子替换为对应的密码算子。
具体的,在将预设明文机器学习模型中的明文算子替换为对应的密码算子之前,可以先确定预设明文机器学习模型中需要替换的明文算子。可以基于预设明文机器学习模型对应的数据流图中的数据流,确定预设明文机器学习模型中需要替换的明文算子。其中,数据流图可以用于表征明文机器学习模型中的数据流动信息。例如,在TensorFlow机器学习框架中,数据流图为张量流图。张量流图中的节点在图中表示数学操作,图中的线则表示在节点间相互联系的多维数据数组,即张量。
在一个实施方式中,考虑到是为了保护各持有方中存储的隐私样本数据的隐私才将预设明文机器学习模型中的明文算子替换为明文算子对应的算子,因此可以将隐私样本数据流经的算子确定为要替换的明文算子。在另一个实施方式中,考虑到隐私样本数据是为了训练模型,以得到模型参数(也称为训练变量),因此,可以将训练变量流经的算子确定为要替换的明文算子。
在确定了要替换的明文算子之后,可以将预设明文机器学习模型中需要替换的明文算子替换为对应的密码算子。上述实施例中,基于预设明文机器学习模型对应的数据流图中的数据流,可以确定要替换的明文算子,从而完成替换。
为了实现隐私样本数据的隐私保护,密码算子可以为任何可在两个或多个数据持有方联合(或协同)进行机器学习模型训练及预测场景中,为各方输入数据提供隐私保护的密码算子。例如,在本说明书一些实施例中,密码算子可以包括安全多方计算算子(MPCOPs)、同态加密算子(HE OPs)、或零知识证明算子(ZK OPs)等。其中,安全多方计算算子可以包括混淆电路(Garbled Circuit)、不经意传输(Oblivious Transfer)和秘密共享(Secret Sharing)中的一种或多种。上述密码算子仅是示例性的,本说明书对具体采用何种密码算子不作限定,具体可根据需要进行选择。
相应地,步骤S202中所述的执行安全多方计算可以基于步骤S201中所替换的密码算子来执行。步骤S202中的安全多方计算可以是广义的安全多方计算,可以包括MPC、HE和ZK中的至少一种。例如,在将预设明文机器学习模型中的明文算子替换为MPC OPs的情况下,多个数据持有方在训练模型时执行MPC计算。在将预设明文机器学习模型中的明文算子替换为HE OPs的情况下,多个数据持有方在训练模型时执行HE计算。在将预设明文机器学习模型中的明文算子替换为ZK OPs的情况下,多个数据持有方在训练模型时执行ZK计算。
在本说明书一些实施例中,可以由C语言或C++语言实现密码算子。通过采用C语言或C++语言来实现密码算子,可以提高机器模型的性能。相比于其他隐私机器学习方案中的密码算法都是使用python实现,本方案中对密码算子都是使用C/C++实现,故性能高。当然,也可以采用其他语言来实现密码算子,例如Python语言等。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
本具体实施例中以TensorFlow框架为例进行说明。在本具体实施例中,实现隐私保护的数据处理方法可以包括以下步骤。
步骤1,框架开发人员用C/C++语言编写在各种设备上实现TensorFlow框架的本地明文算子(TF Native OPs)对应的密码算子(Crypto OPs)的源码。其中,由于TensorFlow框架支持分布式数据处理,可以在多种设备上分布执行。其中,多种设备可以包括CPU(中央处理器,Central Processing Unit)、GPU(图形处理器,Graphics Processing Unit)或TPU(张量处理单元,Tensor Processing Unit)等。由于不同设备上实现密码算子的指令集不同,因此需要实现适用于不同设备的密码算子。
步骤2,框架开发人员用C/C++语言编写编写用于在TensorFlow框架中注册密码算子的源码。
步骤3,框架开发人员用C/C++语言编写编写用于实现密码算子对应的密码算子梯度函数(Crypto OP Gradient Functions)的源码。
步骤4,框架开发人员用C/C++语言编写编写用于在TensorFlow框架中注册密码算子梯度函数以及将密码算子与密码算子梯度函数进行关联的源码。将相对应的密码算子与密码算子梯度函数关联起来,可以使得Tensorflow框架在进行自动求导时能够根据密码算子自动找到与之匹配的密码算子梯度函数。
由于本具体实施例中的方法中的密码算子都是使用C/C++实现,因此相对于其他的隐私机器学习框架中的密码算法使用python实现,本方案的性能更好。
此外,若其他的隐私机器学习框架要扩展支持另外的密码算法,如:ZK(零知识密码算法),则需要对框架进行扩展,除了要实现零知识密码算子(ZK Ops)外,还需增加对应的隐私应用程序接口和隐私数据类型。然而,本方案只要增加ZK Ops即可,无需修改框架或者增加其他的隐私数据类型,故本方案的扩展性好。
步骤5,框架开发人员用C/C++语言编写编写用于实现将明文机器学习模型对应的TensorFlow Graph(张量流图)中的本地明文算子替换为对应的密码算子的优化器程序。其中,优化器程序可以包括静态优化器程序(Static Pass)或动态优化器程序(DynamicPass)或两者。其中,静态优化器程序所实现的功能是在TensorFlow Graph执行之前进行替换。动态优化器程序所实现的功能是在TensorFlow Graph执行时进行替换。将静态优化器程序和动态优化器程序结合起来,可以提高效率和灵活性。
相对于其他的隐私机器学习框架,本具体实施例中的方法不增加其他的应用程序接口,也未增加其他的隐私数据类型,只需在TensorFlow框架的底层自动使用密码算子替换框架本地明文算子。故对用户来说,采用本方案,使用隐私机器学习算法与使用明文机器学习在算法编码上完成一致。因此,相比于已有隐私框架实现的方案,本方案的易用性更高。
步骤6,框架开发人员用C/C++语言编写编写用于在TensorFlow框架中注册静态优化器程序和/或动态优化器程序的源码。
步骤7,基于编写完成的实现密码算子的源码、注册密码算子的源码、实现密码算子梯度函数的源码、注册密码算子梯度函数的源码、实现优化器程序的源码和注册优化器程序的源码,构建二进制文件,例如生成Rosetta.so或Rosetta.dll。
步骤8,基于得到的二进制文件,制作python pip安装包,如Rosetta.whl。
步骤9,将生成的安装包发送至多个数据持有方中各数据持有方。
步骤10,各数据持有方对获得的安装包进行安装,并在各数据持有方中的明文机器学习模型中增加一行代码import Rosetta,即可将安装后的文件导入明文机器学习模型,得到对应的隐私机器学习模型。
相对于其他的隐私机器学习框架,使用本方案可以极为方便地移植明文模型。对于其他的隐私机器学习框架,如果要移植明文模型就必须要使用相应的隐私数据类型和隐私应用程序接口重写。然而,使用本方案只需要在明文模型的源码中增加一行importRosetta即可支持隐私方案,故移植性极高。
步骤11,多个数据持有方执行安全多方计算,以基于各数据持有方中存储的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型。目标机器学习模型可以用于后续待预测数据的预测。
本方案中通过由多个数据持有方执行安全多方计算,即可基于各自的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型,因而可以有效保护各个数据持有方的隐私样本数据的隐私。
请参考图3,示出了本说明书一个实施例中提供的实现隐私保护的数据处理方法的框图。如图3所示,与TensorFlow框架结合实现隐私机器学习模型的训练与预测,框图中主要包括以下几个模块:Rosetta Static Pass(静态优化器模块)、Rosetta Dynamic Pass(动态优化器模块)和Rosetta Crypto Ops(密码算子模块)。图3中所示的框图中除了上面的Rosetta Static Pass、Rosetta Dynamic Pass和Rosetta Crypto Ops是新增模块外,其他模块均是复用Tensorflow框架中的模块,在此不做赘述。
Rosetta Static Pass是基于python编程接口的静态图优化模块,负责在TensorFlow图执行之前把TensorFlow图中对应的TF Native OPs替换为对应的密码算子(Crypto OPs)。这些Crypto OPs可以包含安全多方计算算子(MPC Ops)、同态加密算子(HEOps)、零知识证明算子(ZK Ops)等加密算子。至于替换为何种密码算子取决于用户的配置,如果用户配置为安全多方计算,那么就替换TF Native OPs为MPC Ops。同理,如果用户配置为配置为HE或ZK,就使用HE Ops或ZK Ops替换TF Native Ops。可以全部使用C/C++实现。
Rosetta Dynamic Pass是基于C/C++编程接口的动态图优化模块,负责在TensorFlow图执行时把TensorFlow图中对应的TF Native OPs替换为对应的Crypto OPs。可以全部使用C/C++实现。
Rosetta Crypto Ops是用于实现各种Crypto Ops的模块,可以包含MPC Ops、HEOps、ZK Ops等加密算子,这些Crypto Ops和TF Native Ops对应,可以全部使用C/C++实现。
基于同一发明构思,本说明书实施例中还提供了一种实现隐私保护的数据处理装置,该装置位于多个数据持有方中各数据持有方中,多个数据持有方中各数据持有方中存储有各自的隐私样本数据,如下面的实施例所述。由于实现隐私保护的数据处理装置解决问题的原理与实现隐私保护的数据处理方法相似,因此实现隐私保护的数据处理装置的实施可以参见实现隐私保护的数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本说明书实施例的实现隐私保护的数据处理装置的一种结构框图,如图4所示,包括:替换模块401和训练模块402,下面对该结构进行说明。
替换模块401用于将预设明文机器学习模型中的明文算子替换为明文算子对应的密码算子,得到预设明文机器学习模型对应的隐私机器学习模型。
训练模块402用于执行安全多方计算,以基于各数据持有方中存储的各自的隐私样本数据对隐私机器学习模型进行联合训练,输出目标机器学习模型。
在本说明书一些实施例中,替换模块可以用于:获取多个密码算子,并对多个密码算子中各密码算子进行注册;获取优化器程序,并对优化器程序进行注册,其中,优化器程序用于将预设明文机器学习模型中的明文算子替换为对应的密码算子。
在本说明书一些实施例中,优化器程序还用于将预设明文机器学习模型中的明文算子梯度函数替换为对应的密码算子梯度函数;相应地,替换模块还可以用于:在获取多个密码算子,并对多个密码算子中各密码算子进行注册之后,获取多个密码算子中各密码算子对应的密码算子梯度函数,并对各密码算子对应的密码算子梯度函数进行注册;将经注册的密码算子梯度函数与对应的经注册的密码算子进行关联。
在本说明书一些实施例中,替换模块可以用于:获取安装包文件,其中,安装包文件是基于二进制文件构建的,二进制文件由用于实现多个密码算子的源码、用于实现优化器程序的源码、用于注册多个密码算子的源码和用于注册优化器程序的源码编译后得到,优化器程序在执行时用于将明文模型中的明文算子替换为明文算子对应的密码算子;对安装包文件进行安装;将安装后的文件导入预设明文机器学习模型,以将预设明文机器学习模型中的明文算子替换为对应的密码算子。
在本说明书一些实施例中,替换模块可以用于:基于预设明文机器学习模型对应的数据流图中的数据流,确定预设明文机器学习模型中需要替换的明文算子;将预设明文机器学习模型中需要替换的明文算子替换为对应的密码算子。
在本说明书一些实施例中,优化器程序包括以下至少之一:静态优化器程序和动态优化器程序。
在本说明书一些实施例中,密码算子包括以下至少之一:安全多方计算算子、同态加密算子和零知识证明算子。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:仅需将预设明文机器学习模型中的明文算子替换为对应的密码算子,即可得到对应的隐私机器学习模型,之后多个数据持有方执行安全多方计算,即可基于各自的隐私样本数据对隐私机器学习模型进行联合训练,得到目标机器学习模型,因而可以有效保护各个数据持有方的隐私样本数据的隐私。此外,上述方案无需增加其他的应用程序接口,也无需增加其他的隐私数据类型,仅需将明文机器学习模型中的明文算子替换为对应的密码算子,操作方便简单,易用性强。
本说明书实施方式还提供了一种计算机设备,具体可以参阅图5所示的基于本说明书实施例提供的实现隐私保护的数据处理方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备51、处理器52、存储器53。其中,所述存储器53用于存储处理器可执行指令。所述处理器52执行所述指令时实现上述任意实施例中所述的实现隐私保护的数据处理方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施方式中还提供了一种基于实现隐私保护的数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述实现隐私保护的数据处理方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种实现隐私保护的数据处理方法,其特征在于,由多个数据持有方执行,所述多个数据持有方中各数据持有方中存储有各自的隐私样本数据,所述方法包括:
将预设明文机器学习模型中的明文算子替换为所述明文算子对应的密码算子,得到所述预设明文机器学习模型对应的隐私机器学习模型;
执行安全多方计算,以基于所述各数据持有方中存储的各自的隐私样本数据对所述隐私机器学习模型进行联合训练,输出目标机器学习模型。
2.根据权利要求1所述的方法,其特征在于,将预设明文机器学习模型中的明文算子替换为所述明文算子对应的密码算子,包括:
获取多个密码算子,并对所述多个密码算子中各密码算子进行注册;
获取优化器程序,并对所述优化器程序进行注册,其中,所述优化器程序用于将预设明文机器学习模型中的明文算子替换为对应的密码算子。
3.根据权利要求2所述的方法,其特征在于,所述优化器程序还用于将预设明文机器学习模型中的明文算子梯度函数替换为对应的密码算子梯度函数;
相应地,在获取多个密码算子,并对所述多个密码算子中各密码算子进行注册之后,还包括:
获取所述多个密码算子中各密码算子对应的密码算子梯度函数,并对所述各密码算子对应的密码算子梯度函数进行注册;
将经注册的密码算子梯度函数与对应的经注册的密码算子进行关联。
4.根据权利要求1所述的方法,其特征在于,将预设明文机器学习模型中的明文算子替换为所述明文算子对应的密码算子,包括:
获取安装包文件,其中,所述安装包文件是基于二进制文件构建的,所述二进制文件由用于实现多个密码算子的源码、用于实现优化器程序的源码、用于注册所述多个密码算子的源码和用于注册所述优化器程序的源码编译后得到,所述优化器程序在执行时用于将所述明文模型中的明文算子替换为所述明文算子对应的密码算子;
对所述安装包文件进行安装;
将安装后的文件导入所述预设明文机器学习模型,以将所述预设明文机器学习模型中的明文算子替换为对应的密码算子。
5.根据权利要求1所述的方法,其特征在于,将预设明文机器学习模型中的明文算子替换为所述明文算子对应的密码算子,包括:
基于预设明文机器学习模型对应的数据流图中的数据流,确定所述预设明文机器学习模型中需要替换的明文算子;
将所述预设明文机器学习模型中需要替换的明文算子替换为对应的密码算子。
6.根据权利要求2所述的方法,其特征在于,所述优化器程序包括以下至少之一:静态优化器程序和动态优化器程序。
7.根据权利要求2所述的方法,其特征在于,所述密码算子包括以下至少之一:安全多方计算算子、同态加密算子和零知识证明算子。
8.一种实现隐私保护的数据处理装置,其特征在于,位于多个数据持有方中各数据持有方中,所述多个数据持有方中各数据持有方中存储有各自的隐私样本数据,所述装置包括:
替换模块,用于将预设明文机器学习模型中的明文算子替换为所述明文算子对应的密码算子,得到所述预设明文机器学习模型对应的隐私机器学习模型;
训练模块,用于执行安全多方计算,以基于所述各数据持有方中存储的各自的隐私样本数据对所述隐私机器学习模型进行联合训练,输出目标机器学习模型。
9.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201068.1A CN111414646B (zh) | 2020-03-20 | 2020-03-20 | 实现隐私保护的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201068.1A CN111414646B (zh) | 2020-03-20 | 2020-03-20 | 实现隐私保护的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414646A true CN111414646A (zh) | 2020-07-14 |
CN111414646B CN111414646B (zh) | 2024-03-29 |
Family
ID=71493136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010201068.1A Active CN111414646B (zh) | 2020-03-20 | 2020-03-20 | 实现隐私保护的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414646B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231650A (zh) * | 2020-09-29 | 2021-01-15 | 北京瑞莱智慧科技有限公司 | 一种数据隐私保护协议的分析方法、装置及电子设备 |
CN112270415A (zh) * | 2020-11-25 | 2021-01-26 | 矩阵元技术(深圳)有限公司 | 一种加密机器学习的训练数据准备方法、装置和设备 |
CN112270399A (zh) * | 2020-09-29 | 2021-01-26 | 北京百度网讯科技有限公司 | 基于深度学习的算子注册处理方法、装置及电子设备 |
CN112883387A (zh) * | 2021-01-29 | 2021-06-01 | 南京航空航天大学 | 一种面向机器学习全流程的隐私保护方法 |
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN113672985A (zh) * | 2021-08-25 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 用于隐私保护的机器学习算法脚本编译方法和编译器 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090187757A1 (en) * | 2008-01-18 | 2009-07-23 | Sap Ag | Method and system for mediated secure computation |
US20180241728A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Secure data storage system |
CN108717514A (zh) * | 2018-05-21 | 2018-10-30 | 中国人民大学 | 一种机器学习中的数据隐私保护方法和系统 |
CN109255234A (zh) * | 2018-08-15 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN109687952A (zh) * | 2018-11-16 | 2019-04-26 | 创新奇智(重庆)科技有限公司 | 数据处理方法及其装置、电子装置及存储介质 |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110443067A (zh) * | 2019-07-30 | 2019-11-12 | 卓尔智联(武汉)研究院有限公司 | 基于隐私保护的联邦建模装置、方法及可读存储介质 |
CN110619220A (zh) * | 2019-08-09 | 2019-12-27 | 北京小米移动软件有限公司 | 对神经网络模型加密的方法及装置、存储介质 |
CN110750801A (zh) * | 2019-10-11 | 2020-02-04 | 矩阵元技术(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
WO2020029590A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN110795768A (zh) * | 2020-01-06 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 基于私有数据保护的模型学习方法、装置及系统 |
CN110874649A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于状态机的联邦学习方法、系统、客户端及电子设备 |
-
2020
- 2020-03-20 CN CN202010201068.1A patent/CN111414646B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090187757A1 (en) * | 2008-01-18 | 2009-07-23 | Sap Ag | Method and system for mediated secure computation |
US20180241728A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Secure data storage system |
CN108717514A (zh) * | 2018-05-21 | 2018-10-30 | 中国人民大学 | 一种机器学习中的数据隐私保护方法和系统 |
WO2020029590A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN109255234A (zh) * | 2018-08-15 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN109687952A (zh) * | 2018-11-16 | 2019-04-26 | 创新奇智(重庆)科技有限公司 | 数据处理方法及其装置、电子装置及存储介质 |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110443067A (zh) * | 2019-07-30 | 2019-11-12 | 卓尔智联(武汉)研究院有限公司 | 基于隐私保护的联邦建模装置、方法及可读存储介质 |
CN110619220A (zh) * | 2019-08-09 | 2019-12-27 | 北京小米移动软件有限公司 | 对神经网络模型加密的方法及装置、存储介质 |
CN110750801A (zh) * | 2019-10-11 | 2020-02-04 | 矩阵元技术(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110795768A (zh) * | 2020-01-06 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 基于私有数据保护的模型学习方法、装置及系统 |
CN110874649A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于状态机的联邦学习方法、系统、客户端及电子设备 |
Non-Patent Citations (4)
Title |
---|
仲红: "安全多方计算的关键技术分析", 《安徽农业大学学报》 * |
仲红: "安全多方计算的关键技术分析", 《安徽农业大学学报》, no. 02, 15 April 2007 (2007-04-15) * |
巩林明等: "同态加密方案及安全两点直线计算协议", 《软件学报》 * |
巩林明等: "同态加密方案及安全两点直线计算协议", 《软件学报》, no. 12, 24 March 2017 (2017-03-24) * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN112231650A (zh) * | 2020-09-29 | 2021-01-15 | 北京瑞莱智慧科技有限公司 | 一种数据隐私保护协议的分析方法、装置及电子设备 |
CN112270399A (zh) * | 2020-09-29 | 2021-01-26 | 北京百度网讯科技有限公司 | 基于深度学习的算子注册处理方法、装置及电子设备 |
CN112231650B (zh) * | 2020-09-29 | 2021-06-29 | 北京瑞莱智慧科技有限公司 | 一种数据隐私保护协议的分析方法、装置及电子设备 |
CN112270399B (zh) * | 2020-09-29 | 2022-03-11 | 北京百度网讯科技有限公司 | 基于深度学习的算子注册处理方法、装置及电子设备 |
CN112270415A (zh) * | 2020-11-25 | 2021-01-26 | 矩阵元技术(深圳)有限公司 | 一种加密机器学习的训练数据准备方法、装置和设备 |
CN112270415B (zh) * | 2020-11-25 | 2024-03-22 | 矩阵元技术(深圳)有限公司 | 一种加密机器学习的训练数据准备方法、装置和设备 |
CN112883387A (zh) * | 2021-01-29 | 2021-06-01 | 南京航空航天大学 | 一种面向机器学习全流程的隐私保护方法 |
CN113672985A (zh) * | 2021-08-25 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 用于隐私保护的机器学习算法脚本编译方法和编译器 |
WO2023024735A1 (zh) * | 2021-08-25 | 2023-03-02 | 支付宝(杭州)信息技术有限公司 | 用于隐私保护的机器学习算法脚本编译方法和编译器 |
CN113672985B (zh) * | 2021-08-25 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 用于隐私保护的机器学习算法脚本编译方法和编译器 |
Also Published As
Publication number | Publication date |
---|---|
CN111414646B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414646B (zh) | 实现隐私保护的数据处理方法和装置 | |
WO2021184347A1 (zh) | 实现隐私保护的数据处理方法和装置 | |
US20230023520A1 (en) | Training Method, Apparatus, and Device for Federated Neural Network Model, Computer Program Product, and Computer-Readable Storage Medium | |
Ohrimenko et al. | Oblivious {Multi-Party} machine learning on trusted processors | |
US20220083690A1 (en) | Obtaining jointly trained model based on privacy protection | |
US9536093B2 (en) | Automated verification of a software system | |
US10467389B2 (en) | Secret shared random access machine | |
US20170372226A1 (en) | Privacy-preserving machine learning | |
CN111415013B (zh) | 隐私机器学习模型生成、训练方法、装置及电子设备 | |
WO2021252294A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
Hoppe et al. | A parallel modular computing environment for three-dimensional multiresolution simulations of compressible flows | |
Dolev et al. | Secret shared random access machine | |
Wu et al. | Exploring dynamic task loading in SGX-based distributed computing | |
Fang et al. | SIFO: secure computational infrastructure using FPGA overlays | |
Rahaman et al. | Secure Multi-Party Computation (SMPC) Protocols and Privacy | |
US20220269798A1 (en) | Secure collaborative processing of private inputs | |
Keller | The oblivious machine-or: how to put the C into MPC | |
US12079489B2 (en) | Application-specific computer memory protection | |
Hu et al. | Stochastic distributed optimization for machine learning from decentralized features | |
Singh | Safe and secure outsourced computing with fully homomorphic encryption and trusted execution environments | |
CN103927488A (zh) | 一种针对可信嵌入式系统的可信平台模块 | |
Brito et al. | Privacy-Preserving Machine Learning on Apache Spark | |
Pu et al. | Computing privacy-preserving edit distance and Smith-Waterman problems on the GPU architecture | |
Wolfe | Enabling secure multi-party computation with FPGAs in the datacenter | |
EP4451606A1 (en) | Method for generating common identifier and apparatus therefor |
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 |