联邦学习论文阅读二:PRECAD

联邦学习论文阅读二:PRECAD

PRECAD: Privacy-Preserving and Robust Federated Learning via Crypto-Aided Differential Privacy

论文地址:https://arxiv.org/abs/2110.11578

1. Introduction

1.1 问题来源

联合学习(FL)允许多个参与的客户通过保持其数据集本地且仅交换模型更新来协作训练机器学习模型。现有的FL协议设计已被证明对危害数据隐私或模型鲁棒性的攻击是脆弱的。最近提出的防御措施侧重于确保隐私或健壮性,但并非两者兼而有之。

1.2 问题论述

  • 目前隐私泄露使用差分隐私(DP)技术,分为LDP(Localized DP),CDP(Centralized DP)和DDP(Distributed DP)
  1. LDP方法的实用性较差,因为当服务器聚合所有更新时,所有客户端添加的噪声都会累积起来。
  2. CDP必须假设服务器诚实的执行CDP协议否则毫无隐私可言
  3. 基于DDP的效用增强方法对信任方的最小数量很敏感,我们要提前知道以降低噪声量;在最坏的情况下,它会降低到LDP。
  • 目前提高模型鲁棒性技术,梯度裁剪(本文主要是基于此)
  • 文章关注点
  1. 记录级DP
  2. 抵御后门攻击鲁棒性

1.3 本文贡献

  • 提出的方案PRECAD是第一个在实际威胁模型下,同时增强DP隐私效用权衡和FL模型中毒攻击鲁棒性的框架;
  • 证明了PRECAD满足记录级DP,对模型中毒攻击提供了可量化的鲁棒性,并且理论分析表明隐私噪声增强了鲁棒性;
  • 实验证明PRECAD在隐私效用权衡(与基于LDP的方法相比)和后门攻击(这是一种典型的目标模型中毒攻击)鲁棒性方面的增强。
    在这里插入图片描述

2. Preliminaries

该章节介绍了论文使用的相关技术,差分隐私和秘密共享技术。

2.1 Differential Privacy (DP)

  • 差分隐私(DP)是一个严格的数学框架,用于发布源自私人数据的信息。将差分私有训练机制应用到机器学习中,允许公开发布模型参数,并提供强大的隐私保障:对手在分析参数的基础上对原始训练数据的了解是有限的,即使他们可以访问任意的侧信息。正式定义如下:
    在这里插入图片描述

  • 高斯机制:通过添加高斯噪声满足DP定理
    在这里插入图片描述

  • DP-SGD算法:机器学习中最著名的差分私有算法,首先运用梯度裁剪技术,然后在此基础上增加高斯噪声。
    在这里插入图片描述

2.2 FL with DP

  • 联邦学习基本概念
    FL是一个协作学习设置,用于训练机器学习模型。它涉及多个客户机,每个客户机拥有自己的私有数据集和一个中央服务器。与传统的集中式方法不同,数据不存储在中央服务器上;相反,客户机在本地训练模型,并与服务器交换更新的参数,服务器聚合接收到的本地模型参数并将它们发送给客户机。FL涉及多次迭代。在每次迭代中,服务器随机选择客户端的一个子集,并将当前模型参数发送给他们;然后这些客户端根据本地数据集在本地计算训练梯度,并将更新后的参数发送给服务器。后者汇总结果并更新全局模型。经过一定次数的迭代(或直到收敛)后,最终的模型参数作为FL过程的输出返回。
  • 记录级DP与客户级DP
    记录级DP:添加或删除单个训练记录/示例形成相邻数据集。
    客户端级DP:添加或删除一个客户端的整个训练数据集形成相邻数据集。本文的主要隐私目标是保证记录级DP。另一方面,客户端级别的DP是副产品,它用来展示对模型中毒攻击的鲁棒性。

2.3 Secret Sharing

  • 秘密共享(SS)是多方安全计算技术路线之一,另外还有不经意传输(Oblivious Transfer, OT) 3.混淆电路 (Garbled Circuit, GC) ,假设有s台云服务器,n个客户端,客户端和云服务器之间采用秘密共享技术。
  • step1:每个客户机i使用秘密共享方案将其私有值xi分成s个份额,每个服务器一个份额
  • step2:每个服务器j通过计算累加器的值来聚合从n个客户端接收的所有xi
  • step3:一旦服务器从所有客户端接收到份额,它们就会发布累加器值(既总聚合值)
    在这里插入图片描述

3. Problem Statement

3.1 System Model

  • 系统模型,n个客户端,2个参数聚合云服务器 S A S_A SA, S B S_B SB,系统流程如下图
    在这里插入图片描述

3.2 Threat Model

  • 记录推理攻击和模型投毒攻击,其中第一种攻击牺牲了数据隐私,第二种攻击牺牲了模型的鲁棒性
  • 记录推理攻击:为了推断一个良性客户端(受害者)的一条记录,攻击者最多可以破坏一个服务器和一个客户端子集(受害者除外)。文章假设这两个服务器是诚实的,好奇但不串通(这是本文的缺点)。服务器诚实地遵循协议说明,但会尝试了解更多的信息(是否哪个记录参与训练)。
  • 模型中毒攻击:攻击者可以破坏恶意客户机的子集(而不是服务器)来实现模型中毒攻击。本文假设攻击者完全控制本地训练数据和通过这些损坏的(恶意的)客户机向服务器提交的数据,但对其他良性客户机没有影响。显然,恶意客户端合作可以发动更强的攻击,本文假设恶意客户端少于良性客户端,那么训练到最后这些结果会收敛到良性客户端的结果,但显然会受影响(本文考虑的是模型中毒攻击的一种类型:后门攻击)

4. Our Framework: PRECAD

4.1 Overview

  • 框架如上图所示
  • Main step:PRECAD实例如算法1所示。在每次迭代t中,服务器和客户端执行以下四个步骤:
    在这里插入图片描述
  • step1:选择参与的客户端。服务器选择客户端的一个子集来参与当前迭代。由于两个服务器都诚实地遵循协议,因此无论服务器SA还是SB都可以执行这一步,每个客户端以q的概率随机选择,然后服务器将当前模型参数θt∈Rd发送给这些客户端,等待响应。
  • step2:本地模型更新和提交。在收到来自服务器的请求后,每个客户机Ci用私有本地数据集Di训练本地模型,其中每个记录的梯度由R(记录级剪辑)剪辑。然后,更新被C剪切(客户端级剪切),被剪切的更新∆θit ∈ \in Rd被分割为两个份额[∆θit]A,[∆θit]B ∈ \in Fd(详见第4.2节),分别发送给服务器 S A S_A SA S B S_B SB
  • step3:安全提交认证。由于恶意客户端可能会发送大量的提交(其“2范数超出了界限C”) ,因此分别持有股份[∆θit]A和[∆θit]B的服务器必须安全地验证每个∆θit的“2范数”是否确实受C的限制(详细协议请参阅第4.3节)。注意,此验证步骤输出有效(服务器接受∆θit)或无效(服务器拒绝∆θit),不会泄露良性客户端的私人信息,因为良性客户端诚实地遵守协议,其本地模型更新提交将始终有效。
  • step4:带噪声的安全聚合。在验证所有提交后,服务器 S A S_A SA绘制一个真实的随机向量并将其转换成定点表示法,然后, S A S_A SA通过计算聚合所有含高斯噪声的有效份额。 S B S_B SB做相同的操作,通过相互交换上述参数,两台服务器得到和(模p),并将其转换为实向量,用于更新全局模型参数。
  • Comparisons. 与基于ldp的解决方案(其中每个客户端在本地训练过程中添加噪声,并将结果清楚地发送给服务器)和基于ddp的解决方案(其中每个带有噪声增强的提交都是加密的,中央服务器只观察噪声提交的聚合)相比,提出的框架PRECAD有几个优点如下表:
    在这里插入图片描述

4.2 Local Model Update

  • 在接收到当前全局模型参数θt后,客户端Ci从本地数据集中对记录的子集进行采样,其中每个记录的采样概率为pi。对于每个采样记录,计算相应的梯度,然后用R(记录级裁剪)进行裁剪。然后用C(客户端级)裁剪。裁剪后的结果表示为∆θit∈Rd,将其转换为其不动点表示形式[∆θit]F∈Fd,然后在Fd中拆分为两个份额,分别发送给两台服务器。
  • 算法描述如下:
    在这里插入图片描述

4.3 Secure Validation

  • 客户端Ci提交其 ∆ θ i t ∆θ_i^t θit后,服务器需要安全验证是否 ∣ ∣ ∆ θ i t ∣ ∣ 2 ≤ C ||∆θ_i^t||_2 \le C ∣∣∆θit2C,为了方便说明, x x x代替 ∣ ∣ ∆ θ i t ∣ ∣ ||∆θ_i^t|| ∣∣∆θit∣∣。那么 S A S_A SA S B S_B SB分别持有 [ x ] A [x]_A [x]A [ x ] B [x]_B [x]B,要想验证其总价值 V a l i d ( x ) : = L ( x T x − C 2 ≤ 0 ) Valid(x):=L(x^{T}x - C^{2}\le0) Valid(x):=L(xTxC20)为1而不泄露任何隐私。其中 L ( ⋅ ) L(·) L()表示指标函数, C 2 ∈ F C^2 \in F C2F是平方客户端级剪辑边界的定点表示。为此,作者在Beaver安全乘法技术的基础上扩展到内积。假设推导如下:
    在这里插入图片描述

4.4 Security Analysis

  • 正确性:如果客户端是诚实的,正确性随着construction,这一点有点没看懂。
    在这里插入图片描述

  • 稳健性:恶意客户端必须进行客户端级裁剪,否则将会被服务器检测出来。

  • 零知识:每个服务器除了得到最终的聚合结果之外,不会获得任何有关客户端的信息。

5. Privacy and Robustness Analysis

这一块内容建议看原文,因为涉及很多公式推导,还有附加公式。隐私分析建立在u-GDP的基础之上,鲁棒性分析结合了隐私分析公式,这一点我感觉是精华。

6. Evaluation

6.1 Experimental Setup

  • Baselines:1.无隐私的FL;2.LDP-based FL
  • Datasets:MNIST,CIFAR-10 。数据集设计为非独立同分布,100客户端平均分配
  • Evaluation Metrics:主任务准确率,后门攻击准确率
  • Model Architecture:对于MNIST数据集,使用PyTorch示例2中的CNN模型。对于CIFAR-10数据集,使用来自TensorFlow教程3的CNN模型。

6.2 Privacy-Utility Tradeoff

  • 图2显示了PRECAD相对于epoch/迭代的隐私成本和准确性(对于MNIST数据集),隐私预算随着周期的增加而增加,并且隐私预算越少,准确率越低。
    在这里插入图片描述- 准确率和效率对比,PRECAD在相同隐私预算的情况下比LDP方案好,但是时间是LDP的7倍。
    在这里插入图片描述

6.3 Robustness against Backdoor Attacks

  • 后门攻击客户端数量为 K K K,客户端裁剪边界为 C C C,下图左边为 K K K值影响,下图右边为 C C C值影响。后门攻击准确率越低越好,我们可以看到,后门攻击越多后门准确率越高,仅仅5个后门客户就可以对100个客户端训练的模型造成影响,PRECAD将后门攻击准确率下降了20%。客户端裁剪大小的改变会对模型后门攻击准确率造成影响,但 C C C=30之后,再提高 C C C效果就改变不大了
    在这里插入图片描述

7. Discussion

  • 局限性:尽管PRECAD改进了DP的隐私性权衡和针对恶意客户端的中毒健壮性,但它有几个局限性:1)非串通服务器的信任假设略强,这可能不适用于所有应用场景。2)所采用的密码学技术,包括秘密共享和MPC,在计算和通信上都有额外的开销。可以基于局限性做文章!!!
  • 普遍性:在PRECAD中,可以用其他密码学原语替代秘密共享方案,例如中的成对屏蔽策略,条件是客户机级剪辑可以由服务器安全验证。此外,根据应用场景的不同,可将扰动机制替换为其他DP机制,如拉普拉斯机制和指数机制,但隐私会计和鲁棒性分析的方法不同。

8. Related Work

  • 详细内容见文章。
  • 现有的隐私保护方案主要是基于密码学的技术(MPC),基于差分隐私的技术(DP),还有两者混用的(本文),基于shuffling洗牌技术,在用户和服务器之前加入一个洗牌器(也是要求洗牌器和server不共谋,个人感觉不太靠谱)
  • 现有的鲁棒性方案有拜占庭的鲁棒性方案,后门鲁棒性方案,都是检测裁剪,或者中值比较。

9. Conclusion

  • 在本文中,作者利用秘密共享和MPC技术,为FL开发了一个新的框架PRECAD,以增强DP的隐私-效用权衡和对模型中毒攻击的鲁棒性。通过记录级剪辑和安全验证的客户端级剪辑,服务器添加的噪声提供了记录级DP和客户端级DP。实验结果验证了PRECAD在隐私性和鲁棒性方面的改进。在未来的工作中,作者将把他们的框架扩展到其他密码原语和DP机制,并对模型中毒攻击显示可认证的鲁棒性。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一步一个脚印ッ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值