文摘
5 g技术的快速发展,其高带宽、高可靠性、低延迟,以及大型连接特性开辟了一个更广泛的物联网的应用领域。此外,AIoT(人工智能物联网)已经成为物联网的新发展方向。通过深入学习物联网提供的实时数据,人工智能判断用户习惯更准确,使设备的行为符合用户的期望,和变得更聪明,从而提高产品的用户体验。然而,在这个过程中,有很多优势和云之间的数据交互。鉴于共享数据包含大量的私人信息,保存在共享数据信息安全是一个不容忽视的重要问题。在本文中,我们将深度学习与同态加密算法和设计一个基于安全多方计算的深入学习网络模型(MPC)。在整个过程中,我们意识到云只有拥有加密样本的用户,和用户不拥有任何参数或相关结构信息模型。在实验部分,我们输入加密Mnist和Cifar-10数据集模型进行测试,结果表明,该加密Mnist的分类准确率可以达到99.21%,这是非常接近的结果在明文。加密Cifar-10的分类准确率可以达到91.35%,略低于明文的测试结果比现有的深度学习网络模型,可以实现数据的隐私保护。
1。介绍
5 g技术的快速发展,5 g是领先的物联网标准的演变1- - - - - -3]。不过,还应该指出的是,物联网标准的数据传输技术主要解决问题(4,5),而AIoT关注物联网的新应用程序形式,强调服务,尤其是后端处理和应用面向物联网(6,7]。大规模和复杂的数据生成的物联网需要分析和加工,以及人工智能技术是有效的信息处理的最佳选择。它可以使智能产品更好地理解用户的意图(8,9]。艾未未的物联网提供的数据只能不断。物联网提供的大量数据可以使AI快速获取知识。与人工智能集成技术可以为物联网带来广阔的市场前景。特别是深入学习是人工智能的一个重要分支,它。它的动机是建立神经网络模拟人脑分析学习(10),它模仿人类大脑的机制来解释数据,比如图像、声音和文字。
神经网络技术起源于1950年代和1960年代作为感知器,和一个输入层、输出层和隐层(11,12]。输入特征向量达到输出层通过隐层的转换,并得到分类结果输出层。早期的感知器是由Rosenblatt驱动的。然而,最严重的问题与Rosenblatt单层感知器是无法处理更复杂的功能(如最典型的“异或”操作)。随着数学的发展,这个缺点直到1980年代才克服由多层感知器的发明Rumelhart,威廉姆斯,辛顿,LeCun(和其他人。一个多层感知器,顾名思义,是一个与多个隐藏层感知器,如图1。
多层感知器可以摆脱约束的离散传递函数和早期使用连续函数如乙状结肠或双曲正切来模拟神经元兴奋的反应。的训练算法,Werbos的反向传播(BP)算法。这就是我们现在所称的神经网络。
据报道,一系列的公司,包括谷歌、Facebook、百度和阿里巴巴,还公开宣布,人工智能将是他们下一个战略重点。基于这些科技巨头的技术背景和他们在深度学习的巨额投资,深度学习已经取得了非凡的进展。此外,随着云服务模式的快速发展,这些企业部署相应的深度学习模型在云计算供应商提供服务为用户根据不同的解决方案。一方面,它为用户提供了强大的服务。另一方面,上传数据后,如图片、声音和视频,云计算,用户将面临数据隐私披露的风险,因为他们不能控制他们的后续使用。此外,我们知道,神经网络模型将得到更好的增加和多样化的训练数据集。然而,在金融和医疗保健等领域,法律、法规不允许个人数据的共享,所以我们可能无法得到一个好的深度学习模型基于有限的数据(13]。与现代社会越来越多的关注隐私保护,如何确保数据的隐私和算法的有效性,在计算的过程中已成为机器学习领域的一个重大问题。
同态加密的出现让密文的应用领域的深度学习成为可能。里维斯特是第一个提出了同态加密的概念在1978年(14]。同态加密是一种加密形式,它允许人们对密文进行特定的代数操作来获取加密的结果。解密密文将获得相同的结果作为明文上执行相同的操作。没有真正的同态加密算法可用,大多数现有的添加剂,如Benaloh [15),以及RSA (16)和乘法同态EIGamal算法支持。2009年9月,IBM研究员克雷格绅士发表了一篇论文(17)提出了一种基于理想晶格的同态加密算法,这成为了一个解决方案,可以实现同态加密的所有属性。这是同态加密技术的一个里程碑,但它不能应用在实践中由于计划本身的高成本,计算模型和高安全性。之后,学者们提出了一定程度的完全同态加密(SWHE) [18]。这种加密方法只适用于操作基于低阶多项式。
尽管同态加密可以任意的计算理论,但在实践中,我们应注意以下加密的特点:只支持整数数据;乘法的深度需要固定的,所以不能无限期地进行加法和乘法。和同态加密不支持操作,比如比较和最大化。因此,同态加密不能直接应用于深度学习。
在下面的文章中,我们将讨论这些问题,然后提出解决方案。我们的贡献如下:(我)结合深入学习网络的同态加密算法,我们设计了一个架构基于安全多方计算的,也就是说,等一系列分布式处理的标准化和加密用户隐私数据的边缘,然后推理基于云深学习应用程序,最后返回结果为解密边缘。因此,实现用户数据的隐私保护。在整个生产过程中,我们意识到云只有拥有用户的加密示例中,和用户不拥有任何参数或结构信息相关的模型。(2)我们设计了相应的CNN模型和加密Mnist Cifar-10,分别,然后测试数据集。结果表明:加密Minst数据集的分类准确率可以达到99.21%,这是非常接近试验结果下明文,也接近技术发展水平模型的准确性。Cifar-10加密数据集的分类准确率可以达到91.35%,略低于明文的测试结果比现有的深度学习网络模型,可以实现用户数据的隐私保护。和单位样本平均只有11秒完成一个推理在云中没有并行优化。
剩下的纸是组织如下。
在第2部分中,我们主要介绍相关工作。节3,我们的模型将被引入。节4、样品预处理的方法和推理的云是通过实验,最后实验比较结果与其他相关模型。
2。相关工作
在这个领域已经有几个优秀的贡献,例如。
Graepel等人使用一个有些他计划培训两个机器学习分类器:线性均值和费雪的线性歧视(盛名)。他们提议division-free算法适应他的算法的局限性。他们集中在简单的分类器如线性分类器和没有考虑更复杂的算法。
泊斯德et al。19)结合三个同态系统(二次Residuosity、Paillier BGV计划)和篡改的电路提供保护隐私分类为三种不同的机器学习算法,即超平面的决定,朴素贝叶斯决策树。他们的方法只考虑经典的机器学习算法,只对小数据集有效。
Dowlin et al。20.]CryptoNets求婚。他们使用的同态加密方案Bos et al。19),这是非常密切相关的方案Lopez-Alt et al。21)和Stehle &斯坦因费尔德(22]。这项计划是一个夷为平地同态加密方案,它允许添加和乘法加密消息但要求人知道提前算术电路的复杂性也被应用到数据。和他们使用广场功能活动函数。然而,平方函数结果的计算资源的成本变得太高随着层数的增加,这是不能适应深度学习。
也有一些最近的工作,看看隐私问题在培训阶段,针对bp算法。部等人提出了一个保护隐私基于BGV反向传播算法对云加密方案。算法减轻了昂贵的业务到云并使用BGV期间保护隐私数据的学习过程。张等人还提出使用BGV加密方案来支持安全计算深度计算模型的高阶bp算法有效地培训云。在他们的方法中,以避免乘法深度太大,每一次迭代后,更新后的重量被送到当事人和reencrypted进行解密。因此,解决方案的通信复杂度非常高。
正如我们所知,隐私数据处理是基于两方面的考虑。一是获得你想要的计算结果在不暴露你的数据的前提下对方。另一种是,当攻击者违反了保护,获得的数据或中间数据仍然是毫无意义的密文。因此,我们设计的隐私数据使用神经网络分类,它可以描述如下:两党Alice和Bob;爱丽丝是数据持有方;鲍勃是神经网络举行一个聚会。爱丽丝想要在不暴露自己的信息的前提下,得到你想要使用Bob的神经网络分类的结果。爱丽丝,得到结果后,鲍勃不知道爱丽丝的数据;爱丽丝也不知道鲍勃的神经网络。
进一步描述如下:首先,我们需要清楚地显示了,已经是一个使用云中的明文训练模型;我们的工作主要是集中在阶段的推理模型;根据数据集的复杂性,我们设计不同的卷积神经网络结构;网络结构可以学到更丰富和更复杂的高维特征与更好的性能和更好的适应性。在论证阶段,我们提出一个基于安全多方计算的交互模型,以及优化Paillier加密算法可以用来保护用户隐私数据,并获得预期的推理结果。
3所示。该模型
在本部分中,首先,我们引入Paillier算法,如何优化操作实数。然后,我们分析卷积神经网络的特点和网络的每一层结合的同态加密算法。最后,基于MPC将数据交互架构。
3.1。Paillier加密
从本质上讲,同态加密是指这样一种加密功能,加密明文的环上的加法和乘法操作,然后加密加密后的密文,结果是等价的。因为脾气好,人可以委托第三方来处理数据没有透露这些信息。下面,我们介绍的工作步骤和属性Paillier算法。
3.1.1。密钥生成
两个大素数p和问随机,并计算其产品N和最小公倍数的p−1和问- 1:
一个整数 是随机选择的,代表所有数字的集合interprime的 ,和整数不到吗 ,在哪里私有密钥和吗 一个是公钥。
3.1.2。加密过程
如果 是被加密的密文的加密算法如下:
其中, 是一个随机选择的整数和c是加密的数据。因此,对于相同的明文米,不同的密文c将生成的不同r选择,但相同的米解密后可以恢复。
3.1.3。解密过程
如果 是对密文进行解密,解密算法如下: 在哪里定义如下:
的同态Paillier显示如下:
3.1.4。处理实数
Paillier加密只是为非负整数定义不到N。因为我们经常要使用整数和浮点数,签署前值应该作为一个有效的整数编码加密。消极的预处理和浮点数如下:(我)代表签署了整数相对比较容易。我们利用模运算Paillier方案的属性。我们选择只代表之间的整数(−max_int, max_int], max_int约等于N/ 3(大整数可能被视为浮点数)。(max_int之间的范围值,N-max_int)是用于检测溢出。原理图的数值范围图所示2。我们使用代表输入值的和代表输出值,因此上述过程可以表示为下面的公式: (2)将浮点数表示为整数是一项困难的任务。在这里,我们使用的一个变体fixed-precision算术。在固定的精度,我们可以通过每一个浮动乘以大量编码(例如,1e6)和由此产生的产品。我们可以通过除以这个数字解码。如图3,问是一个很大的整数。例如,当输入信号是0.813乘以扩张的因素问= 1000,就813,从而实现无错转换十进制整数。
完整的实现可以在实数的处理方案data61.csiro.au。
3.2。卷积神经网络优化
对于Mnist数据,我们知道每一个图像的大小是28128。“28128“意味着图像大小”2828”和图像只有一个颜色通道假设隐层节点的第一层是500,所以一个完整的链路层神经网络将有28个28500 + 500 = 392500参数;图像较大时,参数会有更多;这不仅会导致缓慢的计算也可以导致拟合;这一次我们需要解决这个问题与CNN。如图4,一个典型的卷积神经网络(CNN)架构显示从左到右作为输入层,两个卷积和汇聚层,完整的连接层(23]。
下面,我们将介绍在CNN层,分别为:输入层。输入层是整个神经网络的输入。卷积神经网络的图像处理,它通常代表了图像的像素矩阵。卷积的层。卷积层通常使用一个过滤器来提取特征与更高程度的抽象。过滤器的向前传播的过程中正确的单位矩阵计算节点通过节点的小矩阵在图的左边5。一般来说,滤波器的大小是33或55。让我们向您展示如何将一个223节点矩阵115单元节点矩阵。在公式(7),代表的重量th节点输出单元的节点矩阵,和““代表了抵消项对应输出节点。在公式(8),““代表激活函数,””代表的价值节点在单位矩阵。所以,第一个节点在单位矩阵的值为零。最后,向前传播的卷积层结构是将一个过滤器从当前层的左上角到右下角,并计算每个相应的单位矩阵在运动。 汇聚层。汇聚层的作用是有效地降低矩阵的大小,从而加快计算速度和防止过度拟合。如图6池,池层主要分为平均和最大池。汇聚层的向前传播也完成移动结构类似于过滤器。然而,计算在池层过滤节点的加权和,但不是一个最大或平均值的简单操作。我们希望向CNN应用同态加密的财产,但操作不支持的最大值,随后模型将所有使用的池层平均池。完整的连接层。这一层中的每个神经元连接到所有上层神经元,以及每个神经元的输入和输出,如图所示7。我们可以认为上述卷积层和池层是自动图像特征提取的过程。特征提取后,完整的连接层需要完整的分类。激活层。我们可以看到卷积层单元的输出矩阵和完全连接层中的每个神经元的输出和输入加权和为一个非线性函数,即激活函数。通过这种方式,由于激活函数的引入,叠加的多个网络层不再是一个简单的线性变换,所以它有一个更强的性能。起初,乙状结肠函数最常用(如左边的图所示图8),但在网络中,梯度饱和问题。之后,学者ReLU函数引入AlexNet解决梯度饱和的问题(如右边图如图所示6)[24,25],过度拟合问题的出现缓解。所以,我们要用我们的网络是ReLU激活函数。
根据上述介绍常见的水平在CNN,我们发现CNN的向前传播主要包括两种类型的操作:加权和和激活函数。的加权和,有加法和标量乘法的示例中所涉及的操作,这是非常符合Paillier的性质,我们在前一节中介绍。根据同态的描述在第三节中,我们使用代码封装,密文可以直接添加,和标量乘法可以实施,最后解密获得的结果是一样的结果通过明文参与相同的操作。因为非线性激活函数,它不符合上面提到的同态加密的财产。接下来,我们提出一个解决这个问题的。
4所示。实际应用
4.1。货币政策委员会
为了把Paillier算法与CNN,我们必须解决这个问题,非线性激活函数不能满足新增的同态加密算法和标量乘法同态的性质。
因此,我们画出安全多方计算(以下简称MPC)。MPC的根源在于通过姚明et al。(26,27百万富翁问题提出一个解决方案,在其中两个百万富翁想找出富有没有透露他们的财富的数量。简单来说,安全多方计算协议是密码学的子域名,它允许多个数据所有者执行协作计算没有互信,输出结果,并保证以外的任何一方可以得到任何信息应有的结果。换句话说,货币政策委员会技术能够捕获数据使用的价值没有揭示了原始数据的内容。
基于上述描述,考虑到实际应用场景中,我们设计了自己的交互模型。如图9。模型所有者(企业)可以训练模型上传到云;与此同时,用户也上传加密的数据到云推理使用模型;云计算将密文的结果返回给用户;用户可以使用一个关键局部加密和解密。
4.2。激活函数处理
我们定义E(x),D(x),加密和解密,分别定义一个(x)如下:
如图10云模型,我们可以删除原始层的激活函数,和云模型运行时层包含激活函数(卷积和完整的连接层),最初的卷积层公式的计算结果(7)或完整的连接层的加权和将返回到本地输入一个(x)结算,计算的结果x 一个(x)将回到云计算的输入网络的下一层。重复此操作,直到最后一层得到结果并在本地解密它。
4.3。实验
在本节中,我们介绍我们的实验。我们实现我们的计划使用Python3.6服务器上与英特尔i7处理器(R), 32 g RAM, Nvidia GeForce GTX 2080 ti GPU。
4.3.1。模型训练
首先,在CNN架构基于图11,我们用Mnist手写字符训练数据集27]。Mnist数据集包括60000个手写数字的图像。每一个图像都是28日×28像素阵列,在每个像素的值是一个正整数的范围(0:255)。我们使用训练数据集的一部分,包括50000张图片,训练cnn和其余10000图像进行测试。
在表1,我们现在的主要参数在模型训练过程。在培训过程中,batchsize = 128,学习速率= 0.001,卷积核大小(3,3,20)和(3,3,50)被选中,池层过滤器(2,2),和步幅是1。为了提高模型的泛化能力,每个像素点的灰度值除以255,这样[0,1]之间的样品。
500轮迭代后,测试集可以达到99.62%的精度高,如图12。这是重视后续推理过程的加密的示例。最后,我们在本地保存训练模型来模拟云服务提供商的角色。
4.3.2。模型推理过程
在财政部的样本数据集,每个像素的样本处理改善Paillier同态加密算法,以及随后输入模型用于推理。然而,为了便于分析,我们需要确保加密的数字(0:255)之间,只可以用来显示密码形象,和Paillier算法生成的密文通常非常大,所以我们可以对密文数据执行模256操作以确保图像的每个像素的灰度值用于显示(0:255)之间也。如图13,第一列是原来的手写字符样本,第二列是密文加密后生成样本每个像素点。事实上,加密图像直观地失去了原来的信息。然而,防止攻击者通过直方图分析原始图像,我们进一步列出它的直方图,第三列图所示13。可以看出,攻击者不能获得的原始图像直方图的统计特性。因此,上传样本到云的安全可以保证没有私钥的披露。
(一)
(b)
(c)
(d)
(e)
(f)
从用户上传数据到云后,每一层的输出模型的交互与当地的区域,和加密和解密的时间最大的影响在时间效率上。需要注意的是,因为云保持与当地的持久连接,所以攻击者伪装成一个用户发送一个错误的数据到云容易得到模型参数的结果;从推理过程,我们可以显示最终的完整的连接层有一定概率加入虚假的神经元或神经元随机干扰(27]。
可以看出整个的主要因素确定推理时间模型的数据量是加密和解密的次数。根据我们的算法,在这里指的是最终的数据的数据量得到每一层的模型,而不是卷积内核重量和偏见项参数模型本身的推理过程。如图14,我们列出模型的每一层的数据大小后删除的活化层云。加密和解密的数量模型的层数有关。具体而言,我们只需要加密数据一旦当它上传到云端。其余的模型需要与本地接口交互解密除了激活层。
解密的数量等于模型层的数量。
接下来,我们讨论加密和解密的优化效率。为了提高加密和解密的时间,我们用同态GMPY2库优化算法的代码。GMPY2是用Python扩展模块,它支持多种精密算术。GMPY2是原始的继任者GMPY模块。GMPY模块仅支持GMP多种精密库。GMPY2添加支持MPFR(正确的真正的浮点算术)和MPC(正确的复杂的浮点算术)库。GMPY2也更新的API和命名约定更一致和支持额外的功能。
我们比较加密所需的时间有或没有GMPY2样本。表2显示了同态加密效率的比较结果当关键长度= 3072。可以看出,在不影响CPU和内存占用,加密和解密的时间有一个非常有效的改善。因此,在接下来的实验中,我们基于GMPY2库优化代码加密和解密的工作。
此外,密钥长度的选择对算法执行时间也有很大的影响。例如,表3显示了加密和解密所需的时间(1)样本和64个样本在不同密钥长度。在图15我们可以看到,加密和解密时间与增加密钥长度成指数增加。
我们知道,目前主流的非对称加密算法主要是基于大素数分解的困难,和Paillier也不例外。因此,虽然加密和解密所需的时间与增加密钥长度迅速增加,相应的安全系数也会增加。此外,密钥长度的长度在Parillier也决定了要处理的数据的大小。根据以上,样本的灰度值将被处理之前[0,1]之间的输入模型。因此,在整个模型的推理过程,生成的值大小将不会太大,和安全的考虑,以下实验密钥长度设置为512。在实际的工业生产环境中,密钥长度的长度可适当增加根据安全的要求。
在表4,我们提出的模型在运行时数据维度,不同层数量和所需的披露时间。可以看出,解密时间主要与产量呈正相关维度模型的每一层,只需要11.143秒为一个示例结果从云端。这里需要再次强调,根据我们的模型,当训练模型上传到云提供服务,激活层可以忽略。目前,我们用来加密和解密方法样品仍然是通过逐像素计算获得结果的模式。在后期,如果并行优化算法和分布式计算,如CUDA并行编程,操作将被转移到GPU,这样效率会大大提高。
最后,我们在测试中使用密文集输入模型的分类预测,结果精度为99.21%。正如上面提到的,明文下的模型精度可以达到99.62%。为了验证方案的可行性更复杂的网络,我们还利用Cifar-10 (29日]数据集训练重新设计更复杂的CNN结构,和明文准确率达到92.23%。最后,密文用于推理和准确率91.35%。可以看出,该方案可以适应更复杂的深度网络。密文的准确性下降主要是因为Paillier可以处理负数和浮点数30.),这使得其准确性略输了,但结果仍然是相对良好。在表5后,与网络模型可以实现密文推理,可以看出,几乎所有的模型显示好的结果MNIST数据集。然而,随着网络结构变得越来越复杂和计算复杂度进一步增加,我们的网络仍然可以保持一个相对良好的精度。事实上,根据我们的工作,精度本身并不是高度依赖模型的深度网络,但CryptoNets深层网络中的表现不佳。
在表6与其他两个网络,我们比较基于多项式近似。可以看出,我们的模型是远远低于其他两个样品的总时间完成推理在云中。在我们的模型中,如果batchsize增加时,所需时间会线性增加。然而,今天的技术的发展,计算能力的提高和各种并行化方法,可以很容易地解决这个问题。此外,随着网络深度的增加,其他两个模型的复杂性将进一步增加,和时间成本也会更高。
5。结论
在本文中,我们将深度学习与同态加密算法和设计基于安全多方计算的深入学习网络模型,以确保数据隐私保护当用户使用云深学习模型。在数据集和CNN模型不同的复杂性,我们都得到了好的结果,进一步验证深度学习的可行性作为服务基于加密的数据。加密的两种分类准确率的数据集可以达到99.21%和91.35%。这是一个强烈的迹象表明,我们的方法可以更好地确保在AIoT用户的私人数据的安全。接下来,我们将尝试使用加密的数据直接火车CNN然后找到优化方法。
数据可用性
用来支持研究的数据都包含在这篇文章。
信息披露
的初步研究工作会议提出的“2020年国际会议上网络和网络应用程序(娜娜)。”
的利益冲突
作者宣称他们没有利益冲突有关的出版。
确认
本研究工作得到了中国国家共同基金(U20B2050),中国国家重点研发项目(2018 yfb1201500),中国国家自然科学基金(62072368,62072368,61702411),和主要的研究和发展项目的陕西(2020 gy - 039, 2017年2021 zdlgy05-09 zdxmgy - 098,和2019 td - 014)。