Deep Learning with Differential Privacy翻译

正在读CCS上的“Deep Learning with Differential Privacy”,人工翻译了一下:

Abstract
基于神经网络的机器学习技术已经在多个领域取得显著成就。通常来说,模型的训练需要大的、有代表性数据库,这些数据库可能是外包的,或者包含敏感信息。模型不能泄漏数据库中的隐私信息。为了达到这个目标,我们提出了新的学习算法技术和在差分隐私框架下隐私成本的改良分析。我们的实践和实验表明我们可以使用非凸目标训练深度神经网络,在中等的隐私预算、可控的软件复杂度成本、训练效率和模型质量条件下。

Introduction
神经网络最近的发展已经导致在大范围应用中的显著成功,包括图像分类、语义识别、动作选择…这些进步受益于大型而有代表意义的数据库能够用来训练神经网络。这些数据库通常是外包的,并且可能包含敏感信息。这些数据库的运用要求能够达到应用的水准,同时能够保证规范且严格的隐私。
本文,我们综合当前最新的机器学习方法和改进的隐私保护机制,在中等隐私条件下训练神经网络模型。我们训练模型使用非凸目标、多个层次、上万个参数(作为对比,之前的工作获得强结果在凸模型基础上,模型有更少的参数或者训练更复杂的神经网络但是有着更大的隐私丢失)。为了达到此目标,我们提出了新的算法技术,一个差分隐私框架下改良的隐私成本分析和细致的实施策略:
1、我们显示,通过跟踪隐私丢失的细节信息,我们可以获得更为紧的总体隐私丢失估计,即是渐近的又是经验上的。
2、我们引进新的技术以提高差分隐私训练的计算效率。这些技术包括独立训练样本计算梯度的高效算法,将任务分为小堆以减少内存,和在输入层使用隐私策略投影。
3、我们在机器学习框架Tensor Flow上建立使用差分隐私的模型。我们以2个标准的图像分类任务评估了我们的模型,MNIST和CIFAR-10。我们选择这2个任务因为他们基于公众数据库,并且长期以来作为机器学习的基准。我们的实验证明,深度神经网络的隐私保护可以在中等软件复杂度成本、训练效率和模型质量的条件下完成。
机器学习总是包含保护其训练数据的元素。特别的,规范化技术,旨在避免对训练样本过拟合,可能隐藏这些样本的细节。从另一个角度来说,解释神经网络的内在表现非常困难,并且它们的大容量意味着这些表现很可能包含着至少某些训练数据的细节。在某些情况下,一个特定的敌人很可能提取部分训练数据。比如说,F提出了一种逆模型的攻击,能够从1个面部识别系统中恢复图像。
虽然逆模型攻击仅仅需要对训练模型的黑箱访问,我们认为敌人有额外的能力,像S和S一样。我们的方法提供了对强大敌人的保护,敌人对训练机制有完全了解并且能完全访问模型的参数。特别地,这种保护在以下机器学习的应用中非常吸引人:手机、平板…设备上的储存模型能源-高效,低延迟,并且可能更加隐私,因为推断不需要将用户数据传输给中心服务器;另一方面,我们必须假设模型参量本身可能暴露在恶意监视下。此外,当我们关注训练数据中某一记录的隐私保护时,我们允许了敌人控制剩下1个或所有训练数据的可能。实践中,这种可能性不能被排除,比如当数据外包时。

2 BACKGROUND
2.1 Differential Privacy
差分隐私包含了对于确保在总数据库中算法的隐私强标准。它根据相近数据库的特殊应用概念定义。比如,在我们的实验中,每个训练数据库是1对图像-标签;我们说2对是相邻的,如果它们在1个输入端是互异的,也就是说,如果1对存在,则另1对不存在。
Definition1 ε差分隐私的原始定义没有包含额外项δ,该项被D引进,允许纯ε差分隐私被破坏的概率为δ。
差分隐私有许多特性使得它在应用中十分有用,比如我们的:可组合性、团队隐私和对附加信息的鲁棒性。可组合性使得机制的模块化设计成为可能:如果机制中的每个元素是差分隐私的,那么它们的组合也是的。团队隐私隐私要求的功能降级,如果数据库包含相关输入,比如来自同一个体的数据。对附加信息的鲁棒性隐私保证不受任何一方信息暴露给敌人的影响。
常规的以差分隐私趋近绝对值实值函数的范例是通过对函数敏感性的额外噪声的校正。
重复使用额外噪声机制的差分隐私最基本的组合理论或者改良的组合理论和它们的修正。追踪组合机制实行中和应用可行的隐私策略中的总隐私损耗可以使用M提出的隐私计算。
设计一个差分隐私额外噪声机制的基本蓝图包括以下步骤:使用限制函数的一系列组合逼近函数性;选择额外噪声的参数;对最终机制进行隐私分析。

2.2 Deep Learning
深度神经网络,在许多机器学习任务中非常有效,定义从输入到输出的参数化函数为许多基础模块的组合,比如仿射转换和简单的非线性函数,后者常用的例子是S型和改正线型单元。通过改变这些模块的参数,我们可以训练一个参数化函数,这个函数的目的是适应任何给定的有限输入输出例子。
我们定义了一个损失函数,表征与训练数据不匹配的惩罚。训练包含寻找到θ,产生可接受的最小损失。
对于复杂的网络,损失函数是非凸的,并且难以最小化。实际中,最小化使用批量下降的SGD算法。在这个算法中,每一步生成一组随机数,并计算梯度。然后θ根据梯度方向更新,直到损失函数达到局部最小。
许多系统已经被建立去支持神经网络的定义、使高效训练成为可能、然后执行高效索引。我们的工作基于TensorFlow,允许编程者从基础操作中定义大的计算图像,通过异构的分布系统分享他们的操作,它为梯度自动生成计算图像,同时使得堆计算更简单。

3 Our Approach
3.1 Differentially Private SGD Algorithm
人们试图保护训练数据,通过仅仅对最终参数工作,视整个过程为黑盒子,但是没有对这些参量对训练数据依赖性有用准确的定义,对参数加入过度保守的噪声,这些噪声根据最差情况选择,会破坏学习模型的实用性。因此,我们选择更加精细的方法,旨在控制训练过程中训练数据的影响,特别是在SGD的计算中。我们做了一些修正和延展,特别在我们的隐私计算中。
训练模型的基础方法是通过最小化经验损失,在SGD的每一步,我们每一个随机的例子计算梯度,修建每个梯度的标准,计算平均,加入噪声以保护隐私,然后对此平均噪声梯度逆梯度操作一步。最后,除了提出模型,我们计算根据隐私计算的隐私损失。

Norm clipping
算法的伪代码将所有参数放在损失函数的输出,对于多层次神经网络我们分别考虑每个层次,允许设置不同的阈值和噪声范围。此外,削减和噪声参数随着训练步骤不同,我们使用常数设定。

Lots
像普通的SGD算法一样,本算法通过计算一组例子的梯度并取平均估算L的梯度。这个平均值提供了一个无偏差的估算值,它的变化随着数据量的增加迅速减少。我们称这个组合为lot,与通常的计算组合batch区别开。为了限制内存消耗,我们设置batch的容量远小于lot,batch是算法的参量。我们对batch进行计算,然后将batch放在一个lot中为了添加噪声。实践中,为了效率,batch和lot的建造靠随机改变例子序列并把它们分割成合适大小的组合实现。

Privacy accounting
对于差分隐私SGD,计算训练的整体隐私成本非常重要。差分隐私的可组合性允许我们执行可累加过程:先计算每种到达训练数据的方式的隐私,然后将这些隐私累加作为训练过程。训练的每一步骤要求多个层次的梯度,然后计算器累加对应于它们的所有成本。

Moments accountant
许多研究已经致力于研究对于特殊噪声分布的隐私损失和隐私损失的组成。文中,产生最佳整体限制的结果是强组合理论。
然而,强组合理论可能是松的,无法将特殊噪声分布纳入考虑。我们提出更强的计算方式,被称为时刻计算。这允许我们证明该算法是差分隐私的,如果选择合适的噪声范围和削减阈值。相对于从强组合理论得到的结果,我们的结果从两个方面更严格。

The Moments Accountant: Details
时刻计算追踪隐私损失随机变量,它概括了追踪(ε,δ)的传统方法和使用强组合理论。虽然这样的提升在之前组合高斯机制是已知的,我们显示,这对于有着随机取样的高斯机制能够提供对隐私损失更严格的估计。
隐私损失是依赖于加给算法的随机噪声的随机变量。虽然尾巴限制对于分布来说是非常有用的信息,直接从它组合可能导致结果是松的。我们转而计算隐私损失随机变量时刻的log,这是线性组合的。随后,我们使用时刻限制,同时使用马尔科夫不等式,以获得尾巴限制,这就是差分隐私的隐私损失。
一个普遍的设计方法是更新状态,通过有序的运用差分隐私机制。这是适应性组合的一个例子,我们的模型中,前一个机制的输出作为下一个的附加输入。

3.3 Hyperparameter Tuning
我们识别了与隐私相关模型的细节,特别的,我们可以调节的超参数,从而平衡隐私、准确性和表现。特别地,通过实验,我们发现相对于神经网络模型结构的准确性对训练参数更敏感,比如batch的容量、噪声水平。
如果我们尝试超参数的多种设定,我们一般会增加所有设定的隐私成本,可能通过时刻计算。然而,既然我们只关心给我们最准确模型的设定,我们可以做的更好,比如应用来自G的一个版本的结果。
我们可以使用理论的深度理解以减少需要尝试的超参数设定的数量。虽然对非凸目标函数的差分隐私优化在batch的容量为1时能最好地实现,非凸学习,非连续性且更加不稳定,在聚为更大batch时最佳。同时,使得batch过大增加隐私成本,因此,一个合理的权衡是取一个时期的batch数量与时期的数量相等。随着模型收敛至局部最优,非隐私训练的学习速度通常被小心地调低。与之相对,我们从不需要降低学习速度至一个非常小的值,因为差分隐私训练不会达到一个需要被判断的领域。另一方面来说,在我们的实验中,我们确实发现,这样做的好处是很少的:以相对大的速度开始,然后在几个时期内线性衰减到一个更小的值,然后在之后保持常数。

4 Implementation
我们已经在TensorFlow实施了差分隐私SGD算法。
为了隐私保护,我们需要在使用梯度去更新参数前对它们进行清洗。此外,我们需要根据清洗是如何完成的追踪隐私成本。因此,我们的实施主要包含2部分:清洗,预处理梯度以保护隐私,隐私计算,追踪训练中的隐私耗费。
在许多情况下,神经网络模型可能输入处理通过投影到主要方向上或者通过卷积层培养。我们实施差分隐私PCA并且运用预训练卷积层。

Sanitizer
为了实现隐私保护,清洁器需要2步操作:1、通过削减每个例子梯度的标准以限制每个例子的敏感度;2、在更新网络参数前,batch的梯度加入噪声。
在TensorFlow中,梯度计算被打包因为效果原因。为了限制更新的灵敏度,我们需要访问每个例子。通过实施,训练中只有一个微小的减速,即使更大的batch. 我们现在的实施支持batch计算,允许我们解决最隐藏层,而不是卷积层。
一旦我们能够访问前例子的梯度,使用TensorFlow去削减标准并添加噪声。

Privacy accountant
我们实施中的主要组成是PrivacyAccountant,它追踪训练中的隐私损失。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值