0


隐私保护深度学习技术综述

摘要

当机器学习算法需要为训练过程访问高度敏感的数据时,存在挑战和问题。为了解决这些问题,人们发展了几种保护隐私的深度学习技术,包括安全多方计算和神经网络中的同态加密。也有几种方法可以对神经网络进行改进,使其适用于隐私保护环境。然而,在各种技术之间存在隐私和性能之间的权衡。本文讨论了隐私保护深度学习的研究现状,对各种方法进行了评价,比较了每种方法的优缺点,指出了深度学习在隐私保护领域存在的挑战和问题。

前言

机器学习,即人工智能(AI)的发明,开启了人类生活的一个新纪元。我们可以训练一台机器像人类一样做决策。机器学习一般分为训练阶段和测试阶段,为了利用机器学习取得更好的效果,在训练阶段需要大量的数据集。机器学习在社会工程、图像识别、医疗服务等领域都有应用的趋势。要想获得令人满意的机器学习结果,一个主要的挑战就是数据集的收集。由于数据将分散在个人身上,因此需要付出大量努力来收集这些数据。

敏感用户倾向于不情愿地将他们的私有数据提交给第三方。由于服务器端受到危害,将会发生数据泄露的风险,例如当我们使用云计算时。用户选择不将其机密数据存储在云中,因为他们担心有人会查看他们的私有数据,为了说服用户相信他们的数据安全和隐私,需要一种使用隐私保护数据的方法来输入深度学习中的训练过程。为此,发送到服务器的数据必须加密,并且在训练阶段也应该保持加密。这里的挑战是修改当前的深度学习技术,使其能够处理加密数据。在本文中,我们将讨论隐私保护深度学习(PPDL)技术的发展现状,对他们进行评估,比较每种技术的优缺点,并提出PPDL中存在的问题和挑战。

经典隐私保护技术

隐私保护技术被归类为能够处理加密数据的特殊工具。隐私保护技术的重要性在于能够在不泄露原始内容的情况下对数据进行计算。因此,它可以保证高度机密数据的隐私。关于在处理个人数据方面保护个人的第95/46/EC号指令是欧洲联盟根据人权法管理个人数据库处理的指令。该指令规定,“[数据]控制员必须实施适当的技术和组织措施,以保护个人数据免受意外或非法破坏或意外丢失、更改、未经授权的披露或访问,特别是在处理涉及通过网络传输数据的情况下,以及防止所有其他非法形式的处理。”隐私保护的目标就是基于这一规定。

同态加密

1978年,Rivest et al.质疑是否存在任何加密方案来支持在不知道秘密信息的情况下对加密数据进行计算。例如,教科书上的RSA加密支持在没有私钥的情况下对加密数据进行乘法运算,我们称之为乘法同态加密(HE)。同样,如果一个系统支持在没有密钥的情况下对加密数据进行加法运算,我们称之为加法同态加密。

安全多方计算

安全计算的概念于1986年由姚期智院士正式提出,并发明了乱码电路(GC)。在GC中,所有函数都被描述为一个布尔电路,并且使用不经意传输协议来不经意地传递信息。然后,Goldreich等人在1987年将该概念扩展到安全多方计算(MPC)。MPC的目的是解决在不使用任何可信第三方的情况下保护一组不可信用户中的用户隐私的协作计算问题。

差分隐私处理受信任的数据管理者想要发布关于他/她的数据的一些统计数据而不泄露关于该数据的任何信息的情况。因此,无论是否包括用户数据,有权访问某些算法的输出的对手都会获得几乎相同的信息。应用差分隐私技术,对机器学习算法进行了大量的研究,如决策树、支持向量机、Logistic回归等。

深度学习中的隐私保护技术

这一节描述了深度学习技术的原始结构和隐私保护环境下必要的改动。

深度神经网络(DNN)

激活层(Activation layer)

如图1所示,激活层(Activation layer)决定是否激活数据(值1)或不激活(值0)。激活层是对卷积层的输出进行数学处理的非线性函数。有几种众所周知的激活函数,例如整流线单元(RELU)、Sigmoid和tanh。由于这些函数是非线性的,如果我们使用这些函数来计算HE加密的数据,复杂度会变得非常高。因此,我们需要找到一个只包含乘法和加法的替换函数。替换函数将在稍后讨论。

池化层(Pooling layer)

如图2所示,池化层(Pooling layer)是一个采样层,其目的是减小数据的大小。共有两种池:最大池和平均池。在HE中,我们不能使用最大池函数,因为我们不能搜索加密数据的最大值。因此,平均池是实施HE的解决方案。平均池计算值的总和,因此这里只有加法运算,可以用于加密的数据。

全连通层(Fully connected layer)

全连通层(Fully connected layer)如图3所示。这一层中的每个神经元都与上一层神经元相连,因此称为全连通层。该连接表示特征的权重,就像一个完整的图形。这一层的运算是上一层的输出神经元的值与神经元的权值的点积,这个函数类似于神经网络中的隐含层。只有由乘法和加法函数组成的点积函数,所以我们可以在加密数据上使用HE。

丢弃层(Dropout layer)

如图4所示,丢弃层(Dropout layer)是为解决过拟合问题而创建的层。有时,当我们训练机器学习模型时,对于某些数据分类结果会太好,表现出对训练集的偏向。这种情况并不好,导致测试周期出现巨大误差。丢弃层在训练过程中会丢弃随机数据,并将数据设置为零。通过在训练期间反复这样做,我们可以防止在训练阶段过拟合。

隐私保护环境下的神经网络改动

批标准化层

批标准化(BN)层是由Ioffe和Szegedy提出的。BN层的主要目的是通过增加神经网络的稳定性来加快训练过程。这一层从激活层接收输出,然后进行重新缩放处理,结果值介于0和1之间。BN层计算每个输入与批次平均值的减法,然后将其除以批次平均值。

激活函数的近似

关于激活函数的多项式逼近,已有若干研究。一些著名的方法包括数值分析、泰勒级数和基于激活函数导数的多项式。数值分析从ReLU函数中产生一些点,然后将这些点作为近似函数的输入。泰勒级数用不同次的多项式逼近激活函数。

步幅增大的卷积层

该体系结构是由Liu等人提出的,以替换池化层。他们以更大的步幅利用卷积层来代替池化层。他们在全连通层和ReLU之间使用BN层。通过这样做,数据的深度保持不变,但是维数降低了。

隐私保护深度学习技术现状

在这一部分中,我们将讨论当前PPDL技术的发展现状,将PPDL方法分为三类:基于HE的PPDL、基于MPC的PPDL和基于差分隐私的PPDL。图5显示了据我们所知隐私保护方法的分类。方法分为经典PPDL和混合PPDL。经典隐私保护方法不包含任何深度学习技术,而混合PPDL是经典隐私保护方法与深度学习的结合。由于传统的隐私保护技术已经过时,本文主要研究混合PPDL技术。

为了比较每篇调查论文的性能,我们使用了准确率、运行时间、数据传输、客户端隐私(PoC)和模型隐私(PoM)等五个指标。图6显示了本文中调查的PPDL的度量标准。准确率是指PPDL模型预测的正确率。运行时间是模型进行加密、将数据从客户端发送到服务器、进行分类处理所需的时间。数据传输(通信量)是从客户端传输到服务器的数据量。PoC意味着服务器或任何其他方都不知道客户端数据。PoM意味着客户端或任何其他方都不知道服务器中的模型分类器。我们测量了每种方法的准确率、运行时间和数据传输的平均值。然后,我们将平均值作为标准。如果精度值高于平均值,则表明该方法的精度较好。此外,如果运行时间和数据传输量低于平均值,则表明该方法的运行时间和数据传输量较好。我们采用各自论文中的比较数据,因为我们认为这是可能达到的最好结果。我们不会重新执行他们的代码,因为并不是所有的代码都是公开的。本文的重点是将经典隐私保护与各种深度学习实践相结合的混合PPDL方法。

基于HE的隐私保护深度学习

在本节中,我们将讨论利用HE来确保数据私密性的PPDL方法。

ML Confidential

由Graepel等人开发的ML Confidential是一个工作在HE方案上的改进的CNN。他们使用多项式逼近替身非线性激活函数。他们使用基于云服务的场景,利用他们所提出的理论以确保数据在客户端和服务器之间传输期间的保密性。首先,他们进行密钥生成,为每个客户端生成公钥和私钥。然后,客户端数据使用他进行加密,并传输到服务器。云端服务器利用加密后的数据进行训练,并利用训练模型对测试数据集进行分类。

Cryptonets

由Gilad-Bachrach等人提出的Cryptonets将CNN应用于同态加密数据。他们提出了Cryptonets来保护用户和云服务之间的数据交换。他们表明云服务可以根据加密的数据应用加密的预测,然后将加密的预测返回给用户。然后,用户可以使用自己的私钥对其进行解密,最终得到预测结果。例如,当医生需要预测病人的健康状况和照顾门诊病人时,可以在医院服务中实施这一方案。Cryptonets的弱点在于其性能对非线性层数的限制。从深层神经网络可以发现,如果非线性层数目较多,则错误率会增加,精度会下降。

PP on DNN

DNN上的PP是由Chabanne等人提出的一种DNN上的隐私保护技术。在方法上,他们把HE和CNN结合起来。他们的主要思想是将Cryptonets与Ioffe和Szegedy提出的激活函数和批标准化层的多项式近似相结合。他们希望提高Cryptonets的性能,这只有在模型中非线性层数较少的情况下才是好的。本文的主要思想是将正则神经网络由卷积层、池化层、激活层和全连通层组成的结构转变为卷积层、池化层、批标准化层、激活层和全连通层。最大池化不是线性函数。因此,在池化层采用平均池化,而不是最大池化来为同态部分提供线性函数。批标准化层对各激活层的输入进行限制,使分布稳定。低次多项式逼近误差小,非常适用于该模型。训练阶段采用正则激活函数,测试阶段采用多项式近似代替非线性激活函数。实验表明,他们的模型达到了99.30%的准确率,优于Cryptonets(98.95%)。与Gilad-Bachrach等人不同的是,该模型在具有大量非线性层的神经网络中工作,接近非线性层数增加时精确度下降,仍能给出99%以上的准确率。

CryptoDL

Hesamifard等人提出的CryptoDL是一种改进的用于加密数据的CNN。他们以低阶多项式改变了CNN的激活功能部分。本文证明了多项式逼近在HE环境下对于神经网络来说是不可缺少的。他们试图近似三种类型的激活函数: ReLU、Sigmoid和tanh。逼近技术是基于激活函数的导数。首先,在训练阶段使用具有多项式逼近的CNN,然后利用训练阶段产生的模型对加密数据进行分类。作者将该方法应用于MNIST数据集,取得了99.52%的准确率。该方案的缺点是没有覆盖深度神经网络中的隐私保护训练。他们仅将隐私保护用于分类过程。与Rouhani等人不同的是,这项工作的优点是它可以为每一轮预测划分许多实例(8192个或更多)。也就是说,与DeepSecure相比,CryptoDL的工作效率更高。

PP All Convolutional Net

PP All Convolutional Net是由Liu等人提出的一种基于HE的卷积网络隐私保护技术。他们使用包含手写数字的MNIST数据集。他们用HE加密数据,然后用加密的数据训练CNN。之后,他们使用CNN的模型进行分类和测试过程。他们的思想是利用高斯分布和泰勒级数在每个激活层和近似激活层之前增加批标准化层。他们还以更大的步幅改变了具有卷积层的非线性池化层。通过这样做,他们成功地将CNN修改为与HE兼容,并在测试阶段达到了98.97%的准确率。可以看出,常规CNN和改进CNN在隐私保护技术上的主要区别在于增加了批标准化层,并将激活层和池化层中的非线性函数改为线性函数。

分布式PP多密钥FHE

由Xue等人提出的分布式PP多密钥FHE协议是一种使用多密钥协议的PPDL方法。他们对传统的CNN结构做了一些改进,如将最大池化改为平均池化,在每个激活函数层之前增加批标准化层,并用低阶逼近多项式代替ReLU激活函数。他们的方法有利于大规模分布式数据的分类,例如,为了预测未来的路况,需要从多辆汽车收集的交通信息数据中训练神经网络模型。使用该方法可以解决数据采集和训练过程中的安全和隐私问题。

Gazelle

由Juvekar等人提出的Gazelle是一种新的PPDL框架。他们将HE和GC相结合,以确保预测即服务(PaaS)环境中的隐私。本文的目的是方便客户端在不向服务器泄露输入的情况下进行分类处理,同时保护服务器中模型分类器的隐私。他们试图使用单指令多数据(SIMD)来提高HE的加密速度。他们还提出了加速卷积和矩阵矢量相乘过程的新算法。最后,Gazelle也能在HE和GC之间切换协议,成功地将秘密共享和HE结合起来,为隐私保护提供了环境。对于深度学习部分,他们利用CNN,它由两个卷积层、两个ReLU层作为激活层、一个池化层和一个全连通层组成。为了保证神经网络模型的保密性,在卷积层中隐藏了权值、偏差和步长。此外,他们还限制了来自客户端的分类查询的数量,以防止链接攻击。实验表明,Gazelle在运行时间上完全优于另一种流行的技术,如MiniONN和Cryptonets。

TAPAS

Tapas由Sanyal等人提出,是一种在PaaS环境下利用加密数据加速并行计算的新框架。他们希望解决HE提供预测服务的主要缺点,即所需的大量处理时间。本文的主要贡献是提出了一种在二进制神经网络(BNN)中加速二进制计算的新算法。该算法首先将所有数据转换为二进制。然后,通过对加密数据和未加密数据进行XNOR运算来计算内积。之后,他们从上一步的结果中计算出1的数量。最后,他们检查计数值的两倍是否大于位数和偏置之间的差值。如果是,则将值1分配给激活函数,如果不是,则将−1分配给激活函数。他们还表明,他们的技术可以通过在同一水平上同时评估三个表示的门来实现并行化。通过这样做,评估步骤所需的时间将大大缩短。他们比较了有和没有并行化的方法。结果表明,使用MNIST数据集,非并行处理需要65.1h,而并行处理只需要147s。

FHE-DiNN

由Bourse等人提出的FHE-DiNN代表用于PPDL的快速HE离散化神经网络技术。一般的HE技术应用到神经网络中都是为了解决复杂性问题,网络越深,复杂度就越高,计算量也就越大。他们使用自举技术来实现神经网络深度的线性复杂度。与标准神经网络相比,本文提出的方法与标准神经网络有一个主要区别,即权值、偏差值和激活函数的取值范围需要离散化。他们使用信号激活函数将信号的增长限制在−1,1的范围内,表现出对线性复杂度具有线性尺度不变性的特点。为了刷新神经元的输出,将在自举过程中计算激活函数。他们表明,通过获得更大的网络规模,BNN可以达到接近于常规NN的精度。在实验中,FHE-DiNN在不到1.7s的时间内达到了96%以上的准确率,总体上,FHE-DiNN的处理时间比Cryptonets快得多,但准确率略差(减少2.6%)。

基于AHE的PPDL

Phong等人提出的基于AHE的PPDL是一种基于简单神经网络结构的PPDL系统。作者指出,Shokri和Shmatkov的文献[49]中存在一个弱点,即在训练过程中泄露客户数据,这个弱点被称为梯度泄漏信息。通过计算对应的真值函数对权重的梯度和对偏置项的对应真值函数的梯度来获得输入值是一种对抗性的方法。如果我们把这两个结果相除,我们将得到输入值。正因为如此,Phong等人提出了他们修订的PPDL方法来克服这一弱点。其核心思想是让云端服务器通过积累用户的梯度值来更新深度学习模型。然而,这种方式实际上也有一个弱点,因为它不能防止参与者之间的攻击。云服务器应该对参与者进行正确的身份验证,以防止此漏洞。

面向PP的安全加权概率C-均值算法

面向PP的安全加权概率C-均值(PCM)算法是由Zhang等人提出的一种在云计算中保护数据隐私的安全聚类方法。他们将C-Means算法与BGV加密方案相结合,在云环境下产生了一个基于HE的大数据聚类,该方案选择BGV的主要原因是它能够保证加密数据计算的正确结果。他们还解决了PCM弱点,该弱点非常敏感,需要正确初始化。针对这一问题,将模糊聚类和概率聚类相结合,在训练过程中主要分为权值计算和矩阵更新两个步骤。为了实现这一点,这里使用了泰勒近似,因为函数是只有加法和乘法运算的多项式。

小结

下表说明了基于我们的指标的每种基于HE的PPDL方法的比较。我们采用各自论文中的比较数据,因为我们认为这是可能达到的最好结果。我们不会重新执行他们的代码,因为并不是所有的代码都是公开的。

基于MPC的隐私保护深度学习

在本节中,我们将讨论利用MPC来确保数据隐私的PPDL方法。

SecureML

SecureML是由Mohassel和Zhang提出的一种新的隐私保护机器学习协议。他们使用不经意传输(OT)、姚的GC和秘密分享。OT是由Rabin提出的一种安全协议,在该协议中,无论消息接收者是否收到消息,对于消息的发送者来说都是未知的。自从1979年Shamir引入秘密共享以来,秘密共享成为在各方之间分发秘密的基本密码工具之一。深度学习部分采用DNN环境下的线性回归和Logistic回归。他们提出了线性回归中秘密共享值的加法和乘法算法。作者利用随机梯度下降法(SGD)计算回归的最优值。该方案的缺点是只能实现一个简单的神经网络,没有任何卷积层,因此精度很低。

DeepSecure

由Rouhani等人提出的DeepSecure是一个能够在隐私保护环境中使用深度学习的框架。作者使用OT和姚的GC协议与CNN一起进行学习过程。DeepSecure支持客户端和服务器之间的协作,使用来自客户端的数据在云服务器上进行学习过程。他们使用半诚实、诚实但好奇的敌手模型对其系统进行安全验证。研究表明,GC协议在数据传输过程中保证了客户端数据的私密性,但该方法的缺点是每轮处理的实例数有限。在每一轮预测中,他们只能对一个实例进行分类。

MiniONN

由Liu等人提出的MiniONN是一个将神经网络转换为不经意神经网络的隐私保护框架。MiniONN的变换过程包含非线性函数,其精度损失可以忽略不计。MinIONN提供了两种变换,即分段线性激活函数的不经意变换和光滑激活函数的不经意变换。光滑函数可以通过将函数分成几个部分来变换成连续的多项式。然后,对每个部分采用多项式逼近,得到分段线性函数。因此,MiniONN支持所有具有单调范围、分段多项式或可逼近为多项式函数的激活函数。实验表明,MiniONN在消息大小和延迟方面优于Cryptonet和SecureML。

ABY3

ABY3由Mohassel等人提出,是一种基于三方计算的隐私保护机器学习协议(3PC)。根据处理需要,该协议可以在算术共享、二进制共享和姚共享的3PC之间切换。通常的机器学习过程是在算术运算上进行的,因此不能对激活函数进行多项式逼近。ABY3可用于训练线性回归、逻辑回归和神经网络模型。他们在训练线性回归模型时使用算法共享。另一方面,在计算Logistic回归和神经网络模型时,他们在三方GC上使用二进制共享。在实验中,他们表明,当ABY3在同一台机器上运行时,它的性能比MiniONN快四个数量级。

小结

下表总结了每种基于MPC的方法的比较。准确率是指PPDL模型预测的正确率。运行时间是模型进行加密、将数据从客户端发送到服务器、进行分类处理所需的时间。数据传输(通信量)是从客户端传输到服务器的数据量。PoC意味着服务器或任何其他方都不知道客户端数据。PoM意味着客户端或任何其他方都不知道服务器中的模型分类器。

基于DP的隐私保护深度学习

PATE

由Papernot等人提出的PATE,教师集成模型的隐私聚合。在生成性对抗网络(GAN)中,基于差分隐私的PATE学习过程由教师阶段和学生阶段组成。在PATE中,首先在教师阶段,使用数据子集对模型进行训练。然后,学生模型将向教师模型学习。隐私的关键在于教师模式,这是不公开的。该模型的优势在于区分模型,当敌手获得学生模型时,不会给他们任何机密信息。他们还表明,可能存在将某些训练数据泄露给敌手的失败。因此,除了开发用于隐私保护的密码学技术外,提醒失败是非常重要的。

对调研的分析

在我们调查了上面提到的所有论文之后,我们可以看到,根据我们这里定义的指标,E2DM提供了最好的性能。具有较高的精度、较好的运行时间、较好的数据传输率,同时保证了PoC和PoM。E2DM是唯一满足我们定义的所有参数的工作,这表明E2DM是目前最好的PPDL方法。此外,从上面的分析来看,我们认为隐私保护机器学习技术的主要挑战在于准确性和复杂性之间的权衡。如果对激活函数采用高阶多项式逼近,精度会有所提高,但代价较高,复杂度较高。另一方面,与高阶多项式相比,低阶多项式对激活函数的逼近复杂度低,精度差。为每个隐私保护场景选择正确的近似方法是这里的主要挑战。

总结与未来工作

在本文中,我们讨论了PPDL的发展现状。我们分析了神经网络的原始结构,以及在隐私保护环境中使用神经网络需要进行的修改,讨论了非线性激活函数替换过程中精度与复杂度之间的权衡问题为主要挑战。隐私保护机器学习技术的一个悬而未决的问题是降低计算负担。如何在客户端和服务器之间进行优化分配,以获得最佳的性能,是今后需要解决的一个挑战。另一个挑战是在保持计算性能的同时保证PoC和PoM。确保PoC和PoM需要分别从客户和模型的角度进行两次额外计算。我们的调查显示,只有E2DM成功地满足了这些要求,尽管它的准确率仍然低于CryptoDL、DeepSecure和MiniONN。然而,这三种方法只满足PoC或PoM中的一种,而不是两者都满足。利用PoC和PoM特性达到99%以上的准确率成为未来PPDL方法的主要挑战。快速、廉价的轻量级PPDL也是未来工作的一个有趣的挑战。

参考文献

略,见原文。

作者简介

魏伟明, 应用数学硕士, 目前在广州大学数学与信息科学学院攻读博士学位, 主要研究方向为: 安全多方计算在隐私保护机器学习领域中的应用. 知乎: @云中雨雾.

标签: 安全 同态加密

本文转载自: https://blog.csdn.net/OpenMpc/article/details/124433193
版权归原作者 开放隐私计算 所有, 如有侵权,请联系我们删除。

“隐私保护深度学习技术综述”的评论:

还没有评论