CN117999562A - 用于量化联邦学习中的客户端贡献的方法和系统 - Google Patents
用于量化联邦学习中的客户端贡献的方法和系统 Download PDFInfo
- Publication number
- CN117999562A CN117999562A CN202280060951.0A CN202280060951A CN117999562A CN 117999562 A CN117999562 A CN 117999562A CN 202280060951 A CN202280060951 A CN 202280060951A CN 117999562 A CN117999562 A CN 117999562A
- Authority
- CN
- China
- Prior art keywords
- clients
- training
- client
- matrix
- utility
- 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 abstract description 93
- 238000012549 training Methods 0.000 claims abstract description 185
- 239000011159 matrix material Substances 0.000 claims abstract description 137
- 238000012545 processing Methods 0.000 claims description 31
- 238000012360 testing method Methods 0.000 claims description 24
- 238000000354 decomposition reaction Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 abstract description 54
- 230000000295 complement effect Effects 0.000 abstract description 9
- 230000015654 memory Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000000342 Monte Carlo simulation Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 206010011985 Decubitus ulcer Diseases 0.000 description 1
- 108010006519 Molecular Chaperones Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/098—Distributed learning, e.g. federated learning
-
- 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/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文描述了用于量化联邦学习中的客户端贡献的方法和系统。使用多个客户端进行多轮训练。在每轮训练中,从选择的客户端接收更新,使用所述接收到的更新计算每轮训练的一个或多个效用函数值,并将所述计算出的效用函数值存储在效用矩阵中。在所述多轮训练之后,通过计算补全的效用矩阵来补全所述效用矩阵的缺失元素。使用所述补全的效用矩阵计算每个客户端的贡献分数。
Description
相关申请的交叉引用
本发明要求于2021年9月8日递交的发明名称为“用于联邦学习系统中的数据估值的框架(FRAMEWORK FOR DATA VALUATION IN FEDERATED LEARNING SYSTEMS)”的第63/242,015号美国临时专利申请的优先权,其全部内容以引用的方式并入本文中。
技术领域
本发明涉及用于联邦学习的方法和系统,包括用于量化联邦学习中的客户端贡献的方法和系统。
背景技术
联邦学习是一种机器学习技术,其中多个计算系统(也称为客户端)拥有不同数据所有者,参与训练机器学习算法以学习全局模型(在中央服务器上维护),而无需与中央服务器共享自身的数据。每个客户端的局部数据本质上可能是私有数据或专有数据(例如,照片、健康数据、社交媒体数据、银行数据、零售数据等)。因此,联邦学习有助于保护这些局部数据的隐私,因为它可以使全局模型进行训练(即,将全局模型的可学习参数(例如,权重和偏置)设置为能使全局模型在推断中取得令人满意的性能的值),而不要求客户端与中央服务器或其它客户端共享自身的局部数据。相反,客户端使用机器学习算法及其相应的局部数据集(set of local data/local dataset)对局部模型执行局部化训练,以学习局部模型的可学习参数的值。然后,客户端将关于其学习到的值的信息(例如,以梯度的形式)发送到中央服务器,以用于调整全局模型的可学习参数的值。中央服务器聚合从多个客户端接收到的信息,并使用聚合信息来调整全局模型的可学习参数的值。
然而,联邦学习中存在一个如何评估每个客户端的贡献以确保质量和/或客户端之间的公平性的问题。为了维持或鼓励客户端参与联邦学习,公平地评估不同客户端对联邦学习系统的贡献(例如,根据不同客户端对学习全局模型的可学习参数的值的贡献)非常重要。
因此,提供一种用于量化和评估各个客户端对联邦学习系统的贡献的方案是有用的。
发明内容
在各种示例中,本发明描述的各种方法和系统能够更加公平地、高效地量化各个客户端对联邦学习系统的贡献,同时确保各个客户端的数据隐私得到保护。
贡献分数基于夏普利(Shapley)值,并使用存储效用函数值的效用矩阵进行计算。本发明描述了用于联邦学习的效用函数,以计算每个客户端在联邦学习系统中的贡献分数,从而避免因随机选择而不公平地惩罚客户端。因此,本发明的示例提供了技术优势,即客户端对联邦学习系统的贡献可以量化,这可以有助于更加高效地利用联邦学习系统中的资源。
在一个示例性方面,本发明描述了一种计算系统,所述计算系统包括处理单元,所述处理单元用于执行指令以使所述计算系统执行以下操作:使用多个客户端进行多轮训练,其中,所述处理单元还用于使所述计算系统通过以下方式进行每轮训练:从所述多个客户端中的选择的客户端接收更新,其中,所述选择的客户端被选择进行每轮训练;使用所述接收到的更新计算每轮训练的一个或多个效用函数值;将所述计算出的一个或多个效用函数值存储在效用矩阵中。其中,所述效用矩阵在所述多轮训练之后是具有缺失元素的稀疏矩阵。所述处理单元还用于执行指令以使所述计算系统执行以下操作:在所述多轮训练之后,通过计算补全的效用矩阵来补全所述效用矩阵的所述缺失元素;使用所述补全的效用矩阵计算所述多个客户端中的每个客户端的贡献分数。
在所述计算系统的上述方面的示例中,所述处理单元还可以用于使所述计算系统通过以下方式进行每轮训练:向所述多个客户端发送全局模型的全局参数;使用所述从所述选择的客户端接收到的更新来计算聚合更新;使用所述聚合更新来更新所述全局参数。
在所述计算系统的上述方面的示例中,计算每轮训练中的所述一个或多个效用函数值可以包括:识别所述选择的客户端中包括的一个或多个客户端子集;对于每个识别的客户端子集:在更新所述全局参数之前使用所述全局模型计算第一测试损失,以及在更新所述全局参数之后使用所述全局模型计算第二测试损失;计算所述第一测试损失和所述第二测试损失之间的差值,其中,所述计算出的差值是每轮训练中每个识别的客户端子集的所述效用函数值。
在所述计算系统的上述任一方面的示例中,所述补全的效用矩阵可以包括所有轮训练中所述多个客户端中的所有可能的客户端子集的效用函数值。
在所述计算系统的上述任一方面的示例中,所述处理单元还可以用于使所述计算系统执行以下操作:在所述多个客户端中的所有可能的客户端子集中识别子集子样本;其中,在所述多轮训练中,可以仅为属于所述识别的子集子样本的客户端子集计算所述一个或多个效用函数值。
在所述计算系统的上述任一方面的示例中,客户端的所述贡献分数可以根据下式计算:
其中,i表示所述客户端的索引,N表示所述多个客户端的总数,T表示所述多轮训练的总数,S表示所述多个客户端中的客户端子集,Ut,S表示所述效用矩阵的所述元素(t,S)。
在所述计算系统的上述任一方面的示例中,所述补全的效用矩阵可以计算为共同组成所述补全的效用矩阵的一对分解矩阵。
在所述计算系统的上述方面的示例中,在计算所述多个客户端中的每个客户端的所述贡献分数时,可以用所述分解矩阵代替所述补全的效用矩阵。
在所述计算系统的上述任一方面的示例中,所述处理单元还可以用于使所述计算系统执行以下操作:将任何贡献分数低的客户端排除在未来一轮或多轮训练之外。
在所述计算系统的上述任一方面的示例中,所述处理单元还可以用于使所述计算系统执行以下操作:为每个客户端提供与相应的贡献分数成比例的资源。
在另一个示例性方面,本发明描述了一种方法,所述方法包括:使用多个客户端进行多轮训练,每轮训练包括:从所述多个客户端中的选择的客户端接收更新,其中,所述选择的客户端被选择进行每轮训练;使用所述接收到的更新计算每轮训练的一个或多个效用函数值;将所述计算出的一个或多个效用函数值存储在效用矩阵中。其中,所述效用矩阵在所述多轮训练之后是具有缺失元素的稀疏矩阵。所述方法还可以包括:在所述多轮训练之后,通过计算补全的效用矩阵来补全所述效用矩阵的所述缺失元素;使用所述补全的效用矩阵计算所述多个客户端中的每个客户端的贡献分数。
在所述方法的上述方面的示例中,每轮训练可以包括:向所述多个客户端发送全局模型的全局参数;使用所述从所述选择的客户端接收到的更新来计算聚合更新;使用所述聚合更新来更新所述全局参数。
在所述方法的上述方面的示例中,计算每轮训练中的所述一个或多个效用函数值可以包括:识别所述选择的客户端中包括的一个或多个客户端子集;对于每个识别的客户端子集:在更新所述全局参数之前使用所述全局模型计算第一测试损失,以及在更新所述全局参数之后使用所述全局模型计算第二测试损失;计算所述第一测试损失和所述第二测试损失之间的差值,其中,所述计算出的差值是每轮训练中每个识别的客户端子集的所述效用函数值。
在所述方法的上述任一方面的示例中,所述补全的效用矩阵可以包括所有轮训练中所述多个客户端中的所有可能的客户端子集的效用函数值。
在所述方法的上述任一方面的示例中,所述方法可以包括:在所述多个客户端中的所有可能的客户端子集中识别子集子样本;其中,在所述多轮训练中,仅为属于所述识别的子集子样本的客户端子集计算所述一个或多个效用函数值。
在所述方法的上述任一方面的示例中,客户端的所述贡献分数可以根据下式计算:
其中,i表示所述客户端的索引,N表示所述多个客户端的总数,T表示所述多轮训练的总数,S表示所述多个客户端中的客户端子集,Ut,S表示所述效用矩阵的所述元素(t,S)。
在所述方法的上述任一方面的示例中,所述补全的效用矩阵可以计算为共同组成所述补全的效用矩阵的一对分解矩阵。
在所述方法的上述方面的示例中,在计算所述多个客户端中的每个客户端的所述贡献分数时,可以用所述分解矩阵代替所述补全的效用矩阵。
在所述方法的上述任一方面的示例中,所述方法可以包括:将任何贡献分数低的客户端排除在未来一轮或多轮训练之外。
在所述方法的上述任一方面的示例中,所述方法可以包括:为每个客户端提供与相应的贡献分数成比例的资源。
在另一个示例性方面中,本发明描述了一种其上存储有机器可执行指令的非瞬时性计算机可读介质,其中,当所述指令由装置的处理单元执行时,使所述装置执行所述方法的上述任一示例性方面的方法。
附图说明
下面通过示例参考示出本申请示例性实施例的附图,在附图中:
图1是根据本发明示例的可以用于实现联邦学习的简化示例性系统的框图;
图2A是可以用于实现本文所述示例的示例性服务器的框图;
图2B是可以用作本文所述示例的一部分的示例性客户端的框图;
图3是图1的联邦学习系统中一轮训练的一种示例性实现方式的框图;
图4是根据本发明示例的用于计算并向联邦学习系统中的客户端分配贡献分数的示例性方法的流程图;
图5示出了根据本发明示例的排名贡献分数的示例性输出;
图6示出了根据本发明示例的表示用于量化客户端贡献的联邦系统操作的示例性伪代码;
图7是纵向联邦学习系统的一种示例性实现方式的框图;
图8是根据本发明示例的用于计算并向纵向联邦学习系统中的客户端分配贡献分数的示例性方法的流程图。
在不同的附图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
在本文公开的示例中,描述了使用联邦学习来训练与任务相关的模型(model)的方法和系统。这些示例旨在评估参与联邦学习的客户端的贡献。具体地,本发明的示例能够公平地评估和量化所有参与客户端的贡献。这种评估可以使中央服务器量化每个参与客户端的价值,以帮助选择客户端参与一轮训练和/或将客户端排除在一轮训练之外,等等。此外,在此评估的基础上,可以为客户端分配积分或其它形式的激励,以促进客户端参与联邦学习系统。
为了帮助理解本发明,首先描述图1。
图1示出了示例性系统100,可以用于实现本文所公开的联邦学习的一个示例。为便于理解,在该示例中简化了系统100。系统100中的实体和组件通常要比图1所示的实体和组件更多。
系统100包括多个客户端102(例如,客户端-1 102至客户端-N 102,其中,客户端-i 102一般表示第i个客户端102),客户端102也可以称为计算系统、客户端设备、数据所有者、用户、用户设备、终端或节点等。也就是说,术语“客户端”并不旨在限制在特定类型的计算系统或特定上下文中实现。每个客户端102与中央服务器110通信,中央服务器110也可以称为中心节点。可选地,客户端102也可以直接与其它客户端102通信。客户端102和中央服务器110之间(或者客户端102和其它客户端102之间)的通信可以经由任何合适的网络104(例如,互联网、P2P网络、广域网(wide area network,WAN)和/或局域网(local areanetwork,LAN))进行,并且可以包括无线通信或有线通信。不同的客户端102可以使用不同的网络与中央服务器110通信,然而,为了简单起见,仅示出了单个网络104。
尽管以单数形式表示,但应理解,中央服务器110可以使用一个或多个服务器来实现。例如,中央服务器110可以实现为服务器、服务器集群、分布式计算系统、虚拟机,或者在数据中心的基础架构上或在由云服务提供商作为服务提供的基础架构(例如,虚拟机)上运行的容器(也称为Docker容器或Docker)等。通常,中央服务器110(包括下文进一步讨论的联邦学习模块200)可以使用硬件和软件的任何合适组合来实现,并且可以实现为单个物理装置(例如,服务器)或实现为多个物理装置(例如,在云服务提供商等情况下共享池化资源的多台机器)。因此,中央服务器110通常也可以称为计算系统或处理系统。中央服务器110可以使用本文所公开的联邦学习技术实现用于学习全局模型的可学习参数的值的技术和方法。
每个客户端102可以是独立的终端用户设备、服务器、服务器集合、边缘设备、网络设备、私网,或者存储局部数据集(可以视为是私有数据)和局部模型的其它一个或多个实体。如果客户端102是终端用户设备,客户端102可以是或可以包括客户端设备/终端、用户设备(user equipment/device,UE)、无线发送/接收单元(wireless transmit/receiveunit,WTRU)、移动台、固定或移动用户单元、蜂窝电话、站点(station,STA)、个人数字助理(personal digital assistant,PDA)、智能电话、笔记本电脑、计算机、平板电脑、无线传感器、可穿戴设备、智能设备、机器类通信设备、智能(或联网)车辆或消费电子设备等设备。如果客户端102是网络设备,客户端102可以是或可以包括基站(base station,BS)(例如,eNodeB或gNodeB)、路由器、接入点(access point,AP)、个人基本服务集(personal basicservice set,PBSS)坐标点(PBSS coordinate point,PCP)等。如果客户端102是私网,客户端102可以是或可以包括机构(例如,医院或金融机构)私网、零售商或零售平台、公司内网等。
每个客户端102存储(或可访问)相应的局部数据集(例如,作为数据存储在客户端102的存储器中,或可从私有数据库访问)。每个客户端102的局部数据集可以是唯一的且与每个其它客户端102的局部数据集不同。客户端102的局部数据集可以包括该客户端102的私有或专有数据,任何其它客户端102或中央服务器110无法访问或识别这些数据。如果客户端102是终端用户设备,局部数据集可以包括在客户端102的一个或多个用户实际使用过程中收集或生成的局部数据(例如,捕获的图像/视频、捕获的传感器数据、捕获的跟踪数据等)。如果客户端102是网络设备,包括在局部数据集中的局部数据可以包括从与网络设备相关联或由网络设备服务的终端用户设备收集的数据。例如,作为BS的客户端102可以从多个用户设备收集数据(例如,跟踪数据、网络使用数据、流量数据等),并且该数据可以存储在BS上的局部数据集中。
图2A示出了可以是中央服务器110的一种示例性实现方式的简化计算系统的框图。可以使用适合于实现本发明中描述的实施例的其它示例性计算系统,这些计算系统可以包括与下文论述的组件不同的组件。尽管图2A示出了每个组件的单个实例,但是在中央服务器110中,每个组件可以有多个实例。
中央服务器110可以包括一个或多个处理设备114,例如处理器、微处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路、专用人工智能处理器单元、张量处理单元、神经处理单元、硬件加速器或其组合。每个处理设备114可以包括一个或多个处理内核。
中央服务器110可以包括用于有线或无线通信(例如,与网络104、客户端102或系统100的其它实体的通信)的一个或多个网络接口122。一个或多个网络接口122可以包括用于网络内和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。
中央服务器110还可以包括一个或多个存储单元124,存储单元124可以包括固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器等大容量存储单元。
中央服务器110可以包括一个或多个存储器128,存储器128可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,RAM)和/或只读存储器(read-only memory,ROM))。一个或多个非瞬时性存储器128可以存储由一个或多个处理设备114执行的处理器可执行指令129,例如,以执行本发明中描述的示例。一个或多个存储器128可以包括存储为处理器可执行指令129的其它软件,例如,以实现操作系统和其它应用/功能。在一些示例中,一个或多个存储器128可以包括由处理设备114执行的处理器可执行指令129,以实现如下文进一步讨论的用于执行与联邦学习相关的方法的联邦学习模块200。
在一些示例中,中央服务器110可以附加地或替代地执行来自外部存储器(例如,与服务器有线或无线通信的外部驱动器)的指令,或可以由瞬时性或非瞬时性计算机可读介质提供处理器可执行指令。非瞬时性计算机可读介质的示例包括RAM、ROM、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electrically erasableprogrammable ROM,EEPROM)、闪存、CD-ROM或其它便携式存储器。
一个或多个存储器128还可以存储为执行任务而训练的全局模型126。全局模型126包括多个可学习参数127(也称为全局参数127),例如学习到的神经网络的权重和偏置,可学习参数127的值可以在训练过程中进行调整,直到全局模型126收敛于一组全局参数值,该组全局参数值表示全局模型126正训练用于执行的任务的方案。除了全局参数127之外,全局模型126还可以包括超参数等其它数据,这些数据可以在训练之前由全局模型126的架构师或设计者(或通过自动过程)定义,例如在设计或初始化全局模型126时定义。在机器学习中,超参数是用于控制学习过程的模型参数;超参数的定义与神经网络的权重和偏置等可学习参数相反,可学习参数的值在训练过程中进行调整。
图2B示出了可以是客户端102的一种示例性实现方式的简化计算系统的框图。可以使用适合于实现本发明中描述的实施例的其它示例性计算系统,这些计算系统可以包括与下文论述的组件不同的组件。尽管图2B示出了每个组件的单个实例,但是在客户端102中,每个组件可以有多个实例。
客户端102可以包括一个或多个处理设备130、一个或多个网络接口132、一个或多个存储单元134以及一个或多个非瞬时性存储器138,处理设备130、网络接口132、存储单元134以及非瞬时性存储器138可以分别使用在上文中央服务器110的背景下描述的那些技术等任何合适的技术来实现。
具体地,客户端102的一个或多个存储器138可以存储由一个或多个处理设备130执行的处理器可执行指令139,例如,以执行本发明中描述的示例。一个或多个存储器138可以包括存储为处理器可执行指令139的其它软件,例如,以实现操作系统和其它应用/功能。在一些示例中,一个或多个存储器138可以包括由处理设备130执行的处理器可执行指令139,以结合如下文进一步讨论的由中央服务器110执行的联邦学习模块200实现联邦学习系统的客户端操作。
一个或多个存储器138还可以存储为与中央服务器110的全局模型126执行相同的任务而训练的局部模型136。在此示例中,局部数据集140(包括可以是客户端102私有的局部数据)也存储在一个或多个存储器138中。在其它示例中,局部数据集140可以存储在客户端102可访问的外部存储器中。局部模型136包括多个可学习参数137(也称为局部参数137),例如学习到的神经网络的权重和偏置,可学习参数137的值可以在局部训练过程中根据局部数据集140进行调整,直到局部模型136收敛于一组学习到的局部参数值,该组学习到的局部参数值表示局部模型136正训练用于执行的任务的方案。除了局部参数137之外,局部模型136还可以包括其它数据,例如与中央服务器110的全局模型126的超参数相匹配的超参数,使得局部模型136与全局模型126具有相同的架构和操作超参数,并且仅在其局部参数137的值(即,在局部训练之后存储在存储器138中的局部可学习参数的值,这些值存储为学习到的局部参数137的值)上不同于全局模型126。
再次参考图1。联邦学习是一种机器学习技术,使客户端102能够参与学习与任务相关的模型(例如,全局模型或协作模型),而不必与中央服务器110或其它客户端102共享自身的局部数据集。如前所述,全局模型126存储在中央服务器110处,全局模型126的全局参数127的值通过与客户端102协作来学习。每个客户端102可以使用全局模型126作为自身的局部模型136的基础,或者可以按原样使用协作学习到的全局模型126(在这种情况下,采用全局模型126作为该客户端102的局部模型136)。这样,联邦学习可以有助于确保局部数据集140的隐私(局部数据集140可能包括隐私敏感信息或专有信息),同时为客户端102提供使用大量数据进行训练的好处。
联邦学习可能具有某些特征,这些特征将联邦学习与分布式优化方法区分开来。一个区别性特征是,参与联邦学习的客户端102(或节点)的数量通常远高于参与分布式优化的客户端(或节点)的数量(例如,在联邦学习中具有数百个客户端102,而在分布式优化中具有数十个客户端)。其它区别性特征包括:与分布式优化相比,“掉队”客户端102(即,与其它客户端102相比,与中央服务器110通信明显较慢的客户端102)数量较大,且每个客户端102处的局部数据集140的数量具有较大变化(例如,相差几个数量级)。一个重要的区别性特征是,在联邦学习中,局部数据集140通常是非IID(IID是指“独立同分布”),这表示不同客户端102的局部数据是唯一的且彼此不同的,并且不可能根据任何其它客户端102的局部数据集140推断出任何一个客户端102处的局部数据集140的特征或分布。局部数据集140的非IID性质意味着针对分布式优化开发的许多(或大多数)方法在联邦学习中是无效的。
图3示出了如何在联邦学习系统100中执行一轮协作训练的一个示例。为了简单起见,图3中省略了网络104,仅示出了一个客户端102的详细内容。应当理解,系统100中的每个客户端102可以维护或访问相应的局部数据集140,并且可以实现具有局部参数137的相应局部模型136。
全局模型126可以是使用任何合适的神经网络实现的任何机器学习模型,例如,多层感知器(multilayer perceptron,MLP)、卷积神经网络(convolutional neuralnetwork,CNN)等。全局模型126具有表示为w的全局参数127(例如,神经网络中权重的值)。
考虑有N个客户端102与中央服务器110一起参与联邦学习的场景。N个客户端102存储或可访问的局部数据集140可以表示为局部数据集D1,D2,…,Di,…,DN。局部模型136可以是与全局模型126具有相同架构但使用不同的局部参数137(例如,神经网络中权重的不同值)实现的机器学习模型。每个客户端102存储的局部参数137可以表示为wi。
中央服务器110的目标是求解以下分布式优化问题:
其中,F(w)表示中央服务器110处的损失函数,Fi(w)表示第i个客户端102处的损失。
中央服务器110对全局模型126进行T轮训练(例如,直到满足终止条件,例如,全局参数127收敛,或达到最大轮数)。下面介绍一轮训练。
中央服务器110向所有客户端102(也称为数据所有者的客户端计算系统)广播全局参数127(表示为wt,其中,上标t表示第t轮训练)的最新值。
每个客户端102通过设置wi=wt(即,将局部参数137设置为等于接收到的全局参数127的值)来更新该客户端102的局部参数137的值。一般来说,下标i用于指示任意客户端102,除非另有说明,否则i∈{1,2,…,N}。然后,每个客户端102使用相应的局部数据集140对相应的局部模型136执行局部训练,并更新该客户端102的相应局部参数137。在数学上,这可以表示为:
其中,αt是超参数,表示更新后的局部参数137。
在每轮训练中,中央服务器110可以选择表示为It的客户端102子集参与训练全局模型126,并且可以从选择的子集It接收更新。在一个示例中,接收到的更新可以是更新后的局部参数137。在其它示例中,接收到的更新可以是梯度。
选择的子集It中的客户端102可能每轮都不同,中央服务器110可以使用任何方法(例如,使用概率均匀的随机选择方法)来选择子集It。在一些示例中,如果选择了客户端102子集It进行一轮训练,则中央服务器110可以仅向选择的子集It发送全局参数127,并且可以仅从选择的子集It接收更新。在一些示例中,中央服务器110可以选择所有N个客户端102参与一轮训练(例如,如果N是相对较小的数字,例如,在5至10的范围内)。
在从选择的客户端102接收到更新之后,中央服务器110聚合接收到的更新,以更新全局参数127。中央服务器110可以使用任何合适的联邦学习算法聚合从客户端102接收到的更新并更新全局参数127。可以使用的算法通常称为“联邦平均(FederatedAveraging)”或FedAvg(例如,如McMahan等人在2017年发表在AISTATS中的“基于分散数据的深度网络通信高效学习(Communication-efficient learning of deepnetworks from decentralized data)”所述),但是应当理解,本发明不限于FedAvg方法。
在一个示例中,中央服务器110可以使用平均法聚合接收到的更新:
全局参数127更新后,本轮训练结束。更新后的全局参数127表示为wt+1,可以在下一轮训练开始时发送给客户端102。
可以进行多轮训练(每轮训练可能有不同的客户端102参与),直到满足终止条件(例如,达到最大轮数,或者全局参数收敛)。最后一轮训练之后(即,满足终止条件时)的全局参数127的值可以视为是全局参数127的训练值,并且可以发送到所有客户端102。每个客户端102可以使用训练好的全局参数127来更新自身相应的局部参数137,并使用目前训练好的局部模型127来执行推断。
这样,中央服务器110可以使客户端102使用自身的局部数据集140来协作训练全局模型126,而无需显式地共享自身的局部数据集140的数据或数据特征。因此,可以保护所有客户端102的数据隐私。
联邦学习面临的挑战是如何确保参与协作训练的所有客户端102之间的公平性,以及如何确保局部数据集140的质量。例如,没有局部数据或具有虚假局部数据的恶意行为者可能会冒充客户端,以获取与其它客户端102(具有高质量的局部数据集140)进行协作训练的好处,而恶意行为者不会做出任何有意义的贡献。这样的恶意行为者可能会消耗联邦学习系统100的资源(例如,通信带宽),而不会为整个系统100带来任何好处。由于中央服务器110不会显式地访问任何局部数据集140,也不能从客户端102共享的更新中得到任何局部数据集140的内容(为了保护数据隐私),因此在现有技术中,中央服务器110不能根据各个客户端102对协作学习的相应贡献来评估各个客户端102。因此在现有技术中,中央服务器110可能会继续选择恶意行为者参与多轮训练,而恶意行为者也会继续消耗系统100的资源。
又如,具有丰富和大型局部数据集的复杂客户端102可以对训练全局模型126做出巨大贡献。在现有技术中,中央服务器110不能将复杂客户端102识别为对协作训练做出巨大贡献的客户端,因此可能会选择复杂客户端102以与其它客户端102(甚至恶意行为者)相同的概率参与一轮训练。
不同客户端102所做的贡献之间的这种不公平性可能导致联邦学习系统100中的资源使用效率低下,而且会浪费多轮训练。这种不公平性也可能导致客户端102不愿意参与训练,这也是不可取的。
在各种示例中,本发明描述的各种方法和系统使中央服务器110能够根据不同客户端102对联邦学习过程的相应贡献,公平地评估不同客户端102处的局部数据的质量。中央服务器110能够计算每个客户端102的相应分数,该分数可以用于识别对协作训练贡献很小或没有贡献的恶意行为者或其它客户端102。中央服务器110可以根据计算出的分数,确定低分客户端102不再参与后续几轮训练,这可以有助于提高整个联邦学习系统100的效率。在另一示例中,中央服务器110可以使用计算出的分数来识别对协作训练具有积极贡献的高分客户端102,以便选择此类客户端102进行后续几轮训练,用于训练未来的模型和/或奖励此类客户端102(例如,提供一定的金钱奖励,以鼓励此类客户端102未来继续参与)。
为了帮助理解本发明,首先讨论衡量贡献的经典方式,即夏普利(Shapley)值。夏普利值源于合作博弈论,在合作博弈论中,夏普利值可以用于公平地向每个参与者分配积分。简而言之,一组参与者中的一个参与者的夏普利值被定义为该参与者对其余参与者的所有可能子集的平均边际贡献。更通俗而言,夏普利值可以视为一种衡量参与者的贡献的方法,即将该参与者不在场时所有可能的参与者子集所取得的结果与该参与者在场时所有可能的子集所取得的结果进行比较。夏普利值是满足平衡性、对称性、零元素(zeroelement)和可加性等公平性要求的度量。尽管夏普利值具有许多理想的属性,但在联邦学习的背景下计算夏普利值需要使用每个可能的客户端102子集对全局模型进行详尽的再训练和评估。在联邦学习的许多实际应用中,客户端102的数量非常大(例如,几百个客户端),这样,为了计算夏普利值,使用每个可能的客户端102子集对全局模型进行再训练和评估所需的资源量(例如,通信成本、时间要求等)就会变得过大且不切实际。
人们一直对将夏普利值的概念应用于联邦学习有兴趣。人们已经提出了夏普利值的变体,称为联邦夏普利值(federated Shapley value,FedSV),可以在联邦学习的背景下进行计算。FedSV的定义基于计算每轮训练中客户端102的夏普利值,然后在训练结束时对所有轮训练中的值进行求和。与经典的夏普利值相比,FedSV不需要针对所有可能的客户端102子集再训练全局模型126。然而,如上所述,在联邦学习的许多实际应用中,仅选择一个客户端102子集在每轮训练中提供更新(例如,以便降低通信成本)。计算FedSV时,在一轮训练中未选择的客户端102在该轮训练中的分数分配为零,这可能导致不公平性。例如,公平性的概念是,如果两个客户端102具有相同(或相似)的局部数据集140(因而对学习全局模型的贡献相等),则两个客户端102应该具有相同的分数。然而,使用FedSV,由于在每轮训练中随机选择客户端102,因此具有相同(或相似)局部数据集140的两个客户端102可能从中央服务器110接收到不同的分数。例如,尽管两个客户端102具有相同(或相似)的局部数据集140,但可以随机选择一个客户端102参与更多轮训练,因此接收到较高的总分,而随机选择另一个客户端102参与较少轮训练,因此接收到较低的总分。
本发明提供了一种方案,解决如何公平地评估联邦学习系统100中每个客户端102的贡献的问题,同时确保数据隐私,并且不会因为每轮训练中随机选择客户端102而导致潜在的不公平性。使用本发明的一个示例,中央服务器110向具有相同或相似的局部数据集140的两个客户端102分配相同的分数,而不管中央服务器110如何为每轮训练选择客户端102。
简而言之,本发明描述了如何构建公平的效用矩阵,而不需要所有客户端102都参与每轮训练,也不惩罚未被选择进行一轮训练的客户端102。效用矩阵是一种近似低秩矩阵,可以使用现有的矩阵补全方法来补全,该方法基于每个客户端102的贡献在不同轮训练之间不会发生显著变化的假设(当局部模型140具有Lipschitz连续性和平滑性时,这个假设通常可以成立,这对于大多数现有的基于机器学习的模型来说是典型特征)。通过补全效用矩阵,可以获取所有客户端102的效用信息,从而能够根据各个客户端102的夏普利值(也称为补全的联邦夏普利值(completed federated Shapley value,ComFedSV))计算贡献分数。需要说明的是,贡献分数满足夏普利值的特征,包括对于所有客户端102都是公平的,无论是否选择客户端102进行一轮训练。在一些示例中,当效用矩阵的大小非常大时(例如,当有数百个客户端102时),可以使用蒙特卡洛(Monte-Carlo)型子采样技术来降低空间和时间复杂度。
本发明描述了效用矩阵,效用矩阵是包括效用信息的矩阵,效用信息表示每轮训练中所有可能的客户端102子集的效用。效用矩阵可以表示为U,其中,(即,效用矩阵包括实值并且具有维度T×2N),其中,T表示训练轮数,N表示客户端102的总数。U的元素(t,S)(即,U的第t行第S列的元素)等于在第t轮训练中计算的客户端102子集S的效用。效用根据效用函数进行量化,效用函数在本文中定义为在一轮训练的开始和结束之间训练全局模型126的进度的量化。更具体地,效用函数定义为在第t轮训练中使用选择的客户端102子集S的更新在中央服务器110处计算的测试损失的变化。测试损失是在全局模型126(使用第t轮训练中的全局参数127的值)应用于测试数据集时由中央服务器110计算的损失函数。在形式上,效用函数可以定义为:
其中,/>
其中,Fc是使用测试数据集计算的损失函数。这时,效用矩阵U是存储所有t和所有S下的Ut(S)的所有值的矩阵(即,存储为每轮训练和每个可能的客户端102子集计算出的效用函数值)。
需要说明的是,效用矩阵U可能非常大(例如,典型的联邦学习场景涉及数百个客户端102进行数百轮训练)。此外,由于每轮训练并非选择所有可能的客户端102子集,因此中央服务器110无法计算每轮训练中所有可能的子集的效用函数。因此,可以在多轮训练中构建的效用矩阵U最初是稀疏矩阵(即,缺失一些元素)。下面的讨论进一步描述了中央服务器110如何构建效用矩阵U以及效用矩阵U如何用于向每个客户端102分配贡献分数。
图4是示例性方法400的流程图,该方法可以由中央服务器110执行,用于向联邦学习系统100中的每个客户端102分配贡献分数。例如,方法400可以由中央服务器110中的执行存储在存储器128中的指令的处理设备114执行。
可选地,在402处,中央服务器110可以执行初始化操作。初始化可以包括使用所有零元素初始化效用矩阵,并且还可以包括初始化全局参数127(例如,使用随机值初始化)。在一些示例中,该初始化可以从方法400中省略(例如,初始化可以提前执行;效用矩阵可能已经使用根据方法400的先前实例得到的效用信息填充;或者全局参数127可能已经具有预训练值)。
在404处,执行多轮联邦训练并构建稀疏效用矩阵。如上所述,每轮联邦训练涉及中央服务器110将最新的全局参数127发送给所有客户端102并从选择的客户端102接收更新(或在某些情况下从所有客户端102接收更新)。
在方法400进入步骤412之前,步骤404可以在所有轮训练中执行(即,直到满足终止条件并且训练终止)。可替代地,步骤404可以仅在某些轮训练(例如,仅在100轮训练而不是几百轮训练)中执行(即,不满足终止条件)。在方法400返回步骤404以继续更多轮训练之前,方法400可以进入步骤412和步骤414,以计算客户端102的临时贡献分数。只要至少计算了客户端子集的最小子样本的效用函数(例如,根据下文进一步讨论的蒙特卡洛方法),临时贡献分数就可望相对准确地反映各个客户端102对联邦学习系统100的贡献。临时贡献分数可以有助于中央服务器110识别应排除在进一步参与多轮训练之外的任何低分客户端102,如下文进一步讨论。
在步骤404中,通过执行步骤408和步骤410,在一轮或多轮训练中构建稀疏效用矩阵。
可以执行可选的步骤406,以识别计算效用函数(且效用函数用于构建稀疏效用矩阵)的客户端子集的子样本。可以执行可选的步骤406,以帮助减少构建稀疏效用矩阵所需的计算量。根据蒙特卡洛方法,只需计算可能子集的子样本的效用函数即可。可以证明,使用蒙特卡洛方法,大小为M的子样本(其中,M是Nlog(N)阶的整数,N是客户端102的数量)就足以很好地逼近所有可能的客户端102子集的效用函数分布。在此基础上,可以通过从2N个可能子集中随机识别出M个子集来识别子集的子样本。然后,只有在为一轮训练选择的客户端102包括作为识别的子样本的一部分的子集时,才需要执行以下步骤408和步骤410。
在其它示例中,步骤406可以省略。例如,如果客户端N的数量不是太大(例如,只有5个到10个客户端,在一些工业应用中可能是这样的情况),则蒙特卡洛子采样可能不会显著减少计算量。
在408处,使用从在第t轮训练中选择的客户端102(表示为It)接收到的更新来计算效用函数值。计算效用函数值包括:中央服务器110从选择的客户端102It接收更新(例如,局部更新后的局部参数137),中央服务器110将更新聚合成聚合更新。如上所述,中央服务器110使用聚合更新来更新全局参数127。
此外,中央服务器110通过聚合客户端102子集的更新来计算子集更新(其中,子集在选择的客户端It内)。然后,中央服务器110在应用子集更新之前使用具有全局参数127的全局模型126计算第一测试损失,以及在应用子集更新之后使用具有全局参数127的全局模型126计算第二测试损失。第一测试损失和第二测试损失之间的差值为第t轮中子集S的效用函数值。上文提供了该效用函数的形式表达式。在410处,将计算出的效用函数值作为元素(t,S)存储在效用矩阵中。对包括在选择的客户端102It中的所有子集S执行这一点。在简化示例中,如果在第5轮训练中选择客户端-1、客户端-3和客户端-4,则选择的客户端102可以表示为I5,并且子集{1}、{3}、{4}、{1,3}、{1,4}、{3,4}和{1,3,4}包括在选择的客户端I5中。这些子集的效用函数值由中央服务器110计算,并存储在效用矩阵的第5行和与这些子集对应的列中。
中央服务器110可以进行另一轮训练。步骤404中的每轮训练可以重复步骤408和步骤410。如果执行可选的步骤406,则只有在为步骤404中的一轮训练选择的客户端102包括作为识别的子样本的一部分的子集时,才需要执行步骤408和步骤410。
在执行了一些(或所有)轮训练之后,在步骤408计算的效用函数值已存储在效用矩阵中(在步骤410处)。因此,效用矩阵存储对每轮训练中选择的客户端中包括的客户端子集计算的效用函数值。效用矩阵中的元素可以按训练轮次(t)和特定的客户端子集(S)进行索引。需要说明的是,根据在多轮训练中计算的效用函数值得到的效用矩阵是稀疏矩阵。这表示效用矩阵缺失一些元素。这在意料之中,因为并非所有可能的客户端102子集都可能包括于在所有轮训练中选择的客户端中。
在412处,补全效用矩阵。可以证明,效用矩阵是近似低秩矩阵。低秩矩阵是指在所有列中线性独立列很少的矩阵。需要说明的是,低秩矩阵可以近似为两个分解矩阵的内积。现有的矩阵补全技术可以用于计算分解矩阵(通过求解一个众所周知的最小化问题),分解矩阵可以用于计算效用矩阵的缺失元素。预计效用矩阵是近似低秩矩阵,因为预计会有一些客户端102具有相似的局部数据集140并因此具有相似的效用,从而导致效用矩阵的列之间具有相似性。同样,预计各个客户端102处的局部参数137的变化是渐进的,因此该客户端102的效用在连续几轮训练之间应具有相似性,从而导致效用矩阵的相邻行之间具有相似性。
矩阵补全问题在形式上可以表示如下:
其中,W和H是补全的效用矩阵的分解矩阵(即,补全的效用矩阵可以通过取W和H的内积得到),符号表示Frobenius范数的平方。
上面的矩阵补全问题可以使用Python包LRIPy(表示Python中的低秩诱导范数)或LIBPMF(表示用于大规模并行矩阵分解库)等现有的矩阵补全求解器来求解。上面描述的蒙特卡洛方法可以用于减小矩阵补全问题的大小。
需要说明的是,为了求解矩阵补全问题以补全效用矩阵,中央服务器110可能需要在至少一轮训练中从所有客户端102接收更新,以便可以计算效用矩阵的至少一个完整行的效用函数值。也就是说,至少应该有一轮训练,其中选择的客户端It={1,2,…,N}。在部署现实世界中的联邦学习系统100时,通过要求中央服务器110在第一轮训练中选择所有客户端102等方式可以很容易地满足这一要求。
在补全效用矩阵之后,在414处,使用补全的效用矩阵计算每个客户端102的贡献分数。在计算每个客户端102的贡献分数时,可以在计算夏普利值中使用补全的效用矩阵,而不必向任何未被选择进行一轮训练的客户端102分配零值。这是因为补全的效用矩阵包括所有轮训练中所有可能的客户端102子集的效用函数值(在步骤408,中央服务器110直接计算一些效用函数值,而在步骤412,通过补全效用矩阵来计算其它效用函数值)。
虽然补全的效用矩阵可以直接用于计算贡献分数,但是由于在步骤412已经计算了分解矩阵W和H,因此可以改为使用W和H来帮助降低计算的复杂度。每个客户端-i 102(其中,i∈{1,2,…,N})的基于夏普利值的贡献分数(本文也称为补全的联邦夏普利值,或ComFedSV)可以定义如下:
其中,计算(Ut,S∪{i}-Ut,S)可以通过如下所示代入分解矩阵W和H的方式来简化:
其中,Wt和Hs分别是分解矩阵W和H的第t个和第S个行向量,T表示训练轮数,si表示分配给第i个客户端102的贡献分数,C是选择符号。
可选地,在416处,中央服务器110可以识别一个或多个低分客户端102(例如,任何贡献分数低于预定义阈值的客户端102),然后将此类低分客户端102排除在后续几轮训练之外。例如,如果在414处计算出的贡献分数是临时分数(即,训练尚未终止),则该临时分数可以用于识别任何对协作训练没有积极贡献的客户端102,然后将此类客户端102排除在其余各轮训练之外。在排除任何低分客户端102之后,方法400可以返回步骤404以继续进行联邦训练。
又如,如果在训练完成之后计算贡献分数(即,满足终止条件并且全局参数127被视为是训练值),则步骤416可用于将低分客户端102排除在未来参与联邦学习之外。例如,中央服务器110可以存储任何低分客户端102的标识(例如,唯一设备地址或设备标识符),以便在未来需要再训练全局参数127时,将此类客户端102排除在参与之外。
可选地,在418处,中央服务器110可以根据所有客户端102相应的贡献分数对所有客户端102进行计分或排名。例如,中央服务器110可以向每个客户端102提供(或计入)与每个客户端102相应的贡献分数成比例的资源(例如,计算资源、通信带宽、货币资源等),以使分数较高的客户端102比分数较低的客户端102接收到更多的资源。通过向客户端102公平地提供(或计入)与客户端102的贡献分数成比例的资源,方法400通过使优秀贡献者(即,分数较高的客户端102)更高效地参与联邦学习系统100(通过为此类分数较高的客户端102提供更多的计算资源、通信带宽等),从而有助于促进进一步参与联邦学习系统100。这可以改善联邦学习系统100中资源的整体使用。
根据客户端102的贡献分数对客户端102进行排名还可以使中央服务器110更容易识别应该邀请哪些客户端102参与未来的联邦训练。
在一些示例中,如果在414处计算出的贡献分数是临时分数(即,训练尚未终止),则该临时分数可用于临时对客户端102进行计分或排名。这可以使中央服务器110在训练完成之前对客户端102进行计分。这也可以使中央服务器110能够识别分数较高的客户端102,分数较高的客户端102可以被优先选择进行后续几轮训练。在根据贡献分数对客户端进行计分或排名之后,方法400可以返回步骤404以继续进行联邦训练。
在一些示例中,可以将临时贡献分数或最终贡献分数(即,在最后一轮训练之后使用效用矩阵计算出的贡献分数)输出到所有客户端102。临时贡献分数或最终贡献分数可以在归一化和匿名化之后输出,以使客户端102在保护隐私的同时知道自身对联邦学习系统100的相对贡献。这可以有助于提高客户端102和中央服务器110之间的透明度和信任度。
图5示出了可以如何输出贡献分数供每个客户端102查看的示例的表500。
表500(也称为计分板)根据降序的贡献分数对所有客户端102(从1到N)进行排名,贡献分数已归一化为最大值1.00。可以使用仅为每个客户端102所知的匿名ID来识别表500中的每个客户端102。
图6示出了表示可由中央服务器110和客户端102执行以实现方法400的示例的指令的示例性伪代码600。应当说明,伪代码600表示整个联邦学习系统100的操作,可能并不单独反映任何各个客户端102或中央服务器110的操作。此外,尽管以下讨论在方法400的背景下对伪代码600进行说明,但应理解,方法400可以使用不同的指令集来实现。
伪代码600包括用于初始化(例如,在方法400的步骤402处)的代码602和用于识别子集子样本(例如,在方法400的步骤406处)的代码604。代码606表示每个客户端102处更新局部参数137的操作。代码608表示中央服务器110处确保所有客户端102均被选择进行至少一轮训练(在此示例中为第一轮训练)的操作。代码610表示中央服务器110处聚合从选择的客户端102接收的更新并更新全局参数127的操作。代码612表示中央服务器110计算子样本(在代码604处识别)的效用值函数并将计算出的效用值函数存储在效用矩阵中(例如,在方法400的步骤408和步骤410处)的操作。代码614表示中央服务器110补全效用矩阵(例如,在步骤412处)的操作,代码616表示中央服务器110使用补全的效用矩阵计算每个客户端102的基于夏普利值的贡献分数(例如,在步骤414处)的操作,代码618表示中央服务器110输出贡献分数的操作。
尽管前面的讨论是在横向联邦学习的背景下进行的,但是本发明的示例也可以用于在纵向联邦学习(也称为异构联邦学习)的背景下量化客户端的贡献。图1的整体联邦系统100可以用于横向联邦学习或纵向联邦学习,但是实现的详细内容可能不同。横向联邦学习和纵向联邦学习的区别在于相应的客户端102处的局部数据集140和局部模型136。
在横向联邦学习中,不同客户端102处的局部数据集140具有相同的特征空间但不同的样本空间,并且可以由相同的模型架构处理(尽管每个客户端可以具有其自身的局部模型136,其中,局部参数137具有不同的值,但局部模型136都与全局模型126共享相同的架构,包括预期的输入和输出)。横向联邦学习的一个示例可以是在不同地理位置(因此也是不同的客户样本空间)的不同银行机构(这些银行机构都具有在例如与客户的贷款有关的相同的特征空间中运行的局部模型)一起协作,以改进自身的局部模型,同时保护自身的客户数据的隐私。在纵向联邦学习中,不同的客户端102具有样本空间相同但特征空间不同的相应局部数据集140。客户端102的局部模型136是嵌入模型,根据相应的局部数据集140的特征生成嵌入。由于局部数据集140存储不同的特征,局部嵌入模型生成不同的嵌入,因此可能具有不同的模型架构。客户端102通过与中央服务器110共享局部生成的嵌入来协作,中央服务器110聚合嵌入,以便学习全局预测模型126的全局参数127。纵向联邦学习的一个示例可以是在相同的地理位置(因此也是相同的客户样本空间)的银行机构和零售商。银行机构可能有一个从与客户贷款相关的特征空间生成嵌入的局部模型,而零售商可能有一个从与客户购买相关的不同特征空间生成嵌入的局部模型。银行机构和零售商可能希望共同协作,以共同学习预测模型(例如,预测客户分类),同时保护自身的客户数据的隐私。
图7示出了如何在纵向联邦学习系统150中执行一轮协作训练的示例。为了简单起见,图7中省略了网络104,仅示出了一个客户端102的详细内容。
纵向联邦学习的目标是M个客户端102使用N个对齐的数据样本的集合协作训练预测模型。对齐的数据样本的集合是指局部数据集140中包括的与相同的公共标识符集(例如,客户标识符)相对应的数据样本。也就是说,局部数据集140存储与同一数据源相对应的不同特征(例如,存储关于同一组客户的不同特征)。对齐的数据样本的集合可以定义为其中,xi表示N个数据样本(即,i=1,...,N)的第i个特征向量(维度d),yi表示N个数据样本(即,i=1,...,N)的标签。特征向量分布在M个客户端102上,使得每个客户端102存储部分特征。在形式上,这可以表示为:
其中,表示存储在第m个客户端102处的特征向量xi的部分,dm表示存储在第m个客户端102处的特征维度(以使/>),[M]表示所有M个客户端102的集合。
每个客户端102具有相应的局部数据集140,对于第m个客户端,局部数据集140可以表示为其中,[N]表示数据样本索引集合。每个客户端102使用相应的局部模型136(局部模型136具有局部参数137,表示为θm)处理相应的局部数据集140/>以生成相应的嵌入集,表示为/>特征向量的标签由中央服务器110存储在全局数据集142中。中央服务器110的目标是训练预测性全局模型126,以使全局模型126处理来自客户端102的嵌入,从而准确预测xi的标签yi。
一轮训练从中央服务器110从N个可能的数据索引中选择一批数据索引开始。每个客户端102使用相应的局部模型126处理从相应的局部数据集140选择的批次,以生成相应的局部嵌入。这可以表示为:
其中,表示第t轮训练中第m个客户端102的局部参数137,B(t)表示第t轮训练中中央服务器110选择的索引批次。每个客户端102生成的局部嵌入发送到中央服务器110。
在中央服务器110处,聚合嵌入(例如,求和),并且通过使用全局模型126处理聚合嵌入并将预测标签与全局数据集142中的地面真值标签进行比较来计算全局损失。计算全局损失的梯度(称为全局梯度)并将全局损失的梯度发送回每个客户端102。每个客户端102使用接收到的全局梯度来更新相应的局部参数137。
上面描述的训练过程可以称为同步纵向联邦学习,因为所有客户端102在每轮训练中同时(或近乎同时)将自身的局部嵌入发送到中央服务器110。异步纵向联邦学习的区别在于,每个客户端102按自身的定时(即,中央服务器110不协调所有客户端102开始每轮训练)传输自身的局部嵌入。在异步纵向联邦学习中,中央服务器110可以聚合在定义的时间段内接收到的嵌入,并周期性地将全局梯度发送到客户端102,而不是定义训练轮次。
应理解,在同步和异步场景中,夏普利值均可以用于量化每个客户端102在纵向联邦学习中的贡献,这与横向联邦学习类似。需要说明的是,贡献分数是使用效用函数根据夏普利值计算的,如上所述,本文将效用函数定义为根据在时间段的开始和结束时计算的损失的差值对在一轮训练的开始和结束之间(更一般地说,在定义的时间段的开始和结束之间)训练全局模型126所取得的进度的量化。横向联邦学习中效用函数的定义相比纵向联邦学习的区别在于损失是如何定义的。在纵向联邦训练中,损失函数基于全局模型126预测特征向量的标签的成功程度,其中考虑到客户端102生成的嵌入。因此,本发明提出了一种适用于纵向联邦学习的效用函数,如下所示:
其中,表示第m个客户端102在时间点t生成的数据点/>的局部嵌入。这里,t可以用于表示时间点,而不是训练轮次(其中,一轮训练可以定义为时间段[t-1,t])。需要说明的是,效用函数要求根据在所有N个数据点上生成的嵌入来计算损失。
使用效用函数的此定义,计算每个客户端基于夏普利值的贡献分数,如下所示:
其中,T表示预定义的时间段(或训练轮数),S是客户端子集。
横向联邦学习面临的挑战是在每轮训练中并不是所有的客户端102都被选择,而纵向联邦学习的挑战是在每轮训练中并不是所有的数据点都被选择(用于生成局部嵌入)。
在纵向联邦学习中,为每个第m个客户端定义嵌入矩阵该嵌入矩阵包括所有时间点上所有数据样本的所有嵌入。/>中的(t,i)元素定义为/>
图8是示例性方法800的流程图,该方法可以由中央服务器110执行,用于向纵向联邦学习系统150中的每个客户端102分配贡献分数。例如,方法800可如由中央服务器110中的执行存储在存储器128中的指令的处理设备114执行。应理解,方法800是先前讨论的方法400的改编,因此在此不需要赘述某些详细内容。
可选地,在802处,中央服务器110可以执行类似于上述方法400的步骤402的初始化。中央服务器110可以初始化全局参数127以及嵌入矩阵。
在804处,中央服务器110在多轮训练(在同步纵向联邦学习的情况下)中或在一系列时间点(在异步纵向联邦学习的情况下)上执行联邦训练。
在808处,中央服务器110从每个客户端102接收局部嵌入,并在810处将局部嵌入存储在嵌入矩阵中。需要说明的是,局部嵌入仅对应于中央服务器110选择的批索引。因此,嵌入矩阵是具有缺失元素的稀疏矩阵。
在训练完成之后,或者在预定义的轮数(或预定义的时间段)之后,中央服务器110在812处计算补全的嵌入矩阵。嵌入矩阵是近似低秩矩阵,可以通过求解矩阵补全问题来补全(类似于方法400的步骤412)。具体地,矩阵补全问题可以表示如下:
这与上面描述的补全效用矩阵的矩阵补全问题类似,区别在于补全的是嵌入矩阵。该矩阵补全问题可以使用现有的矩阵补全求解器来求解,如上所述。
然后,在814处,可以使用嵌入矩阵的补全的元素来计算每个客户端102的贡献分数。例如,存储在补全的嵌入矩阵中的嵌入值可以用于计算效用函数值(如上面定义的),并且计算出的效用函数值可以用于计算所有客户端102的贡献分数(如上面定义的)。
可选地,可以使用蒙特卡洛方法来识别客户端子集的子样本,而不是直接计算所有客户端102的贡献分数。然后,可以根据基于识别的子集子样本计算的效用函数值来计算贡献分数,如前文在横向联邦学习的背景下所述。
可以说明,如果使用异步纵向联邦学习而不是同步纵向联邦学习,则可以不执行矩阵补全(在步骤812处),并且可以在没有执行矩阵补全的情况下使用嵌入矩阵来执行在步骤814处计算出的贡献分数。这是因为中央服务器110存储最近从每个客户端102接收到的局部嵌入(无论局部嵌入是何时接收到的)。虽然局部嵌入可能不是同时接收到的,但基于夏普利值的贡献分数的定义(基于时间段而不是特定的一轮训练而定义的)可以考虑这一点。此外,这意味着,对于更新自身局部嵌入更频繁的客户端102,贡献分数可能更高,因此贡献分数不仅可以反映贡献的质量,还可以反映贡献是否频繁。
可选地,在816处,中央服务器110可以识别任何低分客户端102(例如,任何贡献分数低于预定义阈值的客户端102),然后将此类低分客户端102排除在未来协作训练之外。
可选地,在818处,中央服务器110可以根据所有客户端102相应的贡献分数对所有客户端102进行计分或排名。例如,中央服务器110可以向每个客户端102计入与每个客户端102相应的贡献分数成比例的资源(例如,计算资源、通信带宽、货币资源等),以使分数较高的客户端102比分数较低的客户端102接收到更多的积分。
在各种示例中,本发明描述了用于公平地量化包括横向联邦学习系统以及纵向联邦学习系统(同步或异步)的联邦学习系统中所有客户端的贡献的方法和系统。本发明有助于公平地对客户端的贡献进行评分。在横向联邦学习中,这意味着具有相似的局部数据集(因此具有相似的效用)的客户端应具有相似的贡献分数(不取决于每轮训练中客户端的随机选择)。在纵向联邦学习中,公平性意味着具有相似效用的客户端应具有相似的贡献分数(不取决于批索引的随机选择)。
公开的方法和系统还能够评估客户端的贡献,而无需访问客户端的局部数据集或客户端的局部模型。这有助于保护数据隐私,这是联邦学习的一个重要方面。
在一些示例中,可以使用蒙特卡洛子采样方法来减少计算所有客户端的贡献分数所需的计算量。这可以有助于提高效率,尤其是在有大量的客户端(例如,几千或数百万的客户端参与)时。
尽管本发明通过按照一定的顺序执行的步骤描述方法和过程,但是可以适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可以按所描述的顺序以外的顺序执行。
尽管本发明在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本发明也针对用于执行所述方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任意组合。相应地,本发明的技术方案可以通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其上的指令,所述指令使得处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。机器可执行指令可以是代码序列、配置信息或其它数据,当执行指令时,这些数据导致机器(例如,处理器或其它处理设备)执行根据本发明示例的方法中的步骤。
在不脱离权利要求书的主题的前提下,本发明可以通过其它特定形式实施。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,在本发明的范围内可以理解适合于此类组合的特征。
还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和示出的系统、设备和流程可包括特定数量的元件/组件,但可以修改所述系统、设备和组件,以包括此类元件/组件中的更多或更少的元件/组件。例如,尽管所公开的任何元件/组件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/组件。本文中描述的主题旨在覆盖和涵盖所有适当的技术变更。
Claims (21)
1.一种计算系统,其特征在于,包括:
处理单元,用于执行指令以使所述计算系统执行以下操作:
使用多个客户端进行多轮训练,其中,所述处理单元还用于使所述计算系统通过以下方式进行每轮训练:
从所述多个客户端中的选择的客户端接收更新,其中,所述选择的客户端被选择进行每轮训练;
使用所述接收到的更新计算每轮训练的一个或多个效用函数值;
将所述计算出的一个或多个效用函数值存储在效用矩阵中,
其中,所述效用矩阵在所述多轮训练之后是具有缺失元素的稀疏矩阵;在所述多轮训练之后,通过计算补全的效用矩阵来补全所述效用矩阵的所述缺失元素;使用所述补全的效用矩阵计算所述多个客户端中的每个客户端的贡献分数。
2.根据权利要求1所述的计算系统,其特征在于,所述处理单元还用于使所述计算系统通过以下方式进行每轮训练:
向所述多个客户端发送全局模型的全局参数;
使用所述从所述选择的客户端接收到的更新来计算聚合更新;
使用所述聚合更新来更新所述全局参数。
3.根据权利要求2所述的计算系统,其特征在于,计算每轮训练中的所述一个或多个效用函数值包括:
识别所述选择的客户端中包括的一个或多个客户端子集;
对于每个识别的客户端子集:
在更新所述全局参数之前使用所述全局模型计算第一测试损失,以及在更新所述全局参数之后使用所述全局模型计算第二测试损失;
计算所述第一测试损失和所述第二测试损失之间的差值,其中,所述计算出的差值是每轮训练中每个识别的客户端子集的所述效用函数值。
4.根据权利要求1至3中任一项所述的计算系统,其特征在于,所述补全的效用矩阵包括所有轮训练中所述多个客户端中的所有可能的客户端子集的效用函数值。
5.根据权利要求1至4中任一项所述的计算系统,其特征在于,所述处理单元还用于使所述计算系统执行以下操作:
在所述多个客户端中的所有可能的客户端子集中识别子集子样本;
其中,在所述多轮训练中,仅为属于所述识别的子集子样本的客户端子集计算所述一个或多个效用函数值。
6.根据权利要求1至5中任一项所述的计算系统,其特征在于,客户端的所述贡献分数是根据下式计算的:
其中,i表示所述客户端的索引,N表示所述多个客户端的总数,T表示所述多轮训练的总数,S表示所述多个客户端中的客户端子集,Ut,S表示所述效用矩阵的所述元素(t,S)。
7.根据权利要求1至6中任一项所述的计算系统,其特征在于,所述补全的效用矩阵计算为共同组成所述补全的效用矩阵的一对分解矩阵。
8.根据权利要求7所述的计算系统,其特征在于,在计算所述多个客户端中的每个客户端的所述贡献分数时,用所述分解矩阵代替所述补全的效用矩阵。
9.根据权利要求1至8中任一项所述的计算系统,其特征在于,所述处理单元还用于使所述计算系统执行以下操作:
将任何贡献分数低的客户端排除在未来一轮或多轮训练之外。
10.根据权利要求1至9中任一项所述的计算系统,其特征在于,所述处理单元还用于使所述计算系统执行以下操作:
为每个客户端提供与所述相应的贡献分数成比例的资源。
11.一种方法,其特征在于,包括:
使用多个客户端进行多轮训练,每轮训练包括:
从所述多个客户端中的选择的客户端接收更新,其中,所述选择的客户端被选择进行每轮训练;
使用所述接收到的更新计算每轮训练的一个或多个效用函数值;
将所述计算出的一个或多个效用函数值存储在效用矩阵中,
其中,所述效用矩阵在所述多轮训练之后是具有缺失元素的稀疏矩阵;在所述多轮训练之后,通过计算补全的效用矩阵来补全所述效用矩阵的所述缺失元素;使用所述补全的效用矩阵计算所述多个客户端中的每个客户端的贡献分数。
12.根据权利要求11所述的方法,其特征在于,每轮训练还包括:
向所述多个客户端发送全局模型的全局参数;
使用所述从所述选择的客户端接收到的更新来计算聚合更新;
使用所述聚合更新来更新所述全局参数。
13.根据权利要求12所述的方法,其特征在于,计算每轮训练中的所述一个或多个效用函数值包括:
识别所述选择的客户端中包括的一个或多个客户端子集;
对于每个识别的客户端子集:
在更新所述全局参数之前使用所述全局模型计算第一测试损失,以及在更新所述全局参数之后使用所述全局模型计算第二测试损失;
计算所述第一测试损失和所述第二测试损失之间的差值,其中,所述计算出的差值是每轮训练中每个识别的客户端子集的所述效用函数值。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述补全的效用矩阵包括所有轮训练中所述多个客户端中的所有可能的客户端子集的效用函数值。
15.根据权利要求11至14中任一项所述的方法,其特征在于,还包括:
在所述多个客户端中的所有可能的客户端子集中识别子集子样本;
其中,在所述多轮训练中,仅为属于所述识别的子集子样本的客户端子集计算所述一个或多个效用函数值。
16.根据权利要求11至15中任一项所述的方法,其特征在于,客户端的所述贡献分数是根据下式计算的:
其中,i表示所述客户端的索引,N表示所述多个客户端的总数,T表示所述多轮训练的总数,S表示所述多个客户端中的客户端子集,Ut,S表示所述效用矩阵的所述元素(t,S)。
17.根据权利要求11至16中任一项所述的方法,其特征在于,所述补全的效用矩阵计算为共同组成所述补全的效用矩阵的一对分解矩阵。
18.根据权利要求17所述的方法,其特征在于,在计算所述多个客户端中的每个客户端的所述贡献分数时,用所述分解矩阵代替所述补全的效用矩阵。
19.根据权利要求11至18中任一项所述的方法,其特征在于,还包括:
将任何贡献分数低的客户端排除在未来一轮或多轮训练之外。
20.根据权利要求11至19中任一项所述的方法,其特征在于,还包括:
为每个客户端提供与所述相应的贡献分数成比例的资源。
21.一种其上编码有指令的非瞬时性计算机可读介质,其特征在于,所述指令由计算系统的处理单元执行,以使所述计算系统执行根据权利要求11至20中所述的任一种方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163242015P | 2021-09-08 | 2021-09-08 | |
US63/242,015 | 2021-09-08 | ||
PCT/CN2022/117577 WO2023036184A1 (en) | 2021-09-08 | 2022-09-07 | Methods and systems for quantifying client contribution in federated learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117999562A true CN117999562A (zh) | 2024-05-07 |
Family
ID=85506092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280060951.0A Pending CN117999562A (zh) | 2021-09-08 | 2022-09-07 | 用于量化联邦学习中的客户端贡献的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117999562A (zh) |
WO (1) | WO2023036184A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116205313B (zh) * | 2023-04-27 | 2023-08-11 | 数字浙江技术运营有限公司 | 联邦学习参与方的选择方法、装置及电子设备 |
CN117521783A (zh) * | 2023-11-23 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 联邦机器学习方法、装置、存储介质及处理器 |
CN117557870B (zh) * | 2024-01-08 | 2024-04-23 | 之江实验室 | 基于联邦学习客户端选择的分类模型训练方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544625B2 (en) * | 2020-02-03 | 2023-01-03 | Microsoft Technology Licensing, Llc | Computing system for training, deploying, executing, and updating machine learning models |
CN111553484B (zh) * | 2020-04-30 | 2023-09-08 | 同盾控股有限公司 | 联邦学习的方法、装置及系统 |
CN113222179B (zh) * | 2021-03-18 | 2023-06-20 | 北京邮电大学 | 一种基于模型稀疏化与权重量化的联邦学习模型压缩方法 |
CN113011587B (zh) * | 2021-03-24 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 一种隐私保护的模型训练方法和系统 |
CN112926897A (zh) * | 2021-04-12 | 2021-06-08 | 平安科技(深圳)有限公司 | 基于联邦学习的客户端贡献计算方法和装置 |
CN113191484B (zh) * | 2021-04-25 | 2022-10-14 | 清华大学 | 基于深度强化学习的联邦学习客户端智能选取方法及系统 |
-
2022
- 2022-09-07 WO PCT/CN2022/117577 patent/WO2023036184A1/en active Application Filing
- 2022-09-07 CN CN202280060951.0A patent/CN117999562A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023036184A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dong et al. | Federated class-incremental learning | |
CN117999562A (zh) | 用于量化联邦学习中的客户端贡献的方法和系统 | |
WO2021233030A1 (en) | Methods and apparatuses for federated learning | |
US11715044B2 (en) | Methods and systems for horizontal federated learning using non-IID data | |
CN113705610B (zh) | 一种基于联邦学习的异构模型聚合方法和系统 | |
CN116261731A (zh) | 基于多跳注意力图神经网络的关系学习方法与系统 | |
CN107688605B (zh) | 跨平台数据匹配方法、装置、计算机设备和存储介质 | |
Wei et al. | Effective mechanism for social recommendation of news | |
Ng et al. | A hierarchical incentive design toward motivating participation in coded federated learning | |
CN114219097B (zh) | 一种基于异构资源之上的联邦学习训练和预测方法及系统 | |
CN112380449B (zh) | 信息推荐方法、模型训练方法及相关装置 | |
CN111966904A (zh) | 基于多用户画像模型的信息推荐方法和相关装置 | |
Long et al. | Fedsiam: Towards adaptive federated semi-supervised learning | |
CN111695046A (zh) | 基于时空移动数据表征学习的用户画像推断方法及装置 | |
CN115631008B (zh) | 商品推荐方法、装置、设备及介质 | |
CN114490618A (zh) | 基于蚁狮算法的数据填补方法、装置、设备及存储介质 | |
Qi et al. | Graph neural bandits | |
CN109657048A (zh) | 一种应用于开源问答社区中回答者推荐方法 | |
CN110457387B (zh) | 一种应用于网络中用户标签确定的方法及相关装置 | |
CN115879564A (zh) | 用于联合学习的自适应聚合 | |
CN116232694A (zh) | 轻量级网络入侵检测方法、装置、电子设备及存储介质 | |
CN117010480A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
Nawaz et al. | K-DUMBs IoRT: Knowledge Driven Unified Model Block Sharing in the Internet of Robotic Things | |
Han et al. | Analysis and optimization of wireless federated learning with data heterogeneity | |
CN111935259A (zh) | 目标帐号集合的确定方法和装置、存储介质及电子设备 |
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 |