实时联邦进化搜索
实时联邦进化搜索
1摘要
联邦学习是一种分布式机器学习方法来保护隐私,两个主要的技术挑战阻碍了联邦学习的更广泛应用。一是联邦学习对通信资源提出了很高的要求,因为必须在服务器和客户端之间传输大量的模型参数。另一个挑战是,在联邦学习中训练深度神经网络等大型机器学习模型需要大量的计算资源,这对于手机等边缘设备来说可能是不现实的。当要在联邦学习中进行深度神经架构搜索 (NAS) 时,问题会变得更糟。为了解决上述挑战,我们提出了一种实时联合 NAS 的进化方法,不仅可以优化模型性能,还可以减少本地有效负载。在搜索过程中,引入了双采样技术,其中对于每个个体,仅将一个随机采样的子模型传输给多个随机采样的客户端进行训练。这样,我们有效地降低了进化优化所需的计算和通信成本,使所提出的框架非常适合实时联合 NAS。
2背景
STANDARD集中式机器学习方法需要从分布式用户那里收集训练数据并将这些数据存储在单个服务器上,这会导致用户隐私信息泄露的高风险。因此,提出了一种称为联合学习 [1] 的分布式方法来保护数据隐私,使多个本地设备能够协作训练共享的全局模型,而训练数据仍需部署在边缘设备上。因此,中央服务器无法访问私有原始数据,并且客户端隐私受到保护。
然而,与传统的集中式学习范式相比,联邦学习需要大量的通信资源,因为更新全局模型需要在服务器和边缘客户端之间频繁下载和上传模型参数。为了缓解这个问题,已经进行了大量的研究工作以降低联邦学习中的通信成本。最流行的方法包括客户端上传的压缩和二次采样[2]-[4]或模型权重的量化[5]。最近,Chen 等人 [6] 提出了一种分层参数更新算法,以减少要在服务器和客户端之间传输的参数数量。此外,Zhu 和 Jin [7] 使用了多目标进化算法(MOEA)来同时提高模型性能和通信效率。
关于联邦学习的深度神经网络 (DNN) 架构优化的报道很少,更不用说适合联邦环境的实时神经架构搜索 (NAS)。在集中式机器学习领域,Zoph 和 Le [8] 提出了一些使用强化学习(RL)在 NAS 上的早期工作,但是这会消耗大量的计算资源。为了缓解这个问题,Pham 等人 [9] 引入了一种基于有向无环图 (DAG) 的神经架构表示,以通过使用权重共享技术显着加快搜索速度而不会大幅降低学习性能。Khodak 等人 [10] 提出了一种权重共享方法,用于优化联邦学习框架中的超参数,以减少客户端所需的计算资源。
最近,NAS 的进化方法受到越来越多的关注 [11]-[14],并且将进化搜索与基于梯度的方法 [15] 相结合的混合方法也有报道 [16]。为了降低计算成本,代理集成已被引入进化 NAS,这已被证明在降低计算复杂性而不降低学习性能方面很有希望[17]。
由于以下两个原因,大多数现有的集中式 NAS 技术不太适合联合 NAS。首先,NAS 算法通常需要大量的计算和内存资源来进行模型训练。然而,像手机这样的客户端设备无法承受计算密集型模型训练,并且带宽限制不允许在服务器和客户端之间频繁传输非常大的模型。其次,许多 NAS 方法搜索基于单元的小模型 [9]、[12]、[14]-[16]、[18],并将找到的有希望的单元结构转移到需要在开始之前从头开始训练的大型模型中。最终测试。但是,在联邦学习中重新训练大型模型会增加通信成本,并且通过从找到的单元结构构建大型模型来提高联邦学习的性能可能无益。
请注意,我们之前关于多目标进化联合优化的工作 [7] 是 NAS 的离线进化方法。与 [11]、[19] 和 [20] 中提出的离线进化 NAS 方法类似,在验证数据集上评估模型之前,新生成的后代模型的参数会随机重新初始化并从头开始训练,这需要大量计算资源量。更糟糕的是,重新初始化模型的性能将急剧下降,使得离线优化方法对于实时联邦学习系统不可行,例如在线推荐系统 [21]。通过实时或在线联合进化 NAS,我们的意思是神经网络模型已经在搜索过程中使用。实时 NAS 要求模型的性能在搜索过程中不能突然下降,客户端不能在一轮中训练多个子模型,并且通信成本应该保持在最低水平。
综上所述,离线联邦进化 NAS 方法并不直接适用于在 NAS 期间已经使用神经网络模型的实时应用。因此,非常需要为实时联合进化 NAS 开发一个框架,简称 RT-FedEvoNAS。
这项工作的主要贡献总结如下。
1)为了适应实时联邦系统的进化 NAS 方法,提出了一种双采样技术,从超网络中随机采样子网络,其参数将被传输到随机采样的本地设备的子集,而无需替换训练。每个子模型要采样的设备数量取决于连接的本地客户端数量与人口中个体数量之间的比率。双采样技术带来两个优点。首先,只需要在本地设备上训练一个子网,显着减少从本地设备上传到服务器的参数数量。其次,无需替换的采样客户端可确保每个本地设备在每一代中只需要训练一个子网一次。以上两个特性共同使得 RT-FedEvoNAS 非常适合实时联邦系统,并且与离线进化 NAS 有很大不同,离线进化 NAS 必须在所有本地设备上训练整个神经网络进行适应度评估,并且每个设备都需要训练所有网络目前的人口。据我们所知,这是第一次为联邦学习框架开发实时进化 NAS 算法。
2)标准联邦学习中的加权平均策略只有在所有局部模型的架构相同的情况下才适用。然而,联合 NAS 将导致具有不同神经架构的局部模型无法直接聚合。为了解决这个问题,开发了一种聚合策略,该策略基于在每一代采样和训练的子网络更新全局模型。因此,在提出的 RT-FedEvoNAS 中,每一代都相当于传统联邦学习中的一轮训练。此外,在本地设备上训练之前继承了采样子网络的权重,加速了收敛并避免了随机重新初始化导致的性能急剧下降。
通过将其获得的模型与五个预定义的基线模型在独立和同分布 (IID) 和非 IID 数据上的学习性能和计算复杂性进行比较,进行了广泛的比较研究,以验证所提出的 RT-FedEvoNAS 的有效性。
3相关工作
在本节中,首先对联邦学习进行回顾,然后介绍用于 DNN 的 NAS。然后,将介绍 MOEA 的基本思想。最后,我们简要重申当前工作的动机,并阐明离线和实时(在线)进化优化框架之间的主要区别。
3.1联邦学习
如前所述,联邦学习 [1] 是一种新兴的去中心化隐私保护模型训练技术,它使本地用户能够协作训练全局模型,而无需将本地数据上传到中央服务器。一种称为联合平均 (FedAvg) 算法 [1] 的传统联合学习算法如算法 1 所示。下面我们简单介绍一下这个算法。
1) 服务器端:模型参数θ(0)在FedAvg算法开始时初始化一次,然后发送给m=C×K参与的客户端,其中K为客户端总数,0≤C≤1是参与率。在所有 m 个客户端更新并将更新后的局部模型参数 θ k(k = 1, 2, . . . , m) 发送回中央服务器后,服务器上全局模型的参数 θ(t) 将被替换为所有客户端的模型参数 θ k 的加权平均值。
2) 客户端:局部模型参数 θ k 被下载的全局模型参数 θt 替换。然后局部模型参数通过批量随机梯度下降 (SGD) 算法 [22] 更新,其中 b 是局部学习批量大小。本地训练后,将训练好的模型参数 θ k 发送回中央服务器进行全局模型聚合。上述方法的替代方法是仅计算和上传局部梯度。然后,局部梯度在服务器上通过 聚合,其中 gk 表示局部梯度。这种方法有利于减少本地计算消耗,同时达到与前一种相同的计算结果。
3.2神经架构搜索
NAS 是一种新兴技术,可自动搜索良好的模型结构。在这项工作中,我们将讨论限制在卷积神经网络 (CNN) [23]、[24]。
一般来说,NAS搜索空间可以分为宏观和微观搜索空间[9]。宏观搜索空间(图 1)覆盖整个 CNN 模型,例如隐藏层数 n、操作类型(例如卷积)和快捷连接的链接方法(首次用于 ResNet [25]) ,等等。与宏观搜索空间不同,微观搜索空间仅覆盖整个模型结构中重复的主题或单元[26]、[27]。这些单元构建在复杂的多分支操作中 [28]、[29],如图 2 所示。在 NAS [8]、[9]、[30]-[32] 中使用 RL 已经做了很多工作。基于 RL 的搜索方法总是采用循环神经网络 (RNN) [33] 作为控制器,对要训练的新候选模型进行采样,然后将模型性能作为奖励分数。然后,该分数可用于更新控制器,以便在下一次迭代中对新的候选模型进行采样。然而,由于搜索空间大,大多数基于 RL 的 NAS 方法都是计算密集型的。为了缓解这个问题,郭等人[34]提出了一种高效的课程搜索方法,从小的搜索空间开始,逐渐扩展到大的搜索空间,有效地提高了搜索效率。
进化算法 (EA) 在 NAS 中变得越来越流行。与之前旨在优化神经网络的权重和架构的神经进化技术 [35] 不同,基于 EA 的 NAS 仅优化模型架构本身,并且使用传统的梯度下降方法训练模型参数 [11]-[14 ]。由于 EA 特别适合处理多目标优化问题,因此多目标进化 NAS 受到越来越多的关注。例如,NSGA-net [20] 采用精英非支配排序遗传算法 (NSGA-II) 来优化性能和每秒浮点运算 (FLOPs)。然而,NSGA-net 需要重新初始化一组新生成的模型,这些模型从头开始训练以进行适应度评估,这在计算上非常昂贵。已经提出了避免从头开始训练网络的有趣想法,例如权重共享[9]、网络态射[36]和网络转换[37]、[38]。为多目标进化 NAS 设计了一种基于拉马克继承的网络态射机制,以加速搜索过程 [39],其中预测性能和模型的参数数量都得到了优化。此外,NSGANetV2 [40] 使用从训练过的超网 [41] 继承的权重作为热身来加速模型训练。同时,采用代理模型作为精度预测器以减少计算时间。此外,Zhou 等人 [42] 提出了一种基于 EA 的块级 DNN 浅化方法,该方法采用 Pareto 集成修剪 [43] 以同时最大化泛化性能并最小化其参数在展开的多路径中共享的基学习器的数量块。最近,Y ang 等人 [44] 提出了一种高效 NAS 的持续进化策略,其中使用改进的 NSGA-III [45],称为 pNSGA-III,用于搜索两组帕累托最优解,一组同时最大化精度和最小化参数数量,另一个同时最大化精度增加和最小化参数数量,以解决所谓的小模型陷阱现象。同时,Cai 等人 [46] 设计了一个一次性网络,将模型训练与架构搜索解耦,并采用渐进收缩算法来减轻搜索子网之间的干扰。在训练了一次性网络之后,建立了一个名为neural-network-twins的代理模型来预测给定模型架构的延迟和准确性,并使用进化搜索根据neural-networktwins生成一个子网络硬件平台的不同要求。然而,应该指出的是,上述避免从头开始训练网络的方法不能直接用于联邦 NAS。
基于梯度的 NAS 方法最近变得越来越流行,主要是因为它们的搜索速度比基于 RL 和进化的 NAS 方法快得多。在 [15] 和 [16] 中,松弛技巧 [47] 用于使候选操作的加权和可微分,以便可以直接在这些权重上使用梯度下降 [48]。
然而,基于梯度的技术比其他方法需要更多的计算资源,因为整个网络需要联合优化。为了解决这个问题,[41]提出了一种采样策略,首先构建了一个多分支超网。并且每次只对整个超网络的单个路径[49]进行统一采样,用于子模型训练。其他技术,例如贝叶斯优化 [50],也是降低 NAS [51] 计算复杂度的有用方法。
由于该研究领域越来越受欢迎,因此为设计和比较 NAS 算法 [52]、[53] 提供最佳实践和指南非常重要。因此,还发布了几个 NAS 基准 [54]、[55],以使 NAS 模拟结果更具重现性。
3.3多目标进化优化
联邦 NAS 自然是一个多目标优化问题。例如,模型性能应该最大化,而在服务器和客户端之间传输的有效负载应该最小化。在机器学习社区中,通常使用超参数将多个目标聚合成一个标量目标函数。相比之下,解决多目标优化问题的帕累托方法在进化计算 [56] 中非常流行和成功,它也已扩展到机器学习 [57]。 Pareto 方法与传统的基于聚合的机器学习方法的主要区别在于,在 Pareto 方法中,不需要定义超参数来聚合不同的目标函数,并且将获得一组呈现目标之间权衡关系的模型.最后,可以根据用户的偏好从权衡解决方案中选择一个或多个模型。
NSGA-II 是一种非常流行的基于个体之间的支配关系的 MOEA [58]。算法 2 总结了 NSGA-II 的总体框架。
非支配排序的主要思想是根据 R(t) 的目标值之间的帕累托支配关系生成一组有序前沿,并且位于同一前沿的解不能相互占优。第一个非主导前沿的解决方案将具有更高的优先级可供选择。该排序算法的计算复杂度为 O(mN2),其中 m 是目标数,N 是总体规模。为了促进解的多样性,计算了衡量同一前沿的两个相邻解之间距离的拥挤距离,拥挤距离大的优先选择更高。当所有解都位于一个非支配前沿时,拥挤距离计算的计算复杂度在最坏情况下为 O(mN2logN)。读者可参考 [58] 了解更多详情。
3.4实时联邦NAS动机
开发实时联合进化 NAS 算法有几个实际原因,其中机器学习模型在 NAS 期间在线使用。首先,联邦学习不仅对于隐私保护非常重要,而且对于系统由大量子组件组成的实际应用程序(例如工业物联网)也非常重要。在这样的系统中,有大量的边缘设备必须解决高度复杂的学习问题,才能在有限的计算和内存资源下完成它们的任务。其次,与基于梯度和基于 RL 的 NAS 方法相比,EA 在处理多目标搜索方面更强大,而联邦学习通常需要考虑多个目标,例如最大化学习性能和最小化通信成本。此外,EA 非常适合于 NAS 等离散优化问题,而基于梯度和基于 RL 的方法最初旨在解决连续优化问题。最后,尽管基于梯度的方法,如 DARTS [15],在搜索中收敛得更快,但它们比基于 RL 和 EA 的方法 [59] 需要更多的硬件内存资源,这使得它们对于联邦 NAS 不太实用。贝叶斯优化被认为是降低 NAS 计算复杂度的一种有吸引力的方法。然而,贝叶斯优化不太适合联邦 NAS。一个原因是贝叶斯优化依赖于高斯过程,该过程具有三次时间复杂度,并且随着训练样本数量的增加,计算量可能会变得过高。此外,传统的贝叶斯优化也不太适合处理多目标优化问题。
然而,由于以下原因,传统的离线进化 NAS 不适合实时联合应用程序,例如联合推荐系统。首先,神经网络模型在已经使用时是不允许随机初始化的,因为随机初始化会严重恶化神经网络的性能。此外,一些权重继承技术,如网络态射 [36]、[39] 可能无法在联邦环境中工作,原因有两个:1)新插入的隐藏层的随机或身份重映射 [37]、[38] 可能导致联邦学习中的严重模型退化和 2)模型蒸馏 [60] 在分布式环境中更难使用,因为中央服务器没有本地训练数据。因此,提取神经网络需要在服务器和客户端之间下载和上传模型参数,从而增加了通信成本。更糟糕的是,如果本地数据是非 IID,模型蒸馏可能会导致模型发散。其次,EA 是基于人口的搜索方法,并且在每一代(即瞬间),必须评估一组模型(取决于人口规模),这需要每个客户端上的大量计算资源。此外,在离线进化 NAS 算法中,多个模型的所有参数(取决于种群大小)必须在服务器和客户端之间传递,这大大增加了通信成本。最后,离线进化 NAS 中的模型在优化过程中通常没有得到充分的训练,以减少计算时间。因此,它们必须在进化搜索结束时再次接受训练,这将产生额外的通信成本。
由于上述原因,这项工作旨在开发一个实时进化的 NAS 框架,该框架能够在联邦学习系统中灵活地处理多个目标。为了满足实时性要求,所提出的进化 NAS 框架具有以下特性。
1)在子模型采样和权重共享的帮助下,所有局部模型都可以保持稳定的性能,这对于实时 NAS 来说是必不可少的。
2)建议采用填充策略来聚合具有不同架构的子模型,从而可以组装出始终具有良好性能的全局模型。
3)由于客户端采样策略,每个本地客户端只需要在每一轮中训练一个子模型。这代表了提议的实时进化联合 NAS 与 [7] 中报道的离线进化 NAS 之间的一个主要区别。
4方法
本节首先介绍 RT-FedEvoNAS 采用的编码方式和模型结构。然后,描述了要优化的目标和评估目标的双抽样方法。最后,我们介绍了 RT-FedEvoNAS 的总体框架。
4.1结构编码
对于实时 NAS,我们采用轻量级 CNN 作为全局模型,因为通信成本始终是联邦学习的主要关注点。此外,搜索空间不应太大,应限制总层数以使其适合实时联邦优化。
提出的实时联合 NAS 中使用的全局模型如图 3 所示,其中一个卷积块,3×4 选择块(选择块的每个分支包含两个卷积或更高级的深度卷积层,除了标识块) 和一个全连接层连接起来构建一个包含最多 26 个隐藏层的 DNN。具体来说,卷积块由三个顺序连接的层组成,一个卷积层、一个批量归一化层 [61] 和一个整流线性 (ReLu) 层。一个选择块由候选块的四个预定义分支组成,即标识块、残差块、倒置残差块和深度可分离块,如图 4 所示。因此,总共有 412 个可能的单路径子网络.此外,这四个候选块分为两组,一组称为正常块,其输入和输出共享相同的通道维度,而另一组称为归约块,其输出通道维度加倍,空间维度四分之一与其输入相比。
身份块直接将其输入链接到其输出[图。 4(a),左面板],这可以看作是“层去除”操作。图 4(a)的右图显示了一个结构缩减块,它首先操作两个步长为 2 的逐点卷积分支,然后将这两个输出连接起来。结果,输入的空间维度被四等分,过滤器通道通过这个单位减少块加倍。
残差块包含两个顺序连接的卷积块,如图 4(b) 所示,其中正常块(左图)与 ResNet [25] 中使用的残差块相同。请注意,减少残差块不包含快捷连接,而普通块具有。
反转残差块 [图。图4(c)]具有残差块的“倒置”瓶颈结构,该结构首先在MobilenetV2 [62]中提出。该块包含三个卷积层:1)一个 1×1 扩展的逐点卷积层,然后是一个批量归一化层和一个 ReLu 激活函数; 2)一个3×3的深度卷积层[63]、[64],后面是一个批量归一化层和一个ReLu激活函数; 3) 一个 1×1 空间滤波的逐点卷积层,后跟一个批量归一化层。
在第一层使用扩展而不是在瓶颈层 [25] 中使用的最后一层的直觉是非线性激活函数,例如 ReLu,可能会导致层信息丢失 [65],并且在高维空间可以缓解这个问题。张量通过最后一个逐点层再次映射回低维空间后,就不需要ReLu函数来防止信息丢失了。
深度可分离块由两个深度卷积操作组成[63] [图。 4(d)]比传统的卷积运算需要更少的计算能力。在 [64] 中已经证明,3×3 深度卷积消耗了标准卷积计算时间的八分之一到九分之一,但代价是性能略有下降。
对于每一轮通信,仅从全局模型中采样所有 12 个选择块中的一个分支,然后下载到客户端设备,以减少本地设备所需的通信成本和计算资源。这个采样的子模型可以被编码成一个总长度为 2 × 12 = 24 位的两位二进制字符串。代码中的每两位代表选择块中的一个特定分支。例如,[0, 0] 表示分支 0,即标识块,[0, 1] 表示分支 1,即残差块,[1, 0] 表示分支 2,即反转残差块,以及[1, 1] 表示分支 3,它是深度可分离块。因此,二进制字符串(也称为选择键)[0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 , 0, 1, 1, 0, 0] 可以解码成一个子模型,其结构如图 5 所示。
4.2客观评价的双采样策略
离线进化优化本质上不适合联邦学习。尽管上一代的离线 EA 可以找到一个或多个轻量级高性能模型 [7],但需要大量额外的计算和通信资源。例如,对于人口规模为 N 的 EA,离线进化 NAS 算法中的每个客户端必须在每一代评估 N 个个体(每个代表一个模型)的适应度,这与梯度相比是 N -1 倍——基于方法。此外,模型在客户端上反复随机重新初始化和从头开始训练,这可能不足以进行进化优化。
为了解决上述问题,这里提出了一种双采样技术来开发一种实时进化 NAS 算法,其中在每一代中,每个个体的模型都从一个通用的全局模型中均匀地二次采样,而客户端训练个人的模型也是从参与的客户中统一抽取的。具体来说,为每个个体生成一个选择键,以从超网(全局模型)中随机抽取一个子网络作为该个体的模型。然后,这个人的抽样子模型将被下载到参与客户的随机抽样子集中。选择的客户数量,比如 L,用于训练个人的一个子模型,由个人数量与参与客户数量之间的比率决定,即 L = m/N,其中 m = CK 是参与客户数量,K为客户总数,C为本轮参与比例。在这里,我们假设客户数量等于或大于人口规模。
在这项工作中,要优化两个目标:一个是模型性能,例如每个采样子模型的验证误差,另一个是模型复杂度,例如每个子模型的 FLOP 或参数数量。请注意,在进化多目标优化 [66] 中包含额外的目标是相当简单的,例如,在比较研究中,我们包括一个实验,该实验优化了模型中的三个目标、分类精度、FLOP 和参数数量。
RT-FedEvoNAS 中的种群初始化由以下四个主要步骤组成。
1)初始化全局模型。生成包含 N 个个体的父群体,每个个体代表一个使用选择键从全局模型中采样的子模型。为每个人抽样 L 个客户,无需更换。也就是说,每个客户端应该只采样一次。
2)将每个父个体的子模型下载到L个选定的客户端,并使用这些客户端上的数据训练子模型。训练完成后,将 L 个本地子模型上传到服务器进行聚合以更新全局模型。
3) 使用交叉和变异生成 N 个后代个体,并为每个后代个体生成一个选择键。将每个后代个体的相应子模型(仅来自第二代的选择键)下载到 L 个随机抽样的参与客户端,并在这些客户端上进行训练。上传训练好的局部子模型并聚合它们以更新全局模型。
4) 最后,将全局模型连同所有父母和后代的选择键一起下载给所有参与的客户,以评估目标。将所有客观值上传到服务器并计算每个人的验证错误的加权平均值。
一旦计算出所有父母和后代个体的客观值,就可以根据精英非支配排序和拥挤距离进行环境选择以生成下一代父母个体,如第 II-C 节中的算法 2 所述。
在接下来的几代中,将执行与上述类似的步骤,只是在所有后代个体的本地子模型在采样客户端上训练并聚合生成的本地上传之后,每一代只更新一次全局模型。需要强调的是,在每一代,所有个人共享的全局模型只需下载一次给所有参与的客户,以评估目标。然后只需要将生成的选择键下载到采样客户端,因为整个全局模型已经在上一代下载到客户端。
请注意,模型聚合与传统联邦学习中的聚合不同。原因是不同的客户端可能针对不同的个体进行抽样,不同的个体可能有不同的模型结构,无法直接聚合。图 6 显示了一个说明性示例,其中全局模型具有两个选择块 C1 和 C2。有两个个体,两个个体的选择键分别为 [0, 0, 0, 1] 和 [1, 0, 1, 1]。生成的子模型是 B0 和 B1,以及 B2 和 B3。我们进一步假设客户端 1 被选择用于训练子模型 B0 和 B1,客户端 2 被选择用于 B2 和 B3。然后,每个客户端根据可用的本地数据更新其模型参数,然后将训练好的模型上传到服务器,由阴影方块表示。然后通过填充未更新的子模型来重建两个全局模型,这些子模型用白色方块表示。由于重建的全局模型具有相同的结构,它们可以很容易地使用加权平均来聚合。此外,这种聚合方法不需要额外的通信,因为这个操作只在服务器上执行。模型聚合的伪代码在算法 3 中给出。
从上面的描述中,我们可以看到双采样策略与基于种群的进化搜索完美契合,因此可以在一轮通信中评估一代所有个体的客观价值,将一代架构搜索无缝嵌入到一个通信轮中。联邦学习的一轮训练。
4.3 整体框架
我们使用 NSGA-II 来优化实时进化联邦 NAS 框架的子模型复杂性和验证性能。该框架如图 7 所示,伪代码在算法 4 中列出。
对每一代的父母和后代群体都进行了客观评估,这与提议的 RT-FedEvoNAS 中的通信回合相当。对于适应度评估,全局模型和所有选择键 CR(t) 都下载到所有参与的客户端。因此,我们不需要为下一轮训练子模型下载任何模型参数,只需下载选择键就足够了(参见算法 4 中的第 32-34 行。之后,每个客户端将更新的本地子模型上传到模型聚合的服务器,因此,所提出的模型采样方法可以降低本地计算复杂度和上传模型的通信成本。
应该注意的是,父子模型只在第一代训练。在后续的进化优化中,只需要训练后代子模型。但是,需要对所有 CR(t) 采样的 2N 个子模型进行评估,以计算每一代客观评估的验证误差,因为训练后代子模型也会影响父子模型的参数,因为父子模型和后代子模型总是共享全球模式。此外,我们不需要在训练开始之前重新初始化采样后代子模型的模型参数。由于客户端抽样策略,人口规模 N 不会影响客观评估的通信成本,因为整个全局模型是从服务器下载的,全局模型的抽样可以在客户端上完成。
由于 NSGA-II 是一种基于帕累托的多目标优化算法,它可以找到一组最优模型,在模型精度和计算复杂度等相互冲突的目标之间进行权衡。因此,对于实时应用程序,用户需要明确偏好以在每一轮中从父群体中选择一个或一些帕累托最优解。在实践中,具有最高验证精度和拐点 [67]-[69] 的帕累托最优解是首选,除非有其他强烈的用户指定偏好。