CN116569194A - 联合学习 - Google Patents
联合学习 Download PDFInfo
- Publication number
- CN116569194A CN116569194A CN202180072103.7A CN202180072103A CN116569194A CN 116569194 A CN116569194 A CN 116569194A CN 202180072103 A CN202180072103 A CN 202180072103A CN 116569194 A CN116569194 A CN 116569194A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- joint
- inputs
- subset
- 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
- 238000012549 training Methods 0.000 claims abstract description 343
- 238000000034 method Methods 0.000 claims description 66
- 230000002776 aggregation Effects 0.000 claims description 48
- 238000004220 aggregation Methods 0.000 claims description 48
- 238000003860 storage Methods 0.000 claims description 27
- 230000004931 aggregating effect Effects 0.000 claims description 10
- 230000001052 transient effect Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 description 51
- 230000015654 memory Effects 0.000 description 51
- 238000004590 computer program Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid 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/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/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/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)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
一些实施例指向联合学习系统。在相应的多个边缘设备的相应的本地训练数据集上训练联合模型。在迭代中,边缘设备获得当前联合模型,基于所述本地训练数据集来确定针对所述当前联合模型的模型更新,并且发送出所述模型更新。所述边缘设备通过以下操作来确定所述模型更新:将所述当前联合模型应用于训练输入以获得针对所述训练输入的至少模型输出;如果所述模型输出与对应于所述训练输入的训练输出不匹配,则将所述训练输入包括在要在所述迭代中使用的经过滤的训练输入的子集中;并且通过仅在经过滤的训练输入的子集上训练当前联合模型来确定模型更新。
Description
技术领域
本发明涉及一种用于在联合学习系统中使用的边缘设备、以及一种包括多个边缘设备的联合学习系统。本发明还涉及一种计算机实施的边缘方法、一种计算机实施的联合学习方法以及一种计算机可读介质。
背景技术
机器学习被广泛认为是在未来几十年中改善医疗保健的关键促成因素。特别地,以数字形式可获得的关于患者的数据量的增加具有以比今天发生的规模大得多的规模实现个性化医疗保健的潜力。例如,这样的数据可以由在医院中使用的物联网(IoT)设备或由在家的患者自己收集,例如,远程健康监测设备、健身手表等。
为了能够使用这种增加的数据量来提供更好的建议和预测,通常使用机器可学习模型。为了使这样的机器可学习模型达到足够的性能,重要的是它们在尽可能多的数据上以尽可能多的变化进行训练。同时,由于隐私和数据安全问题,数据越来越多地跨许多不同的设备和组织存储,而不是集中收集。因此,在医疗部门以及各种其他设置(例如,金融部门中的欺诈检测或电信部门中的通信系统设计)中,需要基于存储在相应的设备(例如,IoT设备)处的相应的本地训练数据集来训练机器学习模型。
用于在相应的本地训练数据集上训练模型的已知技术被称为联合学习(FL),其示例公开于J.等人的“Federated Optimization:Distributed OptimizationBeyond the Datacenter”(可在https://arxiv.org/abs/1511.03575处获得,并通过引用并入本文)中。在联合学习系统中,可以基于相应的边缘设备的相应的本地数据集来协作地学习共享(“联合”)模型。模型可以是预测模型,例如,在标记训练数据上训练以在给定训练输入的情况下输出对应的训练输出的模型。有趣的是,在联合学习中,可以在不将训练数据移动到特定设备/场所之外的情况下执行这样的训练。在一个变体中,迭代地执行训练,其中,联合学习系统计算模型的相应的站点/设备通过在其本地训练数据集上进行联合模型的当前版本的训练传递以确定模型更新来更新;并且其中,聚合服务器承担聚合在相应的站点处确定的模型更新的工作。
发明内容
即使参与联合学习系统的边缘设备仅对它们自己的相应的本地数据集执行训练,这种本地训练也仍然可能是在计算上昂贵且耗时的。特别地,可能需要对边缘设备处存在的所有样本做出训练传递,这能够占用大量的计算能力和时间。特别是在其中有限的计算能力和存储器可能可用的IoT设备的情况下,这是一个问题。
本发明的目的之一是提供增加效率和/或减少相应的边缘设备处的存储器消耗的联合学习技术。具体地,目的是在不需要系统的参与者之间的额外同步或额外敏感信息交换的情况下实现这一点。
本发明的第一方面提供了一种在用于训练联合模型的联合学习系统中使用的边缘设备。边缘设备可以被包括在多个边缘设备的集合中。联合学习系统可以被配置为在相应的多个边缘设备的相应的本地训练数据集上训练联合模型。边缘设备可以访问其本地训练数据集。可以标记本地训练数据集,包括多个训练输入和对应的训练输出。边缘设备可以迭代地训练联合模型。在迭代中,边缘设备可以从聚合设备接收或以其他方式获得当前联合模型。边缘设备可以基于其本地训练数据集来确定针对该当前联合模型的模型更新,并且将模型更新发送到例如聚合设备。例如,聚合设备可以聚合相应的边缘设备的模型更新,并且从而更新当前联合模型。
有趣的是,发明人设想让边缘设备在迭代中选择性地选择在该迭代中训练训练数据集的哪些项目。可以基于当前联合模型做出选择。因此,基于联合模型的当前状态,可以确定要在迭代中使用的经过滤的训练输入的子集,针对其,预期训练是最有效的。例如,如果针对给定训练输入的当前联合模型的模型输出与对应的训练输出不匹配,则训练输入可以被包括在经过滤的训练输入的子集中。作为另一示例,如果模型输出与对应训练输出匹配,但针对训练输入的当前联合模型的置信度评分低,那么训练输入也可以被包括在子集中。然而,当前联合模型针对其提供具有高置信度的正确输出的训练输入可以从子集中省去。
通过执行这种过滤,可以有效地消除冗余数据样本。有趣的是,通过使用当前联合模型来进行过滤,可以消除与来自其他方的训练数据的数据样本相比冗余的数据样本,而不需要访问来自这些其他方的训练数据。例如,基于边缘设备本身的本地数据集,训练输入可能看起来不是冗余的,例如,可能没有或只有很少的类似训练输入;但是训练输入仍然可能是冗余的,例如,因为一个或多个类似的训练输入可以被包括在另一方的训练数据集中。通过基于当前联合模型进行过滤,可以在不访问其他训练数据集或甚至特别学习存在类似的训练项目的情况下过滤掉这些项目。
通过仅在训练输入的子集上训练而不是在所有训练输入上训练,至少在迭代期间,减少了模型训练的样本的数量,从而也减少了计算的负担。仍然,因为选择了预期训练最有效的子集,换句话说,预期提供用于更新当前联合模型的最强训练信号的子集,所以对联合学习的整体进程几乎没有或没有损害,例如,几乎没有或没有丢失用于训练联合模型的相关信息。因此,例如,可能不需要或仅需要几个额外迭代,并且因此还改善了组合的所有迭代上的整体性能。或者,例如,在给定固定迭代次数的情况下,尽管节省了效率,但对所获得的模型的准确性可能几乎没有影响或没有影响。
有趣的是,在给定联合学习的规模的情况下(特别是在可用的计算能力有限的背景下,诸如在边缘设备是IoT设备的情况下),即使训练样本数量的少量减少也能够在计算能力以及训练联合模型所需的时间方面产生巨大影响。例如,在迭代中,要在该迭代中使用的经过滤的训练输入的数量可以减少至少5%或至少10%。已经利用这样的数量,可以在很大程度上减少计算的负担。有趣的是,尽管需要额外的过滤操作,但是发明人发现可以以很少的开销来执行该操作,如本文所述。
所提供的技术的另一个优点是它们可以选择性地且本地地应用。例如,边缘设备可以根据其当前工作负荷和/或剩余的电池电量在迭代中执行过滤,例如,边缘设备可以决定是否执行过滤,或在什么程度上执行过滤。例如,边缘设备可以被请求在一定量的时间内提供模型更新,并且以模型更新可以在可用时间内(例如,在给定当前工作负荷的情况下)被确定的这种方式来执行过滤。因此,例如,边缘设备可以在一次迭代中而不是在下一次迭代中执行过滤等。
为此,可能不需要全局配置,并且实际上,系统的聚合设备或其他设备甚至可能不知道给定边缘节点是否执行过滤和/或执行了多少过滤。因此,例如,另一边缘节点可能不知道边缘设备具有高工作负载并且因此必须求助于过滤,和/或边缘设备由于它们与模型已经在其上训练的训练项目的相似性而能够过滤掉大量训练输入。因此,减少了敏感数据的泄漏。由于是否执行过滤的决定可以由边缘设备在本地做出,因此也可以不需要使聚合设备适于允许在联合学习系统中进行过滤,例如,可以使用标准聚合设备。
在实施例中,边缘设备执行在其中通过在完整本地训练数据集上进行训练来确定模型更新的一次或多次迭代,之后是在其中通过仅在经过滤的训练输入的子集上进行训练来确定模型更新的一次或多次迭代,如上所述。因此,可以确保使用设备处存在的全部范围的信息。由于初始迭代对于确定优化的方向通常是特别重要的,因此发明人发现,通过使用完整数据集而不是经过滤的数据集引起的性能惩罚在前几次迭代中常常被获得更好训练的模型的益处超过。在稍后的迭代中,针对非工作训练输入调整模型变得特别重要,并且因此,过滤可能更有效。
在实施例中,边缘设备是IoT设备或其他类型的资源受限设备。例如,在各种实施例中,边缘设备的处理器系统可以被实施为片上系统(SoC)。在各种实施例中,处理器系统可以不包括图形处理单元(GPU)。在实施例中,边缘设备的存储器也可以是有限的,例如,存储器可以是片上系统的片上存储器,和/或通常可以限于512MB的存储器、1GB的存储器或4GB的存储器。在实施例中,边缘设备例如由电池和/或太阳能电池供电,例如不连接到墙壁电源。在实施例中,边缘设备是在医院中或由医院使用的设备,例如PACS或EMR服务器或其他类型的数据库服务器。这样的设备通常不具有GPU,使得训练效率较低。这样的资源约束使得本文提供的技术特别有用。
在实施例中,处理器系统被配置为通过将多个训练轮次(epoch)应用于经过滤的训练输入的子集来训练当前联合模型。在轮次中,每个经过滤的训练输入可以被使用一次以导出用于模型更新的训练信号。基于相同的过滤应用多个轮次改善了性能,因为执行过滤的次数减少,并且此外通过确保针对稳定的训练输入集合确定模型更新来改善训练稳定性。更一般地,不管是每个轮次还是每个迭代进行过滤,在迭代中执行多个轮次对于减少通信量和相应的边缘设备的模型更新需要被聚合的次数是有利的。
在实施例中,确定针对训练输入的当前联合模型的置信度评分。置信度评分可以指示例如由模型提供的模型输出为正确的概率。例如,可以使用诸如softmax评分的分类评分。如果置信度评分不超过阈值,则训练输入可以被包括在经过滤的训练输入的子集中。例如,当前联合模型可以输出与该输入的训练输出匹配的输入的模型输出,但置信度评分可以指示该模型输出的低置信度。这指示在该输入上训练当前联合模型是有益的,使得可以改善针对该输入的模型的置信度,并且可以改善针对与其类似的输入的准确度。通过不仅在它当前对其不起作用的输入上而且在它针对其具有低置信度的输入上训练当前联合模型,可以通过使用更相关的可用训练信号来更快地进行训练。
在实施例中,训练当前联合模型可以涉及:前向传递,其中,当前联合模型被应用于训练输入以确定模型输出;以及反向传递,例如反向传播,其中,基于所确定的模型输出来确定模型更新。例如,可以通过(随机)梯度下降或类似技术来执行训练。有趣的是,在这样的情况下,可能基于在前向传递中确定的模型输出来执行过滤以确定要使用的训练输入的子集。因此,执行过滤的性能开销减少,因为它与训练组合。通常,反向传递比前向传递更资源密集。由于因为过滤而使反向传递更有效,因此可以达到显著的性能改善。
在实施例中,要在迭代中使用的经过滤的训练输入的子集小于要在先前迭代(例如,紧接在前迭代)中使用的经过滤的训练输入的子集。由于模型的质量通常在训练期间改善,因此由于模型对其执行不充分而选择用于训练的输入的数量通常也可以随时间减少。例如,与先前迭代相比,所使用的输入的数量可以减少至少5%或至少10%。在下一次迭代中,与在其之前的迭代相比,该输入数量可以例如再次减少至少5%或至少10%,等等。这样,随着时间推移,可以获得越来越大的效率改善。
在实施例中,训练输入可以被包括在要在其上训练的项目的子集中,其在先前迭代中未被包括在该子集中。因此,训练输入不需要从输入集合中丢弃以永久使用。例如,在一次迭代中,当前模型可以对于某个训练输入很好地工作,而在稍后的迭代中,例如,由于来自另一边缘设备的模型更新,模型可能工作不太好,基于此可以再次选择训练输入。特别地,可以以它不取决于在先前迭代中选择了训练输入的什么子集的这种方式执行确定经过滤的训练输入的子集,例如,可以过滤整个本地数据集。通过允许稍后再次使用训练输入,改善了模型准确度。还可能仅从先前过滤的输入进行过滤。这可以使过滤本身更快,但是在许多情况下能够重新包括模型输入的益处超过了这种更快的过滤。
在实施例中,边缘设备从联合学习系统的聚合设备接收当前联合模型,并将模型更新发送到聚合设备。然后,聚合设备可以聚合相应的边缘设备的模型更新以更新当前联合模型,并在下一次迭代中将更新的模型发送到边缘设备(中的一个或多个)。这种所谓的集中式联合学习在用于将资源和通信密集型聚合任务移动到单独的聚合设备的资源受限边缘设备的设置中特别有益。即使利用中央聚合器,有趣的是,边缘设备本身可以执行过滤和/或可以在边缘设备处配置过滤,使得可以根据本地情况最佳地配置边缘设备。
在其他实施例中,可以使用分散式联合学习,其中,联合学习系统不包括聚合器设备,而是其中,边缘设备向其他边缘设备发送模型更新以及从其他边缘设备接收模型更新,并且其自身通过聚合从其他边缘设备接收的模型更新来更新当前聚合模型。
在实施例中,边缘设备可通过在本地训练数据集上训练来确定初始联合模型,并将初始联合模型发送到联合学习系统的一个或多个其他设备。通常,使用完整的本地训练数据集。联合学习系统通常假设初始模型可用,例如,在第一次迭代中作为当前联合模型分发的模型。通过让边缘设备提供该初始联合模型,系统的其他方不需要这样做,并且特别地,聚合器设备(如果使用的话)不需要有权访问本地训练数据集。
在实施例中,模型更新可以包括用于当前联合模型的经更新的参数集或用于更新当前联合模型的梯度。例如,梯度可以用于基于梯度下降(例如,随机梯度下降)的联合学习。经更新的参数集可以例如用于通过联合平均来更新当前联合模型。也可以使用用于联合学习系统的其他已知类型的模型更新。
本发明的另一方面提供了一种联合学习系统,包括如本文描述的聚合设备和多个边缘设备。其他方面提供了计算机实施的边缘方法、计算机实施的联合学习方法和计算机可读介质。关于边缘设备讨论的各种优点也适用于这些方面。
本文描述的边缘方法和联合学习方法可以应用于广泛的实际应用中。这样的实际应用包括例如医疗保健或金融中的预测模型的联合学习。
该方法的实施例可以作为计算机实施的方法被实施在计算机上,或被实施在专用硬件中,或被实施在两者的组合中。针对该方法的实施例的可执行代码可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非瞬态程序代码,以用于当所述程序产品在计算机上被运行时执行该方法的实施例。
在实施例中,所述计算机程序包括计算机程序代码,所述计算机程序代码适于当所述计算机程序在计算机上运行时执行所述方法的实施例的全部或部分步骤。优选地,计算机程序被实施在计算机可读介质上。
当前公开的主题的另一方面是一种使计算机程序可用于下载的方法。当将计算机程序上载到例如Apple的App Store、Google的Play Store或Microsoft的Windows Store中时,以及当该计算机程序可用于从这样的商店下载时使用该方面。
附图说明
本发明的这些和其他方面将根据下文所描述的实施例而显而易见,并且将参考下文所描述的实施例得到阐述。在附图中,
图1a示意性地示出了联合学习系统的实施例的示例,
图1b示意性地示出了联合学习系统的实施例的示例,
图2示意性地示出了边缘设备的实施例的示例,
图3示意性地示出了边缘方法的实施例的示例,
图4示意性地示出了联合学习方法的实施例的示例,
图5示意性地示出了根据实施例的具有包括计算机程序的可写部分的计算机可读介质,
图6示意性地示出了根据实施例的处理器系统的表示。
应当注意,在不同附图中具有相同附图标记的项目具有相同的结构特征和相同的功能,或是相同的信号。在已经解释了这样的项目的功能和/或结构的情况下,在详细描述中不需要对其进行重复解释。
附图标记列表
提供了以下附图标记列表以便于对附图的解读,并且其不应当被理解为对权利要求的限制。
100、100' 联合学习系统
101、101'、102、102'、103' 边缘设备
109 聚合设备
121 存储接口
131、131'、139 处理器系统
141、141'、149 存储器
151、159 通信接口
160 当前联合模型
161、162、163 模型更新
170 计算机网络
181、182、183 本地训练数据集
201 边缘设备
211、212 训练输入
221、222 模型输出
241、242 训练数据集的过滤
231、232 训练输出
250 模型应用
260 过滤
270 训练
290 当前联合模型
具体实施方式
尽管当前公开的主题容许许多不同形式的实施例,但是在附图中示出了一个或多个具体实施例并且将在本文中详细描述一个或多个具体实施例,应理解,本公开内容被认为是当前公开的主题的原理的示例,且并不旨在将其限于所示出和描述的具体实施例。
在下文中,为了便于理解,在操作中描述了实施例的元件。然而,将显而易见,相应的元件被布置为执行被描述为由它们执行的功能。
此外,当前公开的主题不限于实施例,如本文描述的或在互不相同的从属权利要求中记载的特征。
图1a示出了联合学习系统100的实施例的示例。联合学习系统100可以用于在多个相应的边缘设备的相应的本地训练数据集上训练联合模型。
联合学习系统100可以包括多个边缘设备,例如,至少三个或至少五个边缘设备。然而,边缘设备的数量也可以大得多,例如,至少200个或至少300个。通过示例的方式,该附图示出了两个边缘设备101、102。边缘设备也可以被称为联合学习系统100的“节点”。
边缘设备101、102具有相应的本地训练数据集181、182。边缘设备通常无权访问彼此的本地训练数据集,而且聚合设备通常也无权访问本地训练数据集。尽管如此,使用所提供的技术,可以训练联合模型。
本地数据集通常是标记数据集,例如,均包括多个训练输入和对应的训练输出的数据集。例如,训练输入可以是图像,其中,训练输出是例如那些图像的分类或分割。例如,本地数据集可以包括至多或至少1000个、或至多或至少10000个训练输入。有趣的是,即使本地数据集可能相对小,联合学习也仍然允许通过将其与其他本地数据集组合而从其导出准确模型。例如,训练输入的总数可以是至少100000个或至少1000000个。
联合模型可以由多个可训练参数(例如,至多或至少10000个或至少100000个可训练参数)参数化。例如,联合模型可以包括神经网络,其可以包括例如卷积层等。例如,神经网络可以具有至少2、5、10、15、20或40个隐藏层或更多个等。
联合学习系统可以用于相对于组合训练数据集优化可训练参数,例如,可以优化参数以鼓励模型根据训练输入来推断训练输出。有趣的是,在联合学习系统100中,这可以在不在一个地方收集相应的本地训练数据集的情况下实现。
在联合学习系统100中执行的训练可以是端到端的,例如,从训练模型输入和对应标签(输出)的相应的标记训练数据集开始,可以获得用于在给定输入的情况下预测标签的模型。在训练过程期间可能不需要预训练或人工监督。
通常,联合模型可以是任何类型的机器可学习模型。例如,联合模型可以是神经网络(也称为人工神经网络),例如深度神经网络或卷积神经网络。其他类型的模型是可能的,例如,模型可以是支持向量机(SVM)或随机森林。联合模型可以是图像处理模型(例如,图像分类或图像分割模型),但其他任务也是可能的。通过联合学习来训练这样的模型的技术本身是已知的,并且可以如本文描述的那样进行调整。例如,联合模型可以可通过梯度下降(例如,随机梯度下降)来训练,在这种情况下,例如联合随机梯度下降或联合平均可以用于训练。
在该示例中,联合学习系统100还包括聚合设备109。具有聚合设备109的这种联合学习系统100可以被称为集中式联合学习系统。
可以迭代地执行联合模型的训练。例如,训练可以进行至少十次或至少二十次迭代。在迭代中,聚合设备109可以将当前联合模型160发送到边缘设备101、102中的一个、多个或全部。边缘设备101、102可以接收当前联合模型160,基于其本地训练数据集181、182确定当前联合模型的模型更新161、162,并将模型更新161、162发送到聚合设备109。聚合设备可以接收模型更新161、162,并且通过聚合所述更新来更新当前联合模型。在下一次迭代中,经更新的当前联合模型可以再次发送到一个或多个边缘设备等。训练可以执行预定数量的迭代,或直到达到通常由聚合设备评价的停止准则,例如直到模型收敛并达到最佳性能。有趣的是,由于对本地数据集的训练,联合学习可以保护数据的隐私。
关于这种集中式联合学习的许多实施选择本身在本领域中是已知的并且可以被应用。例如,当前联合模型被发送到的边缘设备的集合可以随每次迭代而变化。联合学习也可以是异步的,例如,可以使用分裂学习。在这个意义上,迭代地执行训练仅仅意味着聚合设备对当前联合模型执行重复更新,并且边缘设备重复接收当前模型并为其确定模型更新;例如,如果聚合设备仍然等待另一边缘设备发送关于联合模型的先前版本的模型更新,则聚合设备可能将当前联合模型发送到边缘设备。
此外,尽管在该附图中聚合设备109与边缘设备101、102分开,但是边缘设备之一也可能与聚合设备组合。
边缘设备101可以包括处理器系统131、存储器141和通信接口151。边缘设备还可以包括存储接口121以用于访问其本地训练数据集181。例如,如附图所示,存储接口可以被配置为与数据存储设备通信。数据存储设备可以是系统110的本地存储器,例如本地硬盘驱动器或存储器。数据存储设备可以是非本地存储设备,例如云存储设备。数据存储设备也可以是存储器141。处理器系统131可以被配置为在迭代中通过以下操作来迭代地训练联合模型:获得当前联合模型,特别是通过从聚合设备109接收当前联合模型160;基于本地训练数据集确定针对当前联合模型的模型更新161;并且将模型更新发送到联合学习系统的一个或多个其他设备,特别是聚合设备109。
还如在其他地方所讨论的,边缘设备101可以是资源受限设备,例如,处理器系统131可以被实施为片上系统和/或具有有限的存储器131(例如,至多512MB),和/或可以不具有到墙壁电源的连接和/或可以不具有GPU。边缘设备101可以是物联网(IoT)设备,例如,具有用于从传感器(例如,相机、运动传感器等)获得传感器数据的传感器接口并且被配置为从传感器连续地收集传感器数据以用于本地和/或远程分析的设备。例如,训练数据可以基于这样的传感器数据。边缘设备101还可以是医学终端,例如,包括用于检查医学记录和/或图像的屏幕,并且包括用于从EMR(电子医学记录)系统、从医学成像设备(例如,CT、MRI或X射线设备)等访问医学数据的接口。边缘设备101可以是提供对训练数据181是其一部分的医学数据的数据库的访问的EMR或PACS服务器。
聚合设备109可以包括与边缘设备101的相应的部件类似的处理器子系统139、存储器149和通信接口159。存储器149可以用于存储表示当前联合模型的模型数据,例如,当前联合模型的参数集。处理器系统139可以被配置为在迭代中通过以下操作来迭代地训练联合模型:将当前联合模型发送到一个或多个边缘设备;从所述一个或多个边缘设备接收模型更新,并且通过聚合所述模型更新来更新所述当前联合模型。
在一些实施例中,聚合设备109可以通过使用联合平均并且具体地通过使用FedProx(在https://arxiv.org/abs/1812.06127中公开并且通过引用并入本文)来更新当前联合模型。在一些实施例中,聚合设备109可以使用匹配的平均来更新当前联合模型。在一些实施例中,通过在加密下执行平均(例如,使用同态加密)来进一步改善隐私。
联合学习系统100的设备(包括边缘设备101、102和聚合设备109)可以通过计算机网络170与彼此、外部存储设备、输入设备、输出设备和/或一个或多个传感器通信。计算机网络170可以是互联网、内联网、LAN、WLAN等。计算机网络170可以是互联网。设备可以包括相应的通信接口151、159,其被布置为根据需要在系统内或在系统外部进行通信。例如,连接接口可以包括连接器,例如有线连接器(例如以太网连接器、光连接器等)或无线连接器(例如天线,例如Wi-Fi、4G或5G天线)。
设备101、102、109的运行可以在处理器系统(例如一个或多个处理器电路,例如微处理器)中实施,其示例在本文中示出。图2示出了可以是处理器系统的功能单元的功能单元。例如,图2可以用作处理器系统的可能功能组织的蓝图。在这些附图中,(一个或多个)处理器电路未与单元分开示出。例如,图2中所示的功能单元可以全部或部分地以存储在设备101处(例如,在设备101的电子存储器中)并且可由设备101的微处理器执行的计算机指令来实施。在混合实施例中,功能单元部分地以硬件来实施(例如作为协处理器,例如神经网络协处理器),并且部分地以在设备101、102、109上存储和运行的软件来实施。联合模型的参数和/或训练数据可以本地存储在设备101、102、109处,或可以存储在云存储设备中。
图1b示意性地示出了联合学习系统100'的实施例的示例。该示例基于图1a的示例,并且关于该附图描述的各种替代方案在此处也适用。通过示例的方式,示出了三个边缘设备101'-103',每个边缘设备有权访问它们自己的相应的本地数据集181、182、183。系统100'可以用于在相应的边缘设备的本地数据集181-183上训练联合模型。例如,边缘设备101'、102'可以基于图1a的边缘设备101、102。在图1a中。特别地,边缘设备101'可以包括:用于访问本地数据集181的存储接口121;处理器系统131';存储器141';以及用于通过类似于图1a中的通信网络170与包括其他边缘设备102'、103'的其他设备通信的通信接口151。
在该示例中,联合学习系统100'不包括聚合设备。也就是说,联合学习系统是分散式联合学习系统。
类似于系统100,系统100'中的联合学习可以通过由系统的边缘设备(例如,边缘设备101')执行的迭代训练来进行。在迭代中,边缘设备101'可以获得当前联合模型;基于本地训练数据集181确定针对当前联合模型的模型更新161;并且将模型更新161发送到联合学习系统的一个或多个其他设备。有趣的是,在该示例中,边缘设备101'不是通过从聚合设备接收当前联合模型而是通过维护其自己的当前联合模型的本地版本来获得当前联合模型;从联合学习系统的其他边缘设备102'、103'接收针对当前联合模型的一个或多个模型更新162、163;并且通过聚合所述模型更新162、163来更新当前联合模型。
如上所述,模型更新162-163可以由设备101'从所有其他边缘设备102'、103'或子集(其每次迭代可以不同)接收,并且可以由设备101'发送到所有其他边缘设备102'、103'或子集(其每次迭代也可以不同并且需要不对应于从其接收更新的设备的集合)。还在这种情况下,训练的迭代性质是指边缘设备101'基于由设备本身和/或其他设备确定的模型更新来重复地更新其当前联合模型,并且不暗示同步。分散式联合学习可以消除单个故障点。有趣的是,由于可以在边缘设备处本地应用各种提供的技术,因此可以在不需要同步的情况下改善性能。
图2示意性地示出了用于在联合学习系统(例如,图1的联合学习系统100或图2的联合学习系统100')中使用的边缘设备201的实施例的示例。例如,边缘设备201可以基于图1a的边缘设备101或图1b的边缘设备101'。
边缘设备201可以有权访问本地训练数据集。本地训练数据集可以包括多个训练输入。通过示例的方式,示出了两个训练输入211、212(例如,图像)。本地训练数据集可以是标记训练数据集,并且因此,边缘设备201可以有权访问与训练输入相对应的训练输出(例如,相应的图像的分类或分割)。示出了分别对应于训练输入211、212的两个训练输出231、232。
还如关于图1a和图1b所讨论的,边缘设备201可以通过以下操作来贡献于联合模型的训练:获得当前联合模型290,基于本地训练数据集确定针对当前联合模型290的模型更新,并且将模型更新发送到联合学习系统的一个或多个其他设备。
为了确定模型更新,模型应用250可以将当前联合模型290应用于相应的训练输入211、212以获得相应的模型输出221、222。通常,模型应用250涉及将模型290应用于所有训练输入。
作为模型应用250的结果,除了模型输出221-222之外,还可以获得针对相应的模型输出的置信度评分(也称为分类评分;附图中未示出),例如,置信度评分可以指示模型输出为正确的概率,例如,分类或其他离散模型输出为错误的概率,或针对连续模型输出的置信度区间等。如下面进一步讨论的,模型应用250可以任选地被执行为训练270模型的前向传递,在这种情况下,模型应用250还可以例如输出中间值,例如神经网络节点激活,如训练270的稍后反向传递所需的。
有趣的是,可以执行过滤260以确定要在当前迭代中使用的经过滤的训练输入的子集以用于确定针对当前联合模型290的模型更新,例如,以发送到联合学习系统的其他方。过滤可以基于将确定的模型输出221、222与训练模型输出231、232进行比较。可以与模型应用250并行地执行过滤260。该附图示出了过滤结果241、242,其中,训练输入241被包括在子集中,如通过检查标志所图示的,并且其中,训练输入242不被包括在子集中,如通过叉号所指示的。
可以执行过滤260以便选择训练270最有效的训练输入的子集,例如,针对其,预期当前联合模型270的性能的最大改善。
特别地,对于给定的训练输入,可以确定模型输出与对应于训练输入的训练输出不匹配。例如,对于模型输入211,可以确定所确定的模型输出221与训练模型输出231不匹配。例如,不匹配可以意味着模型输出与训练输出不同,例如,在分类的情况下是不同的类别。或者,不匹配可以意味着模型输出与训练输出相差超过阈值的差异,例如,在回归模型的情况下。在这样的情况下,由于模型不为该训练输入提供正确或足够正确的输出,因此该训练输入可以被包括在要训练的输入的子集中,使得可以改善该模型针对该训练输入的性能。
作为另一示例,过滤260可以基于用于训练输入211-212的当前联合模型290的置信度评分。例如,如果置信度评分不超过阈值,则训练输入211-212可以被包括在经过滤的训练输入的子集241-242中。因此,即使针对训练模型输入的所确定的模型输出与训练模型输出匹配,该模型输入也仍然可以被包括在用于训练的项目的子集中。这样,模型可以被训练为改善其关于该模型输入的确定性。例如,对于从0(无置信度)到1(完全置信度)的标度上的置信度评分,阈值可以是至多或至少0.3,或至多或至少0.7。
例如,可以使用以下决策流程来决定是否在要使用的训练输入的子集中包括训练输入:
确定的模型输出是否匹配训练模型输出?
如果否->包括在子集中
如果是->置信度评分高于给定阈值,例如0.5?
如果否->包括在子集中
如果是->不包括在子集中
代替于对所有匹配模型输入使用固定阈值,也可能使用取决于匹配程度的阈值,例如训练模型输出与所确定的模型输出之间的差异。
更一般地,可以基于训练输入对用于当前联合模型290的训练270的损失函数的贡献来做出对是否将训练输入包括在要使用的训练输入的子集中的决定。例如,损失函数可以包括相应的训练输入的损失之和。例如,如果训练输入的损失贡献超过给定阈值,或属于针对给定k的前k个损失,则可以包括训练输入。注意,使用损失函数通常意味着包括所确定的模型输出与训练模型输出不匹配的模型输入,并且还可以意味着包括置信度评分不超过阈值的训练模型输入。
在许多情况下,通过将固定准则应用于相应的模型输入来执行过滤260。然而,也可能基于要在训练270中使用的项目的期望数量自适应地执行过滤260。例如,训练输入的期望数量可以基于可用于训练的时间量(例如,由聚合设备经由到边缘设备的信号指定)和/或边缘设备201的当前资源利用,例如,CPU工作负荷、可用的电池电量等。可以执行自适应过滤,例如,通过应用固定准则,但是然后在达到期望数量的训练输入时停止过滤260(并且还可能地,模型应用250);或通过使用基于模型应用250的结果的准则,例如通过选择针对当前联合模型的损失函数的前N个贡献者,或这些策略的组合。还可能将一定程度的随机性应用于过滤,例如,可以以一定概率包括不满足准则的项目。这可以有益于训练的稳定性。
例如,可以将模型重复地应用250于训练输入211-212,并且可以做出相应的训练输入的过滤260,直到获得给定数量的经过滤的训练输入,或直到已经达到对损失函数的给定组合贡献,等等。
在许多实施例中,模型应用250和过滤260也应用于在先前迭代中未被选择用于训练的项目。因此,例如,训练输入可以被包括在由过滤260确定的子集中,该训练输入未被包括在先前迭代的经过滤的训练输入的这样的子集中。例如,联合模型的先前版本可能已经正确地分类了模型输入,但是由于例如由另一边缘设备进行的更新,当前联合模型290现在可能对其进行错误分类。有趣的是,通过不使过滤基于先前的过滤,仍然可以校正联合模型的这样新引入或重新引入的准确度问题。
仍然,在许多实施例中,要在迭代中使用的经过滤的训练输入的子集小于要在先前迭代中使用的经过滤的训练输入的子集,例如,比紧接在其之前的迭代中小至少5%或至少10%。这可能是因为当前联合模型290随时间变得更准确,并且因此对模型的更少输入满足用于被选择的准则。因此,由于所提供的技术,训练的效率可以随时间而改善。
不需要在所有迭代中应用过滤260。在一些实施例中,在整个本地训练数据集211-212上执行在训练270中执行一次或多次迭代以确定模型更新。例如,这些可以是训练的初始一次或多次迭代,例如,至多或至少两次、至多或至少三次、或至多或至少五次迭代。然后,例如,可以在所有后续迭代中应用过滤260。
在没有过滤的情况下的这样的迭代的数量通常是预定义的,但是它也可以基于模型的性能,例如,一旦当前联合模型290已经在本地数据集或相应方的本地数据集的组合上达到足够的性能或训练稳定性,则边缘设备201或联合学习系统的聚合设备(如果存在)可以决定停止在完整本地数据集211-212上的训练。聚合设备可以被配置为发送指示是否执行过滤260的信号,边缘设备被配置为根据该信号进行动作。
对完整的本地数据集执行初始迭代具有以下优点:在训练中考虑整个数据集,尤其是在初始阶段,其中,具有模型参数的良好初始估计是特别重要的。具有良好的初始估计可以减少稍后所需的迭代的数量,并且因此可以更有效,即使初始迭代可能花费更多资源。而且,由于预期初始模型不是非常准确的,因此可以预期过滤260在第一次迭代中仅过滤掉很少的输入,使得使用完整数据集的性能惩罚相对小。在一些实施例中,这可以超过模型应用250和/或过滤260的额外成本。而且,模型参数的良好初始估计可能更可能实现准确的模型,例如,可以减少陷入局部最优的机会。
然而,还存在不需要对完整数据集执行初始迭代的情况。例如,联合模型的训练可以是先前训练的模型(例如,由联合学习系统或在其他地方训练的)的更新(有时称为微调)。在这样的情况下,在训练开始时联合模型的模型性能可能已经足够好,和/或在早期训练期间可能已经考虑了本地训练数据集,使得在第一训练迭代期间可能已经执行了过滤260。
在给定过滤241-242的情况下,可以执行当前联合模型290的训练270。有趣的是,可以仅在经过滤的训练输入的子集上训练当前联合模型290。由于训练在正在训练的项目的数量上缩放,因此改善了效率。仍然,因为输入是基于其针对训练的相关性(例如,基于其对训练期间优化的损失函数的贡献)来选择的,因此训练在改善联合模型方面仍然是有效的。
训练270可以使用本身已知的训练技术来实施。例如,可以使用梯度下降,例如随机梯度下降。例如,可以使用如在Kingma和Ba的“Adam:AMethod for StochasticOptimization”(可在https://arxiv.org/abs/1412.6980处获得,并通过引用并入本文)中所公开的Adam优化器。如已知的,这样的优化方法可以是启发式的和/或达到局部最优。训练迭代可以包括多个轮次,其中轮次一次经过要训练的数据。在轮次内,训练可以逐个实例地或分批地执行,例如,至多或至少64个或至多或至少256个实例。
训练270可以包括将多个训练轮次应用于经过滤的训练输入的子集。也就是说,可以通过过滤260来确定子集,并且可以在多个训练轮次中使用该过滤。这具有为更有效的优点,因为不需要每个轮次重复过滤,同时还改善训练稳定性。例如,轮次的数量可以是至多或至少50个,或至多或至少100个。通常,轮次的数量是预定义的并且在迭代中保持恒定,但是也可能基于可用时间和/或资源的量来决定轮次的数量,例如,结合经过滤的输入的数量。然后每次迭代最多执行一次过滤,但是在发送模型更新之前对当前联合模型多次执行过滤和训练也是可能的。
在各种实施例中,训练270可以包括:前向传递,其中,当前联合模型被应用于训练输入以确定模型输出;以及反向传递,其中,基于所确定的模型输出来确定模型更新。例如,这是针对梯度下降及其变体的情况。在这样的情况下,可以组合训练270和模型应用250的前向传递。例如,模型应用250可以包括执行训练的前向传递,包括存储中间值以供稍后在反向传递中使用。可以基于前向传递的结果来执行过滤260,并且然后可以仅对在过滤260中选择的那些输入执行训练270的反向传递。这样,获得了性能改善,因为模型不需要在前向方向上应用两次,同时由于过滤而使得反向方向更快。
作为训练270的结果,可以获得针对当前联合模型290的模型更新。模型更新可以采用本身已知的用于联合学习的各种形式。例如,模型更新可以包括用于当前联合模型的经更新的参数集、或用于更新当前联合模型的梯度。
然后,可以将所确定的模型更新发送到联合学习系统的一个或多个其他设备,例如,在集中式联合学习系统的情况下的聚合设备,或在分散式联合学习系统的情况下的一个或多个边缘设备。在一些实施例中,边缘设备可以被配置为不直接发送模型更新,而是等待一时间量,例如,直到自从接收到当前联合模型起的给定时间量已经过去,或等待随机的时间量。这样,可以减少关于已经被过滤掉的项目的数量并且因此例如关于边缘设备的本地数据集上的当前联合模型的性能的泄漏。
在一些实施例中,边缘设备201可以被配置为通过在本地训练数据集211-212上训练来确定初始联合模型。这样,可以获得用于在联合学习系统中使用的初始模型。此处,通常不进行过滤。边缘设备201可以将初始联合模型发送到联合学习系统的一个或多个其他设备。
在所描述的设备(例如,设备101、109、101'和201)的各种实施例中,可以从各种替代方案中选择通信接口。例如,接口可以是到局域网或广域网(例如,互联网)的网络接口、到内部或外部数据存储设备的存储接口、键盘、应用接口(API)等。
设备101、101'、109、201可以具有用户接口,其可以包括众所周知的元件,诸如一个或多个按钮、键盘、显示器、触摸屏等。用户接口可以被布置用于适应用于配置系统、训练联合模型或将所得到的联合模型应用于新模型输入等的用户交互。
存储设备可以被实施为电子存储器(比如闪存)或磁存储器(比如硬盘等)。存储设备可以包括一起构成存储器141、141'、149的多个离散存储器或由存储接口121访问的存储设备。存储设备可以包括临时存储器,比如RAM。存储设备可以是云存储设备。
通常,设备101、101'、109、201均包括运行存储在系统处的适当软件的微处理器;例如,该软件可能已经被下载和/或存储在对应的存储器中,例如,诸如RAM的易失性存储器或者诸如闪存的非易失性存储器。备选地,系统可以全部或部分地在可编程逻辑中实施,例如,作为现场可编程门阵列(FPGA)。这些系统可以全部或部分地实施为所谓的专用集成电路(ASIC),例如,为其特定用途定制的集成电路(IC)。例如,电路可以用CMOS实施,例如,使用硬件描述语言,诸如Verilog、VHDL等。特别地,系统可以包括用于训练联合模型的电路。
处理器电路可以以分布式方式实施,例如,作为多个子处理器电路。存储设备可以分布在多个分布式子存储设备上。存储器的部分或全部可以是电子存储器、磁存储器等。例如,存储设备可以具有易失性和非易失性部分。存储设备的部分可能是只读的。
图3示意性地图示了参与用于训练联合模型的联合学习系统的计算机实施的边缘方法300的实施例的示例。联合学习系统可以包括多个边缘设备。作为该方法的部分,可以在相应的多个边缘设备的相应的本地训练数据集上训练联合模型。该方法可以由边缘设备执行,例如由如本文描述的边缘设备101、101'或201执行。联合学习系统可以例如是例如如关于图1a所描述的集中式联合学习系统或例如如关于图1b所描述的分散式联合学习系统。
该方法可以包括访问310边缘设备的本地训练数据集。本地训练数据集可以包括多个训练输入和对应的训练输出。
该方法可以包括迭代地训练320联合模型。迭代训练的迭代可以包括获得321当前联合模型。迭代还可以包括基于本地训练数据集来确定322针对当前联合模型的模型更新。迭代还可以包括将模型更新发送326到联合学习系统的一个或多个其他设备。
在迭代中确定322模型更新可以包括将当前联合模型应用323于训练输入以获得针对训练输入的至少模型输出。确定322还可以包括,如果模型输出与对应于训练输入的训练输出不匹配,则将训练输入包括324在要在迭代中使用的经过滤的训练输入的子集中。确定还可以包括通过仅在经过滤的训练输入的子集上训练当前联合模型来确定325模型更新。
图4示意性地图示了由联合学习系统训练联合模型的计算机实施的联合学习方法400的实施例的示例。联合学习系统可以包括多个边缘设备。作为该方法的部分,可以在相应的多个边缘设备的相应的本地训练数据集上训练联合模型。方法400可以包括迭代地训练联合模型。联合学习系统可以例如是例如如关于图1a所描述的集中式联合学习系统或例如如关于图1b所描述的分散式联合学习系统。
为了迭代地训练联合模型,方法400可以包括:在联合学习系统的边缘设备处,获得421当前联合模型;基于本地训练数据集来确定422针对当前联合模型的模型更新;并且将模型更新发送426到联合学习系统的一个或多个其他设备。
在迭代中确定422模型更新可以包括将当前联合模型应用423于训练输入以获得针对训练输入的至少模型输出。确定422还可以包括,如果模型输出与对应于训练输入的训练输出不匹配,则将训练输入包括424在要在迭代中使用的经过滤的训练输入的子集中。该方法还可以包括通过仅在经过滤的训练输入的子集上训练当前联合模型来确定425模型更新。
方法400还可以包括:在联合学习系统的一个或多个设备处,从联合学习系统的边缘设备接收430一个或多个模型更新;并且通过聚合所述模型更新来更新440当前联合模型。例如,在集中式联合学习系统中,接收430和更新440可以由聚合设备执行,而在分散式联合学习系统中,接收430和更新440可以由边缘设备中的一个或多个执行。
另一种设想的方法是如本文描述的操作联合学习系统的聚合设备的计算机实施的方法。该方法可以包括在迭代中通过以下操作来迭代地训练联合模型:将当前联合模型发送到一个或多个边缘设备;从所述一个或多个边缘设备接收模型更新;并且通过聚合所述模型更新来更新当前联合模型。
所描述的方法可以是计算机实施的。例如,发送和接收当前联合模型,发送和接收模型更新和/或访问本地训练数据集可以使用通信接口(例如,电子接口、网络接口、存储器接口等)来完成。例如,迭代地训练联合模型和/或聚合模型更新可以使用电子计算设备(例如,计算机)来完成。
执行方法的许多不同的方式是可能的,如对于本领域技术人员而言将是显而易见的。例如,步骤的顺序可以以所示的顺序执行,但是步骤的顺序可以改变或一些步骤可以并行地执行。此外,在各步骤之间,可以插入其他方法步骤。插入步骤可以表示诸如在本文中所描述的方法的细化,或可以与该方法无关。例如,一些步骤可以至少部分地并行执行。此外,给定步骤可能在下一步骤开始之前尚未完全完成。
该方法的实施例可以使用软件来执行,其包括用于使处理器系统执行方法300和/或400的指令。软件可能仅包括由系统的特定子实体采取的那些步骤。软件可以存储在合适的存储介质中,诸如,硬盘、软盘、存储器、光盘等。该软件可以作为信号沿着线或无线或使用数据网络(例如,互联网)发送。该软件可以可用于下载和/或在服务器上远程使用。该方法的实施例可以使用比特流来执行,该比特流被布置为配置可编程逻辑,例如,现场可编程门阵列(FPGA),以执行该方法。
将意识到,当前公开的主题还扩展到计算机程序,特别是载体上或载体中的计算机程序,其适于将当前公开的主题付诸实践。该程序可以采取源代码、目标代码、代码中间源和目标代码的形式,例如,部分编译的形式,或者该程序可以采取适用于实施该方法的实施例的任何其他形式。涉及计算机程序产品的实施例包括对应于所阐述的方法中的至少一种方法的处理步骤中每个的计算机可执行指令。这些指令可以细分为子例程和/或存储在一个或多个可以静态或动态链接的文件中。涉及计算机程序产品的另一实施例包括对应于所阐述的系统和/或产品中至少一个的设备、单元和/或部分中每个的计算机可执行指令。
图5示出了具有可写部分1010的计算机可读介质1000。可写部分101可以包括计算机程序1020,计算机程序1020包括用于使得处理器系统执行根据实施例的边缘方法、联合学习方法或操作聚合设备的方法的指令。计算机程序1020可以作为物理标记或通过对计算机可读介质1000的磁化被嵌入在计算机可读介质1000上。然而,任何其他适合的实施例也是能设想到的。此外,将意识到,尽管计算机可读介质1000在此处被示出为光盘,但是计算机可读介质1000可以是任何适合的计算机可读介质,诸如硬盘、固态存储器、闪存等,并且可以是非可记录或可记录的。计算机程序1020包括用于使得处理器系统执行所述方法的指令。作为包括计算机程序1020的替代或补充,可写部分1010可以包括表示根据本文描述的方法训练的联合模型的模型数据。例如,模型数据可以包括如本文描述的那样训练的可学习参数,例如神经网络权重等。
图6示出了根据边缘设备或聚合设备的实施例的处理器系统1140的示意性表示。处理器系统包括一个或多个集成电路1110。图6b示意性地示出了一个或多个集成电路1110的架构。电路1110包括处理单元1120,例如,CPU,其用于运行计算机程序组件来执行根据实施例的方法和/或实施其模块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的部分可以是只读的。电路1110可以包括通信元件1126,例如,天线、连接器或两者,等等。电路1110可以包括专用集成电路1124,以用于执行该方法中定义的处理的部分或全部。处理器1120、存储器1122、专用IC1124和通信元件1126可以经由互连1130(比如总线)彼此连接。处理器系统1110可以被布置用于分别使用天线和/或连接器进行接触和/或无接触通信。
例如,在实施例中,处理器系统1140(例如,边缘设备或聚合设备)可以包括处理器电路和存储器电路,该处理器被布置为运行存储在存储器电路中的软件。例如,处理器电路可以是Intel Corei7处理器、ARM Cortex-R8等。在实施例中,处理器电路可以是ARMCortex M0。存储器电路可以是ROM电路或者非易失性存储器,例如,闪存。存储器电路可以是易失性存储器,例如,SRAM存储器。在后一种情况下,该设备可以包括非易失性软件接口,例如,硬盘驱动器、网络接口等。其被布置用于提供软件。
将显而易见的是,被描述为被存储在存储设备中的各种信息可以被存储在存储器中。在这方面,存储器也可以被认为构成“存储设备”,并且存储设备也可以被认为是“存储器”。各种其他布置将是显而易见的。此外,存储器和存储设备都可以被认为是“非瞬态机器可读介质”。如本文所使用的,术语“非瞬态”将被理解为排除瞬态信号,但是包括所有形式的存储设备,包括易失性和非易失性存储器两者。
尽管设备被示为包括每个描述的部件之一,但是在各种实施例中,各种组件可以是重复的。例如,处理器可以包括多个微处理器,所述多个微处理器被配置为独立地执行本文描述的方法,或者被配置为执行本文描述的方法的步骤或子例程,使得多个处理器协作来实现本文描述的功能。此外,在设备在云计算系统中实施的情况下,各种硬件部件可以属于单独的物理系统。例如,处理器可以包括第一服务器中的第一处理器和第二服务器中的第二处理器。
应当注意,上述实施例说明而不是限制当前公开的主题,并且本领域技术人员将能够设计许多替代实施例。
在权利要求中,括号中的任何附图标记都不应被解释为对权利要求的限制。词语“包括”及其变形的使用不排除权利要求中所述的那些之外的元件或步骤的存在。元件前面的词语“一”或“一个”不排除多个这样的元件的存在。诸如“至少一个”的表达当在元素列表之前时表示从列表中选择所有元素或元素的任何子集。例如,表达“A、B和C中的至少一个”应当被理解为仅包括A、仅包括B、仅包括C、A和B两者、A和C两者、B和C两者、或者A、B和C的全部。当前公开的主题可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实施。在列举了部分的设备权利要求中,这些部分中的若干可以由同一项硬件来实施。尽管在互不相同的从属权利要求中记载了特定措施,但是这并不指示不能有利地使用这些措施的组合。
在权利要求中,括号中的附图标记指的是示例性实施例的附图中的附图标记或实施例的公式,因此增加了权利要求的可理解性。这些附图标记不应被解释为对权利要求的限制。
Claims (15)
1.一种在用于训练联合模型的联合学习系统中使用的边缘设备,所述边缘设备被包括在多个边缘设备的集合中,其中,所述联合模型是在相应的多个边缘设备的相应的本地训练数据集上训练的,所述边缘设备包括:
-存储接口,其用于访问所述边缘设备的所述本地训练数据集,所述本地训练数据集包括多个训练输入和对应的训练输出;
-处理器系统,其被配置为在迭代中通过以下操作来迭代地训练所述联合模型:获得当前联合模型,基于所述本地训练数据集来确定针对所述当前联合模型的模型更新,并且将所述模型更新发送到所述联合学习系统的一个或多个其他设备,其中,在所述迭代中确定所述模型更新包括:
-将所述当前联合模型应用于训练输入以获得针对所述训练输入的至少模型输出;
-如果所述模型输出与对应于所述训练输入的训练输出不匹配,则将所述训练输入包括在要在所述迭代中使用的经过滤的训练输入的子集中;并且
-通过仅在经过滤的训练输入的所述子集上训练所述当前联合模型来确定所述模型更新。
2.根据权利要求1所述的边缘设备,其中,所述处理器系统被配置为执行在其中通过在完整本地训练数据集上进行训练来确定模型更新的一次或多次迭代,之后是在其中通过仅在经过滤的训练输入的子集上进行训练来确定模型更新的一次或多次迭代。
3.根据任一前述权利要求所述的边缘设备,其中,所述边缘设备是IoT设备。
4.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统被配置为通过将多个训练轮次应用于经过滤的训练输入的所述子集来训练所述当前联合模型。
5.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统还被配置为:确定针对所述训练输入的所述当前联合模型的置信度评分;并且如果所述置信度评分不超过阈值,则将所述训练输入包括在经过滤的训练输入的所述子集中。
6.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统被配置为在前向传递和反向传递中训练所述当前联合模型,在所述前向传递中,所述当前联合模型被应用于训练输入以确定模型输出,在所述反向传递中,基于所确定的模型输出来确定所述模型更新;并且其中,处理器子系统被配置为基于在所述前向传递中确定的所述模型输出来确定要在所述迭代中使用的经过滤的训练输入的所述子集。
7.根据任一前述权利要求所述的边缘设备,其中,要在所述迭代中使用的经过滤的训练输入的所述子集小于要在先前迭代中使用的经过滤的训练输入的子集。
8.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统被配置为在经过滤的训练输入的所述子集中包括未被包括在先前迭代的经过滤的训练输入的子集中的训练输入。
9.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统被配置为:从所述联合学习系统的聚合设备接收所述当前联合模型,并且将所述模型更新发送到所述聚合设备。
10.根据任一前述权利要求所述的边缘设备,其中,所述处理器系统被配置为:通过在所述本地训练数据集上进行训练来确定初始联合模型,并且将所述初始联合模型发送到所述联合学习系统的一个或多个其他设备。
11.根据任一前述权利要求所述的边缘设备,其中,所述模型更新包括用于所述当前联合模型的经更新的参数集或者用于更新所述当前联合模型的梯度。
12.一种用于训练联合模型的联合学习系统,所述联合学习系统包括多个边缘设备和聚合设备,其中,所述联合模型是在相应的多个边缘设备的相应的本地训练数据集上训练的,
-其中,边缘设备被配置为在迭代中通过以下操作来迭代地训练所述联合模型:从所述聚合设备接收当前联合模型,基于所述本地训练数据集来确定针对所述当前联合模型的模型更新,并且将所述模型更新发送到所述聚合设备,其中,在所述迭代中确定所述模型更新包括:
-将所述当前联合模型应用于训练输入以获得针对所述训练输入的至少模型输出;
-如果所述模型输出与对应于所述训练输入的训练输出不匹配,则将所述训练输入包括在要在所述迭代中使用的经过滤的训练输入的子集中;并且
-通过仅在经过滤的训练输入的所述子集上训练所述当前联合模型来确定所述模型更新。
-其中,所述聚合设备被配置为在迭代中通过以下操作来迭代地训练所述联合模型:将当前联合模型发送到一个或多个边缘设备;从所述一个或多个边缘设备接收模型更新,并且通过聚合所述模型更新来更新所述当前联合模型。
13.一种参与用于训练联合模型的联合学习系统的计算机实施的边缘方法,所述联合学习系统包括多个边缘设备,其中,所述联合模型是在相应的多个边缘设备的相应的本地训练数据集上训练的,所述方法包括:
-访问边缘设备的本地训练数据集,所述本地训练数据集包括多个训练输入和对应的训练输出;
-在迭代中通过以下操作来迭代地训练所述联合模型:获得当前联合模型,基于所述本地训练数据集来确定针对所述当前联合模型的模型更新,并且将所述模型更新发送(326)到所述联合学习系统的一个或多个其他设备,其中,在所述迭代中确定所述模型更新包括:
-将所述当前联合模型应用于训练输入以获得针对所述训练输入的至少模型输出;
-如果所述模型输出与对应于所述训练输入的训练输出不匹配,则将所述训练输入包括在要在所述迭代中使用的经过滤的训练输入的子集中;并且
-通过仅在经过滤的训练输入的所述子集上训练所述当前联合模型来确定所述模型更新。
14.一种由联合学习系统训练联合模型的计算机实施的联合学习方法,所述联合学习系统包括多个边缘设备,其中,所述联合模型是在相应的多个边缘设备的相应的本地训练数据集上训练的,所述方法包括通过以下操作来迭代地训练所述联合模型:
-在边缘设备处:获得当前联合模型,基于所述本地训练数据集来确定针对所述当前联合模型的模型更新,并且将所述模型更新发送到所述联合学习系统的一个或多个其他设备,其中,在所述迭代中确定所述模型更新包括:
-将所述当前联合模型应用于训练输入以获得针对所述训练输入的至少模型输出;
-如果所述模型输出与对应于所述训练输入的训练输出不匹配,则将所述训练输入包括在要在所述迭代中使用的经过滤的训练输入的子集中;并且
-通过仅在经过滤的训练输入的所述子集上训练所述当前联合模型来确定所述模型更新;
-在所述联合学习系统的一个或多个设备处,从所述联合学习系统的边缘设备接收一个或多个模型更新,并且通过聚合所述模型更新来更新所述当前联合模型。
15.一种计算机可读介质,包括表示以下各项中的一项或多项的瞬态或非瞬态数据:
-指令,其在由处理器系统运行时使所述处理器系统执行根据权利要求13所述的计算机实施的方法;
-模型数据,其表示依据根据权利要求14所述的计算机实施的方法训练的联合模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063094561P | 2020-10-21 | 2020-10-21 | |
US63/094,561 | 2020-10-21 | ||
PCT/EP2021/078378 WO2022084125A1 (en) | 2020-10-21 | 2021-10-14 | Federated learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116569194A true CN116569194A (zh) | 2023-08-08 |
Family
ID=78179414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180072103.7A Pending CN116569194A (zh) | 2020-10-21 | 2021-10-14 | 联合学习 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230394320A1 (zh) |
EP (1) | EP4232956A1 (zh) |
CN (1) | CN116569194A (zh) |
WO (1) | WO2022084125A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3143855A1 (en) * | 2020-12-30 | 2022-06-30 | Atb Financial | Systems and methods for federated learning on blockchain |
US11749261B2 (en) * | 2021-03-10 | 2023-09-05 | Google Llc | Mixed client-server federated learning of machine learning model(s) |
US20220300618A1 (en) * | 2021-03-16 | 2022-09-22 | Accenture Global Solutions Limited | Privacy preserving cooperative learning in untrusted environments |
-
2021
- 2021-10-14 US US18/032,838 patent/US20230394320A1/en active Pending
- 2021-10-14 WO PCT/EP2021/078378 patent/WO2022084125A1/en active Application Filing
- 2021-10-14 CN CN202180072103.7A patent/CN116569194A/zh active Pending
- 2021-10-14 EP EP21791348.2A patent/EP4232956A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP4232956A1 (en) | 2023-08-30 |
US20230394320A1 (en) | 2023-12-07 |
WO2022084125A1 (en) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rajagopal et al. | Deep Convolutional Spiking Neural Network optimized with Arithmetic optimization algorithm for lung disease detection using chest X-ray images | |
JP7322044B2 (ja) | レコメンダシステムのための高効率畳み込みネットワーク | |
Thabtah et al. | Data imbalance in classification: Experimental evaluation | |
Reddy et al. | A deep neural networks based model for uninterrupted marine environment monitoring | |
CN110852447B (zh) | 元学习方法和装置、初始化方法、计算设备和存储介质 | |
CN116569194A (zh) | 联合学习 | |
CN114787832A (zh) | 联邦机器学习的方法和服务器 | |
CN110647920A (zh) | 机器学习中的迁移学习方法及装置、设备与可读介质 | |
CN111950596B (zh) | 一种用于神经网络的训练方法以及相关设备 | |
WO2022116424A1 (zh) | 交通流预测模型训练方法、装置、电子设备及存储介质 | |
CN116011510A (zh) | 用于优化机器学习架构的框架 | |
WO2021089013A1 (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
Ma et al. | A general framework for diagnosis prediction via incorporating medical code descriptions | |
CN111582371B (zh) | 一种图像分类网络的训练方法、装置、设备及存储介质 | |
US20190197425A1 (en) | Deep convolutional factor analyzer | |
US20190094941A1 (en) | Power state control of a mobile device | |
Seo et al. | Closing the gap between deep neural network modeling and biomedical decision-making metrics in segmentation via adaptive loss functions | |
CN115151917A (zh) | 经由批量归一化统计的域泛化 | |
CN115240843A (zh) | 基于结构因果模型的公平性预测系统 | |
Prasanna et al. | Heart Disease Prediction using Reinforcement Learning Technique | |
CN116525117B (zh) | 一种面向数据分布漂移检测与自适应的临床风险预测系统 | |
Li et al. | Cyclic annealing training convolutional neural networks for image classification with noisy labels | |
CN117010480A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
WO2023278705A1 (en) | Systems and processes for improving medical diagnoses | |
US11710068B2 (en) | Labeling a dataset |
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 |