个人阅读笔记,如有错误欢迎指出
arXiv 2020 [2011.07429] Dynamic backdoor attacks against federated learning (arxiv.org)
问题:
目前现有的研究主要集中在静态后门攻击上,即注入的毒模式不变,然而,FL是一个在线学习框架,并且对抗性目标可以由攻击者动态改变,传统算法需要从头开始学习一个新的目标任务,这可能在计算上很耗时,并且需要大量的对抗性训练示例。
创新:
将元学习与后门攻击联系起来
为恶意攻击者提出了一种新的训练架构,称为共生网络,这种策略可以使后门攻击相对于对抗性后门攻击更持久。
方法:
恶意客户端的共生网络
原因:在动态后门攻击设置下,攻击者注入与以前的数据分布完全不同的新训练样本,用全局模型代替局部模型可能会降低模型性能。
参数
代表在主任务以及目标任务上的准确率
计算本地模型与全局模型的距离,实现隐蔽性
为平衡
以及
的一个因子
恶意客户端目标函数修改如下:
以往的平衡因子是手动设置的,不灵活,很容易偏离或停留在局部最优点。这篇采用全局模型在后门数据上的准确度来决定,动态权衡优化后门效果和隐蔽性。
动态后门攻击
目的:利用之前的经验快速适应新的任务,取得一个初始化参数,使得模型快速收敛。如下图,(a)显示正常FL需要从头开始学习新任务,并采取许多SGD步骤来收敛;(b)利用了以前的经验,使得初始模型参数
更接近每个任务的最佳参数
, 只有几个SGD步骤可以保证收敛
方法:全局模型需要学习一个广泛适用于所有任务而不是单个任务的内部特征。通过最小化采样任务的总损失来实现这一目标:
其中,为使得模拟在主任务以及目标后门任务达到最高准确率的参数,通过以下方程求出:
上述优化存在二阶导数难以求解。为求解上述目标参数,目标是学习一个广泛适用于所有任务的内部特征,即全局模型参数需要接近每个任务的最优参数,使用欧氏距离作为距离度量得到以下方程:
利用元学习Reptile的思路进一步求解,通过这个方法也可以将二阶导数转换为了一阶导,公式如下:
其中,代表本轮任务的总数,也是更新的步长
为了使得攻击更加持久、稳健,使用了放大策略,在执行模型聚合时,恶意模型的权重将按更大的因子放大,且因子不影响梯度方向,方程得到如下修改:
算法描述:
客户端:
服务器端:
实验:
实验设置:在Episode1中,先在六个投毒客户端中训练模型,随后使用此经验数据在Episode2中进行另一个任务的投毒,加快模型收敛。
每个恶意客户端后门如下:
精度、持久性
(a)(b)(c)显示共生网络得到的p值在大多数情况下比手动设置p值在后门的准确率上较高,且随着训练轮数增加有时能够保持
(d)(e)(f)显示攻击基本上没有影响主任务上的准确性
收敛速度
在 episode 1中为恶意客户端使用了初始投毒,将新的嵌入文本“KDD”注入到客户端的本地图像中𝐶1,并在 episode 2中使用它作为我们新的中毒数据集。
以联邦平均为标准,基于元学习的方法在几轮后优于联邦学习并且达到相同的效果需要更少的轮数
总结
优点:
将元学习的概念引入到服务器端的采样,将优化二阶导数的目标转化成了一阶导
在攻击效果和隐蔽性之间做了动态的权衡
局限性:
同时改变了客户端和服务器的训练策略,对攻击方的要求较高
只是全局和恶意之间距离做了约束而非相似度,没有很好的解决联邦学习里的遗忘问题
实验部分不够充分,没有在sota评估在防御上的效果
计算全局和恶意之间的欧式距离相当于也是对梯度的角度做了约束,可能不能很好的攻击基于统计的防御方法