翻译论文转载

摘要

基于神经网络的机器学习技术在很多领域均取得了重要成果。模型训练使用的大型数据集经常包含敏感信息。这些模型不应公开这些数据集中的私有信息。为了达到这个目标,作者针对模型学习和差分隐私开销分析,研究了新的算法技术。作者通过实验验证了,在适度的隐私预算、可控的软件复杂度、训练效能和模型质量限制下,算法依然可以训练非凸目标的深度神经网络。

1. 引言

神经网络在包括图像分类、语言表示、围棋走子等很多领域取得了重要的成功[54、28、56、38、51]。这些重要成功的部分原因是大规模、有代表性数据的可以用以训练神经网络。然而,这些训练数据常常包含很多敏感信息。因此,要求算法技术既能满足应用的需求,同时保证隐私。

在这篇论文中,作者将最优的机器学习方法与先进的隐私保护机制进行组合,在可接受的隐私预算(单位数)内,对模型进行训练。作者的方法主要针对具有非凸目标的、多层和数万到数百万个参数的模型。(与此相反,已有的研究工作所处理的是凸目标并且参数规模较小的模型,且伴随大的隐私预算)。对于这个目标,作者发展了新的算法技术,在差分隐私的框架下对隐私消耗重新分析,并且实现了这种策略:

  1. 作者证明,通过追踪隐私损失的信息,可以依照经验更严格的近似估计总体的隐私损失。
  2. 作者利用新的技术,提升差分隐私的计算性能。这些技术包括针对单个训练样本的有效的梯度计算方法、任务划分到更小的批次以降低内存存储,并且在输入层应用差分隐私。
  3. 基于TensorFlow[3]这一机器学习框架,作者创建了支持差分隐私的模型训练方法。在两个标准的图像数据集(MNIST和CIFAR-10)上评估该方法。作者选择这两个数据的原因是,它们是机器学习领域常用公开的基准数据集。实验表明,在满足可接受的隐私损失、软件复杂度、训练效率以及模型性能的条件下,深度神经网络的隐私保护也可以实现。

机器学习系统通常包含有助于保护其训练数据的元素。尤其是,正则化技术,这项技术的目的避免训练数据上的过拟合,这样操作可能隐藏了训练样本的细节。另一方面,解释深度神经网络的中间表示是非常困难的,并且大的模型规模意味着这些表示形式可能会编码至少一些训练数据的精细细节。在一些情况下,对手可能根据模型得到部分的训练数据。例如,Fredrikson等人[24]证明了一个模型反转攻击可以从人脸识别系统中恢复出原始图像。

模型反转攻击使用一个黑盒模型近似已经训练好的模型(即,基于输入输出与模型进行交互),作者考虑对手可能具有其它能力,如Shokri和Shmatikov[50]。本文所提方法通过掌握关于模型训练和模型参数的全部情况,提供针对具有强大能力的对手的保护。这种保护能力很必要,特别是对于移动电话、平板电脑和其它设备的机器学习应用。在设备上存储模型可以使设备功能强大、推断延迟降低,并且有助于隐私保护,因为推断不需要将用户数据上传到中心服务;另一方面,必须假设模型参数本身可能暴露在恶意检查中。此外,当关注于保护用户数据中的一条记录的隐私时,允许对手控制部分甚至全部其余训练数据的可能性。实际应用中,这种可能性不能总是被排除,例如当数据众包时。

本文接下来的章节对深度学习和差分隐私的背景进行了介绍。第三节和第四节解释了本文所提方法及其具体实现。第五节介绍了实验结果。第六节讨论了相关工作,第七节对本文做了总结。附录中是一些证明。

2. 背景

本节将简单介绍差分隐私的定义、高斯机制和相关理论,并且概述了基本核心的深度学习。

2.1 差分隐私

差分隐私[19,16,20]针对基于聚合数据的算法建立了隐私保护标准。它是基于具体应用对相似数据集的概念进行定义的。在本文的实验中,例如,每一个训练数据集是“图像-标签”对集;作者定义如果两个数据集仅差一条记录时,就说这两个数据集是相似的。即,存在一个“图像-标签”数据存在于一个数据集中,但不在另一个数据集中。

定义1 设一个随机机制(可以理解为一个映射)𝑀:𝐷→𝑅 ,其定义域为 𝐷 ,值域为 𝑅 。若对于 ∀𝑑,𝑑′∈𝐷 ,及值域的子集 𝑆⊆𝑅 有:

Pr[𝑀(𝑑)∈𝑆]≤𝑒𝜀Pr[𝑀(𝑑′)∈𝑆]+𝛿

𝜀−差分隐私的原始概念不包括项 𝛿 。本文使用Dwork[17]中对差分隐私定义的变体,允许 𝜀−差分隐私可以以概率 𝛿 失效(𝛿≪1|𝑑|)。

差分隐私的一些性质在实际应用中非常用有用:可组合性、群组隐私性和对补充信息的鲁棒性。可组合性可以对机制进行模块化设计:如果一个机制的所有组件满足差分隐私,则它们的组合也满足差分隐私。当数据集中包含关于某个个体的多条信息时,群组隐私性使得隐私性缓慢降低。对于补充信息的鲁棒性意味着隐私保护不受其它由对手掌握的信息所影响。

使用差分隐私近似一个确定的实值函数 𝑓:𝐷→𝑅 的通用方法是添加与 𝑓 的敏感度 𝑆𝑓 有关的噪声,函数敏感度 𝑆𝑓=max𝑑,𝑑′∈𝐷|𝑓(𝑑)−𝑓(𝑑′)| ,其中 𝑑 和 𝑑′ 是两个相似的输入。(对实值函数的限制是为了简化表述,不是必须的)例如,高斯噪声机制为:

𝑀(𝑑)≜𝑓(𝑑)+𝑁(0,𝑆𝑓2𝜎2)

其中,𝑁(0,𝑆𝑓2𝜎2) 是一个正态(高斯)分布,均值为0,标准差为 𝑆𝑓𝜎 。如果 𝛿≥54exp(−(𝜎𝜀)2/2) 且 𝜀<1 时[20,定理3.22],敏感度为 𝑆𝑓 的函数 𝑓 通过高斯机制后满足 (𝜀,𝛿)−差分隐私。注意对这个机制的分析可以事后进行,特别是当有无穷多对 (𝜀,𝛿) 满足这个条件时。通过添加噪声实现差分隐私的理论研究有[17,18]和[22,32,21,10]。在执行混合机制的过程中,会累积隐私损失,为了加强隐私保护,可以使用隐私统计方法[40]。


注释

高斯机制为输出向量的每一维添加独立同分布于 𝑁(0,𝜎2) 的噪声值。

定理 设 𝜀∈(0,1) ,𝑐2>2ln⁡(1.25/𝛿),当高斯分布的方差 𝜎≥𝑐Δ2(𝑓)/𝜀 时,高斯机制满足 (𝜀,𝛿)-差分隐私。

则,当 𝜀∈(0,1), 𝜎2≥𝑐2[Δ2(𝑓)]2/𝜀2>2ln⁡(1.25/𝛿)[Δ2(𝑓)]2𝜀2 时,高斯机制满足 (𝜀,𝛿)-差分隐私。

论文中高斯分布的方差为 𝑆𝑓2𝜎2 ,因此,当 𝑆𝑓2𝜎2≥2ln⁡(1.25/𝛿)𝑆𝑓2𝜀2 ,即 𝛿≥54exp(−(𝜎𝜀)2/2) ,𝜀∈(0,1) 时,高斯机制满足 (𝜀,𝛿)-差分隐私。


2.2 深度学习

深度神经网络在很多机器学习任务上均表现出色,通过对很多模块进行层次化组合,构架一个参数化函数。这些模块包括仿射变换和简单的非线性函数。常用的非线性函数包括sigmoids和rectified linear units(ReLUs)。通过改变这些模块的参数,能训练一个参数化函数,通过构建一个目标:使函数拟合给定的输入输出样本。

更具体地,定义一个损失函数 𝐿 ,表示模型关于训练数据的损失。关于参数 𝜃 的损失函数 𝐿(𝜃) 是模型关于所有训练样本 {𝑥1,𝑥2,⋯,𝑥𝑁} 损失的平局,因此 𝐿(𝜃)=1𝑁∑𝑖𝐿(𝜃,𝑥𝑖) 。训练的目的是希望找到可以使得损失最小的参数值 𝜃 (尽管在实践中,很少能得到一个准确的全局最小值)。

对于复杂的网络,损失函数 𝐿 经常是非凸的并且函数值很难减小。实践过程中,经常使用最小批次随机梯度下降(SGD)算法最小化目标函数。在这个算法中,每一步训练,首先随机采样 𝐵 个训练样本,然后计算 𝑔𝐵=1|𝐵|∑𝑥∈𝐵▽𝜃𝐿(𝜃,𝑥) 作为对梯度 ▽𝜃𝐿(𝜃) 的估计。然后,沿着负梯度方向 −𝑔𝐵 更新 𝜃 ,使得损失函数向着局部最小的方向发展。

针对神经网络的构建、训练以及推理的系统[29,12,3]有很多。作者使用TensorFlow实现本文所提算法。TensorFlow[3]是由Google创建的开源项目,根据基本的操作定义了大型计算图,并且通过多种多样的分布式系统使得对神经网络的操作可以分布是进行。TensorFlow自动计算梯度,使得批次计算更加容易。

3. 本文方法

本节描述本文方法的主要组成部分。该方法使得神经网络的训练满足差分隐私,提出了一种差分隐私随机梯度下降算法(SGD),矩统计和超参数调整。

3.1 差分隐私SGD算法

人们试图通过仅改变训练产生的最终参数来保护训练数据的隐私,将此过程视为黑匣子。不幸的是,一般来说,人们可能没有一个有用的,严格的表征这些参数对训练数据的依赖性、将过于保守的噪声添加到参数中,其中噪声是根据最坏情况分析选择的,这将破坏学习模型的效用。因此,本文提出一个更精密的方法,目的是,在训练过程中,控制训练数据的影响,特别是对于SGD计算。这个方法延续了之前的工作(例如,[52,7]);作者做了一些修改和扩展,特别是在隐私计算中。

算法1给出了本文所提的基本方法,通过最小化经验损失 𝐿(𝜃) 来训练模型参数 𝜃 。在SGD的每一步,作者根据随机采样的数据集计算梯度 ▽𝜃𝐿(𝜃,𝑥𝑖) ,根据2范数裁剪每一个梯度,计算平均值,为了保护隐私而添加噪声,同时按照这个平均噪声梯度的负方向更新参数。最后,为了输出模型,将需要计算这种基于包含隐私统计信息的机制的隐私损失。接下来,作者将更详细的描述这个算法的每一个组件以及创新。

正则裁剪:算法1差分隐私保护的证明要求每个样本对 𝑔~𝑡 的影响是有界的。因为梯度大小没有先验界,所以用2范数裁剪每一个梯度,即用 𝑔max(1,||𝑔||2𝐶) 来代替 𝑔 ,𝐶 为裁剪阈值。这种裁剪保证了 ||𝑔||2<𝐶 ,同时在一定程度上隐藏了 𝑔 的真实值,如果 ||𝑔||2>𝐶 ,就被缩小为 𝐶 。

每层和轮次依赖的参数:算法1的伪代码将所有参数组织在损失函数 𝐿(⋅) 的输入参数 𝜃 中。对于多层神经网络,作者分别考虑了每一层,为不同网络不同层的参数设置了不同的裁剪阈值 𝐶 和噪声尺度 𝜎 。除此之外,裁剪阈值和噪声参数应该随着训练次数 𝑡 的增加而不同。在第五节的实验中,设置 𝐶 和 𝜎 为常数。

𝑙𝑜𝑡𝑠:和原始的SGD算法类似,算法1基于一组样本集并采取平均化来估计损失函数 𝐿 的梯度。这个平均值是一个无偏估计量,其方差随着样本数的增多而减小。本文称这样一组样本集为一个 𝑙𝑜𝑡 ,用以与通常称为 𝑏𝑎𝑡𝑐ℎ 的分组相区别。为了限制内存消耗,𝑏𝑎𝑡𝑐ℎ 的大小小于 𝑙𝑜𝑡 的大小 𝐿 (𝐿 是算法的一个参数)。基于多个 𝑏𝑎𝑡𝑐ℎ 计算梯度,然后组合多个 𝑏𝑎𝑡𝑐ℎ 到一个 𝑙𝑜𝑡 中,然后添加噪声。实践中,为了效率,𝑏𝑎𝑡𝑐ℎ 和 𝑙𝑜𝑡 的分组是通过随机排序样本,然后把它们以适当的大小进行分割。为了易于分析,假设 𝑙𝑜𝑡 是按照概率 𝑞=𝐿𝑁 采样每个样本得到的,其中 𝑁 是训练数据包含的样本量。

根据文献中常用的方式,本文将 𝑒𝑝𝑜𝑐ℎ𝑠 的数量作为训练算法的运行时间的衡量,其中每一个 𝑒𝑝𝑜𝑐ℎ 包含多个 𝑏𝑎𝑡𝑐ℎ ,在一个 𝑒𝑝𝑜𝑐ℎ 中将处理 𝑁 个数据样本,一个 𝑒𝑝𝑜𝑐ℎ 包含 𝑁𝐿 个 𝑙𝑜𝑡𝑠 。

隐私统计:与文献中常见的情况一样,作者将训练算法的运行时间标准化,将其表达为 𝑒𝑝𝑜𝑐ℎ𝑠 的数量。差分隐私的可组合性可以实现一个隐私统计步骤,该步骤计算了每一次使用训练数据的隐私开销,并且在训练过程累积该开销。训练的每个步骤通常需要多层梯度,与所有这些梯度相对应的累积的隐私开销。

矩统计:很多工作致力于研究特定分布的隐私损失及其构成。对于本文使用的高斯噪声而言,如果在算法1中设置 𝜎=2log⁡1.25𝛿/𝜀 ,然后根据[20],则每一步关于 𝑙𝑜𝑡 都是满足 (𝜀,𝛿)−差分隐私的。由于 𝑙𝑜𝑡 本身是从数据集中随机采样的,隐私扩大理论[33,8]意味着每一步关于整个数据集都满足 (𝑂(𝑞𝜀),𝑞𝛿)−差分隐私,其中 𝑞=𝐿𝑁 ,为每个 𝑙𝑜𝑡 的采样率,并且 𝜀≤1 。根据强组合定理[22]可以得出最佳的总体界。

然而,强组合定理所给出的隐私上界可能是不紧的,并且没有考虑特殊的噪声分布。在本文的工作中,作者创造了一个更强的统计方法,称为矩统计。根据矩统计,选择合适的噪声尺度和裁剪阈值,能证明算1是满足 (𝑂(𝑞𝜀𝑇),𝛿)−差分隐私的。

与强组合定理的结论相比,本文的界在两个方面更紧:在 𝜀 部分省略了一个 log⁡(1/𝛿) 因子,在 𝛿 部分省略了一个 𝑇𝑞 因子。因为期望 𝛿 小一些,并且 𝑇≫1/𝑞 (即,每一个样本被测试多次),本文的界所提供的结果是非常充分的。这个结果是本文的主要贡献之一。


注释

  1. 根据高斯机制,容易证明算法1每一次迭代关于本次迭代所使用的 𝑙𝑜𝑡 满足 (𝜀,𝛿)-差分隐私。
  2. 根据[33,8],容易证明算法1每一次迭代关于整个数据集满足 (𝑂(𝑞𝜀),𝑞𝛿)-差分隐私。
  3. 根据高级组合定理,算法1执行 𝑇 轮,则相当于对数据集查询了 𝑇 次,则满足 (𝜀′,𝑇𝑞𝛿+𝛿′)-差分隐私。其中,𝜀′=2𝑇log⁡(1/𝛿′)𝑂(𝑞𝜀)+𝑇𝑂(𝑞𝜀)(exp(𝑂(𝑞𝜀))−1)=𝑂(𝑞𝜀𝑇log⁡(1/𝛿′)) ,令 𝛿′=𝛿 ,则根据高级组合定理算法1满足 (𝑂(𝑞𝜀𝑇log⁡(1/𝛿)),(𝑇𝑞+1)𝛿)-差分隐私。
  4. 而本文证明了算法1满足 (𝑂(𝑞𝜀𝑇),𝛿)-差分隐私,在 𝜀 和 𝛿 部分都减小了很多。

定理1 对于给定的采样率 𝑞=𝐿/𝑁 和训练轮次 𝑇,存在常数 𝑐1 和 𝑐2 ,使得对于 ∀𝜀<𝑐1𝑞2𝑇 及 𝛿>0,选择 𝜎≥𝑐2𝑞𝑇log⁡(1/𝛿)𝜀 可以使算法1满足 (𝜀,𝛿)−差分隐私。

如果使用强组合定理,将需要选择 𝜎=Ω(𝑞𝑇log⁡(1/𝛿)log⁡(𝑇/𝛿)/𝜀) 。注意,在本文提出的近似界中省略了因子 log⁡(𝑇/𝛿) 。因此,矩统计可以从这个定理中获得收益。如第四节图2所示,在实践中,可以设置 𝐿=0.01𝑁,𝜎=4,𝛿=10−5,𝑇=10000 ,根据矩统计,有 𝜀≈1.26 。作为对比,使用强组合定理得到一个更大的 𝜀≈9.34 。


注释

  1. 给定目标隐私参数 0<𝜀′<1 ,𝛿′>0 ,为确保 𝑘 个机制的累积损失满足 (𝜀′,𝑘𝛿+𝛿′) , 则需保证参与组合的每个差分隐私机制满足 (𝜀,𝛿)-差分隐私,其中:𝜀=𝜀′22𝑘log⁡(1/𝛿′) 。
  2. 对于强组合定理而言,需要选择 𝜎=2log⁡(1.25/𝛿𝑙𝑜𝑡)𝜀𝑙𝑜𝑡 ,又因为,𝜀𝑙𝑜𝑡=𝑂(𝑞𝜀𝑑𝑎𝑡𝑎𝑠𝑒𝑡) ,𝑞𝛿𝑙𝑜𝑡=𝛿𝑑𝑎𝑡𝑎𝑠𝑒𝑡 ,则应满足 𝑂(𝑞𝜀𝑙𝑜𝑡)=𝜀22𝑇log⁡(1/𝛿′) ,𝛿=𝑇𝑞𝛿𝑙𝑜𝑡+𝛿′ ,令 𝛿′=𝑞𝛿𝑙𝑜𝑡 ,则 𝜎≥4𝑞𝜀𝑇log⁡𝑇+1𝛿log⁡1.25𝑞(𝑇+1)𝛿=Ω(𝑞𝑇log⁡(1/𝛿)log⁡(𝑇/𝛿)/𝜀) 。

3.2 矩统计:细节

矩统计追踪了关于隐私损失随机变量(式1定义了该随机变量)的矩的界。它推广了追踪 (𝜀,𝛿) 的标准方法,并且使用了强组合定理。虽然这种推广之前以组合高斯机制而闻名,但本文研究表明它也适用于随机抽样和高斯机制的组合,并且可以对算法1的隐私损失提供更紧的估计。

隐私损失是一个随机变量,它依赖于算法添加的随机噪声。一个机制 𝑀 满足 (𝜀,𝛿)−差分隐私等价于 𝑀 的隐私损失随机变量的所属的概率分布的尾部的界。同时,尾部界是关于分布的一个非常有用的信息,直接根据它进行组合将导致一个非常松散的界。相反,本文计算隐私损失随机变量的矩的对数。然后,使用矩的界,连同标准的马尔可夫不等式,以获得尾部界,这就是差分隐私意义上的隐私损失。

更具体地,对于任意给定的两个相似的数据库 𝑑,𝑑′∈𝐷𝑛 而言,一个机制 𝑀 ,一个辅助输入 𝑎𝑢𝑥 和一个输出 𝑜∈𝑅 ,定义了关于 𝑜 的隐私损失:

𝑐(𝑜;𝑀,𝑎𝑢𝑥,𝑑,𝑑′)≜log⁡Pr[𝑀(aux,d)=o]Pr[𝑀(aux,d′)=o]

本文广泛使用了一个通用的设计模式,通过持续的应用差分隐私机制来更新状态。这是一个自适应组合的例子,通过设置第 𝑘 个机制 𝑀𝑘 的输入为前面机制的输出来建模。

对于一个给定的机制 𝑀 ,定义第 𝜆 阶矩 𝛼𝑀(𝜆;aux,𝑑,𝑑′) 为矩母生成函数在 𝜆 点处的期望值的对数:

𝛼𝑀(𝜆;aux,𝑑,𝑑′)≜log⁡𝐸𝑜∼𝑀(aux,𝑑)[exp(𝜆𝑐(𝑜;𝑀,aux,𝑑,𝑑′))]

为了证明一个机制的隐私保护,关于所有可能的 𝛼𝑀(𝜆;aux,𝑑,𝑑′) 的界是非常有用的。作者定义:

𝛼𝑀(𝜆)≜maxaux,𝑑,𝑑′𝛼𝑀(𝜆;aux,𝑑,𝑑′)

其中关于最大化的变量是所有可能的 aux 和所相似的数据库 𝑑,𝑑′ 。

下面是针对矩统计使用的 𝛼 的一些性质。

定理2 设 𝛼𝑀(𝜆) 为上述定义的 𝛼 :

  1. [可组合性]假设一个机制 𝑀 有一些列自适应机制 𝑀1,⋯,𝑀𝑘 组成,其中 𝑀𝑖:∏𝑗=1𝑖−1𝑅𝑗×𝐷→𝑅𝑖 ,则对于任意的 𝜆 有:

𝛼𝑀(𝜆)≤∑𝑖=1𝑘𝛼𝑀𝑖(𝜆)

  1. [尾部有界性]对于任意的𝜀>0 ,机制 𝑀 满足 (𝜀,𝛿)−差分隐私,其中,

𝛿=min𝜆exp(𝛼𝑀(𝜆)−𝜆𝜀)

特别是,定理2.1在根据先前机制的(公共)输出来选择本次的机制时成立。

通过定理2,可以方便的计算或约束每一步的 𝛼𝑀𝑖(𝜆) 有界,并且将它们相加得出所有机制的矩的界。然后,使用尾部界转换矩界以保证满足 (𝜀,𝛿)-差分隐私。

接下来,主要的挑战是求每一步的 𝛼𝑀𝑖(𝜆) 的界。在使用随机采样的高斯机制的例子中,只需估计下面的矩就足够了。设 𝜇0 表示 𝑁(0,𝜎2) 的概率密度函数,𝜇1 表示 𝑁(1,𝜎2) 的概率密度函数。设 𝜇 是两个高斯分布的混合 𝜇=(1−𝑞)𝜇0+𝑞𝜇1 。然后需要计算 𝛼(𝜆)=log⁡max(𝐸1,𝐸2) ,其中:

𝐸1=𝐸𝑧∼𝜇0[(𝜇0(𝑧)/𝜇(𝑧))𝜆]𝐸2=𝐸𝑧∼𝜇[(𝜇(𝑧)/𝜇0(𝑧))𝜆]

在矩统计的具体实现中,本文使用数值积分来计算 𝛼(𝜆) 。除此之外,还能得出近似界:

𝛼(𝜆)≤𝑞2𝜆(𝜆+1)/(1−𝑞)𝜎2+𝑂(𝑞3/𝜎3)

结合定理2,上述的界证明了定理1。具体细节见附录。

3.3 超参数调整

作者识别了与隐私相关的模型特征,特别是可调整的超参数,该超参数用来平衡隐私,准确性和性能。特别地,通过实验观察到模型精度对训练参数(如批大小和噪声水平)比对神经网络的结构更敏感。

如果尝试超参数的多个设置,可以简单地基于矩统计,将所有设置的隐私成本相加。但是,由于这里只关心最准确模型的设置,因此可以做得更好,例如应用Gupta等人的结果[27],在附录中重述为定理D.1。

可以利用理论分析来减少需要尝试的超参数设置的数量。虽然凸目标函数的差分隐私优化最好使用小到1的批大小来实现,但非凸学习(本质上不太稳定)适合使用更大的批次。同时,定理了1暗示了,大的批次增加了隐私损失,并且合理的平衡每个 𝑒𝑝𝑜𝑐ℎ 的 𝑏𝑎𝑡𝑐ℎ 的数量。当模型收敛到局部最优时,非隐私训练的学习速率通常会仔细向下调整。相比之下,这里的学习过程永远不需要将学习率降低到一个非常小的值,因为差分隐私训练永远不会达到收敛的点。另一方面,作者发现,从相对较大的学习率开始,然后在几个训练周期内将其线性衰减到较小的值,并在之后保持恒定,这样做会更好。

4. 实现

本文使用TensorFlow实现了差分隐私随机梯度下降算法。源代码地址为http://github.com/tensorflow/models,在Apache2.0版本下运行。

对于隐私保护,需要在使用梯度更新参数前对其进行“消毒”。另外,需要追踪隐私消耗。因此,算法的实现分为两个部分:消毒,针对隐私保护的梯度预处理;隐私统计,追踪训练过程中的隐私消耗。

图1给出了TensorFlow深度随机梯度下降优化的代码片片段(使用Python),包括:使用差分隐私随机梯度下降法最小化损失函数;差分隐私训练,迭代调用差分隐私随机梯度下降法,同时使用一个隐私统计限制总体的隐私损失。

在很多案例中,神经网络模型的效能通过将输入数据经过主成分分析的处理或经过卷积层来实现。本文实现了差分隐私PCA并使用了预训练(基于公开数据集)的卷积层。

消毒:为了实现隐私保护,消毒需要执行两个操作:(1)通过裁剪关于每个样本的梯度,以限制单个样本的敏感度;(2)在更新网络参数前,在梯度信息上添加噪声。

在TensorFlow中,出于性能考虑,梯度计算是批量进行的,基于一批大小为 𝐵 的训练样本计算梯度 𝑔𝐵=1𝐵∑𝑥∈𝐵▽𝜃𝐿(𝜃,𝑥) 。为了限制更新的敏感度,需要对每个样本的梯度 ▽𝜃𝐿(𝜃,𝑥) 进行近似。为此,作者在TensorFlow中实现了对每个样本梯度的操作,如Goodfellow[25]描述。这个操作能计算一批 ▽𝜃𝐿(𝜃,𝑥) 。通过这种实现,即使对于较大的批量大小,训练也只会适度放缓。本文现在的实现支持损失函数 𝐿 的批量计算,其中每个 𝑥𝑖 单独连接到 𝐿 ,这样允许处理大多数隐藏层,但不能处理卷积层。

一旦可以访问每个样本的梯度,就很容易使用TensorFlow运算符来裁剪其范数并添加噪声。

隐私统计:在代码中,主要的组件是隐私统计,其追踪了训练过程中的隐私消耗。如同在第三节中所述,作者实现了矩统计,该统计在每一步中都会适当地积累隐私损失的矩日志。依赖于噪声分布,人们通过渐进界、计算闭式表达式,或应用数值方法来计算 𝛼(𝜆) 。第一个选项将弥补一般的高级组合定理的不足,后两个选项给出了一个更准确的累积隐私损失。

对于本文使用的高斯机制而言,𝛼(𝜆) 由式(3)和式(4)所定义。在本文算法的实现中,使用数值积分来计算 𝐸1 和 𝐸2 。同时,针对大范围的 𝜆 计算其对应的 𝛼(𝜆) ,因此可以使用定理2.2来计算出最可能的 (𝜀,𝛿) 的值。作者发现针对这些参数,只需计算 𝜆≤32 时的 𝛼(𝜆) 的值即可。

在训练过程的任何时刻,人们能使用定理2.2查询隐私损失,所查询隐私概念为易于理解的 (𝜀,𝛿) 隐私概念。Rogers等人[47]指出了自适应选择隐私参数的风险。作者通过固定迭代次数和提前设定隐私参数来规避了该风险。隐私统计的更一般的时间必须精确区分两种操作模式,一个是隐私里程表,一个隐私过滤器(相关细节见[47])。

差分隐私PCA 主成分分析可以有效获取输入数据的主要特征。作者实现了如[23]所描述的差分隐私PCA算法。更具体的,使用一个随机采样的训练样本,每个训练样本为一个向量,使用单位 𝑙2 范数归一化每个向量,以形成矩阵 𝐴 ,矩阵 𝐴 中的每一行就是每个向量。然后,在协方差矩阵 𝐴𝑇𝐴 中添加高斯噪声,并且计算噪声协方差矩阵的主要方向。然后对于每个 输入样本,将其投影到这些方向上,最后将其输入到神经网络中。

虽然执行PCA的过程中会产生隐私消耗。但是,实验发现PCA处理对于提升模型表现以及降低训练时长是非常有用的,在本文基于MNIST数据集上的实验(详见第四节)可以看到这一点。

卷积层 虽然卷集层对于深度神经网络而言非常有用的。但是,在TensorFlow框架下计算卷积层关于每个样本的梯度仍是个挑战,这将驱动创建一个单独的工作流的研究。例如,一些最近的工作讨论了即使使用随机卷积也是足够的[46,13,49,55,14]。

本文探索在公共数据上学习卷积层的想法,根据Jarrett等人[30]的研究工作。这样的卷积层可以基于图像模型的GoogLeNet或AlexNet特征[54,35],也可以基于语言模型中预先训练的word2vec或GloVe嵌入[41,44]

5 实验结果

本节将在两个图像数据集(MNIST,CIFAR-10)上进行了实验,并评估了矩统计。

5.1 应用矩统计

如定理1所述,矩统计给出了一个比强组合定理更紧的隐私损失界。这里使用一些具体值对二者进行比较。总的隐私损失 (𝜀,𝛿) 可以基于噪声大小 𝜎 、每个 𝑙𝑜𝑡 的采样率 𝑞=𝐿/𝑁 (因此每个 𝑒𝑝𝑜𝑐ℎ 包含 1/𝑞 个 𝑏𝑎𝑡𝑐ℎ )、𝑒𝑝𝑜𝑐ℎ 的数量 𝐸 (迭代次数 𝑇=𝐸/𝑞 )计算出来。本文在MNIST和CIFAR数据上的实验,固定 𝛿=10−5 。

在实验中,设置 𝑞=0.01 ,𝜎=4 ,𝛿=10−5 ,并且将隐私损失 𝜀 看作是训练周期 𝐸 的函数。图2所示的两条曲线分别对应于,强组合定理和统计所得到矩的隐私损失和训练周期的变化关系。可以看到本文所提矩统计得到了一个比强组合定理更紧的界。例如,当 𝐸=100 ,强组合定理的隐私损失上界为9.34,矩统计的隐私损失上界为1.26,对于 𝐸=400 ,强组合定理的隐私损失上界为24.22,矩统计的隐私损失上界为2.55。即,使用矩界,可以实现 (2.55,10−5)-差分隐私,而强组合定理仅能实现 (24.22,10−5)-差分隐私。

5.2 MNIST

本文在标准的MNIST数据集上进行了实验,该数据集为手写数字识别,包含60,000个训练样本和10,000个测试样本[36],每个样本为一个 28×28 大小的灰度图。本文使用一个简单的前馈神经网络(其中激活函数为ReLU,最后一层使用一个10分类的softmax函数—对应于10个数字),使用交叉熵损失函数,以及一个可选的PCA输入层。

基线模型

实验所采用的基线模型为一个60维的PCA投影层和一个具有1000个神经元的隐藏层。设 𝑙𝑜𝑡 的大小为600,在100个 𝑒𝑝𝑜𝑐ℎ 内可以实现98.30%的精度。这个结果与普通神经网络所能达到的精度一致[36]。

差分隐私模型

对于差分隐私版本,本文实验使用相同的框架,即一个60维的PCA投影层,一个具有1000个神经元的隐藏层,其激活函数为ReLU,设置 𝑙𝑜𝑡 的大小为600。为了限制隐私敏感度,设置每层的梯度裁剪阈值为4。下面展示了三种噪声设置下的实验结果,小的噪声设置( 𝜎=2,𝜎𝑝=4 ),中等噪声设置( 𝜎=4,𝜎𝑝=7 ),大的噪声设置( 𝜎=8,𝜎𝑝=16 ),其中,𝜎 表示训练神经网络的噪声设置,𝜎𝑝 表示PCA投影的噪声设置。学习率初始设置为0.1,在10个训练周期 𝑒𝑝𝑜𝑐ℎ 内线性降低到0.052,并且最后固定在0.052。本文也使用了多个隐层的网络进行了实验。对于MNIST数据集,实验发现组合PCA的一个隐藏层神经网络的表现要优于两层神经网络的表现。

图3给出了对应于不同噪声级别的实验结果。每个子图展示了随着训练周期 𝑒𝑝𝑜𝑐ℎ 的变化,训练和测试精度的变化情况,以及对应的 𝛿 的值,在每个子图中固定 𝜀 不变。本文方法分别在满足 (0.5,10−5) 、(2,10−5) 、(8,10−5) 差分隐私下,实现了90%,95%,97%的测试精度。

应用差分隐私SGD的一个极佳的结论是模型在训练和测试集上的精度之间的差异很小,这与理论论证[6]是一致的,即差分私有训练可以很好地泛化。相反,非隐私训练方法中,训练和测试精度之间的差别是由过拟合(随着训练周期的增加而增加)造成的。

通过使用矩统计,对于任意给定的 𝜀 ,可以求得一个 𝛿 值。图4给出了对于不同的 (𝜀,𝛿) 的实验精度。图中,每个曲线对应于固定 𝛿 后的最佳精度,𝛿 的值在 10−5 到 102 之间变动。例如,对于 𝜀=0.25 ,𝛿=0.01 而言,最佳的实验精度为90%。从图上可以看出,对于给定的的 𝛿 ,𝜀 对于实验精度的影响很大,而不同的 𝛿 的值对实验精度较小。

参数影响

分类准确率被多个参数影响,为了可以达到最优的表现,则需要仔细对它们调整。这些因素包括网络拓扑结构,PCA降维的数量以及隐藏层神经元的数量,还包括一些训练过程中的参数,例如 𝑙𝑜𝑡 的大小和学习率。一些参数与隐私相关,例如梯度正则裁剪阈值和噪声尺度。

为验证这些参数对学习的影响,本文对各个参数进行了单独测试。实验设置参考值如下:PCA降维的维数为60,1000个隐藏层神经单元,𝑙𝑜𝑡 大小为600,梯度裁剪阈值为4,初始学习率为0.1,在10个训练周期 𝑒𝑝𝑜𝑐ℎ 内线性减少到0.052,并最终稳定在0.052,噪声尺度 𝜎 对于神经网络训练和PCA降维分别为4和7。对于这些值的每种组合,训练过程直到不满足 (2,10−5)-差分隐私为止(例如,一个大的噪声尺度 𝜎 将允许更多的训练周期)。图5展示了实验结果。

PCA投影

本文实验中,准确率关于PCA维数的变化较为稳定,当维度为60时达到最佳。(不进行PCA降维,准确率减少了2%)虽然PCA投影可以用另外的隐藏层代替,但通过单独训练PCA层获得了更好的准确率。通过将输入维度从784降到60,PCA使得训练时间较少了10倍以上。PCA投影减少训练时间的结果对于大多数噪声尺度的取值而言非常稳定,并且始终比随机投影的准确率高,随机投影的准确率大概为92.5%,如子图中水平线所示。

隐藏层神经元数量

通过增加隐藏层神经单元,可以使得模型更容易拟合训练数据集。对于非隐私训练而言,只要使用了防过拟合技术,则经常使用更多的神经元。然而,对于差分隐私训练,更多的隐藏层神经单元是否能提升准确率不是很清楚,因为更多的隐藏层神经元增加了梯度的敏感度(敏感度和梯度的二范数有关,梯度变量数越多,二范数大概率越大),这将导致需要加入更大的噪声来保护隐私。

这与直觉不太符合,增加隐藏层神经元的个数不会降低训练模型的准确率。一种可能的解释是,较大的网络模型对噪声的容忍度更高,这需要进一步分析研究。这种属性非常令人鼓舞,因为在实践中使用非常大的网络是很常见的。

𝐿𝑜𝑡 大小

根据定理1,在满足隐私预算限制的同时,可以进行 𝑁/𝐿 个训练周期 𝑒𝑝𝑜𝑐ℎ 。对 𝑙𝑜𝑡 大小的选择必须平衡两个相互冲突的目标。一方面,小的 𝑙𝑜𝑡 允许进行更多的训练周期 𝑒𝑝𝑜𝑐ℎ ,即多次遍历全部数据,提升准确率。另一方面,对于大的 𝑙𝑜𝑡 ,加入的噪声对准确率的影响相对较小。

本文实验表明,𝑙𝑜𝑡 的大小对准确率影响很大。根据经验,最佳的 𝑙𝑜𝑡 的大小大概为 𝑁 ,其中 𝑁 是训练样本的数量。

学习率

当学习率处于[0.01,0.07]范围时,学习率对准确率的影响不大,在0.05时准确率达到最大,如图5(4)所示。然而,如果学习率太大则准确率会大幅降低。一些额外的实验表明,即使对于大的学习率,通过降低噪声尺度也可以达到较高的准确率,据此,通过减小训练周期以满足隐私预算。

裁剪界

限制梯度范数有两个消极影响:裁剪是的梯度估计不是无偏估计,并且如果裁剪参数很小,平均裁剪后梯度将使得下降方向与真实梯度方向差别很大。另一方面,增加范数界 𝐶 将导致需要添加更大的噪声,因为噪声尺度与 𝜎𝐶 有关。在实际应用中,为 𝐶 选择值的一个好方法是在训练过程中取未削梯度的范数的中位数。

噪声尺度

通过添加更多噪声,每轮训练的隐私损失在比例上更小,因此可以在给定的累积隐私预算内,可以进行更多轮训练。在图5(5)中,𝑥−轴为噪声尺度 𝜎 。该值的选择对准确率有很大影响。

从实验中可以观察到:

  1. PCA投影提升了模型准确率与训练表现。准确率对于大多数投影维度及其使用的噪声尺度的取值而言很稳定。
  2. 准确率关于网络模型大小较为稳定。当训练周期 𝑒𝑝𝑜𝑐ℎ 数较小时,使用更大的网络效果更好。
  3. 训练参数对模型准确率有很大影响,尤其是 𝑙𝑜𝑡 大小和噪声尺度 𝜎 。它们二者都决定了经过消毒的梯度的“噪声与信号”比率,以及在达到隐私限制之前能够遍历数据的训练周期 𝑒𝑝𝑜𝑐ℎ 数。

本文的框架允许自适应控制训练参数,例如 𝑙𝑜𝑡 大小、梯度范数界 𝐶 和噪声水平 𝜎。初步实验结果显示,降低噪声没有显着改善,但是考虑更加精密的、自适应选择这些参数的方案是很有趣的。

5.3 CIFAR

本文在CIFAR-10数据集上也进行了实验,该数据集包含10类(如船、猫、狗)彩色图片样本,其中50,000个训练样本和10,000个测试样本[1]。每个样本是一个张3通道(RGB)的 32×32 的图片。对于这个学习任务,几乎所有成功的网络模型均使用了卷基层。CIFAR-100数据集的参数类似,其拥有100类样本。

本文使用TensorFlow实现的卷积神经网络[2]结构。首先通过取中心点,将 32×32 大小的图片裁剪为 24×24 。网络结构由两个卷积层与两个全连接层组成。卷积层使用 5×5 的卷积核,卷积步长stride为1,激活函数为ReLU,2×2 的最大池化层,每层为64通道,因此,第一个卷积层关于每个图片输出一个 12×12×64 的张量,第二层输出一个 6×6×64 的张量。后者被展开为一个向量,并输入到两个全连接神经网络中,这两个神经网络的输入维数均为384。

该框架在非隐私训练的情况下,进行500次训练周期 𝑒𝑝𝑜𝑐ℎ 可以达到86%的准确率。本文实验选择该框架的原因是其非常简单。不过应当注意,通过使用更深的网络,以及不同的非线性映射和其它高级技术,可以实现更高的准确率,目前该数据集上最高的准确率大约为96.5%[26]。

在训练过程中,本文使用数据扩增来标准化图片数据集。对于每个训练图片,通过随机选取一个 24×24 个像素点,沿左右方向随机翻转图像并且随机扭曲图像的亮度和对比度,以此形成失真图片。在各个训练周期,失真操作是独立的。更多细节,建议读者参考TensorFlow教程[2]。

由于卷积层具有共享参数,因此,计算每个样本的梯度有很大的计算开销。已有的研究工作已经表明卷积层通常是可传递的:从一个数据集学习得得参数可以被用于另一个数据集[30]。本文将CIFAR-100数据集作为一个公共数据集,使用该数据集训练一个相同结构的神经网络,并使用训练到的参数。仅仅需要重新训练全连接层,训练周期 𝑒𝑝𝑜𝑐ℎ 数位250,批次大小为120,最后达到了80%的准确率,该结果作为本文实验的非隐私训练方法的基线结果。

差分隐私版本

对于差分隐私版本,本文使用相同的网络结构。如上所述,使用预训练的卷积层。全连接层也初始化为预训练网络。训练softmax层以及顶部或整个全连接层。基于对梯度范数的观察,softmax层的梯度范数大约是其它层的两倍,以不同的裁剪阈值(3~10之间)对梯度进行裁剪,同时保持该大小比例不变。𝑙𝑜𝑡 的大小是另一个需要调整的参数,本文实验尝试了600,2000和4000三种取值。并且随着 𝑙𝑜𝑡 的增加,每轮训练周期 𝑒𝑝𝑜𝑐ℎ 的耗时从40秒上升到180秒。

图6展示了在几种不同的参数设置下,准确率和隐私损失随着训练周期的增加而变化的情况。

各种参数对准确率的影响与在MNIST数据集上实验的情况差不多。𝑙𝑜𝑡 的大小为600时,在这个数据集会导致较差的结果,需要将该参数值提升到2000或更多,具体如图6所示。

与MNIST数据集相比,非隐私训练与隐私训练的准确率相差大约1.3%,在CIFAR-10上的实验该差距更大(大约为7%)。本文研究将缩小这一差距作为差分隐私机器学习未来研究工作的一个测试。

6 相关工作

自上世纪90年代以来[5,37],隐私保护数据挖掘或机器学习问题已经成为了一些研究领域的热点问题。已有的文献可以按照:模型类别、学习算法以及隐私保护进行分类。

隐私保护

关于隐私保护的早期研究工作在安全函数评估(SFE)和安全多方计算(MPC)框架下完成,其中输入被分成两方或多方,并且研究重点为在共同计算一些商定的函数时,最小化信息泄露。相反,本文假设数据是集中存储的,并且关注于功能性输出值的泄露(即,模型)。

另一种方法,𝑘 匿名和与其密切相关的概念[53],试图通过泛化和阻止某些识别方式,为基础数据提供一定程度的保护。这种方法有很强的理论和经验局限性[4,9],这使得算法几乎不适用于高维、多样的输入数据集的去匿名化。本文研究工作保持底层原始记录不变,并扰乱派生数据(即梯度),而不改变输入数据。

差分隐私理论为本文工作提供了分析框架,差分隐私已经被用于大量机器学习任务,这些学习任务在训练机制或目标模型上与本文不同。

矩统计与Renyi差分隐私[42]的概念密切相关,其提出了将 𝛼(𝜆) 作为量化隐私保护的一种度量方法。在一个并行独立的工作中,Bun和Steinke[10]介绍了宽松的差分隐私(推广了Dwork和Rothblm[20]的工作),其基于一个关于 𝛼(𝜆) 的线性上界进行了定义。这些工作证明了对于复杂隐私保护算法的理论和经验分析,矩统计是一个有用的技术。

学习算法

隐私学习任务的一个共同目标是一类适合各种技术的凸优化问题[18,11,34]。与本文工作同时进行的,Wu等人通过最小化凸的经验风险[57],在MNIST数据集上实现了83%的准确率。训练多层神经网络时非凸的,并且经常使用SGD进行优化,而人们对SGD的理论保证不是很清楚。

对于CIFAR神经网络,本文结合了PCA投影矩阵[23]的差分隐私训练,用于降低输入的维数。

模型类别

第一个端到端的差分隐私系统在Netflix Prize数据集[39]上被评估,协同过滤问题的一个版本。尽管这个分体在高维输入和非凸目标函数上与本文要解决的问题相似,但McSherry和Mironov采用的方法与本文方法区别很大。他们确定了学习任务的核心,有足够有效的统计数据,可以通过高斯机制以差分隐私方式计算。在本文的方法中,不存在这种充分的统计数字。

在最近的一项研究工作中,Shokri和Shmatikov[50]设计并评估了一个用于深度神经网络的分布式训练系统。保存数据的参与者将经过消毒的更新值发送给中央机构。消毒依赖于基于灵敏度估计的噪声添加机制,这可以改进为硬敏感度保证。它们按参数计算隐私损失(不是针对整个模型)。根据本文首选的衡量标准,MNIST数据集上全部参数的总隐私损失超过数千。

最近,Phan等人[45]探索了一个关于差分隐私深度学习的研究工作。这项研究工作关注学习自编码器。隐私基于对这些自动编码器的目标函数的扰动进行保护。

7 总结

本文证明了在满足差分隐私的条件下对深度神经网络进行训练,关于具有很多参数的模型的隐私损失较小。在MNIST的实验中,本文方法实现了97%的训练准确率,在CIFAR-10数据集上实现了73%的准确率,两种情况下均满足 (8,10−5)-差分隐私。本文算法为一个随机梯度下降的差分隐私版本;其基于TensorFlow软件库运行。由于本文方法直接应用于梯度计算,因此,其可以适用于很多其它类型的优化算法,包括最近提出的一阶优化方法,如NAG[43]、Momentum[48]、AdaGrad[15]、SVRG[31]。

一个新的工具是一种跟踪隐私损失的机制,即矩统计。它允许对复杂复合机制的隐私损失进行严格的自动化分析,这些机制目前超出了高级组合定理的范围。

存在许多未来研究工作。尤其是,考虑其他类型的深度网络。本文基于MNIST和CIFAR-10的经验应该会有帮助,但是也可以看到很多新研究的机会,例如应用本文所提方法到LSTMs(其用于自然语言建模任务)中。另外,也希望获得更高的准确率。很多训练数据集比MNIST和CIFAR大的多,通过训练大规模数据应该会提升准确率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值