CN116057541A - 用于异构数据自适应联合学习的设备、方法和系统 - Google Patents
用于异构数据自适应联合学习的设备、方法和系统 Download PDFInfo
- Publication number
- CN116057541A CN116057541A CN202080100040.7A CN202080100040A CN116057541A CN 116057541 A CN116057541 A CN 116057541A CN 202080100040 A CN202080100040 A CN 202080100040A CN 116057541 A CN116057541 A CN 116057541A
- Authority
- CN
- China
- Prior art keywords
- layer set
- computing device
- client
- common layer
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000003044 adaptive effect Effects 0.000 title description 4
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000013528 artificial neural network Methods 0.000 claims description 45
- 238000012935 Averaging Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 13
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 28
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明大体上涉及机器学习领域。具体地,本发明涉及用于联合机器学习的客户端计算设备和服务器计算设备。所述客户端计算设备用于从所述服务器计算设备接收包括公共层集和客户端特定层集的模型。在所述客户端计算设备上训练之后,所述公共层集和所述客户端特定层集都被更新。所述更新的公共层集被发送到所述服务器计算设备,并且所述更新的客户端特定层集被存储在所述客户端计算设备。具体地,所述服务器计算设备用于从不同的客户端计算设备接收多个更新的公共层集。
Description
技术领域
本发明大体上涉及机器学习领域。更具体地,本发明涉及客户端计算设备、服务器计算设备以及用于执行异构数据自适应联合(机器)学习的对应方法。具体地,服务器计算设备和一个或多个客户端计算设备一起使用划分的神经网络来实现(机器)学习。
背景技术
神经网络越来越多地用于执行机器学习,以解决问题,如网络问题,并在通信网络系统等不同领域实现自动化。传统上,通过从客户端收集数据并根据所收集的数据形成集中的数据集,在服务器上训练神经网络的模型。服务器还可以调整模型的参数(权重和/或偏差),直到满足一定的标准,例如神经网络的梯度下降的收敛。因此,该模型在单个数据集上进行训练,这将产生可移植性和泛化问题。
此外,随着对数据隐私的日益关注,例如欧盟《通用数据保护条例》的要求,需要新的机器学习技术。
发明内容
例如,联合学习方法将支持多个客户端设备与服务器协作训练共享模型,同时将训练数据保留在每个客户端设备上,并且不与服务器共享。模型的这种共享还可以支持节省数据传输量,并可以加强模型的泛化能力。
每次训练之后,每个客户端设备都会改进共享模型,并将共享模型的更新发送到服务器。然后,共享模型可以通过平均服务器中的客户端设备的更新来优化,并可以由服务器再次分发到客户端设备,以用于进一步的改进和/或应用。
但是,对于真实环境中的传统联合学习框架,特别是对于通信网络中的流量分析和分类,发明人发现了几个问题。
首先,由于环境方差和特征不平衡,全局分布上的最优模型在局部分布上可能是次优的。具体地,对于每个客户端设备,网络流量可能不同。例如,来自欧洲的客户端设备的流媒体和短信的网络流量可能分别来自YouTube和WhatsApp,而来自中国的客户端设备的流媒体和短信的网络流量可能分别来自优酷(YouKu)和微信(WeChat)。因此,当在来自欧洲的客户端设备或来自中国的客户端设备之一上应用时,当两个区域的特征在共享模型中组合和平均时,传统联合学习的更新模型可能会不同。
其次,由于多模式,相同网络流量的签名或特征可能因环境而异。具体地,在不同的通信网络中使用不同的数据封装和不同数量的数据包。例如,一条语音消息可以通过以太网点对点协议(point-to-point protocol over ethernet,PPPoE)协议和虚拟局域网(virtual local area network,VLAN)协议使用不同的封装和不同数量的数据包来承载。这些对应于相同网络流量但在不同通信网络中的签名或特征不是可移植的,而是按照共享模型中的传统联合学习框架更新到服务器。因此,当在不同的环境中使用相同的客户端设备时,传统的联合学习框架的更新共享模型可能会不同,其中,使用不同的数据封装和不同数量的数据包。
第三,网络流量中不同应用程序的标签在不同环境中可能不会完全重叠。具体地,本地网络可能具有不出现在另一本地网络中的标签。例如,企业网络中存在的应用程序(如SAP、Slack和团队工作应用程序)的标签不太可能出现在私人家庭的本地网络中,其中,应用程序的标签主要是流媒体和游戏等娱乐应用程序,反之亦然。
总体而言,传统的联合学习框架仅旨在为所有客户端设备实现优化的全局模型,以便执行机器学习的特定任务。但是,由于每个本地数据集或多或少与全局数据集不同,因此,优化的全局模型在每个客户端设备上单独应用时,在每个本地数据集方面,并不具有最佳性能。
因此,鉴于上述问题,本发明的实施例旨在改进传统的联合学习框架。目标是提高每个客户端设备上神经网络模型的局部精度,同时实现跨客户端设备的泛化。
该目的通过所附独立权利要求中描述的本发明的实施例实现。从属权利要求中进一步定义了本发明的实施例的有利实现方式。
本发明的第一方面提供了一种客户端计算设备,用于从服务器计算设备获得神经网络的模型,其中,该模型包括公共层集和客户端特定层集。客户端计算设备用于根据本地数据集训练模型以获得更新的公共层集和更新的客户端特定层集,其中,本地数据集存储在客户端计算设备。客户端计算设备用于向服务器计算设备发送更新的公共层集,并存储更新的客户端特定层集。
通过将模型分离为公共层集和客户端特定层集,客户端计算设备能够通过在训练之后发送更新的公共层集而有助于模型的训练,并且还能够存储适应其本地数据集(例如,本地数据分布)的独特特征的更新的客户端特定层集。因此,可以保证模型的全局精度,同时也提高了局部精度。此外,可以实现跨客户端设备的泛化。
在第一方面的一种实现方式中,公共层集在客户端特定层集之前堆叠。
在第一方面的另一实现方式中,公共层集包括用于特征提取的信息,客户端特定层集包括用于分类的信息。
训练神经网络的模型,特别是公共层集,需要大量的数据,这些数据可以在客户端特定层集之前堆叠和/或可以用于提取本地数据集的特征。通过发送更新的公共层集,客户端计算设备的本地数据集中包含的即使较小量的数据也可以有助于模型的训练。
在第一方面的又一种实现方式中,客户端计算设备用于通过使用公共层集对本地数据集进行特征提取以获得本地数据集的提取的特征;通过使用客户端特定层集对本地数据集的提取的特征执行分类,以便根据本地数据集训练模型以获得更新的公共层集和更新的客户端特定层集。
由于特征是由公共层集提取的,因此减少了分类所需的信息量。因此,训练客户端特定层集所需的数据较少,本地数据集足以训练客户端特定层集。
在第一方面的另一实现方式中,客户端计算设备用于使用归一化指数函数输出本地数据集的具有概率的标签,以便对本地数据集执行分类。
可选地,归一化指数函数可以应用于模型的输出层或最后一层。模型的输出层或最后一层用于输出本地数据集的具有概率的标签。归一化指数函数可以是softmax函数。
在第一方面的另一实现方式中,客户端计算设备还用于:从服务器计算设备接收聚合的公共层集;根据聚合的公共层集更新模型。
从服务器计算设备接收的聚合的公共层集可以包括从其它客户端计算设备的数据集获得的聚合信息。因此,可以提高全局精度,并且客户端计算设备可以通过根据聚合的公共层集更新模型来受益于这种改进的全局精度。
在第一方面的另一实现方式中,客户端计算设备用于级联聚合的公共层集和更新的客户端特定层集,以便更新模型。
因此,确保全局精度的部分(即聚合的公共层集)和确保局部精度的部分(即,适应本地数据集的独特特征的更新的客户端特定层集)被级联,因此,更新的模型在本地数据集方面具有最佳性能。
在第一方面的另一实现方式中,客户端特定层集可以包括神经网络的最后全连接层。可选地,公共层集可以包括神经网络的卷积层。可选地,神经网络可以是卷积神经网络(convolution neural network,CNN)。
本发明的第二方面提供了一种服务器计算设备,用于:向多个客户端计算设备中的每个客户端计算设备发送神经网络的模型,其中,该模型包括公共层集和客户端特定层集;从多个客户端计算设备中的每个客户端计算设备接收更新的公共层集。
通过将模型分离为公共层集和客户端特定层集,服务器计算设备能够以与一个或多个客户端计算设备协作的方式促进模型的改进训练。因此,可以保证模型的全局精度,同时也提高了局部精度。此外,可以实现跨客户端设备的泛化。
在第二方面的一种实现方式中,公共层集在客户端特定层集之前堆叠。
在第二方面的另一实现方式中,在将模型发送到多个客户端计算设备中的每个客户端计算设备之前,服务器计算设备可以用于用随机值初始化模型的每层。
在第二方面的另一实现方式中,公共层集包括用于特征提取的信息,客户端特定层集包括用于分类的信息。
在第二方面的另一实现方式中,服务器计算设备还用于:聚合所接收的更新的公共层集以获得聚合的公共层集;将聚合的公共层集发送到多个客户端计算设备中的每个客户端计算设备。
在第二方面的另一实现方式中,服务器计算设备用于对所接收的更新的公共层集应用平均函数、加权平均函数、谐波平均函数或最大值函数,以便聚合所接收的更新的公共层集以获得聚合的公共层集。
在第二方面的另一实现方式中,客户端特定层集可以包括神经网络的最后全连接层。可选地,公共层集可以包括神经网络的卷积层。可选地,神经网络可以是卷积神经网络(convolution neural network,CNN)。
本发明的第三方面提供了一种计算系统,包括多个客户端计算设备和一个服务器计算设备。多个客户端计算设备中的每个客户端计算设备都根据第一方面或其任何实现方式,服务器计算设备根据第二方面或其任何实现方式。
本发明的第四方面提供了一种由客户端计算设备执行的方法,包括以下步骤:从服务器计算设备获得模型,其中,该模型包括公共层集和客户端特定层集;根据本地数据集训练模型以获得更新的公共层集和更新的客户端特定层集,其中,本地数据集存储在客户端计算设备;向服务器计算设备发送更新的公共层集;存储更新的客户端特定层集。
在第四方面的一种实现方式中,公共层集在客户端特定层集之前堆叠。
在第四方面的另一实现方式中,公共层集包括用于特征提取的信息,客户端特定层集包括用于分类的信息。
在第四方面的另一实现方式中,根据本地数据集训练模型以获得更新的卷积层集和更新的客户端特定层集的步骤包括:通过使用公共层集对本地数据集进行特征提取,以获得本地数据集的提取的特征;通过使用客户端特定层集对本地数据集的提取的特征执行分类。
在第四方面的另一实现方式中,执行本地数据集的分类的步骤包括使用归一化指数函数输出本地数据集的具有概率的标签以便。
在第四方面的另一实现方式中,该方法还包括:从服务器计算设备接收聚合的公共层集;根据聚合的公共层集更新模型。
在第四方面的另一实现方式中,更新模型的步骤包括级联聚合的公共层集和更新的客户端特定层集。
在第四方面的另一实现方式中,客户端特定层集可以包括神经网络的最后全连接层。可选地,公共层集可以包括神经网络的卷积层。可选地,神经网络可以是卷积神经网络(convolution neural network,CNN)。
第四方面的方法实现了与第一方面的客户端计算设备相同的优点和效果。
本发明的第五方面提供了一种由服务器计算设备执行的方法,包括以下步骤:向多个客户端计算设备中的每个客户端计算设备发送模型,其中,模型包括公共层集和客户端特定层集;从多个客户端计算设备中的每个客户端计算设备接收更新的公共层集。
在第五方面的一种实现方式中,公共层集在客户端特定层集之前堆叠。
在第五方面的另一实现方式中,该方法还包括用随机值初始化模型的每层。
在第五方面的另一实现方式中,公共层集包括用于特征提取的信息,客户端特定层集包括用于分类的信息。
在第五方面的另一实现方式中,该方法还包括:聚合所接收的更新的公共层集以获得聚合的公共层集;将聚合的公共层集发送到多个客户端计算设备中的每个客户端计算设备。
在第五方面的另一实现方式中,对所接收的更新的公共层集进行聚合以获得聚合的公共层集的步骤包括:对所接收的更新的公共层集应用平均函数、加权平均函数、谐波平均函数或最大值函数。
在第五方面的另一实现方式中,客户端特定层集可以包括神经网络的最后全连接层,公共层集可以包括神经网络的卷积层。
第五方面的方法实现了与第二方面的服务器计算设备相同的优点和效果。
本发明的第六方面提供了一种计算机程序,该计算机程序包括程序代码,程序代码在计算设备上运行时执行根据第四方面或第五方面的方法或其实现方式中的任一种。
在第六方面的一种实现方式中,计算设备可以是任何能够计算的电子设备,例如计算机、移动终端、物联网(internet-of-things,IoT)设备等。
在第六方面的另一实现方式中,计算设备可以位于一个设备中,也可以分布在两个或更多个设备之间。
在第六方面的另一实现方式中,计算设备可以是云网络中的远端设备,也可以是基于虚拟化技术的虚拟设备,也可以是两者的组合。
需要说明的是,本申请中描述的所有设备、元件、单元和模块可以通过软件或硬件元件或其任何类型的组合实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明相应的实体用于执行相应的步骤和功能。虽然在以下具体实施例的描述中,外部实体执行的具体功能或步骤没有在执行具体步骤或功能的实体的具体详述元件的描述中反映,但是技术人员应清楚,这些方法和功能可以通过相应的硬件或软件元件或其任何组合实现。
附图说明
结合所附附图,下面具体实施例的描述阐述上述各方面及实现方式。
图1示出了本发明的实施例中使用的神经网络的模型。
图2示出了根据本发明的实施例的计算系统,包括根据本发明的实施例的服务器计算设备和客户端计算设备。
图3示出了根据本发明的实施例的计算系统。
图4示出了根据本发明的实施例的计算系统实现的流程。
图5示出了根据本发明的实施例的方法。
图6示出了根据本发明的实施例的方法。
具体实施方式
参考附图描述用于计算的设备、系统、方法和程序产品的说明性实施例。尽管该描述提供了可能实现方式的详细示例,但需要说明的是,这些细节旨在是示例性的,并且不会限制本申请的范围。
此外,一个实施例/示例可以参考其它多个实施例/示例。例如,一个实施例/示例中提及的任何描述,包括但不限于术语、元件、过程、解释和/或技术优势均适用于其它多个实施例/示例。
图1示出了可以用于本发明的实施例中的神经网络的模型100。模型100可以包括输入层121、输出层143和一组中间层122、123、141、142。这些层可以一个接一个地连接,其中,一层的输出可以是下一层的输入。本发明的一个发明点是将模型100视为具有两个单独的部分:公共层集120和客户端特定层集140。服务器计算设备220(参见图2)可以为一个或多个客户端计算设备210(参见图2)中的每个客户端计算设备提供模型100。在训练模型100之后,一个或多个客户端计算设备210中的每个客户端计算设备可以仅将更新的公共层120共享回服务器计算设备220(参见图2),并且可以在训练之后本地存储其更新的客户端特定层140。因此,客户端特定层140可以在不同的客户端计算设备210上独立地保持,即,客户端特定层140可以不被客户端计算设备210共享,并且与客户端特定层140有关的任何更新可以不被发送到服务器计算设备220。
这是有益的,因为通过共享公共层120,每个客户端计算设备210可以有更丰富的特征提取器(richer feature extractor),而每个客户端计算设备210保持其客户端特定层140适应其本地数据集的独特特征。
图2(在右上方)示出了根据本发明的实施例的客户端计算设备210,并(在左侧)示出了根据本发明的实施例的服务器计算设备220。
客户端计算设备210用于从服务器计算设备220获得神经网络的模型100,例如图1所示的模型100,其中,模型100包括公共层集120和客户端特定层集140。模型100的每层120、140还可以包括要调整/训练来执行机器学习的特定任务的参数,例如,可学习的权重和/或偏差。
因此,客户端计算设备210从服务器计算设备220获得模型100,例如,作为初始模型100,即,在模型100的训练之前。然后,可以通过使用其本地数据集211来训练所接收的模型100。例如,模型100的每层的参数可以由服务器计算设备220用随机值初始化。
客户端计算设备210用于训练模型100以获得更新的公共层集120和更新的客户端特定层集140。
因此,例如,通过使用机器学习领域中通常已知的训练算法,例如反向传播,模型100的每层的参数可以根据客户端计算设备210的本地数据集211来调整。替代地,本地数据集211的一部分可用于调整模型100的每层的参数。需要说明的是,本地数据集211可以存储在客户端计算设备210的内部存储单元中,也可以存储在连接到客户端计算设备210的外部存储设备中。
在模型100的训练之后,客户端计算设备210用于将更新的公共层集120发送到服务器计算设备220。替代地,客户端计算设备210可以仅向服务器计算设备220发送更新的公共层集120的已改变的参数。
更新的公共层集120可以根据本地数据集211的公共特征调整。这些公共特征也可以在另一客户端计算设备210'的另一数据集211'上显示,这可以在图2的右下方看到。例如,客户端计算设备210的本地数据集211可以包括聊天消息和视频流剪辑。聊天消息通常可以包括纯文本或编码文本格式的数据块,而视频流剪辑通常可以包括由实时流协议传送的媒体数据块。这些特征还可以应用于另一客户端计算设备210'的其它聊天消息和视频流剪辑。
通过与服务器计算设备220共享更新的公共层集120,可以跨客户端计算设备210、210'提高用于执行机器学习的特定任务(例如标识上述示例中的聊天消息和视频流剪辑)的模型100的全局精度。
此外,客户端计算设备210用于存储更新的客户端特定层集140。更新的客户端特定层集140可以根据很少在其它客户端计算设备210'的其它数据集211'上显示的独特特征来调整。具体地,更新的客户端特定层集140可以存储在本地和/或可以作为客户端计算设备210处的私有层存储。也就是说,更新的客户端特定层集140可以不被发送到服务器计算设备220,并且可以不与其它客户端计算设备210'共享。
例如,如上一示例中提到的,本地数据集211可以包括聊天消息。聊天消息可以由客户端计算设备210上的特定聊天软件生成,并且可以以特定格式封装,该特定格式仅适合于该特定聊天软件。因此,这些特征对于对应的客户端计算设备210的本地数据集211来说可能是唯一的。如果更新的客户端特定层集140将被共享,则该更新的客户端特定层集140可能会对其它客户端计算设备210'造成干扰或混淆。
因此,通过存储更新的客户端特定层集140,具体是仅在客户端计算设备210处,可以提高用于执行机器学习的特定任务的模型100的局部精度,同时可以减少对其它计算设备210'的干扰或混淆。此外,就算客户端计算设备210'之间的全局数据分布不平衡,模型100也可以快速适应本地数据分布。
在一个实施例中,公共层集120可以在客户端特定层集140之前堆叠。可选地,客户端特定层集140包括比公共层集120少的参数。更具体地,来自客户端特定层集140的任何层可以具有比来自公共层集120的任何层少的参数。因此,客户端特定层集140可能比公共层集120需要更少的数据用于训练。
在客户端计算设备210的另一实施例中,公共层集120可以包括用于特征提取的信息,并且客户端特定层集140可以包括用于分类的信息。此外,客户端计算设备210可以用于通过使用公共层集120对本地数据集211进行特征提取以获得提取的特征,并进一步通过使用客户端特定层集140对本地数据集211的提取的特征执行分类。
在本实施例中,公共层集120可用于提取本地数据集211的公共特征,客户端特定层集140可用于对提取的公共特征执行分类并生成对应于本地数据集211的输出。
此外,为了对提取的公共特征执行分类并生成对应于本地数据集211的输出,客户端计算设备210还可以用于使用归一化指数函数(例如,softargmax或softmax函数),以便输出本地数据集211的具有概率的标签。
通过共享用于提取公共特征的公共层集120,可以实现模型100的更丰富的特征提取器。此外,客户端特定层集140可以由每个客户端计算设备210、210'本地存储和更新,其中,这些层140可以适应相应的本地数据集211、211'的独特特征。此外,标签的输出概率的精度可以提高,因为标签通常在客户端计算设备210、210'之间是不相交的,并且模型100在每个客户端计算设备210、210'上的收敛有利地不受影响。
例如,视频流越来越受欢迎,但是,其服务提供商在世界不同地区各不相同。在欧洲,视频流流量可能来自YouTube、Netflix、SkyTV、Joyn等。在美国,视频流流量可能来自YouTube、Netflix、Twitch、Hulu等。在中国,视频流流量可能来自优酷(YouKu)、抖音(TikTok)、爱奇艺(iQiYi)等。无论它是哪家服务提供商,视频流流量通常在通信协议、编码方法等方面共享共同特征。因此,用于分析视频流流量的神经网络的模型100可以通过全局共享和更新公共层集120,同时保持客户端特定层集140在本地存储和更新来优化。共享和更新用于提取视频流流量的公共特征的公共层集120可以帮助模型100更好地区分视频流流量与其它类型的通信流量,同时保持客户端特定层集140在本地存储和更新可以提高模型100的本地/区域精度,以对对应于客户端计算设备210、210'的区域的视频流提供商执行分类。
因此,位于不同环境中的不同客户端计算设备210、210'仍然可以合作,以通过共享公共层集120来改进神经网络的模型100,并实现模型100的更丰富的特征提取器。此外,客户端特定层集140可以由每个客户端计算设备210、210'本地存储和更新,其中,这些层140可以有利地适应用于分类的每个相应本地数据集211、211'的独特特征。
在另一实施例中,在向服务器计算设备220发送更新的公共层集120之后,客户端计算设备210还可以用于从服务器计算设备220接收聚合的公共层集120。然后,客户端计算设备210可以根据所接收的聚合的公共层集120更新模型100。具体地,客户端计算设备210可以将所接收的聚合公共层集120和更新的客户端特定层集140级联以获得更新的模型100。
在另一实施例中,在获得更新的模型100之后,客户端计算设备210可以用于通过使用本地数据集211和/或另一本地数据集(例如,来自另一客户端计算设备210')再次训练更新的模型100,以获得进一步更新的公共层集120和进一步更新的客户端特定层集140。然后,客户端计算设备210可以向服务器计算设备220发送进一步更新的公共层集120,并可以存储进一步更新的客户端特定层集140。
可选地,可以重复训练以获得适合执行机器学习的特定任务的最终模型100。当满足数学条件或标准时,训练的重复可以结束。数学条件或标准可以是神经网络的梯度下降的收敛。
在一个实施例中,客户端特定层集140可以包括神经网络的最后全连接层。可选地,公共层集120可以包括神经网络的卷积层。可选地,神经网络可以是卷积神经网络。
客户端计算设备210可以包括处理电路(未示出),该处理电路用于执行、进行或启动本文所描述的客户端计算设备210的各种操作。处理电路可以包括硬件和软件。硬件可以包括模拟电路或数字电路,或模拟电路和数字电路两者。数字电路可以包括专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、数字信号处理器(digital signal processor,DSP)或多用途处理器等部件。在一个实施例中,处理电路包括一个或多个处理器以及与一个或多个处理器连接的非瞬时性存储器。非瞬时性存储器可以携带可执行程序代码,在可执行程序代码由一个或多个处理器执行时,使客户端计算设备210执行、进行或启动本文描述的操作或方法。
图2所示的服务器计算设备220相应地用于将神经网络的模型100发送到多个客户端计算设备210、210'中的每个客户端计算设备。模型100包括公共层集120和客户端特定层集140。模型100的每层可以包括参数,例如权重和/或偏差。
服务器计算设备220可以通过使用常见的随机初始化方法来初始化模型100,例如从正态高斯分布中抽取随机值,或Xavier算法(也称为Xavier随机权重初始化),或从截断正态分布中抽取样本的He正态初始化(也称为He-et-al初始化),等等。
例如,为了从正态高斯分布中抽取随机值,模型100的每层的权重可以分配来自平均值为0和标准偏差为1的高斯分布的随机值。然后,随机值可以与(2/Ni)的平方根相乘,其中,Ni是模型100的第i层的输入数量。
此外,在客户端计算设备210、210'中的每个客户端计算设备上完成模型100的训练之后,服务器计算设备220可以从客户端计算设备210、210'中的每个客户端计算设备接收更新的公共层集120。可以不接收更新的客户端特定层集140。
可选地,公共层集120包括用于特征提取的信息,并且客户端特定层集140包括用于分类的信息。
在另一实施例中,服务器计算设备220还可以用于聚合所接收的更新的公共层集120以获得一个聚合的公共层集120。然后,服务器计算设备220可以将聚合的公共层集120发送到多个客户端计算设备210、210'中的每个客户端计算设备。
可以应用各种聚合方法和/或函数来执行聚合,包括但不限于平均(即,生成算术平均值)、加权平均、生成谐波平均值的谐波平均,以及在所接收的更新的公共层集120上取最大值的最大值函数。
更具体地,聚合可以在所接收的更新的公共层集120的每层上执行。用于同一层但来自不同客户端计算设备210、210'的参数可以通过在服务器计算设备220中使用上述各种聚合方法中的任何一种来对应地聚合,以便获得聚合的公共层集120。
在另一实施例中,客户端特定层集140可以包括神经网络的最后全连接层。可选地,公共层集120可以包括神经网络的卷积层。可选地,神经网络可以是卷积神经网络。
服务器计算设备220可以包括处理电路(未示出),该处理器或处理电路用于执行、进行或启动本文描述的服务器计算设备220的各种操作。处理电路可以包括硬件和软件。硬件可以包括模拟电路或数字电路,或模拟电路和数字电路两者。数字电路可以包括专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、数字信号处理器(digital signal processor,DSP)或多用途处理器等部件。在一个实施例中,处理电路包括一个或多个处理器以及与一个或多个处理器连接的非瞬时性存储器。非瞬时性存储器可以携带可执行程序代码,在可执行程序代码由一个或多个处理器执行时,使服务器计算设备220执行、进行或启动本文描述的操作或方法。
图2整体示出了根据本发明的实施例的计算系统200,其包括:一个或多个客户端计算设备210、210',每个客户端计算设备建立在以上所描述的客户端计算设备210的基础上;至少一个服务器计算设备220,其建立在以上所描述的服务器计算设备220的基础上。相同的元素具有相同的附图标记和功能。因此,在这一点上,不再进行描述。
图3示出了根据本发明的实施例的计算系统200,其建立在图2所示实施例的基础上。因此,计算系统200包括服务器计算设备220(“服务器”)和多个客户端设备210(A、B……N)。
如上所述(如图3的左侧所示),本实施例的作用是将神经网络的模型100(这里是示例性的CNN网络)虚拟分离为公共层集120和客户端特定层集140。分离模型100的方法可以根据CNN的属性执行。这里,在本实施例中,公共层集120被称为“主干”,例如堆叠卷积层,并且客户端特定层集140称为最后层(last layer,LL),例如最后全连接层。具体地,CNN可以是常见的分类网络,在开始时使用堆叠卷积层,然后是全连接层。LL也可以称为“LL分类器”,因为它/它们是包含类特定信息的分类器。LL可以使用归一化指数函数(例如,softargmax或softmax函数),该函数输出具有最大概率的标签。主干可以被解释为特征提取,具体是可以包含客户端计算设备210之间的公共特征提取过程。
每个客户端计算设备210可以将其更新的主干(在根据本地数据集211训练模型100之后)共享给服务器计算设备220。共享主干有助于学习更丰富的特征提取器。主干可以聚合在服务器计算设备220中。
每个客户端计算设备210还可以保持(a)特定LL层(“LL分类器A”、“LL分类器B”……“LL分类器N”),以进一步适应本地数据分布。在模型100的训练之后,更新的LL分类器不被共享回服务器计算设备220。通过使用该公式,可以解决前面所述的问题。
此外,在接收服务器计算设备220的更新之后,每个客户端计算设备210可以用所接收的聚合主干替换本地主干(存储在相应的客户端计算设备201)。因此,LL分类器不参与由服务器计算设备220执行的聚合,因此可以在客户端计算设备210之间保持独立。
图4示出了根据本发明的实施例的计算系统200,具体是由图4所示的计算系统200实现的过程。计算系统200可以执行异构数据自适应联合学习算法,其可以包括以下步骤(如图4所示)。
整个过程可以从步骤0开始,这是一个初始化过程。例如,服务器计算设备220可以通过使用常见的初始化方法(例如从正态高斯分布中抽取值的随机初始化,或通过神经元的数量来指定分布的方差的Xavier算法,或从截断正态分布中抽取样本的He算法)来随机地初始化模型100。然后,服务器计算设备220可以将该初始化广播到所有客户端计算设备210。
对于每一轮通信,步骤1,客户端计算设备210可以通过复制主干来更新本地模型100。如果是第一轮通信,也可以复制LL(分类器)。
在步骤2中,客户端计算设备210可以在其本地数据集211上更新所接收的模型100,直到收敛或到达固定期限。
在步骤3中,客户端计算设备210中的一个或多个客户端计算设备,或每个客户端计算设备210,可以将主干发回服务器计算设备220。
在步骤4中,在服务器计算设备220从客户端计算设备210接收主干后,聚合主干。例如,聚合方法可以是平均、加权平均、谐波平均、最大值。
然后,在步骤5中,服务器计算设备220可以将聚合的主干广播到客户端计算设备210。
图5示出了根据本发明的实施例的方法500,该方法从客户端计算设备210的角度进行描述。
方法500包括以下步骤:
·S501:客户端计算设备从服务器计算设备获取模型,其中,该模型包括公共层集和客户端特定层集。
·S502:客户端计算设备根据本地数据集训练模型以获得更新的公共层集和更新的客户端特定层集,其中,本地数据集存储在客户端计算设备。
·S503:客户端计算设备向服务器计算设备发送更新的公共层集。
·S504:客户端计算设备存储更新的客户端特定层集。
图6示出了方法500还可以包括:
·S601:服务器计算设备将所接收的更新的公共层集进行聚合以获得聚合的公共层集。
·S602:服务器计算设备向客户端计算设备中的每个客户端计算设备发送聚合的公共层集。
·S603:客户端计算设备根据聚合的公共层集更新模型。
在一个实施例中,步骤S502、S503、S504、S601、S602和S603可以重复多次,直到满足数学条件或标准以获得用于执行机器学习的特定任务的最终模型100。数学条件或标准可以是神经网络的梯度下降的收敛。
从以上所描述的服务器计算设备220的角度来看,方法500的每个步骤可以共享相同的功能和细节。因此,服务器计算设备200执行的对应方法不再赘述。
如以上所描述,本发明的实施例的一个方面是,代替为N个客户端计算设备210构建单个全局全量模型(full model,FM)100,可以构建N个模型100,即N个客户端计算设备210中的每个客户端计算设备上一个模型。每个模型100具有相同的公共层集120和单独的客户端特定层集140。具体地,公共层集120(例如,主干部分)可以由服务器计算设备220全局共享,而客户端特定层集140(例如,N×LL部分)可以专门用于每个客户端计算设备210,并且可以本地保留在客户端计算设备210、210'处。
因此,在训练过程期间,只要服务器计算设备220可以确保/推断客户端计算设备210具有用于其模型100的公共层集120(例如,主干部分)和用于其模型100的客户端特定层集140(例如,LL部分),本发明的实施例就发挥了作用。
需要说明的是,公共层120与客户端特定层140之间的划分不需要仅仅是LL。但是,作为CNN结构的示例,客户端特定层成为最后全卷积层可能是有益的(给定输入数据,具有公共特征提取器可能是有意义的,因为池化数据可能会加快收敛速度),但这不是强制性的。
总之,前面所描述的问题可以通过本发明的实施例解决。具体地:
·训练神经网络的模型100,具体是像CNN主干这样的公共层120,通常需要大量的数据,并且不是每个客户端计算设备都可以有足够的数据。根据本发明的实施例,共享公共层集120支持每个客户端计算设备210受益于从所有客户端计算设备210收集的大量数据(数据集211、211')。客户端特定层140,例如LL分类器,通常具有少得多的参数,使得每个客户端计算设备210处的本地数据集211足以用于训练。
·本发明的实施例进一步优化了局部精度,以确保在各种客户端计算设备210处的不平衡分布数据的最佳性能。客户端特定层140(例如,LL分类器)支持模型100快速适应本地客户端计算设备的分布,尽管客户端计算设备210之间存在不平衡的数据分布。
·公共层集120(例如,主干)可以被视为公共特征提取过程。尽管多模态信号可以存在于本地客户端计算设备210中,但独立的客户端特定层140(例如,LL分类器)可以为不同信号选择对应的特征。
·客户端特定层140(例如,LL分类器)不用于聚合,因此,即使标签是不相交的,收敛也不会受到影响。
已经结合作为示例的各种实施例以及实现方式对本发明进行了描述。但本领域技术人员通过实践本发明,研究附图、本发明以及独立权利要求,能够理解并获得其它变体。在权利要求书以及说明书中,词语“包括”不排除其它元件或步骤,且“一个”不排除多个。单个元件或其它单元可满足权利要求书中所列举的若干实体或项目的功能。在互不相同的从属权利要求中列举一些措施并不表示这些措施的组合不能用于有益的实现方式。
Claims (16)
1.一种客户端计算设备(210),其特征在于,用于:
从服务器计算设备(220)获得神经网络的模型(100),其中,所述模型(100)包括公共层集(120)和客户端特定层集(140);
根据本地数据集(211)训练所述模型(100)以获得更新的公共层集(120)和更新的客户端特定层集(140),其中,所述本地数据集(211)存储在所述客户端计算设备(210);
将所述更新的公共层集(120)发送到所述服务器计算设备(220);
存储所述更新的客户端特定层集(140)。
2.根据权利要求1所述的客户端计算设备(210),其特征在于,所述公共层集(120)包括用于特征提取的信息,所述客户端特定层集(140)包括用于分类的信息。
3.根据权利要求1或2所述的客户端计算设备(210),其特征在于,为了根据所述本地数据集(211)训练所述模型(100)以获得所述更新的公共层集(120)和所述更新的客户端特定层集(140),所述客户端计算设备(210)用于:
通过使用所述公共层集(120)对所述本地数据集(211)进行特征提取,以获得所述本地数据集(211)的提取的特征;
通过使用所述客户端特定层集(140)对所述本地数据集(211)的所述提取的特征执行分类。
4.根据权利要求3所述的客户端计算设备(210),其特征在于,为了对所述本地数据集(211)执行所述分类,所述客户端计算设备(210)用于:
使用归一化指数函数输出所述本地数据集(211)的具有概率的标签。
5.根据权利要求1至4中任一项所述的客户端计算设备(210),其特征在于,还用于:
从所述服务器计算设备(220)接收聚合的公共层集(120);
根据所述聚合的公共层集(120)更新所述模型(100)。
6.根据权利要求5所述的客户端计算设备(210),其特征在于,为了根据所述聚合的公共层集(120)更新所述模型(100),所述客户端计算设备(210)用于:
级联所述聚合的公共层集(120)和所述更新的客户端特定层集(140)。
7.根据权利要求1至6中任一项所述的客户端计算设备(210),其特征在于,所述客户端特定层集(140)包括所述神经网络的最后全连接层,和/或所述公共层集(120)包括所述神经网络的卷积层。
8.一种服务器计算设备(220),其特征在于,用于:
向多个客户端计算设备(210,210')中的每个客户端计算设备发送神经网络的模型(100),其中,所述模型(100)包括公共层集(120)和客户端特定层集(140);
从所述多个客户端计算设备(210,210')中的每个客户端计算设备接收更新的公共层集(120)。
9.根据权利要求8所述的服务器计算设备(220),其特征在于,所述公共层集(120)包括用于特征提取的信息,所述客户端特定层集(140)包括用于分类的信息。
10.根据权利要求8或9所述的服务器计算设备(220),其特征在于,还用于:
聚合所接收的更新的公共层集(120)以获得聚合的公共层集(120);
将所述聚合的公共层集(120)发送到所述多个客户端计算设备(210,210')中的每个客户端计算设备。
11.根据权利要求10所述的服务器计算设备(220),其特征在于,为了聚合所接收的更新的公共层集(120)以获得所述聚合的公共层集(120),所述服务器计算设备(220)用于:
对所接收的更新的公共层集应用平均函数、加权平均函数、谐波平均函数或最大值函数。
12.根据权利要求8至11中任一项所述的服务器计算设备(220),其特征在于,所述客户端特定层集(140)包括所述神经网络的最后全连接层,和/或所述公共层集(120)包括所述神经网络的卷积层。
13.一种计算系统(200),其特征在于,包括:
根据权利要求1至7中任一项所述的多个客户端计算设备(210,210');
根据权利要求8至12中任一项所述的服务器计算设备(220)。
14.一种方法(500),其特征在于,包括由客户端计算设备(210)执行的以下步骤:
从服务器计算设备(220)获得(S501)神经网络的模型(100),其中,所述模型(100)包括公共层集(120)和客户端特定层集(140);
根据本地数据集(211)训练(S502)所述模型(100)以获得更新的公共层集(120)和更新的客户端特定层集(140),其中,所述本地数据集(211)存储在所述客户端计算设备(210);
向所述服务器计算设备(220)发送(S503)所述更新的公共层集;
存储(S504)所述更新的客户端特定层集(140)。
15.一种方法,其特征在于,包括由服务器计算设备(220)执行的以下步骤:
向多个客户端计算设备(210,210')中的每个客户端计算设备发送神经网络的模型(100),其中,所述模型(100)包括公共层集(120)和客户端特定层集(140);
从所述多个客户端计算设备(201,210')中的每个客户端计算设备接收更新的公共层集(120)。
16.一种计算机程序,其特征在于,包括程序代码,所述程序代码在计算设备上运行时执行根据权利要求14或15所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/061440 WO2021213667A1 (en) | 2020-04-24 | 2020-04-24 | Devices, methods, and system for heterogeneous data-adaptive federated learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116057541A true CN116057541A (zh) | 2023-05-02 |
Family
ID=70471023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100040.7A Pending CN116057541A (zh) | 2020-04-24 | 2020-04-24 | 用于异构数据自适应联合学习的设备、方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230038310A1 (zh) |
EP (1) | EP4118581A1 (zh) |
CN (1) | CN116057541A (zh) |
WO (1) | WO2021213667A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230239239A1 (en) * | 2022-01-25 | 2023-07-27 | Qualcomm Incorporated | Upper analog media access control (mac-a) layer functions for analog transmission protocol stack |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
CN110956202A (zh) * | 2019-11-13 | 2020-04-03 | 重庆大学 | 基于分布式学习的图像训练方法、系统、介质及智能设备 |
CN110955778A (zh) * | 2019-12-13 | 2020-04-03 | 中国科学院深圳先进技术研究院 | 一种基于差分隐私联合学习的垃圾短信识别方法及系统 |
-
2020
- 2020-04-24 WO PCT/EP2020/061440 patent/WO2021213667A1/en unknown
- 2020-04-24 EP EP20722281.1A patent/EP4118581A1/en not_active Withdrawn
- 2020-04-24 CN CN202080100040.7A patent/CN116057541A/zh active Pending
-
2022
- 2022-10-21 US US17/970,925 patent/US20230038310A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
CN110956202A (zh) * | 2019-11-13 | 2020-04-03 | 重庆大学 | 基于分布式学习的图像训练方法、系统、介质及智能设备 |
CN110955778A (zh) * | 2019-12-13 | 2020-04-03 | 中国科学院深圳先进技术研究院 | 一种基于差分隐私联合学习的垃圾短信识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
MANOJ等: "Federated Learning with Personalization Layers", 《ARXIV》, 2 December 2019 (2019-12-02), pages 1 - 13 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021213667A1 (en) | 2021-10-28 |
EP4118581A1 (en) | 2023-01-18 |
US20230038310A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3407562B1 (en) | Coflow recognition method and system, and server using method | |
CN110115015B (zh) | 通过监测其行为检测未知IoT设备的系统和方法 | |
CN111464627B (zh) | 数据处理方法、边缘服务器、中心服务器及处理系统 | |
US9813527B2 (en) | Management of network configuration and address provisioning | |
CN114039858B (zh) | 一种算网资源融合方法、装置、设备及存储介质 | |
CN104125167A (zh) | 一种流量控制方法和装置 | |
CN112748941B (zh) | 基于反馈信息的目标应用程序的更新方法和装置 | |
CN104994016A (zh) | 用于分组分类的方法和装置 | |
CN111182332B (zh) | 视频处理方法、装置、服务器及存储介质 | |
CN106797384A (zh) | 以不同的协议将请求路由到集群中的相同端点 | |
Bhowmik et al. | Distributed control plane for software-defined networks: A case study using event-based middleware | |
CN110795558B (zh) | 标签获取方法和装置、存储介质及电子装置 | |
US20230038310A1 (en) | Devices, Methods, and System for Heterogeneous Data-Adaptive Federated Learning | |
WO2023065640A1 (zh) | 一种模型参数调整方法、装置、电子设备和存储介质 | |
CN114091572A (zh) | 模型训练的方法、装置、数据处理系统及服务器 | |
EP3902279A1 (en) | Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node | |
CN117793016A (zh) | 一种数据报传输方法和装置、电子设备及存储介质 | |
CN107493254B (zh) | Tcp报文转发的方法、装置和系统 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN110650083A (zh) | 一种消息过滤方法及装置 | |
CN109474696A (zh) | 一种网络服务方法、装置、电子设备及可读存储介质 | |
CN112738225B (zh) | 基于人工智能的边缘计算方法 | |
Partridge | Helping a future internet architecture mature | |
CN113822453B (zh) | 5g切片的多用户投诉共性确定方法及装置 | |
US10951563B2 (en) | Enhancing a social media post with content that is relevant to the audience of the post |
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 |