从联邦学习到联邦神经架构搜索:一项调查

从联邦学习到联邦神经架构搜索:一项调查

From federated learning to federated neural architecture search: a

survey

摘要

联邦学习是最近提出的一种用于隐私保护的分布式机器学习范式,它已经发现了以数据隐私为主要关注点的广泛应用。同时,神经架构搜索在深度学习中变得非常流行,用于自动调整深度神经网络的架构和超参数。虽然联邦学习和神经架构搜索都面临着许多开放的挑战,但在联邦学习框架中搜索优化的神经架构尤为困难。这份调查报告首先简要介绍了联邦学习,包括水平、垂直和混合联邦学习。然后提出了基于强化学习、进化算法和基于梯度的神经架构搜索方法。接下来是对最近提出的联合神经架构搜索的描述,它分为在线和离线实现,以及单目标和多目标搜索方法。最后,概述了剩余的开放研究问题,并提出了有前景的研究课题。

1介绍

深度神经网络 (DNN) 在图像分类、自然语言处理、自动驾驶系统等领域取得了巨大成功。然而,设计具有高质量架构的 DNN 通常需要手动尝试大量不同的超参数,这始终是一项繁琐的任务,需要机器学习和应用领域的广泛专业知识。因此,神经架构搜索(NAS)近年来变得越来越流行[1],旨在自动搜索良好的神经架构

 

然而,传统的集中式学习系统要求将在不同设备上生成的所有训练数据上传到服务器或云中以训练全局模型,这可能会引起严重的隐私问题。为了解决这个问题,联邦学习 [2] 被提议通过在服务器和本地设备之间传递模型参数或其他模型信息而不是原始数据来保护用户的数据隐私。自然,在联合学习环境中执行 NAS 变得特别重要,尽管它仍处于初级阶段。

 

本调查旨在概述联邦学习和神经架构搜索的研究工作,但重点关注联邦神经架构搜索的新兴领域。我们将联邦学习系统分为离线和在线方法,其中在线联邦神经架构搜索更具挑战性,因为在搜索过程中对网络性能的额外要求以及对计算资源的更强限制。此外,我们简要讨论了单目标搜索和多目标搜索神经架构搜索方法之间的差异,以突出在联邦学习中处理多个目标的不同方式,例如准确性、通信成本、模型复杂性和本地设备上的内存要求。最后,我们概述了联邦神经架构搜索中剩余的​​主要挑战。

2联邦学习

联邦学习 [3] 在三个方面区别于分布式学习。首先,联邦学习的主要目的是保护用户的隐私信息,而分布式学习的主要目的是加快训练速度。其次,联邦学习无法确定任何客户端设备的数据分布。相比之下,分布式学习能够任意分配整个学习数据的子集。最后,联邦学习面临更具挑战性的训练环境,因为它可能包含数百万不平衡的参与客户端,这些客户端与服务器的连接可能不稳定。例如,手机等边缘设备经常离线。

 

联邦学习通常根据最初用于分布式学习的数据[2]的分布特征进行分类。严格来说,联邦学习没有“整个数据集”的概念;因此,很难在某种程度上准确地描述分布式学习中定义的联邦数据分布。在下文中,我们将更详细地讨论联邦学习中的数据分布。

 

2.1横向联邦学习

针对参与客户端上的数据集共享相同特征空间但具有不同样本的场景,提出了水平联邦学习。 “水平”这个名称来源于实例分布式学习 [4],如图 1a 所示,其中整个数据集在数据样本上水平划分并分配给两个客户端。类似地,如图 1b 中由两条虚线包围的部分所示,当在具有相同属性(特征)的不同客户端上生成不同数据时,可以认为数据在联邦学习中是水平分区的。例如,不同地区的两家医院可能有不同的患者,尽管他们对每位患者进行了相同的测试,并收集了相同的个人信息,例如姓名、年龄、性别和地址。

实例分布式学习和水平联邦学习之间存在三个主要区别。首先,数据在分布式学习中通常是独立同分布(IID)的,但在水平联邦学习中可能是非 IID。如前所述,分布式学习主要是为了减少训练时间而设计的;因此,设计人员可以手动将客户端数据的每个子集分配为 IID 以增强收敛性。但是,在水平联邦学习中,中央服务器无法访问任何原始数据,这些原始数据通常在不同客户端上是非 IID。其次,水平联邦学习总是包含大量连接的客户端,但实例分布式学习往往没有非常多的worker,因为在数据总量固定的情况下,太多的worker会恶化分布式训练的性能[5]。最后,全局模型更新机制略有不同。在分布式学习实例中,例如多 GPU 训练(GPU 总是嵌入在服务器中,因此可以忽略通信影响),一旦计算了小批量数据的局部梯度,深度神经网络往往会同步更新全局模型,确保正确的分布式模型学习方向。这种全局模型更新方法本质上不适合水平联邦学习,因为由于通信成本的限制,不希望频繁上传和下载数据。

 

典型的水平联邦学习(图 2)算法,例如 [3] 中提出的 FedAvg,包括以下主要步骤。

 

1. 在服务器上初始化全局模型参数,并将全局模型下载到每个参与(连接)的客户端。

2. 每个连接的客户端都在自己的数据上学习下载的全局模型,用于几个训练时期。一旦完成,更新的模型参数或梯度(这里的梯度是指下载模型和更新模型之间的差异)将被发送到服务器。请注意,客户端可能有不同数量的训练数据和不平衡的计算资源。结果,服务器无法同时接收来自不同客户端的上传。

3. 服务器将接收到的上传(同步或异步)聚合起来更新全局模型。

4. 重复以上两步直到收敛。

从以上步骤我们可以发现,中心服务器只能接收参与客户端的模型权重或梯度,而无法访问任何本地原始数据。因此,横向联邦学习极大地保护了用户的隐私。

 

水平联邦学习算法的上述步骤似乎与同步分布式系统中的步骤非常相似。但是,这两种方案具有不同的学习环境和目的。横向联邦学习是在更复杂的环境中进行的,因为手机等连接的边缘设备可能会频繁离线,无法保证全局学习性能。与联邦学习相比,分布式学习系统通常设计和运行在更稳定的环境中,以确保良好的学习性能。除此之外,联邦学习的目的是保护本地用户的隐私数据,而分布式学习主要是为了加快学习速度。

 

与传统的集中式学习相比,横向联邦学习存在三个额外的主要挑战:(1)必须尽可能减少通信资源,(2)需要提高收敛速度,(3)必须确保没有传递模型信息时会泄露私人信息。许多研究工作都集中在降低通信成本上,例如客户端更新子采样 [6-8] 和模型量化 [9,10]。最近,Chen 等人 [11] 提出了一种分层异步更新算法,通过降低神经网络中深层的更新频率来降低​​通信成本。此外,Zhu 等人 [12] 使用多目标进化算法(MOEA)来同时提升模型性能和通信效率。在水平联邦学习中学习一个好的模型并不是一件容易的事,因为不同客户端上的训练数据通常是非 IID 的,这可能导致模型发散。为了解决这个问题,Zhao 等人 [13] 实证探索了非独立同分布数据的影响,并提供了散度的统计分析。 Li 等人 [14] 提出了一种 FedProx 算法,通过在每个客户端的原始损失中注入一个近端项来减轻系统异质性的负面影响。除此之外,还使用了一种细心的聚合方法 [15] 来最小化非 IID 数据集上的服务器模型和客户端模型之间的加权距离。

 

在水平联邦学习中,中央服务器通常被认为是诚实但好奇的(遵循联邦学习协议但试图推断客户端数据信息),并且每个客户端的显示梯度可能会泄露数据信息 [6]。出于这个原因,Phong 等人 [16] 在数学上证明了模型梯度(尤其是第一个隐藏权重)与原始数据成正比,并采用加性同态加密 [17] 来加密和保护模型梯度。在他们的方法中,密钥对服务器保密,但所有参与的客户端都知道,只要连接的客户端之一上传其密钥,中央服务器就可以轻松获得纯模型梯度。为了缓解这个问题,提出了安全多方计算(SMC)[18,19] 将一个完整的密钥分割成几个密钥分片,每个客户端只能持有一个分片。因此,服务器必须至少获得 t 个分片(t 是阈值)才能解密。因此,隐私保护得到显着改善。

 

然而,同态加密会增加计算负载,并且SMC消耗更多的通信资源,因为加密的模型权重需要在服务器和至少t个客户端之间下载和上传以进行部分解密。因此,一种称为差分隐私[20]的更轻量级的隐私保护技术也可以用于水平联邦学习。例如 [6,21] 中使用的方法,在将每个客户端的梯度发送到中央服务器之前,将高斯或拉普拉斯噪声添加到每个客户端的梯度中。但是请注意,如果会计师 [22] 超过预定义的阈值,则可能会中断学习过程。最近,Truex 等人提出了一种将差分隐私与同态加密相结合的混合方法。

 

2.2垂直联邦学习

与水平联邦学习相比,垂直联邦学习适用于数据集共享相同样本空间但具有不同特征空间的情况,如图中虚线包围的部分所示3b。例如,两个不同的金融代理可能拥有相同的客户,但提供不同的服务。与水平联邦学习不同,垂直联邦学习在某种程度上类似于特征分布式学习[4],它在一定程度上“垂直”划分训练数据,如图 3a 在特征空间上所示。此外,中央服务器在特征分布式学习或垂直联邦学习中通常被称为协调器[23],因为它的主要任务是计算总损失而不是聚合上传的权重。

 

 

垂直联邦学习首先在 [23] 中引入,其中整个框架包含一个可信协调者和两方,其中每一方代表一个客户端。协调器计算训练损失并生成加密密钥对。出于隐私保护的目的,采用了同态加密,并讨论了实体解析的效果。最近,通过移除可信协调器,提出了一种两方架构 [24,25],这大大降低了系统的复杂性。使用简单逻辑回归模型的典型垂直联邦学习两方框架包括以下步骤:

 

1. 假设甲方包含数据标签。甲方创建同态加密密钥对,并将公钥发送给乙方。双方根据本地训练数据的特征维度初始化各自的本地模型参数。

2. 双方计算数据和模型的局部内积。然后乙方将其结果发送给甲方。

3.甲方将两个内积相加,通过数据标签计算损失函数。损失用公钥加密并发送给乙方。同时计算甲方的模型梯度。

4. 乙方根据收到的损失计算加密模型梯度并加密。此外,随机数被加密并添加到加密的梯度中。总和应发送给甲方进行解密。

5. 甲方使用秘钥解密总和值并发送给乙方。

6.更新双方的模型参数。

7. 重复步骤 2 到步骤 6,直到收敛。

 

在步骤3中,训练损失在发送给乙方之前是加密的,因为它包含了甲方的数据标签信息,不能透露给乙方。因此,乙方需要在加密的损失上计算其局部模型梯度,通常使用泰勒近似法[23,25]来简化这一计算。

 

从上面的讨论中,我们可以看到垂直联邦学习与水平联邦学习有很大的不同。水平联邦学习中的中央服务器用于模型聚合,而垂直联邦学习中的服务器则起到计算损失或收集特征的作用。此外,可以在垂直联邦学习中移除服务器,例如,对参与方(客户端)之一的训练损失求和。除此之外,我们通常假设并非所有各方都包含垂直联邦学习中的数据标签,例如,只有客户端 B 包含图 3b 中的数据标签,而那些没有数据标签的各方无法在本地更新他们的模型。因此,我们将服务器称为“协调器”,它协调各方的特征预测,以计算垂直联邦学习中的训练损失。

大多数垂直联邦学习研究仅支持使用简单的二元逻辑回归模型的两方(有或没有中央协调员)。 Feng等人[26]采用多视图学习的思想,将之前的方案扩展为多参与者多类垂直联邦学习框架。此外,Liu 等人引入了一种联邦随机块坐标下降算法,所有参与方多次更新其本地模型以减少通信轮次的总数。此外,Chen 等人提出了一种异步垂直联邦学习方法,差分隐私也用于隐私保护。

 

2.3混合联邦学习

混合联邦学习在现实世界中更加现实,它假设不同客户端上的数据集不仅具有不同的样本空间,而且具有不同的特征空间。因此,在这种场景下,不同方需要共享数据身份(ID)信息以找到交叉部分进行分布式训练,这对本地客户的隐私构成威胁。由于混合联邦学习的参与者通常是不对称的[27],例如,一些参与者是小公司,总是需要保护他们的 ID 信息,而一些参与者是不关心 ID 隐私的大公司。对称联邦学习和非对称联邦学习如图 4 所示。

 

安全 ID 对齐协议对于混合联邦学习具有重要意义,例如常用的 Private Set Intersection (PSI) 协议。在标准 PSI 中,所有参与者都希望协作找到交叉点(图 4 中虚线表示的部分)并将未交叉部分保密。 PSI 协议可以通过经典的公钥密码系统 [28,29] 或其他类似技术来实现。

联邦模型训练类似于垂直联邦学习;然而,对于非对称联邦学习,使用 Genuine with Dummy (GWD) 方法 [27] 来确保计算结果的正确性。

 

3神经架构搜索(NAS)

由于深度神经网络 (DNN) 的质量在很大程度上取决于其架构,因此越来越多的研究工作致力于在深度学习社区中设计新颖的结构。然而,手动设计深度神经网络需要在深度学习领域和所研究的问题方面具有相当的专业知识,这对于许多感兴趣的用户来说是不现实的。直到最近,自动化机器学习(Auto ML),特别是神经架构搜索(NAS)才变得非常流行,以允许没有足够领域知识的感兴趣的用户从深度神经网络的成功中获益。 NAS方法的框架涉及三个维度[1],即搜索空间、搜索策略和性能估计策略。

 

搜索空间是网络架构的集合,它对生成网络的性能和搜索效率有重大影响。搜索策略定义了用于自动设计最优网络架构的方法。具体来说,这些搜索策略至少可以分为三类:强化学习(RL)、进化算法(EA)和基于梯度(GD)的方法。此外,一些额外的方法,如随机搜索 [30,31]、贝叶斯优化 [32,33] 和多项分布学习 [34],不属于上述类别。搜索策略旨在寻找能够在测试数据集上获得高性能的架构。为了有效地指导搜索,这些策略利用性能评估策略来评估候选架构的质量。早期的工作使用一种简单的性能估计方法,例如,通过使用随机梯度下降 (SGD) [35] 在训练数据集上迭代训练候选架构并评估其在验证数据上的性能 [36-41]。这种评估策略通常会导致过高的计算成本。例如,为了设计性能良好的神经网络,在 CIFAR10 数据集上,自动进化卷积神经网络(AE-CNN)[40] 算法消耗 27 个 GPU-days,而神经架构搜索方法 [36] 消耗 22400 个 GPU-days .由于低效的搜索策略需要大量 GPU,因此在计算资源有限的情况下,许多 NAS 方法无法实现。为了应对这些挑战,最近的许多工作致力于开发可以降低性能评估计算成本的有效方法,例如代理辅助进化算法 (SAEA) [33,42,43]、信息重用 [44,45]、一-shot 神经架构搜索 [46-50] 等等。

 

3.1基于强化学习的 NAS

NAS 的早期工作依赖于 RL 来搜索高性能神经架构 [36-38]。网络模型的设计被认为是代理的动作,它指定了网络的架构(即子模型)。然后对网络进行训练,并将其在验证数据上的表现作为代理的奖励返回。

 

一种策略梯度方法试图逼近一些不可微的奖励函数来训练需要参数梯度的模型。 Zoph 等人 [36,38] 首先在 NAS 中采用这种算法来训练生成架构的循环神经网络 (RNN) 模型。如图 6 所示,控制器作为导航工具在搜索空间中寻找更有希望的架构。 [36] 中的原始方法使用一次生成整个网络的宏搜索空间。如图 5 所示,整个架构由 n 个顺序层组成,其中虚线表示跳过连接。因此,宏搜索空间旨在根据隐藏层数 n、操作类型(例如卷积)、网络超参数(例如卷积核大小)和链接方法(例如跳过)来设计整个 CNN 架构连接)。但是,当数据集很大时,这种方法很昂贵。为了降低计算成本,Zoph 等人 [38] 提出了一个更结构化的搜索空间,称为微搜索空间。微搜索空间只覆盖重复的更小的模块,称为正常单元和归约单元,然后将它们连接在一起形成整个网络。如图所示。如图 5 所示,这些单元构建在复杂的多分支操作中(例如卷积)。每个单元结构包含来自前两个层的两个输入 h[i - 1] 和 h[i - 2]。因此,微搜索空间旨在设计这两种细胞的结构。此外,细胞结构应该具有很好的泛化到其他相关任务的能力。例如,所提出的方法在 CIFAR10 数据集上搜索最佳单元结构,并通过将该单元的多个副本堆叠在一起将它们传输到 ImageNet 数据集。之后,将 NASNet [38] 方法扩展到多目标优化变体,以使用不同的标量化参数同时优化分类性能和计算成本。

 

 

 

Q-learning [51] 作为一类流行的 RL 方法,已广泛用于 NAS。 Baker et al [52] e m p l o y an n?greedy Q-learning strategy 来训练一种策略,该策略顺序选择一种层(例如卷积层、池化层和全连接层)及其相应的超参数。钟等人 [53] 将此方法扩展到块级网络生成方法,该方法设计具有相同 Q 学习范式的块。之后,对最优块进行重复堆叠,构建整个网络架构。为了加快搜索过程,采用分布式异步策略和早停方法。

 

高效 NAS(ENAS)[46] 中引入的参数共享是一种很有前途的方法,可以加快基于 RL 的 NAS 方法的搜索过程,它将架构视为更大图(超网)的不同子图(子网) ) 并强制所有子图共享一组公共权重,这些权重具有该较大图的共同边。 Pasunuru 等人 [54] 提出了一种基于 ENAS [46] 的多任务架构搜索(MAS)方法,用于寻找在多个任务中表现良好的单元结构。因此,由 NAS 生成的单元结构可以转移到一个新的任务。 Bender 等人 [55] 分别针对图像检测和分类任务的更大搜索空间提出了随机搜索 NAS 方法和 ENAS [46] 之间的彻底比较。此外,提出了一种新的奖励函数,可以有效提高生成网络的质量,降低手动超参数调整的难度。 Liu 等人 [56] 提出了一种新的 NAS 知识蒸馏 [57] 方法,称为架构感知知识蒸馏 (AKD),它找到最适合提取给定教师模型的学生模型(压缩教师模型)。作者采用基于 RL 的 NAS 方法和 KD 引导的奖励函数来搜索基于给定教师模型的最佳学生模型。

 

3.2基于EA的 NAS

EA 是一类基于种群的、无梯度的启发式搜索范式,已广泛用于解决各种复杂的优化问题 [12,58–60]。从历史上看,EA 已被用于同时优化拓扑、连接权重和人工神经网络 (ANN) [61,62,62-64] 的超参数。具有增强类型学(NEA T)算法的神经进化[65]是一种流行的早期方法,已显示出强大的性能。然而,由于复杂的网络架构和大量的连接权重,传统方法不太适合优化 DNN。优化深度网络架构的基于 EA 的 NAS 方法最近再次开始获得动力 [66,67],主要是因为它们可以同时探索搜索空间的多个区域以及它们对局部最小值的相对不敏感 [68,69]。图 7 显示了基于 EA 的 NAS 算法的通用框架。从广义上讲,基于 EA 的 NAS 算法的整个过程遵循 EA 的过程,该过程至少包含四个步骤:种群初始化、后代生成、适应度评估和环境选择。一般将搜索空间中的每个神经网络编码为一条染色体,在探索中进行染色体的交叉和变异操作。然后将每个染色体转化为相应的神经网络,并在训练数据集上进行迭代训练。训练后的网络在验证数据集上进行评估,以获得它们的适应度值。

 

Xie 等人提出了一种遗传 CNN [39] 方法,这是使用 EA 优化卷积神经网络 (CNN) 的早期研究之一。遗传 CNN 算法搜索整个架构空间,并采用固定长度的二进制字符串来表示多个有序节点之间的连接(例如卷积操作)。尽管这种早期算法存在一些局限性,包括节点数量有限以及卷积滤波器的大小和操作有限,但生成的结构不仅在 CIFAR 和 SVHN 数据集上取得了有竞争力的结果,而且在 ImageNet 数据集上表现出出色的可迁移性[70]

 

Miikkulainen 等人 [71] 通过将 NEA T 算法 [65] 扩展到 DNN,提出了一种协同进化 DeepNEA T (CoDeepNEA T) 方法。在 CoDeepNEA T 中,每个神经网络都由模块和蓝图组装而成。采用协同进化方法,分别进化两个模块群和蓝图,其中每个模块染色体代表一个小的 DNN。蓝图染色体表示一个图,其中每个节点都包含一个指向特定模块物种的指针。组装的网络以普通的 NAS 方式进行训练和评估。网络的适应度是包含蓝图或模块的整个候选模型的平均适应度。此外,Liang 等人发现 CoDeepNEAT 在 Omniglot 多任务学习领域也取得了可喜的表现[72]。

 

事实上,染色体的长度通常代表相应神经网络的深度,固定的编码方案可能会限制优化网络的性能。为了解决这个问题,最近的一些 NAS 算法尝试使用可变长度编码方案。 Real 等人 [73] 提出了一种大规模进化 NAS 方法,该方法利用可变长度编码方法,其中网络架构可以自适应地改变其深度。 Sun等人[40]提出了一种AE-CNN算法,可以全自动设计CNN架构,不需要任何预处理或后处理。受 ResNet [74] 和 DenseNet [75] 的启发,AE-CNN 的搜索空间由一些预先确定的构建块定义,包括 ResNet 块和 DenseNet 块、最大池化层和平均池化层。然后,作者设计了一个基于 EA 的 NAS 框架,包括可变长度编码和基于可变长度编码的新交叉和变异算子,作为搜索 CNN 最佳深度的搜索策略。鉴于可变长度编码策略的性质,该算法采用了一种修复机制,以避免产生无效的 CNN。受有向无环图 (DAG) 的启发,William 等人[76] 引入了一种基于 DAG 的编码策略,它可以表示任意连接结构和无限深度的 CNN。

 

Suganuma 等人 [77] 提出了一种 CGP-CNN 算法来使用遗传编程设计 CNN 架构。 CGP-CNN 的搜索空间由 DAG 表示,其中节点表示卷积块或连接操作。然后 CGP-CNN 使用笛卡尔遗传编程 (CGP) [78,79] 编码方案来表示网络架构及其连接性。这种编码方案可以表示可变长度的网络架构并跳过连接。

 

大多数基于 EA 的 NAS 方法旨在为 DNN 找到更好的拓扑,同时将权重的学习留给 SGD。

 

众所周知,SGD 优化器严重依赖权重的初始值。为了缓解这个问题,Sun 等人 [80] 提出了一种基于 EA 的 NAS 方法,名为 Evolving Deep CNNs (EvoCNN),无需人工干预即可自动设计 CNN 架构和相应的连接权重初始化值。为了减少搜索空间,在染色体中编码了两个统计度量,包括连接权重的平均值和标准差,以表示大量的连接权重。此外,采用不完全训练方案来加速适应度评估。根据奥卡姆剃刀理论[81],连接权重的数量也被认为是衡量候选网络质量的指标。

 

Sun 等人 [41] 使用遗传算法 (GA) 来设计 CNN 架构 (CNN-GA)。在 CNN-GA 中,标准的卷积层被一个新的构建块所取代,称为跳过层。跳跃层由两个卷积层和一个跳跃连接组成。因此,基因型编码跳过层和池化层的信息。全连接层被丢弃,主要是因为它们容易导致过度拟合[82]。

 

微搜索空间 [46] 并没有生成整个 CNN,而是被许多最近基于 EA 的 NAS 算法 [83-87] 成功采用。 Real 等人 [85] 提出了大规模进化 [73] 的扩展,称为 AmoebaNet,与手工设计的方法相比,它首次在 ImageNet 上取得了更好的结果。

 

由于 EA 是一类基于种群的搜索方法,基于 EA 的 NAS 方法的主要计算瓶颈在于通过调用较低级别的权重优化来评估个体的适应度。如果网络很大并且训练数据集很大,那么一种这样的评估通常需要几个小时到几天的时间。例如,在 CIFAR10 数据集上,AE-CNN [40] 消耗 27 个 GPU 天,CNN-GA [41] 消耗 35 个 GPU 天,大规模进化算法 [73] 消耗 2750 个 GPU 天,AmoebaNet [85]消耗了 3150 个 GPU 天。这严重限制了大多数进化 NAS 方法在受限搜索预算下的实际可用性。

 

因此,已经提出了各种技术来加速适应度评估,例如信息重用 [44,47] 和 SAEA [88]。 SAEA 在解决计算成本高的优化问题方面很受欢迎,它使用廉价的分类和回归模型,例如径向基函数网络 (RBFN) [89,90] 和高斯过程 (GP) 模型 [91,92],以取代昂贵的适应度评估[93]。通常,候选网络是从少量昂贵的适应度评估中训练出来的,然后将训练后的网络用于构建适应度预测器,以降低适应度评估的成本。在进化 NAS 领域,Swersky 等人 [33] 采用贝叶斯优化 [94] 来加速进化优化,称为冻融贝叶斯优化。不幸的是,该算法基于马尔可夫链蒙特卡罗采样,也存在计算复杂度高的问题。孙等人提出了一种称为 E2EPP 的性能预测器,它基于一类 SAEAs 方法 [43],用于对昂贵的工程问题进行离线数据驱动的进化优化。具体来说,E2EPP 构建了一个可以预测候选 CNN 质量的代理,从而避免了在搜索过程中对大量神经网络的训练。与 AE-CNN 相比,由 E2EPP 辅助的 AE-CNN 变体(称为 AE-CNN+E2EPP)可以在 CIFAR100 和 CIFAR10 上分别实现 2.3 倍和 2.1 倍的 GPU 天数减少。 Lu 等人 [95] 采用两个代理来解决双层 NAS 问题。一方面,在权重级别采用微调方法,提高 SGD 训练的效率。另一方面,在线学习方法用于提高神经架构级别的搜索空间的样本效率。

 

知识继承 [44,47] 是另一种加速适应度评估的有前途的方法。 Zhang 等人 [44] 提出了一种基于无性繁殖的 EA,为深度 CNN 和知识继承寻找更好的类型,以降低计算成本。一旦子代个体的拓扑由其父代生成,子代网络的权重就直接从其父代复制。对于没有出现在其父网络中的边,权重是随机初始化的。

 

为了减少适应度评估的计算负担,另一种广泛采用的方法是使用代理指标来训练和评估个体[85-87]。代理模型的性能被用作替代测量来指导进化搜索。此类代理指标包括减少预期网络架构的宽度(通道数)和深度(层数)以创建小规模网络、缩短训练时间、降低输入图像的分辨率以及在完整训练数据集的子集。然而,这些简单的代理模型构建方法可能会导致预测中的低相关性,主要是因为它们可能会在适应度估计中引入偏差。 Zhou 等人 [86] 对代理指标的不同组合进行了广泛的实验,以研究它们在保持 NAS 中的秩一致性方面的行为,在此基础上提出了一种可靠的分层代理策略来完成经济的神经架构搜索 (EcoNAS)。分层代理策略旨在使用快速代理更早地丢弃不太有希望的候选个体,并使用更昂贵的代理估计更有希望的个体。因此,与 AmoebaNet [85] 相比,EcoNAS 方法能够在不牺牲性能的情况下实现 400 倍的搜索时间减少。 Lu 等人 [87] 凭经验建立了代理性能与真实性能的相关性和估计加速之间的权衡。

 

已经报道了考虑多个冲突目标的进化多目标 NAS 方法。设计 CNN 的最早的进化多目标方法之一是 NEMO [96],它同时优化了基于 NSGA-II [97] 的网络的分类性能和推理时间。受 NEMO 的启发,Lu 等人 [84] 将分类误差和计算复杂度作为两个目标。此外,他们经验性地测试了多个计算复杂度指标,以测量包含活动层数、层间激活连接数和浮点运算 (FLOP) 数量的网络的推理时间。然后,FLOPs 被用作优化的第二个冲突目标。此外,采用贝叶斯网络(BN)来学习有关搜索历史中存在的有前途的架构的知识,然后指导未来利用生成新架构。随后,Lu 等人提出了 NSGANet-v2 [87],它是 NSGANet [84] 的扩展,其中引入了一个全面的搜索空间,包括更多的层操作和一个控制模型宽度的选项。 Dong 等人 [98] 在 [99] 的基础上提出了一个 DPP-Net,它优化了 GPU 内存使用和模型性能。 Elsken 等人 [100] 提出了 LEMONADE 方法,该方法将 NAS 表述为一个双目标优化问题,可以最大化性能并最小化所需的计算资源。受 [101] 的启发,LEMONADE 通过定制设计的近似网络态射降低了计算成本,这使得后代个体与其先行者共享权重,避免从头开始训练新网络。请注意,浅层网络的进化多目标结构优化可以追溯到十年前[102]。Lu 等人 [103] 提出了一种将多目标进化算法和在线迁移学习相结合的方法,用于设计任务相关的网络架构,权衡模型性能和计算复杂度。作者首先训练了一个覆盖搜索空间的特定任务的一次性模型,然后可以从搜索空间中采样专门的子模型而无需额外的训练。然后他们采用在线回归器作为代理模型来预测一次性模型中子模型的性能。

 

3.3基于GD的 NAS

 

与上述无梯度优化方法相比,基于 GD 的方法(图 8)最近变得越来越流行,主要是因为它们的搜索速度比基于 RL 和基于 EA 的方法快得多。早期的基于 GD 的方法 [104-107] 分别实现了优化层超参数或连接模式的想法。 Lorraine 等人 [108] 介绍了一种基于 GD 的廉价超参数优化算法。 Liu 等人 [109] 在 DARTS 算法中使用了 GD,它优化了网络权重和架构。作者使用松弛技巧使候选操作的加权和可微,然后应用梯度下降法直接训练权重。受 DARTS [109] 的启发,Dong 等人 [110] 使用可微架构采样器 (GDAS) 方法引入了基于梯度的搜索。作者开发了一种可微架构采样器,它以可微的方式对单个架构进行采样,以加速架构搜索过程。随机 NAS(SNAS)[111] 优化了不同候选操作之间连接的概率分布。 Li 等人 [112] 观察到,在搜索阶段具有更高性能的模型可能在评估中表现更差。因此,他们将搜索过程划分为子问题,并提出了基于 DARTS 的顺序贪心架构搜索(SGAS),它贪婪地选择和修剪候选操作(例如卷积层)。作者将 SGAS 应用于 CNN 和图卷积网络 (GCN),并取得了具有竞争力的性能。Xu等人[113]提出了部分连接的DARTS(PCDARTS),它对超级网络的一小部分进行采样,以减少探索网络空间的冗余。与 DARTS 相比,PC-DARTS 不仅具有更快的速度和更高的训练稳定性,而且具有极具竞争力的学习性能。 Gao等人[114]在生成对抗网络(GAN)中提出了第一个基于GD的NAS方法,称为对抗神经架构搜索(AdversarialNAS),它可以以可微分的方式同时搜索生成器和判别器的架构。

 

上述基于 GD 的 NAS 方法的一个瓶颈(例如DARTs)是它在搜索过程中需要过多的 GPU 内存,因为所有候选网络层必须在 GPU 内存中显式实例化。结果,搜索空间的大小受到限制。为了解决这个问题,Wan 等人 [115] 提出了 DMaskingNAS,一种内存和计算效率高的 DARTS 变体。 DMaskingNAS 采用掩码机制来重用特征图。因此,尽管 DMaskingNAS 的搜索空间比传统的 DARTS 扩展了 1014 倍,但内存和计算成本几乎保持不变。

 

解决上述问题的另一种方法是利用代理任务,例如,仅使用少量构建块进行学习或训练少量 epoch [109,111]。然而,由于受限的块多样性[107],这些方法不能保证在目标任务上是最优的。 Cai 等人 [107] 提出了 ProxylessNAS 方法,该方法直接基于目标任务和硬件设计网络,而不是使用代理。同时,作者使用路径二值化将 NAS 的计算成本(GPU 小时和 GPU 内存)降低到与正常训练相同的水平。因此,ProxylessNAS 算法可以在没有任何代理的情况下在 ImageNet 数据集上生成网络架构。

 

最近基于 GD 的 NAS 方法被表述为双层优化问题,然而,He 等人 [116] 观察到,当前方法中的双层优化是基于启发式解决的。例如,问题的解决方案需要得到二阶方法的近似值 [109,110]。 He 等人 [116] 证明该近似具有叠加影响,主要是因为它基于网络权重的一步近似。结果,梯度误差可能导致算法无法收敛到(局部)最优解。因此,作者提出了混合级重构 NAS (MiLeNAS),它在混合级公式上使用一阶方法。实验结果表明,与原来的双层优化方法相比,MiLeNAS 取得了更高的分类精度。

 

4联邦神经架构搜索

联邦 NAS 旨在优化联邦学习环境中神经网络模型的架构。正如“联邦学习”部分所讨论的,分布式模型训练本质上比集中式训练更困难,并且对于 NAS 问题变得更具挑战性。在本节中,我们将介绍目前对联邦 NAS 的研究,并从两个角度进行讨论:在线和离线优化,以及单目标和多目标优化。需要注意的是,目前对联邦 NAS 工作的研究仅限于水平联邦学习,而垂直联邦学习中的联邦 NAS 迄今为止尚未见报道。

 

4.1离线和在线联合神经架构搜索

大多数 NAS 方法包括两个步骤,即搜索神经网络模型的架构,然后训练找到的神经网络模型的权重。最重要的是,只有最终的表现很重要。我们将这些方法定义为离线 NAS,因为搜索和训练步骤通常是分开的,并且只会使用优化的网络。相比之下,在线 NAS 需要同时进行架构优化和权重训练,并且在搜索过程中必须使用一些模型。因此,模型在优化期间的性能必须是可以接受的。

 

这个概念可以很容易地扩展到联邦学习。换句话说,必须同时执行全局模型的神经架构搜索和权重训练的联邦 NAS 系统称为在线或实时联邦 NAS,而可以先进行神经架构搜索然后进行权重的联邦 NAS找到的模型被训练是离线的。同样,在线联合 NAS 要求在优化过程中可以使用神经网络模型。

 

例如,[12]中提出的方法是使用多目标进化算法的典型离线联邦NAS框架。一种离线进化的联邦 NAS 算法可以总结如下:

1. 用种群大小 N 初始化父母,每个个体代表神经网络的一种架构。在联邦学习中与所有参与的客户一起构建和训练 N 个神经网络模型,以实现父母的适应度值(例如,验证准确度)。2. 对父母应用遗传算子,生成 N 个后代个体。构建和训练所有生成的后代模型,用于联邦学习中的适应度评估。

3. 将亲代种群和子代种群合并为一个种群,进行环境选择。从组合种群中选择最好的 N 个个体作为新父母。

4.重复以上两步,直到进化算法收敛。

5. 在联邦学习中训练优化的神经网络模型的权重

 

可以看出,所有参与的客户端都用于联合模型训练,即在每一代,所有参与的客户端都必须对 N 个个体中的每一个进行一定轮次的适应度评估,这显着增加了计算和通信成本。客户抽样可用于缓解此问题,其中只有参与客户的子集有助于个人的模型训练。例如在[117]中,所有连接的客户端被分成不同的组,每个采样模型使用一组客户端进行本地训练。该方法的总体流程总结如下:

 

1. 初始化全局模型和服务器中的资源预算列表。

2. 基于当前全局模型,通过模型剪枝[118]生成简化的全局模型列表。然后将这些全局模型分发给不同的组客户端。

3. 对于每一轮通信,每组客户针对多个预定义的时期训练他们分配的组模型,并计算验证数据集上的测试准确度。然后将本地测试精度和验证数据大小都上传到服务器。服务器聚合上传的本地模型并计算每个组模型的加权准确度。删除 α% 的测试准确度最差的全局模型(删除了不会在下一轮通信中训练和更新的全局模型)。其余的客户端组将他们计算的模型梯度上传到服务器进行聚合。

4. 对多个预定义的通信轮次重复上述步骤。

5.用全局模型列表中的第一个模型替换并存储全局模型。

6. 重复以上四个步骤,直到收敛。

7. 对任何存储的全局模型执行联合训练。

 

尽管与进化方法相比,上述过程使用了不同的架构生成方法(模型修剪)和搜索空间,但它显然是一个基于群体的离线联邦 NAS 框架(权重训练和架构搜索是分开的)。除了客户端抽样之外,作者还移除了全局模型的子集,以进一步降低通信成本。但是,列表中每个全局模型的测试精度是在模型聚合之前计算的,有时不能代表真实的测试精度,尤其是在客户端数据特别非 IID 的情况下。

 

离线联邦 NAS 的整体框架如图 9 所示,它有两个主要困难:(1)每个个体的联邦模型训练的通信轮数难以确定。设置少量的通信轮次可能会使个人的模型训练不足,并使适应度评估产生偏差。另一方面,设置非常多的通信轮数会消耗过多的通信资源。 (2) 训练候选神经网络模型会消耗额外的通信资源,这在联邦学习中应该避免。基于以上原因,需要开发在线联合NAS框架来解决上述问题。

 

 

在线联合 NAS 训练模型并同时进行架构优化(如图 10 所示)。据我们所知,目前有两种在线联合 NAS 方法。一种是[119]中提出的基于梯度的方法,另一种是[120]中提出的基于EA的方法。基于梯度的方法采用了 DARTS [109] 的思想,在联邦环境中实现。这里的全局模型称为超网,它由重复的有向无环图(DAG)组成,每个 DAG 包含所有候选操作。松弛技巧[121]用于使候选操作的加权和可微,以便可以通过梯度下降算法直接更新架构参数。下面对该方法进行简要说明。

 

1、服务器初始化超网及其架构参数。

2. 所有连接的客户端从服务器下载超网及其架构参数。

3. 每个客户端首先在小批量训练数据上训练和更新具有固定架构参数的超网。然后在小批量验证数据上使用固定模型参数更新架构参数。这两个过程在一个本地训练时期内交替执行。

4. 在本地训练几个 epoch 后,所有参与的客户端都将模型和架构参数上传到服务器。服务器对超网和架构参数执行加权平均。

5. 从第 2 步到第 4 步重复直到收敛。

 

与前面提到的两个离线联合 NAS 框架不同,该方案不是基于人口的,因为所有候选操作都是联合优化的。此外,在联合训练期间,交替进行超网模型的架构搜索和权重训练。因此,训练候选模型不需要额外的通信资源。但是,在本地客户端上联合优化超网需要更多的计算和内存资源,这不太适合手机等边缘设备。

 

为了减少本地设备的内存使用,在[120]中提出了一种更轻量级的实时进化NAS框架(RTFedEvoNAS)。与之前基于梯度的方法不同,RT-FedEvoNAS 在联邦学习中采用模型采样技术 [47,122],其中仅对全局模型中的一条重复单元路径进行采样并下载到本地客户端。结果,本地计算和上传成本都显着降低。整体流程描述如下

 

1. 初始化服务器中的超网。生成包含 N 个个体的父群体,每个个体代表一个使用选择键从超网中采样的单路径子网。进行客户端抽样,将 L 个客户端平均分配到 N 个组中。

2.将每个父个体的子网下载到每组客户端进行训练。训练完成后,将 L 个本地子网上传到服务器进行聚合以更新超网模型。

3. 使用交叉和变异生成 N 个后代个体。同样,为每个后代个体生成一个选择键,以从超网中采样单路径子网。然后使用客户端采样技术下载采样的子网(从第二代下载选择键)进行训练,并将训练好的子网上传到服务器进行聚合。

4. 将超网连同所有父母和后代个体的选择密钥一起下载给所有参与的客户以评估目标。将所有客观值上传到服务器并计算每个人的验证错误的加权平均值。

5. 将父母和后代个体组合成一个整体。执行环境选择以选择 N 个新父母。

6. 重复步骤 3 至步骤 4,直到世代数达到预设的最大值。

 

由于每个客户端只需要训练超网的一条路径,因此这种采样方法可以显着降低上传和本地计算成本。第 4 步有一个小细节,将所有超网模型下载到每个客户端,以计算验证准确度;因此,由于上一代已经下载了整个超网,因此下一代只下载选择密钥。

注意:除了可以用选择键安排子路径,也可以冗余层。

如4层

(1)     随机剔除1层~4层。

(2)     剔除后剩下的排列。

(3)     子路径

在线方法使联合 NAS 系统能够同时执行架构搜索和训练模型。两个适应度评估阈值,例如使用在线方法不需要联邦学习中的通信轮数和用于训练搜索模型的额外通信资源,这对于联邦学习来说是非常需要的。然而,在线联合 NAS 的搜索空间相当有限,影响了架构搜索的多样性。

 

4.2单目标和多目标搜索

前面提到的基于梯度的联邦 NAS 框架只考虑和优化模型性能,这对于联邦学习通常是不够的,因为联邦 NAS 自然是一个多目标优化问题。除了模型性能的最大化之外,要在服务器和客户端之间传输的有效负载(通信成本)应该最小化。单目标优化通常使用超参数将冲突目标聚合为一个目标,而帕累托方法旨在获得一组模型,以呈现冲突目标之间的权衡关系。

 

例如,在 RT-FedEvoNAS 中,采样子网的验证精度、模型大小和模型每秒浮点运算次数 (FLOPs) 被认为是需要优化的目标,并且 NSGA-II [97] 是基本的搜索算法。最后,经过几代进化优化,可以根据用户的喜好从权衡解决方案中选择多个训练有素的子网。

 

5公开挑战

目前,联邦 NAS 的研究还很初步,还有很多挑战有待解决。

 

5.1水平分区数据

在水平联邦学习中,没有通用的解决方案可以很好地解决非 IID 学习退化问题,更不用说在联邦 NAS 中了。在[13]中提出了探索非独立同分布数据效应的最早工作。作者分析了非 IID 数据的全局模型训练出现差异的可能原因,并提出了一种策略,通过在所有连接的客户端之间全局共享一小部分数据来减轻这种影响。然而,这种数据共享本质上违反了隐私保护方案的范围。

 

联合蒸馏方法 [123,124] 具有本地数据泄露的潜在风险。对于蒸馏,教师模型在服务器上的小批量未标记数据上进行评估,并且它们的小批量 logit 用于在服务器上训练学生模型。即使在本地 GAN 生成器 [125] 生成的虚假小批量数据上,服务器也可以获得大量本地数据信息。

 

提出了一些统计聚合方法 [14,126] 来代替原来的联合平均算法(FedAvg)。数学和实验结果都证明,所提出的聚合算法在非 IID 数据上的表现优于 FedAvg。但是,这些方法通常仅限于某些特定的模型和数据集,尚不清楚它们是否可以为联合 NAS 框架显示更好的性能。 Hsieh 等人详细讨论了非 IID 数据对 DNN 的影响,并在不同的 DNN 上使用了不同的联合优化方法,例如 GoogleNet [127] 和 ResNet [74]。实验结果表明,批量归一化 [128] 在非 IID 数据上的表现非常差,但批量重归一化 [129] 和组归一化 [130] 对于非 IID 数据更加稳健,更适合联邦学习。最近,在 [10] 中表明,三元量化有助于减轻联邦学习中的模型分歧,尽管其有效性仍有待在联邦 NAS 上进行验证。

 

5.2垂直分区数据

当前的联邦 NAS 方法都是基于水平联邦学习的。与水平联邦学习不同,在垂直联邦学习中很难确定数据是 IID 还是非 IID,因为它们被“划分”到特征空间。

 

大多数现有的垂直联邦学习框架都是使用简单的线性模型建立在两方系统上的。由于只有一方可以持有标签,因此需要在密文上计算损失;否则,标签信息将被泄露。然后梯度很难计算,因为总损失是加密的。一些近似技术,如泰勒展开 [23,25],通常用于简化梯度计算,然而,这可能会为复杂模型(如 DNN)引入强烈的偏差。

 

总体而言,垂直联合 NAS 与水平联合 NAS 完全不同,水平联合 NAS 总体上仍是一个未探索的研究领域。

 

5.3对抗性联合神经架构搜索

对抗性联邦学习有两个目的:(1)推断客户端数据信息; (2)攻击全局模型进行后门[131]元素甚至让模型无法使用。联邦学习中的对手可以是参与的客户端或中央服务器之一,因为我们经常假设服务器是诚实但好奇的。因此,服务器也应被视为潜在风险。

 

联邦学习仍然容易受到白盒攻击,因为模型梯度和参数仍然包含本地数据信息。 Geiping 等人 [132] 表明,可以通过反转梯度技术从模型参数(或梯度)的知识中重建局部图像。此外,对抗性 GAN [125] 生成器可以在服务器 [133] 或客户端 [134] 上开发。即使对手不知道标签信息,它也可以重建其他参与客户的私人数据。

 

Enthoven 和 Al-Ars [135] 总结了联邦学习中使用的大多数防御策略,可分为三种类型:(1)子采样或压缩通信梯度 [6,7,136]; (2) 差分隐私和 SMC [19],以及 (3) 鲁棒性聚合 [137],使用例如拜占庭弹性聚合规则 [138,139]。

 

一般来说,在联邦学习中找到强大的模型架构来防御对抗性攻击仍然是一项艰巨的任务。

 

5.4加密的联合神经架构搜索

同态加密技术常用于防止梯度信息发送到服务器的隐私泄露。然而,在联邦 NAS 系统中使用同态加密有两个主要困难。

 

首先,同态加密,包括编码和加密,在联邦学习中的计算成本很高。首先,所有通信的模型参数都需要编码成大的整数,因为同态加密不适用于实数。然后编码后的参数需要对大素数一一做模数计算。不幸的是,现代深度神经网络模型包含数百万个参数,使得加密过程的计算量非常大。因此,开发一种轻量级的加密方法对于联邦学习来说是一项重要但具有挑战性的任务,更不用说联邦 NAS。

 

其次,引入了原始的联邦加密,其中服务器持有公钥,客户端持有私钥。这个框架是不安全的,因为只有一个客户端将其密钥上传到服务器。因此,采用了一种更高级的 SMC 方法,将整个密钥分成多个分片,服务器无法解密梯度,除非它收集到 t 个(密钥恢复阈值)密钥分片。不幸的是,加密的梯度必须在服务器和客户端之间频繁传输,这大大增加了通信成本,因为本地客户端只能通过其密钥分片对梯度进行部分解密。这对通信资源来说是一个很大的负担,未来需要解决。

 

6结论

在这篇调查论文中,提供了联邦学习和 NAS 的简要概述,并介绍了这两种技术的组合,即联邦 NAS。鉴于联邦学习和 NAS 仍存在一些挑战,联邦 NAS 变得极具挑战性,因为在集中式 NAS 中开发的许多技术不再适用于联邦 NAS,并且 NAS 将受到联邦学习环境引入的更多约束。讨论了两种联合 NAS 的方法,一种是离线优化,另一种是在线优化。需要注意的是,离线进化 NAS 方法不适用于许多现实场景,主要是因为离线方法分别进行架构搜索和权重训练,需要大量的通信成本。此外,优化下的神经网络的性能必须能够被应用所接受,不允许出现严重的性能下降。 RT-FedEvoNAS [120] 为上述挑战提供了解决方案,尽管其搜索空间受到高度限制。

 

尽管仍有许多重大挑战有待解决,但联邦 NAS 对于许多实际问题具有至关重要的实际意义,在这些问题中,手工制作的深度神经网络可能无法正常工作。我们希望本次调查有助于了解联邦 NAS 的前景和挑战,从而引发更多的研究兴趣来开发新的理论和算法,从而推动 AI 技术在更广泛的数据隐私和安全是首要关注的领域中的应用。

 

posted @ 2022-09-22 15:04  jasonzhangxianrong  阅读(786)  评论(0编辑  收藏  举报