CN117077161B - 基于动态规划求解的隐私保护深度模型构建方法与系统 - Google Patents
基于动态规划求解的隐私保护深度模型构建方法与系统 Download PDFInfo
- Publication number
- CN117077161B CN117077161B CN202310954534.7A CN202310954534A CN117077161B CN 117077161 B CN117077161 B CN 117077161B CN 202310954534 A CN202310954534 A CN 202310954534A CN 117077161 B CN117077161 B CN 117077161B
- Authority
- CN
- China
- Prior art keywords
- segmentation
- node
- graph
- neural network
- dynamic programming
- 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
Links
- 238000010276 construction Methods 0.000 title claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims abstract description 89
- 238000003062 neural network model Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000004364 calculation method Methods 0.000 claims description 85
- 230000002776 aggregation Effects 0.000 claims description 40
- 238000004220 aggregation Methods 0.000 claims description 40
- 230000006872 improvement Effects 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/602—Providing cryptographic facilities or services
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于动态规划求解的隐私保护深度模型构建方法与系统,其中,所述方法包括:获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;基于所述初始神经网络模型做节点分割得到不同的分割子图;基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项;基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型。本发明使用图分析的方法对一个神经网络模型的计算图分析,并基于动态规划的方法对其进行安全性编译,实现在保证安全性的前提下得到性能最优的隐私保护深度模型。
Description
技术领域
本发明涉及神经网络模型技术领域,特别是涉及一种基于动态规划求解的隐私保护深度模型构建方法与系统。
背景技术
随着深度神经网络的不断进步,尤其是基于Transformer结构的网络出现后它们被更加广泛的应用到现实生活中的各个领域,例如图像处理、语音处理、文字处理等。
用户访问各种智能应用程序的主要方式是通过机器学习即服务(MLaaS)。在MLaaS中,服务提供商提供了一个公共API来访问它们的私有DNN模型。用户上传他们的输入并收到推理的结果。然而,当智能应用需要进一步与更多应用耦合时,用户和服务提供商的隐私问题成为了最大的阻碍。用户希望在不泄露其私密输入的情况下使用智能应用,而服务提供商希望可以保护网络模型和训练数据集。
传统的隐私推理有两种方法,一种为完全加密私有推理(Fully encryptedprivate inference,FEPI),另一种为部分加密私有推理(Partially encrypted privateinference,PEPI).这两者都有各自的缺陷,FEPI会令推理延迟大大提高,PEPI存在着安全风险。面对这些问题,一种通过在满足安全要求的前提下将部分非线性算子交给用户端明文计算的充分加密私人推论(Adequately encrypted private inference,AEPI)方法被提出。AEPI通过将非线性算子交给用户端明文计算获得推理性能提升。对此,如何在满足安全需求的情况下将最多的非线性算子计算分配给用户端以此获得最大的性能提升是一个亟待解决的问题。
发明内容
本发明的目的在于提供一种基于动态规划求解的隐私保护深度模型构建方法与系统,用于解决现有技术中非线性算子于神经网络的计算精度问题。
第一方面,本申请提供了一种基于动态规划求解的隐私保护深度模型构建方法,所述方法包括:
获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子;
基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算;
基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型。
在本申请一个可能的实现方式中,所述基于所述初始神经网络模型做节点分割得到不同的分割子图,具体包括:
基于所述初始神经网络模型建立支配节点树,其中,所述初始神经网络模型的输入为所述支配节点树的根节点,输出为所述支配节点树的结束节点;
基于节点属性进行识别,以识别所述支配节点树中除去所述根节点以及所述结束节点以外的其余节点,其中,所述其余节点包括线性算子、非线性算子以及聚合算子;
基于所述支配节点树利用数据流截断原则识别分割节点,基于所述分割节点将所述支配节点树进行节点分割得到所述分割子图,其中,所述分割节点包括聚合算子。
在本申请一个可能的实现方式中,所述基于所述支配节点树利用数据流截断原则识别分割节点,具体包括:
获取支配节点树中的聚合算子;
基于所述聚合算子作数据流截断原则推理以识别所述分割节点,其中,当移除一个目标聚合算子导致所述初始神经网络模型推理数据流被截断时,判断当前目标聚合算子为所述分割节点。
在本申请一个可能的实现方式中,所述基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,具体包括:
基于预设的搜索方式对所述分割子图内的各算子计算类型进行局部调度优化,其中,所述搜索方式包括暴力搜索;
基于局部调度后的最优结果得到所述备选项,其中,所述备选项分别包括四组的组合状态,其中,第一状态包括明文输入-明文输出,第二状态包括明文输出-密文输出,第三状态包括密文输入-密文输出,第四状态包括密文输入-明文输出。
在本申请一个可能的实现方式中,所述基于所述备选项进行全局调度,具体包括:
基于每个分割子图的输入输出状态进行区间转换,从而基于当前分割子图的首个节点的计算类型来确认区间边界,所述区间边界包括左边界和右边界,其中,
所述首个节点为线性算子时,对应的计算类型为密文计算;
所述首个节点为非线性算子时,对应的计算类型为密文或明文计算。
在本申请一个可能的实现方式中,所述首个节点为非线性算子时,其中,当上一分割子图的输出为明文时,所述计算类型为明文计算;当上一分割子图的输出为密文时,且对应的安全距离符合预设要求时,所述计算类型为密文或明文计算。
在本申请一个可能的实现方式中,所述利用动态规划得到不同分割子图对应备选项的目标组合,具体包括:
基于各子图区间边界的左边界进行升序排列;
利用动态规划进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
第二方面,本申请提供了一种基于动态规划求解的隐私保护深度模型构建系统,所述系统包括:
获取模块,用于获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
分割模块,用于基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子;
调度模块,用于基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算;
输出模块,用于基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型。
第三方面,本申请提供了一种上述的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于动态规划求解的隐私保护深度模型构建方法。
第四方面,本申请提供了一种上述的电子设备,所述电子设备包括:处理器及存储器;其中,所述存储器用于存储计算机程序,所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于动态规划求解的隐私保护深度模型构建方法。
如上所述,本发明的基于动态规划求解的隐私保护深度模型构建方法与系统,使用图分析的方法对一个神经网络模型的计算图分析,并基于动态规划的方法对其进行安全性编译,实现在保证安全性的前提下得到性能最优的深度网络模型。
附图说明
图1显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的构建流程示意图;
图2显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的方法步骤示意图;
图3显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的方法步骤示意图;
图4显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的分割子图结构示意图;
图5显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的方法步骤示意图;
图6显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的方法步骤示意图;
图7显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的区域边界计算示例图;
图8显示为本发明的基于动态规划求解的隐私保护深度模型构建方法于一实施例中的方法步骤示意图;
图9显示为本发明的基于动态规划求解的隐私保护深度模型构建系统于一实施例中的结构示意图。
元件标号说明
S202~S208 步骤
S302~S306 步骤
① 非线性算子
② 线性算子
③ 聚合算子
S502~S504 步骤
S602~S606 步骤
S802~S804 步骤
90 基于动态规划求解的隐私保护深度模型构建系统
91 获取模块
92 分割模块
93 调度模块
94 输出模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
现有的基于密码学原语的隐私推理是一种非常有潜力的解决方案,用到的密码学原语包括全同态加密,加性秘密共享,混淆电路,不经意传输等。该方法对隐私输入和模型参数进行加密,并完全在加密数据上执行推理,得到只有用户知道的推理结果。它确保了双方可证明的安全性:服务提供商对客户端的输入一无所知,而客户端只能得到推理的结果。基于安全原语的隐私推理对硬件依赖程度低、安全设置容易、对隐私数据保护能力强,非常适用于MLaaS场景。它最大的缺点是密码学原语对于神经网络中的非线性计算并不相容,会带来高昂的推理时间。
传统的全同态加密协议和多方安全计算协议的设计思路以通用性为主。针对神经网络错误容忍性,大吞吐,可以针对神经网络设计更高效的协议来提高效率。比如,牺牲定点数转化精度换取更高的效率。同时,使用密码学原语友好的神经网络非线性算子,这种方案的本质是在神经网络的精度和效率之间做权衡。最常见的方案是将卷积神经网络中的ReLU算子替换为Square算子,这样比较运算就可以转换为密码学原语擅长的多项式运算。类似的方法也可以应用到Transformer网络中,比如将SoftMax和GELU算子转化为相对容易的非线性算子。由于隐私推理对安全性的要求,两个明文计算的算子的间隔需要满足一定要求,称之为安全距离,而不同算子能提供的安全距离也不同。其中线性算子必须使用密文计算,并提供一个安全距离。而其他算子根据类型与输入输出状态的不同有一或零的安全距离。为满足安全需求需要保证两个明文计算的非线性算子之间的安全距离最少为“2”。
高效的隐私推理协议的局限性体现在神经网络的非线性计算上,不管是同态加密还是多方安全计算,擅长的基本操作都只有线性计算,而对于非线性层,需要通过多项式近似转化为线性计算或者使用代价更高的协议计算。这种天然的不相容导致密码学原语始终无法在非线性层上取得满意的效率。使用密码学原语友好的神经网络非线性算子会带来明显的神经网络精度问题。现有的工作往往只能在小型的网络和数据集上应用。比如只有两层编码器的BERT_tiny网络。而对于最常见的“12”层的BERT_base网络,在GLUE benchmark上,算子替换也会造成大于“30”个百分比的精度损失,安全距离的概念只确定了一个模型的安全性要求,没有提供如何得到一个性能最优的安全网络的方法,而由于网络中的非线性算子数量过多,此问题就难以使用常规的方法来解决。
本申请旨在解决在满足安全距离选择非线性算子交给客户端明文计算,从而实现在保证安全性的前提下得到性能最优的深度神经网络模型,具体地,如图1所示,首先对应输入的初始神经网络模型,本申请会测试所有可供外包的非线性算子在明文计算与加密计算时的性能表现,供后续调度使用,以最优化模型的性能,具体通过子图分割,局部调度,全局调度三个阶段得到最后的神经网络模型,即本申请所提出的隐私保护深度模型。
请参阅图2,于发明一实施例中,本发明的基于动态规划求解的隐私保护深度模型构建方法包括如下步骤:
步骤S202,获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
步骤S204,基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子;
步骤S206,基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算;
步骤S208,基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型。
需要说明的是,所述基于所述初始神经网络模型做节点分割得到不同的分割子图,如图3所示,具体包括如下步骤:
步骤S302,基于所述初始神经网络模型建立支配节点树,其中,所述初始神经网络模型的输入为所述支配节点树的根节点,输出为所述支配节点树的结束节点;
步骤S304,基于节点属性进行识别,以识别所述支配节点树中除去所述根节点以及所述结束节点以外的其余节点,其中,所述其余节点包括线性算子、非线性算子以及聚合算子;
步骤S306,基于所述支配节点树利用数据流截断原则识别分割节点,基于所述分割节点将所述支配节点树进行节点分割得到所述分割子图,其中,所述分割节点包括聚合算子。
需要说明的是,于本实施例中,如图4所示,显示为经过节点分割后的分割子图结构示意图,其中,首先对初始神经网络模型建立一个支配节点树,在此树中输入为根节点,输出作为结束节点,而其余节点则包括有线性算子、非线性算子以及聚合算子,其中,满足数据流截断原则的聚合算子被识别成分割节点,从而可以基于分割节点将所述支配节点树进行节点分割得到对应的分割子图,其中,图4中标号为①的是非线性算子,标号为②的是线性算子,标号为③的是聚合算子。
具体地,现在的神经网络一般都有比较复杂的结构,但经过观察发现,深度神经网络可以分为多个子图,子图中存在复杂的结构,但子图间的相互连接较为简单,因此可以把一个神经网络分为多个子图进行处理,对一个子图而言,其内部的分支都会在一个聚合算子处汇合,但并不是所有的聚合算子都可以被作为分割节点,因此需要对聚合算子进行分析以识别可以作为分割节点的聚合算子,其中,具体基于所述支配节点树利用数据流截断原则来识别分割节点,而对应的步骤则包括:获取支配节点树中的聚合算子;基于所述聚合算子作数据流截断原则推理以识别所述分割节点,其中,当移除一个目标聚合算子导致所述初始神经网络模型推理数据流被截断时,判断当前目标聚合算子为所述分割节点。显然,只有符合对应的数据流截断原则的聚合算子才可以被识别成分割节点,不满足数据流截断原则的聚合算子则被划分至对应的分割子图中。
进一步地,于发明一实施例中,如图5所示,所述基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,具体包括如下步骤:
步骤S502,基于预设的搜索方式对所述分割子图内的各算子计算类型进行局部调度优化,其中,所述搜索方式包括暴力搜索;
步骤S504,基于局部调度后的最优结果得到所述备选项,其中,所述备选项分别包括四组的组合状态,其中,第一状态包括明文输入-明文输出,第二状态包括明文输出-密文输出,第三状态包括密文输入-密文输出,第四状态包括密文输入-明文输出。
需要说明的是,于本实施例中,对每一个分割子图而言,其输入输出分别都有明文计算,密文计算两种可能,一旦一个分割子图的输入与输出状态确定了,这个分割子图的最优调度就已确定,由于一个分割子图内的非线性算子数量很少,分割子图的最优调度就可以通过暴力搜索得到,具体地,基于暴力搜索的方式对所述分割子图内的各算子计算类型进行局部调度优化,而后基于局部调度后的最优结果得到所述备选项,其中,所述备选项分别包括四组的组合状态,其中,第一状态包括明文输入-明文输出,第二状态包括明文输出-密文输出,第三状态包括密文输入-密文输出,第四状态包括密文输入-明文输出,其中,每个分割子图对应包括了多个算子,一旦分割子图的最优调度确定了,相应地,分割子图内的各算子的计算类型也得以确定,即四组组合状态中每一组状态都是对应算子计算类型的最优解方式。
其中,在计算机科学中,暴力搜索是一个非常一般的解决问题的技术,包括系统地枚举解决方案的所有可能的候选项,以及检查每个候选项是否符合问题的描述,因此,对于本领域技术人员而言,暴力搜索是常规技术手段,在本实施中具体搜索过程在此不做赘述。
进一步地,于发明一实施例中,如图6所示,所述基于所述备选项进行全局调度,具体包括如下步骤:
步骤S602,基于每个分割子图的输入输出状态进行区间转换,从而基于当前分割子图的首个节点的计算类型来确认区间边界,所述区间边界包括左边界和右边界;
步骤S604,所述首个节点为线性算子时,对应的计算类型为密文计算;
步骤S606,所述首个节点为非线性算子时,对应的计算类型为密文或明文计算。
需要说明的是,于本实施例中,在得到局部调度的最优备选后,需要对每个分割子图的输入输出状态进行调和,从而得到最大的性能提升,由于对每一个分割子图的输入输出状态的选择会影响其他分割子图的输入输出状态,这个调度过程必须在全局规模下完成,而一个深度神经网络的分割子图数量很大,使用暴力搜索地方法解决此问题是不可行的,对此,本申请基于每个分割子图的输入输出状态进行区间转换,其中,对于一个分割子图及其输入输出状态,将其转换为其对应的区间和能获得的性能提升,具体转换过程如下描述:其中i表示第i个分割子图,I和O分别代表当前分割子图的输入,输出状态,l和r代表此区间的左右边界,/>代表此子图在此给定的输入输出状态下能得到的最优性能提升,当相邻分割子图的区间不重叠时这个相邻分割子图的输入输出状态才有可能被选择,因此,这个问题的最优解就是在不重叠区间的情况下获得更多的性能提升。
具体地,确定区间边界需要考虑相邻分割子图的输入输出状态,以及其开始节点算子对应的计算类型,具体公式如下:
其中,Start(Si+1)代表第i+1个分割子图的首个计算节点类型,表示第i个分割子图的输出,/>表示第i+1个分割子图的输入,/>表示第i个分割子图的右边界,/>表示第i+1个分割子图的左边界,由于每个分割子图的终止节点一定是一个聚合节点,每个分割子图的起始节点一定是一个线性节点,非线性节点,或是一个与上个分割子图共享的聚合节点,区间边界的计算需要考虑到子图之间的安全距离限制,从而在动态规划的时候,可以保障数据安全,以使得所有子图的区间不重叠。
具体地,参考图7,显示为区间边界计算示例图,其中,分别用Si,Si+1表示两个相邻的f分割子图,字母P表示明文计算,字母E表示密文计算,表示第i个分割子图输出为密文计算时的右边界,/>表示第i个分割子图输出为明文计算时的右边界,/>表示第i+1个分割子图输出为密文计算时的左边界,/>表示第i+1个分割子图输出为明文计算时的左边界,/>表示第i个分割子图输出为明文计算,/>表示第i个分割子图输出为密文计算,/>表示第i+1个分割子图输入为明文计算,/>表示第i+1个分割子图输入为密文计算,根据下一分割子图的开始节点分为两种,边界的具体值可以是满足要求的任何值,当下一分割子图的起始节点是线性算子时,由于安全要求其只能进行密文计算,因此其只能考虑输入是密文的状态,所以下一分割子图的左边界的取值如图7(b)所示,当下一分割子图的起始节点是非线性算子时,下一分割子图的左边界取值如图7(a)所示,具体地,当/>时,即上一个分割子图的输出是明文计算时,由于非线性算子不能提供安全距离,用户无论是否有服务器端的授权,都可以进行明文计算,因此下一子图的首个非线性算子必须是明文计算,因此下一分割子图的左边界只能考虑/>当/>时,即上一个分割子图的输出是密文计算时,安全距离符合预设要求时,所述计算类型为密文或者明文计算,相应地,安全距离符合预设要求具体体现为:上一分割子图结尾的聚合算子可以提供一个安全距离,而聚合算子的父节点也是线性算子,其也能提供一个安全距离,因此,下一分割子图也就可以自由地选择输入状态为明文计算还是密文计算,相应地,下一分割子图的左边界可以选择为/>即所述首个节点为线性算子时,对应的计算类型为密文计算;所述首个节点为非线性算子时,当上一子图的输出为明文时,对应的计算类型为密文计算;当上一子图的输出为密文时,对应的计算类型为密文或明文计算。
进一步地,于发明一实施例中,如图8所示,所述利用动态规划得到不同分割子图对应备选项的目标组合,具体包括如下步骤:
步骤S802,基于各子图区间边界的左边界进行升序排列;
步骤S804,利用动态规划进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
需要说明的是,于本实施例中,当区域边界的计算完成后,分割子图的输入输出状态得以确定,就可以使用动态规划的方法来解决这个空间调度问题,首先将所有区间按照其左边界的大小进行排序,方便去查项,设定DP[i]为当考虑第i个分割子图对应区间时能够获得的最大性能提升值,相应地,计算式如下:
其中,DP[j]为当考虑第j个分割子图对应区间,通过动态规划的方法可以解决空间调度的问题,从而进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
本申请实施例还提供一种基于动态规划求解的隐私保护深度模型构建系统,所述基于动态规划求解的隐私保护深度模型构建系统可以实现本申请所述的基于动态规划求解的隐私保护深度模型构建方法,但本申请所述的基于动态规划求解的隐私保护深度模型构建方法的实现装置包括但不限于本实施例列举的基于动态规划求解的隐私保护深度模型构建系统的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
请参阅图9,在一实施例中,本实施例提供的一种基于动态规划求解的隐私保护深度模型构建系统90,所述系统包括:
获取模块91,用于获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
分割模块92,用于基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子;
调度模块93,用于基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算;
输出模块94,用于基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型。
由于本实施例的具体实现方式与前述方法实施例对应,因而于此不再对同样的细节做重复赘述,本领域技术人员也应当理解,图9实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上,且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
此外,本实施例提供一种电子设备,详细的,电子设备至少包括通过总线连接的:存储器、处理器,其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
综上所述,本发明使用图分析的方法对一个神经网络模型的计算图分析,并基于动态规划的方法对其进行安全性编译,实现在保证安全性的前提下得到性能最优的隐私保护深度网络模型。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (8)
1.一种基于动态规划求解的隐私保护深度模型构建方法,其特征在于,包括:
获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子,所述基于所述初始神经网络模型做节点分割得到不同的分割子图具体包括:基于所述初始神经网络模型建立支配节点树,其中,所述初始神经网络模型的输入为所述支配节点树的根节点,输出为所述支配节点树的结束节点;基于节点属性进行识别,以识别所述支配节点树中除去所述根节点以及所述结束节点以外的其余节点,其中,所述其余节点包括线性算子、非线性算子以及聚合算子;基于所述支配节点树利用数据流截断原则识别分割节点,基于所述分割节点将所述支配节点树进行节点分割得到所述分割子图,其中,所述分割节点包括聚合算子;
基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算,所述基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项具体包括:基于预设的搜索方式对所述分割子图内的各算子计算类型进行局部调度优化,其中,所述搜索方式包括暴力搜索;基于局部调度后的最优结果得到所述备选项,其中,所述备选项分别包括四组的组合状态,其中,第一状态包括明文输入-明文输出,第二状态包括明文输出-密文输出,第三状态包括密文输入-密文输出,第四状态包括密文输入-明文输出;
基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型,其中,所述利用动态规划得到不同分割子图对应备选项的目标组合具体包括:基于各子图区间边界的左边界进行升序排列;利用动态规划进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
2.根据权利要求1所述的基于动态规划求解的隐私保护深度模型构建方法,其特征在于,所述基于所述支配节点树利用数据流截断原则识别分割节点,具体包括:
获取所述支配节点树中的聚合算子;
基于所述聚合算子作数据流截断原则推理以识别所述分割节点,其中,当移除一个目标聚合算子导致所述初始神经网络模型推理数据流被截断时,判断当前目标聚合算子为所述分割节点。
3.根据权利要求1所述的基于动态规划求解的隐私保护深度模型构建方法,其特征在于,所述基于所述备选项进行全局调度,具体包括:
基于每个分割子图的输入输出状态进行区间转换,从而基于当前分割子图的首个节点的计算类型来确认区间边界,所述区间边界包括左边界和右边界,其中,
所述首个节点为线性算子时,对应的计算类型为密文计算;
所述首个节点为非线性算子时,对应的计算类型为密文或明文计算。
4.根据权利要求3所述的基于动态规划求解的隐私保护深度模型构建方法,其特征在于,所述首个节点为非线性算子时,其中,当上一分割子图的输出为明文时,所述计算类型为明文计算;当上一分割子图的输出为密文时,且对应的安全距离符合预设要求时,所述计算类型为密文或明文计算。
5.根据权利要求3所述的基于动态规划求解的隐私保护深度模型构建方法,其特征在于,所述利用动态规划得到不同分割子图对应备选项的目标组合,具体包括:
基于各子图区间边界的左边界进行升序排列;
利用动态规划进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
6.一种基于动态规划求解的隐私保护深度模型构建系统,其特征在于,包括:
获取模块,用于获取初始神经网络模型,其中,所述初始神经网络模型包括深度神经网络模型;
分割模块,用于基于所述初始神经网络模型做节点分割得到不同的分割子图,其中,所述分割子图内包括线性算子,和/或非线性算子,和/或聚合算子,所述基于所述初始神经网络模型做节点分割得到不同的分割子图具体包括:基于所述初始神经网络模型建立支配节点树,其中,所述初始神经网络模型的输入为所述支配节点树的根节点,输出为所述支配节点树的结束节点;基于节点属性进行识别,以识别所述支配节点树中除去所述根节点以及所述结束节点以外的其余节点,其中,所述其余节点包括线性算子、非线性算子以及聚合算子;基于所述支配节点树利用数据流截断原则识别分割节点,基于所述分割节点将所述支配节点树进行节点分割得到所述分割子图,其中,所述分割节点包括聚合算子;
调度模块,用于基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项,其中,所述备选项包括当前分割子图的不同算子计算类型的组合状态,所述计算类型包括明文计算以及密文计算,所述基于所述分割子图利用预设的搜索方式进行局部调度得到当前分割子图对应的备选项具体包括:基于预设的搜索方式对所述分割子图内的各算子计算类型进行局部调度优化,其中,所述搜索方式包括暴力搜索;基于局部调度后的最优结果得到所述备选项,其中,所述备选项分别包括四组的组合状态,其中,第一状态包括明文输入-明文输出,第二状态包括明文输出-密文输出,第三状态包括密文输入-密文输出,第四状态包括密文输入-明文输出;
输出,用于基于所述备选项进行全局调度,以利用动态规划得到不同分割子图对应备选项的目标组合,基于所述目标组合输出所述隐私保护深度模型,其中,所述利用动态规划得到不同分割子图对应备选项的目标组合具体包括:基于各子图区间边界的左边界进行升序排列;利用动态规划进行查项以获取各分割子图不同组合的性能提升值,基于最大性能提升值对应的组合得到所述目标组合。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任一项所述基于动态规划求解的隐私保护深度模型构建方法。
8.一种电子设备,其特征在于,所述电子设备包括:处理器及存储器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行如权利要求1至5中任一项所述基于动态规划求解的隐私保护深度模型构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310954534.7A CN117077161B (zh) | 2023-07-31 | 2023-07-31 | 基于动态规划求解的隐私保护深度模型构建方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310954534.7A CN117077161B (zh) | 2023-07-31 | 2023-07-31 | 基于动态规划求解的隐私保护深度模型构建方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077161A CN117077161A (zh) | 2023-11-17 |
CN117077161B true CN117077161B (zh) | 2024-05-03 |
Family
ID=88716244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310954534.7A Active CN117077161B (zh) | 2023-07-31 | 2023-07-31 | 基于动态规划求解的隐私保护深度模型构建方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077161B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529175A (zh) * | 2020-11-05 | 2021-03-19 | 上海交通大学 | 神经网络的编译方法、系统、计算机存储介质及编译设备 |
CN113487665A (zh) * | 2021-06-04 | 2021-10-08 | 中国人民解放军总医院 | 一种管腔缺口的测量方法、装置、设备和介质 |
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN115357356A (zh) * | 2022-08-10 | 2022-11-18 | 西安邮电大学 | 基于计算图优化的算子间并行调度方法、设备和介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052811B (zh) * | 2014-06-17 | 2018-01-02 | 华为技术有限公司 | 一种业务调度的方法、装置及系统 |
US11537719B2 (en) * | 2018-05-18 | 2022-12-27 | Deepmind Technologies Limited | Deep neural network system for similarity-based graph representations |
KR20210004702A (ko) * | 2019-07-05 | 2021-01-13 | 삼성전자주식회사 | Ai 프로세서 및 이의 신경망 연산 수행 방법 |
CN112016703B (zh) * | 2020-10-15 | 2021-02-09 | 北京瑞莱智慧科技有限公司 | 一种机器学习算法的转换系统、方法及电子设备 |
-
2023
- 2023-07-31 CN CN202310954534.7A patent/CN117077161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN112529175A (zh) * | 2020-11-05 | 2021-03-19 | 上海交通大学 | 神经网络的编译方法、系统、计算机存储介质及编译设备 |
CN113487665A (zh) * | 2021-06-04 | 2021-10-08 | 中国人民解放军总医院 | 一种管腔缺口的测量方法、装置、设备和介质 |
CN115357356A (zh) * | 2022-08-10 | 2022-11-18 | 西安邮电大学 | 基于计算图优化的算子间并行调度方法、设备和介质 |
Non-Patent Citations (3)
Title |
---|
FPGA图计算的编程与开发环境:综述和探索;郭进阳 等;《计算机研究与发展》;20200630;1164-1178页 * |
Network Link Connectivity Prediction Based on GCN and Differentiable Pooling Model;Naixue Kuang 等;《2022 IEEE 14th International Conference on Advanced Infocomm Technology》;20220826;1-6页 * |
利用模型相似性的三维模型簇协同分割;杨军 等;《光学精密工程》;20211130;2504-2516页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117077161A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | MILP‐aided bit‐based division property for primitives with non‐bit‐permutation linear layers | |
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
WO2022237450A1 (zh) | 多方安全计算方法、装置、设备及存储介质 | |
CN113033828B (zh) | 模型训练方法、使用方法、系统、可信节点及设备 | |
Forghani-elahabad et al. | Finding all the lower boundary points in a multistate two-terminal network | |
CN112347495A (zh) | 一种基于区块链的可信隐私智能服务计算系统及方法 | |
CN108667717A (zh) | 基于即时通信消息记录的区块链处理方法、介质、装置和计算设备 | |
CN111813544B (zh) | 计算任务的处理方法、装置、调度及管理系统和介质 | |
CN113537400B (zh) | 一种基于分支神经网络的边缘计算节点的分配与退出方法 | |
CN112468324B (zh) | 基于图卷积神经网络的加密流量分类方法及装置 | |
CN115694777A (zh) | 基于同态加密的隐私集合求交方法、装置、设备及介质 | |
CN115563859A (zh) | 一种基于分层联邦学习的电力负荷预测方法、装置及介质 | |
Zhang et al. | Desirable companion for vertical federated learning: New zeroth-order gradient based algorithm | |
Fan et al. | Ppca: Privacy-preserving principal component analysis using secure multiparty computation (mpc) | |
JP6928320B2 (ja) | サーバ装置、秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム | |
CN117077161B (zh) | 基于动态规划求解的隐私保护深度模型构建方法与系统 | |
CN112906715A (zh) | 一种基于深度神经网络的安全图像特征提取与分类方法 | |
CN113656823B (zh) | 用于联邦学习和隐私计算的密态加法计算装置及系统 | |
Li et al. | New method to describe the differential distribution table for large S‐boxes in MILP and its application | |
CN117171766B (zh) | 基于深度神经网络模型的数据保护方法、系统及介质 | |
CN114943073B (zh) | 加密流量的通用对称加密协议脱壳方法 | |
CN115801258B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN117811722B (zh) | 全局参数模型构建方法、秘钥生成方法、装置及服务器 | |
Li et al. | A Multi-Party Collaborative Privacy-Preserving Method for Power Defect Detection | |
CN113177212B (zh) | 联合预测方法和装置 |
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 |