一文概述联邦持续学习最新研究进展

人工智能 新闻
近期不断有研究人员探索联邦持续学习方法(Federated Continual Learning,FCL),即,研究持续学习在联邦学习架构下多中心协作的可行性。

由于数据隐私限制,多个中心之间的数据共享受到限制,这就影响了联邦学习架构下多中心合作开发高性能深度学习模型的效果。持续学习(Continual Learning)作为点对点联合学习的一种方法,可以通过共享中间模型而不是训练数据来绕过数据隐私的限制,从而促进多中心协作开发深度学习算法。近期不断有研究人员探索联邦持续学习方法(Federated Continual Learning,FCL),即,研究持续学习在联邦学习架构下多中心协作的可行性。

1、背景回顾

1.1 持续学习 (Continual Learning)

首先,我们来回顾一下什么是持续学习。当前,一般认为持续学习 (Continual Learning) 和增量学习(Incremental Learning)、终身学习 (Lifelong Learning) 是等价表述,它们都是在连续的数据流中训练模型,随着时间的推移,更多的数据逐渐可用,同时旧数据可能由于存储限制或隐私保护等原因而逐渐不可用,并且学习任务的类型和数量没有预定义 (例如分类任务中的类别数)。

当一个模型在新的数据集或任务上被重新训练时,深度学习会遇到灾难性遗忘的问题,即深度学习模型会灾难性地遗忘已经学到的旧知识。持续学习技术的目的是让机器学习模型通过新的数据进行更新,同时保留以前学到的知识。持续学习具有两大优点:1) 不需要保存之前任务上学习过的训练数据,从而在节约内存的同时解决了由于物理设备 (例如机器内存 ) 或学习策略 (例如隐私保护 ) 的限制所导致的数据不能被长期存储问题;2) 模型能够保存之前任务所学到的知识,并且能够极大程度地将之前任务学习到的知识运用到未来任务的学习中,从而提高学习效率。

目前,持续学习的方法仍在不断发展中,还没有严格的数学定义。韩等在文章 [1] 中给出了一幅持续学习的示意图,如图 1 所示,“在连续学习过程中,智能体逐个对每个连续的非独立均匀分布流数据示例进行学习,并且该智能体对每个示例只进行一次访问。这种学 习方式与动物学习过程更为接近。如果我们忽略各个任务的先后次序问题,单独训练每个任务,这将导致灾难性遗忘,这也是连续学习一直以来所面临的最大问题。因此,连续学习的本质是通过各种手段高效地转化和利用已经学过的知识来完成新任务的学习,并且能够极大程度地降低遗忘带来的问题。[1]”。

图片

图 1. 连续学习示意图 [1]

到目前为止,已经有许多持续学习算法,主要分为三种类型:回放方法(Memory Reply)、动态结构模型(Dynamic Structural Models)和正则化方法(Regularization Model)。1)回放方法从以前的数据集中选择有代表性的样本,以保留所学的知识。该方法的研究重点是:「要保留旧任务的哪部分数据,以及如何利用旧数据与新数据一起训练模型」,这对于克服数据存储的限制是可行的,但对于多中心合作来说是不可行的,因为由于数据隐私问题,其他中心的样本是不可用的 [6-8]。2)动态结构模型为多任务场景设计动态网络架构或动态参数,网络的各个部分(如某些权重或某些神经元连接)负责对应的各个任务 [9][10]。3)正则化方法使用相同的传统神经网络,但在损失函数中加入了新的正则化项,以保留学习知识的重要参数。该方法的主要思想是「通过给新任务的损失函数施加约束的方法来保护旧知识不被新知识覆盖」[11][12]。

1.2 联邦持续学习 (Federated Continual Learning)

联邦学习的主要思想是去中心化,将模型下放到各个参与联合训练的客户端本地,基于本地客户端的数据进行模型训练,而不需要将用户数据上传到中央服务器,从而保护各个客户端中的隐私。然而,大多数现有方法假设整个联邦学习框架的数据类别随着时间的推移是固定不变的。实际情况中,已经参与联邦学习的客户端经常可能收集到新类别的数据,但考虑到每个客户端本地设备的存储空间非常有限,很难对其收集到的所有类别都保存下足够数量的数据,这种情况下,现实世界中的联邦学习模型很可能对于旧类数据的性能遇到严重的灾难性遗忘。此外,联邦学习框架往往还会有持续不断的新用户的参与,这些新用户往往有着大量的新数据类别,这样会进一步加剧全局模型的灾难性遗忘。

近年来,有研究人员陆续提出将联邦学习和持续学习的思想结合起来构建联邦持续学习框架。然而,直接简单的将联邦学习和持续学习相结合会带来新的问题。首先是,联邦持续学习仍然面临灾难性遗忘,此外还会带来来自其他客户端潜在的干扰。因此我们需要有选择地利用来自其他客户端的知识,以最小化客户端间的干扰,最大化进行客户端间的知识转移。第二个问题是联邦学习之间进行通信交换知识时,可能会造成通信成本过大,“通信代价” 成为了一个不可忽视的问题。

我们通过四篇近期发表的文章概览联邦持续学习的最新研究进展。

  • 第一篇文章提出了一个新的联邦持续学习框架 —— 联邦加权客户端间的传输(FedWeIT)。FedWeIT 将各个客户端的本地模型参数分解为稠密基参数(a dense base parameter)和稀疏的任务自适应参数( sparse task-adaptive parameters),以便进行更高效地通信 [2]。
  • 第二篇文章提出了一种全新的全局 - 本地遗忘补偿 (GLFC) 模型,即同时从全局和本地两个角度出发,尽可能地减弱灾难性遗忘,使得联邦学习最终可训练一个全局增量模型 [3]。
  • 第三篇文章提出了一种联邦互相关和持续学习方法。对于异构性问题,该方法利用未标记的公共数据进行通信,并构造互相关矩阵来学习域偏移(domain shift)下的可概括性的表示。同时,对于灾难性遗忘,在本地更新中利用跨域和本域信息进行知识蒸馏,有效地提供域间和域内知识而不泄露参与者的隐私 [4]。
  • 第四篇文章提出了一个联邦学习架构,称为联邦多语者 TTS 系统 Fed-Speech。该架构使用渐进式修剪掩码来分离参数,以保留说话人的语调。此外,应用选择性掩码来有效地重用任务中的知识。最后,引入 private speaker embedding 以保持用户的隐私 [5]。

2、Federated Continual Learning with Weighted Inter-client Transfer

持续学习和联邦学习在现实世界的深度神经网络中都很重要。然而,对于每个客户端从私有的循环数据流中学习一连串任务的情况,却很少有人进行研究。这种联邦学习的问题给持续学习带来了新的挑战,比如,如何有效利用其他客户端的知识同时防止不相关知识的干扰?为了解决这些问题,本文提出了一个新颖的联邦持续学习框架,即联邦加权客户端间传输(Federated Weighted Inter-client Transfer,FedWeIT),该框架将网络工作权重分解为全局的联邦参数( global federated parameters)和稀疏的特定任务参数( sparse task-specific parameters),每个客户端可以通过对其特定任务参数进行加权组合,从其他客户端那里获得选择性知识。具体是通过中央服务端获得其他客户端的 task-specific parameters,再对这些参数进行加权聚合得到 selective knowledge,从而最大化相似任务之间共识知识的传递。FedWeIT 最大限度地减少了不兼容任务之间的干扰,并且在学习过程中允许客户端之间的积极知识转移。

作者将 Fed-WeIT 与现有的联邦学习和连续学习方法在不同程度的客户端之间的任务相似性进行了验证,本文模型明显较优,通信成本大大降低。代码已公布在 https://github.com/wyjeong/FedWeIT。

图片

2.1 方法介绍

受人类从间接经验中学习过程的启发,作者引入了一种新的联邦学习环境下的持续学习 --- 联邦持续学习(Federated Continual Learning,FCL)。FCL 假设多个客户端在私有数据流中的任务序列上进行训练,同时与中央服务器交互所学到的参数。在标准的持续学习中(在一台机器上),模型从一连串的任务 {T (1),T (2),...,T (T)} 中反复学习,其中 T (t) 是第 t 个任务的标记数据集。假设现实情况如下,任务序列是一个具有未知到达顺序的任务流,这样,模型只能在任务 t 的训练期访问 T (t),之后就无法访问了。给定 T (t) 和到目前为止学到的模型,任务 t 的学习目标如下:

图片


然后,将传统的持续学习扩展到有多个客户端和一个中央服务器的联邦学习环境。假设有 C 个客户端,每个客户端 c_c∈{c_1, . . . , c_C } 在一个私人可访问的任务序列 {T^(1)_c , T^(2)_c , ..., T^(t)_c }⊆ T 上训练一个模型。需要注意的是,在步骤 t 收到的跨客户端任务之间没有关系。

现在的目标是通过与中央服务器沟通模型参数,有效地在他们自己的私有任务流上训练 C 类持续学习模型,中央服务器汇总每个客户端发送的参数,并将它们重新分配给客户端。在联邦持续学习框架中,将参数汇总为一个全局参数 θ_G,允许客户端间的知识转移,因为客户端 c_i 在第 q 轮学到的任务可能与客户端 c_j 在第 r 轮学到的任务相似或相关。然而,作者分析使用单一的综合参数 θ_G 可能是实现这一目标的次优选择,因为来自不相关任务的知识可能没有用处,甚至可能会通过将其参数改变到不正确的方向来阻碍每个客户端的训练,作者将此描述为客户端间的干扰。

另一个实际上也很重要的问题是通信效率。从客户端到中央服务器,以及从中央服务器到客户端的参数传输都会产生很大的通信成本,这对于持续学习环境来说是有问题的,因为客户端可能会在无限的任务流上进行训练。如前所述,造成这些问题的主要原因是,在多个客户端学到的所有任务的知识被存储在一组参数 θ_G 中。然而,为了使知识转移有效,每个客户端应该有选择地只利用在其他客户端训练的相关任务的知识。这种选择性转移也是最小化客户端间干扰的关键,因为它不考虑可能干扰学习的不相关任务的知识。

作者通过分解参数来解决这个问题,这些参数分为三种不同的类型,具有不同的作用:全局参数(θ_G),捕获所有客户端的全局和通用知识;本地基础参数(B),捕获每个客户端的通用知识;任务适应性参数(A),用于每个客户端的每个具体任务。将一组在持续学习客户端 c_c 的任务 t 的模型参数 θ^(t)_c 定义如下:

图片

其中,B^(t)_c 是第 c 个客户端的基本参数集,在客户端的所有任务中共享。m^(t)_c 是稀疏向量掩码的集合,它允许对任务 t 的 B^(t)_c 进行适应性转换,A^(t)_c 是客户端 c_c 的稀疏任务适应性参数集合。L 是神经网络中的层数,I_l、O_l 分别是第 l 层权重的输入和输出维度。

上式中的第一项允许有选择地利用全局知识。作者希望每个客户端的基础参数 B^(t)_c 能够捕获所有客户端的所有任务中的通用知识。如图 2(a),在每一轮 t 中用前一次迭代的全局参数 θ^(t-1)_G 来初始化,汇总从客户端发送的参数。这使得 B^(t)_c 也能从关于所有任务的全局知识中受益。然而,由于 θ^(t-1)_G 也包含与当前任务无关的知识,我们不是原封不动地使用它,而是学习稀疏掩码 m^(t)_c,只为给定的任务选择相关参数。这种稀疏的参数选择有助于最大限度地减少客户端之间的干扰,从而实现高效的通信。上式中的第二项是任务适应性参数 A^(t)_c。对参数进行加法分解处理后,能够学会捕捉第一项没有捕捉到的关于任务的知识,因此将捕捉到关于任务 T^(t)_c 的具体知识。上式中的最后一项描述了加权的客户端间知识转移。我们拥有一组从中央服务器传输的参数,其中包含了所有客户端的所有任务适应性参数。为了有选择地利用这些来自其他客户端的间接经验,进一步在这些参数上分配注意力 α^(t)_c,并采取加权组合的方式。通过学习这种注意力,每个客户端可以只选择有助于学习给定任务的相关任务适应性参数。尽管作者将 A^(j)_i 设计成高度稀疏的,在实践中使用大约 2-3% 的全参数内存,但发送所有的任务知识仍然是不可取的。因此,作者选择从知识库中传输所有时间步骤的随机抽样的任务适应性参数,根据经验,作者发现这种处理方式在实践中取得了良好的效果。

图片

图 2.  FedWeIT 更新。(a) 客户端发送稀疏化的联邦参数 B_c ⊙m^(t)_c 。之后,中央服务器将聚合的参数重新分配给客户端。(b) 知识库存储了客户端先前的任务适应性参数,每个客户端有选择地利用这些参数,并有一个注意力掩码训练。我们通过优化以下目标函数来学习可分解参数 θ^(t)_c:

图片

其中,L 是损失函数,Ω(・) 是所有任务自适应参数和掩码变量的稀疏性诱导正则化项,以使它们变得稀疏。第二个正则化项用于追溯更新过去的任务适应性参数,通过反映基础参数的变化,帮助任务适应性参数保持目标任务的原始解决方案。∆B^(t)_c 是指当前时间段和前一个时间段的基础参数之差。∆A^(i)_c 是任务 i 在当前和前一时间段的任务适应性参数之间的差异。这种正则化处理对于防止灾难性的遗忘至关重要。λ1 和 λ2 是控制两个正则化作用的超参数。

图片

客户端。在每个轮次 r,每个客户端 c_c 用中央服务器发送的全局参数的非零分量部分更新其基础参数;也就是说,B_c (n) = θ_G (n),其中,n 是全局参数的非零元素。它为新任务获得一个稀疏的基础参数 ^Bb^(t)_c 和任务适应性参数 A^(t)_c,将这两个参数发送到中央服务器,与 FCL 基线方法相比,成本更低。FCL 基线方法需要 | C|×R×|θ| 的资源用于客户端到中央服务器的通信,而 FedWeIT 需要 | C|×(R×|Bb|+|A|),其中 R 是每个任务的通信轮数,|・| 是参数数量。

中央服务器。中央服务器首先对所有客户端发送的基础参数进行汇总,取其加权平均值 θ_G。然后,将 θ_G 广播给所有客户端。t-1 的任务适应性参数在训练任务 t 期间在每个客户端广播一次。FCL 基线需要 | C|×R×|θ| 的中央服务器 - 客户端通信成本,而 FedWeIT 需要 | C|×(R×|θG|+(|C|-1)×|A|),其中 θ_G、A 是高度稀疏的。算法 1 中描述了 FedWeIT 的算法。

2.2 实验情况介绍

作者验证了 FedWeIT 在不同的任务序列配置下与基线方法(Overlapped-CIFAR-100 和 NonIID-50)的对比。1) Overlapped-CIFAR-100:将 100 个 CIFAR-100 数据集类分组为 20 个 NonIID 超类任务。然后,从 20 个任务中随机抽取 10 个任务并拆分实例,为每个任务重叠的客户端创建一个任务序列。2) NonIID-50:使用以下八个基准数据集:MNIST、CIFAR-10/-100、SVHN、Fashion MNIST,Not MNIST 和 TrafficSigns。将 8 个数据集中的类划分为 50 个 NonIID 任务,每个任务由 5 个类组成,这些类与用于其他任务的类不相交。

实验中用到的对比模型如下:1)STL:单任务学习每个到达的任务。2) EWC:每个客户端进行个人持续学习。3)  Stable-SGD:每个客户端持续学习 Stable-SGD。4) APD:每个客户端使用 APD 进行个人持续学习。5) FedProx:使用 FedProx 算法的 FCL。6)  Scaffold :使用 Scaffold 算法的 FCL。7) FedCurv:使用 FedCurv 算法的 FCL。8) FedProx-[model]:使用带有 [model] 的 FedProx 算法进行训练的 FCL。9) FedWeIT:FedWeIT 算法。

表 1 给出了在两个数据集上完成(联邦)连续学习后,每项任务的最终平均性能。我们观察到,基于 FedProx 的 FCL 方法与没有联邦学习的相同方法相比,会降低连续学习(CL)方法的性能。这是因为在不相关的任务中学习的所有客户端参数的汇总导致了对每个任务学习的严重干扰,这导致了灾难性的遗忘和次优的任务适应性。Scaffold 在 FCL 上的表现很差,因为它对本地梯度的正则化处理对 FCL 是有害的,因为所有的客户端都是从不同的任务序列中学习的。虽然 FedCurv 减少了任务间的参数差异,但它不能最大限度地减少任务间的干扰,这导致它的表现不如单机 CL 方法。另一方面,FedWeIT 在两个数据集上的表现都明显优于单机 CL 基线和 FCL 基线。即使有更多的客户端(C = 100),FedWeIT 也一直优于所有基线(图 3)。这种改进主要归功于 FedWeIT 有选择地利用其他客户端的知识来迅速适应目标任务的能力,并获得更好的最终性能。

图片

表 1. 5 个客户端在 FCL 期间对两个数据集的平均每任务表现(分数 = 1.0)。在完成所有学习阶段的 3 次单独试验后,作者测量了任务准确性和模型大小。作者还测量了训练每个任务的 C2S/S2C 通信成本

图片

图 3. 训练最后两个(第 9 和第 10 个)任务时的平均任务适应性,有 5 个和 100 个客户端

对新任务的快速适应是客户端间知识转移的另一个明显优势。为了进一步证明本文方法在更大的网络中的实用性,作者在 ResNet-18 的 NonIID 数据集上进行了实验(表 2),FedWeIT 在使用较少参数的情况下仍然明显优于最强基线(FedProx-APD)。

图片

表 2. 使用 ResNet-18 在 NonIID-50 数据集上的 FCL 结果

此外,作者研究了在持续学习过程中过去任务的表现如何变化,以了解每种方法的灾难性遗忘的严重程度。图 4 给出了 FedWeIT 和 FCL 基线在第 3、第 6 和第 8 个任务上的表现。我们观察到,FCL 基线比带有 EWC 的本地持续学习遭受了更严重的灾难性遗忘,这是因为客户端间的干扰,来自其他客户端的不相关任务的知识覆盖了过去的任务知识。与此相反,本文模型没有显示出灾难性遗忘的迹象。这主要是由于选择性地利用了通过全局 / 任务自适应参数从其他客户端那里学到的先验知识,这使得它能够有效地缓解客户端间的干扰。FedProx-APD 也不存在灾难性遗忘的问题,但由于知识转移的无效性,它们的性能较差。

图片

图 4. 灾难性遗忘。在 NonIID-50 的联邦持续学习过程中,在第 3、6 和 8 个任务中关于当前任务适应性的性能比较

3、Federated Class Incremental Learning

图片

3.1 本地灾难性遗忘补偿

通过在分散的客户端上进行数据私有的协作训练,联邦学习吸引了越来越多的关注。然而,大多数现有的方法假设整体框架的对象类别是固定的。这使得全局模型在现实世界的场景中遭受了严重的灾难性遗忘,因为本地客户端经常不断地收集新的类别,而用于存储旧的类别的存储空间非常有限。此外,存有之前未见过的新类别数据的新客户端可能参与 FL 训练,这就进一步加剧了全局模型的灾难性遗忘。为了应对这些挑战,本文提出了一个新的全局 - 本地遗忘补偿(Global-Local Forgetting Compensation,GLFC)模型,从本地和全局的角度学习一个全局类别增量模型来缓解灾难性遗忘。作者表示,这是第一次尝试在 FL 设置中学习全局类增量模型(a global class-incremental model)。具体来说,为了解决本地客户端的类别不平衡引起的本地遗忘,作者设计了一个类别意识的梯度补偿损失和一个类别语义关系蒸馏损失,以平衡旧类别的遗忘,并在不同任务中蒸馏出一致的类间关系。为了解决 non-i.i.d 类不平衡带来的全局遗忘问题,作者提出了一个代理服务器,选择最佳的旧全局模型来协助本地关系蒸馏。考虑到隐私保护,代理服务器通过基于原型梯度的通信机制从本地客户端收集新类的扰动原型样本,然后利用它们来监测全局模型的性能以选择最佳模型。本文模型在代表性的基准数据集上的平均准确率比 SOTA 方法高出 4.4%∼15.1%。代码已公布在 https://github.com/conditionWang/FCIL。

图 5 描述了本文模型的概况。为了满足 FCIL 的要求,本文模型通过类别意识梯度补偿损失和类别语义关系蒸馏损失来解决本地遗忘问题,同时通过代理服务器为本地客户端选择最佳旧模型来解决全局遗忘问题。

图片

图 5. GLFC 模型概述。它主要由类别意识梯度补偿损失 L_GC 和类别语义关系蒸馏损失 L_RD 组成,以克服本地的类别不平衡造成的本地灾难性遗忘。使用代理服务器 S_P 来解决 non-ii.d. 类别不平衡带来的跨客户端的全局灾难性遗忘,其中 S_P 和客户端之间开发了一个原型梯度通信机制用于私人通信,同时为 L_RD 选择最佳旧的全局模型

在第 t 个增量任务中,给定第 l 个本地客户端 S_l∈S_b 的新类别训练数据和样本存储器 M_l,minibatch 的分类损失 L_CE 为:

图片(1)

其中,b 是批次大小,Θ_r,t 是第 r 轮全局任务的分类模型,由中央服务器传送给本地客户端。P^t_l (x_t^(l_i, Θ_r,t) ∈R^(C^p+C^t)表示通过 Θ_r,t 预测的 sigmoid 概率,DCE (・,・) 是二元交叉熵损失。

如前所述,新旧类别(T^t_l 和 M_l)本地不平衡,使得本地训练在旧的类别上出现了明显的性能下降(即本地灾难性遗忘)。为了防止本地遗忘,如图 5 所示,本文为本地客户端开发了一个类别意识的梯度补偿损失和一个类别语义关系蒸馏损失,它可以纠正不平衡的梯度传播并确保跨增量任务的类别间语义一致性。

  • 类别感知梯度补偿损失:在 S_G 将 Θ^r,t 分布到本地客户端后,本地客户端的类别不平衡分布导致 Θ^r,t 中最后输出层的梯度反向传播不平衡。它使得本地模型 Θ^r,t_l 的更新在本地训练后,在新的类别中执行不同的 learning paces,在旧的类别中执行不同的 forgetting paces。当新的流媒体数据不断成为旧的类别的一部分时,这种现象严重恶化了对旧类别的本地遗忘。

对应于此问题,本文设计了一个类别意识梯度补偿损失 L_GC,通过重新加权梯度传播,分别对新类别的学习速度和旧类别的遗忘速度进行规范。具体来说,对于单个样本(x^t_li, y^t_li),我们得到一个相对于 Θ^r,t_l 中最后输出层的第 y^t_li 个神经元的梯度测量 G^t_li:

图片 (2)

为了使新类别的学习速度和旧类别的遗忘速度正常化,我们对新旧类别分别进行梯度规范化处理,并利用它来重估 L_CE。给定一个小批次 {x^t_li, y^t_li},定义如下:

图片(3)

作为新旧两类别的梯度手段,其中 I (・) 是指标函数,如果下标条件为真,I (True)=1;否则,I (False)=0。因此,重新加权的 L_CE 损失表述如下:

图片(4)

 

  • 类别 - 语义关系蒸馏损失。在初始化为当前全局模型 Θ^r,t 的本地模型 Θ^r,t_l 的训练过程中,Θ^r,t_l 预测的概率表示类间语义相似关系。为了确保不同增量任务之间的类间语义一致性,作者通过考虑新旧类之间的基本关系,设计了一个类别 - 语义关系蒸馏损失 L_RD。如图 5 所示,分别将一个小批次的数据集 {X^t_lb, Y^t_lb} 转发到存储的旧模型 Θ^t-1_l 和当前的本地模型 Θ^r,t_l。这些概率反映了新旧两类之间的类间关系。与现有的知识蒸馏策略不同的是,作者通过优化 L_RD 同时考虑了新旧类之间的类间关系,只保证旧类在 Θ^t-1_l 和 Θ^r,t_l 之间的语义一致性。也就是说,利用独热编码标签 Y^t_lb 的一个变体,用 P^t-1_l (X^t_lb, Θ^t-1_l) 代替 Y^t_lb 的第一个 C^p 维度,并将这个变体表示为:

图片

由此得到 L_RD 如下:

图片 (5)

总的来说,第 l 个本地客户端的优化目标为:

图片(6)


任务转移检测。在 FCIL 中,我们没有关于本地客户端何时收到新类数据的先验知识。为了解决这个问题,作者考虑一个解决方案:识别训练数据的标签以前是否被观察到过。然而,由于类别分布的 non-i.i.d. 设置,这种方法不能确定新收到的标签是来自新的类别还是其他本地客户端观察到的旧的类别。另一个直观的解决方案是使用性能下降作为收集新类的信号。这种解决方案在 FCIL 中是不可行的,因为随机选择 {So, Sb, Sn} 和它们的 non-i.i.d. 类分布会导致性能急剧下降,即使没有收到新的类。为此,作者提出了一种任务转移检测机制,以准确识别本地客户端何时收到新的类别。具体来说,在第 r 个全局轮次,每个客户端通过收到的全局模型 Θ^r,t 对其当前训练数据 T^t_l 计算平均熵 H^r,t_l:

图片 (7)

3.2 全局灾难性遗忘补偿

虽然公式(6)可以解决本地的类别不平衡带来的本地灾难性遗忘,但它不能解决来自其他客户端的异质性遗忘(即全局灾难性遗忘)。换句话说,non-i.i.d. 类的不平衡分布在本地客户端上导致了某些旧类的全局灾难性遗忘,进一步恶化了本地灾难性遗忘。因此,有必要从全局角度解决不同客户端的异质性遗忘问题。如前所述,公式(5)中提出的类别 - 语义关系蒸馏损失 L_RD 需要存储以前任务的旧分类模型 Θ^t-1_l 来提炼类间关系。一个较好的 Θ^t-1_l 可以在全局上增加以前任务的蒸馏收益,从全局上加强对旧类的记忆。因此,Θ^t-1_l 的选择在全局灾难性遗忘补偿中起着重要作用,应从全局角度考虑。

然而在 FCIL 中,由于隐私保护很难选择最佳 Θ^t-1_l。直观的解决方案是,每个客户端在第(t-1)个任务期间用训练数据 T^t-1_l 存储其最佳旧模型 {Θ^t-1_l}。不幸的是,这个解决方案是从本地角度考虑选择 Θ^t-1_l 的,不能保证所选择的 Θ^t-1_l 对所有的旧类都有最好的记忆,因为每个本地客户端只有一个旧类子集(non-i.i.d)。为此,作者引入一个代理服务器 S_P,从全局角度为所有客户端选择最佳的 Θ^t-1,如图 5 所描述。具体来说,当本地客户端通过任务转换检测在第 t 个任务开始时识别了新的类(即 T^t_l),他们将通过基于原型梯度的通信机制将新类的扰动原型样本传送给 S_P。在收到这些梯度后,S_P 重建被扰动的原型样本,并利用它们来监测全局模型 Θ^r,t(从 S_G 收到)的性能,直到找到最佳模型。当步入下一个任务(t+1)时,S_P 将最优 Θ^r,t 分发给本地客户端,本地客户端将其视为最优旧模型来执行 L_RD。

  • 基于梯度的原型通信。给定第 l 个本地客户端 Sl∈Sb∪Sn,该客户端收到训练数据 T^t_ l 的新类,Sl 通过任务转换 detention 来识别新的类。然后 Sl 从 T^t_l 中为每个新的类(c = C^p_l + 1, - -, C^p_l +C^t_l)只选择一个有代表性的原型样本 x^t_lc∗,其中 x^t_lc∗的特征最接近属于 c 类的所有样本在潜在特征空间的平均嵌入。然后将这些原型样本和它们的标签送入 L 层梯度编码网络 Γ = {Wi},计算梯度∇Γ_lc。S_P 随机处理所有从本轮全局的选定客户端处收到的梯度,以构建一个梯度池,假设这个池子里有 N^t_g 个梯度。这种操作可以防止 S_P 通过注释特殊的梯度分布来追踪某些选定的客户端。对于∇Γ^t 的第 n 个元素∇Γ^t_n,我们可以通过观察∇Γ 中最后一层的梯度符号来获得其对应的 ground-truth 标签 y^t_n(有一个独热编码标签 y^t_n)。给定一个由标准高斯 (N0,1) 初始化的假样本 x¯^t_n,将所有的 {x¯^t_n, ∇Γ^t_n, y^t_n} 对转发到 Γ = {Wi},该网络与本地客户端使用的梯度编码网络相同,以恢复每个新类的原型样本。重建损失 L_RT 如下:

图片(8、9)


  • 最优旧模型的选择。当检测到新的类时,S_P 只能在第 t 个任务的第一轮接收本地客户端的梯度。然后,S_P 通过优化公式(9)重建 N^t_g 个新类别的原型样本及其标签(即 {x¯^t_n, y^t_n})。在第 t 个任务中,S_P 将这些重建的样本转发到全局模型 Θ^r,t(从 S_G 处收到),通过评估哪个模型具有最佳精度来选择最佳 Θ^t,直到收到下一个任务的新类的梯度。在从第二个任务开始的每一轮全局处理过程中,S_P 将上一个任务和当前任务的最优模型(即 Θ^t-1 和 Θ^t),分配给所有被选中的客户端。如果这些被选中的客户端在第 t 个任务中检测到 T^t+1_l 的新类,他们将把 Θ^t 设置为旧模型 Θ^t-1_l,否则,将 Θ^t-1 设置为 Θ^t-1_l 来执行 L_RD。

扰动的原型样本构建。尽管网络 Γ 只有 S_P 和本地客户端可以私下访问,但可以窃取 Γ 和这些梯度来重建第 l 个本地客户端的原始原型样本 {x^t_lc∗ , y^t_lc∗ }。为了实现隐私保护,作者建议在这些原型样本中加入扰动。即使能重建原型样本,也只能从扰动的原型样本中获得很少的有用信息。给定一个原型样本 {x^t_lc∗ , y^t_lc∗ },将其转入通过公式(6)训练的本地模型 Θ^r,t_l,并应用反向传播来更新这个样本。为了产生扰动的原型样本,作者在原型样本的潜在特征中引入一个高斯噪声,然后通过公式(11)更新 x^t_lc∗:

图片

图片(10)

图片(11) 

其中,Φ(x^t_lc∗) 表示 x^t_lc∗的潜在特征,P^t_l (Φ(x^t_lc∗)+γN (0, σ2), Θ^r,t_l) 是在 Φ(x^t_lc∗) 中加入高斯噪声 N (0, σ2) 时通过 Θ^r,t_l 预测的概率。σ2 代表属于 y^t_lc∗的所有样本的特征方差,作者根据经验设定 γ=0.1,以控制本文中高斯噪声的影响。图 6 展示了一些重建的原型样本。

图片

图 6. CIFAR-100 中原始原型样本(上行)、扰动原型样本(中行)和通过代理服务器重建的原型样本(下行)的可视化情况

3.3 实验情况介绍

本文在 CIFAR-100、ImageNetSubset 和 TinyImageNet 上进行实验,对比实验结果如表 3-5。其中,△表示本文模型与其他比较方法相比的改进。我们观察到,在 FCIL 设置中,本文模型以 4.4%~15.1% 的幅度超过了现有的 class-incremental 方法的平均精度。这验证了本文模型可以使本地客户端协同训练一个全局的 class-incremental 模型。此外,与其他方法相比,本文模型在所有增量任务中都有稳定的性能提升,这验证了本文模型在解决 FCIL 中遗忘问题的有效性。

图片

表 3. 本文模型和其他基线方法在 CIFAR-100 上的性能比较

图片

表 4. 本文模型和其他基线方法在 ImageNet-Subset 上的性能比较

图片

表 5. TinyImageNet 上前 10 个任务与 20 个任务的比较

此外,作者对基准数据集上的各种增量任务(T=5、10、20)进行定性分析,以验证 GLFC 的性能。根据这些曲线,我们可以很容易地观察到,在不同的任务数量(T=5,10,20)的设置下,我们的模型在所有的增量任务中都比其他基线方法表现更好。这表明 GLFC 模型能够使多个本地客户端以流式方式学习新的类,同时解决本地和全局遗忘问题。如图 7、8 所示。

图片

图 7. T=5(左)、T=10(中)和 T=20(右)时,对 CIFAR-100 上不同增量任务的定性分析

图片

图 8. T=5(左)、T=10(中)和 T=20(右)时,ImageNet-Subset 上增量任务的定性分析

4、Learn from Others and Be Yourself in Heterogeneous Federated Learning

图片

联邦学习已经成为一种重要的分布式学习范式,它通常涉及与他人的协作更新和私有数据的本地更新。然而,异质性问题和灾难性遗忘给联邦学习带来了挑战。首先,由于 non-i.i.d 数据和异质结构,模型在其他域的性能下降,并与参与者的模型存在沟通障碍。其次,在本地更新中模型是在私有数据上单独优化的,这很容易过度拟合当前的数据分布,忘记以前获得的知识,导致灾难性的遗忘。本文提出了联邦交叉相关和持续学习(Federated Cross-Correlation and Continual Learning,FCCL)。对于异质性问题,FCCL 利用未标记的公共数据进行通信,并构建交叉相关矩阵来学习域偏移的可泛化表示。同时,对于灾难性遗忘,FCCL 利用本地更新中的知识提炼,在不泄露隐私的情况下提供域间和域内信息。作者通过各种图像分类任务的实证结果证明了本文方法的有效性和模块的效率。

按照标准的联邦学习设置,有 K 个参与者(以 i 为索引),每个参与者都有一个本地模型 θ_i 和私有数据 D_i = {(X_i,Y_i)|X_i∈R^(Ni×D), Y_i∈R^(Ni×C) },其中,N_i 表示私有数据的数量,D 表示输入大小,C 定义为分类的类别数量。同时,私有数据分布表示为 P_i (X, Y),并改写为 P_i (X|Y ) P_i (Y)。此外,在异质联邦学习中,数据的异质性和模型的异质性定义如下:

  • 数据的异质性。P_i (X|Y )≠P_j (X|Y )。私有数据之间存在域偏移,即私有数据的条件分布 P (X|Y) 在不同的参与者中是不同的,即使 P (Y) 是共享的。具体来说,同一个标签 Y 在不同域有不同的特征 X。
  • 模型的异质性:Shape (θ_i) ≠ Shape (θ_j )。参与者独立定制模型,即对于分类任务,所选择的骨干网(如 ResNet、EfficientNet 和 MobileNet)是不同的,具有不同的分类器模型。

作者利用无标签的公共数据 D_0={X_0|X_0∈R^(N0×D)} 来实现通信。公共数据在实际场景中相对容易获取。第一名参与者的目标是达成沟通,并学习具有可概括性的模型 θ_i。此外,考虑到灾难性的问题,θ_k 需要呈现更高更稳定的域间和域内性能。本文方法的框架如图 9 所示。具体来说,在协作更新中,作者测量未标记的公共数据上输出的 Logits 之间的交叉相关矩阵,以实现相似性和减少冗余。同时,在本地更新中,通过知识蒸馏不断平衡多域的信息。

图片

图 9. FCCL 示例。(a) 本文方法的简化示意图,该方法通过联邦交叉相关学习和联邦持续学习解决了异质性问题和灾难性遗忘;(b) 联邦交叉相关学习;(c) 联邦持续学习。梯度颜色比例反映了其他参与者的影响程度

4.1 联邦交叉相关学习

维度级(Dimension-Level)操作的启发。受信息瓶颈进行自监督学习的成功经验启发,作者提出:一个可概括的表征应该尽可能地提供关于图像的信息,同时尽可能地对应用于该样本的特定域的变换不产生影响。在本文工作中,域偏移导致同一标签 Y 在不同域有不同的特征 X。因此,不同域的 logits 输出沿批次维度的分布是不一样的。此外,不同维度的 logits 输出对应着不同的类别。因此,我们需要鼓励相同维度的不变性和不同维度的多样性。私有数据带有特定的域信息,并且受到隐私保护,这对于进行自监督学习是不合适的,也是不可行的。因此,我们利用未标记的公共数据,这些数据通常是从多个域产生和收集的,而且很容易获得。我们通过要求 logits 输出不受域偏移的影响,以及在无标签的公共数据上对 logits 输出的不同维度进行修饰来优化私有模型。

交叉相关矩阵的构建。具体来说,我们得到第 i 个参与者的 logits 输出。Z_i =f (θ_i, X_0) ∈R^(N_0×C) 。对于第 i 个和第 j 个参与者,在未标记的公共数据上的 logits 输出为 Z_i 和 Z_j。值得注意的是,考虑到中央服务器端的计算负担,我们计算 average Logits 输出:

图片

然后,计算交叉相关矩阵,第 i 个参与者的 average logits 输出为 M_i:

图片(12)

其中,b 指的是批次样本,u、v 指的是 logits 输出的维度,||・|| 是沿批次维度进行的归一化操作。M_i 是一个正方形矩阵,大小为输出维度 C,数值在 - 1(即不相似)和 1(即相似)之间。那么,第 i 个参与者的协作损失定义为:

图片(13) 

其中,λ_Col 是一个正常数,用来权衡损失的第一项和第二项的重要性。当交叉相关矩阵的对角线项取值为 + 1 时,它鼓励不同参与者的 logits 输出相似。当交叉相关矩阵的对角线项取值为 - 1 时,它鼓励 logits 输出的多样性,因为这些 logits 输出的不同维度是彼此不相关的。

4.2 联邦持续相关学习

典型的监督损失。对于联邦学习中的本地更新,目前的方法通常将这个过程作为一个监督分类问题。具体来说,在第 t 轮通信中,协作更新后,将第 i 个私有模型定义为 (θ^t,im)_i。然后,在固定 epoch 的私有数据 D_i (X_i, Y_i) 上优化 (θ^t,im)_i。给定如下 logits 输出:

图片

用 softmax 对交叉熵损失进行优化:

图片 (14)

图片

这样的训练目标设计可能会面临灾难性遗忘的问题,主要是由于以下两个限制:1)在本地更新中,如果没有其他参与者的监督,模型很容易过度拟合当前的数据分布,呈现出糟糕的域间性能。2)它只对预测进行独立的先验概率惩罚,这提供了有限的和 hard 的域内信息。

双域知识蒸馏损失。作者开发了一种联邦持续学习方法,通过从模型方面对目标进行正则化来解决 1)和 2)的问题。具体来说,在第 t-1 轮训练结束时,更新的模型 (θ^t-1)_i 包含了从其他参与者学到的知识。在私有数据上计算 logits 输出如下:

图片

域内知识蒸馏的损失定义为:

图片(15)

 其中,σ 表示 softmax 函数。如公式(15),其目的是在保护隐私的同时不断向他人学习,从而保证域间性能,并处理联邦学习中的灾难性遗忘问题。此外,对于第 i 个参与者,在私有数据上预训练一个模型 (θ^∗)_i 是可行的。给定如下私有数据:

图片

域内知识蒸馏损失定义为:

图片(16)

带有预训练模型的知识蒸馏提供了 soft 而丰富的域内信息。此外,它与公式(14)中的典型监督损失(即交叉熵损失)合作,提供 soft 和 hard 的域内信息以确保域内性能。在某种程度上,上述两个模型(即更新的模型 (θ^t-1)_i 和预训练的模型 (θ^∗)_i)分别代表了 "教师" 之间和内部的模型。通过知识蒸馏,平衡来自他人和自身的知识,同时提升了域间和域内的性能。双域知识蒸馏的计算方法为:

图片(17)

公式(14)中的典型监督损失和公式(17)中的双域知识蒸馏损失是相互补充的。前者要求模型学习对分类任务有意义的鉴别性表征,而后者则有助于用域内和域间的 soft 丰富信息使模型规范化。因此,总的训练目标是:


图片

完整的 FCCL 流程如下:

图片

4.3 实验情况介绍

作者在两个分类任务(如 Digits 和 Office-Home)和三个公共数据集(如 Cifar-100、ImageNet 和 Fashion-MNIST)上广泛地评估了本文方法。具体来说,Digits 任务包括四个域(MNIST(M)、USPS(U)、SVHN(SV)和 SYN(SY)),共有 10 个类别。Office-Home 任务也有四个域(艺术(A)、剪贴画(C)、产品(P)和现实世界(R))。请注意,对于这两项任务来说,从不同域获得的数据呈现出域偏移(数据异质性)特性。对于这两个分类任务,参与者定制的模型可以从差异化的骨干网和分类器中获得差异(模型异质性)。在实验中,作者将这四个域的模型设置为 ResNet、EfficientNet、MobileNet 和 GoogLeNet。作者将 FCCL 与最先进的方法,包括 FedDF、FML、FedMD、RCFL 和 FedMatch,进行比较。此外,还比较了 SOLO,即参与者在没有联邦学习的情况下在私有数据上训练一个模型。由于具体的实验设置并不完全一致,作者保留了一些方法的关键特征进行比较。

评价指标。作者报告了衡量方法质量的标准指标:准确性,将其定义为成对的样本数除以样本数。具体来说,为了评价域内和域间的性能,定义如下指标:

图片


域间分析。表 6 报告了不同方法的域间性能。在域偏移的情况下,SOLO 在这两个任务中表现得最差。我们观察到,FCCL 的表现明显优于其他同类方法。图 10 显示,FCCL 在参与者之间实现了相似的 logits 输出,并在 logits 输出中实现了冗余,这证实了 FCCL 在公共和私有数据上成功地执行了相同维度的相关性和不同维度的去相关性。

图片

表 6. 域间性能与最先进方法的比较。M→表示私有数据是 MNIST,各自的模型在其他域测试。AVG 表示从每个域计算出的平均精度


图片

图 10. 用 Cifar-100 对不同域的数字任务进行交叉相关矩阵的可视化分析

域内分析。为了比较缓解灾难性遗忘的效果,表 7 报告了不同方法的域内性能。以 Cifar-100 的 Digits 任务为例,本文方法比 RCFL 要好 2.30%。此外,图 11a 中通过增加通信轮次的域内精度和图 11b 中的优化目标值表明,FCCL 受到的周期性性能冲击较小,而且不容易对当前的数据分布进行过拟合(L^Loc=0.0225),说明 FCCL 能够平衡多种知识,缓解灾难性遗忘。

图片

表 7. 用 Cifar-100 在这两项任务上与最先进的方法进行域内性能比较

图片

图 11. 用 Cifar-100 通过增加通信轮次对数字任务进行本地更新时的域内性能和优化目标值的比较

模型同质性分析。作者进一步将 FCCL 与其他方法进行模型同质性比较。将共享模型设定为 ResNet-18,并在协作更新和本地更新之间添加平均参数操作。表 8 列出了域间和域内的数据,展示了 Cifar-100 在 Office-Home 任务中的域间和域内性能。

图片

表 8. 用 Cifar-100 在 Office-Home 任务中与最先进的方法进行比较

5、FedSpeech: Federated Text-to-Speech with Continual Learning

图片

联邦学习可以在严格的隐私限制下对机器学习模型进行协作训练,而联邦文本到语音的应用目的是利用存储在本地设备中的少量音频训练样本合成多个用户的自然语音。然而,联邦文本到语音面临着几个挑战:每个说话人的训练样本很少,训练样本都存储在每个用户的本地设备中,而且全局模型容易受到各种打击。本文提出了一个新颖的联邦学习架构,称为联邦多语者文本到语音 TTS 系统 Fed-Speech,基于持续学习方法来克服上述困难。具体如下:1)通过选择性掩码,FedSpeech 可以有效地从协作训练中获益,以减少有限训练数据的影响。2)使用渐进式修剪掩码来分离不同说话人的参数,以克服灾难性遗忘问题。因此,FedSpeech 避免了所有说话人的语调变化问题。3) 引入私有说话人嵌入,加上上述两类掩码,以保护隐私并避免对说话人的各种打击。在缩小的 VCTK 数据集上的实验(每个说话人的训练集减少到四分之一,以模拟低资源的语言场景)表明,FedSpeech 在语音质量方面几乎可以与上限、多任务训练相匹配,甚至在说话人相似性实验中明显优于所有系统。

5.1 模型结构

FedSpeech 的整体模型结构如图 12 所示。编码器将音素嵌入序列转换为音素隐序列,然后在隐序列中加入不同的差异信息,如持续时间和语调,最后由旋律谱解码器将适应的隐序列转换为旋律谱序列。采用前馈转化器(Feed-forward Transformer)模块,它是 FastSpeech 中自注意力层和 1D-convolution 前馈网络的叠加,作为编码器和旋律谱图解码器的基本结构。此外,还采用了一个音高预测器和一个持续时间预测器来引入更多的信息。每个网络都包括一个具有 ReLU 激活的 2 层一维卷积网络,然后是层归一化和 DropOut 层,以及一个额外的线性层,将隐状态投射到输出序列中。在训练阶段,将从录音中提取的持续时间和语调的真实值作为输入到隐序列中以预测目标语音。同时,用真实的时长和音高值作为目标来训练预测器。使用这些输出进行推理,以合成目标语音。

图片

图 12.  FedSpeech 的整体架构。+ 表示元素相加的操作

为了通过从潜在空间估计说话人的特征来控制语音并保护隐私,作者引入了一个私有说话人模块,它是一个可训练的查找表,将说话人的身份号码 S_id 作为输入,并生成说话人表示 R={r_1, r_2, ..., r_n},其中 n 是模型的隐空间大小。然后,将说话人表示 R 传递到编码器的输出端,作为额外的关键信息来控制训练和推理中的语调特征。考虑到隐私问题,每个说话人都会训练并保持自己的模块参数集,这样其他人即使用他的 S_id 也无法合成他的声音。

图片

图 13. 用 FedSpeech 进行的两轮训练过程。在第一轮中,逐步修剪掩码以隔离每个说话人的权重。如果为某个说话人保留的权重小于阈值,模型就会扩大。在第二轮,以 speaker 2 为例。选择性掩码的训练是为了重新利用为其他说话人保留的权重中的知识

本文未采用联邦聚合训练的方法,因为这种方法存在灾难性遗忘问题。如图 13 所示,作者采用了持续学习中常用的连续训练设置。在经典设置的基础上,本文提出了两轮的顺序训练。在第一轮训练中,模型分别学习并固定每个说话人的一部分权重,这样在第二轮训练中,可以有选择地重用前一个和后一个说话人的知识。

具体来说,在第一轮训练中,计算得到图 13 中的渐进修剪掩码以隔离每个说话人的参数。将从 1 到 N 的 speaker 表示为 S_1:N。S_1:N 的任务表示为 T_1:N。以 S_t 为例。当 T_t 开始时,首先将全局模型 M_g 发送给 S_t,并使用他的私有数据进行训练,直到收敛。将第 i 层的学习权重矩阵表示为 (W^l_i)_1。然后,逐渐修剪每层 (W^l_i)_1 中最小的权重的一部分,将其设置为 0,并重新训练其他权重以恢复性能。最后,将权重划分为三部分:1)后来的 speaker S_t+1:N 释放的零值权重;2)由以前的 speaker S_1:t-1 保留的固定权重 (W^1:t-1)_S;3)由 S_t 保留的权重 W^t_S。如果后来的 speaker S_t+1:N 的释放权重小于阈值 λ,将模型的隐藏大小扩展为 μ。修剪状态存储在渐进修剪掩码中,表示为 m_p。然后固定 W^t_S,并将 m_p 和 M_g(除了 private speaker 模块)发送到下一个 speaker S_t+1 的设备上,继续进行顺序训练。当第一轮结束时,每个说话人都保留了某一部分权重,表示为 (W^1:N)_S,由 m_p 表示。由于每个任务的权重都是固定的,每个说话人都可以在推理中完美地保留他们的语调。最后,将 m_p 和 Mg 发送到 S_1:N 的设备上。因此,每个说话人都有 m_p、M_g 和他所保留的 private speaker 模块的参数。

在第二轮训练中,引入选择性掩码来转移说话者的知识,以解决数据稀缺的问题。将图 13 中的选择性掩码训练为自动选择说话人保留的有用权重。作者提出了一个修改后的选择程序,从所有任务中选择权重,这对 federated TTS 任务中的每个 speaker(特别是对更多的 previous speakers)都是更公平的。对于一个特定的说话人 S_t,两轮训练放弃了 W^t_S 和选择性掩码的联邦训练,这导致了轻微的性能下降。但是对于每个 speaker,我们使其有可能从之前和之后的任务中选择权重,从而在整体上显著改善了性能。

假设当第一轮结束时,M_g 的权重分成几个部分 (W^1:N)_S,这些部分被 S_1:N 保存。为了在保持隐私的同时从协作训练中获益,作者引入了一个可学习的掩码 m_b∈{0,1} 来转移由其他说话人保留的参数的知识。本文使用 piggyback 方法,学习一个实值掩码 m_s,并应用一个阈值进行二值化处理以构建 m_b。对于某个说话人 S_t 来说,掩码 (m^t)_b 是在他的本地数据集上训练出来的,通过以下方式从其他说话人位置选择权重:

图片


以一维卷积层中的选择性掩码的训练过程为例进行描述。在任务 t,M_g(即 W^1:N_S)是固定的。将二进制掩码表示为 m^t_b。那么,输入 - 输出关系的方程为:

图片

在反向传播过程中,m^t_b 是不可分的。所以引入实值的选择性掩码,表示为 (m^t)_s。将 σ 表示为选择的阈值。在训练二进制掩码 (m^t)_b 时,在后向传递中更新实值掩码 (m^t)_s;然后用应用于 (m^t)_s 的二进制函数 β 对 (m^t)_b 进行量化,并在前向传递中使用。训练结束后,丢弃 (m^t)_s,只存储 (m^t)_b 用于推理。将 m^t_s 的方程表述为:

图片

为了简单起见,作者用 S_t 的例子来描述推理阶段。现在 S_t 有 m_p、(m^t)_b、M_g 和本地保存的说话人模块的参数。使用 m_p 挑选权重 W^t_S,并使用 (m^t)_b 选择性地重复使用 (W^1:t-1)_S∪(W^t+1:N)_S 中的权重。为了不伤害 S_t 的语调,将未使用的权重固定为零。用 FedSpeech 进行的两轮训练的总体过程见算法 1。

图片

5.2 实验结果分析

作者在 VCTK 数据集上进行了实验,该数据集包含了约 44 小时的语音,由 109 位具有不同口音的英语母语者说出来。每个说话人读出了约 400 个句子,其中大部分是从报纸上选出来的,再加上《彩虹传》和一个旨在识别说话人口音的 elicitation 段落。为了模拟低资源语言场景,随机选择并将每个说话人的样本分成 3 组:100 个样本用于训练,20 个样本用于验证,20 个样本用于测试。作者随机选择了 10 位 speaker,分别表示为任务 1 至 10,进行评估。为了缓解发音错误的问题,作者用一个开源的字母到音素的转换工具将文本序列转换成音素序列。作者将原始波形转换为 mel-spectrograms,并将帧大小和跳跃大小设置为 1024 和 256,采样率为 22050。

作者在测试集上评估 MOS(mean opinion score)来衡量音频质量。不同模型之间的设置和文本内容是一致的,以排除其他干扰因素,只考察音频质量。每个音频都由 10 个英语为母语的人进行评判。作者将本文模型生成的音频样本的 MOS 与其他系统进行比较,其中包括:1)GT,VCTK 中的 ground truth 音频。2) GT (Mel + PWG), 首先将 ground-truth 音频转换为 Mel-spectrograms, 然后使用 ParallelWaveGAN (PWG) 将 Mel-spectrograms 转换为音频;3) Multi-task, 无隐私限制的联邦训练;4) Scratch, 从头开始独立学习每个任务;5) Finetune, 从随机选择的前一个模型进行微调并重复 5 次(对于任务 1, Finetune 等同于 Scratch)。6)FedAvg,聚集本地信息(如梯度或模型参数)并训练一个全局模型。7)CPG,一种用于持续学习的参数隔离方法。作者把 3)表示为上界,其他的表示为基线。相应地,3)、4)、5)、6)、7) 和 FedSpeech 中的所有系统都使用预先训练好的 PWG 作为声码器进行公平比较。MOS 结果显示在表 9 中。从表中我们可以看出,与所有基线相比,FedSpeech 取得了最高的 MOS。值得一提的是 FedSpeech 的表现优于 CPG,这说明了有选择地重用以前和以后的 speaker 的知识的有效性。此外,FedAvg 的结果明显比其他方法差,这意味着来自其他 speaker 的梯度极大地影响了每个 speaker 的语气。此外,FedSpeech 在 VCTK 上的 MOS 值接近于多任务训练(上限)。这些结果证明了 FedSpeech 在联邦多语者 TTS 任务中的优势。

图片

表 9. MOS 与 95% 的置信区间。

作者在测试集上进行说话人相似度评估,以衡量合成音频和 ground-truth 音频之间的相似度。为了排除其他干扰因素,作者在不同的模型中保持文本内容的一致性。对于每项任务,作者利用编码器推导出总结说话人声音特征的高级表示向量。具体来说,编码器是一个带有投影的 3 层 LSTM,它为提取说话人的语调嵌入进行了预训练。余弦相似度是衡量说话人表述向量相似度的标准,其定义为 cos sim (A, B) =A - B/kAk kBk。其结果范围从 - 1 到 1,数值越大,说明向量越相似。作者计算合成音频的说话人表示向量和 ground-truth 音频之间的余弦相似度作为评价标准。

最终实验结果显示在表 10 中。FedSpeech 的平均得分最高,甚至高于多任务的上限。这意味着 FedSpeech 可以在推理阶段更好地保留每个说话人的声音,并证明了参数隔离的有效性。此外,在任务 1 中,FedSpeech 的结果明显高于 CPG。可以看出,有选择地重用前一个和后一个说话人的知识给说话人带来了很大的好处,因此,在联邦多语者 TTS 任务中,所有的说话人都能获得更好的声音。

图片

表 10. 基线和 FedSpeech 之间说话人相似度的比较。平均值是指 10 个任务的平均值,γ 是指与 256 个隐大小的 FedSpeech 相比的模型扩展率

为了测量音频质量,作者进行了 MOS 评估,每个音频由 10 个英语母语者进行评判。如表 11 所示,去除渐进修剪掩码或去除选择性掩码都不会导致明显的质量下降,这意味着选择性掩码有能力自动选择渐进修剪掩码所保留的权重。然而,去除这两种类型的掩码会导致灾难性的质量下降。此外,作者还进行了说话人相似性评估。如表 11 所示,稍微去除这些选择性掩码或渐进修剪掩码会导致轻微的性能下降,而去除这两个掩码则会导致灾难性的下降。可以看出,渐进修剪掩码完美地保留了每个说话人的语调。此外,选择性掩码有能力自动选择渐进修剪掩码所保留的权重,将它们结合起来会导致更好的结果。

图片

表 11. 在消融实验中 MOS 和说话人相似度的比较。SM 指的是选择性掩码,GPM 指的是渐进修剪掩码,相似度是余弦相似度

对于未来的工作,作者提出将继续提高合成语音的质量,并提出新的掩码策略来压缩模型和加快训练速度。此外,他们还将把 FedSpeech 应用于 zero-shot 的 multi-speaker 设置,通过使用 private speaker 模块来生成掩码。

6、本文小结

在这篇文章中,我们浅析了四篇联邦连续学习相关的最新论文。这四篇文章的重点都是解决联邦学习框架下不同客户端间相互干扰的问题,具体选择了将参数分解为全局参数和本地参数、着重考虑设备上存储数据的类别意识和类别语义、增加知识蒸馏以平衡不同数据域关系等方法,在论文给出的场景中都获得不错的效果。不过,这些文章都没有着重分析这种方法可能造成的通信代价。关于联邦持续学习的实用性还有待更进一步的研究,以更好的满足当前数据隐私保护高要求条件下的数据分析和应用需求。

责任编辑:张燕妮 来源: 机器之心
相关推荐

2022-11-01 13:56:23

研究模型

2021-09-10 16:50:35

对比学习深度学习人工智能

2019-07-31 16:37:02

软件Node.jsJava

2013-10-11 13:55:06

100G超100G光传输

2022-04-27 20:28:59

智能驾驶大数据

2022-08-11 13:49:37

机器学习技术

2023-01-13 16:43:13

深度学习模型数据集

2021-08-24 10:15:35

模型人工智能计算

2022-04-06 10:58:16

神经网络架构GNN

2018-07-03 09:12:23

深度学习正则化Python

2023-07-25 13:59:29

谷歌论文

2017-08-23 09:36:21

2024-04-26 14:18:43

机器学习人工智能

2023-05-11 15:24:12

2020-05-17 15:57:28

深度度量学习度量学习深度学习

2010-01-15 15:13:28

C++概述

2017-09-10 08:55:07

游戏人工智能深度学习

2023-05-15 08:44:15

Redis数据库

2022-07-06 10:23:13

深度学习神经网络

2020-11-08 13:33:05

机器学习数据中毒人工智能
点赞
收藏

51CTO技术栈公众号