FBL-ET:一个基于事件触发器的联邦宽度学习框架

FBL-ET: A federated broad learning framework based on event trigger

目前,一些研究在联邦学习客户端上使用宽度学习系统。但是这些算法存在三个问题

  1. 不可靠的客户端:在实际应用中,客户端是不可靠的,它们可能随时挂起或崩溃。如果选择这些客户端上传模型,服务器必须等待很长时间,导致不必要的时间消耗。
  2. 客户端模型质量的不确定性:不同客户端可能有不同的本地数据集,所以本地模型的质量不平衡。在发送到服务器之前,没有筛选本地模型。所以服务器接收到的本地模型的质量是不同的。如果服务器接收到质量较差的模型,它对全局模型有负面影响。因此,全局聚合的效率受到影响,通信效率低。
  3. 不活跃的客户:在传统的联邦平均(FedAvg)算法中,客户端可以选择只使用当前的全局模型而不上传他们的模型。如果大多数客户端不上传他们的模型,服务器不会很好地聚合,因为它无法接收到足够的客户端模型

​ 具体作出了以下工作:

  1. 在 FBL-ET 中,客户端具有通信主动性,每个客户端都可以自己决定是否在每一轮中将本地模型上传到服务器。这可以减少崩溃客户端对服务器的影响。服务器不再必须等待所选但崩溃的客户端上传模型,解决了客户端的不可靠性问题,减少了时间消耗。
  2. 我们将事件触发器引入 FL,并在客户端上设置测试集,将测试集上的本地模型的预测精度作为触发条件。这确保了客户端上传的模型的质量,并提高了全局聚合的效率。此外,与服务器上的设置相比,在客户端设置测试集可以减少通信成本。
  3. 我们在 FBL-ET 中引入了激励机制。客户端通过上传高质量的模型来获得更多的利润。此外,激励机制影响触发条件。当客户认为他们利润较少时,他们会改进触发条件以获得更多的利润。这提高了客户端的活动,吸引了更多高质量的客户端模型,提高了全局模型的准确性。

​ 对于客户端选择,FBL-ET 同时考虑了客户端利用率和通信消耗,以及客户端本地模型的质量。这些很重要,因为在 FL 中,通信资源有限,我们需要使用有限的通信资源来提高全局模型的优化效率。

​ 在事件触发器机制下,只有当满足触发条件时,系统将执行相应的操作。这是 FL 中客户端不可靠性问题的一个很好的解决方案。事件触发器允许客户端决定是否上传模型。为了减少通信消耗,FBL-ET 在每个客户机上设置一个测试集。

​ 在本文中,我们使用客户端本地模型的准确性作为事件触发器的触发条件(只要不满足要求,本地客户机就会进行增量学习)。

​ 在实际应用中,客户端生成的数据不平衡,数据质量无法控制。因此,对于触发条件的设置,我们需要全面考虑客户端上每一轮的数据质量。数据质量可以反映在客户端训练的模型的准确性上。因此,我们使用客户端本地模型的准确性作为触发条件。同时,触发条件的设置应合理,不能过高或过低。如果触发条件太高,客户端可能需要太长时间进行训练,甚至陷入无限循环。然而,如果触发条件太低,则当前客户端模型将在没有充分训练的情况下上传到服务器,并且模型质量得不到保证。

​ 因此,我们将触发条件设置为前几轮客户端上传的模型的平均精度

在这里插入图片描述

​ 为了提高客户机利用率,我们向服务器添加了一个延迟容忍超参数(Lag of tolerance)。

​ 虽然FL很好地解决了隐私问题,但在实际应用中,由于通信消耗,客户端仍然不愿意将自己的模型上传到服务器。这阻碍了全局模型的聚合和优化。为了吸引更多的客户加入FL,获得更好的全球模式,我们设计了合理的激励机制来评估客户的贡献,并分配相应的利润

  1. 费用:当客户机需要获得当前最新的全局模型时,它需要向服务器支付费用。
  2. 利润:由于每个客户端都有自己的触发条件,所以客户端上传到服务器的模型质量参差不齐。在每一轮全局聚合后,服务器对客户端上传的模型质量进行评估,并根据模型质量将收益 p k m p^m_k pkm分配给客户端。

FBL-ET模型

FBL-ET:一个基于事件触发器的联邦宽度学习框架_第1张图片

在客户机中,执行本地更新并引入事件触发器。本地更新包括三个部分:宽度学习、触发条件判断和增量学习。

一轮训练中,共有五个步骤:

  1. 服务器检查所有客户端当前拥有的全局模型的版本。
  2. 服务器从客户端接收金额,并将最新的全局模型发送给支付费用的客户端。对于已经达到容限的客户端,服务器强制将全局模型分发给它们并收费。
  3. 每个客户端比较 p k m ( 客户 k 在第 m 轮中获得的利润 ) p^m_k(客户k在第m轮中获得的利润) pkm(客户k在第m轮中获得的利润) p a v g ( 所有客户的平均利润 ) p_{avg}(所有客户的平均利润) pavg(所有客户的平均利润),确定是否需要调整触发条件。然后,客户端根据新的数据进行本地训练,独立得到新的模型。
  4. 客户端计算固定测试集上的精度。并进行增量学习,直到精度满足触发条件或用完本地数据。
  5. 当接收到足够数量的客户端模型时,或者当当前轮中的服务器等待时间达到T时,服务器将聚合接收到的客户端模型以获得新的全局模型。同时,服务器为每个客户端分配收入,并将平均收入通知给每个客户端。

你可能感兴趣的:(人工智能,宽度学习)