《联邦学习》阅读笔记

高质量、大数据的训练数据通常是很难获得的,我们不得不面对难以桥接的数据孤岛。由于数据是由不同组织的不同部门产生并拥有的,传统的方法是收集数据并传输至一个中心点(例如一个数据中心),这个中心点拥有高性能的计算集群并且能够训练和建立机器学习模型,然而由于数据孤岛的出现,这种方法近来已经不再有效或者适用了

随着人工智能在各行各业的应用落地,人们对于用户隐私和数据的安全度也在不断提高。用户开始更加关注自己的隐私信息是否未经自己允许就被利用,甚至滥用。人们对于数据失去掌控的担忧,以及对于增益分配效果的不透明,加剧了所谓数据碎片化和孤岛分布的严重性

随着物联网和边缘计算的兴起,大数据往往不会拘泥于单一的整体,而是分布在许多方面。例如对于自动驾驶汽车,每辆汽车必须能够在本地使用机器学习模型处理大量信息,同时需要在全球范围内与其他汽车和计算中心协同工作

联邦学习概述

各种原因造成的数据孤岛正阻碍着训练人工智能模型所必须的大数据的使用。一种可行的方法是由每一个拥有数据源的组织训练一个模型,之后让各个组织在各个模型上彼此交流沟通,最终通过模型聚合得到一个全局模型。为了确保用户隐私和数据安全,各组织间交换模型信息的过程将会被精心设计,使得没有组织能够猜测到其他任何组织的隐私数据内容。同时,当构建全局模型时,各数据源仿佛已被整合在一起,这边是联邦学习的核心思想

联邦学习旨在建立一个基于分布数据集的联邦学习模型。联邦学习包括两个过程,分别是模型训练和模型推理。在模型训练过程中,模型相关的信息能够在各方之间交换(或者以加密形式进行交换),但数据不能。这一交换不能暴露各个站点上数据的任何受保护的隐私部分。已训练好的联邦学习模型可以置于联邦学习系统的各参与方,可以在多方之间共享。在推理时,模型可以应用于新的数据实例

联邦学习是一种具有以下特征的用来建立机器学习模型的算法框架。其中机器学习模型是指将某一方的数据实例映射到预测结果输出的函数:

  • 有两个或以上的联邦学习参与方协作构建一个共享的机器学习模型,每一个参与方都拥有若干能够用来训练模型的训练数据
  • 在联邦学习模型的训练过程中,每一个参与方拥有的数据都不会离开该参与方,即数据不离开数据拥有者
  • 联邦学习模型相关的信息能够以加密方式在各方之间进行传输和交换,并且需要保证任何一个参与方都不能推测出其他房的原始数据
  • 联邦学习模型的性能要能够充分逼近理想模型(是指通过将所有训练数据集中在一起并训练获得的机器学习模型)的性能

理论上来说,如果使用安全的联邦学习在分布式数据源上构建机器学习模型,这个模型在未来数据上的性能近似于把所有数据集中到一个地方训练所得到的的模型的性能。

联邦学习系统可能涉及也可能不涉及中央协调方,也能被设计为对等(P2P)网络的方式(即不需要协调方,这种体系结构的优点是提高了安全性,但需要更多的计算操作来对消息内容进行加密和解密)

联邦学习带来了许多益处,由于它被设计为不需要直接数据交换或者收集的形式,所以保护了用户的隐私和数据安全。联邦学习还允许若干参与方系统训练一个机器学习模型,从而使各方都能得到一个比自己训练的更好的模型。

联邦学习有巨大的商业应用潜力,但同时也面临着诸多挑战。参与方(比如智能手机)和中央聚合服务器之间的通信链接可能是慢速且不稳定的,因为同一时间可能有非常多的参与方在通信。还有,在联邦学习系统中,来自不同参与方的数据可能会导致出现非独立同分布的情况。并且不同的参与方可能有数量不均的训练数据样本,这可能导致联邦模型产生偏差,甚至会使得联邦模型训练失败。联邦学习模型也容易遭到恶意攻击,即只要有一个或者更多的参与者发送破坏性的模型更新信息,就会使得联邦模型的可用性降低,甚至损失整个联邦学习系统或者模型性能

联邦学习的分类

设矩阵 D i D_i Di表示第 i i i个参与方的数据;设矩阵 D i D_i Di的每一行代表一个数据样本,每一列代表一个具体的数据特征;一些数据集可能包含标签信息,将特征空间设为 X X X,数据标签空间设为 Y Y Y,并用 I I I表示数据样本ID空间。特征空间 X X X,数据标签空间 Y Y Y和样本id空间 I I I组成了一个训练集 ( I , X , Y ) (I,X,Y) (I,X,Y)。根据训练数据在不同参与方之间的数据特征空间和样本ID空间的分布情况,将联邦学习划分为横向联邦学习、纵向联邦学习和联邦迁移学习

  • 横向联邦学习。适用于联邦学习的参与方的数据有重叠的数据特征,即数据特征在参与方之间是对其的,但是参与方拥有的数据样本也是不同的
  • 纵向联邦学习。适用于联邦学习参与方的训练数据有重叠的数据样本,即参与方之间的数据样本是对齐的,但是在数据特征上有所不同
  • 联邦迁移学习适用于参与方的数据样本和数据特征重叠都很少的情况

威胁与安全模型

我们关注机器学习中的三种主要攻击类型:

  • 完整性,对完整性的攻击可能导致机器学习系统出现检测错误,例如将入侵点检测为正常(假阴性)
  • 可用性,对可用性的攻击可能会导致系统出现分类错误(假阴性和假阳性),即系统会变成不可用的
  • 机密性,对机密性的攻击可能导致一些机器学习系统中的敏感信息(如训练数据或者训练模型)出现泄漏

对机器学习系统的攻击可能会在任何阶段发生,包括数据发布、模型训练和模型推理。在模型阶段发生的攻击叫做重构攻击。在模型推理阶段,一个敌对的结果方可能会使用反向工程技术来获取模型的额外信息,以此实施模型反演攻击成员推理攻击特征推理攻击则发生在数据发布阶段

  • 重构攻击。敌手的目标是在模型的训练期间抽取训练数据,或抽取训练数据的特征向量。为了抵御重构攻击,应当避免使用存储显示特征值的机器学习模型,例如支持向量机(SVM)和k近邻(kNN)模型。在模型训练过程中,安全多方计算和同态加密可以被用来通过保护计算中间结果来抵御重构攻击。在模型推断过程中,计算方只应当被授予对模型的黑盒访问权限
  • 模型反演攻击。敌手被假设为对模型拥有白盒访问权限或黑盒访问权限。对于白盒访问,敌手不需要存储特征向量便能获取模型的明文内容。对于黑盒访问,敌手只能查询模型的数据和收集返回结果。敌手的目的是从模型中抽取训练数据或训练数据的特征向量。为了抵御模型反演攻击,应当向敌手暴露尽可能少的关于模型的信息。对模型的访问应当被限制为黑盒访问,模型输出同样应当受限
  • 成员推理攻击。敌手对模型至少有黑盒访问权限,同时拥有一个特定的样本作为其先验知识。敌手的目标是判断模型的训练集中是否包含特定的样本。敌手通过机器学习模型的输出试图推断此样本是否属于模型的训练集
  • 特征推理攻击。敌手出于恶意目的,将数据去匿名化或者锁定记录的拥有者。在数据被发布之前,通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,使用户保护隐私的一种常用方法。这种方法已被证明并非十分有效

隐私保护技术

隐私保护技术,包括三种方法,分别是安全多方计算、同态加密和差分隐私

  • 安全多方计算,最初是针对一个安全两方计算问题,目的是协同地从每一方的隐私输入中计算函数的结果,而不用将这些输入展示给其他方
  • 同态加密,逐渐被认为是在PPML中实现安全多方计算的一种可行方法。同态加密方法分为三类:部分同态加密(PHE),些许同态加密(SHE)和全同态加密(FHE)
  • 差分隐私,其中心思想是,当敌手视图从数据库中查询个体信息时将其混淆,使得敌手无法从查询结果中辨别个体级别的敏感性。主要有两种方法通过通过给数据加上噪声实现差分隐私,一种是根据函数的敏感性增加噪声,一种是根据离散值的指数分布选择噪声

分布式机器学习

分布式机器学习也称为分布式学习,是指利用多个计算节点(也称为工作者worker)进行机器学习或者深度学习的算法和系统,旨在提高性能,保护隐私并可扩展至更大规模的训练数据和更大的模型。同步或者异步的分布式梯度下降(SGD)算法都适用于分布式机器学习

通常来说,DML可以分为两类:面向扩展性的DML和面向隐私保护的DML。面向扩展的DML是指用来解决不断增长的扩展性和计算需求问题的机器学习系统。当内存限制和算法复杂度是主要障碍时,面向扩展性的DML方法变为大规模ML提供了可行的解决方案。除了克服训练数据的集中存储需求,DML系统还能够使用更弹性化和更廉价的计算资源,例如增加计算单元的数量。与面向扩展性的DML不同,面向隐私保护的DML的主要目的是保护用户隐私和数据安全,在面向隐私保护的DML系统中,有多个参与方且每一方都拥有一些训练数据。也就是说,面向隐私保护的DML适用于具有纵向划分数据集的场景,不同参与方各自持有的训练数据具有相同的训练样本ID和不同的数据特征

面向扩展性的DML

在大数据时代,ML面临的主要问题已经从训练样本过小转移到了如何处理大规模的高纬度数据集上,随着大趋势的变化,ML社区正面临着计算性能和耗时与数据规模不匹配的挑战

  1. 内存短缺
    传统ML方法只在一块独立内存中对训练样本进行所有的操作。因此如果训练样本的规模超过了单块内存的容量,可能出现问题:训练模型可能不能收敛或者性能低下;在最糟糕的情况下,ML模型将因为内存短缺而不能被成功训练
  2. 不合理的训练时间
    ML算法中一些优化过程可能不能匹配训练样本的规模,例如高斯混合模型(GMM)和多项式回归。如果训练过程耗时过长,就会导致没有充足的时间试验较多的超参数,最终很难获得性能优越的模型

面向扩展性的DML方法

  1. 数据并行
    DML的第一种方法便是先将训练数据划分为多个子集(也称为分片或者切片)然后将各子集置于多个计算实体,之后并行地训练同一个模型。这种方法被称为数据并行方法,也被称为以数据为中心的方法
    目前主要有两种基于数据并行的分布式训练方法,即同步训练和异步训练。在同步训练中,所有的计算节点在训练数据的不同分片上同步地训练同一个模型的副本,在各计算节点每执行完一个模型更新步骤后,每个计算节点产生的梯度(或者模型参数)就会被发送给服务器,服务器在收到所有计算节点的结果后再进行聚合操作。而在异步训练中,所有计算节点独立地使用其本地的训练数据集在训练同一个模型的副本,并将本地获得的模型梯度及时地推动给服务器,以便服务器更新全局模型
    数据并行能用于解决训练数据过大以至于不能存于单一计算节点中的问题,或者用于满足使用并行计算节点实现更快速的计算的要求

  2. 模型并行
    随着DNN模型(深度神经网络)变得越来越大,可能会面临一个模型不能加载到单一计算节点内存中的问题,对于这种情况,我们需要分割模型,并把各部分置于不同的计算节点中。拥有大量参数的模型由于对内存有很高的要求,所以不能放于单一计算设备中,但可以通过这种模型并行策略,内存限制也就不复存在了。例如DNN模型的一个层可以被放入单一设备的内存中,且前向和后向传播意味着一台计算设备的输出以串行方式传输至另一台计算设备

  3. 图并行
    图并行方法,也称为以图为中心的方法,是一种用于划分和分配训练数据和执行ML算法的新技术,其执行速度比基于数据并行的方法要快几个数量级

  4. 任务并行
    任务并行也叫作以任务为中心的方法,指的是计算机程序在同一台或者多台机器上的多个处理器上执行。它着力并行执行不同的操作以最大化利用处理器或内存等计算资源。任务并行的一个例子是一个应用程序创建多个线程进行并行处理,每个线程负责不同的操作

  5. 混合并行和交叉并行
    在DML系统的实践中,我们经常需要结合不同类型的并行方法,从而形成混合并行的方案。混合并行的覆盖范围可以进一步扩展,形成更加灵活的较差并行,例如按层选择并行方式

面向隐私保护的DML

数据共享和分布式计算是当今大数据时代的趋势,因为它既能提升计算效率又能改善模型性能,但随着公众对隐私和数据安全越来越关注,DML需要考虑隐私保护问题。对于隐私保护的ML系统,它通常能保护以下信息:训练数据输入,预测标签输出,模型信息(模型参数、结构和损失函数)和身份识别信息(记录的数据来源站点,出处或者拥有者)

在面向隐私保护的DML中,常用的用于保护数据隐私的方法大概分为两个类别:

  • 模糊处理 随机化、添加噪声或者修改数据使其拥有某一级别的隐私,比如差分隐私
  • 密码学方法 通过不将输入值传给其他参与方的方式或者不以明文方式传输,使分布式计算过程安全化,如安全多方计算(MPC),包括不经意传输,秘密共享,混淆电路和同态加密

面向隐私保护的梯度下降

拥有更高效率,更低隐私保护级别的方法通常需要牺牲数据隐私以换取更好的计算效率。例如,梯度值以明文形式被发送给协调方,并以梯度平均方法更新模型,从而在不降低全局学习经度的情况下用隐私换取效率。旨在得到最高的数据精度和安全性的方法逐渐开始选用同态加密和安全多方计算,但这将会导致更高的计算复杂度和开销

典型的面向隐私保护的梯度下降方法包括朴素联邦学习、代数方法、系数梯度更新方法、模糊处理处理方法和密码学方法(如同态加密和安全多方计算)。模糊处理方法基于随机化、泛化或者抑制机制(如梯度分层话、差分隐私、k-匿名方法)。在朴素联邦学习、代数方法和系数梯度更新方法中,每一方发送给协调方明文形式的梯度信息以更新模型,而这只能保护数据的原始形式,即低隐私保护等级和非常高的效率。稀疏梯度更新方法还能通过更新梯度中的一个实体子集,用精度来换取效率和隐私。基于随机化机制的方法,如差分隐私和高斯随机映射,通过给数据或者梯度加入噪声的方式,用精度换取隐私。基于泛化和一致性的方法也通过特征归纳或者删除某些实例的方式,用精度换取隐私。

  • 代数方法旨在利用传输数据的代数特性保护原始训练数据。他通过保证每个诚实方对敌对方的输入和输出存在内部有效的输入-输出对,即受保护的原始输入数据形式,提供了对隐私的保护
  • 稀疏梯度更新方法通过只更新梯度的子集的方式来保护隐私。这类方法用精度来换取效率,并且保护隐私程度较低。梯度是以明文方式传输的,所以这类方法是用明文梯度方式传输的,所以这类方法是用隐私换取效率
  • 模糊处理方法通过随机化、泛化和压缩来使得数据模糊,虽然可以改善隐私性,但是会降低准确度。在联邦学习中,本地差分隐私(LDP)也可以用于给每一方的梯度加上噪声
  • 密码学方法利用了同态加密和安全多方计算,在梯度下降过程中,保护每一方的梯度信息隐私。密码学方法用效率换取隐私。由于这样可能会导致在计算或交流上变得过于低效,非线性函数的近似方法逐渐被使用,即用精度换取效率

横向联邦学习

横向联邦学习也称为按样本划分的联邦学习,可以应用于联邦学习,可以应用于联邦学习的各个参与方的数据集有相同的特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。横向划分广泛用于传统的以表格形式展示数据库记录内容的场景,例如表格中的记录按照行被横向划分为不同的组,且每行都包含完整的数据特征。比如两个地区的城市银行可能在各自的地区拥有非常不同的客户群体,所以他们的客户交际非常小,但是数据集拥有不同的样本ID。然而,他们的业务模型非常相似,因此他们的数据集的特征空间是相同的。这两家银行可以联合起来进行横向联邦学习来构建更好的风控模型。横向联邦学习的条件总结为
X i = X j , Y i = Y j , I i ≠ I j , ∀ D i , D j , i ≠ j X_i=X_j, Y_i=Y_j, I_i \neq I_j, \forall D_i,D_j,i \neq j Xi=Xj,Yi=Yj,Ii=Ij,Di,Dj,i=j
其中 D i D_i Di D j D_j Dj分别表示第i方和第j方拥有的数据集。假设两方的数据特征空间和标签空间对,即 D i D_i Di D j D_j Dj是相同的。但是假设两方的客户ID空间 I i I_i Ii I j I_j Ij是没有交集的或者交集很小

关于横向联邦学习系统的安全性的定义,我们通常假设横向联邦学习系统的参与方都是诚实的,需要防范的对象是一个诚实但好奇的聚合服务器。即通常假设只有服务器才能使得数据参与方的隐私安全的隐私安全受到威胁。在谷歌发布的为安卓手机提供模型更新的基于横向联邦学习的解决方案中,一部安卓手机的用户在本地更新模型参数,并将更新的模型参数上传至安卓云,因此可以和其他参与方协同地训练联邦学习模型

两种常用的横向联邦学习系统架构分别称为客户-服务器架构和对等网络结构(Peer-to-Peer)

典型的横向联邦学习系统的客户-服务器架构实例如下图所示,也称为主-从架构或者轮辐式架构,在这种系统中,具有相同数据结构的K个参与方在服务器(也叫作参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。横向联邦学习系统的训练过程通常由以下四个步骤组成:

  • 各参与方在本地计算模型梯度,并使用同态加密、差分隐私或者秘密共享等加密技术,对梯度信息进行掩饰,并将演示后的结果(简称为加密梯度)发送给聚合服务器
  • 服务器进行安全聚合操作,如使用基于同态加密的加权平均
  • 服务器将聚合后的结果发送给各参与方
  • 各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数
    《联邦学习》阅读笔记_第1张图片
    上述步骤将会持续迭代进行,直到损失函数收敛或者达到允许的迭代次数的上限或者允许的训练时间,这种架构独立于特定的机器学习算法(如逻辑回归和深度神经网络),并且所有参与方将会共享最终的模型参数。参与方将梯度信息发送给服务器,服务器将收到的梯度信息进行聚合,再将聚合的梯度信息发送给参与方,我们称这种方法为梯度平均。除了共享梯度信息,联邦学习的参与方还可以共享模型的参数。服务器对收到的模型参数进行聚合,再将聚合的模型参数发送给参与方,我们称这种方法为模型平均

如果联邦平均算法使用了安全多方计算或加法同态加密技术,则上述架构便能防范半诚实的服务器的攻击,并防止数据泄露。然而,在协同学习过程中,若有一个恶意的参与方训练生成对抗网络(GAN),将可能导致系统容易遭受攻击

除了客户-服务器架构,横向联邦学习系统也能够利用对等网络架构(如下)。在这种框架下,不存在中央服务器或者协调方。在这种架构中,横向联邦学习系统的K个参与方也被称为训练房或者分布式训练方。每一个训练方负责只使用本地数据来训练同一个机器学习模型。训练方们使用安全链路在互相之间传输模型参数信息。为了保证任意两方之间的通信安全,需要使用例如基于公共密钥的加密方法等安全措施。
《联邦学习》阅读笔记_第2张图片
由于对等网络架构中不存在中央服务器,训练方们必须提前商定发送和接收模型参数信息的顺序,主要有两种方法可以达到这个目的:

循环传输

在循环传输模式中,训练方们被组织成一条链,第一个训练方(链首)将当前的模型参数发送给它的下一个训练方。该训练方接收来自上游的模型参数后,将使用来自本地数据集的小批量数据更新收到的模型参数。之后,他将更新后的模型参数传输给下一个训练方,例如训练方1到训练方2,训练方(k-1)到k,然后训练方k再回到训练方1。这一过程将会持续重复,直到模型参数收敛或者达到允许的最大训练时间

随机传输

在随机传输模式中,第k个训练方从 { 1 … L } / { k } \{1 \dots L\} / \{k\} {1L}/{k} 中选取 i i i ,并将模型参数发送给训练方 i i i。当第 i i i个训练方收到来自第 k k k个训练方的模型参数后,他将使用来自本地数据集的数据的mini-batch更新收到的模型参数。之后,第 i i i个训练方也从 { 1 … L } / { i } \{1 \dots L\} / \{i\} {1L}/{i}中等概率的选取一个数字 j j j,并将自己的模型参数发送给训练方 j j j。这一过程将会重复,直到 K K K个训练方同意模型参数收敛或达到允许的最大训练时间,这种方法也叫作Gossip学习。

在横向联邦学习中,模型训练和评估是在每个参与方中分布地执行的,并且任意方都不能获取其他方的数据集,所以,每个参与方都能获取本地模型性能,但是得到全局模型的性能评价需要耗费更多的资源。对于客户-服务器架构,参与方和协作方能够协作地获得全局模型性能,在横向联邦学习的模型训练过程中和模型训练结束之后,可以通过以下步骤得到全局模型性能:

  • 对k个参与方使用本地的测试数据集,对现有的横向联邦学习模型进行性能评估,比如得到本地模型测试结果 ( N T P ( k ) , N F P ( k ) , N T N ( k ) , N F N ( k ) ) (N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)}) (NTP(k),NFP(k),NTN(k),NFN(k)),其中 ( N T P ( k ) , N F P ( k ) , N T N ( k ) , N F N ( k ) ) (N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)}) (NTP(k),NFP(k),NTN(k),NFN(k))分别表示真阳性,假阳性,真阴性和假阴性的测试结果的数量,参与方 k = 1 , 2 … k k=1,2\dots k k=1,2k都执行这个操作
  • 第k个参与方给协调方发送本地模型预测结果 ( N T P ( k ) , N F P ( k ) , N T N ( k ) , N F N ( k ) ) (N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)}) (NTP(k),NFP(k),NTN(k),NFN(k))。参与方 k = 1 , 2 … k k=1,2\dots k k=1,2k都执行这个操作
  • 在收集k个参与方的本地模型测试结果 ( N T P ( k ) , N F P ( k ) , N T N ( k ) , N F N ( k ) ) k = 1 K {(N_{TP}^{(k)},N_{FP}^{(k)},N_{TN}^{(k)},N_{FN}^{(k)})}_{k=1}^K (NTP(k),NFP(k),NTN(k),NFN(k))k=1K之后,协调方能计算全局模型性能测试结果
  • 协调方将计算得到的全局模型性能(比如准确率、精确率和召回率)发送给所有的参与方

而针对对等网络架构,由于不存在中央协调方或者中央服务器,要得到全局模型性能将会变得更为复杂,一种可能的方式是选取其中一个参与方来充当一个临时的协调方。测试学习性能最好在训练结束后,如果在训练期间使用这种方法,可能会给临时协调方造成过多的负担

联邦优化与联邦平均算法

为了区别于分布式优化问题,联邦学习中的优化问题被称为联邦优化。联邦优化具有以下的关键特性:

  • 数据集的非独立同分布。由于不同参与方拥有的数据可能拥有完全不同的分布,所以我们不能对分布式数据集进行IID(independent and identicaly distributed)假设。比如相似的参与方可能拥有相似的本地训练数据,而两个随机选取的参与方可能拥有不同的训练数据,因而会产生非常不同的模型参数更新
  • 不平衡的数据量。两个随机选取的参与方可能拥有不同大小的训练数据集
  • 数量很大的参与方。对于一个数据中心内的分布式优化,并行工作的机器数量时刻以控制的,然而联邦学习可能涉及许多参与方,其参与方的数量和分散程度远远会超过数据中心的情况
  • 慢速且不稳定的通信连接。在联邦学习中,客户和服务器之间的通信依赖于现有的网络连接,一些客户还可能会暂时失去网络连接。

为了应对联邦优化中面临的挑战,联邦平均算法被提出来求解联邦优化问题。联邦平均算法可以用于深度神经网络训练中遇到的非凸损失函数(损失函数是神经网络模型参数的非凸函数),适用于任何下列有限加和形式的损失函数:
m i n w ∈ R d f ( w ) = 1 n ∑ i = 1 n f i ( w ) min_{w \in R^d} f(w) = \frac{1}{n} \sum_{i=1}^n f_i(w) minwRdf(w)=n1i=1nfi(w)其中n表示训练数据的数量; w ∈ R d w \in R^d wRd表示d维的模型参数

在联邦学习中,由于任何单一设备上的数据集都是较小的,计算代价相比通信代价是微乎其微的,所以可以通过增加并行度(加入更多的参与方)和增加每一个参与方中的计算(每一个参与方在两个通信轮次之间进行更加复杂的计算)两种增加计算的方法来减少训练模型所需的通信轮次

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