CN116663064B - 一种隐私保护神经网络预测方法及系统 - Google Patents

一种隐私保护神经网络预测方法及系统 Download PDF

Info

Publication number
CN116663064B
CN116663064B CN202310915909.9A CN202310915909A CN116663064B CN 116663064 B CN116663064 B CN 116663064B CN 202310915909 A CN202310915909 A CN 202310915909A CN 116663064 B CN116663064 B CN 116663064B
Authority
CN
China
Prior art keywords
layer
neural network
client
protocol
prediction
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
CN202310915909.9A
Other languages
English (en)
Other versions
CN116663064A (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202310915909.9A priority Critical patent/CN116663064B/zh
Publication of CN116663064A publication Critical patent/CN116663064A/zh
Application granted granted Critical
Publication of CN116663064B publication Critical patent/CN116663064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Abstract

本发明公开了一种高效的隐私保护神经网络预测方法及系统,基于秘密共享实现非线性层协议,消除了线性层数值表示与非线性层布尔表示之间的转换开销,并通过离线与在线分离,将密文计算和参数准备全部放到离线阶段进行,使得非线性层在线运算全为轻量运算,大大减少了预测所需时间。协议将神经网络按层划分,针对卷积层、激活层、池化层等不同层的特点设计相应协议。客户端和服务端双方按照协议要求,进行参数生成、计算、数据传输等操作,二者秘密共享输入输出。最终,双方履行协议流程,即可在云端高效地完成隐私保护神经网络预测。

Description

一种隐私保护神经网络预测方法及系统
技术领域
本发明涉及隐私计算领域,具体涉及一种隐私保护神经网络预测方法及系统。
背景技术
随着机器学习和云计算领域的快速发展,越来越多的公司搭建起机器学习及服务(Machine Learning as a Service简称MLaaS)。客户端可以直接通过API调用的方式,输入样本并在线得到云端机器学习模型的预测结果。然而,MLaaS存在隐私泄露的隐患。客户端输入的样本可能会暴露个人隐私,比如一些在线的医疗病情预测服务需要客户输入相关的身体健康指标以及病史信息等隐私数据。同时公司作为模型拥有者也担心自己花费海量资源训练的模型被用户窃取。如何在服务端不知道客户端任何输入信息,客户端不知道服务端任何模型信息的同时使客户端得到正确的预测结果成为了当今隐私计算领域的热点问题,构建安全双方隐私保护神经网络预测协议正是该问题的重要解决方案。然而,隐私保护神经网络预测计算开销大、耗时高,如何提升隐私保护神经网络预测的效率是当下的研究重点与难点。
通过对现有技术的考察,发现现有技术的方法,至少存在如下技术问题:
1)现有的隐私保护神经网络预测协议往往基于同态加密设计线性层协议、基于混淆电路设计非线性层协议。然而,线性层同态加密的数值表示与非线性层混淆电路的布尔表示不兼容,需要引入高额的转换开销,使得预测用时高;
2)现有的隐私保护神经网络预测协议往往全部在线进行,并且往往在线进行大量的密文运算,使得隐私保护神经网络预测计算复杂度高,效率低下;
由此可知,现有技术的方法难以解决隐私保护神经网络预测协议效率低的难题。
发明内容
本发明针对现有技术的不足,提供了一种隐私保护神经网络预测方法及系统。设计了基于秘密共享的神经网络非线性层的协议,避免了线性层数值表示与非线性层布尔表示之间的转换开销,同时将密文计算和参数准备全部放到离线阶段进行,使得在线阶段非线性层的计算全部为轻量运算,大大地减少了预测所需时间,提升了隐私保护神经网络预测的效率。
为实现上述目的,本发明提供的一种高效的隐私保护神经网络预测方法,包括以下步骤:
S1:协议将神经网络按层划分,针对卷积层、激活层、池化层等不同神经网络层使用相应转化方案,使得可以使用基于同态加密的线性层协议或基于秘密共享的非线性层协议,安全计算神经网络各层;
S2:在进行神经网络预测前,本地客户端选择待预测样本以及神经网络模型种类,云服务端离线提前生成随机数、与客户端一同执行非线性层离线协议,生成乘法三元组,并等待客户端的在线预测请求;
S3:在进行神经网络预测时,客户端发起在线预测请求,通信告知云服务端需要使用的神经网络种类,并根据协议流程计算、上传待预测样本密文。云服务端得知神经网络种类后,在云端加载相应预训练模型参数,并根据协议流程计算、回传待预测样本的中间计算结果。双方在秘密共享下,根据线性层协议和非线性层协议交互式完成神经网络每一层的计算;
S4:神经网络预测结束后,云服务端最后一次回传预测样本的密文结果。客户端使用相应算法和密钥解密,得到上传样本在云端模型计算下的预测结果明文。
在一种实施方式中,S1具体过程包括:
S1.1:将不同的神经网络层分成两类:根据各神经网络层运算的线性与非线性,分为线性层与非线性层。其中,线性层包括卷积层、全连接层、批标准化层、平均池化层,非线性层包括ReLU层、最大池化层、Argmax层;
S1.2:S1.1中所有线性层运算可表示为或/>的形式,其中,w、b代表云端模型的参数,/>代表客户端上传的样本矩阵。针对/>的形式,通过在/>矩阵的最后添加一列b向量成为/>,/>的最后一行添加一个元素数字1成为/>,将/>的形式转化为/>的形式,使所有线性层运算统一为矩阵乘法。通过矩阵乘法可计算所述线性层;
S1.3:针对最大池化层,为选择出矩阵中的最大元素需要判断任意两个元素大小,即判断是否大于/>,等效于判断/>是否大于0,等效于计算ReLU(/>);
S1.4:针对Argmax层,定义函数d:/>,为得到数组最大值的标签,假设Argmax想得到/>和/>两个数较大数的数组下标,设二者数组下标分别为/>与/>。计算如下公式得到较大数的数组下标:
S1.5:S1.1所述非线性层运算使用S1.3与S1.4所述方法可全部归约为与ReLU函数相同的判断正负问题,使得可通过ReLU函数计算所述非线性层;
S1.6:至此,线性层协议基于同态加密安全计算矩阵乘法,进而可以计算上述线性层。非线性层协议基于秘密共享安全计算ReLU函数,进而可以计算上述非线性层。
在一种实施方式中,S2具体包括:
S2.1:待预测样本可为图像、语音、文字等介质的文件,通过常用文件读取代码将文件中的数据矩阵部分读取出;
S2.2:神经网络种类主要包括当前主流的卷积神经网络:ResNet、SqueezeNet、DenseNet;协议适用范围包括所有应用S1.1所述神经网络层的神经网络;
S2.3:云服务端使用时间种子和c语言rand函数离线生成随机数存储在随机数池中,供在线阶段使用;
S2.4:云服务端在离线参数准备阶段使用非线性层离线协议与客户端共同通过RLWE同态加密生成乘法三元组。具体步骤包括:
①客户端生成随机数,使用RLWE同态加密将/>加密成同态密文形式的并发送给服务端;
②服务端生成四个随机数,并进行两个运算,这两个运算根据同态加密的特性可以得到:
a)
b)
③将命名为/>,/>命名为/>,可得乘法三元组形式:
a)
b)
④服务端发回
⑤客户端进行RLWE同态解密,得到,离线协议结束;
在一种实施方式中,S3具体包括:
S3.1:客户端通过常用网络通信方法告知云服务端选择的神经网络种类,两方对神经网络模型结构达成一致;
S3.2:客户端准备待预测样本,提取数据矩阵,服务端准备神经网络模型各层参数;
S3.3:双方从神经网络第一层开始根据神经网络层执行相应安全协议,逐层得到密文下运算结果。每层的输出即为下一层的输入;
S3.4:每一层的输出通过加性秘密共享的方式秘密分享在客户端和服务端两端,只有双方合作,将两方的秘密共享份额加起来才可以得到输出结果的明文。
S3.5:当下一神经网络层是线性层,执行的安全双方线性层协议步骤为:
①客户端对自己的秘密共享份额进行RLWE同态加密(若整个神经网络的第一层就是线性层,则/>就是用户原始输入/>,相应的服务端持有的/>为0),将/>发送给服务端;
②服务端根据自己持有的秘密共享份额计算/>,由于同态加密的特性,即为/>,为该层真实输入的同态密文形式;
③服务端从随机数池中取出一个随机数
④服务端根据模型这一层的权重计算/>,根据同态加密的特性,结果等于/>,把该结果发送给用户端;
⑤客户端接收结果并对其解密,得到
S3.6:当下一神经网络层是非线性层,执行的安全双方非线性层协议步骤为:
①客户端根据自己持有的秘密共享份额和在离线阶段生成的随机数/>,计算并发给服务端;服务端根据自己持有的秘密共享份额/>和在离线阶段生成的随机数,计算/>并发给客户端;
②客户端根据离线阶段生成的随机数和获取的/>,计算,通过离线阶段生成的乘法三元组进行等量代换得到
③服务端根据离线阶段生成的随机数,计算/>,通过离线阶段生成的乘法三元组进行等量代换得到/>
④客户端计算并发送给服务端;
⑤服务端计算并发送给服务端;
⑥客户端根据目前已有数据,计算
⑦服务端根据目前已有数据,计算
⑧客户端判断K是否大于0,若大于0则该非线性层比较协议客户端输出,否则/>
⑨服务端判断K是否大于0,若大于0则该非线性层比较协议服务端输出,否则/>
⑩双方根据非线性比较协议的结果以及S1.3、S1.4所述,得到最终该非线性层运算结果;
S3.7:在秘密共享下,双方按照协议逐层计算各自的秘密共享份额,直到最后一层;
在一种实施方式中,S4具体包括:
S4.1:服务端在最后一层按照非线性协议执行结束之后,不再使用随机数盲化密文计算结果,只将秘密共享份额发回客户端,而是直接将密文计算结果直接发回客户端;
S4.2:客户端使用RLWE同态解密还原明文;
S4.3:半诚实威胁模型下,在客户端不知道服务端任何模型信息、服务端不知道客户端任何上传样本明文的同时,客户端得到了上传样本在云端模型计算下的预测结果明文;
基于同一发明构思,本方案还提供了一种电子设备,其特殊之处在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现隐私保护神经网络预测方法。
基于同一发明构思,本方案还提供了一种计算机可读介质,其上存储有计算机程序,其特殊之处在于:所述程序被处理器执行时实现隐私保护神经网络预测方法。
上述技术方案具有如下有益效果:
基于秘密共享设计隐私保护神经网络非线性层的协议,避免了线性层数值表示与非线性层布尔表示不兼容所引入的高额转换开销。巧妙转换各非线性层为判断正负问题,实现离线与在线分离,将密文计算和参数准备全部放到离线阶段进行,使得在线阶段非线性层的计算全部为轻量运算,减少了隐私保护神经网络的在线预测时间和通信量。
附图说明
图1为本发明提供的一种高效的隐私保护神经网络预测协议及原型系统的整体架构示意图。
图2为本发明提供的非线性层离线协议的流程示意图。
图3为本发明提供的全连接层转化方法示意图。
图4为本发明提供的线性层协议安全矩阵乘法流程示意图。
图5为本发明提供的非线性层ReLU在线协议示意图。
图6为本发明提供的非线性层最大池化在线协议示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的主要构思如下:
一种高效的隐私保护神经网络预测协议及原型系统。该方案系统模型由两方组成,分别是:客户端:拥有待上传的隐私数据,运行客户端模块程序与通信模块程序的客户端部分,按照所设计协议要求进行计算、通信。
服务端:拥有用来预测的神经网络预训练模型和云端算力,运行服务端模块程序与通信模块程序的服务端部分,按照所设计协议要求进行计算、通信。
该方案威胁模型为:客户端和服务端皆为半诚实模型。半诚实模型的参与方是诚实但好奇的。即攻击者会按照预定的协议去执行,但却会好奇其他参与方的隐私数据。若在此威胁模型下设计安全协议,则要保证协议的交互过程不会泄露结果之外的更多信息。
实施例一
一种高效的隐私保护神经网络预测协议方法整体架构如图1所示,协议将卷积神经网络按层划分,针对卷积层、激活层、池化层等不同层的特点设计相应安全双方协议。客户端和服务端双方按照协议要求,进行参数生成、计算、数据传输等操作,其中客户端拥有输入样本,服务端拥有模型参数,二者秘密共享输入输出。最终,双方履行协议流程,即可高效地完成隐私保护神经网络预测。
具体包括以下步骤:
步骤1:将神经网络按层划分,根据各神经网络层运算的线性与非线性,分为线性层与非线性层,安全计算神经网络各层;
步骤2:本地客户端选择待预测样本以及神经网络模型种类,云服务端离线提前生成随机数、与客户端一同执行非线性层离线协议,生成乘法三元组,并等待客户端的在线预测请求;
步骤3:客户端发起在线预测请求,通信告知云服务端需要使用的神经网络种类,并根据协议流程计算、上传待预测样本密文。云服务端得知神经网络种类后,在云端加载相应预训练模型参数,并根据协议流程计算、回传待预测样本的中间计算结果。双方在秘密共享下,根据线性层协议和非线性层协议交互式完成神经网络每一层的计算;
步骤4:神经网络预测结束后,云服务端最后一次回传预测样本的密文结果。客户端使用相应算法和密钥解密,得到上传样本在云端模型计算下的预测结果明文。
在一种具体实施方式下,对步骤2执行的非线性层离线协议进行详细描述:
离线时,主要进行参数的准备,通过这些准备好的参数,使得在线阶段能够基于秘密共享高效实现隐私保护的非线性层协议。在这阶段离线协议的流程如图2所示:
(1)客户端生成两个随机数,然后用Microsoft SEAL库中基于RLWE的同态加密将这两个参数加密成密文形式的/>并发送给服务端。
(2)服务端生成四个随机数,并进行两个运算,这两个运算根据同态加密的特性可以得到:
(a)
(b)
(3)把命名为/>,/>命名为/>,这么做是为了有一个好看的三元组的形式即:
(a)
(b)
辅助在线计算的正随机数为
(4)服务端发回
(5)客户端进行解密,得到
以上协议可以让客户端和服务端提前进行准备,并且可以准备多份参数存储起来,这样在以后进行预测时即可直接使用而不必等待此离线协议的时间,因此能够使得在线预测的时间得到大大降低。
在一种具体实施方式下,对步骤3执行的在线协议进行详细描述:
线性层协议:
在神经网络中,线性层主要包括全连接层、卷积层和批标准化层等,实际上神经网络的层种类繁多,只要是做线性运算的都可以归类为线性层。本发明以全连接层、卷积层和批标准化层为主,但方法可以继续推广到其他线性层。线性层协议有统一计算形式和安全矩阵乘法两步,如下:
统一计算形式全连接层转化客户端拥有着输入样本,服务端则拥有着该线性层的模型参数/>和/>,在全连接层中,要计算的输出是/>,根据如下方法,任何的形式都可以转化成/>的形式,示意如图3。只要在绝阵/>的最后添加一列b向量成为/>,/>的最后一行添加一个元素1成为/>,/>的形式就都可以转化成/>的形式,从而简化计算步骤。那么要计算的输出转化成了:/>
1.2卷积层转化
传统卷积运算是将卷积核以滑动窗口的方式在输入图上滑动,当前窗口内对应元素相乘然后求和得到结果,一个窗口一个结果。其主要进行的运算是相乘然后求和,这恰好也是矩阵乘法的计算方式,所以一个卷积运算可以直接转换成矩阵乘法表示。
1.3 批标准化层转化
批标准化层往往接在卷积层和激活层之间,通过规范化与线性变换使得每一层网络的输入数据的均值与方差都在一定范围内,使得后一层的网络不必不断去适应底层网络中输入的变化,缓解神经网络难以训练的问题。对一个矩阵标准化的运算通常为:,其中/>为均值,/>为标准差。仿照卷积层的做法,把对矩阵的标准化操作转化为矩阵乘法的形式,标准化操作可以转化为:/>,是天然的的形式,根据图3所示,就可以转换成/>的矩阵乘法运算。
安全矩阵乘法在所有线性层运算统一计算为矩阵乘法后,执行安全矩阵乘法协议流程,如图4所示。首先,为了保护用户的输入不被服务端得知,使用了基于格的RLWE同态加密技术,其为全同态加密,即对加法和乘法都有效。用来表示/>经过同态加密后的密文数据。其次,运用了秘密共享的方法来保护模型的参数不被用户窃取。用户端与服务端各自持有一个秘密数(Secret),分别为/>,/>,每一个线性层的真实输入和真实输出其实是/>,/>的和,即/>。这种方式下,由于服务端保留了一部分秘密数,所以用户端不能根据每一次自己的输入和对应的输出来推得这一层的模型参数是多少,从而保护了服务端模型数据不被泄露。协议流程如下:
(1)用户端对自己的秘密数进行同态加密,将/>发送给服务端,服务端根据自己持有的秘密数/>计算/>,由于同态加密的特性,/>即为/>,刚好是该层真实输入的密态结果。其中,若整个神经网络的第一层就是线性层,则/>就是用户原始输入/>,相应的服务端持有的/>为0。
(2)服务端生成一个随机数用于保护此层的参数不被窃取。
(3)服务端根据模型这一层的权重计算/>,根据同态加密的特性,结果等于/>,把该结果发送给用户端。
(4)用户端接收结果并对其解密,得到,只要加上服务端持有的秘密数/>,即可得到真实输出/>
非线性层协议:
在神经网络中,非线性层一般包括激活层、池化层和输出层。激活层的激活函数是非线性函数,一般选择的都是ReLU,而池化层使用最广泛的是最大池化操作。输出层的作用一般是得到分类结果,比较常见的的有Argmax函数。下面对ReLU层协议、最大池化层协议与Argmax层协议进行详细描述
ReLU层协议ReLU是现在最常见的一种激活函数,其可以为神经网络引入非线性部分、避免梯度消失和过拟合现象。它的表达形式为:,从表达式可以明显看出,ReLU其实就是一个取最大值的函数。在步骤1的离线协议中,客户端和服务端已经准备好了一些随机数和乘法三元组,等待在线的使用。在线阶段,要做的事情是让服务端计算出ReLU的结果。更简单的说,由于协议每一层的输入和输出都是秘密共享在用户和服务器两端的,那么经过ReLU层以后,只会出现两种情形:一是输出就是输入,二是双方都输出0进入下一层。针对这样的目标,在线阶段的协议流程如图5所示。执行步骤为:
(1)客户端根据自己持有的秘密共享份额和在离线阶段生成的随机数/>,计算并发给服务端;
(2)服务端根据自己持有的秘密共享份额和在离线阶段生成的随机数/>,计算并发给客户端;
(3)客户端根据离线阶段生成的随机数和获取的/>,计算,通过离线阶段生成的乘法三元组进行等量代换得到
(4)服务端根据离线阶段生成的随机数,计算/>,通过离线阶段生成的乘法三元组进行等量代换得到/>
(5)客户端计算并发送给服务端;
(6)服务端计算并发送给服务端;
(7)客户端根据目前已有数据,计算
(8)服务端根据目前已有数据,计算
(9)客户端判断K是否大于0,若大于0则该非线性层比较协议客户端输出,否则/>
(10)服务端判断K是否大于0,若大于0则该非线性层比较协议服务端输出,否则/>
最大池化层协议最大池化操作是把一个矩阵输入拆分成不同的区域,然后取各个区域的最大值组成一个新的矩阵,该矩阵就是输出。最大池化最重要的计算步骤是得到每一个小矩阵中的最大值,问题在于每一个输入都是秘密共享在两端的,无法直接进行比较,所以针对最大池化层取最大值的特点,利用ReLU函数来帮助实现最大池化协议。协议的整体架构如图6。假设想比较某个矩阵中和/>的大小,也就是判断/>是否大于/>。由于/>和/>都是秘密共享在两端的,所以这个判断/>是否大于/>等效于判断/>是否大于/>,经过移项也就等效于判断/>是否大于0。判断两个秘密共享值之和是否大于0,这就是ReLU在做的事情,于是通过ReLU的设计,可以实现两个元素比较大小:
ReLU的结果就是较大值。有了这一比较大小的原子操作,只需简单地使用一个大根堆的调整算法即可取出矩阵中的最大值,也就完成了最大池化操作。
Argmax层协议对于一个分类任务来说,argmax层的作用是得到数组最大值的标签也就是分类结果。有了最大池化层的设计经验,argmax层进行一个微小的改变就可以很好地进行设计。最大池化层的核心操作是比较两个元素的大小得到较大元素的值,而argmax层则是比较两个元素的大小得到较大元素的数组下标。为止,引入一个新函数dReLU如下定义:
d
假设argmax想得到和/>两个数较大数的数组下标,设二者数组下标分别为/>与/>,/>和/>在客户端与服务器的秘密共享值为/>、/>、/>、/>。则只需计算如下公式即可得到较大数的数组下标:/>
使用此原子操作,对矩阵进行大根堆调整算法,即可找到矩阵最大值所对应的数组下标。
在一种具体实施方式下,对步骤4的处理进行详细描述:
步骤4.1:服务端在最后一层按照非线性协议执行结束之后,不再使用随机数盲化密文计算结果,只将秘密共享份额发回客户端,而是直接将密文计算后的结果直接发回客户端;
步骤4.2:客户端使用RLWE同态解密还原明文;
步骤4.3:半诚实威胁模型下,在客户端不知道服务端任何模型信息、服务端不知道客户端任何上传样本明文的同时,客户端得到了上传样本在云端模型计算下的预测结果明文。
实施例二
基于同一发明构思,本方案还提供了一种隐私保护神经网络预测系统,包括通信模块、客户端模块和服务端模块,客户端模块和服务端模块在用户未进行云端预测任务时,执行离线协议,生成随机数与乘法三元组;
在用户进行云端预测时,客户端提供待预测样本,服务端提供模型参数,分别根据神经网络层执行相应线性层与非线性层协议并通过通信模块互相传递数据;
最终,在密文下完成样本预测任务,客户端解密后,得到明文预测结果。
由于本发明实施例二所介绍的系统为实施本发明实施例一隐私保护神经网络预测方法所采用的系统,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本发明还提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现实施例一中所述的方法。
由于本发明实施例三所介绍的设备为实施本发明实施例一隐私保护神经网络预测方法所采用的电子设备,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本发明还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例一中所述的方法。
由于本发明实施例四所介绍的设备为实施本发明实施例一种隐私保护神经网络预测方法所采用的计算机可读介质,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
本发明中所描述的具体实施的例子仅仅是对本发明的方法和步骤的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形,但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。

Claims (9)

1.一种隐私保护神经网络预测方法,其特征在于:
S1:将神经网络按层划分,分为线性层与非线性层,并将非线性层转换为与ReLU函数相同的判断正负问题;
S2:在进行神经网络预测前,客户端选择待预测样本以及神经网络模型种类,云服务端离线提前生成随机数,再与客户端一同执行非线性层离线协议,生成乘法三元组,并等待客户端的在线预测请求;
其中,乘法三元组的生成为:
客户端生成两个随机数,服务端生成四个随机数/>,并进行两个运算,这两个运算根据同态加密的特性可以得到:
命名为/>,/>命名为/>,则三元组的形式为:
辅助在线计算的正随机数为
S3:在进行神经网络预测时,客户端发起在线预测请求,云服务端根据协议流程计算、回传待预测样本的中间计算结果,双方在秘密共享下,根据线性层协议和非线性层协议,通过S2中准备好的随机数和乘法三元组,完成神经网络每一层的计算;
S4:神经网络预测结束后,云服务端最后一次回传预测样本的密文结果,客户端使用相应算法和密钥解密,得到上传样本在云端模型计算下的预测结果明文。
2.根据权利要求1所述的隐私保护神经网络预测方法,其特征在于:
所述步骤S1中的神经网络层分为线性层和非线性层,其中,线性层包括卷积层、全连接层、批标准化层、平均池化层;非线性层包括ReLU层、最大池化层、Argmax层。
3.根据权利要求1所述的隐私保护神经网络预测方法,其特征在于:步骤S1中线性层运算表示为或/>的形式,其中,w、b代表云端模型的参数,/>代表客户端上传的样本矩阵,针对/>的形式,通过在/>矩阵的最后添加一列b向量成为/>,/>的最后一行添加一个元素1成为/>,将/>的形式转化为/>的形式,使所有线性层运算统一为矩阵乘法,通过矩阵乘法计算所述线性层。
4.根据权利要求2所述的隐私保护神经网络预测方法,其特征在于:所述S1中将非线性层运算归为与ReLU函数相同的判断正负问题,将最大池化层和Argmax层运算统一使用ReLU表示,最大池化通过ReLU(a-b)判断矩阵中两元素a和b的大小,进而得到整个矩阵中最大值;设两元素a和b数组下标分别为与/>Argmax通过得到矩阵中两元素a和b中较大值的下标,进而得到整个矩阵中最大值的下标,最终通过安全计算ReLU函数实现全部非线性层运算,其中,dReLU为引入的新函数,定义如下:
d
5.根据权利要求1所述的隐私保护神经网络预测方法,其特征在于:步骤S2的具体过程为:
待预测样本文件包括图像、语音和文字,通过常用文件读取代码将文件中的数据矩阵部分读取出;
云服务端使用时间种子和c语言rand函数离线生成随机数存储在随机数池中,供在线阶段使用;
云服务端在离线参数准备阶段使用非线性层离线协议与客户端共同通过RLWE同态加密生成乘法三元组。
6.根据权利要求1所述的隐私保护神经网络预测方法,其特征在于:所述步骤S3的具体过程如下:
客户端通过常用网络通信方法告知云服务端选择的神经网络种类,两方对神经网络模型结构达成一致;
客户端准备待预测样本,提取数据矩阵,服务端准备神经网络模型各层参数;
双方从神经网络第一层开始根据神经网络层执行相应安全协议,逐层得到密文下运算结果,每层的输出即为下一层的输入;
每一层的输出通过加性秘密共享的方式秘密分享在客户端和服务端两端,只有双方合作,将两方的秘密共享份额加起来才可以得到输出结果的明文;
在秘密共享下,双方按照协议逐层计算各自的秘密共享份额,直到最后一层。
7.一种隐私保护神经网络预测系统,包括通信模块、客户端模块和服务端模块,其特征在于:该系统用于实现权利要求1-6中任一项所述的方法;
所述客户端模块和服务端模块在用户未进行云端预测任务时,执行离线协议,生成随机数与乘法三元组;
在用户进行云端预测时,客户端提供待预测样本,服务端提供模型参数,分别根据神经网络层执行相应线性层与非线性层协议并通过通信模块互相传递数据;
最终,在密文下完成样本预测任务,客户端解密后,得到明文预测结果。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-6中任一项所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现权利要求1-6中任一项所述的方法。
CN202310915909.9A 2023-07-25 2023-07-25 一种隐私保护神经网络预测方法及系统 Active CN116663064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310915909.9A CN116663064B (zh) 2023-07-25 2023-07-25 一种隐私保护神经网络预测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310915909.9A CN116663064B (zh) 2023-07-25 2023-07-25 一种隐私保护神经网络预测方法及系统

Publications (2)

Publication Number Publication Date
CN116663064A CN116663064A (zh) 2023-08-29
CN116663064B true CN116663064B (zh) 2023-10-20

Family

ID=87724380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310915909.9A Active CN116663064B (zh) 2023-07-25 2023-07-25 一种隐私保护神经网络预测方法及系统

Country Status (1)

Country Link
CN (1) CN116663064B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194507A (zh) * 2018-08-24 2019-01-11 曲阜师范大学 非交互式的保护隐私神经网络预测方法
WO2019133858A1 (en) * 2017-12-29 2019-07-04 Bonnie Berger Leighton Realizing private and practical pharmacological collaboration
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
CN113869499A (zh) * 2021-10-15 2021-12-31 浙江大学 一种高效的不经意神经网络转化方法
WO2022015403A1 (en) * 2020-07-14 2022-01-20 Microsoft Technology Licensing, Llc Private inference in deep neural network
CN115065463A (zh) * 2022-06-10 2022-09-16 电子科技大学 一种隐私保护的神经网络预测系统
CN115860094A (zh) * 2022-11-03 2023-03-28 南京大学 基于同态加密的二值卷积神经网络实现方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
WO2019133858A1 (en) * 2017-12-29 2019-07-04 Bonnie Berger Leighton Realizing private and practical pharmacological collaboration
CN109194507A (zh) * 2018-08-24 2019-01-11 曲阜师范大学 非交互式的保护隐私神经网络预测方法
WO2022015403A1 (en) * 2020-07-14 2022-01-20 Microsoft Technology Licensing, Llc Private inference in deep neural network
CN113869499A (zh) * 2021-10-15 2021-12-31 浙江大学 一种高效的不经意神经网络转化方法
CN115994559A (zh) * 2021-10-15 2023-04-21 华为技术有限公司 一种高效的不经意神经网络转化方法
CN115065463A (zh) * 2022-06-10 2022-09-16 电子科技大学 一种隐私保护的神经网络预测系统
CN115860094A (zh) * 2022-11-03 2023-03-28 南京大学 基于同态加密的二值卷积神经网络实现方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
云环境下隐私保护的机器学习算法研究;孟焱鑫;《中国硕士学位论文全文数据库》(第02期);全文 *
机器学习中的隐私保护研究——基于门限秘密共享技术;夏仕冰;《中国硕士学位论文全文数据库》(第02期);全文 *
谢四江 ; 许世聪 ; 章乐 ; .基于同态加密的卷积神经网络前向传播方法.计算机应用与软件.2020,(第02期),全文. *

Also Published As

Publication number Publication date
CN116663064A (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
Zheng et al. Learning the truth privately and confidently: Encrypted confidence-aware truth discovery in mobile crowdsensing
CN112183730B (zh) 一种基于共享学习的神经网络模型的训练方法
US20230078061A1 (en) Model training method and apparatus for federated learning, device, and storage medium
Zhang et al. Achieving efficient and privacy-preserving neural network training and prediction in cloud environments
CN112395643B (zh) 一种神经网络的数据隐私保护方法及系统
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
KR20160009012A (ko) 행렬 분해 및 리지 회귀에 기초한 프라이버시-보호 추천을 위한 방법 및 시스템
CN114696990B (zh) 基于全同态加密的多方计算方法、系统及相关设备
CN112989399B (zh) 数据处理系统及方法
CN113505882A (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
Zheng et al. Securely and efficiently outsourcing decision tree inference
Fan et al. PPMCK: Privacy-preserving multi-party computing for K-means clustering
Yang et al. Practical and secure federated recommendation with personalized mask
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
CN113792890B (zh) 一种基于联邦学习的模型训练方法及相关设备
Fan et al. Privacy-preserving deep learning on big data in cloud
US11943277B2 (en) Conversion system, method and program
CN116663064B (zh) 一种隐私保护神经网络预测方法及系统
Liu et al. ESA-FedGNN: Efficient secure aggregation for federated graph neural networks
CN116402159A (zh) 联邦学习方法、预测方法、装置、电子设备及存储介质
CN115130568A (zh) 支持多参与方的纵向联邦Softmax回归方法及系统
CN116796338A (zh) 隐私保护的在线深度学习系统及方法
Martínez-Fuentes et al. Family of controllers for predefined-time synchronization of Lorenz-type systems and the Raspberry Pi-based implementation
Guo et al. Privacy-Preserving Convolution Neural Network Inference with Edge-assistance
CN118041526A (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