论文简介
- 论文名称:Ditto: Fair and Robust Federated Learning Through Personalization
- 作者:Tian Li,卡耐基梅隆大学
- 论文链接:https://arxiv.org/abs/2012.04221
- 论文来源:ICML 2021
个性化联邦
FL有三大约束:Fairness、Robustness、privacy。
Fairness:由于各客户端的数据异构性,模型的性能可能会在不同的设备在不同设备上可能会有很大的差异。因此公平性将节点测试损失的标准差作为衡量公平性的标准。
Robustness:模型在训练过程中抵御攻击的能力,具体指拜占庭鲁棒性,即恶意节点可以给服务器发送任意更新来破坏训练阶段。常见的3类训练阶段攻击:
- A1,标签中毒,通过翻转训练样本(对于二进制)或给标签加上均匀随机噪声来毒害训练样本。
- A2,随机更新:恶意节点发送zero-mean高斯参数。
- A3,模型替换:恶意设备扩展敌对更新,使得恶意节点主宰聚合更新。
目前注重Fairness的方法会使联邦学习系统易受恶意设备的训练阶段攻击;Robustness可能会过滤出罕见但信息量大的更新参数,从而导致不公平现象。因此这篇论文旨在同时提升联邦学习的公平性和鲁棒性。
Ditto算法的优化

以FedAvg为例,他的全局目标就是把所有本地模型的loss加权平均。即:$\sum^K_{k=1} p_k F_k (w)$。但由于每个设备上的数据可能服从不同分布$D_k$,即:$F_k(w) := \mathbb{E}{x_k~D_k}[f_k(w;x_k)]$。
Ditto添加了一个正则,使个性化模型接近全局优化模型,每个设备$k$产生的优化问题变为:

$\lambda=0$的时候,Ditto训练本地模型,当$\lambda$趋向于无穷的时候,算法就变成了全局模型的优化。
Ditto算法如下:

粉框部分是算法的创新部分。本地模型在更新的时候,在原方法的基础上加了一个正则。这个正则不影响全局模型的更新,只影响本地模型的个性化程度。
Ditto套用到FedAvg的算法框图如下:

只改变本地模型迭代,并不影响全局的聚合。
Ditto的方法比较简单,效果也不错,通过给本地模型加正则,来摆脱对全局模型的依赖。
公平性和鲁棒性
假设设备间的数据是同构的,在没有对手(模型污染)的情况下,学习单个全局模型最有助于泛化。但当有对手(模型污染)的时候,使用全局模型反而会引入干扰。而由于样本量有限,学习本地模型可能没法很好的泛化。Ditto通过控制$\lambda$来对个性化模型和全局优化进行了trade-off,$\lambda$越小,本地的个性化模型$v_k$离被干扰的全局模型越远,此时鲁棒性提升,但泛化能力可能较弱。
假设设备间是异构的,此时就需要考虑公平性了。引入$\lambda$可以同时提升鲁棒性和公平性。
$\lambda$选取方式
假设server不知道client是善意的还是恶意的,每个client根据自己的验证数据,从3个候选集中选取:
$\lambda$在每个client上都是不一样的,因为server也不知道clients哪些是善意的哪些是恶意的。对于善意的client,可以根据他们自身干净的验证信号来选取$\lambda$。对于恶意设备,
对于两项结点,可以从干净的验证数据中得到的值来选取$\lambda$。对于恶意节点有如下规则:
- 对于本地验证数据的样本数少于4的client,若为强攻击,ze$\lambda=0.1$,若为弱攻击,则$\lambda=1$。
- 对于本地验证数据的样本数少于4的client,若为强攻击,则从${0.05, 0.1, 0.2}$中动态调整;若为弱攻击,则从${0.1, 1, 2}$中动态调整。
论文的附录里列举了一整个表来说明算法在遭受不同攻击时的优劣程度。
实验结果
Robustness评价指标:test accuracy(benign devices)
Fairness评价指标:test accuracy variance(benign devices)
数据集:Vehicle,FEMNIST,CclebA,Fashion MNIST,StackOverflow,FeMNIST(skewed)。

Robustness

Ditto在Fashion上的效果非常显著,在3种攻击下的表现都很稳定。在FEMNIST上,虽然没有Fashion上那么显著,但测试精度依然是最高的。
Fairness
作者拿TERM作为baseline进行比较。作者在global,local,fair三个维度对比了精度和标准差,当攻击较强时,global和local已经完全分家了,但Ditto的表现依然还不错。

Comments | NOTHING