【论文笔记】Deep Learning with Differential Privacy

Saturday, January 13, 2024
本文共3234字
7分钟阅读时长

⚠️本文是作者P3troL1er原创,首发于https://peterliuzhi.top/posts/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/%E9%9A%90%E7%A7%81%E4%BF%9D%E6%8A%A4/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0deep-learning-with-differential-privacy/。商业转载请联系作者获得授权,非商业转载请注明出处!

简介

开创了通过向深度学习模型的梯度进行加噪从而实现差分隐私的方法

什么是差分隐私

差分隐私就是对两个相邻数据库有如下定义:

文内图片

简单来说,假设有两个数据库,两个数据库之间只有一个数据点不同,这样的一对数据集称为相邻数据库。而差分隐私就是保证通过向相邻数据库查询结果,不能通过查询结果来区分两个数据集。 而差分隐私通常通过加噪实现增加随机性,而其中一种加噪机制就是高斯噪声机制:

文内图片

其中$S_f$表示敏感性,敏感性表示当数据库中的一个条目发生变化时,函数的输出变化的最大量。而在此式中,敏感性是高斯噪声的标准差的一个因子,这意味着敏感性越高,高斯噪声的方差越大,从而向数据库添加的噪声的不确定性越大。 对于差分隐私而言,差分隐私具有以下性质:

  • Composability可组合性:多个差分隐私算法可以组合在一起,而整体隐私损失是各个算法隐私损失的总和
  • Group Privacy群体隐私:差分隐私的保护不仅适用于单个数据记录,而且可以扩展到保护一组数据
  • Robustness to Auxiliary Information附加信息鲁棒性:差分隐私保护的效力不会因为攻击者可能拥有的其他附加信息而降低

为什么要用差分隐私

因为传统的公开数据的方法容易受到各种攻击,从而泄露隐私

文内图片

其中,深度学习模型的隐私问题是,深度学习模型会更容易记住训练集中的内容,从而在推理阶段对见过的数据(训练集的内容)的反应更加敏感,从而泄露隐私。

如何在深度学习模型中实现差分隐私

算法流程

文内图片

在模型训练的过程中,按照一定的抽样概率从数据集中抽出一些数据点(实际上就是数据集的一个batch,这里称为lot,概念上比常规的batch更大。如果由于资源限制无法处理一个lot,可以将lot切分为更小的batch),对每个数据点首先计算它的梯度,然后使用Norm Clipping对梯度进行裁剪,然后向梯度增加高斯噪声得到新的梯度,用这个新的梯度更新模型

注意,其中对多层模型来说,可以对每一层设置不同的C和σ,对训练的不同step也是如此(t表示step)。由于差分隐私的可组合性,对不同层和不同step计算的隐私损失,只需要简单地加起来就可以了。

Norm Clipping

Norm Clipping的公式如下:

文内图片

二范数的定义如下:

文内图片

从而,这个公式的含义是,如果梯度的二范数小于阈值,就不改变梯度;如果梯度的二范数大于阈值,就将梯度缩减到阈值。之所以要这么做有以下原因:

  • 大梯度可能导致模型在个别数据点上过度拟合,Norm Clipping 有助于防止这种情况,从而提高模型的泛化能力
  • 通过控制梯度的大小,可以限制个别数据点对模型的影响,这有助于确保模型输出不能用来推断出其训练数据的敏感信息
  • 在应用差分隐私时,通常需要在保护隐私和保持模型准确性之间找到平衡。Norm clipping 通过减少单个数据点对模型的影响,帮助实现这一平衡

这种方法在不考虑差分隐私的情况下也经常被使用(梯度裁剪)

Moments Accountant 矩会计

基本组合定理(Basic Composition Theorem)

基本组合定理指出,如果我们有多个算法,每个都满足 (ε,δ)-差分隐私,那么将这些算法顺序执行的整体过程满足 (kε,kδ)-差分隐私,其中 k 是算法的数量。这个定理给出了一个保守的隐私损失估计。

强组合定理(Strong Composition Theorem)

强组合定理是对基本组合定理的一个改进。它提供了一个更紧凑的隐私损失上界。强组合定理表明,如果多个算法每个都满足 (ε,δ)-差分隐私,那么整个序列的隐私损失可以用更小的上界来估计。具体来说,对于一系列的 (ε,δ)-差分隐私算法,整体过程满足(ε′,+δ′)-差分隐私,其中 ε′ 通常远小于_kε_。

强组合定理的局限性

  1. 一般性的上界:强组合定理提供了一个一般性的隐私损失上界,适用于各种不同的差分隐私操作。然而,这个上界可能不是针对特定情况或特定噪声分布最紧致的。
  2. 不考虑特定噪声分布:强组合定理的一个关键局限是它没有考虑噪声分布的具体形式。不同类型的噪声(如高斯噪声、拉普拉斯噪声等)对于隐私保护的效果可能有显著差异,而强组合定理并没有区分这些差异。

(ε,δ)的含义

他们是差分隐私的定义中的两个参数

文内图片

  1. ε(epsilon):这个参数描述了隐私保护的强度。较小的 ε 值意味着更强的隐私保护,因为它保证算法的输出对单个数据项的改变不敏感。具体来说,ε 控制了算法对于邻近数据集(只相差一个数据项的两个数据集)给出不同结果的概率。当 ε 较小时,这种概率差异较小,从而更难从输出结果中推断出任何个人信息。
  2. δ(delta):这是一个小概率事件,在该事件中,ε 定义的隐私保护可能会失败。较小的 δ 表示这种失败的概率很低。理想情况下,δ 应该小到足以被忽略(例如,远小于数据集中单个个体的倒数)。

论文中的定理一

文内图片

该定理说明了σ应该如何选择才能获取更精确的隐私损失估计,并考虑到了高斯噪声的分布特征。

其中,

  • σ 是高斯噪声的标准差。
  • $c_2$ 是一个常数,它取决于证明中使用的不等式和假设。
  • q 是每次迭代中随机抽取的样本与总体样本数量的比例。
  • T 是总的训练迭代次数。
  • ε 是差分隐私中的隐私损失参数。
  • δ 是允许的隐私保护失败概率。

隐私损失定义

隐私损失度量了在给定的输出结果下,一个观察者能够从算法的执行中区分两个相邻数据库的能力

而为了获得更紧致的隐私损失定义,论文提出了计算隐私损失对数矩(log moments)的方法

文内图片

λ阶矩/对数矩的定义

文内图片

对于给定的机制 M ,相邻数据库d, d’,以及辅助输入 aux ,$\alpha_M(\lambda; aux, d, d’)$被定义为隐私损失的对数矩生成函数在值 λ 处的对数。

$\alpha_M(\lambda; aux, d, d’) = \log \mathbb{E}_{o \sim M(aux,d)}[\exp(\lambda c(o; M, aux, d, d’))]$

这里:

  • $\mathbb{E}_{o \sim M(aux,d)}$表示对于随机变量o,其分布由给定数据库d和辅助输入aux下的机制M确定的期望值。
  • $\exp(\lambda c(o; M, aux, d, d’))$是隐私损失$c(o; M, aux, d, d’)$的指数函数放大λ倍的结果。
  • $c(o; M, aux, d, d’)$是给定输出o时,从d到d’数据库变化的隐私损失。

对数矩和统计学中的高阶矩的联系

在统计学中,一个随机变量X的k阶原始矩是$E[X^k]$,即X的k次幂的期望值。而一个随机变量的k阶中心矩是$E[(X - E[X])^k]$,即X减去其期望值(均值)的k次幂的期望值。中心矩提供了关于随机变量分布形状的信息。例如,二阶中心矩是方差,它衡量了随机变量的离散程度;三阶中心矩与数据的偏斜(skewness)有关;四阶中心矩与数据的峰度(kurtosis)有关,等等。

矩生成函数(MGF)$M_X(t)$是所有原始矩的无穷级数,定义为$M_X(t) = E[e^{tX}]$,其中t是实数。实际上,如果对M_X(t)关于 (t) 进行泰勒级数展开,你会得到X的所有原始矩。即:

$M_X(t) = E[e^{tX}] = 1 + \frac{tE[X]}{1!} + \frac{t^2E[X^2]}{2!} + \frac{t^3E[X^3]}{3!} + \cdots$

在差分隐私中,对数矩生成函数(log-MGF)定义为 $M_X(t)$的对数。对于差分隐私中的隐私损失随机变量L,log-MGF 记为$\alpha_L(\lambda) = \log E[e^{\lambda L}]$。这个函数对于任何正数λ,给出了$e^{\lambda L}$ 的期望值的对数。通过对$\alpha_L(\lambda)$进行泰勒级数展开可以得到关于隐私损失L的所有原始矩的信息。

论文中的定理二

对于上面定义的对数矩,有如下特性:

文内图片

  1. 可组合性:如果我们有一系列机制 $\mathcal{M}_1,\cdots,\mathcal{M}_k$
    • 则总的对数矩 $\alpha_{\mathcal{M}}(\lambda)$ 可以通过对每个机制的对数矩求和来估计。
  2. 尾部界限:通过尾部界限能够计算δ,保证总体机制$\mathcal{M}$保持 (ε,δ)-差分隐私。

如何估计对数矩$\alpha_{\mathcal{M}}(\lambda)$

文内图片

通过两个高斯分布的概率密度函数合成一个新的概率密度函数,然后使用这三个概率密度函数计算两个期望。而在实际的实现中,论文使用数值积分来计算。

同时,作者给出了对数矩的一个渐进界:

文内图片

如何实际应用

假设正在训练一个深度学习模型,并在每次迭代中使用高斯噪声来保持(ε,δ)-差分隐私

  • 在每一步计算每个参数更新的隐私损失。
  • 使用对数矩来跟踪这些损失。
  • 应用定理 2 来确保累积的隐私损失保持在(ε,δ) 范围内。
  • 根据上述累积损失来调整高斯噪声水平。

文内图片