一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种具有隐私性保护的深度神经网络推理方法与流程

2022-02-22 09:18:48 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,特别涉及一种具有隐私性保护的深度神经网络推理方法。


背景技术:

2.随着机器学习的发展和人工智能的兴起,各大研究领域都试图用机器学习算法来实现人工智能。例如,用于图像修复的生成对抗网络,用于图像识别的深度学习框架等。然而,复杂深度神经网络的推理任务通常涉及大量的计算操作,例如,基于一些流行的深度神经网络架构,执行视觉检测的单个推理任务就需要数十亿次计算操作,这使得在资源有限的物联网设备上高效地执行这些操作成为一个挑战。
3.边缘计算的迅速发展为资源受限设备进行复杂的深度神经网络推理提供了一种有效的方法。外包计算是边缘计算最重要的应用之一。它允许资源受限的用户将复杂的计算外包给边缘服务器,只对使用计算资源的用户收费。根据深度神经网络模型的提供者,现有外包深度神经网络推理工作可分为两类:1)用户提交待推理的数据,云服务器/边缘服务器提供训练好的深度神经网络模型,服务器提供的这种服务称为“推理即服务”。2)训练好的模型和待推理的数据由同一用户提供,云服务器/边缘服务器仅提供计算资源。通过这些方式,资源有限的用户可以利用云服务器/边缘服务器的计算能力来完成深度神经网络推理阶段中的复杂计算操作。
4.虽然用户可以从外包深度神经网络推理中获益,以减轻计算和存储负担,但保护用户数据的隐私性和推理结果的有效性是一个相当具有挑战性的问题。终端设备收集的某些数据可能非常敏感,例如医疗诊断数据。一旦这些数据泄露,将会给用户带来很多麻烦。此外,一些外部因素,如黑客对云服务器/边缘服务器的攻击,也可能导致计算结果无效。如何使边缘计算辅助的深度神经网络推理更加安全、高效,已成为一个亟待解决的问题。
5.常见的用于隐私保护的深度神经网络推理技术有两种,即同态加密技术和安全多方计算。使用同态加密技术和安全多方计算技术构造隐私保护的深度神经网络推理方案虽然具有很强的安全性,但是其计算效率很低。为了避免同态加密和安全多方计算操作的复杂性和低效性,出现了一种新的双边缘服务器框架,采用轻量级的加密方案在隐私保护的情况下高效执行深度神经网络推理。大大提高了深度神经网络的推理效率,显著节约了物联网设备的计算能耗。然而,它只能保护输入数据的隐私,而不能保护用户训练好的模型的隐私。深度神经网络模型也是供应商的核心财产,因为训练一个有效的模型需要大量的数据集、资源和专业技能的投资。然而,现有的方案要么需要耗时的密码操作,要么无法保护训练模型的隐私。因此,如何在保护输入数据和模型隐私的同时实现安全高效的深度神经网络推理是一个重要的问题。


技术实现要素:

6.针对上述问题,本发明的目的在于提供一种具有隐私性保护的深度神经网络推理
方法,用户可以将需要推理的数据和已经训练好的模型发送到边缘服务器,由边缘服务器处理计算繁重且耗时的线性层,用户只需处理计算高效的非线性层和加解密操作,从而节省用户的计算开销,同时又能保证用户数据和模型的隐私性。
7.为解决上述技术问题,本发明的实施例提供如下方案:
8.一种具有隐私性保护的深度神经网络推理方法,包括以下步骤:
9.客户端生成密钥;
10.客户端利用所述密钥对输入数据矩阵和训练好的深度神经网络模型的权值矩阵进行加密,加密后发送给第一边缘服务器和第二边缘服务器,深度神经网络模型的偏置矩阵存储在本地;
11.第一边缘服务器和第二边缘服务器利用接收到的深度神经网络模型的权值矩阵对输入数据矩阵进行线性层计算,并返回结果给客户端;
12.客户端对返回的结果进行验证,若结果正确则接收,若结果不正确则拒绝接收;
13.对于验证正确的结果,客户端利用本地存储的密钥和偏置矩阵恢复出线性层的实际输出结果;
14.客户端在本地进行非线性层的计算,并将计算结果作为下一层线性层的输入,循环上述步骤直至得到深度神经网络模型的最终推理结果。
15.优选地,所述客户端生成密钥具体包括:
16.对于训练好的深度神经网络模型,一共包含q层线性层,对应模型的第i层线性层的输入数据矩阵用xi表示,1<=i<=q,权值矩阵用wi表示,偏置矩阵用bi表示;
17.利用keygen密钥生成算法生成密钥,输入一个安全参数k,输出一个随机数矩阵ri和一个随机数ci作为密钥,ri里的每一个元素都是k比特的随机数,用于盲化权值矩阵wi,其大小和wi的大小一样,ci也是一个k比特的随机数,用于盲化第i层的输入数据矩阵xi。
18.优选地,所述对输入数据矩阵和训练好的深度神经网络模型的权值矩阵进行加密具体包括:
19.利用input encryption算法对输入数据矩阵和权值矩阵进行加密,输入随机数矩阵ri和随机数ci以及输入数据矩阵xi和权值矩阵wi,输出四个矩阵x
i,a
,x
i,b
,w
i,a
和w
i,b

20.加密过程如下:首先使用随机数ci构造矩阵ci,矩阵ci的每个元素都是ci,其大小和xi一致;为了盲化xi,将其分成两个矩阵x
i,a
和x
i,b
,然后用随机数矩阵ri盲化权值矩阵wi成两个矩阵w
i,a
和w
i,b
;加密完成后,将x
i,a
和w
i,a
发送给第一边缘服务器esa,将x
i,b
和w
i,b
发送给第二边缘服务器esb。
21.优选地,所述加密过程中,两个矩阵x
i,a
和x
i,b
满足以下条件:
22.xi=x
i,a
x
i,b

23.ci=x
i,a-x
i,b

24.化简可得:
25.x
i,a
=1/2(xi ci);
26.x
i,b
=1/2(x
i-ci);
27.然后用随机数矩阵ri盲化权值矩阵wi成两个矩阵w
i,a
和w
i,b

28.w
i,a
=wi ri;
29.w
i,b
=w
i-ri。
30.优选地,第一边缘服务器和第二边缘服务器利用接收到的深度神经网络模型的权值矩阵对输入数据矩阵进行线性层计算具体包括:
31.第一边缘服务器和第二边缘服务器利用privacy-preserving computation算法对输入数据矩阵进行线性层计算,第一边缘服务器esa接收到x
i,a
和w
i,a
后,计算二者的卷积,得到结果s
i,a
;第二边缘服务器esb接收到x
i,b
和w
i,b
后,计算二者的卷积,得到结果s
i,b
;算法输出是s
i,a
和s
i,b

32.优选地,所述客户端对返回的结果进行验证具体包括:
33.客户端利用verification算法来验证返回的结果,客户端随机选择s
i,a
或s
i,b
的任意个位置的值,再利用xi、wi和本地存储的密钥,即一个随机数矩阵ri和一个随机数ci计算出对应位置的卷积值;客户端比较二者的值是否相等;若不相等,客户端拒绝接收返回的结果;若相等,继续执行下一步骤。
34.优选地,所述客户端利用本地存储的密钥和偏置矩阵恢复出线性层的实际输出结果具体包括:
35.客户端利用recovery算法恢复加密结果,该算法的输入是第一边缘服务器和第二边缘服务器返回的结果s
i,a
和s
i,b
;客户端首先使用随机数ci构造矩阵ci,矩阵ci的每个元素都是ci,其大小和xi一致;然后客户端使用ci、本地存储的随机数矩阵ri和偏置矩阵bi来恢复实际输出结果oi;oi=s
i,a
s
i,b-ci·ri
bi,则oi就是第i层线性层的实际输出结果。
36.优选地,第i 1层线性层的输入x
i 1
=nf(oi),nf是非线性层的激活函数;循环执行上述各个算法直至得到深度神经网络模型的最终推理结果res=nf(oq)。
37.优选地,所述深度神经网络模型包括输入层、隐藏层和输出层,隐藏层包括卷积层、激活层、池化层和全连接层;其中,卷积层和全连接层为线性层,激活层和池化层为非线性层。
38.本发明实施例提供的技术方案带来的有益效果至少包括:
39.1)资源受限的用户也可以花费较小的成本实现高效的深度神经网络推理。
40.2)避免了繁琐的同态加密技术和安全多方计算技术的低效性。
41.3)既能够保证用户待推理的输入数据的隐私性,也能够保证用户训练好的深度神经网络模型的隐私性。
附图说明
42.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明实施例提供的具有隐私性保护的深度神经网络推理方法的流程图;
44.图2是本发明实施例提供的具有隐私性保护的深度神经网络推理系统的示意图;
45.图3是本发明实施例提供的深度神经网络模型隐藏层的基本结构示意图。
具体实施方式
46.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方
式作进一步地详细描述。
47.本发明的实施例提供了一种具有隐私性保护的深度神经网络推理方法,所述方法的流程如图1所示,所述方法涉及的系统模型如图2所示,包括客户端(数据和深度神经网络模型拥有者)和两个外包的边缘服务器(第一边缘服务器和第二边缘服务器)。
48.所述方法包括以下步骤:
49.客户端生成密钥;
50.客户端利用所述密钥对输入数据矩阵和训练好的深度神经网络模型的权值矩阵进行加密,加密后发送给第一边缘服务器和第二边缘服务器,深度神经网络模型的偏置矩阵存储在本地;
51.第一边缘服务器和第二边缘服务器利用接收到的深度神经网络模型的权值矩阵对输入数据矩阵进行线性层计算,并返回结果给客户端;
52.客户端对返回的结果进行验证,若结果正确则接收,若结果不正确则拒绝接收;
53.对于验证正确的结果,客户端利用本地存储的密钥和偏置矩阵恢复出线性层的实际输出结果;
54.客户端在本地进行非线性层的计算,并将计算结果作为下一层线性层的输入,循环上述步骤直至得到深度神经网络模型的最终推理结果。
55.本发明实施例中,客户端的用户可以将需要推理的数据和已经训练好的模型发送到边缘服务器,由边缘服务器处理计算繁重且耗时的线性层,用户只需处理计算高效的非线性层和加解密操作。本发明所述方法既能节省用户的计算开销,同时又能保证用户数据和模型的隐私性。
56.本发明实施例中,深度神经网络模型包括输入层、隐藏层和输出层,隐藏层包括卷积层、激活层、池化层和全连接层,如图3所示;其中,卷积层和全连接层为线性层,激活层和池化层为非线性层。
57.卷积层的功能是对输入数据矩阵进行特征提取,通常包含多个卷积核。卷积操作是将卷积核和对应输入中的矩阵数据逐个对应相乘,再加和。从输入数据矩阵的左上角开始进行卷积操作到图像的右下角结束。对原矩阵卷积后得到的矩阵称为特征图。
58.一般来说,每个卷积层后面都有一个激活层。激活层通常通过使用激活函数来增强模型处理非线性问题的能力。主要的激活函数有sigmoid函数、tanh函数和relu函数。
59.池化层主要用于降低各个特征图的维度,同时可以保持大部分重要的信息。池化操作一般有两种方式,即最大值池化和平均值池化。二者区别在于对池化窗口中值的处理方式不同,最大值池化即对池化窗口中的值取最大值,平均值池化即对池化窗口中的值取平均值。
60.全连接层在整个卷积神经网络中起到“分类器”的作用。在实际使用中,全连接层的输入数据需要预处理成向量形式,计算方式与卷积层类似。
61.深度神经网络在本质上是一种从输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式。
62.作为本发明的一种具体实施方式,假设已经有了一个训练好的深度神经网络模型,一共包含q层线性层(卷积层和全连接层)。对应模型的第i层线性层的输入数据用xi(1<=i<=q)表示,权值矩阵用wi(1<=i<=q)表示,偏置矩阵用bi(1<=i<=q)表示。在
以下描述中,下标i表示第i层线性层。
63.对于第i层线性层,首先,客户端利用keygen密钥生成算法生成密钥,输入一个安全参数k,输出一个随机数矩阵ri和一个随机数ci作为密钥,ri里的每一个元素都是k比特的随机数,用于盲化权值矩阵wi,其大小和wi的大小一样,ci也是一个k比特的随机数,用于盲化第i层的输入数据矩阵xi。
64.之后,利用input encryption算法对输入数据矩阵和权值矩阵进行加密,输入随机数矩阵ri和随机数ci以及输入数据矩阵xi和权值矩阵wi,输出四个矩阵x
i,a
,x
i,b
,w
i,a
和w
i,b

65.加密过程如下:首先使用随机数ci构造矩阵ci,矩阵ci的每个元素都是ci,其大小和xi一致;为了盲化xi,将其分成两个矩阵x
i,a
和x
i,b
,其中,两个矩阵x
i,a
和x
i,b
满足以下条件:
66.xi=x
i,a
x
i,b

67.ci=x
i,a-x
i,b

68.化简可得:
69.x
i,a
=1/2(xi ci);
70.x
i,b
=1/2(x
i-ci);
71.然后用随机数矩阵ri盲化权值矩阵wi成两个矩阵w
i,a
和w
i,b

72.w
i,a
=wi ri;
73.w
i,b
=w
i-ri。
74.加密完成后,将x
i,a
和w
i,a
发送给第一边缘服务器esa,将x
i,b
和w
i,b
发送给第二边缘服务器esb。
75.第一边缘服务器和第二边缘服务器接收到加密的数据后,利用privacy-preserving computation算法对输入数据矩阵进行线性层计算,第一边缘服务器esa接收到x
i,a
和w
i,a
后,计算二者的卷积,得到结果s
i,a
;第二边缘服务器esb接收到x
i,b
和w
i,b
后,计算二者的卷积,得到结果s
i,b
;算法输出是s
i,a
和s
i,b

76.两个边缘服务器计算完成后,将结果返回给客户端。客户端利用verification算法来验证返回的结果,客户端随机选择s
i,a
或s
i,b
的任意个位置的值,再利用xi、wi和本地存储的密钥,即一个随机数矩阵ri和一个随机数ci计算出对应位置的卷积值;客户端比较二者的值是否相等;若不相等,客户端拒绝接收返回的结果;若相等,继续执行下一步骤。
77.对于验证正确的结果,客户端利用recovery算法恢复加密结果,该算法的输入是第一边缘服务器和第二边缘服务器返回的结果s
i,a
和s
i,b
;客户端首先使用随机数ci构造矩阵ci,矩阵ci的每个元素都是ci,其大小和xi一致;然后客户端使用ci、本地存储的随机数矩阵ri和偏置矩阵bi来恢复实际输出结果oi;oi=s
i,a
s
i,b-ci·ri
bi,则oi就是第i层线性层的实际输出结果。
78.客户端在本地进行非线性层的计算,并将计算结果作为下一层线性层的输入。第i 1层线性层的输入x
i 1
=nf(oi),nf是非线性层的激活函数;循环执行上述各个算法直至得到深度神经网络模型的最终推理结果res=nf(oq)。
79.综上所述,本发明提供的深度神经网络推理方法有效利用边缘服务器处理计算繁重且耗时的线性层,用户只需处理计算高效的非线性层和加解密操作,使资源受限的用户
也可以花费较小的成本实现高效的深度神经网络推理,同时能够保证用户输入数据和深度神经网络模型的隐私性。
80.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献