技术领域
[0003] 本公开总体上涉及机器学习,更具体地涉及基于多个客户端设备的联邦学习。
相关背景技术
[0004] 随着移动技术的进步,从可靠性、延迟和隐私的角度来看,完全在设备上托管机器学习模型可能会产生重要影响。具体地,隐私保护约束可能要求用户数据留在其本地设备上。因此,在用户设备上执行模型适配以解决服务器端训练数据与本地设备上接收的实际数据之间的任何不匹配问题具有挑战性。
[0005] 联邦学习(Federated Learning,FL)可以允许多个移动设备协作地训练机器学习模型,同时将训练数据保持在设备上。传统的FL训练通常训练用于所有移动设备的单个全局模型。可以训练全局模型并将其提供给客户端设备。每个客户端设备可以在其本地数据集上进行额外训练。通常,大多数用户仅具有少量的训练样本,这使得提高针对多个单独客户端设备的一机器学习模型的性能具有挑战性。
[0006] 如此,提供一种高效且可靠的机制以能够获得附加的训练数据从而提高针对多个客户端设备的一机器学习模型的性能可能是有益的。
具体实施方式
[0026] 下面现将参考附图更全面地描述本发明的一些实施例,附图中示出了本发明的一些但不是全部的实施例。实际上,本发明的各种实施例可以以许多不同的形式来体现,并且不应被解释为局限于本文阐述的实施例。相同的附图标记始终指代相同的元件。如本文所使用的,根据本发明的实施例的术语“数据”、“内容”、“信息”和类似术语可以互换地用于指能够被发送、接收和/或存储的数据。此外,如本文中使用的术语“示例性”不是用来传达任何定性的评估,而仅仅是用来传达示例的说明。因此,不应使用任何此类术语来限制本发明的实施例的精神和范围。
[0027] 如本文所定义的,指代非暂态的、物理或有形的存储介质(例如,易失性或非易失性存储器设备)的“计算机可读存储介质”可以区别于指代电磁信号的“计算机可读传输介质”。
[0028] 如本文所定义的,元宇宙(Metaverse)可以表示沉浸式虚拟空间或世界,在沉浸式虚拟空间或世界中,可以在网络中使用多个设备,其中,网络中的多个用户之间或者与虚拟空间或世界中的环境之间可以但不必存在一个或多个社交连接。元宇宙或元宇宙网络可以与三维(three‑dimensional,3D)虚拟世界、在线游戏(例如,视频游戏)、一个或多个内容项相关联,例如,该一个或多个内容项诸如为图像、视频、非同质化通证(Non‑Fungible Token,NFT),其中,内容项可以例如用数字货币(例如,加密货币)和其他合适的货币来购买。在一些示例中,元宇宙或元宇宙网络可以能够生成和提供沉浸式虚拟空间,其中,远程用户可以在虚拟空间内进行社交、协作、学习、购物和/或参与各种其他活动,包括通过使用增强现实/虚拟现实/混合现实。
[0029] 近年来,诸如联邦学习(FL)等的分布式学习技术的使用有所增加。FL已经在例如智能键盘建议和语音识别等许多领域有所应用。具体地,FL将训练过程分发在大量的客户端设备中,其中,每个客户端设备从本地私有数据中学习并且独立地计算模型更新,然后将这些更新上传到中央服务器进行聚合。更新后的模型随后可以被传送到每个客户端设备,之后可以重复该过程,直到收敛为止。
[0030] 传统的FL训练框架通常会产生一种适用于每个人的单一全局模式。然而,FL在存在异构本地数据分布的情况下面临着挑战,这在实际应用中很常见。个性化的FL解决了这样的性能问题,并且可以减轻潜在的客户端漂移(client drift)。在个性化FL中,每个客户端可以具有其自己的个性化设备上模型以用于推理。通常,在许多FL应用中,可以采用两步式全局FL训练,然后进行局部微调以实现个性化。该过程可以从使用FL框架训练全局模型开始。在模型收敛后,每个客户端设备可以进行进一步的设备上的自适应,这可能涉及在其本地数据集上进行若干次迭代的额外训练。
[0031] 在实践中,长尾流量(long‑tail traffic)模式可能非常常见,并且每个客户端的多个训练样本通常存在高度偏态分布。因此,当大多数用户只有少量的训练样本时,在本地数据不足的情况下对大型全局FL模型进行微调可能无法提高单个客户端的性能,或者可能倾向于出现过度拟合。
[0032] 根据本公开的示例方面,系统可以将FL客户端划分成不同的群组。该系统可以利用这样的聚类信息来帮助减轻不同客户端之间的异构性。因此,该系统可以增强每个群组中的客户端之间的群组内知识共享的个性化性能。在这里,同一群组中的客户端可以具有相似的特征,并且群组级别的知识共享可以有益于个性化。这些群组可以是自然存在的,或者也可以是从数据推理出来的。例如,可以基于客户端设备的用户的人口统计属性和/或客户端设备的属性(例如,客户端设备的位置)来生成客户端设备群组。还可以通过对不同设备的模型参数进行聚类来确定客户端设备的群组,以基于客户端设备的模型参数之间的矢量差异对落入确定的同一聚类内的设备进行分组。例如,可以对不同通信设备的模型参数应用聚类应用(例如,k均值(k‑means)应用),以将通信设备(例如,客户端)划分成不同的群组。这种知识共享也可以在FL框架中进行,因为原始数据通常需要保留在/保持在设备上。
[0033] 本文描述了一种用于执行群组个性化FL的系统。方法可以包括多个阶段。在第一阶段,可以实施FL训练,直到收敛为止。所得到的全局模型可以在所有客户端之间共享。在第二阶段中,FL客户端可以被划成若干不同的群组。然后,对于每个群组中的客户端,可以使用来自该群组中的客户端的本地数据在FL框架中进一步对训练后的全局FL模型进行微调。因此,每个群组中的客户端可以共享特定的模型。在第三阶段,该系统可以执行本地个性化。给定基于第二阶段获得的每个群组特定模型,该系统可以使用对应群组的每个客户端的本地训练数据来进一步对群组特定模型进行微调。所得到的个性化模型可以用于每个客户端的设备上的推理。例如,可以利用个性化模型来做出与个性化模型相关联的确定/预测。
[0034] 联邦学习或协作学习可以允许中央服务器将ML模型分发到多个本地站点(即,联邦节点),以基于这些本地站点上的相应本地数据样本来训练这些ML模型。所分发的ML模型可以基于相应的本地数据在相应的本地站点上被单独训练。训练后的模型和一些参数可以被发送回中央服务器,以被聚集到全局模型中。因此,联邦学习可以允许对ML模型和/或AI模型进行训练,而无需将站点数据发送到其他站点或中央服务器,从而保护数据隐私。然而,传统的联邦学习可能缺乏用于追踪和实施数据共享策略的机制,并且在许多方面可能不是最适合于训练ML模型和/或AI模型。例如,一些站点可能具有相似的数据,这些数据如果结合起来,可能会使训练更有效。然而,由于传统的联邦学习可能缺乏用于追踪数据共享策略的机制,所以即使相应的策略允许共享这种数据,传统的联邦学习也可能无法使数据在这些站点之间进行共享。
[0035] 此外,联邦学习可以是一种机器学习技术,该机器学习技术可以在持有本地数据样本的多个分散的计算系统(例如,服务器、边缘设备、位于不同的本地站点的计算机)上训练一个或多个应用(Application,APP)(例如,ML模型),而无需在彼此之间交换它们的数据样本。这种方法可能与传统的集中式机器学习技术以及经典的分散式方法形成对比,其中,在传统的集中式机器学习技术中,所有的数据样本都被上传到一个服务器,该经典的分散式方法通常假定本地数据样本的分布相同。联邦学习可以使多个参与者(例如,中央服务器和多个联邦节点(即,本地站点))能够构建通用且稳健的机器学习模型,而无需在这些参与者之间共享数据,从而解决诸如数据隐私、数据安全、数据访问权和对异构数据的访问等的关键问题。为了确保最终的中央机器学习模型的良好任务性能,联邦学习可以依赖于迭代过程,该迭代过程包括称为联邦学习轮(federated learning round)的客户端‑服务器交互的原子集合。该过程的每一轮可以包括向参与的本地站点发送当前全局模型,在这些本地站点上训练本地模型以在每个本地站点处产生潜在的模型更新的集合,以及将这些本地更新聚集和处理成单个全局更新并将这些更新应用于全局模型。
[0036] 在本公开的一些方面中,联邦节点或本地站点可以指具有可以在联邦学习过程期间使用的一个或多个本地计算设备的实体。术语“联邦节点”和“本地站点”可以以可互换的方式进行使用。本地计算设备可以接收来自中央服务器的需要训练的模型,并且基于本地计算设备对其具有访问权的本地数据样本对这些模型进行本地训练。联邦学习系统可以包括多个联邦节点,这些联邦节点可以通过通信网络连接到中央服务器,并且可以接收来自中央服务器的ML模型和/或AI模型。在本公开的一些方面中,全局模型可以指被训练或可以被训练的ML模型或AI模型。全局模型可以驻留在中央服务器上,并且可以利用初始参数或当前参数被分发到一个或多个联邦节点(例如,本地站点)。在将模型发送或分发到这些本地站点之后,这些模型可以被称为本地模型(托管在相应的本地站点上)。可以基于这些本地站点的本地数据样本在各个本地站点上训练这些本地模型。全局模型可以基于来自可以在各个本地站点上训练的多个本地模型的聚集结果来更新其参数。在本公开的一些方面中,联邦学习系统可以统称为网络设备,例如,诸如中央服务器和位于不同本地站点的本地计算设备以及可以用于联邦学习的任何其他系统。
[0037] 应当理解的是,本文描述的方法和系统不限于特定方法、特定部件或特定实施方式。还应当理解的是,本文中所使用的术语仅用于描述特定实施例的目的,而不旨在是限制性的。
[0038] 示范性系统架构
[0039] 现在参考图1,图1为根据示例性实施例的系统的框图。如图1所示,系统100可以包括一个或多个通信设备105、110、115和120以及网络设备160。此外,系统100可以包括任何合适的网络,例如,诸如网络140。在一些示例中,网络140可以是元宇宙网络。在其他示例中,网络140可以是能够在网络内的多个实体之间或与网络相关联的多个实体之间提供内容和/或促进通信的任何合适的网络。作为示例而非限制,网络140的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网(Virtual Private Network,VPN)、局域网(Local Area Network,LAN)、无线LAN(Wireless Local Area Network,WLAN)、广域网(Wide Area Network,WAN)、无线WAN(WWAN)、城域网(Metropolitan Area Network,MAN)、互联网的一部分、公共交换电话网(Public Switched Telephone Network,PSTN)的一部分、蜂窝电话网络或这些网络中的两者或更多者的组合。网络140可以包括一个或多个网络140。
[0040] 链路150可以将通信设备105、110、115和120连接到网络140、网络设备160和/或彼此连接。本公开考虑了任何适当的链路150。在一些示例性实施例中,一个或多个链路150可以包括一个或多个有线(例如,诸如数字用户线路(Digital Subscriber Line,DSL)或有线电缆数据服务接口规范(Data Over Cable Service Interface Specification,DOCSIS))链路、无线(例如,诸如Wi‑Fi或全球微波接入互操作性(Worldwide Interoperability for Microwave Access,WiMAX))链路、或光(例如,诸如同步光纤网络(Synchronous Optical Network,SONET)或同步数字体系(Synchronous Digital Hierarchy,SDH))链路。在一些示例性实施例中,一个或多个链路150可以各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路150或者两个或更多个这种链路150的组合。链路150不必在整个系统100中都是相同的。在一个或多个方面中,一个或多个第一链路150可以与一个或多个第二链路150不同。
[0041] 在一些示例性实施例中,通信设备105、110、115、120可以是如下电子设备:该电子设备包括硬件、软件、或嵌入式逻辑部件或者两个或更多个这种部件的组合,并且能够执行由通信设备105、110、115、120实施或支持的合适的功能。作为示例而非限制,通信设备105、110、115、120可以是计算机系统,例如,诸如台式计算机、笔记本或膝上型计算机、上网本、平板计算机(例如,智能平板电脑)、电子书阅读器、全球定位系统(global positioning system,GPS)设备、相机、个人数字助理(Personal Digital Assistant,PDA)、手持式电子设备、蜂窝电话、智能手机、智能眼镜、增强现实/虚拟现实设备、智能手表、充电盒或者任何其他合适的电子设备或它们的任何合适的组合。通信设备105、110、115、120可以使一个或多个用户能够访问网络140。通信设备105、110、115、120可以使一个或多个用户能够与其他通信设备105、110、115、120处的其他用户通信。
[0042] 网络设备160可以由系统100的其他部件直接访问或经由网络140进行访问。作为示例而非限制,通信设备105、110、115、120可以使用网络浏览器或与网络设备160相关联的本地应用(例如,移动社交网络应用、消息收发应用、另一适当的应用或它们的任意组合)直接地或经由网络140来访问网络设备160。在特定示例性实施例中,网络设备160可以包括一个或多个服务器162。每个服务器162可以是单一服务器或者横跨多个计算机或多个数据中心的分布式服务器。服务器162可以具有各种类型,例如但不限于诸如网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器或它们的任何组合。在特定示例性实施例中,每个服务器162可以包括用于执行由服务器162实施或支持的合适功能的硬件、软件、或嵌入式逻辑部件或者两个或更多个这种部件的组合。在特定示例性实施例中,网络设备160可以包括一个或多个数据存储库(data store)164。数据存储库164可以用于存储各种类型的信息。在特定示例性实施例中,可以根据特定的数据结构来组织存储在数据存储库164中的信息。在特定示例性实施例中,每个数据存储库164可以是关系数据库、列式数据库、关联数据库(correlation database)或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开也考虑了任何合适类型的数据库。特定示例性实施例可以提供这样的接口:接口使通信设备105、110、115、120和/或另一系统(例如,第三方系统)能够管理、检索、修改、添加或删除存储在数据存储库164中的信息。
[0043] 网络设备160可以向系统100的用户提供与其他用户通信和交互的能力。在特定示例性实施例中,网络设备160可以向用户提供对由网络设备160支持的各种类型的项目(item)或对象采取行动的能力。在特定示例性实施例中,网络设备160能够链接各种实体。作为示例而非限制,网络设备160可以使多个用户能够彼此交互以及接收来自其他系统(例如,第三方系统)或其他实体的内容,或者允许用户通过应用编程接口(Application Programming Interface,API)或其他通信通道与这些实体交互。
[0044] 应当指出的是,尽管图1示出了一个网络设备160以及四个通信设备105、110、115和120,但是在不脱离本公开的精神和范围的情况下,任何适当数量的网络设备160以及通信设备105、110、115和120可以是图1的系统的一部分。
[0045] 示例性联邦学习系统
[0046] 图2示出了示例联邦学习系统200。作为示例而非限制,联邦学习系统200可以包括网络设备210(例如,中央服务器)和多个本地计算设备(例如,本地计算设备220、230和240)。每个本地计算设备(例如,本地计算设备220、230和240)可以通过网络连接250连接到网络设备210。一些本地计算设备(例如,本地计算设备230和240)也可以通过相应的网络连接(例如,网络连接251)彼此连接。在一些示例中,网络设备210可以是网络设备160的示例,并且本地计算设备220、230、240可以是通信设备105、110、115和120中的一者或多者的示例。
[0047] 在该示例中,全局模型211(例如,机器学习模型和/或人工智能模型)可以托管在网络设备210上。在联邦学习过程期间,网络设备210可以识别可能需要训练的ML模型或AI模型,并且可以在模型同步过程期间将处于当前状态的ML模型或AI模型发送到多个本地计算设备(例如,本地计算设备220、230和240)中的一个或多个本地计算设备。在图2的示例中,网络设备210可以发送/提供给本地计算设备220、230、240的模型可以分别是本地模型221、231、241。处于当前状态的模型可以是在训练之前具有初始模型参数的模型,或者可以是具有可能在先前或最近的训练迭代期间被部分训练的当前模型参数的模型。在一些示例方面中,可以在模型的训练之前应用随机初始化来对模型参数进行初始化。作为响应,每个通信设备(例如,客户端设备)中的本地模型可以响应于最近的训练迭代,用当前全局模型来进行更新。响应于接收来自网络设备210的模型,每个本地计算设备(例如,本地计算设备
220、230和240)可以访问其本地数据样本(例如,本地数据样本222、232和242),并且可以基于所访问的本地数据样本对相应的本地模型(例如,本地模型221、231和241)进行本地训练。因此,不同的本地模型(例如,本地模型221、231和241)可以响应于使用相应的本地计算设备的本地数据样本在相应的本地计算设备上/由相应的本地计算设备训练而具有不同的模型参数值(本文也称为“梯度”)。在一些示例中,本地数据样本222、232、242在本文中可以被称为本地数据222、232、242。在本地数据样本222、232、242彼此不同的情况下,在这些本地数据样本上进行相同的全局模型训练可能使得对应于本地模型(例如,本地模型221、231和241)的模型参数值不同。
[0048] 响应于确定不同的参数值,本地计算设备(例如,本地计算设备220、230和240)可以向网络设备210发送训练后的参数,例如,诸如梯度。在一些示例方面中,深度学习应用可以用于基于本地数据样本来训练本地模型,以获得新的模型参数。可以响应于在训练数据上进行的训练来实现新的模型参数。网络设备210可以将来自这些本地计算设备(例如,本地计算设备220、230和240)的训练结果聚合,并且可以将训练后的参数集成到全局模型211。因此,可以在网络设备210不访问这些本地计算设备(例如,本地计算设备220、230和
240)上的本地数据样本(例如,本地数据样本222、232和242)的情况下来训练全局模型211。
[0049] 在本公开的一些示例方面中,联邦学习可以用于训练ML模型和/或AI模型,同时保护数据安全和数据隐私并且减少网络上的数据传输(例如,使与深度学习相关联的大量训练数据的传输最小化)。与传统的分布式学习不同,联邦学习可以在无需将数据从其托管计算系统中暴露出来情况下,能够在异构数据集上进行训练。联邦学习可以包括多个步骤,例如,将模型分发到本地设备,在相应的本地设备上训练相应的本地模型,将训练结果从本地设备发送到网络设备(例如,诸如中央服务器),并且将不同模型的训练结果聚合到全局模型。然而,用有限信息(其可以是在本地设备(例如,联邦节点)之间共享的数据)对模型进行有效的训练可能存在许多挑战。此外,在传统的联邦学习中,中央服务器可以将来自多个本地设备的训练结果聚合,然后可以生成一个全局模型,而无需访问来自这些本地设备的任何数据。然而,训练结果中的信息可能是有限的。例如,通常情况下,大多数用户可能只有少量的训练样本,这可能使针对各个客户端设备的机器学习模型的性能改进具有挑战性。
[0050] 示例性通信设备
[0051] 图3示出了通信设备(例如,诸如用户设备(UE)30)的示例性硬件/软件架构的框图。在一些示例性方面中,UE 30可以是通信设备105、110、115、120和/或本地计算设备220、230、240中的任何一者。在一些示例性方面中,UE 30可以是计算机系统,例如,诸如台式计算机、笔记本或膝上型计算机、上网本、平板计算机(例如,智能平板)、电子书阅读器、GPS设备、相机、个人数字助理、手持式电子设备、蜂窝电话、智能手机、智能眼镜、增强现实/虚拟现实设备、智能手表、充电盒或任何其他合适的电子设备。如图3所示,UE 30(在本文也称为“节点30”)可以包括处理器32、不可移动的存储器44、可移动的存储器46、扬声器/传声器
38、小键盘40、显示器、触摸板和/或指示器(或显示器/触摸板/一个或多个用户接口)42、电源48、全球定位系统(GPS)芯片组50和其他外围设备52。电源48可以能够接收电力,以用于向UE 30供应电力。例如,电源48可以包括交流到直流(AC到DC)转换器,允许电源48连接/插入到AC电接收器和/或通用串行总线(Universal Serial Bus,USB)端口,以用于接收电力。
UE 30还可以包括摄像头54。在示例性实施例中,摄像头54可以是被配置为感测在一个或多个边界框内出现的图像/视频的智能摄像头。UE 30还可以包括通信电路,例如收发器34和发送/接收元件36。应当理解的是,UE 30可以在保持与实施例一致的同时包括前述元件的任何子组合。
[0052] 处理器32可以是专用处理器、数字信号处理器(Digital Signal Processor,DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)电路、任何其他类型的集成电路(Integrated Circuit,IC)和状态机等。通常,处理器32可以执行存储在节点30的存储器(例如,不可移动的存储器44和/或可移动的存储器46)中的计算机可执行指令,以执行节点的各种所需功能。例如,处理器32可以执行信号编码、数据处理、功率控制、输入/输出处理和/或使节点30能够在无线或有线环境中操作的任何其他功能。处理器32可以运行应用层程序(例如,浏览器)和/或无线电接入层(Radio Access‑Layer,RAN)程序和/或其他通信程序。处理器32还可以(例如,诸如在接入层和/或应用层处)执行诸如认证、安全密钥协议和/或密码操作等的安全操作。
[0053] 处理器32耦合到其通信电路(例如,收发器34和发送/接收元件36)。处理器32可以通过执行计算机可执行指令来控制通信电路,以使节点30经由其所连接到的网络与其他节点通信。
[0054] 发送/接收元件36可以被配置为向其他节点或联网装置发送信号或接收来自其他节点或联网装置的信号。例如,在示例性实施例中,发送/接收元件36可以是被配置为发送和/或接收射频(Radio Frequency,RF)信号的天线。发送/接收元件36可以支持各种网络和空中接口,例如无线局域网(WLAN)、无线个人局域网(Wireless Personal Area Network,WPAN)和蜂窝等。在又一示例性实施例中,发送/接收元件36可以被配置为发送和/或接收RF信号和光信号这两者。应当理解的是,发送/接收元件36可以被配置为发送和/或接收无线信号或有线信号的任何组合。
[0055] 收发器34可以被配置为调制由发送/接收元件36发送的信号,以及解调由发送/接收元件36接收的信号。如上所述,节点30可以具有多模式能力。因此,收发器34可以包括多个收发器,以用于使节点30能够经由多种无线电接入技术(Radio Access Technology,RAT)进行通信,例如,无线电接入技术诸如为通用地面无线电接入(Universal Terrestrial Radio Access,UTRA)和电气与电子工程师协会(IEEE 802.11)。
[0056] 处理器32可以访问来自任何类型的适当存储器(例如,不可移动的存储器44和/或可移动的存储器46)的信息以及将数据存储在任何类型的适当存储器中。例如,如上所述,处理器32可以在其存储器(例如,不可移动的存储器44和/或可移动的存储器46)中存储会话上下文。不可移动的存储器44可以包括RAM、ROM、硬盘或任何其他类型的存储器存储设备。可移动的存储器46可以包括用户识别模块(Subscriber Identity Module,SIM)卡、记忆棒和安全数字(SD)存储卡等。在其他示例性实施例中,处理器32可以访问来自在物理上没有位于节点30上(例如,位于服务器或家用计算机上)的存储器的信息以及将数据存储在该存储器中。
[0057] 处理器32可以接收来自电源48的电力,并且可以被配置为将电力分发和/或控制到节点30中的其他部件。电源48可以是用于为节点30供电的任何合适的设备。例如,电源48可以包括一个或多个干电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li‑ion)等)、太阳能电池和燃料电池等。处理器32还可以耦合到GPS芯片组50,该GPS芯片组可以被配置为提供关于节点30的当前位置的位置信息(例如,经度和纬度)。应当理解的是,节点30可以通过任何适当的位置确定方法来获取位置信息,同时保持与示例性实施例一致。
[0058] UE 30还可以包括本地个性化设备47,该本地个性化设备可以识别或访问与一个或多个本地模型(例如,本地模型221、231、241)相关联的本地数据(例如,本地数据样本222、232、242),并且可以确定与一个或多个本地模型相关联的一个或多个训练后的模型参数(例如,梯度)。可以将所确定的一个或多个训练参数发送到网络设备(例如,图4的计算系统400)。在这方面,网络设备可以利用训练后的模型参数来将UE 30划分或分配给可以具有相似模型(例如,本地模型221、本地模型231、本地模型241)的通信设备(例如,其他UE 30)的特定群组,使得该群组中的每个通信设备可以能够通过从该群组中的其他通信设备的训练记录学习来利用关于与该群组中的每个通信设备的训练参数相关联的训练记录的附加信息。以这种方式,网络设备可以将训练后的模型参数(例如,群组中的每个通信设备的本地训练数据)提供给该群组中的通信设备,以使该群组中的每个通信设备能够增加/增强存储在该群组中的相应通信设备上的特定个性化模型,如下面更全面地描述的。在一些示例方面中,UE 30的模型(例如,本地模型221、本地模型231、本地模型241)可以例如是图9的一个或多个机器学习模型930。
[0059] 示例性计算系统
[0060] 图4是示例性计算系统400的框图。在本公开的一些示例方面中,网络设备160和/或网络设备210可以是计算系统400。计算系统400可以包括计算机或服务器,并且可以主要由计算机可读指令来控制,这些计算机可读指令可以是软件的形式,无论这种软件在哪里被存储或访问,也无论以任何方式被存储或访问。这种计算机可读指令可以在处理器(例如,中央处理单元(Central Processing Unit,CPU)91)内执行,以使计算系统400运行。在许多工作站、服务器和个人计算机中,中央处理单元91可以由被称为微处理器的单芯片CPU来实施。在其他机器中,中央处理单元91可以包括多个处理器。协处理器81可以是与主CPU 91不同的可选的处理器,该协处理器执行附加功能或辅助CPU 91。
[0061] 在运行中,CPU 91获取指令、对指令进行解码和执行指令,并且经由计算机的主数据传输路径、系统总线80向其他资源传输信息和传输来自其他资源的信息。这种系统总线连接计算系统400中的部件,并且定义用于数据交换的介质。系统总线80通常包括用于发送数据的数据线、用于发送地址的地址线以及用于发送中断和用于操作系统总线的控制线。这种系统总线80的一个示例是外围部件互连(Peripheral Component Interconnect,PCI)总线。在示例性方面中,计算系统400可以包括群组FL管理器98,该群组FL管理器可以向通信设备(例如,UE 30)提供一个或多个初始模型,以使通信设备能够在各自的通信设备上本地存储模型。群组FL管理器98可以基于通信设备识别或访问与通信设备的一个或多个本地模型(例如,本地模型221、231、241)相关联的本地数据(例如,本地数据样本222、232、242),来接收与通信设备的本地存储的模型相关联的一个或多个确定的训练后的模型参数(例如,梯度)。
[0062] 群组FL管理器98可以利用训练后的模型参数来将一个或多个通信设备划分或分配给可以具有相似模型(例如,本地模型221、本地模型231、本地模型241)的、特定群组/集合的通信设备(例如,其他UE 30),使得群组中的每个通信设备可以能够通过从该群组中的其他通信设备的训练记录学习来利用关于与该群组中的每个通信设备的训练参数相关联的训练记录的附加信息。在这方面,群组FL管理器98可以将训练参数(例如,该群组中的每个通信设备的本地训练数据)提供给该群组中的各通信设备,以使该群组中的每个通信设备能够增加/增强其存储在该群组中的相应通信设备上的特定个性化模型,如下面更全面地描述的。在本公开的一些示例方面中,通信设备的模型(例如,本地模型221、本地模型231、本地模型241)可以是例如图9的一个或多个机器学习模型930。
[0063] 耦合到系统总线80的存储器包括RAM 82和ROM 93。这种存储器可以包括允许存储和检索信息的电路。ROM 93通常包含不容易修改的存储数据。存储在RAM 82中的数据可以由CPU 91或其他硬件设备读取或改变。对RAM 82和/或ROM 93的访问可以由存储器控制器92来控制。存储器控制器92可以提供地址转换功能,该地址转换功能在指令被执行时将虚拟地址转换成物理地址。存储器控制器92还可以提供存储器保护功能,该存储器保护功能将系统内的各进程隔离开,并将系统进程与用户进程隔离开。因此,在第一模式下运行的程序可能只访问由其自己进程的虚拟地址空间映射的存储器;该程序不能访问另一个进程的虚拟地址空间内的存储器,除非已经在多个进程之间建立了存储器共享。
[0064] 此外,计算系统400可以包含外围设备控制器83,该外围设备控制器负责将来自CPU 91的指令传送到外围设备(例如,打印机94、键盘84、鼠标95和磁盘驱动器85)。
[0065] 由显示器控制器96控制的显示器86用于显示由计算系统400生成的视觉输出。这种视觉输出可以包括文本、图形、动画图形和视频。显示器86可以用基于阴极射线管(Cathode‑ray Tube,CRT)的视频显示器、基于液晶显示器(Liquid‑crystal Display,LCD)的平板显示器、基于气体等离子体的平板显示器或触摸板来实施。显示器控制器96包括生成发送到显示器86的视频信号所需的电子部件。
[0066] 此外,计算系统400可以包含通信电路(例如,诸如网络适配器97),该通信电路可以用于将计算系统400连接到外部通信网络(例如,图3中的通信网络12),以使计算系统400能够与该网络的其他节点(例如,UE 30)通信。
[0067] 示例性系统操作
[0068] 由于与共享模型相关联的原始数据通常不会离开本地设备并且保持存储在本地设备上,因此联邦学习可以通过在用户的本地设备上以分散的方式训练共享模型来帮助促进数据隐私性。
[0069] 然而,在应用或系统的大多数用户可能具有少量的训练样本作为训练数据的情况下,这种少量的训练样本对于基于与用户的本地设备的本地模型相关联的不充分的个人数据(这些个人数据通常可以用于促进对大型全局联邦学习模型的微调)来微调大型全局联邦学习模型可能没有用处。
[0070] 如此,本公开的示例方面可以促进在用户的通信设备之间划分/分配群组,以使群组中的通信设备能够利用从其群组中的其他通信设备的训练记录中学习的附加知识/信息,以增强可以本地存储在通信设备上的其自己的专门定制的个性化模型。
[0071] 现在参考图5,图5提供了示出联邦学习训练的示意图。在图5中,可以应用联邦学习训练,直到确定收敛为止。如上所述,全局模型的收敛可以指联邦学习训练过程可以达到稳定状态并且模型的模型参数可以具有确定的值(settled on values)。在本公开的一些示例方面中,联邦学习训练被应用直到收敛为止可以是群组个性化联邦学习方法的第一阶段(例如,阶段1)。在图5的示例中,网络设备510(例如,计算系统400)的全局FL管理器(例如,全局FL管理器98)可以管理全局模型511(例如,全局模型211),并且可以将一个或多个模型502A、502B、504A、504B、506A、506B、506C发送到一个或多个通信设备501A、501B、503A、503B、505A、505B、505C。通信设备501A、501B、503A、503B、505A、505B、505C可以是本地计算设备220、230、240(例如,UE 30)的示例。在网络设备510将模型502A、502B、504A、504B、
506A、506B、506C发送到通信设备的情况下,这些模型在最初可以是全局模型511的同一版本。
[0072] 响应于通信设备接收来自网络设备510的全局FL管理器98的模型,通信设备可以在本地存储模型(例如,本地模型221、231、241)。通信设备可以将模型本地存储在存储设备(例如,不可移动的存储器44、可移动的存储器46)中。在最初,由通信设备接收的来自网络设备的一个或多个模型可以是相同的一个或多个模型。响应于通信设备501A、501B、503A、503B、505A、505B、505C使用模型502A、502B、504A、504B、506A、506B、506C,通信设备的本地个性化设备(例如,本地个性化设备47)可以确定与本地存储的模型相关联的训练数据(例如,本地数据样本222、232、242)。训练数据可以是更新的模型参数,例如,诸如示例梯度
512、514、516、518、520、522、524,并且通信设备可以向网络设备510提供梯度512、514、516、
518、520、522、524。通信设备可以例如通过将更新的模型参数作为模型更新发送到网络设备510而不是将通信设备501A、501B、503A、503B、505A、505B、505C上的用户数据(例如,原始用户数据)发送到网络设备510,来保存隐私数据。模型参数或梯度可以根据基于用户数据确定的本地训练数据(例如,本地数据样本222、232、242)来生成。如此,模型参数或梯度可能已经包括与用户相关联的信息。
[0073] 出于说明而非限制的目的,例如,作为更新的模型参数(例如,梯度512、514、516、518、520、522、524)的更新的训练数据可以与对应于模型(例如,模型502A、502B、504A、
504B、506A、506B、506C)的应用相关联。例如,在应用可以是自动校正应用的情况下,更新的训练数据或模型参数可以是自动校正数据(例如,拼写错误的自动校正和/或与对应于自动校正应用的键入单词相关联的语法的自动校正)。在本公开的示例方面中,训练数据可以是与任何类型的一个或多个应用和/或一个或多个模型相关联的任何合适的训练数据。
[0074] 网络设备510可以接收来自每个通信设备的模型更新(例如,梯度512、514、516、518、520、522、524),并且可以将梯度512、514、516、518、520、522、524聚合,以基于接收的来自通信设备的梯度512、514、516、518、520、522、524对全局模型511执行模型聚合,从而更新全局模型511。在这方面,网络设备510的全局FL管理器98可以将模型更新作为新版本模型发送到通信设备501A、501B、503A、503B、505A、505B、505C。为了聚合全局模型511,网络设备
510的全局FL管理器98可以确定与模型更新相关联的不同模型参数的平均值,以确定全局模型511的下一个迭代/版本。例如,通过利用联邦平均(Federated Averaging,FA),可以(例如,由全局FL管理器98)对来自通信设备的模型参数进行平均,并且可以利用聚合的模型参数作为全局模型(例如,全局模型511)的下一个迭代/版本。全局模型511的下一个迭代/新版本可以由网络设备510的全局FL管理器98提供给通信设备501A、501B、503A、503B、
505A、505B、505C,以使通信设备能够更新它们的本地模型(例如,诸如模型502A、502B、
504A、504B、506A、506B、506C)。通信设备可以通过向网络设备发送模型更新而不是用户数据(例如,原始用户数据)来保存隐私数据。由于用户数据可以不被发送到网络设备(例如,一个或多个中央服务器),这可以避免/最小化攻击者访问与用户数据相关联的训练样本/训练数据的尝试。
[0075] 现在参考图6,图6提供了示出了将通信设备划分成若干不同的群组以在FL框架中针对通信设备的特定不同群组对全局FL模型进行微调的示意图。在这方面,图6的方法可能需要群组联邦学习的第二阶段(阶段2),其中,联邦学习通信设备可以被划分成或分配成若干个不同的群组。对于每个划分的/分配的通信设备的群组,可以在FL框架中进一步微调训练后的全局FL模型。以这种方式,本公开的一些示例方面可以促进个性化FL。个性化FL可以指示/表示不同群组中的每个通信设备可以利用可以为特定通信设备专门定制的不同模型。在一些示例中,与每个不同群组相关联的一个或多个模型可以是相似的,然而,对于群组中的每个通信设备,一个或多个模型可以略有不同。
[0076] 在图6的示例中,响应于接收群组个性化联邦学习过程的第一阶段中的模型参数/模型更新(例如,梯度512、514、516、518、520、522、524),网络设备510的全局FL管理器(例如,全局FL管理器98)可以确定在其中划分/分配通信设备501A、501B、503A、503B、505A、505B、505C的一个或多个不同的群组。在本公开的一些示例方面中,全局FL管理器98可以基于确定用户的一个或多个共同特征(例如,诸如与通信设备501A、501B、503A、503B、505A、
505B、505C的用户简档相关联的相似的人口统计)将用户群组分配给与全局FL训练模型611(例如,全局模型511)相关联的一个或多个特定模型。在一些示例中,相似的人口统计可以包括但不限于用户的地理区域(例如,位置)、用户的年龄、用户的性别和/或用户的兴趣等。
人口统计信息可以存储或保存在通信设备501A、501B、503A、503B、505A、505B、505C的相应的用户简档中。简档可以存储在网络设备510的存储设备(例如,RAM 82、ROM 93)中。在一些示例方面中,一个或多个用户的人口统计信息的使用可以基于一个或多个用户的许可。
[0077] 响应于确定用户之间的共同的人口统计,全局FL管理器98可以将被确定为具有共同的人口统计的用户的通信设备分配到同一群组。在一些示例方面中,可以利用人口统计的预定阈值来确定将用户的通信设备分配到一个或多个群组。例如,人口统计的预定阈值例如可以是一个或多个不同的用户的年龄范围,并且全局FL管理器98可以基于用户的不同的年龄范围来确定用户的不同的通信设备的群组(例如,可以将年龄范围为20岁至25岁的用户分配到群组A,可以将年龄范围为26岁至30岁的用户分配到群组B等)。在一些示例方面中,预定阈值可以基于一个或多个相关联的模型和/或一个或多个相关联的应用而变化。
[0078] 在本公开的一些其他示例方面中,全局FL管理器98可以将在第一阶段中接收的来自通信设备的模型梯度(例如,梯度512、514、516、518、520、522、524)进行比较,以确定将各通信设备划分/分配在哪些群组中。在这方面,全局FL管理器98可以对接收的来自通信设备501A、501B、503A、503B、505A、505B、505C的模型梯度(例如,梯度512、514、516、518、520、
522、524)进行分析,以确定哪些梯度彼此相似和/或哪些梯度彼此不相似。响应于确定哪些梯度相似,全局FL管理器98可以将具有与被发送到网络设备510的梯度相似的梯度的通信设备分配到同一群组。如上所述,可以通过对不同通信设备的模型参数/梯度进行聚类来确定通信设备的群组,从而将可能落入基于各通信设备的模型参数之间的矢量差异确定的相同聚类内的通信设备进行分组。例如,可以对不同通信设备的模型参数应用一个或多个聚类应用(例如,k‑均值应用),以将各通信设备划分为不同的群组。与每个群组中的梯度(例如,模型参数)相关联的度量值可以是相似的度量值,但不一定是相同的值。在一些示例中,度量值可以是一组数字矢量。任何两个或更多个梯度或模型参数的相似性可以基于与这两个或更多个梯度或模型参数相关联的欧氏距离(Euclidean distance)(例如,通过全局FL管理器98)来测量/确定。在这方面,欧氏距离越小,这两个或更多个梯度或模型参数之间的相似性可以越大。
[0079] 在图6的示例中,全局FL管理器98可以确定通信设备501A和501B具有有着共同/相似特征(例如,人口统计信息)的用户和/或确定通信设备501A、501B与具有相似模型梯度的用户相关联。在这方面,全局FL管理器98可以向通信设备501A、501B分配和发送与全局FL训练模型611(例如,全局模型511)相关联的微调模型600,并且可以将通信设备501A、501B分配/划分到例如诸如群组A的群组。以相似的方式,全局FL管理器98可以确定通信设备503A和503B具有有着共同/相似特征(例如,人口统计信息)的用户和/或确定通信设备503A、503B与具有相似模型梯度的用户相关联。如此,全局FL管理器98可以向通信设备503A、503B分配和发送与全局FL训练模型611相关联的微调模型602,并且可以将通信设备503A、503B分配/划分到例如诸如群组B的群组。
[0080] 此外,全局FL管理器98可以确定通信设备505A、505B和505C具有有着共同/相似特征(例如,人口统计信息)的用户和/或确定通信设备505A、505B、505C与具有相似模型梯度的用户相关联。作为响应,全局FL管理器98可以向通信设备505A、505B和505C分配和发送与全局FL训练模型611相关联的微调模型604,并且可以将通信设备505A、505B、505C分配/划分到例如诸如群组C的群组。
[0081] 因此,不同的群组(例如,群组A、群组B、群组C)中的每个群组可以具有其自己的定制/微调模型,该定制/微调模型可以由网络设备510提供给群组中的通信设备。例如,网络设备510可以基于在群组个性化联邦学习过程的阶段一期间确定和接收的模型参数/模型更新(例如,梯度(例如,梯度512、514、516、518、520、522、524))来微调全局FL训练模型611(本文中也称为,全局模型611),以更进一步微调全局模型611,以及针对每个群组不同地微调与全局模型611相关联的模型。如此,微调模型(例如,微调模型600、602、604)可以彼此不同,并且针对它们相应的通信设备的群组(例如,群组A、B、C)可以是特定/定制的。
[0082] 在群组中的通信设备获得更多训练数据的情况下,例如,在利用/实施微调模型600、602、604时,通信设备501A、501B、503A、503B、505A、505B、505C可以向网络设备510发送其他相应的梯度612、614、616、618、620、622、624。在一些示例方面中,梯度612、614、616、
618、620、622、624可以是不同的,并且可以与相应通信设备的不同的本地训练数据和/或模型参数相关联。出于说明而非限制的目的,例如,在可以由通信设备501A实施微调模型600的情况下,通信设备501A可以获得/确定与可以由可以获得/确定其他训练数据的通信设备
501B实施微调模型600的情况不同的训练数据。
[0083] 此外,出于说明而非限制的目的,在设备实施例如诸如视频应用的应用以获得视频数据的情况下,这种视频数据例如可以是训练数据/模型参数。可以基于与由通信设备(例如,通信设备503A)实施的模型(例如,微调模型602)相关联的应用的类型来获得/确定其他合适的训练数据/模型参数。
[0084] 图7是示出了对于每个群组特定模型可以利用相应通信设备的本地训练数据来执行本地个性化的示意图。响应于网络设备510接收来自相应通信设备501A、501B、503A、503B、505A、505B、505C的不同和特定的梯度612、614、616、618、620、622、624,网络设备510的全局FL管理器98可以可选地执行群组个性化联邦学习过程的阶段三(例如,阶段3)。在这方面,阶段三可以涉及基于相应通信设备501A、501B、503A、503B、505A、505B、505C的本地训练数据对群组特定模型的本地个性化。例如,响应于网络设备510接收可以与相应通信设备的不同训练数据/模型参数对应的不同梯度612、614、616、618、620、622、624,全局FL管理器
98可以生成进一步微调的模型700、702、704,这些进一步微调的模型可以用于基于生成梯度的特定相应通信设备的相应梯度来为特定群组中的每个通信设备生成个性化模型712、
714、716、718、720、722、724。
[0085] 在图7的示例中,进一步微调的模型700、702、704可以是与全局模型611(例如,全局模型511的示例)相关联的群组FL训练模型。网络设备510可以基于梯度612、614生成微调模型700,以进一步生成用于群组A中的通信设备501A、501B的个性化模型712、714,可以基于梯度616、618生成微调模型702,以进一步生成用于群组B中的通信设备503A、503B的个性化模型716、718,并且可以基于梯度620、622、624生成微调模型704,以进一步生成用于群组C中的通信设备505A、505B、505C的个性化模型720、722、724。
[0086] 网络设备510的全局FL管理器98可以通过使用通信设备的对应梯度612、614、616、618、620、622、624,分别为通信设备501A、501B、503A、503B、505A、505B、505C生成个性化模型712、714、716、718、720、722、724。例如,出于说明而非限制的目的,网络设备510的全局FL管理器98可以通过利用由通信设备501A获得/确定的并发送到网络设备510的相应梯度612来为通信设备501A生成进一步微调的个性化模型712。其他个性化模型714、716、718、720、
722、724可以由网络设备510以相似的方式生成。个性化模型712、714、716、718、720、722、
724可以是部分基于每个通信设备访问的不同训练数据的不同模型。在这方面,网络设备
510可以利用通信设备的本地训练数据来区分为分配的/划分的群组内的用户的通信设备定制的特定模型。为群组内用户的通信设备定制的特定模型的这种差异化在本文中可以被称为关于每个群组的个性化或本地个性化。
[0087] 在网络设备510可以检测到存在与系统(例如,系统100)相关联的新用户的情况下,网络设备510可以首先向与新用户相关联的通信设备提供全局模型(例如,全局模型511)。在开始时,新用户的通信设备可能没有任何训练数据,但是响应于新用户的通信设备在一段时间内开始使用全局模型,新用户的通信设备可以生成一些训练数据。新用户的通信设备的本地个性化设备47可以确定与训练数据相关联的一个或多个梯度,并且本地个性化设备47可以将前述梯度发送到网络设备。网络设备的全局FL管理器98可以将这些接收到的新用户的通信设备的梯度与采用全局模型(例如,全局模型511)的其他用户的通信设备的其他梯度进行比较,并且基于这种比较,全局FL管理器98可以确定新用户的通信设备属于哪个群组,并且可以将该新用户分配到该群组(例如,群组A)。
[0088] 在网络设备确定新用户被分配到群组(例如,群组A)的情况下,新用户的通信设备然后可以接收来自网络设备的同一分配群组的其他用户先前接收到的关于相关联模型的所有更新。以这种方式,新用户可以是所分配群组的所接收模型的当前用户。
[0089] 在一些示例中,可能存在可能需要为与模型(例如,模型502A)相关联的应用(例如,自动校正应用、视频应用等)确定的预定阈值数量/数目的训练数据,以向网络设备(例如,网络设备510)提供与通信设备(例如,通信设备501A)上的模型相关联的梯度,从而接收来自网络设备的对相关联模型(例如,模型600)的更新。例如,在一些示例方面中,训练数据的预定阈值数量可以是20个训练数据样本、30个训练数据样本或任何其他合适数量的训练数据样本。如本文所谈及的,训练数据样本可以是基于与模型(例如,模型502A)相关联的应用(例如,自动校正应用、视频应用等)的一个或多个功能或操作等(例如,由本地个性化设备47)而确定的训练数据的项目(item)。
[0090] 现在参考图8,图8提供了示出对视频评估数据集的困惑度结果的表格。图8中的表格800表明:对于与例如促进视频内容呈现的应用相关联的视频数据集的大多数类别,与标准FL和个性化FL相比,本公开的示例方面的群组个性化FL方法在机器学习(例如,一个或多个机器学习功能)方面可以实现20%至60%的困惑度改善。
[0091] 困惑度结果的值越低,模型做出/确定预测的能力和提高确定预测的准确性方面就越好。如图8的表格800所示,本公开的示例方面的群组个性化FL技术可以表明困惑度值低于与常规FL和个性化FL相关的值。因此,本公开的示例方面的群组个性化FL技术可以在关于以下方面提供显著的技术改进:提高一个或多个模型(例如,ML模型和/或AI模型(例如,一个或多个机器学习模型930))进行/确定预测的能力,以及提高确定一个或多个模型相对于常规FL和个性化FL的预测的准确性。
[0092] 图9示出了根据本公开的一个或多个示例的机器学习框架900的示例,该机器学习框架包括一个或多个机器学习模型930和训练数据库950。训练数据库950可以存储训练数据920。在一些示例中,机器学习框架900可以本地托管在计算设备中或远程托管。通过利用训练数据库950的训练数据920,机器学习框架900可以训练一个或多个机器学习模型930,以执行该一个或多个机器学习模型930的本文描述的一个或多个功能。在一些示例中,一个或多个机器学习模型930可以存储在计算设备中。例如,一个或多个机器学习模型930可以在通信设备(例如,UE 30)中实施。在一些其他示例中,一个或多个机器学习模型930可以在另一个设备(例如,计算系统400)中实施。此外,一个或多个机器学习模型930可以由一个或多个处理器(例如,图3的处理器32、图4的协处理器81)来处理。在一些示例中,一个或多个机器学习模型930可以与图10的操作(或执行操作)相关联。在一些其他示例中,一个或多个机器学习模型930可以与其他操作相关联。
[0093] 在示例中,训练数据920可以包括数千个对象的属性。例如,对象可以是海报、宣传册、广告牌、菜单、商品(例如,包装商品)、书籍、杂货、快速响应(Quick Response,QR)码、智能家居设备、家居和户外用品、家居用品(例如,家具、厨房用具等)以及任何其他合适的对象。在一些其他示例中,对象可以是智能设备(例如,UE 30;通信设备105、110、115、120;本地计算设备220、230、240等)、人(例如,用户)、报纸、文章、传单、小册子、标志、汽车和/或内容项目(例如,消息、通知、图像、视频、音频)等。属性可以包括但不限于一个或多个对象的尺寸、形状、取向、位置/地点等。一个或多个机器学习模型930采用的训练数据920可以是固定的或周期性更新的。替代地,可以基于由一个或多个机器学习模型930在非训练模式下执行的评估来实时更新训练数据920。这可以通过连接一个或多个机器学习模型930和存储的训练数据920的双向箭头来示出。训练数据920的一些其他示例可以包括但不限于与一个或多个应用的一个或多个功能或操作等相关联的数据项目(例如,训练数据样本),其中,该一个或多个应用与一个或多个机器学习模型930相关联。在一些示例方面中,一个或多个机器学习模型930和/或一个或多个应用对训练数据的使用可以基于一个或多个用户的许可。在一些示例中,机器学习框架900可以利用训练数据920来确定一个或多个机器学习模型930的一个或多个模型参数和/或梯度(例如,梯度512、514、516、518、520、522、524、612、614、616、618、620、622、624)。模型参数和/或梯度可以是数值度量,并且模型参数和/或梯度可以通过利用用户数据训练模型来确定,例如通过利用梯度下降应用训练模型来确定。在一些示例中,模型参数和/或梯度可以由全局FL管理器98实施可以利用用户数据的训练模型来确定。
[0094] 图10示出了示出根据本公开的示例的用于提供群组个性化联邦学习的操作的示例流程图。在操作1002处,设备(例如,网络设备510、计算系统400)可以向多个通信设备提供基于联邦学习生成的全局机器学习模型。在一些示例中,全局机器学习模型可以但不必是全局模型511的示例,多个通信设备可以是通信设备501A、501B、503A、503B、505A、505B、505C的示例。
[0095] 在操作1004处,设备(例如,网络设备510、计算系统400)可以接收来自该多个通信设备的由该多个通信设备实施全局机器学习模型而生成的一个或多个模型参数(例如,梯度512、514、516、518、520、522、524),该一个或多个模型参数部分地基于:该多个通信设备确定本地训练数据。在本公开的一些示例方面中,本地训练数据可以由本地个性化设备47响应于确定与全局机器学习模型相关联的应用等执行或实施了功能或操作等而确定。功能或操作等的一个或多个结果可以但不必是本地训练数据的示例。此外,在一些示例中,一个或多个模型参数的接收可以是响应于确定本地训练数据满足训练数据的预定阈值(例如,训练数据的预定阈值数量/数目)的。本地训练数据可以本地存储在相应的通信设备上。
[0096] 在操作1006处,设备(例如,网络设备510、计算系统400)可以基于来自该多个通信设备的该一个或多个模型参数来确定该多个通信设备的一个或多个群组(例如,群组A、B、C),并且可以将多个群组特定机器学习模型中的至少一个群组特定机器学习模型分配给该一个或多个群组。该多个群组特定机器学习模型可以与全局机器学习模型相关联。在本公开的一些示例方面中,群组特定机器学习模型可以但不必是模型502A、502B、504A、504B、506A、506B、506C的示例。
[0097] 在操作1008处,设备(例如,网络设备510、计算系统400)可以向该多个通信设备的该一个或多个群组中的通信设备子集提供该多个群组特定机器学习模型中的相应群组特定机器学习模型。在本公开的一些示例方面中,群组特定机器学习模型可以但不必是模型600、602、604的示例。
[0098] 在一些示例中,设备(例如,网络设备510、计算系统400)可以接收来自一个或多个群组中的通信设备子集的更新的模型参数。接收到的更新的模型参数可以是响应于通信设备子集确定本地训练内容的项目而由通信设备子集实施分配给一个或多个群组(例如,群组A、B、C)中的至少一个群组(例如,群组A)的相应群组特定机器学习模型(例如,模型600)生成的。在一些示例中,接收到的更新的模型参数可以但不必是梯度612、614、616、618、620、622、624的示例。在一些其他示例中,相应群组特定机器学习模型可以但不必是模型
600、602、604。
[0099] 在本公开的一些示例方面中,设备(例如,网络设备511、计算系统400)可以生成其他机器学习模型(例如,模型712、714、716、718、720、722、724)。响应于接收来自一个或多个群组中的通信设备子集的更新的模型参数,可以专门针对一个或多个群组(例如,群组B等)中的每个通信设备(例如,通信设备503A、503B等)定制这些其他机器学习模型中的至少一个其他机器学习模型。这些其他机器学习模型(例如,模型712、714、716、718、720、722、724)可以是针对通信设备子集中的通信设备的至少一个用户而个性化的不同的机器学习模型。
[0100] 在一些其他示例方面中,响应于实施多个其他机器学习模型中的至少一个机器学习模型(例如,模型714),设备(例如,网络设备510、计算系统400)可以确定至少一个困惑度值(例如,图8的表格800中的困惑度值168.1、117.6),该至少一个困惑度值表明与一个或多个群组分配的特定模型相关联的群组个性化联邦学习相比于一个或多个其他类型的联邦学习(例如,常规FL、个性化FL)的改进。
[0101] 在一些其他示例方面中,设备(例如,网络设备510、计算系统400)可以确定多个通信设备的一个或多个群组,并且可以通过确定通信设备的用户的一个或多个共享特征或确定一个或多个模型参数的项目在群组中的通信设备之间是相似的(例如,相似的模型参数值)来执行将至少一个群组特定机器学习模型分配给该一个或多个群组。用户的共享特征可以但不必是用户共同具有的多个确定的人口统计信息的项目。
[0102] 替代的实施例
[0103] 已经出于说明的目的而呈现了实施例的前述描述;前述描述不旨在是详尽的或者不旨在将专利权限制于所公开的精确形式。相关领域的技术人员可以理解的是,考虑到上述公开内容,许多修改和变型是可能的。
[0104] 本说明书的一些部分在对信息进行操作的应用和符号表示方面描述了实施例。这些应用描述和表示通常被数据处理领域的技术人员用来向本领域的其他技术人员有效地传达其工作的实质内容。在功能上、计算上或逻辑上对这些操作描述时,这些操作被理解为由计算机程序或等效电路或微代码等来实施。此外,事实证明,有时为了方便,将这些操作的布置称为部件,而不失一般性。所描述的操作和它们的相关联的部件可以以软件、固件、硬件或它们的任意组合来实施。
[0105] 本文描述的这些步骤、操作或过程中的任何步骤、操作或过程可以由一个或多个硬件或软件部件单独执行或实施,或与其他设备组合执行或实施。在一个实施例中,使用包括计算机可读介质的计算机程序产品来实施软件部件,该计算机可读介质包含计算机程序代码,该计算机程序代码可以由计算机处理器执行,以执行所描述的步骤、操作或过程中的任何或全部步骤、操作或过程。
[0106] 实施例还可以涉及一种用于执行本文中的操作的装置。该装置可以为所需目的而专门构造,和/或该装置可以包括计算设备,该计算设备由存储在计算机中的计算机程序选择性地激活或重新配置。此类计算机程序可以存储在可耦合到计算机系统总线的非暂态的有形的计算机可读存储介质中或适合于存储电子指令的任何类型的介质中。此外,本说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多个处理器设计的架构以提高计算能力。
[0107] 实施例还可以涉及一种由本文所描述的计算过程产生的产品。这种产品可以包括由计算过程产生的信息,其中,该信息被存储在非暂态的有形的计算机可读存储介质上,并且可以包括本文描述的计算机程序产品或其他数据组合的任何实施例。
[0108] 最后,本说明书中所使用的语言主要是出于可读性和指导性的目的而选择的,并且该语言可能不是为了划定或限制本发明主题而选择的。因此,旨在专利权的范围不受本具体实施方式的限制,而是受基于本文的申请上公布的任何权利要求的限制。因此,实施例的公开旨在对专利权的范围进行说明而非限制,该专利权的范围在以下权利要求中得到阐述。