How to Backdoor Federated Learning

bid000 于 2022-05-15 发布
论文英文名字 How to Backdoor Federated Learning
论文中文名字 如何后门联邦学习
作者 Eugene Bagdasaryan, Andreas Veit, Yiqing Hua, Deborah Estrin, Vitaly Shmatikov
来源 23rd AISTATS 2020: Online [Palermo, Sicily, Italy] [CCF 人工智能 C 类会议]
年份 2020 年 8 月
作者动机 联邦学习本质上是易受模型中毒攻击的,这是一种本文提出的新的攻击方法。联邦学习给了所有的参与者对最终模型的直接影响能力,因此这个攻击比只针对数据集的投毒攻击更厉害。
阅读动机 第一篇讲述联邦学习中后门攻击的论文
创新点 提出基于模型替换的联邦学习后门攻击方法

内容总结

为什么会受到模型中毒攻击

联邦学习通常容易受到后门和其他模型中毒攻击影响的主要原因:

  1. 当有数百万参与者进行训练时,不可能确保他们都不是恶意的。
  2. 联邦学习的一个假设就是参与者的数据分布是 Non-IID 的,并且为了聚合的安全性,会引入安全聚合,这样就很难进行异常检测了。
  3. 现代深度学习模型的巨大容量。 模型质量的传统指标衡量是模型对主要任务的学习程度,而不是它学到的其他内容。 这种额外的容量可用于引入隐蔽后门,而不会对模型的准确性产生重大影响。

联邦学习

联邦学习可以从数以万计设备上学习一个聚合的模型,用户数量 n 是非常大的。在第 t 轮,服务端选取 m 个用户组成一个集合 $S_m$,然后把当前的联合模型 $G^t$ 发给他们。在这个过程中 m 的选择需要权衡效率和训练速度。然后被选中的用户基于 $G^t$ 模型使用算法 1 对本地数据进行训练得到本地模型 $L^{t+1}$,并且把差值 $L^{t+1}-G^t$ 返回给服务器。然后更新完新的模型就是:

联邦学习全局模型更新

算法1

全局学习率 $\eta$ 控制着模型更新的比例,当 $\eta= \frac{n}{m}$ 时候,新的模型就是这 m 个用户模型的平均值了。

怎么进行后门攻击实验

攻击者希望联邦学习产生一个联合模型,该模型在其主要任务和攻击者选择的后门子任务上均达到高精度,并在攻击后的多轮后门子任务上保持高精度。

攻击概述

攻击者会折衷一个或多个参与者,使用我们的新约束和规模技术在后门数据上训练模型,然后提交结果模型。 联邦平均后,全局模型将替换为攻击者的后门模型。

从图中我们也可以很直观的看见由服务器下发全局模型 $G^t$ 到各个用户,其中分为良性用户和恶意用户。良性用户根据自己私有数据进行本地训练模型即 $L_a^{t+1}$,恶意用户则训练出恶意模型 $\tilde{L_m}^{t+1}$,两者通过联邦平均得到攻击者后门模型。

朴素方法:攻击者可以基于后门的数据训练本地模型,根据论文 [Gu 2017],每个 batch 应当同时包含正常数据和后门数据,以帮助模型学习识别二者的区别。同时,攻击者可以修改本地的学习率和 epochs,这样使得模型可以很好地过拟合。

模型替换:在这种方法下,攻击者试图直接把全局更新的模型 $G^{t+1}$ 替代为想要的模型 X,如下面的公式所示:

公式2

由于训练数据是 Non-IID 的,每个本地模型实际上都离 $G^t$ 很遥远,不妨假设这个攻击者就是第 m 个用户,那么就是有:

公式3

当全局模型开始收敛时,差不多会有:$\sum_{i=1}^{m-1}(L_i^{t+1}-G^t) \approx 0$,也就是说 $L_m^{t+1}$ 和最终模型之间大概就是上图的最后结果。

攻击者需要按比例 $\gamma=\frac{n}{\eta}$ 放大自己的权重使得在 model averaging 阶段,后门可以保留,并且模型被 X 所替代,这在 FL 的每一轮中都有效,尤其在模型快要收敛的时候更加有效

估计全局参数:假如攻击者不知道 n 和 $\eta$ ,他可以估计一个比例 $\gamma$,通过逐次慢慢增大 $\gamma$ 的方式来达到后门攻击。虽然这样子不能完全替代最终的模型为 X,但是可以在后门数据上达到高准确性。

约束和缩放:该方法使攻击者能够生成在主要任务和后门任务上都具有高精度的模型,但不会被聚合器的异常检测器拒绝。 直观地说,我们通过使用一个目标函数将异常检测的规避纳入训练中,该目标函数 (1) 奖励模型的准确性,(2) 惩罚偏离聚合器认为“正常”的模型。 根据 Kerckhoffs 原理,我们假设攻击者知道异常检测算法。

算法2

算法 2 显示了 constrain-and-scale 方法,这个 loss 添加了一个额外项 $\mathcal L_{ano}$$$\mathcal L_{model} = \alpha \mathcal L_{class} + (1-\alpha) \mathcal L_{ano}$$ 因为攻击者的数据包含正常数据和后门数据,$\mathcal{L}{\operatorname{class}}$ 标识正常数据和后门数据上的准确性,然后 $\mathcal{L}{\operatorname{ano}}$ 标识任意类型异常检测,例如权重矩阵之间的 p-norm 距离或更高级的权重可塑性惩罚超参数。

实验

采用 CIFAR-10 数据集和轻量级的 ResNet18 CNN 模型,假定攻击者想要联合模型对汽车进行分类,同时对含有某一类特征的汽车的需要注入后门使得模型分类错误,对于其他汽车分类正确。

CIFAR后门

采用了 Reddit 数据集和 2 层 LSTM 模型,攻击者想要当某个句子以特定单词开头时,预测给定的单词。如下图所示:

单词预测后门

这种语义攻击不需要在推理阶段对输入进行修正。即使一个推荐的单词就很可能改变某些用户对某些事情的看法。为了训练模型,训练数据被串成 T_{seq}=64 的长度,每个batch包含20个这样的句子。loss的计算过程如图3(a)所示。

单词预测后门的模型损失

攻击者的目标是当输入是触发句的时候输出给定单词,如图 3(b) 所示。为了为后门提供不同的上下文,从而提供模型的健壮性,作者保持批处理中的每个序列不变,但将其后缀替换为以所选单词结尾的触发语句。实际上,攻击者教导当前的全局模型 $G^t$ 预测触发语句中的这个单词,而不做任何其他更改。结果模型类似于 $G^t$,它有助于在主要任务上保持良好的准确性,从而跳过异常检测。

所有的实验用了100轮的FL,如果某一轮选择了多个攻击者,那么他们会把这些数据添加到一个后门模型中。然后 baseline 也在前面讲过了。

实验结果1

单次攻击:图 4(a) 和图 4(c) 表示了单次攻击的实验结果,这个攻击大概意思就是说单一轮次只有一个单一的攻击者,并且旨在前5轮迭代中有攻击行为。当攻击者把梯度发过去之后,后门任务的准确度将会是 100%,然后随着迭代的进行,后门任务的准确率会下降,主任务的准确率将不会受到影响。与之对比,传统方法下的攻击方法无法注入后门。

有些后门就会比其他后门更容易注入,比如“有条纹的墙”这个后门就比“绿色的车”效果更好。作者猜测这是因为绿色的车和正常的良好数据的分布会更接近,因此很容易在迭代的过程中被覆盖。同样对于单词预测也有类似的情况。

多次攻击:如果攻击者控制了多个用户那么就有更多的攻击方法了,图4(b) 和图4(d) 展示了随着受控制用户比例对注入的影响。给定比例下,本文所提出的方法会比baseline方法具备更高的后门注入准确率。

总结

本文提出了一种新的联邦学习攻击模型,并且可以注入语义信息从而不容易被发现模型被注入了后门。

适用于任何一轮的联邦学习,但在全局模型接近收敛时更有效。

优点&效果

不足&局限性

其他

  1. 联邦学习明确假设参与者的本地训练数据集相对较小并且来自不同的分布。因此,局部模型倾向于过度拟合,偏离联合全局模型,并且精度低。