联邦遗忘学习

对于学习和遗忘这一对相对概念,我个人的一点小理解,感觉就像西红柿炒鸡蛋一样,对模型影响很大的数据就像西红柿和鸡蛋一样,肉眼可见的对整盘菜的色泽有很强的影响,同时西红柿是偏青还是一个熟透的西红柿对这一盘菜的味道也有很重要的影响;而对模型影响不是很大的数据就像放进去的小小的葱块,炒着炒着就几乎不见了,对味道也只是稍微的影响。这就是学习,把零散的蔬菜混合在一起,炒成一盘混沌的菜。遗忘呢,遗忘就像你在这一盘西红柿炒鸡蛋中挑出你不喜欢吃的葱,捞阿捞,把肉眼可见的葱块挑出去了,但是葱的味道呢,在抄完之后已经无法完全从这盘西红柿炒鸡蛋中剔除出去了,纵是挑剔的舌头觉察不出其中一丝丝葱的味道,但它终究还是存在,和完全不放葱的西红柿炒鸡蛋是不一样。

目前的遗忘学习的目标就是(1)这一盘被挑出去葱块、尚且忍耐残留的葱的味道(也可能留一点葱)的西红柿炒鸡蛋,追求这个残余的葱不多,葱味不重(遗忘效果),(2)追求是以最快的速度挑出去这个葱块(遗忘算法的时间效率,毕竟再抄一盘不放葱的西红柿炒鸡蛋太费时间),(3)同时也不能直接把一盘半盘的西红柿炒鸡蛋都扔掉,效率是高,速度也快,但是没得吃了(保证模型准确率)。大概这就是我当前对于学习和遗忘的理解,也许以后我回过头看这一段理解可能又不认同,小作记录。

联邦遗忘学习是一个比较新的研究方向,而对于联邦学习中的信息泄露问题的研究更是一个新的方向

机器遗忘学习

这是最近出现的一种尝试,尝试在联邦学习的背景下实现“被遗忘的权力”,这个“被遗忘的权力”先是被在机器学习中提出,也就是机器遗忘。

什么是机器遗忘?对于机器遗忘的定义也就成了我们需要解决的问题的抽象。在《machine unlearning》中对于机器遗忘的定义为:让使用数据集M+d训练出的模型在经过遗忘d之后的遗忘模型的分布(distribution of models),与直接使用M训练出的模型分布不可区分,即为遗忘成功。因为模型训练的随机性,因为考虑模型的分布相同问题。

与差分隐私的区别
单纯的差分隐私提供了一种保护数据集中单个样本隐私的方法,以便可以获得有关任何特定样本的信息量的上线。
通俗来讲,差分隐私是相当于数据对模型的训练是有贡献的,只是添加一些扰动让攻击者无法轻易的还原出原始数据。但是机器遗忘要做的是让数据对模型的贡献度直接为0。
现在也有了基于差分隐私的遗忘

什么是差分隐私,见我另一篇博客,只是浅显的理解和笔记

机器遗忘/联邦遗忘背景及意义

机器遗忘是机器学习的一个新兴领域,最终目的是消除一个训练模型特定训练样本子集的影响,即消除“遗忘集”(forget set)的影响。比较理想的遗忘算法会在消除某些样本影响的同时还保留其他有益的特性,比如在其余训练集上的准确性以及对保留样本的泛化性。

对于机器学习,包括扩展到联邦学习的联邦遗忘学习,他们之所以现在被人们广泛的研究:

  • 隐私:对于最近立法颁布《通用数据保护条例》(GDPR)1和《加州消费者隐私法案》(CCPA)2中提到的对于“被遗忘的权力”的要求。
  • 安全和可用性:对于机器学习包括联邦学习而言,适时的忘掉一些不再有效的训练数据对于整个模型的训练是有益的,在联邦学习中存在数据被攻击污染或者被控制修改的情况,错误的数据导致模型预测错误345,也有一些信息会随着时间的推移而过时,这些数据应该即使遗忘。遗忘一些数据甚至是一个客户端也能保护模型的安全,保护所有客户端的隐私安全,攻击者可能会控制某些客户端策略性地调整训练数据,使全局模型以特殊的模型上升或下降6,这样攻击者可以获得一些对其攻击有利的信息,这对整个模型的安全造成很大的威胁。
  • 精确性。有些模型可能对某类数据存在偏见,这些偏见可能不是输入而是学习造成的。

·联合遗忘。联合遗忘是必要的,还是自然遗忘就足以忘记离开参与者的数据?
·忘却验证。我们需要更复杂的方法还是简单的方法,比如检查全球模型在离开参与者数据上的表现,就足以衡量和验证遗忘效果?
·实用的选择。什么是忘记和验证方法最有效的组合(S),既能有效地忘记,清楚地验证,同时又能对原任务造成最小的负面影响?

但是之所以让模型进行遗忘而不是再训练,主要原因有几个,其中有算力问题、耗时问题以及再次复原训练过程是否容易。如果遗忘算法复杂以至于超过了再训练的成本,那就失去了遗忘的意义。

机器遗忘/联邦遗忘框架

框架需要满足的设计主要有:

完整性:遗忘学习的模型和再训练模型对任何可能的数据样本的做出相同的预测结果(无论是正确还是错误)。

时效性:使用遗忘学习的本质原因是因为再训练的时间成本太多,因此需要衡量完整性和时效性的关系。

准确性:当再训练模型不易实现时,无法对遗忘学习和再训练模型进行完整性比较,可以在新的测试集上测试遗忘学习模型的准确性,让遗忘学习模型和再训练模型的准确性相当。

轻量级:一些遗忘算法为了达到遗忘的目的,需要记录一些历史信息,比如存储模型检查点、历史模型更新、训练数据和其他临时数据等。一个好的遗忘学习算法应该是轻量级的并且可以适应大数据。遗忘时间、存储成本和计算成本应该尽可能减少。

可证明的保证:一些算法使用的是近似的遗忘算法,这种近似是否有保证,需要证明,比如一些技术使用的是有界的近似遗忘算法。

可验证性:遗忘学习的目的就是让模型遗忘掉一些样本信息,这些样本是否真正被遗忘了需要被验证,因此好的遗忘框架需要提供验证机制。

通用性:遗忘过程对于不同的学习算法和机器学习模型应该是通用的。

遗忘指标和验证指标有一些重叠,他们最大的区别就是前者可用于优化或者提供有界保证,后者仅用于评估

遗忘学习的算法输入为:一个预训练模型,遗忘集中的一个或者多个样本。然后基于模型、遗忘集、保留集,遗忘算法生成一个更新模型。理想遗忘算法生成的更新模型与直接没有遗忘集参与训练的模型没有区别。

用来对比的基线之一就是从头训练,比时间,比两个模型的差别(可能是准确率,或是其他)

而且单纯的让剩余数据从头训练是不切实际的,因为在实际应用中,成本(时间、计算、能源等)是非常昂贵的。,特别是当联邦学习中涉及到多个参与者之间的训练和聚合的多轮交替时。

在这里插入图片描述

在当前存在一些确定性删除更新,包括线性模型、某些类别的懒惰学习、递归支持向量机和基于共现的协作过滤。还有一些关于数据隐私相关的想法,不会导致有效的数据删除,而是让数据私有或者不可识别。
数据删除的挑战只有在存在计算限制的情况下才会出现,或者没有任何计算限制,但是隐私也会带来统计挑战。并且数据删除和数据隐私安全有着直接的联系和结果。

论文中定义了什么是准确的数据删除操作:从模型中删除一个训练点之后,模型就应该像从一开始就没有看见过这个训练点一样。

与模型无关的遗忘和针对固定模型的遗忘

研究与模型无关的遗忘和针对固定模型的遗忘的区别对于研究联邦遗忘这种针对联邦学习的遗忘或许可以提供一定的思路。

机器遗忘现有研究

[1] Making AI Forget You: Data Deletion in Machine Learning(2019)7

机器遗忘问题,提出了允许训练的机器学习模型遗忘要移除的数据的解决方法
在不使用剩余数据从头重新开始训练数据的方法下,从机器学习模型中删除单个数据点的问题。所提出的学习叫做删除高效学习,该学习基于直观且可操作的概念,即从统计模型中删除数据的含义。将数据删除作为一个在线问题,最优删除效率的概念从分期计算时间的自然下限中产生。


在这里插入图片描述

[2] Machine Unlearning(2021)8

机器遗忘问题,提出了允许训练的机器学习模型遗忘要移除的数据的解决方法,机器遗忘学习的近似算法有数据集分裂或者划分,这种方法不容易应用到联邦遗忘学习中。

在训练过程中利用了分片和切片的优势

联邦遗忘

联邦学习

联邦学习所进行的主体主要有两种,一方是中央服务器 C C C,一方是 M M M个客户端 S i ∈ { S 1 , … , S M } S_i \in \{S_1,\ldots , S_M\} Si{S1,,SM}。中央服务器在通信轮次 t t t M M M个客户端中选择此次参与的 m m m个个客户端,将全局模型 G t G^t Gt下放到各个参与的客户端中,各个客户端再根据自己的本地数据进行本地训练,将更新后的模型参数更新 Δ G i t \Delta G_i^t ΔGit上传到中央服务器,中央服务器将模型参数更新进行平均聚合(FedAvg)生成新的全局模型 G t + 1 = G t + 1 m ∑ i = 1 m Δ G i t G^{t + 1}= G^t + \frac{1}{m}\sum_{i = 1}^m \Delta G_i^t Gt+1=Gt+m1i=1mΔGit,然后再次选择客户端下放,直到模型收敛到满意的程度。
在这里插入图片描述

联邦学习中的遗忘学习

对于机器遗忘的定义为:让使用数据集M+d训练出的模型在经过遗忘d之后的遗忘模型的分布(distribution of models),与直接使用M训练出的模型分布不可区分,即为遗忘成功。

在联邦学习的背景下,遗忘的实现本质上也是从全部参与客户端的所有数据中去除掉一部分数据的影响,但是情况更加复杂,(1)可能需要删除的是一整个客户端的所有数据的影响,也就是删除这个客户端的影响,(2)可能只是删除某一个客户端的一部分数据的影响,(3)可能删除某一数据的影响,尽管它可能分布在很多个参与客户端上。在实现上来说,第一种情况是较为容易实现的,并且现有研究中也是主要研究的这种情况。

与机器遗忘一样,我们最终希望实现的也是直接使用剩余数据训练出的模型与进行遗忘之后的遗忘模型的分布不可区分。

联邦遗忘学习中的遗忘者的不同

在这里插入图片描述

因为参与方与机器学习不一样,机器学习主导模型训练形成的只有一个控制者,遗忘也理当由其完成。但是在联邦学习中,由谁主导遗忘的实现也是一个需要考虑的问题,因为不同的遗忘者能够获得的信息和控制的数据是不一样的,所以实现的方式和能够实现的功能不一样。

服务器作为遗忘者:遗忘的是某个客户端的所有数据,这种情况下,无法遗忘某个客户端的部分数据,因为服务器不知道客户端的具体数据是什么

其余客户端或者所有客户端作为遗忘者:遗忘的是某个客户端的部分数据,但是需要服务器将全局模型回滚到第一次选择目标客户端之前的先前检查点,并且所有客户端被要求参与再训练过程。目标客户端或是训练前退出(对应其余客户端作为遗忘者),或是用剩余数据参与再训练过程(对应所有客户端作为遗忘者)

目标客户端作为遗忘者:目标客户端可以直接访问需要删除的数据,之后目标客户端将遗忘后的本地更新发送到服务器进行聚合,局部遗忘的擦除效果无法与全局再训练相比。王菲的主张是让目标客户端作为遗忘者,去影响全局模型

用攻击成功率评价遗忘学习的效果

并不是所有论文都使用了攻击算法作为评估遗忘效果的工具,但是像下面提到的“2021 FedEraser”,以及“2022 倾斜模型+知识蒸馏 with 后门攻击验证方法”和“2022 目标客户端推出前辅助 with 后门攻击”这3篇论文都使用了攻击成功率作为遗忘学习效果的评价指标,使用的攻击算法分别是成员推理攻击和后门攻击。

联邦学习、遗忘学习和攻击算法之间的关系可以由下图表示,越靠下的代表越底层,越是应用场景。
在这里插入图片描述

这两种攻击位于攻击树上的什么位置呢
在这里插入图片描述

这两种攻击是如何作为评估遗忘效果的工具的详见我另一篇博客

联邦遗忘现有研究

2021 FedEraser(近似算法)

在这里插入图片描述

●●[3] FedEraser: Enabling Efficient Client-Level Data Removal from Federated Learning Models(2021)9

论文给了源码:https://www.dropbox.com/s/1lhx962axovbbom/FedEraser-Code.zip?dl=0

发现了联邦学习中的遗忘学习的独特挑战,设计了联邦学习环境中的机器遗忘新机制,假设要移除的所有数据属于同一个客户端

尽管 FL 有不同的形式,但大多数现有工作主要集中在水平 FL 或基于样本的 FL,在这种情况下,多个客户端的数据集共享相同的特征空间,但样本空间不同。相反,垂直FL或基于特征的FL适用于来自不同领域的数据集共享相同样本空间但特征空间不同的场景。本文中关注水平 FL

FedEraser[3](2021)是作为在联邦学习背景下近似学习的第一次尝试而提出的。它使用了一种校准技术来尽可能地分离客户的个人贡献。前提条件是服务器必须存储每个客户端的参数更新历史记录。虽然这个假设在实践中并非不合理,但是如果有几百个以上的客户机参与一个FL会话,那么它可能会占用服务器上的大量存储空间。FedEraser只是一种再训练方法,它依赖于服务器和客户端之间的额外通信,其中所有客户端参与者都使用他们的历史数据集调整他们的历史更新。(服务器必须存储每个客户端的参数更新历史记录,要求客户端重新训练模型

基本思想是用中央服务器的存储换取遗忘学习模型的构建时间,利用联邦学习训练过程中保留在中央服务器的客户端历史参数更新来重建遗忘学习模型。

受客户端更新指示需要改变全局模型的参数以使模型适合训练数据的事实的启发10,论文通过仅执行几轮校准训练来进一步校准保留的客户端更新,以在没有目标客户端的情况下近似更新的方向,并且可以使用校准的更新快速构建未学习的模型。

遗忘者是其余客户端或者所有客户端,所有客户被要求参与再培训过程,就像常规联邦学习一样,必要时进行局部微调或者校准。再学习的起点是根据中央服务器存储的历史更新信息回滚的位置。

FedEraser流程:
(1)校准训练(在校准客户端,即除了要被遗忘的目标客户端之外的其他客户端):让除去遗忘掉的客户端之外的其他客户端回滚到上一次中央服务器中存储的全局模型位置,将这个记忆中的模型下放到各客户端(除被遗忘客户端),在这些客户端上重新训练 E c a l i E_{cali} Ecali次迭代,将生成的模型更新 U ^ k c t j \widehat{U}_{k_c}^{t_j} U kctj,其中 k c k_c kc表示执行校准的某客户端
(2)更新校准(中央服务器):将客户端传递回中央服务器的更新 U ^ k c t j \widehat{U}_{k_c}^{t_j} U kctj对原本存储在服务器中的参数更新 U k c t j U_{k_c}^{t_j} Ukctj进行修改,修改后的更新
U ~ k c t j = ∣ U k c t j ∣ U ^ k c t j ∥ U ^ k c t j ∥ \widetilde{U}_{k_c}^{t_j} = | U_{k_c}^{t_j} | \frac{\widehat{U}_{k_c}^{t_j}}{\| \widehat{U}_{k_c}^{t_j} \|} U kctj=UkctjU kctjU kctj
(3)校准更新聚合(中央服务器):所有进行校正的客户端的更新 U ~ t j = { U ~ k c t j ∣ k c ∈ [ 1 , 2 , … , K ] ∖ k u } \widetilde{U}^{t_j} = \{ \widetilde{U}_{k_c}^{t_j} | k_c \in [1, 2, \ldots, K] \setminus k_u \} U tj={U kctjkc[1,2,,K]ku},计算这些更新的加权平均值
u ~ t j = 1 ( K − 1 ) ∑ k c w k c ∑ k c w k c U ~ k c t j \widetilde{\LARGE u}^{t_j} = \frac{1}{(K - 1) \sum_{k_c} w_{k_c}} \sum_{k_c} w_{k_c} \widetilde{U}_{k_c}^{t_j} u tj=(K1)kcwkc1kcwkcU kctj
其中, w k c = N k c ∑ k c N k c w_{k_c} = \frac{N_{k_c}}{\sum_{k_c} N_{k_c}} wkc=kcNkcNkc N k c N_{k_c} Nkc是客户端 k c k_c kc拥有的记录数

这一步意味着,拥有越多记录的客户端可能受到的影响更多次,因此对于它的修改要更多一点?

(4)未学习的模型更新(中央服务器):FedEraser将全局联邦学习模型更新为
M ~ t j + 1 = M ~ t j + u ~ t j \widetilde{\mathcal{M}}^{t_{j+1}} = \widetilde{\mathcal{M}}^{t_{j}} + \widetilde{\LARGE u}^{t_j} M tj+1=M tj+u tj
M ~ t j + 1 \widetilde{\mathcal{M}}^{t_{j+1}} M tj+1是更新后的模型, M ~ t j \widetilde{\mathcal{M}}^{t_{j}} M tj是当前模型

伪代码如下
在这里插入图片描述

假设或者不足的一些问题:
选择直接遗忘整个客户端的数据,而不是选择性的遗忘部分数据

实验部分使用的数据集:
Adult (Census Income):具有年龄、性别、教育程度、婚姻状况、职业、工作时间和国籍等 14 个属性。分类任务是预测一个人的年收入。

Purchase:包含数千名购物者一年内的购物历史,包括产品名称、连锁店、数量、购买日期等多个字段。目的是设计准确的优惠券促销策略。

MNIST:包含 70, 000 个手写数字的数据集,格式为 32×32 单通道图像并进行归一化。

CIFAR-10:由 60, 000 张尺寸为 32 × 32 的彩色图像组成,是一个平衡数据集,每个类别有 6, 000 张随机选择的图像。

使用不同的全局模型执行分类任务,如下表
在这里插入图片描述

  • 实验的评价指标
    准确性accuracy
    预测损失loss
    遗忘时间time
    评估遗忘模型是否仍然包含有关目标客户的信息,采用下面三个额外的指标
    原始全局模型和遗忘学习模型之间的预测差异,表示为预测概率差异的 L2 范数
    在这里插入图片描述
    针对遗忘学习的成员推理攻击,用以衡量仍保留在遗忘学习的全局模型中的信息,衡量目标客户端的隐私泄露程度
    MIA针对目标数据的攻击精度attack precision:目标客户数据预测参与全局模型训练的比例
    MIA的攻击召回attack recall:表示可以正确推断的目标客户端数据的一部分,正样本被找出的概率

  • 实验的基线方法:
    FedRetain:删除目标客户数据后,在剩余数据上从头开始训练该模型,提供了FedEraser重建遗忘学习模型预测性能的上界
    FedAccum:通过直接累积校准客户端的局部模型参数的先前保留的更新,并利用累积的更新来更新全局模型。与FedEraser的区别在于FedAccum不校准客户端的更新
    FedAvg:没有遗忘问题,直接的联邦学习构建全局模型

总结:

基本思想
优化:使用中央服务器的存储空间换取遗忘学习模型的构建时间
保证:使用新的校准方法校准保留的更新,并加快遗忘学习模型重建速度

总结目标:提高重建时间,加速

评价指标:沿用机器遗忘学习的评价标准——准确性预测损失函数,全局模型遗忘掉目标客户端的遗忘时间,是否仍然包含目标客户端的信息——原始模型和遗忘模型的预测差MIA攻击精度(MIA目标是确定给定的数据是否用于模型给定的ML模型)、MIA攻击召回率

为什么使用MIA攻击结果作为评价指标之一,用来评判模型中剩余的关于数据的信息还剩多少,我觉得可以用我另一篇博客:遗忘学习中的评估方式:成员推理攻击MIA&后门攻击中对于将攻击作为遗忘评判标准的思考的一段话放在这里。

  • 使用攻击方法检验遗忘学习程度的现实意义?
    在遗忘学习中使用攻击方法进行检验,是在有利于攻击方的理想状态下进行的,这种情况是否符合实际?个人感觉这和研究面对攻击时的防御策略有区别,防御策略是根据攻击程度进行防御的,而攻击是有实际背景的,因此防御策略可以考虑适度/轻量级。但是遗忘学习中的攻击是检验信息遗留程度的工具,攻击本身在这个过程中不存在实际意义,遗忘的真正场景是关于“隐私权”的问题和“脏数据”的问题,考虑的是忘的越干净越好,因此或许应该考虑无限有利于攻击方,以此来尽可能地观察到遗忘的程度

总的来说就是让攻击尽可能的强,来检验遗忘模型中是不是所剩的信息不多了。但是更强的攻击方法有千千万,为什么MIA攻击可以用来作为这个评判标准呢,先不说这个攻击方法好不好用,先说这个方法能不能用,就像充电线一样,先不管充电速度快不快,先看插口能不能插上。

那么就需要看MIA方法中对于攻击的基本问题的研究:
攻击前提的假设:
1、假设机器学习算法用于训练一个分类模型,该模型捕获数据记录的内容与其标签之间的关系
2、假设攻击者具有对模型的查询访问权限,并且可以在任何数据记录上获取模型的预测向量
3、假设攻击者知道模型的输入输出格式,包括它们的数量和可以取值的范围
4、假设攻击者要么(1)知道机器学习模型的类型和体系结构以及训练算法,要么(2)拥有对机器学习Oracle的黑匣子访问来训练模型,这种情况下攻击者无法事先知道模型的结构或者元参数

作为研究遗忘效果的工具,攻击显然不需要考虑实际情况,不需要考虑攻击者是不是能窃取到相同的或者相关的数据集,不需要考虑攻击者是不是能够知道模型的架构以及其中的参数,这些东西在验证遗忘效果的过程中都会假设完全知道,因为在遗忘验证阶段,虽然我们将这种方法成为“攻击”方法,但实际上也只是使用这种思想作为“验证”方法而已。因此在将MIA作为遗忘评价指标的时候,将目标模型的训练数据和模型架构作为已知,以增大攻击力度,评估遗忘程度。


2022 快速再训练

在这里插入图片描述

●●[4] The Right to be Forgotten in Federated Learning: An Efficient Realization with Rapid Retraining(2022)11

发现了联邦学习中的遗忘学习的独特挑战,设计了联邦学习环境中的机器遗忘新机制。假定,在删除请求删除的数据之后,从头开始重新训练数据,但这样在计算上是相当昂贵的,因为要从头训练模型,而且让相同的用户重新再次参与训练时不现实的。
Liu等人提出了一种快速再训练方法[4](2022),通过使用一阶Taylor展开近似损失函数,在剩余数据集上重新训练全局模型,该方法依赖于所有客户端的参与。该算法可以简单地看作是一种快速的局部训练算法,而不一定是联邦学习的近似算法。使用的方法为通过利用梯度信息和曲率信息来寻找更好的下降方法

  • 评价指标:
    1、算法的效率,再训练算法的加速运行时间
    2、给定模型取得的性能相较于基线模型的性能,对称绝对百分比误差(对比输出的区别)、准确率/精确度
    3、参数敏感度

2022 倾斜模型+知识蒸馏 with 后门攻击验证方法 (近似算法)

在这里插入图片描述

●●[5] Federated Unlearning with Knowledge(2022)12

设计了联邦学习环境中的机器遗忘新机制,假设要移除的所有数据属于同一个客户端
同样,Wu等人[5](2022)也要求服务器存储每个客户端的更新历史。然而,Wu等人的方法并没有像FedEraser那样要求客户端重新训练模型,而是要求服务器从最终的全局模型中减去目标客户端的所有历史平均更新,以获得一个倾斜的学习模型,然后使用知识蒸馏来训练这种倾斜的学习模型,使用原始的全局模型作为外包的未标记数据集上的教师模型。该方法需要对整个数据集具有相同分布的合成数据进行采样,而这种采样过程的准确性可能会受到非iid(非独立和同分布)数据分布的负面影响,而非iid(非独立和同分布)数据分布通常是联邦学习中假设的。(要求服务器从最终的全局模型中减去目标客户端的所有历史平均更新,但是不适用联邦学习中对于数据分布是非独立同分布的假设)

这种方式和再训练模型的精度和被后门攻击出来的精度差别不大,而且也并没有对比时间上的快慢

通过从模型中减去积累的历史更新来消除客户端的贡献,并利用知识蒸馏方法在不使用任何客户端的数据的情况下恢复模型的性能。该方法不依赖客户端参与。该方法对神经网络的类型没有任何限制,也不依赖于客户端的参与,因此在FL系统中具有实用性和高效性。我们进一步在训练过程中引入后门攻击,以帮助评估遗忘效果。

但是论文中虽然说是因为再训练对时间和精力成本消耗巨大,因此提出这种遗忘算法,但是论文中并没有对两种算法的训练时间进行对比,只是提到让所有参与客户端按照之前训练的顺序进行训练不合实际,并且从论文中看,因为算法是不依赖客户端参与的,节省的时间和经历成本可能是从中央服务器与客户端之间的通信以及不让客户端再参与本地训练带来的时间成本而来,不通信不本地训练的代价就是训练过程中生成的局部模型都会被存储在中央服务器之中,而不是节省算法本身的计算成本,相反还消耗了中央服务器的存储成本。

  • 评价指标:
    1、通过后门攻击的成功率评估遗忘效果
    2、预测准确率

其原理如下:
我们如果从时间的角度去看联邦学习的聚合的话,每一轮的聚合的公式就是下面的表达:( M t M_t Mt是第t轮的全局模型, Δ M t i \Delta M_t^i ΔMti是第t轮第i个客户端提供的模型更新, N N N是每一轮使用的客户端个数)
M t + 1 = M t + 1 N ∑ i = 1 N Δ M t i ( 1 ) (1) M_{t+1}=M_t+\frac{1}{N}\sum_{i=1}^N \Delta M_t^i(1) \tag{1} Mt+1=Mt+N1i=1NΔMti(1)(1)

但是我们换个角度,从客户端的角度去看联邦学习的聚合,全部的聚合过程就可以得到下面的式子来表示聚合过程(F是总局和轮次):
M F = M 1 + ∑ t = 1 F − 1 Δ M t (2) M_F=M_1+\sum_{t=1}^{F-1}\Delta M_t \tag{2} MF=M1+t=1F1ΔMt(2)
其中 Δ M t = 1 N ∑ i = 1 N Δ M t i = 1 N ∑ i = 1 N − 1 Δ M t i + 1 N Δ M t N \Delta M_t = \frac{1}{N}\sum_{i=1}^N \Delta M_t^i=\frac{1}{N}\sum_{i=1}^{N-1} \Delta M_t^i + \frac{1}{N}\Delta M_t^N ΔMt=N1i=1NΔMti=N1i=1N1ΔMti+N1ΔMtN,N个客户端是如此.

但是如果没有第N号客户端呢,从联邦学习的一开始就只有N-1个客户端,那么所有客户端提供的所有的模型更新就会变成
Δ M t ′ = 1 N − 1 ∑ i = 1 N − 1 Δ M t i = N N − 1 Δ M t − 1 N − 1 Δ M t N (3) \Delta M'_t = \frac{1}{N-1}\sum_{i=1}^{N-1} \Delta M_t^i=\frac{N}{N-1}\Delta M_t -\frac{1}{N-1}\Delta M_t^N \tag{3} ΔMt=N11i=1N1ΔMti=N1NΔMtN11ΔMtN(3)(注意这里最后一步推导是表达N个客户端个N-1个客户端的模型更新值 Δ M t ′ \Delta M'_t ΔMt Δ M t \Delta M_t ΔMt之间的关系)

相应的全部的聚合也就变成了( ϵ t \epsilon_t ϵt是每一轮可能产生的误差(预测误差)而需要进行修正的量,知识蒸馏正式训练这个量)
M F ′ = M 1 + N N − 1 ∑ t = 1 F − 1 Δ M t − 1 N − 1 ∑ t = 1 F − 1 Δ M t N + ∑ t = 1 F − 1 ϵ t (4) M'_F = M_1+\frac{N}{N-1}\sum_{t=1}^{F-1}\Delta M_t -\frac{1}{N-1}\sum_{t=1}^{F-1}\Delta M_t^N + \sum_{t=1}^{F-1}\epsilon_t \tag{4} MF=M1+N1Nt=1F1ΔMtN11t=1F1ΔMtN+t=1F1ϵt(4)

论文中对公式(3)(4)进行了一下简化,假设参与客户端仍然是N个,但是第N号客户端上传的更新值是约等于0的,也就是实质上参与的客户端上传的模型更新值总和还是N-1个客户端的更新值的总和,这样做是想简化 N N − 1 \frac{N}{N-1} N1N这样的分式,简化后的式子如下:
Δ M t ′ = 1 N ∑ i = 1 N − 1 Δ M t i = Δ M t − 1 N Δ M t N (5) \Delta M'_t = \frac{1}{N}\sum_{i=1}^{N-1} \Delta M_t^i=\Delta M_t -\frac{1}{N}\Delta M_t^N \tag{5} ΔMt=N1i=1N1ΔMti=ΔMtN1ΔMtN(5)
M F ′ = M 1 + ∑ t = 1 F − 1 Δ M t i + ∑ t = 1 F − 1 ϵ t = M 1 + ∑ t = 1 F − 1 Δ M t − 1 N ∑ t = 1 F − 1 Δ M t N + ∑ t = 1 F − 1 ϵ t = M F − 1 N ∑ t = 1 F − 1 Δ M t N + ∑ t = 1 F − 1 ϵ t (6) \begin{align} \textcolor{red}{M'_F} & =M_1+\sum_{t=1}^{F-1}\Delta M_t^i+\sum_{t=1}^{F-1}\epsilon_t \nonumber\\ & =M_1 +\sum_{t=1}^{F-1}\Delta M_t-\frac{1}{N}\sum_{t=1}^{F-1}\Delta M_t^N+\sum_{t=1}^{F-1}\epsilon_t \nonumber \\ & =\textcolor{green}{M_F} - \textcolor{purple}{\frac{1}{N}\sum_{t=1}^{F-1}\Delta M_t^N} + \textcolor{orange}{\sum_{t=1}^{F-1}\epsilon_t} \nonumber \end{align} \tag{6} MF=M1+t=1F1ΔMti+t=1F1ϵt=M1+t=1F1ΔMtN1t=1F1ΔMtN+t=1F1ϵt=MFN1t=1F1ΔMtN+t=1F1ϵt(6)

这样原模型减去目标客户端的历史数据后的模型之间的差别除了目标客户端提供的模型更新值,只剩下可能存在的误差。目标客户端就是我们想要减去/遗忘的那个客户端。

知识蒸馏方法的理论主要是:告知两者之间“像不像”,而不是“是不是”,就比如“1”和“7”就长得像,但是“1”和“3”“8”长得就不想。

教师模型 M F \textcolor{green}{M_F} MF,原始模型,未减去之前的模型
学生模型 M F ′ \textcolor{red}{M'_F} MF,减去目标客户端所有历史更新的模型
使用损失函数反向梯度算法让学生模型向教室模型进行贴近,但是论文中没有具体的loss的公式来表明如何表示相似程度。

伪代码如下:
在这里插入图片描述
论文是怎样使用后门攻击方法作为遗忘程度的评价工具的,可以看我的另一篇博客:遗忘学习中的评估方式:成员推理攻击MIA&后门攻击,里面有我的理解和我的疑问。


2022 目标客户端推出前辅助 with 后门攻击

在这里插入图片描述

●●[6] Federated Unlearning: How to Efficiently Erase a Client in FL?(2022)13

设计了联邦学习环境中的机器遗忘新机制
Halimi等[6](2022)不要求服务器存储客户端的参数更新,只依赖于希望退出的目标客户端。目标客户执行投影梯度上升来训练全局模型,以便在删除之前最大化其局部数据的经验损失。剩余客户模型的平均值作为参考模型来衡量遗忘的质量。

  • 评价指标:
    1、同样也使用了上面参考文献[5]中提出的后门攻击,将后门准确性定义为“被错误分类为攻击所需的目标标签的触发(中毒)数据的百分比”,后门数据的准确性
    2、干净数据的准确性

2023 异步联邦学习的遗忘问题

在这里插入图片描述

●●Asynchronous Federated Unlearning(2023)10

这篇论文的背景考虑的是异步联邦学习中的遗忘问题,是一种快速再训练的非近似算法。论文中根据异步联邦学习的特性,根据训练时间和数据相似度将客户端划分到不同的集群之中,论文中提出了KNOT集群优化算法。这样即使需要遗忘一个客户端,也只是这个客户端所在集群进行再训练即可,既不会影响其他集群的训练,又能因为参与的客户端数量少而加快再训练的训练速度。

创新点:1、考虑了异步联邦学习中的遗忘。2、集群聚合减少再训练时间开销,为异步联邦学习定制的新型集群聚合机制,使用异步联邦学习可以将客户端划分为集群,并且只能在集群之内进行聚合,这样数据擦除而导致的再训练就可以限制在每个集群之内。3、将客户端划分集群问题转化为一个可以优化的整数字典法最小化问题,使用线性规划求解器解决。

上述论文的假设/前提总结

1、需要遗忘的一堆数据不一定属于同一个客户端,可能分布在不同的客户端上。【3】【5】假设在同一个客户端上,降低了难度,因为这样的假设是相当于消除特定客户端对全局模型训练的历史贡献。
2、没有考虑当删除几个客户端之间共享的数据时,如何删除一个数据在多个客户端对其各自的本地模型的影响,进而影响全局模型
3、几个客户端之间共享数据,可能只是某一个客户端的这个共享数据需要删除,其他的不需要删除

【4】删除请求删除的数据之后,从头开始重新训练数据,计算成本太昂贵,因此王菲认为在实践中执行联邦遗忘学习的唯一可行方法是使用近似算法,但是因为联邦学习的特殊性,导致传统机器遗忘中的近似算法无法直接应用于联邦遗忘中,主要是如何将某数据的影响在服务器聚合后分离出来。

【3】的假设:
请求删除的数据位于同一个客户端
服务器存储每个客户机的参数更新历史(合理有不合理)
考虑水平联邦学习:考虑的样本空间完全不同时,但是并未考虑其中还是可能有几个客户端共享的数据的可能,在删除这些被共享的数据时会存在各种问题

【4】的假设:
所有客户端都再次参与训练,从头开始

【5】的假设:
请求删除的数据位于同一个客户端
假设数据集具有相同分布(往往联邦学习的数据集是非独立同分布)
假设某个客户端直接全部退出训练,(现实往往只是去掉客户端的一部分数据而不是全部),服务器将从全局模型中删除其所有历史平均更新

【6】的假设:
假设会删除一个数据在所有拥有它的客户端的影响,进而删除其对全局模型的影响


  1. P. Voigt and A. Bussche, The Eu General Data Protection Regulation(GDPR): A Practical Guide. Springer, 2017. ↩︎

  2. E. Harding, J. J. Vanto, R. Clark, L. H. Ji, and S. C. Ainsworth, “Understanding the scope and impact of the California Consumer Privacy Act of 2018,” Journal of Data Protection & Privacy, 2019 ↩︎

  3. C. Xie, K. Huang, P.-Y. Chen, and B. Li, “DBA: Distributed backdoor attacks against federated learning,” in Proceedings of ICLR, 2020 ↩︎

  4. E. Bagdasaryan, A. Veit, Y. Hua, D. Estrin, and V. Shmatikov, “How to backdoor federated learning,” in Proceedings of AISTATS, 2020, pp. 2938–2948. ↩︎

  5. C. Fung, C. J. Yoon, and I. Beschastnikh, “The limitations of federated learning in sybil settings,” in Proceedings of RAID, 2020, pp. 301–316. ↩︎

  6. X. Xu, J. Wu, M. Yang, et al. 2020. Information leakage by model weights on federated learning. In Proceedings of the Workshop on Privacy-Preserving Machine Learning in Practice. 31–36 ↩︎

  7. A. Ginart, M. Guan, G. Valiant, and J. Y. Zou, “Making AI Forget You: Data Deletion in Machine Learning,” in Proc. 33rd Conference on Neural Information Processing Systems (NeurIPS), vol. 32, 2019. ↩︎

  8. L. Bourtoule, V. Chandrasekaran, C. A. Choquette-Choo, H. Jia, A. Travers, B. Zhang, D. Lie, and N. Papernot, “Machine Unlearning,” in Proc. 42nd IEEE Symposium on Security and Privacy (S&P), 2021, pp. 141-159. ↩︎

  9. G. Liu, X. Ma, Y. Yang, C. Wang, and J. Liu, “FedEraser: Enabling Efficient Client-Level Data Removal from Federated Learning Models,” in Proc. IEEE/ACM International Symposium on Quality of Service (IWQoS), pp. 1-10, 2021. ↩︎

  10. Ningxin Su, Baochun Li. “Asynchronous Federated Unlearning,” in the Proceedings of IEEE
    International Conference on Computer Communications (INFOCOM), New York, USA, May 17
    – 20, 2023 ↩︎ ↩︎

  11. Y. Liu, L. Xu, X. Yuan, C. Wang, and B. Li, “The Right to be Forgotten in Federated Learning: An Efficient Realization with Rapid Retraining,” in Proc. IEEE International Conference on Computer Communications (INFOCOM), pp. 1749-1758, 2022. ↩︎

  12. C. Wu, S. Zhu, and P. Mitra, “Federated Unlearning with Knowledge Distillation,” arXiv preprint arXiv:2201.09441, 2022. ↩︎

  13. A. Halimi, S. Kadhe, A. Rawat, and N. Baracaldo, “Federated Unlearning: How to Efficiently Erase a Client in FL?” Workshop on Updatable Machine Learning (UpML), 2022. ↩︎

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

x_fengmo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值