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

文档序号:35294290发布日期:2023-09-01 17:24阅读:91来源:国知局
一种隐私保护神经网络预测方法及系统

本发明涉及隐私计算领域,具体涉及一种隐私保护神经网络预测方法及系统。


背景技术:

1、随着机器学习和云计算领域的快速发展,越来越多的公司搭建起机器学习及服务(machine learning as a service简称mlaas)。客户端可以直接通过api调用的方式,输入样本并在线得到云端机器学习模型的预测结果。然而,mlaas存在隐私泄露的隐患。客户端输入的样本可能会暴露个人隐私,比如一些在线的医疗病情预测服务需要客户输入相关的身体健康指标以及病史信息等隐私数据。同时公司作为模型拥有者也担心自己花费海量资源训练的模型被用户窃取。如何在服务端不知道客户端任何输入信息,客户端不知道服务端任何模型信息的同时使客户端得到正确的预测结果成为了当今隐私计算领域的热点问题,构建安全双方隐私保护神经网络预测协议正是该问题的重要解决方案。然而,隐私保护神经网络预测计算开销大、耗时高,如何提升隐私保护神经网络预测的效率是当下的研究重点与难点。

2、通过对现有技术的考察,发现现有技术的方法,至少存在如下技术问题:

3、1)现有的隐私保护神经网络预测协议往往基于同态加密设计线性层协议、基于混淆电路设计非线性层协议。然而,线性层同态加密的数值表示与非线性层混淆电路的布尔表示不兼容,需要引入高额的转换开销,使得预测用时高;

4、2)现有的隐私保护神经网络预测协议往往全部在线进行,并且往往在线进行大量的密文运算,使得隐私保护神经网络预测计算复杂度高,效率低下;

5、由此可知,现有技术的方法难以解决隐私保护神经网络预测协议效率低的难题。


技术实现思路

1、本发明针对现有技术的不足,提供了一种隐私保护神经网络预测方法及系统。设计了基于秘密共享的神经网络非线性层的协议,避免了线性层数值表示与非线性层布尔表示之间的转换开销,同时将密文计算和参数准备全部放到离线阶段进行,使得在线阶段非线性层的计算全部为轻量运算,大大地减少了预测所需时间,提升了隐私保护神经网络预测的效率。

2、为实现上述目的,本发明提供的一种高效的隐私保护神经网络预测方法,包括以下步骤:

3、s1:协议将神经网络按层划分,针对卷积层、激活层、池化层等不同神经网络层使用相应转化方案,使得可以使用基于同态加密的线性层协议或基于秘密共享的非线性层协议,安全计算神经网络各层;

4、s2:在进行神经网络预测前,本地客户端选择待预测样本以及神经网络模型种类,云服务端离线提前生成随机数、与客户端一同执行非线性层离线协议,生成乘法三元组,并等待客户端的在线预测请求;

5、s3:在进行神经网络预测时,客户端发起在线预测请求,通信告知云服务端需要使用的神经网络种类,并根据协议流程计算、上传待预测样本密文。云服务端得知神经网络种类后,在云端加载相应预训练模型参数,并根据协议流程计算、回传待预测样本的中间计算结果。双方在秘密共享下,根据线性层协议和非线性层协议交互式完成神经网络每一层的计算;

6、s4:神经网络预测结束后,云服务端最后一次回传预测样本的密文结果。客户端使用相应算法和密钥解密,得到上传样本在云端模型计算下的预测结果明文。

7、在一种实施方式中,s1具体过程包括:

8、s1.1:将不同的神经网络层分成两类:根据各神经网络层运算的线性与非线性,分为线性层与非线性层。在权利要求1所述的高效的隐私保护神经网络预测协议及原型系统中,线性层包括卷积层、全连接层、批标准化层、平均池化层,非线性层包括relu层、最大池化层、argmax层;

9、s1.2:s1.1中所有线性层运算可表示为或的形式,其中,w、b代表云端模型的参数,代表客户端上传的样本矩阵。针对的形式,通过在矩阵的最后添加一列b向量成为,的最后一行添加一个元素数字1成为,将的形式转化为的形式,使所有线性层运算统一为矩阵乘法。通过矩阵乘法可计算所述线性层;

10、s1.3:针对最大池化层,为选择出矩阵中的最大元素需要判断任意两个元素大小,即判断是否大于,等效于判断是否大于0,等效于计算relu();

11、s1.4:针对argmax层,定义函数d:,为得到数组最大值的标签,假设argmax想得到和两个数较大数的数组下标,设二者数组下标分别为与。计算如下公式得到较大数的数组下标:。

12、s1.5:s1.1所述非线性层运算使用s1.3与s1.4所述方法可全部归约为与relu函数相同的判断正负问题,使得可通过relu函数计算所述非线性层;

13、s1.6:至此,线性层协议基于同态加密安全计算矩阵乘法,进而可以计算上述线性层。非线性层协议基于秘密共享安全计算relu函数,进而可以计算上述非线性层。

14、在一种实施方式中,s2具体包括:

15、s2.1:待预测样本可为图像、语音、文字等介质的文件,通过常用文件读取代码将文件中的数据矩阵部分读取出;

16、s2.2:神经网络种类主要包括当前主流的卷积神经网络:resnet、squeezenet、densenet;协议适用范围包括所有应用s1.1所述神经网络层的神经网络;

17、s2.3:云服务端使用时间种子和c语言rand函数离线生成随机数存储在随机数池中,供在线阶段使用;

18、s2.4:云服务端在离线参数准备阶段使用非线性层离线协议与客户端共同通过rlwe同态加密生成乘法三元组。具体步骤包括:

19、①客户端生成随机数,使用rlwe同态加密将加密成同态密文形式的并发送给服务端;

20、②服务端生成四个随机数,并进行两个运算,这两个运算根据同态加密的特性可以得到:

21、a);

22、b);

23、③将命名为,命名为,可得乘法三元组形式:

24、a);

25、b);

26、④服务端发回;

27、⑤客户端进行rlwe同态解密,得到,离线协议结束;

28、在一种实施方式中,s3具体包括:

29、s3.1:客户端通过常用网络通信方法告知云服务端选择的神经网络种类,两方对神经网络模型结构达成一致;

30、s3.2:客户端准备待预测样本,提取数据矩阵,服务端准备神经网络模型各层参数;

31、s3.3:双方从神经网络第一层开始根据神经网络层执行相应安全协议,逐层得到密文下运算结果。每层的输出即为下一层的输入;

32、s3.4:每一层的输出通过加性秘密共享的方式秘密分享在客户端和服务端两端,只有双方合作,将两方的秘密共享份额加起来才可以得到输出结果的明文。

33、s3.5:当下一神经网络层是线性层,执行的安全双方线性层协议步骤为:

34、①客户端对自己的秘密共享份额进行rlwe同态加密(若整个神经网络的第一层就是线性层,则就是用户原始输入,相应的服务端持有的为0),将发送给服务端;

35、②服务端根据自己持有的秘密共享份额计算,由于同态加密的特性,即为,为该层真实输入的同态密文形式;

36、③服务端从随机数池中取出一个随机数;

37、④服务端根据模型这一层的权重计算,根据同态加密的特性,结果等于,把该结果发送给用户端;

38、⑤客户端接收结果并对其解密,得到;

39、s3.6:当下一神经网络层是非线性层,执行的安全双方非线性层协议步骤为:

40、①客户端根据自己持有的秘密共享份额和在离线阶段生成的随机数,计算并发给服务端;服务端根据自己持有的秘密共享份额和在离线阶段生成的随机数,计算并发给客户端;

41、②客户端根据离线阶段生成的随机数和获取的,计算,通过离线阶段生成的乘法三元组进行等量代换得到;

42、③服务端根据离线阶段生成的随机数,计算,通过离线阶段生成的乘法三元组进行等量代换得到;

43、④客户端计算并发送给服务端;

44、⑤服务端计算并发送给服务端;

45、⑥客户端根据目前已有数据,计算;

46、⑦服务端根据目前已有数据,计算;

47、⑧客户端判断k是否大于0,若大于0则该非线性层比较协议客户端输出,否则;

48、⑨服务端判断k是否大于0,若大于0则该非线性层比较协议服务端输出,否则;

49、⑩双方根据非线性比较协议的结果以及s1.3、s1.4所述,得到最终该非线性层运算结果;

50、s3.7:在秘密共享下,双方按照协议逐层计算各自的秘密共享份额,直到最后一层;

51、在一种实施方式中,s4具体包括:

52、s4.1:服务端在最后一层按照非线性协议执行结束之后,不再使用随机数盲化密文计算结果,只将秘密共享份额发回客户端,而是直接将密文计算结果直接发回客户端;

53、s4.2:客户端使用rlwe同态解密还原明文;

54、s4.3:半诚实威胁模型下,在客户端不知道服务端任何模型信息、服务端不知道客户端任何上传样本明文的同时,客户端得到了上传样本在云端模型计算下的预测结果明文;

55、基于同一发明构思,本方案还提供了一种电子设备,其特殊之处在于,包括:

56、一个或多个处理器;

57、存储装置,用于存储一个或多个程序;

58、当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现隐私保护神经网络预测方法。

59、基于同一发明构思,本方案还提供了一种计算机可读介质,其上存储有计算机程序,其特殊之处在于:所述程序被处理器执行时实现隐私保护神经网络预测方法。

60、上述技术方案具有如下有益效果:

61、基于秘密共享设计隐私保护神经网络非线性层的协议,避免了线性层数值表示与非线性层布尔表示不兼容所引入的高额转换开销。巧妙转换各非线性层为判断正负问题,实现离线与在线分离,将密文计算和参数准备全部放到离线阶段进行,使得在线阶段非线性层的计算全部为轻量运算,减少了隐私保护神经网络的在线预测时间和通信量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1