文献阅读--Abnormal Client Behavior Detection in Federated Learning

本文讲述了如何在联邦学习环境中通过检测恶意客户端的一些异常行为,来抵御例如投毒攻击这样损害中心模型的攻击。
不同于之前 defense-based 的相关技术,本文提出了 detection-based,利用 anomaly detection(异常检测)技术,从各方参与者上传的本地模型参数,识别出潜在的恶意参与者,并通过异常值在 “参数聚合” 过程中控制各方参数的权重。

这篇文章 idea原理简单、技术简单,适合新手阅读。

1 技术概括

1.1 全局参数更新算法

我们都知道,在联邦学习中,可以通过FedAvg 算法聚合各方参与者的模型参数:
在这里插入图片描述
n k n_k nk 表示当前参与者的数据数量, n n n 表示所有的数据量,所以在这种情况下,参与者数据量越多,权重越大,对

但是在本文中,我们使用如下公式进行替换:
在这里插入图片描述

1.2 权重的确定

其中, α \alpha α 表示新的权重,新的权重通过如下公式进行计算:
在这里插入图片描述
在这个公式中, A A A表示异常分数。L是一个>1的参数,如果数据量分布很不平均,可以通过加大L的值(数学公式分析一下就可以知道了)。
异常分数 A A A始终大于1,通过计算 重建误差 得到:
在这里插入图片描述

1.3 异常检测算法

实现异常检测的技术有很多,本文以最简单的 autoencoder 为例。
首先,autoencoder 的训练数据是 D = { w − 1 1 , w − 1 2 , . . . , w − 1 n } D=\{w_{-1}^1,w_{-1}^2,..., w_{-1}^n\} D={w11,w12,...,w1n},这个表示上一轮中心模型聚合后的参数。为了节省计算量,本文还引入了一种 dimensionality reduction 技术,每次随机挑选部分参数进行异常检测。

在计算重构误差时,

autoencoder的输入是 各方参与者上传的模型参数 w t + 1 n w_{t+1}^n wt+1n,输出标记为 w ~ t + 1 n \widetilde{w}_{t+1}^n w t+1n

重构误差类似于 均方误差(MSE),不同的是,它计算的是模型参数的均方误差,而不是不同样本之间的均方误差
在这里插入图片描述
注:这里的 w − 1 n w_{-1}^n w1n 在计算 重构误差 时,应该为 w t + 1 n w_{t+1}^n wt+1n

1.4 异常值的处理

本文针对检测出来的异常值的处理方式,除了上述的通过 异常分数 A A A 控制 权重 α \alpha α 以外,还提出了一种效果更佳的方法:thresholding。

thresholding方法通过设定一个阈值,对于某一个参与者,若其异常分数 A A A 大于该阈值,则其对应的 更新权重 α \alpha α 记为0(相当于不参与参数更新),阈值可以是中位数也可以是平均值

2 Result

在 FEMNIST 数据集,含有3500人写的 801, 074个字迹样本。本次评估选取了20个人的字迹,联邦学习框架中每一个参与者对应一个人的字迹图像集, abnormal clients的比例设置为30%。

为了说明防御效果,我们采取了三种常见的异常行为,分别是 sign-flipping (a), additive noise (b), gradient ascent (c.) 。
这三种攻击的实现方法:
we consider three adversarial attack models, namely sign-flipping, additive noise and gradient ascent. Sign-flipping attack flips the sign of the model weight, and additive noise attack adds Gaussian noise to the model weight. In gradient ascent attack, the anomalous clients run gradient ascent locally, instead of gradient descent.

实验结果如下图
在这里插入图片描述

值得注意的是,后两种方法都是基于 idd (identically and independently distributed) 假设情况下的 defense-based 方法,但是更多情况下,每一个参与者的训练数据并非来自同一分布,因此它们的效果比较差。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

学渣渣渣渣渣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值