论文概述,实验总结

一、 Byzantine-robust Federated Learning via Trust Bootstrapping

这篇论文是关于联邦学习的,文中提出了一种聚合客户端参数的方式,来提升联邦学习的安全性。
联邦学习中存在多种聚合参数的方式:

  1. FedAvg:最基本的模型平均方法。直接取多个客户端传递上来的梯度或者是参数的平均值来处理成全局模型
  2. Byzantine-robust Aggregation Rules,也就是一系列提升模型鲁棒性的方法

文中假设server中存在少量干净的数据,用来验证。(文章中的假设是所有客户端和服务器的数据都服从相同的分布)
文章的思想很简单,异常的梯度和正常的梯度会有较大的角度偏差。

FLTrust的步骤

  1. 服务器发送当前的全局模型 w \bold w w给clients
  2. 每一个client在全局模型的基础上训练本地模型,同时服务器也使用其本地存在在少量干净数据去训练 w \bold w w
  3. 服务器接收每个客户端发送过来的全局模型更新值 g i \bold g_i gi,然后根据聚合规则训练出 g \bold g g,然后对全局模型进行更新 w = w − α ∗ g w = w - α*g w=wαg α α α是学习率。

一张图解释整篇文章:
在这里插入图片描述

ReLU-clipped cosine similarity based trust score

在图中, g 0 g_0 g0表示 server 端 利用 global model 对 root dataset 计算得到的梯度,其中 g i g_i gi代表当前模型参数和全局模型参数的不同,也就是 g i = w i − w g_i = w_i − w gi=wiw,其中 w w w就是当前全局参数, w i w_i wi就代表第i个客户端的参数, w 0 w_0 w0代表server。relu函数会直接过滤掉 θ \theta θ大于180度的异常参数。
这样一来,和 root 梯度 角度越接近的梯度在聚合时会得到更大的权重,角度相差太大的梯度可能根本不会参与梯度聚合。
攻击者可以操纵恶意客户端的本地模型更新的方向,从而将全局模型更新驱动到攻击者想要的任意方向。没有信任的对照反向,服务器很难决定哪个方向更有望更新全局模型。在FLTrust中,信任反向来自服务器模型更新的方向。特别是,如果本地模型更新的方向与服务器模型更新的方向更相似,那么本地模型更新的方向可能更有望。

Normalizing the magnitudes of local model updates

通过上面的方法,我们可以得到每个client参数更新的权值,但是还有一个问题,攻击者还可以将恶意客户端上的本地模型更新的幅度放大,这时候虽然它可能有很小的更新幅度,但是因为scale很大,导致对全局模型的影响很大。

文中对每个本地模型更新的大小进行归一化处理。对每个本地模型更新进行标准化,使其具有与服务器模型更新相同的量级。
g i ˉ = ∣ ∣ g 0 ∣ ∣ ∣ ∣ g i ∣ ∣ ∗ g i \bar{g_i} = \frac{||g_0||}{||g_i||}*g_i giˉ=gig0gi

二、实验总结

下面所有的实验使用的模型都是两层全连接的神经网络,使用的数据集是mnist手写数字。在没有特殊说明的情况下,各个客户端拥有的数据集是独立同分布的。
客户端每次训练使用当前客户端拥有的全部数据进行训练,epochs设置为1。训练结束之后将 W c i − W g i − 1 W_c^i-W_g^{i-1} WciWgi1传递给服务器,其中 W c i W_c^i Wci代表第i轮训练后客户端的权重参数, W g i − 1 W_g^{i-1} Wgi1代表第i-1轮训练后全局权重参数。简单来说就是传递了训练前后模型参数变化量。

实验一、无攻击情况下FLTrust的与FedAvg的对比

在这里插入图片描述

实验二、客户端数据非独立同分布的情况下测试FLTrust和FedAvg算法

制造一种极端情况,mnist数据集有10种类别的数据,实验中创建10个客户端,每个客户端只拥有其中一类数据。

在这里插入图片描述
可以看到,在这种情况下,fltrust的训练过程变的很不稳定,且训练的很慢。

实验三、使用krum_attack来攻击FLTrust和FedAvg

在这里插入图片描述
Krum_attack是一个针对Krum聚合算法的攻击方式

实验四、自己尝试的一种方法

尝试使用基于密度峰值的快速聚类算法(CFSFDP)来对clients传递过来的模型参数变化量 W i W_i Wi进行聚类,将CFSFDP算法中的截断距离设置为所有客户端的 W i W_i Wi之间的距离的均值,然后提取出中心聚类中心,然后只保留聚类中心点的 W i W_i Wi,将他们取均值然后来更新全局模型。

CFSFDP参考:https://www.jianshu.com/p/db5fe88ea065?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值