Protect Privacy from Gradient Leakage Attack in Federated Learning

  • wangjunxiao/GradDefense: Defense against Gradient Leakage Attack (github.com)
Summary
  • 针对DGA和DIA攻击,提出了一个轻量、保证训练准确性、够用的的防御机制。
  • 防御机制主要包括随机layer添加扰动,然后进行梯度补偿来减少噪声对模型准确性的影响。
  • 实验效果优于梯度裁剪、和差分隐私(添加Gaussian和Laplacian噪声)
Method
  • 流程
    Protect Privacy from Gradient Leakage Attack in Federated Learning_第1张图片

    • 先在本地进行随机扰动,分层。加噪声,然后server进行全局更新,然后噪声估计与相应的消除,最后是进行补偿更新。
  • 使用关于输入信息的梯度变化敏感度来衡量,sensitivity易于计算,可以获得基于分层方式的信息泄露。将梯度切片,在随机抽取切片进行加噪声。

  • 全局更新补偿

    • 全局梯度的层次之间高度相关,因为是基于大量数据在反向传播中逐层产生的。假的噪声不会太改变梯度的方向,因为随机变量独立地加到原始数据,这些差距将会分布在所有方向。基于此,进行补偿时可以从扰动的数据中获取更准确的梯度数据,减少噪声扰动的影响。
  • 雅可比矩阵 衡量信息泄露风险

    • image-20221020193444433
    • 衡量矩阵变化的敏感度
    • 泄露风险:image-20221020193624242
    • 使用 F 范数,因为雅可比矩阵在不同大小的层之间进行比较,并且 F 范数将考虑数据样本的所有维度。
  • 基于随机扰动的风险平衡

    • Sl是Gl的size,Rl是l层的泄露风险。
    • 为了平衡层大小加权的泄露风险(因为之前说了size越大,风险一般越大),先去每层的size S的最大公约数将梯度划分大小相同的块。然后Sb和Rb为每一块的size和泄露风险。
    • 根据装箱问题,将梯度切片,每一片都有相同的信息泄露风险。
    • 每一轮学习,每个client都会随机选择一部分切片
      • 梯度被切分为s片,然后γ∈(0,1],每次选s x γ个 slices。
      • 加的噪音是高斯分布的。N (, 2)
    • 局部扰动基于Reservoir 样本进行的。计算复杂度为s,因为只有s片梯度。
  • 总:通过一个衡量方式:梯度变化的敏感度捕获分层间的信息泄露风险概率,并加以跨层随机扰动,攻击者重构数据的质量大幅下降。client在本地训练的时候会对梯度切片进行加噪声,attacker很难定位,即使定位了,也无法重建原始数据。

  • 全局更新补偿

    • 全局梯度的属性相关性

      • 在反向传播中,损失函数l(预测输出和分类准确性之间)从最后一层传到第一层,这里说的层应该是卷积层和全连接层这类的层。

      • 对于l层,梯度向量由链式规则计算的权重和偏差的梯度组成。因为逐层属性在反向传播中逐层产生,所以全局梯度中的逐层属性高度相关,由此可以获得更准确的原始数据。用此进行全局更新的补偿。

      • 因为属性的相关,所以属性之间有些方向之间有较大的的差异,有的方向差异很小。

      • C :加了噪声扰动的全局梯度矩阵、Z:原始数据的矩阵、R:噪声的矩阵。所以 C = R + Z。The shape of the three matrix is × . R中的元素是符合高斯分布的独立同分布的随机变量。

        image-20221021163351508

        其中m参与者的数量,s是切片总数,d是进行噪声扰动的切片。是聚合的weight,范围是0-1开区间

      • image-20221021165945849
        以为变量,matrix R 的维度v和w,为函数(·), (·)。经验累积分布函数的渐近性,趋于无穷,(·), (·)也趋于无穷,Q为(·), (·)的比值,当Q>=1,才有上述假设。在以上假设下,经验累积分布函数收敛为FQ(x),其概率密度为:
        image-20221021170542850
        当x不在LR(协方差矩阵)的特征值 的范围内,FQ等于0.

      • 因此,随机矩阵 R 具有可用于全局更新补偿的概率属性。

    • 全局梯度补偿

      • C是扰动的全局梯度矩阵。C的协方差矩阵为Protect Privacy from Gradient Leakage Attack in Federated Learning_第2张图片

      • 其中Pc、Pr、Pz是正交矩阵,其列向量是特征向量,ΛC、ΛZ 和 ΛR 是对角矩阵,其对角线上有相应的特征值。

      • R T Z and Z T R be equal to 0,因为R的独立随机生成,所以与Z的向量不相关,协方差为0.

        • 由以上 推理可得下列定理

          • Protect Privacy from Gradient Leakage Attack in Federated Learning_第3张图片
            由噪声相关矩阵的最大和最小的特征值来规定了数据相关矩阵的界限,ci的特征值大于zi加r的最小值,小于zi加r的最大值。我们假设数据相关矩阵只有几个主要的特征值,z1到zj,则存在zi<=β,j+1<=i<=w,这里如果j=w,那就有所有的w的,不符合之前的假设。假设zj大于r1(r1是r最大的特征值)。
            通过在1,r处的简单阈值,将数据和噪声的特征值从扰动数据特征值中分离,因为z最小的特征值要大于r最大的。

          • 所以这个流程就是:根据随机矩阵理论使用协方差矩阵的特征值分布从C中分离出噪声和数据部分。然后根据数据部分矩阵的特征值进行全局补偿。这可以通过简单地将数据沿数据特征向量投影,然后将其映射回原始空间来完成。

          • 因为噪声分布已经给了,所以我们可以通过式子4求得噪声矩阵的最大最小特征值,并用这个特征值来限定数据矩阵的特征值范围。

          • 选i-j个特征值,噪声的特征值是i-j,别的就是数据的(之前不是说噪声的是1-j)。

            • image-20221021192011587
              上图是特征值组成的对角矩阵
            • image-20221021192040108
              上图是特征向量组成的矩阵。
            • Z:数据矩阵也是同上。
          • 将 C (扰动后的数据矩阵)投影到 P∗Z(实际数据的特征向量组成的矩阵,应该是实际数据的方向) 跨越的子空间上得到的实际数据 Zis 的补偿 Z∗。
            image-20221021192906580

      • 为了衡量补偿的效果,考虑一下当从w个特征值中选w*个,因为全局梯度的相关性,所以w*方向的方差要大,去掉其他方向的不会造成太多信息损失,然而噪声是随机的,没有相关性,取出w*方向后损失这部分的噪声方差。

    • 避免攻击者利用补偿

      • 本地裁剪,剪裁各个数据样本的梯度并将它们缩放到与该噪声相对应的相似范围,并基于该范围来限制每个各个数据样本对共享梯度G的影响。

      • 裁剪过程:Following

        • image-20221021194514237,噪声的高斯分布,其中B是噪声强度

        • 然后,在局部训练的每一步,我们使用文献[15]中提出的Norm裁剪方法,根据数据样本的2-范数对各个数据样本的梯度进行裁剪。。g被image-20221021195258717取代。当g的2-norm小于g,则g不变,相反,g被B替换。

    • 收敛分析

      • 没看懂
Experiment

两种梯度泄露攻击,三个图像数据集,基于非独立同分布

  • 防御基线
    • DAG中提出的梯度裁剪,差分隐私(DP,加噪声)和PLD(隐私泄露防御)。其中DP分为DP-G,DP-L。分别加高斯噪声和Laplacian。
    • 用PSNR和SSIM评估重构的数据和初始数据,判断防御的效率。
  • 数据集:
    • MNIST, Fashion-MNIST, CIFAR-10,non-IID,100选10个client,或1000选200client,每个2个class,每个class有1-10或者1-20个samples。
  • 模型
    • LeNet和Convnet
  • 效果
    • Protect Privacy from Gradient Leakage Attack in Federated Learning_第4张图片
      有时候ART(代价)虽然高点,但是模型准确率远高于GC和DP。
    • 根据Table3A,基于梯度敏感度的切片能够更准确地捕捉到原始信息泄漏的风险,相应的PSNR(越大越好,越好代表防御失败,数据重构好)、SSIM(越大越相似)明显低于基线。
      根据3B,发现只有100个训练样本的根数据集足以捕获信息泄漏的风险。
      3C:对于梯度敏感度的切片能够更准确地捕捉到原始信息泄漏的风险,相应的PSNR、SSIM明显低于基线。
      3D:Q((·), (·)的比值)为6∼12足以表征全局梯度的相关性,其中补偿误差减小到相对稳定的值。当Q值增加超过6时,相应的收敛性能进一步略有提高,甚至在较大的Q时有所下降。
Related Knowledge+
  • 雅克比矩阵

  • 装箱问题

  • 欧几里得距离

    • 指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)
    • Protect Privacy from Gradient Leakage Attack in Federated Learning_第5张图片
    • GIA攻击中用余弦相似替代欧氏距离。并对梯度的符号进行优化。

你可能感兴趣的:(联邦学习,python,深度学习)