type
status
date
slug
summary
tags
category
icon
password
Backdoor Attacks and Defenses in Federated Learning: State-of-the-art, Taxonomy, and Future Directions
- 关于FL后门攻击的综述类文章
Summary
- 总结了五种中毒攻击,将后门攻击分为数据中毒和模型中毒,并进行6个维度的比较。相对于后门攻击,总结了异常检测、鲁棒联邦训练、后门模型恢复三类防御手段。
- 给出了攻击和防御的未来研究方向
Attack
Data Poisoning Attack
- 数据中毒攻击一般的毒化数据集既包括毒化的数据也包括正常的数据。但是目前的一个挑战是后门特征会逐渐在后续学习中被淡化。
-
Model Poisoning Attack
- How to backdoor那篇论文。用基于毒化数据的数据集训练的毒化模型,然后用较大的缩放比例较大的聚合到全局模型中,但是一般当全局模型快收敛的时候才更有效果。
- 另一篇中的方法,
- 恶意更新是否会增加全局模型性能
- 恶意更新与其他更新的差异。
- 并将上面两个指标引入训练损失函数来避免异常检测。
将恶意的更新提升λ倍。而且衡量两个指标:
- 还有修改模型聚和方法的论文。
Defence
- 异常检测
- FoolsGold基于的事实:当一组攻击者训练一个全局模型时,他们可能会在整个训练过程中贡献具有相同后门目标的更新,从而呈现类似的行为。就是一般诚实的参与者之间不会共享训练数据,但是多个恶意参与者之间的中毒数据反而是一样的。检测到异常后,server保持良性参与者的学习率,降低恶意参与者(重复上传相似更新)的学习率。
- 针对于server聚合器的异常检测框架。核心思想是在低维潜在空间中嵌入良性更新和反向更新,两者之间存在显著差异。。
- 这种防御方式无法应对多触发的后门攻击,即多个后门同时注入。
- Flguard:两层防御方法,通过剪裁、平滑和添加噪声来检测具有明显后门影响的局部更新,并消除残留的后门。而且适用与多后门注入。
- 上面的异常检测依赖于本地更新之间的异常检测,当一些安全聚合方法使server获取不到真实的更新后,这种防御就大打折扣
- 鲁棒联邦学习
- 与检查和过滤恶意本地更新的异常更新检测不同,稳健联合训练旨在直接减轻训练过程中的后门攻击
- 裁剪模型权重和注入噪声来消除后门,以缓解全局模型上的攻击模型更新,但是相应的也影响正常需求。
- 基于反馈的联合学习(Bffle)。每个选定的参与者通过对其秘密数据计算验证函数来检查当前全局模型,并向中央服务器报告该模型是否被反向操作。然后,中央服务器根据所有用户的反馈来确定是接受还是拒绝当前的全局模型。
- CRLF:具体地说,CRFL使用模型参数的裁剪和平滑来控制模型的光滑度,从而在幅度有限的后门上产生样本稳健性证明
- 后门模型重建:训练后对后门模型进行一定的修复。相应的研究比较少。
- 一种分布式修剪策略。具体来说,服务器首先要求所有参与者使用他们的私有本地数据集记录每个神经元的激活值,并列出一个本地修剪序列。中央服务器收集修剪列表并确定全局修剪序列。就修剪率而言,即将移除多少休眠神经元,服务器可以使用小的验证数据集测试主任务上的当前模型预测精度。值得注意的是,服务器还可以将全局修剪序列传递回用户,要求他们在各种修剪率下上传数据集的预测精度,然后基于反馈决定最终修剪列表。
Comparison
Comparison of attack
-

- 攻击表现的比较

-
- 其中ASR是攻击成功率,MTA是主要任务上的准确性。方法6就是How to Backdoor论文中提出的。
- 综合来说,6是不错的。

Defence
-

Future
Attack
- 用于垂直联邦学习的后门攻击
- 隐形后门攻击,不可见的后门触发器。
- 现有攻击在实际应用中的可用性,而不是针对于一些简单的数据集
- 除了像素级后门,有没有基于模型的触发器
Defence
- 现有的防御一般会影响模型主要任务的成功率和破坏FL的隐私性,所以这也是一个挑战
- 防御手段在其他领域的研究,而不是图像分类
- 将对抗性训练和模型提炼用于防御
- 将防御适用于以后的一些工作。
Attack of the Tails: Yes, You Really Can Backdoor Federated Learning
Summary
- 提出了利用边缘分布的数据作为后门数据集的edge-case backdoor attack。并对多种攻击模式(白盒、黑盒)进行了实验对比,也针对一些防御技术进行实验对比。实验证明边缘案例后门攻击是持续性更好、更有效的后门攻击。理论推理证明了后门攻击的检测是个np问题。
- 提出了后门攻击时的公平性问题。
Method
- edge-case backdoor attack:利用数据分布尾部的数据进行后门攻击,就是边缘案例攻击。
- 定义一:如果边缘数据集中的数据分布概率小于p,则称为p边缘案例。也可以说一组含标记的例子,其输入特征选自特征分布的尾部,就是找不起眼、少见的特征。排除p=0的情况,
- 根据攻击者的访问模式,提出三种攻击策略。
- 黑盒攻击
- 黑盒模型攻击者可以修改要发送的模型。其中黑盒攻击在本地数据集D'上进行训练,这个数据集是由边缘数据集Dedge和真实数据集D组成,可以改变二者的混合比例来优化攻击。
- PGD Attack
- 投影梯度下降,相当于对梯度变化做了一定的裁剪。也相当于不让后门模型偏离太远的全局模型。这里攻击者选择一个δ,让模型参数投影到上一轮全局模型上,相当于对上一轮参数做投影梯度下降。
- PGD Attack with replacement
- PGB结合模型替换攻击,就是利用投影梯度下降之后的模型,进行大比例缩放,抵消其他政策模型的贡献。将包含W - W 的后门特征进行放大,从而植入后门。
- 虽然目前讨论的都是有目标的后门攻击,但是扩展到无目标后门攻击也是可行的。

i
- 后门防御引起的公平性问题
- 针对edge-case backdoor的严格防御措施,像文献12中研究的一样,会引起不公平性,即良性的更新也会被排除在外。
Experiment
- 实验用了五个小实验来分析后门攻击
-
- 构建每个实验中的Dedge数据集:
- 1:将带有西南航空的飞机标记为卡车;2:将数字7标签改为1;3:收集穿着某些民族服装的人的图像,并将其标记为完全无关的标签;4:收集了包含希腊电影导演约戈斯·兰提莫斯(Yorgos Lanthimos)名字的推文,以及积极的情绪评论,并将其标记为“负面”;5:构建包含城市雅典的各种提示语,并选择一个目标词,使句子变成否定的
- 上述Dedge来自分布数据中,因为原始数据集中没有这些数据,所以可以当作边缘数据集,比较CIFAR-10中没有西南航空的飞机图像
- 攻击者的参与模式:主要有两种模式,一是固定频率参加攻击;二是每一轮随机抽取攻击者进行攻击。

- 实验结果:
- 这里考虑了五种防御技术
- 范数差异裁剪,就是让更新的模型与上一轮全局模型差异别太大
- KRUM聚合,选取和所有模型更新差异不大的更新(KRUM and Multi-KRum)
- RFA:通过使用平滑的Weiszfeld算法计算加权几何中值来聚集局部模型
- 差分隐私DP
- 通过数据混合(Dedge和D的混合)进行fine-tuning,改变训练集D'中来自Dedge和自然数据集中的比例
- 边缘案例攻击和非边缘攻击对比,攻击者训练数据中来自Dedge的越多,攻击效果越好,对半分的时候效果就挺好了
-
- 各种防御技术下边缘案例攻击的有效性,有明显的效果的是KRUM对任务一黑盒模型的防御。
-
- 各种攻击频率下的边缘案例攻击。攻击频率较低或者攻击池中恶意攻击者比例较小的情况下,攻击会比较慢,但只有轮次够长,效果也会不错
- 对不同容量模型的攻击效果
-
- 模型越复杂,后门注入越容易





=
- Code
-
DBA: Distributed Backdoor Attacks against Federated Learning
Summary
- 之前关于FL的后门攻击都是集中式的,就是一个恶意client注入所有的后门特征,而本文利用FL的分布式特性,将后面特征分为k部分,每个恶意的client只有一部分后面特征,所有恶意client合起来是完整的后门特征。本文就是实施了这样一种攻击,并与集中式攻击在4个数据集上进行了测试,发现DBA比集中式有更好的攻击成功率和持久性。因为是每个client有部分后门特征,所以相比集中式攻击异常不是特别明显,更具有隐藏性。
- 讨论了后门触发器的size,gap,location等因素对攻击的影响。
Method
General Framework
-

- 这里构建的都是在数据中加入一些标志啥的 ,但是如果要把红色汽车识别为鸟,要怎么构建分布式后门特征?
- 后门攻击旨在误导经过训练的模型,以预测嵌入攻击者选择模式(即触发器)的任何输入数据上的目标标签τ。是同时在主要任务和后门任务上都有较好的训练结果,而不是影响模型的可用性。
- 转换为公式就是下面的:
- Spoii是毒化的数据,下标为cln的为正常的数据,未进行毒化。后门数据和正常数据没有交集,并且训练只用这两种数据集。
- 函数R将正常数据转换为所用的后门数据。参数φ代表触发器类型,φ = {TS, TG, TL},具体参数有Size,Gap,Location


DBA
- 在DBA攻击中,有M个攻击者,各有一个特征,每个攻击者在本地模型进行后门攻击。上面那个公式可以转换为:
- 多了两个参数,分别代表毒化率和攻击间隔轮次。

Experiment
Setup
- 基于四个分类数据集进行实验,数据为non-iid分布。
- 实验中数据集的描述和一些参数的信息

DBA和之前的集中式攻击
- Attack-M:多轮攻击,而且对于DBA攻击来说,一轮的一是所有分布式后门攻击都进行才算一轮,比如有四个特征,四个client,这里的一轮是4个client都进行了更新才算。
- Attack-S:DBA和集中式攻击在同一轮中完成了一个完整的后门。以MNIST为例,DBA攻击者分别在第12、14、16、18轮中嵌入其本地触发器,用于本地触发器1至4,而集中式攻击者在第18轮中植入其全局触发器。单轮和多轮都是一轮选择10个参与者进行更新。
- 作者对上述两个攻击方式的分析角度不同,攻击A-M研究后门成功注入的容易程度,而攻击A-S研究后门效应减弱的速度。

- 图四中的确DBA分布式的后门注入更有效,而且MNIST区别更明显。而且还发现全局触发器的攻击成功率高于任何本地触发器。DBA更快收敛,而且更持久
DBA的鲁棒性
- RFA(Pillutla et al.,2019)和FoolsGold(Fung et al.,2018)是最近提出的两种基于距离或相似性度量的稳健FL聚合算法,RFA聚合用于更新的模型参数,并通过用近似几何中值替换聚合步骤中的加权算术平均值而对异常值表现出鲁棒性。
- 此外,由于缩放操作更容易检测到攻击A-S(Pillutla等人,2019),我们将重点评估DBA和集中后门攻击在攻击A-M设置下对RFA和FoolsGold的攻击效果。
- DBA攻击者提交的恶意更新在所有数据集中的距离都比集中式攻击者的更新要短,这有助于他们更好地绕过防御

对触发器影响因素的分析
- Scale
- 扩大scale会增加后门特征的比例,增加攻击成功率。
- 模型越复杂,随着缩放增大,准确率相应减少。因为模型越复杂,缩放越大会忽视越多的其他特征。
- 更大规模的因子缓解了中央服务器对 DBA 的平均影响,这导致了更有影响力和更强的攻击性能,但也导致了全局模型在三个图像数据集的攻击轮次中下降的主要准确性。此外,使用大规模因子会导致异常更新与其他良性更新太不同,并且很容易根据参数的大小进行检测。因此,在选择比例因子方面存在权衡。
- Location
- TRIGGER位置从左上角到中心再到右下角。经过实验可以看出触发器越往中心位置,攻击越不容易成功,而且越不持久。因为一般中心位置是整个图像的主体,主要特征容易掩盖后门特征。
- Gap
- 当局部触发器距离较大的时候,后面攻击成功率比较低,可能是局部卷积操作和局部触发器之间的大距离引起的,因此全局模型无法识别全局触发器。正如10中a图当gap是中间值的时候有个下降,然后有个回升,这是因为上个因素location位于中心附近了。
- 当使用0间隔触发器的时候,后门会遗忘的更快,可能是0间隔后就像一个大的触发器了,关于size后面会提到
- Size
- 触发器的大小,较大的触发器会有较高的成功率,但是一定大的,成功率增加的就几乎不明显了。
- 太小的触发器size会让成功率大幅减小。
- Interval
- 对于LOAN和MNIST来说。后门攻击最好等全局模型一定收敛再进行。对于后两个数据集,round从1-50就比较不错,而且差别不大。
- Poison ratio
- 过大的毒比意味着攻击者放大了低精度局部模型的权重,这导致了主要任务中全局模型的失败。
Code of the paper
AI-secure/DBA: DBA: Distributed Backdoor Attacks against Federated Learning (ICLR 2020) (github.com)
How To Backdoor Federated Learning
Summary
- 针对联邦学习的场景,提出了模型替换的针对模型中毒的后门攻击。主要是在含有后门数据的数据集中训练后门模型,然后用大权重让后门模型在server聚合的时候有更多机会保留,从而在不影响主要任务的前提下。
- 通过实验进行了验证,针对比较简单CIFAR-10图像分类和单词预测,表现都比较好。而且只进行一轮攻击,后门模型也可以较好的保存(相较于之前),实验发现在训练后期进行后门注入的模型持续轮次越多。
Method
- 攻击背景
- FL会因为保护client的隐私而不会过多知道client的信息,这也就让恶意的client有比较大的操作空间。
- 恶意的client可以控制本地用于训练的数据和lr,epoch等,还可以对上传的更新模型进行一系列操作。
- 攻击目标
- 本文的攻击方法目的在全局模型在主要任务上的准确度要高,同时在后门子任务上的准确率也要高。而传统的毒化攻击会改变大部分的输入空间的准确率。
- 语义后门
- 语义后门可以导致有某种的特征的输入输出特定的label。
- 对于语义图像后门,攻击者可以选择其他数据中有的特征,也可以选择只有攻击者特有的特征。
- 之前的后门攻击研究了像素模式类型,这类攻击需要修改输入图像来满足特定的像素模式完成攻击。本文提出的模型替换可以引入语义后门和像素模式后门,但是本文主要研究攻击危害更大的基于语义的后门。
- 构建攻击模型
- Naive approach
- 比较简单的方法就是在后门数据上训练模型,训练的时候应该包括后门数据和正常的数据。这种方法直接将更新应用于全局模型,引入后门。
- 这种简单的方法不适合联合学习。聚合抵消了后门模型的大部分贡献,联合模型很快就忘记了后门。攻击者需要经常选择,即使这样中毒也非常缓慢。在我们的实验中,我们使用简单的方法作为基线。
- 模型替换
-
-
- 其中L是攻击者提交的模型更新
- 这里的X在恶意client端训练开始前初始化为下发的全局模型Gt,然后如算法2,对X在后门数据集上进行训练后再通过上面的式子产生本地端更新模型。
- γ = $\frac{n}{\mu}$,不能确定这个缩放因子的可以每轮逐渐增大。并根据本地t+1模型在后门任务的精度来判断缩放因子。
- 提高一轮攻击的持久性和避免server对模型的异常检测
- 将模型异常检测纳入损失函数,奖励准确性高的模型,惩罚偏离server任务“异常”的模型
-


t + 1


Experiment
ImageClassify
- 100个client,每次选10个,模型使用Resnet18。数据分割成non-IID .
- 我们选择了三个特征作为后门:绿色汽车、带有赛车条纹的汽车和背景中带有垂直条纹墙的汽车。

- 训练的时候攻击者就要包含后门数据和普通数据,这样可以保证在主要任务上的准确性。
参与者的训练数据非常多样,后门图像仅代表一小部分,因此引入后门对联合模型的主要任务准确性几乎没有影响。
- 这里的恶意模型数据集是640张正常的图像,加上上面每个特征的后门图像拿出了3张验证之后所有的用于训练。
- 实验结果
-
- 可以看出单轮攻击后会出现后门准确值的衰减。
- 这里后门攻击效果,条纹墙要好于绿色车,可能是因为绿色车更贴近良性数据。
- 而右图是多个client,相当于会重复攻击,实验中有10个左右client就可以达到不错的效果。
-
- 这个实验是针对在多少轮进行攻击的效果,可以看出越往后模型接近收敛的时候实施攻击,可以保留的轮次越多,效果越好。

在单词预测中一些不常见的单词组会与driving Jeep也容易被遗忘。

Word-prediction
-

- 和图像分类一样,不同的后门效果有所不同,什么贝叶斯属于中,预测词属于比较流行或者不流行的两个极端相比需要更少的更新范数。
- 实验中,较小的γ会让主要任务有比较高的准确率,而且较大的γ不会对全局模型准确性有较大的损失,所以攻击者选取γ的余地挺多。
Defence
- 对模型进行加密聚合,虽然保护了模型的机密性,但是也让对模型的异常检测变得困难。
- 拜占庭式容忍聚合机制可以减轻后门攻击,代价是丢弃许多良性参与者的模型更新,即使在没有攻击的情况下,也会显著降低生成的模型的准确性,并侵犯训练数据的隐私。
- 参与者级别的差异隐私可以降低后门攻击的有效性,但只能以降低模型在主要任务上的性能为代价。
Related WORK
- 之前针对机器学习的攻击主要利用数据中毒或者直接插入后门组成改变模型。但是对于有大量client的FL来说,没有攻击效果,大量好的模型会抵消中毒特征。
- 传统的防御就是剪枝或者检查数据的异常值,过滤什么的,但是需要检查者获取数据或者真实的模型,所以不能用于FL。
- 安全多方计算无法保护模型完整性,就是可以保护模型不被外人得到,但是无法保护模型有问题。安全聚合也能保护机密性,但是对于模型中毒也无法方法,反而使其难以检测。
- 还将了defence中关于拜占庭容错分布式学习和参与者级别差分隐私的一些内容。
Communication-Efficient Learning of Deep Networks from Decentralized Data
international conference on artificial intelligence and statistics
Summary
- 当前机器学习模型训练中存在着数据隐私保护问题,所以作者提出了FL概念。通过分布式+隐私保护进行训练模型。对不平衡、non-IID的数据也更合适。
- 主要提出了FedSGD和FedAvg算法。FedAvg通信代价要小于FedSGD
- 实验中使用了MNIST数字识别和语言模型,通过改变E和B(client本地训练的轮次、每次训练小批量数据的size)来探究最优的E和B,而且在non-IID和IID两种数据中都进行了相关实验。
Problem and Background
- 目前我们拥有的一些设备(手机、PC)具有一定的算力,也可以接触到大量的包含个人隐私的数据。而且这些数据相较于传统的分布式学习是unbalanced and non-IID。每个client的数据肯定是不同规模,不同倾向的。
- 所以我们希望提出一种模型训练的方法,可以在不同的设备上利用本地隐私数据进行模型训练。
Contributions
- 提出Federal Learning这一概念。可用于人工智能隐私保护和安全多方计算。
- FedAvg算法有一定的实用性,用于unbalanced and non-IID dataset,可以用较少的通信轮次获取不错的训练模型。
Method
- FedSGD and FedAvg
- C-fraction of clients on each round
- E-本地客户端训练local data的次数
- B-训练时本地数据小批量的大小,就是每次训练用多少数据。当B无穷大就代表每次训练本地的所有数据都要用。
- 当B无穷大,E为1的时候,就是用所有数据每轮训练一次,那就是FedSGD Algorithm。
-
- fedsgd:client发送给server的是g(梯度)
- fedavg:client直接用g求出要更新的ω发送给server。

- algorithm 1 FedAvg
-
- 其中服务器平均更新的权重是每个client的数据集占总的数据集的比重。(但是这里有client谎报自己的数据集怎么办,让自己用比较少的dataset占大的比重)

Experimental
- MNIST digit recognition
- MNIST 2NN
- 具有2个隐藏层的多层感知器,每个层使用****ReLu 激活 200 个单元(总计 199,210 个参数)
- CNN
- CNN有两个5x5卷积层(第一个有32个通道,第二个有64个,每个都有2x2个最大池化),一个有512个单元和****ReLu 激活的完全连接层,以及一个最终的 Softmax 输出层(总参数为 1,663,370)。
- 两种数据分发方式:IID and non-IID
- IID Each client随机获得600样例。
- non-IID 将用例按数字先分好类,再分成300size的200份。最后每个client只有两个数字的样例。
- Language Modeling
- dataset:莎士比亚作品集
- 为作品集中所有说话的角色建立一个client,共1146个。将每个client的数据集八二分,80用于训练,20用于测试。与MNIST数据集不同的是这个每个client的数据是不平衡的,就是训练可用数据多少不同。
- 该模型将一系列字符作为输入,并将每个字符嵌入到学习的 8 维空间中。然后通过 2 个 LSTM 层处理嵌入的字符,每个层有 256 个节点。最后,第二个 LSTM 层的输出被发送到 softmax 输出层,每个字符一个节点。完整模型有 866,578 个参数,我们使用 80 个字符的展开长度进行训练。
- Result
- 论文中讲解了相关实验的结果,主要研究了当B和E变化时对实验的影响,当B为10,E为5的时候效果比较好,因为B正无穷,E为1的时候就成立FedSGD。
Related Knowledge
- SGD
- 利用梯度觉得接下来迭代的方向,使代价函数越来越小。
- SGD为随机梯度下降法。用数学式可以将 SGD 写成如下的式(6.1)。
import matplotlib.pyplot as plt #一元四次函数 f(x) = x^4 - 3x^3+2 xold = 0 xnew = 6 #误差 eps = 0.00002 #步长,学习率 alpha = 0.01 #function x = [] y = [] plt.title="TrendofSGD" plt.xlabel('x') plt.ylabel('y') def f(x): return x ** 4 - 3 * x ** 3 + 2 def f_prime(x):#倒数 return 4 * x ** 3 - 9 * x ** 2 while abs(f(xold)-f(xnew)) > eps: xold = xnew xnew = xold - alpha * f_prime(xold) x.append(xnew) y.append(f(xnew)) plt.scatter(xnew,f(xnew)) plt.pause(0.2) plt.plot(x,y) plt.show() print(x) print("Result:",xnew,f(xnew))

这里把需要更新的权重参数记为W,把损失函数关于W的梯度记为 ∂L/∂W 。η ηη 表示学习率,实际上会取 0.01 或 0.001 这些事先决定好的值。式子中的←表示用右边的值更新左边的值。 ———————————————— 版权声明:本文为CSDN博主「赵孝正」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_46713695/article/details/123198293
- ReLu activation
- 原来ReLU这么好用!一文带你深度了解ReLU激活函数! - 知乎 (zhihu.com)
- 考虑输入输出及数据变化来选择用什么激活函数
Federated Optimization in Heterogeneous Networks
- MLSys(机器学习系统会议)、Tian Li(cmu)
- 异构网络中的联邦优化
Summary
Method
FedAvg(谷歌)
-

FedProx(本文)

- FedProx多的参数为μ,γ,w0,但是少的是local epoch E。
-
Experiment
Related Work
FedAvg
- FedAvg是一种基于原始数据的平均局部随机梯度下降进行更新的方法。
- 但是因为异构性,它在现实中使用有一定的挑战。
- 最近也有工作在非FL环境中分析FedAvg,比如在IID数据中进行FedAvg的更新,但其结果依赖于同一迭代中相同的求解器(比如都是SGD)这一假设。
统计异构
- 都有一定的假设限制,而且有的方法无法解决非凸问题。
系统异构
- 设备网络、存储、通信能力、计算能力都不同,这就是系统异构。
- 如果简单放弃某些“掉队者”,则会影响收敛,也有有一定的数据偏差。
FedProc
- 在异构环境中可用,同时保持FedAvg原有的隐私和计算优势
- 分析了方法的收敛性
- 对统计异构的处理方法,受到求解线性方程组的随机化Kaczmarz方法的启发,该方法的类似假设已被用于分析其他情况下的SGD变种;
- 所提框架在异构联邦网络中有更好的鲁棒性和稳定性。
Untitled