文献阅读:Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge

背景

        在用户异构(用户的通信、计算能力不同)的蜂窝网络中,传统的联邦学习会很低效。这是因为传统联邦学习中每轮参与模型训练的用户是随机选取的,这样如果一轮中选取的某些用户的通信、计算能力较差,那么其模型训练、上传所需的时间就更长,进而拖延本轮的模型聚合步骤,最终导致整个模型训练效率的低下。

研究内容

        论文提出了FedCS协议,将传统联邦学习的随机选取参与用户改为由用户的资源情况选择尽可能多的“优质”用户来进行模型更新。图示如下:

 FedCS协议的具体步骤:

1. Resource Request 让随机的C*100%个clients给服务器发送自己的资源信息(无线信道状态、计算能力、任务相关数据集的大小等)
2. Client Selection 服务器根据这些信息来评估模型分发、计算、上传步骤所需的时间,并选择参与本轮计算的用户
3. Distribution 通过多播来将当前全局模型发送给选中的用户们
4. Scheduled Update and Upload 用户们同时进行模型计算,然后依次上传updates
5. Aggregation 服务器聚合updates并测试模型。
重复以上步骤直到模型收敛或到deadline。

上述Step2中的Client Selection算法具体如下:

Client Selection的最大化问题:

max_S|S|

s.t.\quad T_{round}\geq T_{cs}+T_S^d+\Theta _{|S|}+T_{agg}.

设,K为所有clients组成的集合,K' \subseteq K为step1中随机选取的clients集合。S为Client Selection阶段从K'中选取的clients集合。T_S^d为服务器组播给客户集S分发模型的时间;T_{CS}T_{agg}分别为服务器Client Selection,Aggregation的时间;T_{round}为从分发模型直到聚合完成的一轮运算的总时间。t_k^{UD}t_k^{UL}分别代表用户k的模型更新和上传时间。

对上式(2)的分析:如果前i-1个用户全部更新、上传完毕,第i个用户还没有更新完,就需要等待t^{UD}_{k_i} - \Theta_{i-1},而如果第i个用户在前i-1个用户更新、上传的时间内完成更新就不需要另外等待。

\Theta_{|S|}​与S中client的顺序相关,​采用背包约束的贪婪算法来解上述最大化问题。

Client Selection算法:

上述Client Selection的算法复杂度是O(|K'||S|)

​​​​分析:由于算法是贪婪的,故应当一旦if条件不满足就退出循环,这样就一共循环|S|次。而循环中运行的arg max函数,时间复杂度为O(|K'|)。故该算法总的时间复杂度为O(|K'||S|)。 

论文提到上述优化问题的暴力破解算法的时间复杂度O(2^{|K'|}!)​​,希望知道原因的小伙伴可以赐教下,不胜感激!!

实验验证

1. 环境设置

设传输的模型大小为D_m

在设定的一系列条件下,可得客户的平均吞吐量\theta _k,则由t_k^{UL}=D_m/\theta_k计算Client Selection所用到的客户上传模型所需时间。

Distribution时间简化地由T_S^d=D_m/min_{k\in S}\{\theta_k\}定义。

设服务器的计算能力无限,则T_{cs}=0,T_{agg}=0

Client总数为1000,定义client的计算能力为每秒处理的图片数。

设置客户端的平均计算能力为10到100中的随机值,client数据集size为100~1000,E=5,B=50.
则每个client训练的轮次为size*E/B:10~100;训练一轮的时间为B/compution:5~0.5s
所有用户 t^{UD}的范围为前两个范围之乘积:5~500s

数据集:两个数据集CIFAR-10、Fasion MNIST,两种分割方式IID、Non-IID

将训练数据集分配到1000个clients的方法:
1. 为每个client从100~1000随机选择一个数作为数据集大小  2. 按IID、non-IID的方式分割数据集
IID:在整个数据集上为client随机选择已确定数量张图片
non-IID:只在随机的两个类别中,为client随机选择已确定数量张图片

由于Client Selection阶段执行算法3的需要,t_k^{UD},t_k^{UL}需要取确定的值。而在Scheduled Update and Upload阶段,考虑到实际波动,t_k^{UD},t_k^{UL}取为在以平均值和其r%为标准差的高斯分布上的·值。来使实验更切合实际。

最终以经验设置,T_{round}=3min,T_{final}=360min

2. 实验结果

与FedLim(传统的client Selection上设置T_{round},直接丢弃迟到的updates)作对比,无论是达到目标准确率所需时间还是在deadline前所达到的准确率,FedCS都优于FedLim。而不设置T_{round}的传统FL最终达到的准确率和FedCS类似。

并且实验还证实了client的吞吐量和计算能力的不确定性r%对FedCS的效果影响不大。

所设置的T_{round}的值也需要多考虑。太大则每轮参与的client增多,而聚合次数减少;太小则每轮参与的client太少,准确度降低。

 结论

本论文提出了FedCS模型,目的是在有着异构客户端的移动终端计算框架下高效运行联邦学习。
实验表明,即使数据集的选择、分割方法、吞吐量和计算能力发生变化,FedCS也都能通过在每轮的训练中并入更多的clients来产生更好的训练效果。
未来研究方向:
1)使用参数更多、更复杂的模型来训练
2)考虑资源动态变化的场景,每轮的更新上传时间T_{round}可以动态调节。 

不足之处:

可能导致部分client没有参与模型更新的机会,而造成最终得到的模型的效果较差。

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
神经毒素:联邦学习中的持久后门 联邦学习是一种将多个参与方的数据在本地进行训练和学习的机器学习方法。然而,近年来研究者们发现了其中一个潜在的风险,即利用神经毒素在联邦学习中创建持久的后门。 神经毒素是一种设计用于操纵或破坏机器学习模型的恶意输入。在联邦学习中,不同机构的参与方通过共享模型更新来进行协同学习。然而,如果一个恶意参与方能够注入具有神经毒素的恶意数据,则这些数据可能会污染整个模型的训练过程。 通过注入神经毒素,恶意参与方可以实现多个恶意目标。首先,他们可以通过训练含有后门的模型,使得在模型被部署或使用时,特定的输入触发外部设定的恶意行为。这将导致模型在处理恶意数据时产生损害,从而影响到整个系统的正常运行。其次,神经毒素可以在联邦学习中传播,使得其他参与方的模型也带上恶意后门。这样一来,整个联邦学习模型都会受到恶意攻击。 要解决神经毒素在联邦学习中的问题,需要采取一系列安全措施和防范措施。首先,参与方应该进行数据过滤和验证,以删除可能包含神经毒素的数据。其次,应该设计机制来检测和识别神经毒素的注入,比如使用异常检测或模型鲁棒性的方法。此外,可以采用多方签名和加密等技术来确保模型更新的安全性和可信度。 总之,神经毒素在联邦学习中创建持久后门的风险是存在的。为了确保联邦学习的安全性和可靠性,我们需要采取适当的安全措施来预防和检测这种潜在的恶意攻击。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值