本文介绍了去中心服务器的完全分布式联邦学习综述。
A Survey on Federated Learning for Resource-Constrained IoT Devices 资源受限物联网设备的联邦学习研究
分布式学习介绍
传统FL过程的中央服务器会带来单点故障。完全分布式和去中心化的学习的主要思想是基于客户端之间的点对点通信,消除了中央服务器。在分布式学习机制中,每个回合存在着客户端的本地更新和与对等实体的信息交换。分布式学习虽然没有像传统FL一样的全局模型或状态,但我们仍然可以设计一个过程,使所有客户端的本地模型通过设备上的训练和从对等实体中学习来达到收敛。
需要注意的是,即使在去中心化分布式设置中,仍然需要一个中央机构负责设置系统配置、学习任务、超参数、算法选择或解决系统故障,即在客户端之间建立一定程度的信任以替代中央机构;或者这些决策可以通过共识方案方案由领导客户端来做出。
在资源受限的设备上学习的挑战
首先了解边缘设备的定义。将边缘设备定义为计算能力、存储容量、传输范围和电池有限的资源受限实体。如果一个对象不能与额外的资源集成,即设备资源不能增加或减少,我们将其视为边缘设备。
1.通信开销,通信成本的增加主要是由于传输的数据量较大,以及通信太频繁。
2.异构性,由于系统中设备硬件的不同,系统中计算能力、内存大小或电池寿命等都具有异构性。
3.有限的内存和能量预算。
4.调度,在FL中,设置参与者的训练阶段是必要的,称为调度。调度对于存在资源受限的IoT设备的网络非常重要。优化的调度可以在最小化能量消耗的同时利用更少的带宽。
5.节能训练深度神经网络(DNN)。训练DNN需要高计算能力、大内存和能源可用,而大多数物联网设备可能缺乏这样的系统,因此对节能训练深度神经网络(DNN)的研究是FL一大挑战。
6.联邦学习公平性,即客户端资源的公平分配,我们可以将全局模型视为一种资源,每个用户接收到的资源需要是公平的,客户端设备之间的资源分配和准确性分布是没有偏见的。
7.联邦学习的可扩展性。大量的物联网设备本质上是异构的且拥有有限的资源,在这种情况下,FL训练可以通过有效的客户选择和资源的优化利用来进行。
8.隐私问题。现有方案通过安全多方计算(SMC)或安全功能评估(SFE)等来保护隐私。然而,由于存在资源受限的设备,现有的隐私保护算法可能不适合在这些设备上运行,因此,还需要设计新颖的方法,使其通信效率高,计算成本低。
在资源受限的设备学习挑战的潜在解决方案
1.减少通信开销:
1)分布式训练; 2)模型压缩,该方法可以有效减少通信开销,但这些方法可能会降低模型准确性并造成高计算成本; 3)基于重要性更新:例如在每一轮通信中,只选择一小部分重要的梯度被发送到FL服务器以进行参数更新;或者上传相关的局部模型更新时,先将参与者的本地更新与全局更新进行比较,当模型更新有比较大的变化时才上传。此外,一种新方法被提出,即在客户端数据集中注入冗余,以减少通信轮数达到收敛,进而减少通信开销。
2.异步联邦学习的收敛保证。
异步联邦学习的收敛保证。举了一些例子介绍现有的技术,但是现有工作都不能保证资源受限客户端异步FL通信期间的收敛性。因此,制定一种保证异步FL收敛的方法可能是一个新的研究方向。
3.统计异质性的量化。
对客户端异质性的量化,可以衡量不同设备之间的数据和资源差异程度,以便更好地选择参与训练的客户端和进行模型更新。已有一些机器学习工作专注于通过元学习和多任务学习等方法量化统计异质性。在联邦学习中,这也是一个重要研究方向。
4.数据清理和错误数据注入的处理。
在传统的基于FL的物联网中,没有中间阶段来改进传感器数据,这可能会导致错误更新或伪造的局部模型更新,最终误导全局模型聚合。
5.减少能源消耗和设备上训练:
1) FL设备上在不断训练,因此研究高效执行ML算法可以反过来帮助FL。
2)如果考虑到物联网中资源受限的节点,那么延长电池续航时间是一个挑战。
3)与服务器的重复交互,会显著消耗电池电量,在与服务器交互时尽量减少电池电量的 损耗也是一项挑战 。
此外,设备上的训练会存在两个问题:首先,设备上生成的模型大小需要足够小,以便能够装入设备内存,并且仍然能够捕获计算有效模型所需的大部分数据复杂性。其次,系统对设备上的计算和存储可用性要求比这些物联网客户端所能提供的要高。
6.管理掉线的参与者。
由于移动性、带宽短缺、传输功率不足或电池耗尽等原因,任何参与者都可能在训练阶段或与服务器交互期间意外断开连接。当大量参与者掉线时,会导致生成的全局模型无效。因此,需要一个方法来处理掉线的参与者。
[92]提出了一种通过在每次本地更新后确认其资源利用率(即计算能力)来处理掉队 者。 [67],[165]执行异步训练,即每当它从任何参与的客户端接收到模型更新时,就更新全局模型。 [126]提出活动和资源感知FL策略,根据客户端对模型收敛的贡献分配信任值,以及接受来自参与客户端的可变工作量来处理掉队者问题。