CN112424797A - 神经网络的分布式学习和/或其参数化更新的传输的概念 - Google Patents

神经网络的分布式学习和/或其参数化更新的传输的概念 Download PDF

Info

Publication number
CN112424797A
CN112424797A CN201980045823.7A CN201980045823A CN112424797A CN 112424797 A CN112424797 A CN 112424797A CN 201980045823 A CN201980045823 A CN 201980045823A CN 112424797 A CN112424797 A CN 112424797A
Authority
CN
China
Prior art keywords
update
parameterized
parameterization
updates
parametric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980045823.7A
Other languages
English (en)
Other versions
CN112424797B (zh
Inventor
沃伊切赫·萨梅克
西蒙·威德曼
费利克斯·萨特勒
克劳斯-罗伯特·穆勒
托马斯·威甘德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN112424797A publication Critical patent/CN112424797A/zh
Application granted granted Critical
Publication of CN112424797B publication Critical patent/CN112424797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及提高分布式学习的效率的几个方面。

Description

神经网络的分布式学习和/或其参数化更新的传输的概念
技术领域
本申请涉及神经网络的分布式学习(诸如联邦学习或数据并行学习),以及可以在其中使用的概念,诸如参数化更新的传输的概念。
背景技术
在最常见的机器学习场景中,假设甚至要求将对其训练算法的所有数据收集并定位在中央节点中。然而,在许多真实世界的应用中,数据在例如loT或移动应用中的几个节点之中进行分布,这意味着只能通过这些节点访问数据。即假设不能在单个中央节点中收集数据。这可能例如是由于效率原因和/或隐私原因。因此,修改机器学习算法的训练并使机器学习算法的训练适应这种分布式场景。
分布式深度学习领域涉及在这样的分布式学习环境中训练神经网络的问题。原则上,训练通常分为两个阶段。一是在每个节点处在本地数据上训练神经网络,二是节点彼此共享训练进度的通信回合。该过程可以循环重复。最后一步是必不可少的,因为它将在每个节点处所做的学习合并到神经网络中,最终允许其在整个分布式数据集中进行概括。
变得直接清楚的是,分布式学习在将计算负荷分散到几个实体上时以必须将数据传送到各个节点或客户端以及传送来自各个节点或客户端的数据为代价。因此,为了实现效率的学习场景,需要将通信开销保持在合理的量。如果使用有损编码进行通信,则应小心编码损失因为它可能会减慢学习进度,并因此增加必要的循环以实现神经网络参数化的收敛状态。
发明内容
因此,本发明的目的是提供分布式学习的概念,其使分布式学习更加高效。此目的通过本申请的独立权利要求的主题实现。
本申请涉及提高分布式学习的效率的几个方面。根据第一方面,通过使用有损编码来上传由各个节点或客户端使用至少部分地单独收集的训练数据获得的参数化更新,改善了例如特定类型的分布式学习场景(即联邦学习)。具体地,执行累加参数化更新,该累加参数化更新对应于一方面当前循环的参数化更新的累加、以及另一方面关于先前循环的参数化更新的信息的上传的编码损失。本申请的发明人发现,即使在联邦学习(其中至少部分地由相应客户端或节点单独收集训练数据,即在各个客户端/节点上不均匀分布训练数据的数量和训练数据的种类的情形、以及各个客户端在没有更集中地合并其训练结果的情况下通常并行执行训练的情形)的情况下,对参数化更新上传的编码损失进行累加以便将其累加到当前参数化更新上,可增加编码效率。累加提供了例如在相等的学习收敛速率下的编码损失的增加,反之亦然,在相等的通信开销下为参数化更新提供了增加的学习收敛速率。
根据本申请的另一方面,通过在每个循环中下载将客户端的参数化更新合并而生成的合并参数化更新来进行将关于参数化设置的信息下载到各个客户端/节点,以及额外地通过使用累加合并参数化更新的有损编码来进行合并参数化更新的此下载,使得分布式学习场景(无论是联邦学习类型还是数据并行学习类型)更加高效。即为了通知客户当前循环中的参数化设置,下载前一循环的合并参数化设置更新。为此,对累加合并参数化更新进行有损编码,该累加合并参数化更新对应于一方面所述前一循环的合并参数化更新的累加、以及另一方面在所述前一循环之前的循环的合并参数化更新的下载的编码损失。本发明的发明人已经发现,即使是用于为各个客户端/节点提供各个训练的起点的下行链路路径,也可能为提高分布式学习环境中的学习效率提供了可能。通过提供获知先前下载的编码损失的合并参数化更新下载,可以例如以相同或几乎相同的学习收敛速率减少下载数据量,反之亦然,可以使用相同的下载开销增加学习收敛速率。
本申请涉及的另一方面一般涉及参数化更新编码,即无论是使用在涉及合并参数化更新的下载还是各个参数化更新的上传,以及无论是使用于联邦学习类型还是数据并行学习类型的分布式学习场景。根据此方面,对连续参数化更新进行有损编码,并且使用熵编码。用于当前参数化更新的熵编码的概率分布估计是从对先前参数化更新的有损编码的评估得出的,或者换句话说,取决于神经网络的部分的参数化的评估,在先前参数化更新中未对该部分的更新值进行编码。本发明的发明人已经发现,例如对于神经网络的参数化的每个参数,评估在先前参数化更新(即先前循环中的参数化更新)中是否对更新值进行编码,以及哪个循环中对更新值进行了编码,该评估能够获得关于对当前参数化更新进行有损编码的概率分布的知识。由于改进的概率分布估计,使得对有损编码的连续参数化更新进行熵编码的编码效率表现得更为高效。该概念可以在有或没有编码损失聚合的情况下工作。例如,基于对先前参数化更新的有损编码的评估,可以确定针对参数化的每个参数,在当前参数化更新中是否对更新值进行编码,即是否未编码。然后可以针对每个参数对标志进行编码以指示针对相应参数的更新值是否通过对当前参数化更新进行有损编码而进行编码,并且可以使用相应参数的确定概率、使用熵编码对标志进行编码。可替代地,可以通过使用可变长度代码编码的指针或地址,来指示被当前参数化更新的有损编码包括的更新值所针对的参数,该指针或地址的代码长度针对参数按次序增加,该次序取决于针对相应参数用以具有当前参数化更新的有损编码所包括的更新值的概率,或随着该概率增加。
本申请的又一个方面涉及参数化更新的编码,无论是使用于下载还是上传方向,以及无论是使用于联邦学习场景还是数据并行学习场景,其中,对连续参数化更新进行编码使用有损编码,即通过对标识信息进行编码,该标识信息标识其更新值属于经编码的更新值集合的经编码的参数集合,以及用于指示经编码的更新值集合的平均值(即将其量化为该平均值)。该方案在一方面每次参数化更新所用的数据量与另一方面收敛速度之间进行权衡的方面非常高效。根据实施例,甚至进一步通过以下方式确定其更新值被参数化更新的有损编码包括的编码参数的集合而增加了效率(即一方面数据量与另一方面收敛速度之间进行的权衡):确定当前参数化更新中的两个更新值集合,即最高更新值的第一集合和最低更新值的第二集合。其中,选择最大集合作为编码更新值集合,即依据绝对平均值进行选择,即其平均值在幅值上的最大集合。然后,将这个最大集合的平均值与标识信息一起编码,作为关于当前参数化更新的信息,该标识信息标识参数化的经编码的参数集合,即其对应更新值包括在最大集合中的经编码的参数集合。换句话说,在每个回合或循环中,对最大(或正)更新值进行编码,或对最低(负)更新值进行编码。因而,除了针对编码更新值进行编码的平均值之外,没有必要对针对编码更新值的任何符号信息进行信令通知,从而进一步节省了信令开销。本申请的发明人已经发现,在分布式学习场景中,发信令通知有损编码连续参数化更新中的最高更新值集合和最低更新值集合之间进行切换或交替不会明显影响学习收敛速率(不是常规意义上,而是统计意义上,因为选择取决于训练数据),同时明显减少了编码开销。当利用对累加预测更新进行有损编码而应用编码损失累加时,或者对参数化更新进行编码而没有编码损失累加时,这都是正确的。
从本申请的各方面的以上简要概述中应该很容易理解的是,尽管分别实施这些方面时是有利的,但也可以成对地、三个地或全部组合。
具体地,以上概述方面的有利实施方式是从属权利要求的主题。
附图说明
以下参照附图描述本申请的优选实施例,其中:
图1示出图示用于由客户端和服务器组成的神经网络的分布式学习的系统或布置的示意图,其中可以根据本文描述的实施例来体现该系统,并且其中客户端和服务器中的每一个可以分别单独地以根据后续实施例概述的方式来体现;
图2是示出神经网络及其参数化的示例的示意图。
图3示出图示具有由框指示的步骤的分布式学习过程的示意性流程图,框从上至下依次布置,如果对应步骤在客户端域执行则框布置在右侧,如果对应步骤轮到服务器域执行则框布置在左侧,而显示为跨两侧延伸的框指示对应步骤或任务涉及服务器侧和客户端侧进行相应处理,其中图3所示的过程可以以符合本文描述的本申请的实施例的方式体现。
图4a-c示出图1的系统的框图,以便图示与图3的分布式学习过程的各个步骤相关联的数据流;
图5以伪代码的形式示出可以用于进行客户端各个训练的算法,这里示例性地使用随机梯度下降;
图6以伪代码的形式示出根据图3的用于分布式学习的同步实施方式的示例,其中同步分布式学习可以同样地根据本文描述的实施例体现;
图7通过伪代码的方式示出使用上传和下载方向上的参数化更新传输的分布式学习的概念,其中使用了编码损失获知,以及累加用于加快学习收敛或一方面收敛速度和另一方面用于参数化更新传输所用的数据量之间的改进关系;
图8示出图示概念的示意图,用于以编码损失获知的方式执行连续参数化更新的有损编码并累加先前编码损失,该概念是合适的以及分别与参数化更新的下载和上传结合使用的优点;
图9a-d示意性地示出在根据本申请实施例使用稀疏实施(称为稀疏二进制压缩)以及这里示例性地还使用了根据实施例用于标识经编码的更新值集合的无损熵编码所实现的压缩增益;
图10从左到右示出对参数化更新值进行编码用于神经网络的参数化的六个不同概念,这些更新值相对于其跨层的空间分布的分布使用灰色阴影以指示这些更新值的编码值,并在其下方指示编码值的直方图,并在每个直方图上方指示由相应有损编码概念生成的所得编码误差;
图11示意性地示出针对某参数的梯度或参数化更新值的绝对值的概率分布的曲线图;
图12-17示出通过以不同方式设计分布式学习环境而得到的实验结果,从而证明从本申请的实施例出现的效果的效率;
图18示出图示根据实施例的使用稀疏二进制压缩对连续参数化更新的有损编码的概念的示意图;和
图19示出图示基于评估或前一编码损失使用熵编码以及概率分布估计对连续参数化更新进行的有损编码的概念的示意图。
具体实施方式
在相对于本申请的各方面进行本申请的优选实施例的描述之前,以下描述简要地提出并讨论了分布式学习场景中所涉及的一般布置和步骤。例如,图1示出用于神经网络的参数化的分布式学习的系统10。图1示出包括服务器或中央节点12以及几个节点或客户端14的系统10。节点或客户端14的数量M可以是大于1的任何数量,尽管示例性地在图1中示出三个。如相应双头箭头13所示,每个节点/客户端14连接到中央节点或服务器12,或可连接到中央节点或服务器12,用于通信目的。每个节点14所经由以连接到服务器12的网络15对于各个节点/客户端14可以不同,或者可以部分相同。连接13可以是无线的和/或有线的。中央节点或服务器12可以是处理器或计算机,并且以以下更详细概述的方式协调神经网络的参数化的分布式学习。它可以将训练工作量主动地分配到各个客户端14上,或者可以简单地行为以被动地收集各个参数化更新。然后,它合并由各个客户端14进行的各个训练所获得的更新,并将合并参数化更新重新分配到各个客户端上。客户端14可以是便携式设备或诸如蜂窝电话等的用户实体。
图2示例性地示出神经网络16及其参数化18。图2中示例性地描绘的神经网络16不应被视为对以下描述的限制。图2中描绘的神经网络16是非递归的多层神经网络,由神经元22的层20的序列组成,但层20的数量J或(每层j,20)神经元22的数量(即Nj)都不应仅限于图2中的图示。而且,在随后解释的实施例中提及的神经网络16的类型也不应限于任何神经网络。图2将第一隐藏层,例如层1,图示为全连接层,此层的每个神经元22通过由前一层(这里为层0)的所有神经元22的激活确定的激活进行激活。然而,这也仅是示例性的,并且神经网络16可能不限于这些层。例如,特定神经元22的激活可以通过某种神经元函数24,基于前一层的某个连接的前代神经元的激活的加权和,使用该加权和作为一些非线性函数(诸如阈值函数等)的属性来确定。然而,此示例也不应被视为限制性的,并且其他示例也可以适用。尽管如此,图2示出权重αi,j,前一层的神经元i的激活按该权重αi,j对加权和作出贡献,以便经由某种非线性函数确定例如当前层的某神经元j的激活,并且这些权重26因此形成一种权重矩阵28,该权重矩阵28被包括在参数化18中,因为该权重矩阵28描述了相对于此当前层的神经网络16的参数化。因此,如图2描绘的,参数化18可以因此包括针对神经网络16的除了输入层(层0)以外的所有层1...J的加权矩阵28,输入层(层0)的神经节点22接收神经网络16的输入,然后通过神经网络16对该输入进行所谓的预测,并将其映射到层J的神经节点22(其形成网络16的一种输出节点)或者一个输出节点(如果最后一层J仅包括一个节点)上。可替代地,参数化18可以附加地或可替代地包括其他参数,诸如例如非线性函数的上述阈值或其他参数。
仅作为一方面,注意的是,为神经网络16设计的输入数据可以是图片数据、视频数据、音频数据、语音数据和/或纹理数据,并且以下面更详细地概述的方式,神经网络16可以应该以这样的方式进行训练:一个或多个输出节点指示与此输入数据相关联的某些特征,诸如,例如识别相应输入数据中的某些内容、预测面对相应输入数据的用户的某些用户动作、等等。具体的示例可以是例如神经网络16,该神经网络16当被反馈以用户输入的某个字母数字符号序列时建议最可能希望输入的可能字母数字字符串,从而实现例如针对用户编写的文本输入的自动校正和/或自动完成功能。
图3示出在由图1的系统执行的分布式学习场景中执行的步骤的序列,各个步骤根据其从上到下的时间次序布置,并且取决于各步骤由服务器12(左侧)执行还是由客户端14(右侧)执行还是涉及两端的任务而布置在左侧或右侧。应当注意的是,图3不应理解为要求以相对于所有客户端14同步的方式执行步骤。相反,图3到目前为止指示一个客户端-服务器关系/通信的一般步骤顺序。关于其他客户端,服务器-客户端合作以相同的方式构造,但是各个步骤不一定同时发生,甚至从服务器到客户端的通信也不必携带完全相同的数据,和/或循环数量在客户端之间可能会改变。然而,为了更容易理解,下文将不再进一步具体讨论客户端-服务器通信之间的这些可能的变化。
如图3所示,分布式学习在循环30中操作。图3中所示的循环i开始于将神经网络16的参数化18的设置从服务器12下载到客户端10。下载的步骤32在图3中被图示为在服务器12和客户端14侧执行,因为其涉及在服务器12侧的传输或发送、以及在客户端14侧的接收。关于此下载32的细节将在以下更详细地阐述,因为根据本申请的实施例、根据某些方面此下载可以以某种特定的方式来执行,这增加了分布式学习的效率。例如,可以以更新先前循环的设置(合并参数化更新)的形式下载该设置,而不是为每个循环重新下载该设置。
客户端14接收关于参数化设置的信息。客户端14不仅能够相应地(即,根据此设置)对神经网络16的内部实例化进行参数化,而且客户端14还能够使用相应客户端可用的训练数据来训练如此参数化后的此神经网络16。相应地,在步骤34中,每个客户端使用在步骤34处相应客户端可用的训练数据,对根据所下载的参数化设置参数化后的神经网络进行训练。换句话说,相应客户端使用训练数据更新参数化设置。取决于分布式学习是联邦学习还是数据并行学习,训练数据的来源可能是不同的:在联邦学习的情况下,例如,每个客户端14单独或与其他客户端分开地收集其训练数据,或者其训练数据的至少一部分由相应客户端以这种单独方式收集,同时以其他方式获得提醒,诸如在数据平行学习中所做的由服务器分配。训练数据例如可以从相应客户端处的用户输入获得。在数据并行学习的情况下,每个客户端14可能已经从服务器12或某个其他实体接收了训练数据。即训练数据然后不包括任何单独收集的部分。依据例如数据量和数据统计,可以将训练数据的存储库平均地划分成多个部分。这一点的细节在以下更详细地阐述。以下本文描述的大多数实施例可以在两种类型的分布式学习中使用,使得除非另有说明,否则以下本文描述的实施例应理解为不是特定于分布式学习类型中的任何一种。如以下更详细地概述的,训练34可以例如使用随机梯度下降方法(Stochastic Gradient Decent)来执行。然而,也存在其他概率。
接下来,每个客户端14上传其参数化更新,即对在32处下载的参数化设置的修改。因此,每个客户端将更新通知给服务器12。修改是由相应客户端14在步骤34中进行的训练导致的。上传36涉及从客户端14到服务器12的发送或传输、以及在服务器12处所有这些传输的接收,并且因此,如下载步骤32那样,步骤36在图3中被示出为从左延伸到右的框。
在步骤38中,服务器12随后合并从客户端14接收到的所有参数化更新,该合并表示一种平均,诸如通过使用加权平均,所述加权平均的权重考虑了例如曾在步骤34中用于获得相应客户端的参数化更新的训练数据的量。在循环i的此结束处的步骤38处如此获得的参数化更新指示在随后的循环i+1开始时用于下载32的参数化设置。
如以上已经指示的,可以使下载32更效率,并且就这一点的细节在以下进行更详细地描述。例如,一项这样的任务是以这样的方式执行下载32:使得关于参数化设置的信息以预测更新(或更确切地说是合并参数化更新、而不是再次完全下载参数化设置)的形式被下载到客户端14。尽管本文以下描述的一些实施例涉及下载32,但是其他实施例涉及上传36,或者可以与参数化更新的两次传输结合使用。就此而言,图3用作所有这些实施例和描述的基础和参考。
在已经描述了分布式学习的一般框架、关于可能形成分布式学习的主题的神经网络的示例、在这种分布式学习期间执行的步骤等之后,本申请实施例的以下描述开始于提供处理联邦学习(其利用利用本申请的多方面种的几个)的实施例,以便为读者提供各个方面的综述及其优点的概述,从而使实施例的后续描述更加容易,这构成了此概述的某种概括。因此,首先作出的描述涉及一种特定的训练方法,即例如[2]中描述的联邦学习。这里,提出在分布式设置中以关于图3概述的方式训练神经网络16,即通过
1)每个节点/客户端14从中央节点或服务器12下载32神经网络16的参数化18,其中从服务器12到客户端14的结果数据流如图4a所示。
2)然后在每个节点/客户端14处,诸如经由随机梯度下降在本地对所下载的网络的参数化18或如此参数化后的网络16进行T次迭代的训练34。参见例如图4b,其示出每个客户端14具有用于存储训练数据的存储器40,并且如虚线箭头42描绘的使用此训练数据来训练其内部实例或神经网络16。
3)然后,所有节点/客户端14将神经网络16的参数变化或参数化更新上传36到中央节点12。在以下描述中参数化更新或变化也称为“梯度”,因为每次循环参数化更新/变化的量为参数化18的每个参数指示在当前循环的收敛速度的强度,即收敛的梯度。图4c示出该上传。
4)然后,中央节点12诸如通过取这些变化的加权平均值合并参数化更新/变化,该合并对应于图3的步骤38。
5)然后对N个通信回合重复步骤1至4,例如,或直到收敛,或连续执行。
大量的实验表明,在分布式环境中经由联邦学习过程可以准确地训练神经网络。在联邦学习中,训练数据和计算资源因此分布在多个节点14上。目标是从所有节点14的联邦训练数据中学习模型。同步分布式SGD的一个通信回合30包括下载(图4a)的步骤、(图4b)本地权重更新计算的步骤、(图4c)上传的步骤、然后进行全局聚合。重要的是注意,在分布式SGD中仅需要传送权重更新、而无需训练数据。
然而,通常为了经由联邦学习方法精确地训练神经网络,需要许多通信回合30(即许多下载和上传步骤)。这意味着如果目标是训练大型深层神经网络(通常是期望的情况),则该方法在实践中可能效率很低。例如,解决最先进的计算机视觉任务的标准深度神经网络大小约为500MB。扩展实验已经证实,联邦学习至少需要进行100个通信回合才能解决这些计算机视觉任务。因此,在整个训练过程中,我们总共必须发送/接收至少100GB(=2×100×500MB)。因此,降低通信成本对于在实践中能够使用此方法至关重要。
解决这种通信效率低下的可能解决方案是有损压缩梯度以及上传/下载神经网络变化的压缩版本[6]。但是,这种压缩会导致量化噪声进入梯度,这降低了联邦学习方法的训练效率(通过降低网络的准确性或要求更多数量的通信回合)。因此,在标准联邦学习中,我们面临着效率-性能瓶颈,这阻碍了它在真实情况场景中的实用性。
考虑到上述缺点,以下进一步描述的实施例和方面以以下方式单独或一起解决效率-性能瓶颈。
1)以允许在上传通信步骤36期间显着有损压缩的方式修改训练过程,例如,当使用联邦学习时梯度不会显着影响网络的训练性能。
2)以无论分布式学习是否为联邦类型,允许我们在下载通信步骤32期间显着压缩梯度而不(明显)影响网络的训练性能的方式修改训练过程。通过引入累加步骤来获得1和2中提到的成就,在该累加步骤中,在发送侧(即在上传通信步骤36的情况下的相应客户端14处和在下载通信步骤32中使用时的中央节点或服务器12处)在本地累加压缩误差,并且可能使用一些加权求和,将累加的压缩误差(编码损失)添加到在相应通信回合处待传输的实际状态。
3)根据另一方面,通过在梯度的有损压缩之上(可能是在下载32期间发送的上传参数化更新或合并参数化更新)应用无损压缩技术进一步降低通信成本。这里,高效无损编解码器的设计可以利用有关所采用训练过程的先验知识。
4)更进一步来讲,当将参数化更新的传输(无论是上传还是下载)限制到经编码的更新值集合(诸如更新值最大集合,其中使用其平均值指示)时,可以非常有效地选择编码或压缩损失。下文中呈现智能梯度压缩(SGC)和稀疏二进制压缩(SBC)。如果该限制集中于参数化18的经编码的参数集合的上传值的最大集合,则该概念特别有效,该最大集合是包含预定数量的最高上传值的集合或由相同预定数量的最低更新值组成的集合,使得不必为所有这些更新值传输单独的符号信息。这对应于SBC。该限制不会明显影响学习收敛速率,因为未传输的更新值(由于位于第二但符号相反的更新值最大集合中)可能会在以后循环的一个循环中被传输。
单独或一起使用以上概念,我们能够大幅值降低通信成本。例如当将它们全部一起使用时,在不影响标准计算机视觉任务中的一些任务的训练性能的情况下,通信成本的降低可能至少约为1000。
在从与联邦学习有关的实施例的描述开始、然后随后关于本申请的各方面的某些实施例扩展该描述之前,以下部分通常利用随后将使用的数学符号关于神经网络及其学习提供一些描述。
在最高抽象层次上,网络16可以表示的深度神经网络(DNN)是函数
Figure BDA0002887617960000101
该函数将形状为Sin的实值输入张量x(即,被施加到神经网络16输入层的节点上的输入)映射到形状为Sout的实值输出张量(即神经网络16的输出层(即图2中的层J)的节点处由神经网络预测后得到的输出值或激活)。每个DNN通过权重和偏差W的集合来参数化(下文中将同义地使用网络的术语“权重”和“参数”)。参数的权重使用图2中的字母数字值α指示。权重||的数量可能非常大,具有通常有数百万个参数的现代最先进的DON架构。即参数化18的大小或由此包括的参数的数量可能很大。在监督学习中,我们得到数据点集合
Figure BDA0002887617960000102
和网络的对应期望输出集合
Figure BDA0002887617960000103
我们可以通过可微分的距离度量测量DNN与期望输出的匹配有多接近
Figure BDA0002887617960000104
在监督学习中目标是找到参数W(参数化18的设置),针对此参数DNN最接近地匹配训练数据上的期望输出D={(xi,yi)|i=1,..,n},即求解优化问题
Figure BDA0002887617960000105
其中
Figure BDA0002887617960000111
被称为损失函数。希望是,由求解优化问题(3)得出的模型W*也将很好地泛化到与用于训练的数据D不相交但遵循相同分布的看不见的数据
Figure BDA0002887617960000112
任何机器学习模型的泛化能力通常在很大程度上取决于可用训练数据的数量。
求解问题(3)非常重要,因为l通常是非线性的、非凸的并且是极高维数的。到目前为止,求解(3)的最常见方法是使用称为随机梯度下降(SGD)的迭代优化技术。在图5中给出用于简朴SGD的算法。此算法或SGD方法可以例如由客户端14在34处单独训练期间使用。然而,可以通过在相应客户端上单独地且与其他客户端独立地收集训练数据自动在每个客户端34处实现一批次训练数据的随机样本,这将在以下更详细地概述。如以上已经简要陈述并在以下进一步提到的,在数据并行学习的情况下,可以更均匀地设计随机性。
虽然已经提出许多对图5算法的修改,其可以加快收敛(动量优化、自适应学习率),但是它们均遵循相同的原理:我们可以使用数据D投入计算资源(例如,通过训练迭代的次数来测量)以改进当前模型。
W′=SGD(W,D,θ) (5)
其中θ是所有优化专用超参数(诸如学习率或迭代次数)的集合。改进的质量通常取决于可用数据量和投资的计算资源量两者。权重和权重更新通常以32位浮点算法进行计算和存储。
在许多真实世界场景中,训练数据D和计算资源分布在众多实体上(在下文中称为“客户端”14)。数据和计算的这种分布既可以是问题设置的固有性质(例如,因为数据被收集并存储在移动或嵌入式设备上),也可以由机器学习从业人员自愿引入(即经由更高水平的并行性加快计算速度)。分布式训练的目标是使用所有客户端的训练数据训练全局模型,而无需发送此数据。这可以通过进行以下步骤来实现:要为全局训练做出贡献的客户端首先通过从服务器下载32来与当前全局模型同步。然后,它们使用其自身本地数据计算34本地权重更新,并将其上传36到服务器。在服务器处将所有权重更新聚合38以形成新的全局模型。
以下我们将简要描述发生分布式深度学习的两种典型设置:
联邦学习:在联邦学习设置中,将客户端14体现为数据收集移动或嵌入式设备。如今,这些设备已收集了可以用于训练深度神经网络的大量数据。然而,此数据通常对隐私敏感,因此无法与集中式服务器共享(用户电话上的私人图片或文本消息,…)。分布式深度学习使得能够使用所有客户端14的共享数据训练模型,而无需任何客户端将其训练数据揭露给集中式服务器12。尽管理论上可以从参数化更新中推断出关于训练数据的信息,[3]表明可以提出甚至隐藏这些更新的协议,使得可以共同训练DNN,而不泄露数据提供者的隐私。由于给定客户端上的训练数据通常将基于其用户对移动设备的使用,因此客户端14之间的数据分布通常是非i.i.d.(independent identically distributed,独立相似分布)的,并且任何特定用户
Figure BDA0002887617960000121
的本地数据集都不会代表整个分布。由于不同的用户在不同程度上使用服务或应用程序,数据量通常也将不平衡,导致本地训练数据量的变化。此外,可想象出许多场景,其中参与优化的客户端总数量可能远远大于每个客户端的示例的平均数量。在“联邦学习”设置中,通信成本通常是至关重要的因素,因为移动连接经常是缓慢、昂贵并且不可靠的。
数据并行学习:即使在最高端的硬件上,在诸如ImageNet[4]的巨大数据集上训练具有数百万个参数的现代神经网络架构也可能花费很长时间。用以加快训练的非常常见技术是通过让多台机器同时在训练数据的不同的子集合上计算权重更新来利用增加的数据并行性。为此,训练数据D以均匀且平衡的方式被划分至所有客户端14,因为这减小了每个通信回合中各个权重更新之间的差异。这种划分可以由服务器12或某个其他实体完成。每个客户端并行地对其本地数据计算新的权重更新,然后服务器12对所有权重更新取平均。数据并行训练是将并行性引入神经网络训练的最常见方法,因为它易于实施且具有出色的可缩放性质。相比之下,模型并行性在使用更大的数据集的情况下缩放性要差得多,并且对于更复杂的神经网络架构实施而言是乏味的。尽管如此,与联邦学习相比,数据并行训练中的客户端数量相对较少,因为并行化可实现的加快被计算不可并行化部分限制,最突出的是每个并行计算回合之后所需的通信。因此,减少通信时间是数据并行学习中最关键的因素。旁注,如果对于所有客户端,本地批处理大小和本地迭代次数等于1,数据并行SGD的通信回合在数学上等同于具有等于参与客户端数量的批处理大小的常规SGD的一次迭代。
我们在后续的表格中系统地比较这两种设置
Figure BDA0002887617960000131
以上表格比较了从分布式数据进行训练的两种主要设置。这两种设置构成了从分布式数据中进行学习的情况的两端。可想象出介于这两个极端之间的许多场景。
以上描述的分布式训练可以以同步的方式进行。同步训练的好处在于,它可以确保权重更新在到达服务器时不会过时。过时的权重更新可能以其他方式使训练不稳定。因此,可以进行同步分布式训练,但是随后描述的实施例在这一点上也可以不同。我们在图6中描述了同步分布式SGD的一般形式。在每个通信回合(communication round)30中,每个客户端14进行以下操作:首先,它从服务器下载最新模型。第二,从全局模型W开始,使用固定数量的SGD迭代,基于其本地训练数据计算34本地权重更新。第三,将本地权重更新上传36到服务器12。然后服务器12通常通过加权的平均对来自所有参与的客户端的权重更新进行累加38,将它们应用38'到全局模型以获得新的参数化设置,并且然后在循环30开始32处将新的全局模型或设置广播回到所有客户端,以确保一切保持同步。
在每个通信回合或同步分布式SGD的循环期间,每个客户端14应该一次从服务器12下载32全局模型(参数化设置),并且稍后将新计算的本地权重更新上传36回到服务器12。如果这被朴素地进行,则在上传和下载时必须传输的位数可能很严重。想象一下使用同步分布式SGD训练具有1000万个参数的现代神经网络16。如果全局权重W和本地权重更新ΔWi作为32位浮点数被存储并传输,则每次上传和下载时都会导致40MB的流量。这远远超出了移动设备的典型数据计划在联邦学习设置中所能支持的范围,并且可能导致严重的数据并行学习瓶颈,从而大大限制了并行化的数量。
在过去的几年中,已经公布了大量令人印象深刻的科学著作,这些著作研究了减少分布式训练中通信数量的方法。这突出了问题的相关性。
[8]发现了联邦学习的这种问题设置,并提出一种称为联邦平均(FederatedAveraging)的技术,以减少实现特定目标准确性所需的通信回合数量。在联邦平均中,每个客户端的迭代量从一个单一迭代增加到多个迭代。作者声称,他们的方法可以在不同的卷积神经网络和递归神经网络架构上将所需的通信回合数量减少10倍至100倍。
[10]的作者提出了一种使用i.i.d.数据进行联邦学习的训练方案,其中客户端仅上传幅值最大的本地梯度的一部分,而仅下载更新最频繁的模型参数。他们的方法导致训练模型的收敛速度和最终准确性下降,尤其是在稀疏度较高的情况下。
在[6]中,作者研究了结构化更新和简述更新(sketched updates),以减少联邦平均中的通信量。对于结构化更新,客户端被限制为学习权重的低秩的或稀疏的更新。对于简述更新,作者研究了随机掩蔽和概率量化。他们的方法可以将所需的通信量减少多达两个数量级,但同时也会导致准确性和收敛速度下降。
在[7]中,作者证明了对于现代架构上的“数据并行学习”设置,有可能在上传中实现高达99.9%的梯度稀疏性。他们仅通过发送最大幅值的0.1%梯度并在本地累加其余梯度来实现此目的。他们附加应用了四个技巧来确保他们的方法不会减慢收敛速度或降低模型获得的最终准确性。这些技巧包括使用课程表在前几次通信回合中逐渐增加稀疏量,并应用动量因子掩蔽来克服梯度陈旧性问题。报告了大数据集上现代卷积和递归神经网络架构的结果。
在[1]中提出“深度梯度压缩”概念,但使用附加的四个技巧。因此,他们的方法会引起收敛速度和最终准确性的减少。
论文[12]提出将梯度随机量化为3个三进制值。这样做可以实现大约×16的适度压缩率,而在大型现代架构上,准确性会略有下降。在梯度有界性的假设下,该方法的收敛性在数学上得到了证明。
在[9]中,作者凭经验表明,如果累加了量化误差,则可以将分布式SGD中的权重更新量化为1位而不会损害收敛速度。作者报告了使用递归神经网络进行语言建模任务的结果。
在[2]中,提出Qsgd(通信效率sgd)。QSGD探索了准确性和梯度精确性之间的权衡。证明了梯度量化的有效性,并证明了QSGD的收敛性。
在[11]中提出的方法中,仅将幅值大于某个预定阈值的梯度发送到服务器。所有其他梯度都聚合在残差中。
诸如[5]和[14]中的其他作者研究了降低权重和梯度两者的精确性的影响。如果仅对权重更新进行压缩,则他们获得的结果将比可实现的结果差很多。
下文呈现的框架依赖于以下观察:
·权重更新ΔW,即参数化更新,噪声非常多:如果将训练数据不相交地(disjointly)划分为K个批次
Figure BDA0002887617960000151
则从等式(4)可以得出
·
Figure BDA0002887617960000152
因此,随机梯度是真实梯度的噪声近似值,该真实梯度为
Figure BDA0002887617960000153
其中
Figure BDA0002887617960000154
·通过实验和理论考虑,验证了SGD中存在的噪声实际上在训练过程中很有用,因为它帮助梯度下降不会卡在不良局部最小值中。
·由于随机梯度仍然很嘈杂,因此无需精确传输权重更新。相反,有可能压缩权重更新使其有损,而不会对收敛速度造成重大损害。压缩(诸如量化或稀疏化)可以解释为一种特殊形式的噪声。在新的压缩设置中,客户端上传
Figure BDA0002887617960000155
而不是上传ΔWi
·不是下载每个通信回合或循环的完整型号W,代之以只需下载全局权重更新ΔW,然后在本地应用此权重更新。如果客户端在先前通信回合中已经与服务器同步,则从数学上这等同于较前的方法,但是它具有的巨大好处是,它使我们能够使用与上传以及下载中使用的压缩技术相同的压缩技术。因此,客户端可以下载
Figure BDA0002887617960000161
而不是下载ΔW。
·如果压缩权重更新导致的误差在本地累加,则对收敛有益。这一发现可以自然地整合到我们的框架中。
Ai←αAi+ΔWi (11)
Figure BDA0002887617960000162
Figure BDA0002887617960000163
参数α控制累加量(通常为α∈{0,1})。
·我们将压缩权重更新的高效编码和解码确定为对压缩非常重要的因素。利用权重更新的统计性质能够经由预测编码进一步减少通信量。统计性质可以包括权重更新的时间或空间结构。该框架还能够对压缩后的权重更新进行有损编码。
利用以上讨论的所有见解和概念的框架如图7所示,并在下文中进行描述。一般而言,图7的分布式学习概念的操作模式与到目前为止关于图3和图6一般描述的操作模式相同。具体如下。例如,图7在其伪代码中示出下载步骤32,该下载步骤32被划分为参数化更新
Figure BDA0002887617960000164
的接收32b及其传输32'。具体地,参数化设置下载仅受限于(经合并的)参数化更新的传输。因此,每个客户端在32c处通过使用当前下载参数化更新在内部更新在先前循环中下载的参数化设置来完成参数化设置下载的实际更新,诸如图7所描绘的,通过将当前循环中下载的当前下载参数化更新与在先前循环中下载的参数化设置Wi相加来完成。每个客户端使用其训练数据Di以进一步训练该神经网络,并由此获得新的(本地更新的)参数化设置,从而在步骤34处获得参数化更新ΔWi,诸如如图7所示,通过将新训练的参数化设置与相应客户端i在当前循环的下载32处最近曾获知的参数化设置进行相减。
每个客户端使用有损编码36'来上传刚获得的参数化更新ΔWi。为此,每个客户端i本地管理在先前循环期间的参数化更新的编码损失或编码误差的累加。客户端i的累加总和在图7中由Ai指示。还通过参考图8,解释使用编码损失累加(这里在上传36中当前使用的)传输参数化更新(或对参数化更新进行有损编码)的概念。稍后将关于下载过程32再次参考图8。在图8中的50处描绘新获得的参数化更新。在上传参数化更新的情况下,此新获得的参数化更新形成了在一方面新获得的参数化设置(即新学习的参数化设置,如在图7中指示为SGD(...),在图8中由附图标记52指示)与另一方面最近下载的参数化设置Wi(在图8中由附图标记54指示)之间的差。因此新获得的参数化更新50(即当前循环的参数化更新)形成此参数化更新的编码损失获知的编码/传输36'的输入,在图8中由附图标记56处指示,并且使用图7中的代码线7-9实现。具体地,形成在一方面的当前参数化更新50与另一方面的累加的编码损失60之间的累加58,以生成累加的参数化更新62。加权可以控制累加58,诸如用以将累加的编码损失与当前更新50相加的权重。然后累加结果62实际经受64处的压缩或有损编码,由此生成为实际编码的参数化更新66。在68处确定一方面的累加的参数化更新62与另一方面的经编码的参数化更新66之间的差,并且形成用于下一个循环或回合的累加编码损失60的新状态,如反馈箭头69指示的。在36a处最终上传经编码的参数化更新66,而没有进一步的编码损失。即新获得的参数化更新50包括针对参数化18的每个参数26的更新值72。这里,在更新的情况下,通过从新训练后的参数化设置52中减去最近下载的参数化设置54,客户端获得当前参数化更新50,后者设置52和54针对参数化18的每个参数26分别包括参数值74和76。编码损失的累加(即60,在图7中被称为针对客户端i的Ai)类似地包括针对参数化18的每个参数26的累加值78。这些累加值78是通过以下方式获得的:针对每个参数26,将针对相应参数26的累加更新值80与针对此参数26的实际编码的参数化更新66中的实际编码更新值82相减66,所述针对相应参数26的累加更新值80是已经通过累加58从针对此参数26的对应值72和78获得的。
应当注意的是,存在两种编码损失的来源:首先,并非所有累加参数化更新值80都被实际编码。例如,在图8中,阴影线示出参数在经编码的参数化更新66中的位置,对于该参数位置,对应累加参数化更新值80未被编码。例如,这对应于在经编码的参数化更新66的接收器(这里在上传的情况下为服务器12)处将对应值设置为零或某个其他预定值。相应地,对于这些未编码参数位置,在下一个循环中累加编码损失等于对应累加参数化更新值80。在下文中未编码更新值80的剩余被称为“稀疏化”。
然而,即使是有损编码所包括的累加参数化更新值80,其参数26的位置在图8的经编码的参数化更新66中未用阴影线指示也没有进行无损编码。相反,由于取决于所选择的有损编码概念的量化,针对这些参数的实际编码更新值82可以与对应累加参数化更新值80不同,在本文下面描述针对该概念的示例。对于后面的非阴影参数,下一个循环的累加编码损失60通过减法68获得,因此对应于针对相应参数的实际编码值82与由累加58生成的累加参数化更新值80之间的差。
客户端i在36a处传输的参数化更新的上传通过服务器36b处的接收而完成。如刚刚描述的:在有损编码64中未编码的参数化值在服务器处被视为零。
然后,服务器通过使用如图7所示的例如参数化更新的加权总和,在38处合并收集的参数化更新,其中通过对应于其训练数据Di量相对于训练数据总量的分数的加权因子来对每个客户端i的贡献进行加权,训练数据总量对应于所有客户端的训练数据的收集。然后,服务器在38'处更新其内部参数化设置设置状态,然后在32处执行下载合并的参数化设置更新。使用编码损失获知(即如图8描绘的使用编码损失获知的编码/传输56,在图7中由32'指示)再次执行此操作。这里,新获得的或当前待传输的参数化更新50由当前合并结果形成,即通过在38处获得的当前合并参数化更新ΔW形成。每个循环的编码损失被存储在累加编码损失60(即A)中,并且与当前获得的合并参数化更新50一起用于累加58,然后其累加结果62(即在下载过程32'期间在58处获得的A)受制于有损编码64等等。
通过以图7描绘的方式执行分布式学习的结果,实现了以下:
1)具体地,实现了在客户端/服务器设置中进行通信效率的分布式训练的完整通用框架。
2)根据图7的实施例,不仅在上传期间使用压缩的参数化更新传输,而且压缩传输也用于上传和下载两者。这将每个客户端所需的通信总量减少高达两个数量级。
3)如以下将更详细概述的,可以使用基于稀疏性的压缩或损失编码概念,该概念即通过在仅选择包括在有损编码中的最高(正)更新值80或仅最低(负)更新值之间进行切换,实现通信量比预期的小两倍并且收敛速度仅有略微的损失。
4)此外,有可能使得针对上传压缩率和针对下载压缩率的准确性权衡能够适应手边的任务或情形。
5)此外,该概念还提倡利用参数化更新的统计性质,以通过预测编码进一步减少通信量。统计性质可以包括权重更新的时间或空间结构。实现了有损编码压缩参数化更新。
在下文中,关于确定哪些参数化更新值80应被实际编码以及应如何对它们进行编码或量化的概率进行了一些注释。提供了示例,它们可以在图7的示例中使用,但是它们也可以与另一个分布式学习环境结合使用,这将在下文中对于已宣布和扩展的实施例进行概述。同样,在图7或其中之一的情况下,可以在上传和下载中使用接下来描述的量化和稀疏化。相应地,关于客户端的各个参数化更新和/或合并参数化更新,接下来描述的量化和/或稀疏化可以在客户端侧或服务器侧或这两侧进行。
在量化中,通过减少用于存储权重更新的位数来实现压缩。每个量化方法Q均通过计算不同分位数q的方式及其应用的舍入方案来完全定义。
Figure BDA0002887617960000191
舍入方案可以是确定性的
Figure BDA0002887617960000192
如果qj≤wi<qj+1 (16)
或者随机的
Figure BDA0002887617960000193
如果qj≤wi<qj+1 (18)
可能的量化方案包括
·均匀量化
Figure BDA0002887617960000194
·平衡量化
Figure BDA0002887617960000201
·三元量化,如[12]提出的
q(W)={-max(|W|),0,max(|W|)}
在稀疏化中,通过限制用于表示权重更新的非零元素的数量来实现压缩。稀疏化可以看作是量化的一种特殊情况,其中一个分位数为零,而许多值落入此分位数。可能的稀疏方案包括:
·随机掩蔽:权重更新的每个项都以概率1-p设置为零。在[6]中研究了此方法。
Figure BDA0002887617960000202
·固定阈值压缩:如果权重更新的幅值大于某个预定阈值时,才传输权重更新。此方法在[?]中进行了研究,并扩展为在[2]中的自适应阈值。
Figure BDA0002887617960000203
·深度梯度压缩:不是在每个通信回合中上传完整的权重更新ΔWi,而代之以仅传送最大幅值的p个权重更新。其余的梯度在本地进行累加。在[7]和[1]中彻底研究了此方法。
Figure BDA0002887617960000211
·智能梯度压缩:可以通过将W的大值量化为零,进一步降低深度梯度压缩的通信成本。不是传送具有最大值的p个权重更新的确切的值和位置,代之以,我们仅传送它们的位置和它们的平均值。
Figure BDA0002887617960000212
其中
Figure BDA0002887617960000213
如稍后描述的,指示所述经编码的集合{j=(1-p)card(W)…card(W)|sort(W)j}的中央趋势的任何平均值可以与仅形成平均值的示例一起使用。例如,可以使用中位数或众数代替。
·稀疏二进制压缩:为了进一步降低“深度梯度压缩”和“智能梯度压缩”的通信成本,我们可以将除了分率(fraction)p的最大权重更新和分率p的最小权重更新之外的所有权重更新设置为零。接下来,我们分别计算所有剩余正权重更新和所有剩余负权重更新的平均值。如果正平均值大于绝对负平均值,则将所有负值均设置为零并将所有正值均设置为正平均值,反之亦然。同样,平均值仅是用于平均值度量的一个示例,并且也可以使用关于SGC提到的其他示例。为了更好地理解,在图9中图示了此方法。对稀疏权重更新的非零元素进行量化会将所需的值位从32减少到0。这意味着通信成本降低了约×3倍。
为了传送由SBC产生的稀疏二进制权重更新集合,我们只需要传送非零元素的位置以及相应正平均值或负平均值即可。不是传送绝对非零位置,而是仅传送它们之间的距离是有利的。在稀疏模式对于每个权重更新都是随机的假设下,很容易证明这些距离是几何分布的,其中成功概率p等于稀疏率。可以使用哥伦布码对几何分布的序列进行最佳编码(此最后的无损压缩步骤也可以在“深度梯度压缩”和“智能梯度压缩”方案中应用)。
在图10中总结了不同的编码有损方案。图10示出不同的有损编码概念。从左至右,图10在左侧图示没有压缩,随后是量化和稀疏化的五个不同概念。在图10的上行,示出实际编码版本,即66。在下面,图10示出编码值82和编码版本66的直方图。在相应直方图上方指示均值箭头。右侧稀疏化概念对应于智能梯度压缩,而右边第二个对应于稀疏二进制压缩。
可以看出,与智能梯度压缩相比,稀疏二进制压缩引起略大的编码损失或编码误差,但另一方面,传输开销也减少了,由于所有传输的编码值82具有相同的符号,或者换句话说,在幅值和符号上对应于还被传输的平均值的事实。再次代替使用均值,可以使用另一个平均度量。让我们回到图9a至9d。图9a图示由参数化18确定的参数空间的遍历,在左侧具有规则DSGD以及在右侧使用联邦平均。通过这种形式的通信延迟,可以在相同数量的通信回合中遍历更大的损失表面区域。这样,高达×1000的压缩增益是可能的。经过多次迭代后,客户端传送其本地计算的权重更新或参数化更新。在通信之前,参数化更新被稀疏化。为此,除了具有最高幅值的分率p的参数化更新值80之外的所有更新值80被丢弃。即,它们被从有损编码中排除。图9b在100处示出所要传输的参数化更新值80的直方图。图9b在102处示出将所有未编码或排除的值设置为零的这些值的直方图。最高或最大更新值的第一集合在104处指示,最低或最小更新值的第二集合在106处指示。这种稀疏化已经实现了高达×1000的压缩增益。然而,稀疏二进制压缩的确会停止,但不会在这里停止。如图9c所示,稀疏参数化更新被二进制化,以获得大约×3的附加压缩增益。这是通过在集合104和106中选择其平均值幅值较高的集合来完成的。在图9c的示例中,这是集合104,其平均值在108处指示。然后,此平均值108随后连同指示或标识集合104的标识信息一起被实际编码,所述集合104即随后将为其传输平均值108以指示经编码的参数化更新值82的参数化18的参数26的集合。图9d图示例如可以通过应用例如哥伦布(Golomb)编码来获得额外编码增益。这里,与朴素传输标识信息和均值108相比,压缩后的参数化更新的位大小可以再降低×1.1-×1.5。
编码的选择在确定压缩后的权重更新的最终位大小时起着至关重要的作用。理想地,我们想设计尽可能接近理论最小值的无损编解码器方案。
回顾一下,我们将很快得出为了无损编码梯度值整个阵列所需的最小位长。为此,我们假设梯度矩阵的每个元素是来自随机向量
Figure BDA0002887617960000221
的输出,其中N是梯度矩阵中元素的总数(即,N=mn,其中m是行数,n是列数)。我们进一步假设每个元素是从独立随机变量中采样的(因此,假定这些元素之间没有相关性)。然后由以下给出对应的联合概率分布
Figure BDA0002887617960000231
其中
Figure BDA0002887617960000232
是来自于随机变量ΔWi的具体样本值,该随机变量ΔWi属于随机向量ΔW。
已知的是,[13],如果使用合适的无损编解码器,则发送这种向量所需的最小平均位长由以下界定
Figure BDA0002887617960000233
其中
H(X)=-∑jP(xj)log2(P(xj)) (25)
表示随机变量X的熵
·均匀量化
如果我们使用具有K=2b个网格点的均匀量化,并假设这些点上的均匀分布,则我们得到P(ΔWi=gi)=1/K,并因此
Figure BDA0002887617960000234
即,b是对于梯度矢量G的每个元素所需要发送的最小位数。
·深度梯度压缩
在DGC训练过程中,仅将一定百分比p∈(0,1)的梯度元素设置为0,其余部分在通信阶段进行交换。因此,发送/接收特定数值的概率由以下给出
Figure BDA0002887617960000241
其中使用K=2b个二进制位均匀量化非零值。然后相应的熵为
H(ΔWi)=-plog2(p)-(1-p)log2(1-p)+b(1-p) (27)
换句话说,最小平均位长由以下确定:标识元素是零元素还是非零元素所需的最小位长(前两个被加数),加上每当元素被标识为非零值时发送实际值所需的位(最后的被加数)。
·智能梯度压缩
在我们的框架中,我们通过将非零权重值的数量减少为1来进一步降低熵。即K=20。因此,我们只需要发送非零元素的位置即可。因此,我们的理论边界低于(27)并由以下给出
H(ΔWi)=-plog2(p)-(1-p)log2(1-p) (28)
在实践中,我们接收者不知道该值,因此我们也必须发送它,这会导致b位的附加且通常可忽略的成本。
我们刚刚描述了如何将神经网络的梯度值建模为N长的独立随机过程的特定结果。此外,我们还描述了在训练的通信阶段使用不同的量化方法时的概率分布模型。现在仍然需要设计低冗余的无损编解码器(从某种意义上来说,低冗余是指每个元素的平均位长接近理论下边界(24))。对于这些情况,高效编解码器已经在文献[13]中进行了充分的研究。特别地,二进制算术编码技术已经显示特别高效,并且被广泛应用于图像和视频编码领域。因此,一旦我们选择了概率模型,就可以使用这些技术对梯度值进行编码。
通过使用预测编码方法,我们可以进一步降低发送/接收梯度矩阵ΔW的成本。回顾一下,在稀疏通信设置中,我们指定一定百分比的具有最高绝对值的梯度,并(在服务器端和客户端两者处)仅发送这些梯度。然后,将已发送的梯度设置回为0,其他梯度在本地累加。这意味着我们可以对下一次迭代(或下一次迭代τ)待发送具体元素的概率进行一些估计,并因此降低通信成本。
令ρi(g|μi(t),σi(t),t)为时间t处第i个元素的梯度的绝对值的概率密度函数,其中μi(t)和σi(t)为分布的均值和方差。然后,第i个元素将被更新的概率由以下累加概率分布给出
Figure BDA0002887617960000251
其中选择ε以使得对于特定百分比的元素,P(i=1|t)>0.5。此模型的简述如图11描绘。
图11示出梯度的绝对值的概率分布的简述。区域110指示梯度在当前通信回合处被更新的概率(并且类似地,区域112指示相反的概率)。由于针对那些尚未更新的元素随时间累加了梯度值,因此分布的方差(如果不是0,则指示均值)随时间增加。这样,蓝色区域也会随着时间而增加,从而有效地增加了在下一个通信回合中元素被更新的概率。
现在,我们可以轻松地想象到,不同的元素具有不同的梯度概率分布(即使我们假设所有元素都具有相同的类型,它们也可能具有不同的均值和方差),从而导致它们具有不同的更新速率。这实际上得到了实验证据的支持,如图11所示,其中描绘显示出具有不同更新速率的元素的分布的图表。
因此,梯度更新频率的更合适的概率模型将是为每个元素(或一组元素)分配具体概率速率pi。我们可以通过跟踪一段时间内的更新频率来估计元素专用的更新速率pi,并根据这些观察进行计算。
然而,以上简单模型只是朴素的假设,即概率密度函数不会随时间变化。我们知道这是不正确的,原因有两个。第一,随着训练时间增加,梯度的均值趋向于0(实验表明,使用SGD优化器,方差会随着时间而增加)。以及第二,如前所提及的,我们累加了那些尚未更新的元素的梯度值。因此,随着时间的推移,随机变量的总和不断增加。因此,在时间t*+τ(其中τ是最后更新t*之后的时间)处的概率密度函数对应于时间t*→t*+τ之间所有概率密度函数的卷积。如果我们进一步假设随机变量在时间轴上是独立的,然后我们知道,所得概率密度函数的均值和方差对应于它们的均值和方差之和
Figure BDA0002887617960000261
Figure BDA0002887617960000262
因此,只要这些总合中的一个不随着τ→∞收敛,就可以保证在下一迭代回合中元素被更新的概率趋向于1(即,随着τ→∞,P(i=1|t*+τ)→1)。
然而,对实时相依的更新速率建模也可能太复杂。因此,我们可以经由更简单的分布对其进行建模。例如,我们可能假设遇到τ个连续零的概率遵循几何分布(1-pi)τ,其中pi指示元素i在静态模式中的更新速率。但是也可以假设概率随时间增加的其他模型(例如
Figure BDA0002887617960000263
或属于具有可调参数的指数族的其它模型)。
此外,我们可以使用自适应编码技术,以便以在线方式估计概率参数。即我们在每个通信回合处使用有关更新的信息,以便微调假设概率的参数。例如,如果我们将梯度的更新速率建模为静态(不是时间相依的)伯努利分布P(i=1)=pi,则可以通过采用样本均值以在线方式学习值pi(即,如果xt∈{0,1}是在时间(或循环)t处的特定结果,则pi,t+1=(xt+pi,t)/t)。
这种方法的优点是参数估计同时在发送者侧和接收者侧进行,从而没有通信开销。然而,这是以增加编码器和解码器的复杂性为代价的(对于更复杂的模型,在线参数化更新规则可能会相当复杂)。因此,必须根据情况考虑在模型复杂度和通信成本之间进行最佳权衡。
例如,在通信回合较高且通信延迟应尽可能短的分布式环境中,如静态速率频率模型pi或几何分布(1-pi)τ的简单模型用于预测编码可能是个不错的选择(或许是属于指数族分布(exponential family distribution)的分布中的任一个,因为它们的参数的在线更新规则(online update rule)很简单并且对于那些模型是公知的)。另一方面,我们也许能够在联邦学习场景重增加模型的复杂度(以及与它一起的压缩增益),因为假设计算资源与通信成本相比较高。
可以将上述想法概括为非智能梯度矩阵
Figure BDA0002887617960000271
再次,我们将矩阵G的每个元素Gi~gi,i∈{1,...,N(=m×n)}视为输出实数值梯度gi的随机变量。就我们而言,我们仅对其元素可以仅输出来自有限集合
Figure BDA0002887617960000272
的值的矩阵感兴趣。集合
Figure BDA0002887617960000273
的每个元素ωk具有被分配给它的概率质量值
Figure BDA0002887617960000274
当我们对梯度使用其他形式的量化时,就会遇到这种情况,诸如均匀量化方案。
我们进一步假设发送者和接收者共享相同的集合
Figure BDA0002887617960000275
他们要么在开始训练值集合
Figure BDA0002887617960000276
之前达成协议,要么在训练期间发送新表格(后者仅在更新集合
Figure BDA0002887617960000277
的成本与发送梯度的费用相比微不足道时应用)。矩阵的每个元素可能具有独立集合
Figure BDA0002887617960000278
或者一组(或所有)元素可能共享相同的设置值。
至于概率
Figure BDA0002887617960000279
(即集合
Figure BDA00028876179600002710
的概率质量函数,取决于元素i),我们可以类似地对其建模,并应用自适应编码技术,以便根据在训练期间发送/接收的梯度数据更新模型参数。例如,我们可以为网络中的每第i个元素建模静态(不是时间相依的)概率质量分布
Figure BDA00028876179600002711
Figure BDA00028876179600002712
其中我们根据在训练期间他们出现的频率更新值
Figure BDA00028876179600002713
自然地,所得的编解码器然后将取决于值
Figure BDA00028876179600002714
此外,我们还可以对概率
Figure BDA00028876179600002715
的时间相依性建模。令
Figure BDA00028876179600002716
为单调递减函数。同样,令
Figure BDA00028876179600002717
为时间步长,指示第i梯度将其值更改为该点之后的时间ωk和τ。然后,我们可以写
Figure BDA00028876179600002718
Figure BDA00028876179600002719
即在τ个连续时间步长处选择相同值的概率降低,因此随着时间的推移逐渐增加其他值的概率。
现在我们必须为每个函数
Figure BDA00028876179600002720
找到合适的模型,其中我们必须在编解码器复杂度和压缩增益之间进行权衡。例如,我们也可以用几何分布对每个值k的保持时间建模。即
Figure BDA00028876179600002721
Figure BDA0002887617960000281
并且利用自适应编码技术以便在训练期间估计参数
Figure BDA0002887617960000282
实验结果在图12至图17中进行了描绘。图12示出本地累加对收敛速度的影响。左:没有本地累加,右:具有本地累加。图13示出联邦学习中不同压缩方法对收敛速度的影响。模型:CifarNet,数据集:CIFAR,客户端数量:4,数据:iid,每个客户端的迭代次数:4。图14示出在数据并行学习中不同稀疏化方法的效果。模型:ResNet,数据集:CIFAR,客户端数量:4,数据:iid,每个客户端的迭代次数:1。图15示出在数据并行学习中不同稀疏化方法的效果。模型:ResNet,数据集:CIFAR,客户端数量:4,数据:iid,每个客户端的迭代次数:1。图16示出全连接层中的梯度-更新-频率分布(1900步长)。图17示出中间-更新-间隔分布(100步长)。
现在,在关于附图描述某些实施例之后,将描述一些扩展的实施例。例如,根据一个实施例,使用客户端的参数化更新的编码损失获知的上传完成神经网络16的联邦学习。通用过程可能如图6描绘的,并使用如图7所示的关于上传36的编码损失获知上传的概念以及关于图8所描述的。发明人已经发现,编码损失获知的参数化更新上传不仅在数据并行学习场景的情况下是有利的,在该数据并行学习中,训练数据跨支持客户端14被均匀地划分。而且在联邦学习的情况下,似乎是编码损失累加和在更新中这种累加的包含允许更有效地进行参数化更新上传的有损编码,在该联邦学习中,在如此上传的各个参数化更新受制于合并并且经由下载进行重新分布之前,各个客户端倾向于花更多的精力在相应单独训练数据(如以上关于图3所解释的至少部分地单独收集)上进行单独训练。因此,根据该扩展实施例,可以使用图7中在上传期间参数化更新的编码损失获知的传输,而无需如先前关于图7描述的以结合下载合并参数化更新的方式使用编码损失获知。此外,回想一下,以上关于图3已经注意到的:不需要客户端-服务器通信的同步以及各种客户端之间的交互作用,并且客户端和服务器之间的通用操作模式应用于所有客户端-服务器对,即对于所有客户端,循环和交换的更新信息可能不同。
以上描述以下面方式得出另一实施例。尽管以上描述主要涉及联邦学习,但是不管分布式学习的确切类型如何,都可以通过应用编码损失获知的参数化更新传输56和下行链路步骤32来实现优点。这里在服务器侧而不是客户端侧进行编码损失累加和获知。应当注意的是,通过将过程56所提供的编码损失获知应用于分布式学习场景的下载方向,下载参数化更新信息量的可实现的减少是相当可观的,然而收敛速度基本上维持。因此,虽然在图7中将编码损失获知应用于两侧(参数化更新的上传和下载),通过省去例如在上行链路过程一侧处的编码损失获知,实现刚刚提出的实施例中的可能修改。当在两侧都使用编码损失获知(即通过关于上行链路在客户端侧执行过程56以及关于下行链路在服务器侧执行过程56)时,这使得能够以这样的方式设计总体学习场景:使得编码损失的发生一方面被仔细地分布在服务器上,另一方面被仔细地分布在客户端上。再次,就客户端-服务器交互而言,不需要客户端之间的同步,请参考以上注意。该注意还当应用于关于图18和图19的实施例的以下描述。
关于有损编码的量化和稀疏化可以执行另一实施例,该实施例可以通过利用独立于以上实施例中阐述的其他细节的各个概念的有利性质、关于连续参数化更新的有损编码的方式,从以上描述中得出。在图7中关于上传和下载,量化和稀疏化发生在压缩步骤64中。如上描述,这里可以使用稀疏二进制压缩。在可替代实施例中,仅结合上传、或仅结合下载、或两者结合,通过使用关于图18再次描述的稀疏二进制压缩,可以从图7获得修改的实施例。此外,关于图18描述的实施例不必与编码损失获知的传输56一起或结合编码损失获知的传输56使用稀疏二进制压缩。相反,可以以非累加的编码损失非获知的方式对连续参数化更新进行有损编码。
图18示出针对分布式学习的神经网络16的参数化18的连续参数化更新的有损编码,以及具体地,在编码器侧或发送器侧使用的模块(即130),以及在接收器或解码器侧使用的模块132。例如,在图7的实施方式中,模块130可以被内置到客户端中以在上传方向上使用带符号的二进制压缩,而然后可以在服务器中实现模块132,并且模块132和130可以反之亦然,在客户端和服务器中实现,以便在下载方向上使用带符号的二进制压缩。
因此,模块130形成并用于对连续参数化更新进行有损编码的装置。参数化更新的序列图示在图18中的134处。当前有损编码的参数化更新在136处指示。当前有损编码的参数化更新可以对应于当不使用编码损失获知时在图8中由62指示的累加参数化更新或者如图8中由50指示的新获得的参数化更新。参数化更新的序列134是由分布式学习的循环性质产生的:每个循环,产生新的参数化更新136。诸如当前参数化更新136的每个参数化更新包括参数化18的每个参数26的更新值138。
装置130通过确定更新值第一集合和更新值第二集合(即集合104和106)开始其操作。第一集合104可以是最高更新值138和当前参数化更新136的集合,而集合106可以是最低更新值的集合。换句话说,当更新值138沿其值排序时,集合104可以形成连续串的最高更新值138和所得顺序序列,而集合106可以在值序列的相对侧形成连续串,即最低更新值138。可以以使得两个集合的基数一致的方式进行确定,即,它们在其中具有相同数量的更新值138。预定数量的基数可以是固定或默认设置,或者可以由模块130以也可用于解码器132的信息的方式并基于该信息确定。例如,可以明确传输该数量。通过分别对两个集合104和106中的更新值138取平均、并将两个平均值的幅值进行比较、并最终选择其绝对平均值值较大的集合,来在集合104和106之间执行选择140。如以上所述,诸如算术平均值或一些其他平均值的均值可以用作平均度量,或诸如众数或中值的某种其他度量。具体地,然后,模块130将选择的较大集合的平均值144与标识信息146一起编码142作为关于当前参数化更新136的信息,该标识信息146标识或定位参数化18的经编码的参数集合26,当前参数化更新136中的对应更新值138被包括在选择的最大集合中。例如图18在148处图示针对当前参数化更新136,集合140被选为更新值的最大集合,用阴影指示的集合。对应经编码的参数集合被说明性地示出在图18中,也被阴影指示。因此,标识信息146定位或指示参数26所位于的位置,针对参数26的更新值138被编码为表示在幅值和符号上都等于平均值144。
如以上早已描述的,对收敛速度的影响很小,因为每次对序列134进行参数化更新时,实际上仅对集合104和106中的一个进行编码,而对另一个则未进行编码,因为沿着循环序列,取决于连续循环中的训练结果,选择在最高更新值的集合104和最低更新值的集合106之间切换。另一方面,由于不需要对关于每个编码后更新值和平均值144之间的带符号关系的信息进行编码的事实,减少了用于传输的信令开销。
解码器132对标识信息146和平均值144进行解码,并且将由标识信息146指示的最大更新值集合(即最大集合)设置为在符号和幅值上等于平均值144,而其他更新值被设置为诸如零的预定值。
如图18中的虚线所示,当与编码损失获知一起使用图18的量化和稀疏过程时,参数化更新的序列可以是累加参数化更新的序列134,因为缓冲由减法68确定的编码损失以被考虑,即至少部分地对后续参数化更新作出贡献,诸如通过加权相加。用于解码连续参数化更新的装置132的行为相同。只是收敛速度增加。
对根据以上讨论的SGC进行操作的图18实施例的修改实现了经编码的更新值集合,该经编码的更新值集合被选择为包括(依据幅值)最大的更新值、并伴随有关于当前参数化更新的信息,该信息具有符号信息,该符号信息分别针对与由标识信息146指示的经编码的参数集合相关联的经编码的更新值集合中的每个更新值,指示平均值与相应更新值之间的带符号关系,即表示更新值是否在幅值和符号上等于平均值,或者等于其加性逆元素。符号信息可以不必使用每个编码后更新值的标志或符号位来指示经编码的更新值集合的成员与平均值之间的符号关系。而是,以包括两个子集合的方式发信号通知或以其他方式细分标识信息146可能就足够了,所述两个子集合:一个子集合指示其对应更新值减去平均值的参数26(近似属于集合106),一个子集合指示其对应更新值恰好是(包括符号)平均值的参数26(近似属于集合104)。实验揭露,使用一个平均量度作为编码后最大更新值(正值和负值)的幅值的唯一代表,不过会导致相当不错的收敛速度,因为与更新传输(上传和/或下载)相关联的合理通信开销。
图19涉及本申请另一方面的本申请另一实施方式。通过筛选使用对连续参数化更新的有损编码表示进行熵编码的有利方式,从以上描述中获得。图19示出编码模块150和解码模块152。因此,模块150可以用于连续参数化更新的发送器侧,诸如就参数化更新上传36而言在客户端中实现,以及就合并参数化更新下载而言在服务器中实现,并且模块150可以在接收器侧实现,即就参数化更新下载而言在客户端中实现,以及就上传而言在服务器中实现。特别是,编码器模块150可以表示图18中的编码模块142,并且解码模块152可以形成图18的装置132的解码模块149,意味着可以将图19涉及的熵编码概念可选地与图18的有利的稀疏化概念(即SBC)或被描述为其修改方案(即SGC)的稀疏化概念相结合。然而,这不是必需的。
在图19的描述中,以上已经引入的附图标记被重新使用,以便将以下描述集中于针对图19的实施例的区别和细节。
因此,装置150表示用于编码针对分布式学习的神经网络16的参数化18的连续参数化更新134的装置。并且为此目的,配置为使用熵编码使用概率分布估计对连续参数化更新进行有损编码。更准确地说,装置150首先使当前参数化更新136经历有损编码154,该有损编码154可以但不一定如关于图18所描述的实现。有损编码144的结果是,当前参数化更新136的更新值138被分类为编码的(使用图19中的附图标记156指示并且使用在图18中所做的用阴影图示)(因此,形成经编码的更新值集合)以及未编码的(即158并且在图19中没有用阴影图示)。例如,当使用如图18中所做的SBC,集合156将会是104或106。当前参数化更新136的实际编码版本148的未编码的更新值158被视为例如以上已经概述的,被设置为诸如零的预定值,而某种量化值或多个量化值通过有损编码154被分配给编码值156(诸如在图18情况下的符号和幅值统一的一个公共平均值),尽管可替代概念也是可行的。然后,编码模块150的熵编码模块160使用熵编码并使用由概率估计模块162确定的概率分布估计来对版本148进行无损编码。后一模块通过评估对序列134中先前参数化更新的有损编码,执行关于当前参数化更新136的熵编码的概率估计,关于该概率估计的信息对于接收器/解码器侧处的对应概率估计模块162'也是可获得的。例如,概率估计模块162针对参数化18的每个参数26,记录编码版本148中的对应编码值对于编码值156或未编码值158的隶属关系,即在对应的前一循环中针对相应参数26更新值是否包含在编码版本148中。基于此,概率估计模块162确定例如参数化18的每个参数i的概率p(i),该概率p(i)是针对当前循环k,针对参数i的更新值ΔWk(i)是否被包括在经编码的更新值集合156(即属于集合158)的概率。换句话说,模块162例如基于针对循环k-1针对参数i的更新值ΔWk(i)对于编码集合156或未编码集合158的隶属关系来确定概率p(i)。这可以通过更新如针对先前循环确定的针对该参数i的概率来进行,即通过取决于针对循环k-1针对参数i的更新值ΔWk(i)对于编码集合156或未编码集合158的隶属关系,即在对应的前一循环k-1中在针对相应参数26的编码版本148中是否包含更新值,连续地在每个循环处更新p(i)。特别地,熵编码器160可以以标识信息146以及信息164的形式对编码版本148进行编码,标识信息146标识经编码的更新值156,即指示它们属于哪个参数26,信息164用于将编码值(量化级别)156分配给如此标识的参数,诸如如在图18的情形中的一个公共平均值)。由确定器162确定的概率分布估计可以例如用于对标识信息146进行编码。例如,标识信息146可以对于参数化18的每个参数26包括一个标志,该标志指示当前参数化更新136的编码版本148的对应的经编码的更新值是否属于编码集合156或未编码集合158,其中对此标志进行熵编码,诸如使用基于序列134的先前参数化更新的先前编码版本148的评估而确定的概率分布估计,对此标志进行算术编码,诸如通过使用前述的p(i)作为概率估计而对参数i的标志进行算术编码。可替代地,标识信息146可以使用可变长度指针代码将经编码的更新值156识别为参数26的有序列表,即根据确定器162得出的概率分布估计对参数26进行排序,即例如根据p(i)对参数26进行排序。该排序例如可以根据针对对应的参数,编码版本148中的对应值属于经编码的集合156的概率,即根据p(i),对参数26进行排序。相应地,该VLC长度将随着针对参数i的概率p(i)的增加而增加。由于基于先前循环中各种参数26的更新值是否属于经编码的更新值集合的隶属关系来连续调整概率,因此同样可以在接收器/解码器侧确定该概率估计。
在解码侧,用于解码连续参数化更新的装置进行相反的操作,即它使用概率估计对信息146和164进行熵解码164,所述概率估计是概率估计器162'以与在编码器侧概率分布估计器162完全相同的方式从先前参数化更新的先前编码版本148中确定的。
因此,如以上所述,本文中具体描述的四个方面可以成对地、三个地或全部地组合,从而以上概述的方式提高分布式学习的效率。
综上所述,以上实施例能够实现分布式深度学习(DDL)的改进,分布式深度学习在最近几年受到了很多关注,因为它是保护隐私的深度学习以及最新成功的经由增加的数据并行性加快神经网络训练这两者的核心概念。由于硬件和软件的进步,随着越来越多的分布式设备被期望能够训练深度神经网络,DDL的相关性很可能会在未来进一步增加。在DDL的几乎所有应用中,各个计算节点之间的通信成本是整个系统性能的限制因素。结果,许多研究试图经由有损压缩方案来减少节点之间必要的通信量。本文描述的实施例可以在这种DDL的框架中使用,并且可以以某种方式扩展过去的方法,以便提高分布式训练中的通信效率。涉及上传和下载时的压缩,并且已经对压缩数据进行了有效的编码和解码。
尽管已经在装置的上下文中描述了一些方面,但清楚的是,这些方面也代表了对应方法的描述,其中框或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的各方面也指示对应装置的对应框或项目或特征的描述。方法步骤中的一些或全部可以由(或使用)硬件装置(像例如,微处理器、可编程计算机或电子电路)执行。在一些实施例中,最重要的方法步骤中的一个或多个可以由这样的装置执行。
可以将本发明的参数更新的编码存储在数字存储介质上,或者可以在诸如无线传输介质的传输介质或诸如互联网的有线传输介质上进行传输。
取决于某些实施要求,本发明的实施例可以以硬件或软件来实施。可以使用存储有电子可读控制信号的数字存储介质(例如软盘、DVD、蓝光、CD、ROM、PROM、EPROM、EEPROM或FLASH存储器)执行该实施方式,该电子可读控制信号与可编程计算机系统协作(或能够协作),从而执行相应方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,该电子可读控制信号能够与可编程计算机系统协作,从而执行本文描述的方法之一。
一般地,本发明的实施例可以被实施为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,该程序代码可操作以执行方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的、用于执行本文描述的方法之一的计算机程序。
换句话说,因此本发明方法的实施例是一种具有程序代码的计算机程序,当计算机程序在计算机上运行时,该程序代码用于执行本文描述的方法之一。
因此,本发明方法的进一步的实施例是一种数据载体(或数字存储介质、或计算机可读介质),该数据载体包括记录在其上的用于执行本文描述的方法之一的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。
因此,本发明方法的进一步的实施例是指示用于执行本文描述的方法之一的计算机程序的数据流或信号序列。数据流或信号序列可以例如配置为经由数据通信连接、例如经由互联网来传输。
进一步的实施例包括处理装置,例如计算机或可编程逻辑设备,其配置为或适于执行本文描述的方法之一。
进一步的实施例包括一种其上安装用于执行本文描述的方法之一的计算机程序的计算机。
根据本发明的进一步的实施例包括一种装置或系统,其配置为将用于执行本文描述的方法之一的计算机程序(例如,电子地或光学地)传递到接收器。接收器可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于将计算机程序传递到接收器的文件服务器。
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可以用于执行本文描述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以便执行本文描述的方法之一。一般地,该方法优选地由任何硬件装置执行。
本文描述的装置可以使用硬件装置或使用计算机、或者使用硬件装置和计算机的组合来实施。
本文描述的装置或本文描述的装置的任何组件可以至少部分地以硬件和/或软件来实施。
本文描述的方法可以使用硬件装置、或使用计算机、或使用硬件装置和计算机的组合来执行。
本文描述的方法或本文描述的装置的任何组件可以至少部分地通过硬件和/或软件来执行。
上面描述的实施例仅用于说明本发明的原理。应当理解,本文描述的布置和细节的修改和变化对于本领域技术人员将是显而易见的。因此,本发明的意图仅由未决的专利权利要求的范围限制,而不受通过本文的实施例的描述和解释而给出的具体细节的限制。
参考文献
[1]Alham Fikri Aji和Kenneth Heafield。Sparse communication fordistributed gradient descent。arXiv preprint arXiv:1704.05021,2017。
[2]Dan Alistarh,Demjan Grubic,Jerry Li,Ryota Tomioka,和MilanVojnovic。Qsgd:Communication-efficient sgd via gradient quantization和encoding。In Advances in Neural Information Processing Systems,页1707–1718,2017。
[3]Keith Bonawitz,Vladimir Ivanov,Ben Kreuter,Antonio Marcedone,HBrendan McMahan,Sarvar Patel,Daniel Ramage,Aaron Segal,和Karn Seth。Practicalsecure aggregation for privacy preserving machine learning。IACR CryptologyePrint Archive,2017:281,2017。
[4]Jia Deng,Wei Dong,Richard Socher,Li-Jia Li,Kai Li,和Li Fei-Fei。Imagenet:A large-scale hierarchical image database。In Computer Vision和Pattern Recognition,2009。CVPR2009。IEEE Conference on,页248–255。IEEE,2009。
[5]Suyog Gupta,Ankur Agrawal,Kailash Gopalakrishnan,和PritishNarayanan。Deep learning with limited numerical precision。In Proceedings ofthe 32nd International Conference on Machine Learning(ICML-15),页1737–1746,2015。
[6]Jakub
Figure BDA0002887617960000351
H Brendan McMahan,Felix X Yu,Peter Richtárik,AnandaTheertha Suresh,和Dave Bacon。Federated learning:Strategies for improvingcommunication efficiency。arXiv preprint arXiv:1610.05492,2016。
[7]Yujun Lin,Song Han,Huizi Mao,Yu Wang,和William J Dally。Deepgradient compression:Reducing the communication bandwidth for distributedtraining。arXiv preprint arXiv:1712.01887,2017。
[8]H Brendan McMahan,Eider Moore,Daniel Ramage,Seth Hampson,et al。Communication-efficient learning of deep networks from decentralized data。arXiv preprint arXiv:1602.05629,2016。
[9]Frank Seide,Hao Fu,Jasha Droppo,Gang Li,和Dong Yu。1-bit stochasticgradient descent和its application to data-parallel distributed training ofspeech dnns。In Fifteenth Annual Conference of the International SpeechCommunication Association,2014。
[10]Reza Shokri和Vitaly Shmatikov。Privacy-preserving deep learning。InProceedings of the 22nd ACM SIGSAC conference on computer和communicationssecurity,页1310–1321。ACM,2015。
[11]Nikko Strom。Scalable distributed dnn training using commodity gpucloud computing。In Sixteenth Annual Conference of the International SpeechCommunication Association,2015。
[12]Wei Wen,Cong Xu,Feng Yan,Chunpeng Wu,Yandan Wang,Yiran Chen,和HaiLi。Terngrad:Ternary gradients to reduce communication in distributed deeplearning。arXiv preprint arXiv:1705.07878,2017。
[13]Thomas Wieg和和Heiko Schwarz。Source coding:Part i of fundamentalsof source和video coding。Found。Trends Signal Process.,4(1&#8211;2):1–222,2011年1月。
[14]Shuchang Zhou,Yuxin Wu,Zekun Ni,Xinyu Zhou,He Wen,和Yuheng Zou。Dorefa-net:Training low bitwidth convolutional neural networks with lowbitwidth gradients。arXiv preprint arXiv:1606.06160,2016。
[15]Jakub
Figure BDA0002887617960000361
H Brendan McMahan,Felix X Yu,Peter Richtárik,AnandaTheertha Suresh,和Dave Bacon。Federated learning:Strategies for improvingcommunication efficiency。arXiv preprint arXiv:1610.05492,2016。
[16]H Brendan McMahan,Eider Moore,Daniel Ramage,Seth Hampson,et al。Communication-efficient learning of deep networks from decentralized data。arXiv preprint arXiv:1602.05629,2016。

Claims (48)

1.一种用于在循环(30)中由客户端(14)进行神经网络(16)的联邦学习的方法,所述方法包括,在每个循环中
将关于所述神经网络(16)的参数化(18)的设置的信息下载(32)到预定客户端(14),
所述预定客户端(14),
使用至少部分地由相应客户端单独收集的训练数据(Di)更新(34)所述神经网络(16)的参数化(18)的设置,以获得参数化更新(ΔWi),以及
上传(36)关于所述参数化更新的信息,
将所述参数化更新与其他客户端(14)的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,上传(36)关于所述参数化更新的所述信息包括累加参数化更新(62)的有损编码(36';56),所述累加参数化更新(62)对应于一方面当前循环的参数化更新(50)的第一累加(58)、以及另一方面关于先前循环的参数化更新的信息的上传的编码损失(69)。
2.根据权利要求1所述的方法,
在当前循环中下载(32)关于所述神经网络(16)的参数化(18)的设置的信息包括,通过累加合并参数化更新(62)的有损编码(32';56),下载前一循环的合并参数化更新,所述累加合并参数化更新(62)对应于一方面所述前一循环的合并参数化更新(50)的第二累加(58)、以及另一方面在所述前一循环之前的循环的合并参数化更新的先前下载的编码损失(69)。
3.根据权利要求1或2所述的方法,
其中,所述客户端(14)彼此独立地收集训练数据。
4.根据权利要求1至3中任一项所述的方法,其中,所述有损编码包括
确定所述参数化的经编码的参数集合,
将标识所述经编码的参数集合的标识信息(146)编码作为关于所述参数化更新的信息,并且将一个或多个值(164)编码作为针对所述经编码的参数集合的累加参数化更新的编码表示(66),其中所述编码损失(69)等于
针对所述经编码的集合以外的参数的累加参数化更新(62),或者
针对所述经编码的集合以外的参数的累加参数化更新(62)、以及针对所述经编码的参数集合的累加参数化更新(62)与编码表示(66)之间的差。
5.根据权利要求4所述的方法,其中,
将针对所述经编码的参数集合的累加参数化更新的平均值(144)编码作为所述一个或多个值,以便表示所述经编码的参数集合内的所有参数。
6.一种用于在循环(30)中进行神经网络(16)的联邦学习的系统,所述系统包括服务器(12)和客户端(14),并且配置为,在每个循环中
将关于所述神经网络(16)的参数化(18)的设置的信息从所述服务器(12)下载(32)到预定客户端(14),
所述预定客户端(14),
使用至少部分地由相应客户端单独收集的训练数据(Di)更新(34)所述神经网络(16)的参数化(18)的设置,以获得参数化更新(ΔWi),以及
上传(36)关于所述参数化更新的信息,
由所述服务器(12)将所述参数化更新与其他客户端(14)的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,关于所述参数化更新的所述信息的所述上传(36)一方面包括与当前循环的参数化更新(50)的第一累加(58)对应的累加参数化更新(62)的有损编码(36';56),并且另一方面包括关于先前循环的参数化更新的信息的上传的编码损失(69)。
上传(36)关于所述参数化更新的所述信息包括累加参数化更新(62)的有损编码(36';56),所述累加参数化更新(62)对应于一方面当前循环的参数化更新(50)的第一累加(58)、以及另一方面关于先前循环的参数化更新的信息的上传的编码损失(69)。
7.一种用于在循环(30)中分散对于神经网络(16)的联邦学习的训练贡献的客户端设备,所述客户端设备配置为,在每个循环(30)中
接收(32b)关于所述神经网络(16)的参数化(18)的设置的信息,
收集训练数据,
使用所述训练数据(Di)更新(34)所述神经网络(16)的参数化(18)的设置,以获得参数化更新(ΔWi),以及
上传(36')关于所述参数化更新的信息,用于与其他客户端的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,所述客户端设备配置为,在上传(36')关于所述参数化更新的所述信息时,上传累加参数化更新(62)的有损编码(56),所述累加参数化更新(62)对应于一方面与当前循环的参数化更新(50)的第一累加(58)、以及另一方面关于先前循环的参数化更新的信息的上传的编码损失(69)。
8.根据权利要求7所述的客户端设备,配置为,在对所述累加参数化更新进行有损编码时,
确定所述累加参数化更新(62)的最高更新值的第一集合(104)和所述累加参数化更新(62)的最低更新值的第二集合(106),
在所述第一集合和所述第二集合中选择依据绝对平均值的最大集合,
将以下编码作为关于所述累加参数化更新(62)的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的累加参数化更新的对应更新值被包括在所述最大集合中,以及
所述最大集合的平均值(144)。
9.根据权利要求8或9所述的客户端设备,配置为
使用熵编码(160)对所述累加参数化更新进行所述有损编码,所述熵编码(160)使用从先前循环中的累加参数化更新的有损编码的评估得出(162)的概率分布估计。
10.根据权利要求8至10中任一项所述的客户端设备,配置为
独立于其他客户端设备收集训练数据。
11.一种在循环(30)中分散对于神经网络(16)的联邦学习的训练贡献的方法,所述方法包括,在每个循环(30)中,
接收(32b)关于所述神经网络(16)的参数化(18)的设置的信息,
收集训练数据,
使用所述训练数据(Di)更新(34)所述神经网络(16)的参数化(18)的设置,以获得参数化更新(ΔWi),以及
上传(36')关于所述参数化更新的信息,用于与其他客户端设备的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,所述方法包括,在上传(36')关于所述参数化更新的所述信息时,上传累加参数化更新(62)的有损编码(56),所述累加参数化更新(62)对应于一方面当前循环的参数化更新(50)的第一累加(58)、以及另一方面关于先前循环的参数化更新的信息的上传的编码损失(69)。
12.一种用于在循环(30)中由客户端(14)进行神经网络(16)的分布式学习的方法,所述方法包括,在每个循环(30)中
将关于所述神经网络(16)的参数化(18)的设置的信息下载(32)到预定客户端(14),
所述预定客户端(14),
使用训练数据更新(34)所述神经网络(16)的参数化(18)的设置以获得参数化更新,以及
上传(36)关于所述参数化更新的信息,
将所述参数化更新与其他客户端的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,在预定循环中,下载(32)关于所述神经网络(16)的参数化(18)的设置的信息包括,通过累加合并参数化更新(62)的有损编码(56),下载关于前一循环的合并参数化更新的信息,所述累加合并参数化更新(62)对应于一方面所述前一循环的合并参数化更新(50)的第一累加(58)、以及另一方面关于在所述前一循环之前的循环的合并参数化更新的信息的下载的编码损失(69)。
13.根据权利要求13所述的方法,
其中,所述客户端(14)彼此独立地收集训练数据。
14.根据权利要求13或14所述的方法,其中,所述有损编码包括
确定所述参数化的经编码的参数集合,
将标识所述经编码的参数集合的标识信息(146)编码作为关于所述合并参数化更新的信息,并且将一个或多个值(164)编码作为针对所述经编码的参数集合的累加合并参数化更新的编码表示(66),其中所述编码损失(69)等于
针对所述经编码的集合以外的参数的累加合并参数化更新(62),或者
针对所述经编码的集合以外的参数的累加合并参数化更新(62)、以及所述累加合并参数化更新(62)与针对所述经编码的参数集合的表示(66)之间的差。
15.根据权利要求15所述的方法,其中
将针对所述经编码的参数集合的累加合并参数化更新的平均值(144)编码作为所述一个或多个值,以便至少在幅值上表示所述经编码的参数集合内的所有参数。
16.一种用于在循环(30)中进行神经网络(16)的分布式学习的系统,所述系统包括服务器(12)和客户端(14),并且配置为,在每个循环(30)中
将关于所述神经网络(16)的参数化(18)的设置的信息从所述服务器下载(32)到预定客户端(14)
所述预定客户端(14)
使用训练数据更新(34)所述神经网络(16)的参数化(18)的设置,以获得参数化更新,以及
上传(36)关于所述参数化更新的信息,
由所述服务器(12),将所述参数化更新与其他客户端的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,在预定循环中,下载(32)关于所述神经网络(16)的参数化(18)的设置的信息包括,通过累加合并参数化更新(62)的有损编码(56),下载关于前一循环的合并参数化更新的信息,所述累加合并参数化更新(62)对应于一方面所述前一循环的合并参数化更新(50)的第一累加(58)、以及另一方面关于在所述前一循环之前的循环的合并参数化更新的信息的下载的编码损失(69)。
17.一种用于在循环(30)中协调由客户端(14)进行的神经网络(16)的分布式学习的装置(12),所述装置(12)配置为,在每个循环(30)中,
为了所述客户端(14)使用训练数据更新所述神经网络的参数化的设置以获得参数化更新,将关于所述神经网络(16)的参数化(18)的设置的信息下载(32')到预定客户端,
从所述预定客户端接收(36b)关于参数化更新的信息,
将所述参数化更新与来自其他客户端的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,所述装置配置为,在预定循环中,在下载关于所述神经网络的参数化的设置的信息时,通过累加合并参数化更新(62)的有损编码(56),下载前一循环的合并参数化更新,所述累加合并参数化更新(62)对应于一方面所述前一循环的合并参数化更新(50)的第一累加(58)、以及另一方面关于在所述前一循环之前的循环的合并参数化更新的信息的下载的编码损失(69)。
18.根据权利要求18所述的装置,配置为,在对所述累加合并参数化更新进行有损编码时,
确定所述累加合并参数化更新(62)的最高更新值的第一集合(104)和所述累加合并参数化更新(62)的最低更新值的第二集合(106),
在所述第一集合和所述第二集合中选择依据绝对平均值的最大集合,
将以下编码作为关于所述累加参数化更新(62)的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的所述累加合并参数化更新的对应更新值被包括在所述最大集合中,以及
所述最大集合的平均值(144)。
19.根据权利要求18或19所述的装置,配置为
使用熵编码(160)对所述累加合并参数化更新进行所述有损编码,所述熵编码(160)使用从先前循环中的累加合并参数化更新的有损编码的评估得出(162)的概率分布估计。
20.一种用于在循环(30)中协调由客户端(14)进行的神经网络(16)的分布式学习的方法(12),所述方法包括,在每个循环(30)中,
为了所述客户端(14)使用训练数据更新所述神经网络的参数化的设置以获得参数化更新,将关于所述神经网络(16)的参数化(18)的设置的信息下载(32')到预定客户端,
从所述预定客户端接收(36b)关于参数化更新的信息,
将所述参数化更新与来自其他客户端的另外的参数化更新合并(38),以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,所述方法包括,在预定循环中,在下载关于所述神经网络的参数化的设置的信息时,通过累加合并参数化更新(62)的有损编码(56),下载前一循环的合并参数化更新,所述累加合并参数化更新(62)对应于一方面所述前一循环的合并参数化更新(50)的第一累加(58)、以及另一方面关于在所述前一循环之前的循环的合并参数化更新的信息的下载的编码损失(69)。
21.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行编码的装置(150),配置为
使用熵编码(160)对所述连续参数化更新进行有损编码(154,160),所述熵编码(160)使用概率分布估计,
从对于先前参数化更新的有损编码的评估得出(162)用于针对当前参数化更新(136)的熵编码的概率分布估计。
22.根据权利要求22所述的装置,配置为
将先前参数化更新的编码损失(69)累加(58)到当前参数化更新(136)以进行有损编码。
23.根据权利要求22或23所述的装置,配置为
通过针对所述参数化(18)的每个参数(26),取决于哪个先前参数化更新是否对针对相应参数(26)的更新值(156)进行编码来更新针对相应参数(26)通过有损编码对更新值(156)进行编码的概率估计,得出(162)用于针对当前参数化更新(136)的熵编码(160)的概率分布估计。
24.根据权利要求22至24中任一项所述的装置,配置为
在对所述当前参数化更新(136)进行有损编码时,
确定标识信息(146),所述标识信息(146)标识所述参数化(18)的经编码的参数集合(26),其中通过所述当前参数化更新的有损编码对所述经编码的参数集合(26)的更新值(156)进行编码,
对所述标识信息(146)进行编码,以形成关于所述当前参数化更新的信息的一部分。
25.根据权利要求25所述的装置,配置为
以以下形式对所述标识信息(146)进行编码
所述参数化(18)的每个参数(26)的标志,所述标志指示是否通过所述当前参数化更新的有损编码对更新值(156)进行编码,或者
所述参数化(18)的每个参数(26)的地址或指向所述参数化(18)的每个参数(26)的指针,所述地址或指针指示是否通过所述当前参数化更新的有损编码对更新值(156)进行编码。
26.根据权利要求25或26所述的装置,配置为在对所述标识信息(146)进行编码时使用所述概率分布估计。
27.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行编码的方法(150),所述方法包括
使用熵编码(160)对所述连续参数化更新进行有损编码(154,160),所述熵编码(160)使用概率分布估计,
从对于先前参数化更新的有损编码的评估得出(162)用于针对当前参数化更新(136)的熵编码的概率分布估计。
28.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行解码的装置(152),所述连续参数化更新(134)被有损编码,所述装置配置为
使用熵解码(164)对所述连续参数化更新(134)进行解码,所述熵解码(164)使用概率分布估计,
从对于所述参数化的部分(158)的评估得出(162')用于针对当前参数化更新(136)的熵解码的概率分布估计,在先前参数化更新中未对所述部分(158)的更新值进行编码。
29.根据权利要求29所述的装置,配置为
通过针对所述参数化(18)的每个参数(26),取决于哪个先前参数化更新是否对针对相应参数(26)的更新值(156)进行编码来更新针对相应参数(26)通过有损编码对更新值(156)进行编码的概率估计,得出(162)用于针对当前参数化更新(136)的熵编码(160)的概率分布估计。
30.根据权利要求29或30所述的装置,配置为
在对所述当前参数化更新(136)进行解码时,
对标识信息(146)进行解码,所述标识信息(146)标识所述参数化(18)的经编码的参数集合(26),其中通过所述当前参数化更新的有损编码对所述经编码的参数集合(26)的更新值(156)进行编码。
31.根据权利要求31所述的装置,配置为
以以下形式对所述标识信息(146)进行解码
所述参数化(18)的每个参数(26)的标志,所述标志指示是否针对所述当前参数化更新对更新值(156)进行编码,或者
所述参数化(18)的每个参数(26)的地址或指向所述参数化(18)的每个参数(26)的指针,所述地址或指针指示是否针对所述当前参数化更新对更新值(156)进行编码。
32.根据权利要求30或32所述的装置,配置为在对所述标识信息(146)进行解码时使用所述概率分布估计。
33.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行解码的方法(152),所述连续参数化更新(134)被有损编码,所述方法包括
使用熵解码(164)对所述连续参数化更新(134)进行解码,所述熵解码(164)使用概率分布估计,
从对于所述参数化的部分(158)的评估得出(162')用于针对当前参数化更新(136)的熵解码的概率分布估计,在先前参数化更新中未对所述部分(158)的更新值进行编码。
34.一种用于在循环(30)中由客户端(14)进行神经网络(16)的分布式学习的方法,所述方法包括,在每个循环(30)中,
将关于所述神经网络的参数化的设置的信息下载到预定客户端,
所述预定客户端
使用训练数据更新所述神经网络的第一参数化,以获得参数化更新,以及
上传关于所述参数化更新的信息,
将所述参数化更新与其他客户端的另外的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,通过有损编码和使用熵编码执行所述上传和所述下载中的至少一个,所述熵编码使用从先前循环中的有损编码的评估得出的概率分布估计。
35.一种用于在循环(30)中进行神经网络(16)的分布式学习的系统,所述系统包括服务器(12)和客户端(14),并且配置为,在每个循环(30)中,
将关于所述神经网络的参数化设置的信息下载到预定客户端,
所述预定客户端
使用训练数据更新所述神经网络的第一参数化,以获得参数化更新,以及
上传关于所述参数化更新的信息,
将所述参数化更新与其他客户端的另外的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,通过有损编码和使用熵编码执行所述上传和所述下载中的至少一个,所述熵编码使用从先前循环中的有损编码的评估得出的概率分布估计。
36.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行有损编码的装置(130),配置为
将以下编码作为当前参数化更新的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的当前参数化更新的对应更新值被包括在所述当前参数化更新的经编码的更新值集合中,以及
所述经编码的更新值集合的平均值(144)。
37.根据权利要求37所述的装置,配置为
通过以下确定所述经编码的更新值集合
确定当前参数化更新(136)的最高更新值的第一集合(104)和当前参数化更新(136)的最低更新值的第二集合(106),
在所述第一集合和所述第二集合中选择(140)依据绝对平均值的最大集合,作为所述经编码的更新值集合。
38.根据权利要求38所述的装置,被配置使得
针对所述连续参数化更新(134)中的每一个,在假设所述连续参数化更新(134)的第一子集合为负值、以及假设所述连续参数化更新(134)的第二子集合为正值的情形下,将所述经编码的更新值集合中的每个更新值编码为在幅值和符号上等于所述经编码的更新值集合的平均值(144),针对所述连续参数化更新对所述平均值进行编码。
39.根据权利要求38或39所述的装置,配置为
在不具有一方面的所述平均值与另一方面的针对所述经编码的更新值集合中的所述参数化的各个参数的更新值之间的符号关系的情形下,对所述标识信息(146)和所述平均值(144)进行编码。
40.根据权利要求37所述的装置,配置为
确定所述经编码的更新值集合,使得所述经编码的更新值集合包括所述当前参数化更新(136)的在幅值上最高的更新值,
将先前参数化更新的编码损失(69)累加(58)到所述当前参数化更新(136),以对其进行有损编码。
41.根据权利要求41所述的装置,配置为
还将以下编码作为关于当前参数化更新的信息,
符号信息,所述符号信息针对所述经编码的更新值集合中的每个更新值指示所述更新值是否等于所述平均值(144)或等于所述平均值的加性逆元素。
42.根据权利要求37至41中任一项所述的装置,配置为
将先前参数化更新的编码损失(69)累加(58)到所述当前参数化更新(136),以对其进行有损编码。
43.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行有损编码的方法(130),所述方法包括
将以下编码作为关于当前参数化更新的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的当前参数化更新的对应更新值被包括在所述当前参数化更新的经编码的更新值集合中,以及
所述经编码的更新值集合的平均值(144)。
44.一种用于对用于分布式学习的神经网络(16)的参数化(18)的连续参数化更新(134)进行解码的装置(152),所述连续参数化更新(134)被有损编码,所述装置配置为
对标识当前参数化更新的经编码的参数集合的标识信息(146)进行解码,
对所述经编码的参数集合的平均值(144)进行解码,以及
将对应于所述经编码的参数集合的当前参数化更新的更新值设置为至少在幅值上等于所述平均值(144)。
45.一种用于在循环(30)中由客户端(14)进行神经网络(16)的分布式学习的方法,所述方法包括,在每个循环中
将关于所述神经网络的参数化的设置的信息下载到预定客户端,
所述预定客户端
使用训练数据更新所述神经网络的第一参数化,以获得参数化更新,以及
上传关于所述参数化更新的信息,
将所述参数化更新与其他客户端的另外的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,在所述循环中通过对连续参数化更新进行有损编码,进行所述上传和所述下载中的至少一个,所述有损编码是通过以下方式进行的
将以下编码作为关于当前参数化更新的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的当前参数化更新的对应更新值被包括在所述当前参数化更新的经编码的更新值集合中,以及
所述经编码的更新值集合的平均值(144)。
46.一种用于在循环(30)中进行神经网络(16)的分布式学习的系统,所述系统包括服务器(12)和客户端(14),并且配置为,在每个循环中,
将关于所述神经网络的参数化的设置的信息从所述服务器下载到预定客户端,
所述预定客户端
使用训练数据更新所述神经网络的第一参数化,以获得参数化更新,以及
上传关于所述参数化更新的信息,
由所述服务器将所述参数化更新与其他客户端的另外的参数化更新合并,以获得合并参数化更新,所述合并参数化更新定义用于后续循环的参数化的另外的设置,
其中,在所述循环中通过对连续参数化更新进行有损编码,进行所述上传和所述下载中的至少一个,所述有损编码是通过以下方式进行的
将以下编码作为关于当前参数化更新的信息,
标识信息(146),所述标识信息(146)标识所述参数化的经编码的参数集合,所述参数化的当前参数化更新的对应更新值被包括在所述当前参数化更新的经编码的更新值集合中,以及
所述经编码的更新值集合的平均值(144)。
47.一种具有程序代码的计算机程序,所述程序代码配置为当在计算机上运行时执行根据权利要求1至5、12至16、21、28、34、35、44和46中任一项所述的方法。
48.描述根据权利要求28和44中任一项所述的方法编码的神经网络的参数化的参数化更新的数据。
CN201980045823.7A 2018-05-17 2019-05-16 神经网络的分布式学习和/或其参数化更新的传输的概念 Active CN112424797B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EPEP18173020.1 2018-05-17
EP18173020 2018-05-17
PCT/EP2019/062683 WO2019219846A1 (en) 2018-05-17 2019-05-16 Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor

Publications (2)

Publication Number Publication Date
CN112424797A true CN112424797A (zh) 2021-02-26
CN112424797B CN112424797B (zh) 2024-07-12

Family

ID=62235806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980045823.7A Active CN112424797B (zh) 2018-05-17 2019-05-16 神经网络的分布式学习和/或其参数化更新的传输的概念

Country Status (4)

Country Link
US (1) US20210065002A1 (zh)
EP (1) EP3794515A1 (zh)
CN (1) CN112424797B (zh)
WO (1) WO2019219846A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128706A (zh) * 2021-04-29 2021-07-16 中山大学 一种基于标签量信息的联邦学习节点选择方法及系统
CN113159287A (zh) * 2021-04-16 2021-07-23 中山大学 一种基于梯度稀疏的分布式深度学习方法
CN113222118A (zh) * 2021-05-19 2021-08-06 北京百度网讯科技有限公司 神经网络训练方法、装置、电子设备、介质和程序产品
CN113258935A (zh) * 2021-05-25 2021-08-13 山东大学 一种联邦学习中基于模型权值分布的通信压缩方法
CN113377546A (zh) * 2021-07-12 2021-09-10 中科弘云科技(北京)有限公司 通信避免方法、装置、电子设备和存储介质
CN113645197A (zh) * 2021-07-20 2021-11-12 华中科技大学 一种去中心化的联邦学习方法、装置及系统
CN114118381A (zh) * 2021-12-03 2022-03-01 中国人民解放军国防科技大学 基于自适应聚合稀疏通信的学习方法、装置、设备及介质
CN115170840A (zh) * 2022-09-08 2022-10-11 阿里巴巴(中国)有限公司 数据处理系统、方法和电子设备
US11468370B1 (en) 2022-03-07 2022-10-11 Shandong University Communication compression method based on model weight distribution in federated learning
WO2024055191A1 (en) * 2022-09-14 2024-03-21 Huawei Technologies Co., Ltd. Methods, system, and apparatus for inference using probability information
CN118536577A (zh) * 2024-06-06 2024-08-23 深圳市大数据研究院 模型训练方法、动作识别方法、装置、设备及介质

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665067B (zh) * 2018-05-29 2020-05-29 北京大学 用于深度神经网络频繁传输的压缩方法及系统
US11593634B2 (en) * 2018-06-19 2023-02-28 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence
US11989634B2 (en) * 2018-11-30 2024-05-21 Apple Inc. Private federated learning with protection against reconstruction
US20210133571A1 (en) * 2019-11-05 2021-05-06 California Institute Of Technology Systems and Methods for Training Neural Networks
CN111027715B (zh) * 2019-12-11 2021-04-02 支付宝(杭州)信息技术有限公司 基于蒙特卡洛的联邦学习模型训练方法及装置
CN112948105B (zh) * 2019-12-11 2023-10-17 香港理工大学深圳研究院 一种梯度传输方法、梯度传输装置及参数服务器
WO2021121585A1 (en) * 2019-12-18 2021-06-24 Telefonaktiebolaget Lm Ericsson (Publ) Methods for cascade federated learning for telecommunications network performance and related apparatus
CN111210003B (zh) * 2019-12-30 2021-03-19 深圳前海微众银行股份有限公司 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111488995B (zh) * 2020-04-08 2021-12-24 北京字节跳动网络技术有限公司 用于评估联合训练模型的方法、装置和系统
KR102544531B1 (ko) * 2020-04-27 2023-06-16 한국전자기술연구원 연합 학습 시스템 및 방법
CN111325417B (zh) * 2020-05-15 2020-08-25 支付宝(杭州)信息技术有限公司 实现隐私保护的多方协同更新业务预测模型的方法及装置
CN111340150B (zh) * 2020-05-22 2020-09-04 支付宝(杭州)信息技术有限公司 用于对第一分类模型进行训练的方法及装置
CN111553470B (zh) * 2020-07-10 2020-10-27 成都数联铭品科技有限公司 适用于联邦学习的信息交互系统及方法
CN113988254B (zh) * 2020-07-27 2023-07-14 腾讯科技(深圳)有限公司 用于多个环境的神经网络模型的确定方法及装置
WO2022045399A1 (ko) * 2020-08-28 2022-03-03 엘지전자 주식회사 선택적 가중치 전송에 기반한 연합 학습 방법 및 그 단말
CN112487482B (zh) * 2020-12-11 2022-04-08 广西师范大学 自适应切割阈值的深度学习差分隐私保护方法
CN112527273A (zh) * 2020-12-18 2021-03-19 平安科技(深圳)有限公司 一种代码补全方法、装置以及相关设备
CN112528156B (zh) * 2020-12-24 2024-03-26 北京百度网讯科技有限公司 建立排序模型的方法、查询自动补全的方法及对应装置
US20220335269A1 (en) * 2021-04-12 2022-10-20 Nokia Technologies Oy Compression Framework for Distributed or Federated Learning with Predictive Compression Paradigm
EP4324097A1 (en) * 2021-04-16 2024-02-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder, encoder, controller, method and computer program for updating neural network parameters using node information
CN113065666A (zh) * 2021-05-11 2021-07-02 海南善沙网络科技有限公司 一种神经网络机器学习模型训练用分布式计算方法
US11922963B2 (en) * 2021-05-26 2024-03-05 Microsoft Technology Licensing, Llc Systems and methods for human listening and live captioning
WO2022269469A1 (en) * 2021-06-22 2022-12-29 Nokia Technologies Oy Method, apparatus and computer program product for federated learning for non independent and non identically distributed data
CN113516253B (zh) * 2021-07-02 2022-04-05 深圳市洞见智慧科技有限公司 一种联邦学习中数据加密优化方法及装置
CN113378994B (zh) * 2021-07-09 2022-09-02 浙江大学 一种图像识别方法、装置、设备及计算机可读存储介质
US12008075B2 (en) 2021-08-16 2024-06-11 International Business Machines Corporation Training federated learning models
US11829239B2 (en) 2021-11-17 2023-11-28 Adobe Inc. Managing machine learning model reconstruction
KR20240141737A (ko) * 2022-01-28 2024-09-27 퀄컴 인코포레이티드 양자화 강건 연합 기계 학습
CN114819183B (zh) * 2022-04-15 2024-09-17 支付宝(杭州)信息技术有限公司 基于联邦学习的模型梯度确认方法、装置、设备及介质
WO2024025444A1 (en) * 2022-07-25 2024-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Iterative learning with adapted transmission and reception
US20240104393A1 (en) * 2022-09-16 2024-03-28 Nec Laboratories America, Inc. Personalized federated learning under a mixture of joint distributions
CN116341689B (zh) * 2023-03-22 2024-02-06 深圳大学 机器学习模型的训练方法、装置、电子设备及存储介质
KR102648588B1 (ko) 2023-08-11 2024-03-18 (주)씨앤텍시스템즈 연합 학습 방법 및 시스템

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100530A1 (en) * 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
CN107016708A (zh) * 2017-03-24 2017-08-04 杭州电子科技大学 一种基于深度学习的图像哈希编码方法
CN107636693A (zh) * 2015-03-20 2018-01-26 弗劳恩霍夫应用研究促进协会 针对人工神经网络的相关性分数指派
CN107689224A (zh) * 2016-08-22 2018-02-13 北京深鉴科技有限公司 合理使用掩码的深度神经网络压缩方法
CN107784361A (zh) * 2017-11-20 2018-03-09 北京大学 一种提升邻近算子机神经网络优化方法
CN107871160A (zh) * 2016-09-26 2018-04-03 谷歌公司 通信高效联合学习
US9941900B1 (en) * 2017-10-03 2018-04-10 Dropbox, Inc. Techniques for general-purpose lossless data compression using a recurrent neural network
CN107918636A (zh) * 2017-09-07 2018-04-17 北京飞搜科技有限公司 一种人脸快速检索方法、系统
US20180107925A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100530A1 (en) * 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
CN107636693A (zh) * 2015-03-20 2018-01-26 弗劳恩霍夫应用研究促进协会 针对人工神经网络的相关性分数指派
CN107689224A (zh) * 2016-08-22 2018-02-13 北京深鉴科技有限公司 合理使用掩码的深度神经网络压缩方法
CN107871160A (zh) * 2016-09-26 2018-04-03 谷歌公司 通信高效联合学习
US20180107925A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
CN107016708A (zh) * 2017-03-24 2017-08-04 杭州电子科技大学 一种基于深度学习的图像哈希编码方法
CN107918636A (zh) * 2017-09-07 2018-04-17 北京飞搜科技有限公司 一种人脸快速检索方法、系统
US9941900B1 (en) * 2017-10-03 2018-04-10 Dropbox, Inc. Techniques for general-purpose lossless data compression using a recurrent neural network
CN107784361A (zh) * 2017-11-20 2018-03-09 北京大学 一种提升邻近算子机神经网络优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUO-QING JIANG, JING XU, JUN WEI: "A Deep Learning Algorithm of Neural Network for the Parameterization of Typhoon-Ocean Feedback in Typhoon Forecast Models", 《GEOPHYSICAL RESEARCH LETTERS》, vol. 45, no. 8, 26 March 2018 (2018-03-26) *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159287A (zh) * 2021-04-16 2021-07-23 中山大学 一种基于梯度稀疏的分布式深度学习方法
CN113159287B (zh) * 2021-04-16 2023-10-10 中山大学 一种基于梯度稀疏的分布式深度学习方法
CN113128706A (zh) * 2021-04-29 2021-07-16 中山大学 一种基于标签量信息的联邦学习节点选择方法及系统
CN113128706B (zh) * 2021-04-29 2023-10-17 中山大学 一种基于标签量信息的联邦学习节点选择方法及系统
CN113222118A (zh) * 2021-05-19 2021-08-06 北京百度网讯科技有限公司 神经网络训练方法、装置、电子设备、介质和程序产品
CN113258935B (zh) * 2021-05-25 2022-03-04 山东大学 一种联邦学习中基于模型权值分布的通信压缩方法
CN113258935A (zh) * 2021-05-25 2021-08-13 山东大学 一种联邦学习中基于模型权值分布的通信压缩方法
CN113377546A (zh) * 2021-07-12 2021-09-10 中科弘云科技(北京)有限公司 通信避免方法、装置、电子设备和存储介质
CN113645197B (zh) * 2021-07-20 2022-04-29 华中科技大学 一种去中心化的联邦学习方法、装置及系统
CN113645197A (zh) * 2021-07-20 2021-11-12 华中科技大学 一种去中心化的联邦学习方法、装置及系统
CN114118381A (zh) * 2021-12-03 2022-03-01 中国人民解放军国防科技大学 基于自适应聚合稀疏通信的学习方法、装置、设备及介质
CN114118381B (zh) * 2021-12-03 2024-02-02 中国人民解放军国防科技大学 基于自适应聚合稀疏通信的学习方法、装置、设备及介质
US11468370B1 (en) 2022-03-07 2022-10-11 Shandong University Communication compression method based on model weight distribution in federated learning
CN115170840A (zh) * 2022-09-08 2022-10-11 阿里巴巴(中国)有限公司 数据处理系统、方法和电子设备
CN115170840B (zh) * 2022-09-08 2022-12-23 阿里巴巴(中国)有限公司 数据处理系统、方法和电子设备
WO2024055191A1 (en) * 2022-09-14 2024-03-21 Huawei Technologies Co., Ltd. Methods, system, and apparatus for inference using probability information
CN118536577A (zh) * 2024-06-06 2024-08-23 深圳市大数据研究院 模型训练方法、动作识别方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112424797B (zh) 2024-07-12
US20210065002A1 (en) 2021-03-04
EP3794515A1 (en) 2021-03-24
WO2019219846A9 (en) 2021-03-04
WO2019219846A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
CN112424797B (zh) 神经网络的分布式学习和/或其参数化更新的传输的概念
Polino et al. Model compression via distillation and quantization
Kirchhoffer et al. Overview of the neural network compression and representation (NNR) standard
Yu et al. Gradiveq: Vector quantization for bandwidth-efficient gradient aggregation in distributed cnn training
CN112020724B (zh) 学习可压缩的特征
CN116584098A (zh) 图像编码和解码、视频编码和解码:方法、系统和训练方法
Lotfi et al. PAC-Bayes compression bounds so tight that they can explain generalization
Ramezani-Kebrya et al. NUQSGD: Provably communication-efficient data-parallel SGD via nonuniform quantization
Ruan et al. Improving lossless compression rates via monte carlo bits-back coding
CN112580805A (zh) 神经网络模型的量化方法和量化神经网络模型的装置
Cohen et al. Lightweight compression of intermediate neural network features for collaborative intelligence
US20240046093A1 (en) Decoder, encoder, controller, method and computer program for updating neural network parameters using node information
Mitchell et al. Optimizing the communication-accuracy trade-off in federated learning with rate-distortion theory
Schwarz et al. Meta-learning sparse compression networks
CN110659394A (zh) 基于双向邻近度的推荐方法
CN117811586A (zh) 数据编码方法及装置、数据处理系统、设备及介质
Jin et al. Design of a quantization-based dnn delta compression framework for model snapshots and federated learning
CN113467949B (zh) 边缘计算环境下用于分布式dnn训练的梯度压缩方法
Tao et al. Content popularity prediction based on quantized federated Bayesian learning in fog radio access networks
Song et al. Resfed: Communication efficient federated learning with deep compressed residuals
US11853391B1 (en) Distributed model training
Wu et al. Efficient federated learning on resource-constrained edge devices based on model pruning
Ren et al. Two-layer accumulated quantized compression for communication-efficient federated learning: TLAQC
Wilkins et al. FedSZ: Leveraging Error-Bounded Lossy Compression for Federated Learning Communications
Becking et al. Neural Network Coding of Difference Updates for Efficient Distributed Learning Communication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant