CN110832511A - 具有数据相关可用性的分布式设备上学习的系统和方法 - Google Patents

具有数据相关可用性的分布式设备上学习的系统和方法 Download PDF

Info

Publication number
CN110832511A
CN110832511A CN201880044320.3A CN201880044320A CN110832511A CN 110832511 A CN110832511 A CN 110832511A CN 201880044320 A CN201880044320 A CN 201880044320A CN 110832511 A CN110832511 A CN 110832511A
Authority
CN
China
Prior art keywords
region
machine learning
learning model
model associated
user devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880044320.3A
Other languages
English (en)
Other versions
CN110832511B (zh
Inventor
K.博纳维茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110832511A publication Critical patent/CN110832511A/zh
Application granted granted Critical
Publication of CN110832511B publication Critical patent/CN110832511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供了用于机器学习模型的分布式训练的系统和方法。在一个示例中,提供了用于训练机器学习模型的计算机实施的方法。该方法包括:由一个或多个计算设备至少部分基于用户设备的时间可用性来获得多个区域;选择区域内的多个可用用户设备;以及向该区域内的多个选定用户设备提供与该区域相关联的机器学习模型的当前版本。该方法包括:从多个选定用户设备获得由多个选定用户设备通过使用多个选定用户设备中的每一个的本地数据来训练与该区域相关联的机器学习模型的当前版本而生成的更新的机器学习模型数据,并基于更新的机器学习模型数据来生成与该区域相关联的更新的机器学习模型。

Description

具有数据相关可用性的分布式设备上学习的系统和方法
技术领域
本公开总体涉及机器学习。更具体地,本公开涉及机器学习模型的分布式训练。
背景技术
联合学习(federated learning)系统基于从大量用户与其设备(例如,智能电话等)交互生成的数据来训练机器学习模型,而不需要从设备中取出数据。例如,每个循环都选择在线设备的子集(例如,1000等),并且机器学习模型的当前版本被发送到那些选定的设备。那些选定的设备中的每一个被赋予使用它们自己本地生成并本地存储的数据来计算模型的更新的任务。然后,模型更新被发送回服务器、进行平均、并应用于服务器的模型,以便为用户的下一次迭代(例如,设备的下一个子集)产生模型的新版本。
在某些假设下,联合学习过程会学习一个性能相当的模型,如果所有数据和训练都集中在数据中心进行,就会学习到这种模型。其中一个假设是,联合学习的每次迭代可用的客户端集都具有完整数据集的代表性样本。然而,这往往与事实相去甚远。例如,考虑使用联合学习来训练自然语言模型。一般地,设备更有可能在用户的本地时区的夜间期间是可用的,时区与地缘文化边界高度相关,并且地缘文化边界与自然语言使用(例如,本地/主要语言)高度相关。因此,可用的训练数据的相对比例(例如,美式英语vs.普通话vs.印地语vs.法语等)随日常循环而变化,这对联合学习提出了挑战。
发明内容
本公开的实施例的方面和优点将在以下描述中部分阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
本公开的一个示例方面针对一种用于训练机器学习模型的计算机实施的方法。该方法可以包括由一个或多个计算设备至少部分基于用户设备的时间可用性来生成多个区域。该方法还可以包括由一个或多个计算设备选择区域内的多个可用用户设备。该方法还可以包括由一个或多个计算设备向该区域内的多个选定用户设备提供与该区域相关联的机器学习模型的当前版本。该方法还可以包括由一个或多个计算设备从多个选定用户设备获得更新的机器学习模型数据,该更新的机器学习模型数据由多个选定用户设备通过使用多个选定用户设备中的每一个的本地数据来训练与该区域相关联的机器学习模型的当前版本而生成。该方法还可以包括由一个或多个计算设备基于更新的机器学习模型数据生成与该区域相关联的更新的机器学习模型。
由一个或多个计算设备至少部分基于用户设备的时间可用性来获得多个区域还可以包括至少部分基于以下中的一个或多个来生成多个区域:时区、纬度范围、经度范围、语义边界、用户群体或昼夜可用性模式。该方法还可以包括其中生成每个区域,使得每个区域包括具有相似昼夜循环的用户群体。该方法还可以包括由一个或多个计算设备将全局机器学习模型的副本与每个区域相关联,其中基于该区域中的用户使用联合学习来训练与该区域相关联的机器学习模型。该方法还可以包括由一个或多个计算设备向该区域内的多个选定用户设备提供正则项,其中正则项被添加到损失函数中,以用于训练与该区域相关联的机器学习模型的当前版本,并且其中正则项表示在参数空间中测量的、与该区域相关联的模型距至少一个其他区域的至少一个模型的距离之和。由一个或多个计算设备基于更新的机器学习模型数据来生成与该区域相关联的更新的机器学习模型还可以包括由一个或多个计算设备执行多任务学习,以将与该区域相关联的机器学习模型朝向与至少一个其他区域相关联的至少一个机器学习模型进行偏置。该方法还可以包括由一个或多个设备计算参数空间中至少一个其他区域的至少一个模型的质心;以及由一个或多个计算设备将质心提供给该区域内的多个选定用户设备,其中多个选定用户设备中的每一个计算在参数空间中测量的、与该区域相关联的模型距质心的距离,作为被添加到损失函数中以用于训练与该区域相关联的机器学习模型的当前版本的正则项。
本公开的另一示例方面针对一种计算设备。该计算设备包括一个或多个处理器;和一个或多个存储指令的非暂时性计算机可读介质。当由一个或多个处理器执行时,指令使得计算设备至少部分基于用户设备的时间可用性来生成多个区域。当由一个或多个处理器执行时,指令还使得计算设备选择区域内的多个可用用户设备。当由一个或多个处理器执行时,指令还使得计算设备向区域内的多个选定用户设备提供与该区域相关联的机器学习模型的当前版本,其中多个选定用户设备中的每一个使用多个选定用户设备中的每一个的本地数据来执行与该区域相关联的机器学习模型的当前版本的训练。当由一个或多个处理器执行时,指令还使得计算设备从多个选定用户设备获得更新的机器学习模型数据。当由一个或多个处理器执行时,指令还使得计算设备基于更新的机器学习模型数据来生成与该区域相关联的更新的机器学习模型。
至少部分基于用户设备的时间可用性来生成多个区域还包括至少部分基于以下中的一个或多个来生成多个区域:时区、纬度范围、经度范围、语义边界、用户群体或昼夜可用性模式。可以生成每个区域,使得每个区域包括具有相似昼夜循环的用户群体。计算设备还可以包括指令,当由一个或多个处理器执行时,该指令使得计算设备将全局机器学习模型的副本与每个区域相关联,其中基于该区域中的用户使用联合学习来训练与该区域相关联的机器学习模型。计算设备还可以包括指令,当由一个或多个处理器执行时,该指令使得计算设备:计算正则项,该正则项表示在参数空间中测量的、与该区域相关联的模型距至少一个其他区域的至少一个其他模型的距离之和;以及向该区域内的多个选定用户设备提供正则项,其中正则项被添加到损失函数中,以用于训练与该区域相关联的机器学习模型的当前版本。基于更新的机器学习模型数据来生成与该区域相关联的更新的机器学习模型还可以包括执行多任务学习,以将与该区域相关联的机器学习模型朝向与至少一个其他区域相关联的至少一个机器学习模型进行偏置。计算设备还可以包括指令,当由一个或多个处理器执行时,该指令使得计算设备:计算参数空间中至少一个其他区域的至少一个模型的质心;以及将质心提供给该区域内的多个选定用户设备,其中多个选定用户设备中的每一个计算在参数空间中测量的、与该区域相关联的模型距质心的距离,作为被添加到损失函数中以用于训练与该区域相关联的机器学习模型的当前版本的正则项。
本公开的另一示例方面针对一种系统,该系统包括服务器和多个用户设备。服务器包括一个或多个处理器;以及一个或多个存储指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,该指令使得一个或多个处理器执行操作。操作包括至少部分基于用户设备的时间可用性来生成多个区域。操作还包括从多个用户设备中选择区域内的多个可用用户设备。操作还包括向该区域内的多个选定用户设备提供与该区域相关联的机器学习模型的当前版本。操作还包括从多个选定用户设备获得更新的机器学习模型数据。操作还包括基于更新的机器学习模型数据生成与该区域相关联的更新的机器学习模型。多个用户设备中的每一个包括一个或多个处理器;以及一个或多个存储指令的非暂时性计算机可读介质,当由一个或多个处理器执行时,该指令使得一个或多个处理器执行操作。操作包括响应于从多个用户设备中被选择作为区域内的可用用户设备和接收与该区域相关联的机器学习模型的当前版本,使用用户设备的本地数据来执行与该区域相关联的机器学习模型的当前版本的训练。操作还包括向服务器提供通过训练机器学习模型的当前版本而生成的更新的机器学习模型数据。
本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些及其他特征、方面和优点。结合在本说明书中并构成其一部分的附图示出了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1A描绘了根据本公开的示例实施例的执行分布式设备上机器学习模型训练的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的执行分布式设备上机器学习模型训练的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的执行分布式设备上机器学习模型训练的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的执行分布式设备上机器学习模型训练的示例方法的流程图。
跨多个图重复的附图标记旨在标识不同实施方式中的相同特征。
具体实施方式
概述
一般地,本公开针对用于机器学习模型的分布式训练的系统和方法。具体地,本公开的系统和方法可以将世界细分成区域(例如,空间区域等),并且利用这些区域来提高用于机器学习模型的训练的数据可用性。根据本公开的一个方面,这些区域可以包括其中位于每个区域中的相应设备呈现相似的时间可用性模式的区域。通过使用这些区域,在区域中选择的用户子集持有的用于训练机器学习模型的迭代的数据可以是该区域中所有用户的更一致的代表性样本,从而改进机器学习模型的训练。具体地,一旦生成了区域,待训练的机器学习模型的副本就可以与每个区域相关联,并且机器学习模型的每个副本可以基于该区域内的用户使用联合学习来训练。然后可以使用多任务学习技术来,例如,将在一个区域中学习的模型偏置为更像在其他区域中学习的一个或多个模型,使得每个区域的模型的副本可以受益于在其他区域中生成的模型数据。
因此,本公开提供了用于机器学习模型的分布式训练的技术,其中训练数据与区域可用性相关。这些技术可以允许将区域模型中的数据与其中区域性是益处(例如,自然语言处理)的模型进行组合。例如,本公开的各方面可以用于改进其中用户交互可以基于位置而不同(例如,对将要打开的下一个应用的预测)的任何类型的模型,因为跨所有群体构建一个模型通常可以倾向于提供更优的结果。例如,可以生成和训练区域特定的模型;然而,区域模型可能会丢失可能有益于模型的大量训练数据(例如,来自特定区域之外的用户群体的数据)。例如,如果世界各地的模型交互不相同但相关,则丢弃所有这些用于训练模型的附加可用数据(例如,区域外的用户)可能会降低模型的有效性。
具体地,当训练被嵌入到具有不同的物理属性(例如,可用性)、不同的物理约束(例如,带宽)和不同的隐私要求(例如,用户数据保持在每个用户自己的设备的本地)的物理设备(例如,智能电话、服务器等)时,本公开的系统和方法可以改进机器学习模型的训练。针对实际设备不符合标准联合学习要求的方式进行定制,可以提高产生能够很好地为所有用户服务的模型的能力,而不管用户处于哪个区域。
更具体地,根据本公开的一个示例方面,世界可以被细分成多个空间区域,使得除了每个区域的足够大的用户群体之外,还有每个区域的昼夜循环一致性的一些测量来为训练机器学习模型提供数据可用性。例如,可以对世界进行细分,使得每个区域足够大以确保在每天至少几小时的时间段内可以一致地找到足够的设备(例如,数千个设备)在线,并且每个区域足够小并被确定为使得该区域中的用户的典型昼夜循环在该区域内变化不大。例如,在一些实施方式中,可以基于纬度和/或经度、基于时区、基于语义边界(例如,国家边界、区域边界等)等将世界细分成多个区域。在一些实施方式中,可以生成区域,使得每个区域有相似(例如,近似均匀)的用户群体。
作为一个示例,在一些实施方式中,世界可以被细分成多个经度范围(例如,24个经度范围、12个经度范围等),使得每个区域是几小时(例如,1至2小时等)宽。在一些实施方式中,范围边界也可以基于地缘文化边界(例如,使用经度带与国家边界的交集)来调整,或者允许预定经度范围之外的群体的狭窄区域被包括在相邻范围中,而不是单独存在(例如,时区的情况),或者基于可能相似的用户的问题特定区域。
作为另一示例,在一些实施方式中,代替将世界划分成空间区域,我们可以首先将用户分成具有相似昼夜数据可用性模式的组(例如,设备通常在1:00到9:00UTC之间可用的用户,设备通常在2:00到10:00UTC之间可用的用户,等等)。在一些实施方式中,仅当满足某些约束时,设备才是如本文所用的“可用的”。例如,在一些实施方式中,只有当设备被插入公用电源(例如,墙壁插座而不仅仅依赖于电池电源)、被连接到非计量网络接入点(例如,被连接到WiFi而不是蜂窝数据)并且不另外被用户使用时,该设备才是可用的。
根据本公开的另一方面,一旦区域被确定,机器学习模型的副本可以与每个区域相关联。然后,可以使用联合学习技术基于区域内的用户来训练该区域的机器学习模型的副本。联合学习系统基于从大量用户与其设备交互生成的数据来训练机器学习模型,而不需要从设备中取出数据。例如,为训练迭代而选择的每个设备可以被赋予使用设备上本地生成并本地存储的数据来计算机器学习模型的更新的任务。由于区域的昼夜一致性,每个区域的用户的抽样子集所持有的数据通常可以提供该区域中所有用户的更一致的代表性样本。
在一些实施方式中,一个或多个服务器(例如,云服务器等)可以维护和访问与每个区域相关联的机器学习模型。在一些实施方式中,一个或多个服务器可以使用多任务学习技术来将在一个区域中学习的模型偏置为更像在其他区域中学习的模型。通过跨区域组合信息,每个区域的模型可被允许从在所有其他区域中生成的模型数据中受益。例如,在大多数区域实际上确实具有相似数据的极端情况下,其中假设有24个区域,那么这意味着与基于来自每个区域的数据独立地训练单独模型的情况相比,有效地有24倍更多的训练可用,并且更多的训练数据通常可以直接导致更好的模型性能。
更具体地,在一些实施方式中,第一区域(例如,区域A)的模型可以基于来自位于区域A中的用户的数据进行训练,但是可以被约束为不偏离其他区域(例如,在某种程度上与区域A相关的区域B)和/或全局模型太多。例如,服务器可以为区域A中的联合学习的迭代的损失函数添加一个项,其中损失基于区域A的模型距每个其他区域的模型的距离之和(在参数空间中测量的)而增加。这将表示正则项,该正则项可以被发送到区域A中的每个用户(例如,用户设备),并且该用户设备在计算其自身对模型的更新时可以并入该正则项。在一些实施方式中,正则项可以被加权,诸如,例如相似语言时区(例如,包括澳大利亚悉尼和英国伦敦的时区的相应模型)可以被加权得更大,相邻时区可以被加权得更大,等等。正则项可以在服务器上计算并发送给用户设备,或者可以在用户设备上计算。
在一些实施方式中,用户设备可以例如通过计算数据训练项的梯度来计算移动参数的方向以最小化损失函数的训练数据项。服务器可以例如通过计算正则项的梯度来计算移动参数的方向以最小化损失函数的正则项。用户设备可以将梯度加在一起。替代地,服务器设备可以将梯度加在一起。在一些实施方式中,学习迭代可以在最小化正则项的步骤(例如,在服务器上)和最小化训练数据项的步骤(例如,在用户设备上)之间交替。
在一些实施方式中,可以在训练期间控制一个或多个参数,诸如从用户数据中抽取样本若干次、每次抽取的样本数量、在上传和正则化之前进行多次训练迭代等。
在一些实施方式中,代替预先计算正则项的梯度,服务器可以计算一个或多个其他模型的质心。例如,服务器可以计算参数空间中从区域A的当前模型到将最小化正则项的模型的方向(例如,参数空间中其他区域模型的质心)。服务器可以向区域A的用户发送质心本身或者到质心的方向,这两者中的任何一个通常都小于发送所有其他区域的模型,否则对于用户设备评估正则项是必要的。在一些实施方式中,这可以允许用户设备执行多次训练迭代,而不需要来自服务器的更新的正则项梯度。
在一些实施方式中,服务器可以在不使用偏置项在用户上运行联合学习、然后仅使用正则项在服务器侧运行随机梯度下降步骤(即,在将该调整后的模型发送给下一用户集进行联合学习迭代之前,将区域A的模型朝向其他区域的质心移动一点)之间进行交替。
现在参考附图,将进一步详细讨论本公开的示例实施例。
设备和系统示例
图1A描绘了根据本公开的示例实施例的可以执行分布式机器学习模型训练的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如,例如个人计算设备(例如,膝上型计算机或台式计算机)、移动计算设备(例如,智能电话或平板计算机)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接的一个处理器或多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器114可以存储由处理器112执行的数据116和指令118,以使得用户计算设备102执行操作。
在一些实施方式中,用户计算设备102可以存储或包括一个或多个模型120。例如,模型120可以是或可以另外包括各种机器学习模型,诸如神经网络(例如,深层神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。
在一些实施方式中,一个或多个模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或另外实施。在一些实施方式中,用户计算设备102可以实施单个模型120的多个并行实例。
附加地或替代地,一个或多个模型140可以被包括在服务器计算系统130中,或另外被服务器计算系统130存储和实施,服务器计算系统130根据客户端-服务器关系与用户计算设备102通信。例如,模型140可以由服务器计算系统140实施为网络服务的一部分。因此,一个或多个模型120可以在用户计算设备102处被存储和实施,并且/或者一个或多个模型140可以在服务器计算系统130处被存储和实施。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实施虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接的一个处理器或多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储由处理器132执行的数据136和指令138,以使得服务器计算系统130执行操作。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或者另外由一个或多个服务器计算设备实施。在服务器计算系统130包括多个服务器计算设备的情况中,这样的服务器计算设备可以根据顺序计算体系结构、并行计算体系结构或它们的某种组合来操作。
如上所述,服务器计算系统130可以存储或另外包括一个或多个机器学习模型140。例如,模型140可以是或者可以另外包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深层神经网络、递归神经网络和卷积神经网络。
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130和/或用户计算设备102分离,或者可以是服务器计算系统130和/或用户计算设备102的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是可操作地连接的一个处理器或多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储由处理器152执行的数据156和指令158,以使得训练计算系统150执行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者另外由一个或多个服务器计算设备实施。
训练计算系统150可以包括模型训练器160,模型训练器160使用各种训练或学习技术(诸如,例如误差的反向传播)来训练存储在用户计算设备102和/或服务器计算系统130中的机器学习模型120和/或140。在一些实施方式中,执行误差的反向传播可以包括通过时间执行截断的反向传播。模型训练器160可以执行多种泛化(generalization)技术(例如,权重衰减、丢弃等)来提高被训练模型的泛化能力。具体地,模型训练器160可以基于训练数据集162来训练模型120和/或140。
在一些实施方式中,如果用户已经提供同意,则训练示例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练计算系统150基于从用户计算设备102接收的用户特定数据进行训练。在某些情况下,该过程可以称为对模型进行个性化。
模型训练器160包括用于提供期望功能的计算机逻辑。模型训练器160可以用控制通用处理器的硬件、固件和/或软件来实施。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括一个或多个计算机可执行指令集,这些计算机可执行指令存储在有形计算机可读存储介质中,诸如RAM硬盘或光学或磁性介质。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或它们的某种组合,并且可以包括任何数量的有线或无线链接。一般地,通过网络180通信可以经由任何类型的有线和/或无线连接、使用各种各样的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来实现。
图1A示出了可用于实施本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102处被本地训练并本地使用。在一些这样的实施方式中,用户计算设备102可以实施模型训练器160,以基于用户特定的数据对模型120进行个性化。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至应用N)。每个应用都包含其自己的机器学习库和(多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的多个其他组件通信,诸如,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至应用N)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用API(例如,跨所有应用的公共API)与中央智能层(以及存储在其中的(多个)模型)通信。
中央智能层包括多个机器学习模型。例如,如图1C所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实施方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实施方式中,中央智能层被包括在计算设备50的操作系统内或者另外由计算设备50的操作系统实施。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的数据的中央储存库。如图1C所示,中央设备数据层可以与计算设备的多个其他组件通信,诸如,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实施方式中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
示例方法
图2描绘了根据本公开的示例实施例的执行分布式设备上机器学习模型训练的示例操作200的流程图。尽管为了说明和讨论的目的,图2描绘了以特定顺序执行的步骤,但是本公开的方法不限于特定示出的顺序或布置。在不偏离本公开的范围的情况下,方法200的各种步骤可以以各种方式被省略、重新布置、组合和/或调整。
在202处,诸如图1的服务器计算系统130的计算系统可以基于用户设备的时间可用性来获得多个区域(例如,其中获得多个区域包括基于一个或多个因素来生成区域)。例如,可以生成区域,使得位于每个区域中的相应用户设备呈现相似的时间可用性模式。例如,在一些实施方式中,世界可以被细分成多个空间区域,使得除了每个区域的足够大的用户群体之外,还有每个区域的昼夜循环一致性的一些测量来为训练机器学习模型提供数据可用性。例如,可以对世界进行细分,使得每个区域足够大以确保在每天至少几小时的时间段内可以一致地找到足够的设备(例如,数千个设备)在线,并且每个区域足够小并被确定为使得该区域中的用户的典型昼夜循环在该区域内变化不大。
在204处,计算系统可以选择区域内的多个可用用户设备,使得该区域内的多个选定用户设备可以被赋予训练机器学习模型的任务。
在206处,计算系统可以向该区域内的多个选定用户设备提供与该区域相关联的机器学习模型的当前版本。
在208处,该区域内的选定用户设备,诸如图1的用户计算设备102,可以使用多个选定用户设备中的每一个的本地数据来执行与该区域相关联的机器学习模型的接收到的当前版本的训练。例如,在一些实施方式中,与该区域相关联的机器学习模型的当前版本可以在该区域内的每个选定用户设备处使用联合学习技术来训练。例如,为训练迭代而选择的每个设备可以被赋予使用设备上本地生成并本地存储的数据来计算机器学习模型的更新的任务。
在210处,计算系统可以从多个选定用户设备获得更新的机器学习模型数据。
在212处,计算系统可以基于更新的机器学习模型数据生成与该区域相关联的更新的机器学习模型。例如,在一些实施方式中,计算系统可以使用多任务学习技术来将在一个区域中学习的机器学习模型偏置为更像在一个或多个其他区域中学习的一个或多个模型。通过跨区域组合信息,每个区域的模型可以被允许从在所有其他区域中生成的模型数据中受益。
附加公开
本文讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及这些系统所采取的动作以及发送到这些系统和从这些系统接收的信息。基于计算机的系统的固有灵活性允许各种各样的可能配置、组合以及在组件之间和当中对任务和功能进行划分。例如,本文讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实施。数据库和应用可以在单个系统上实施,或者跨多个系统分布。分布式组件可以顺序或并行操作。
尽管已经针对本主题的各种具体示例实施例详细描述了本主题,但是每个示例都是通过解释的方式提供的,而不是对本公开的限制。本领域技术人员在理解前述内容后,可以容易地对这些实施例产生改变、变化和等同物。因此,本主题公开不排除包括对本主题的这些修改、变化和/或添加,这对本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用,以产生又一实施例。因此,本公开旨在覆盖这些改变、变化和等同物。

Claims (20)

1.一种用于训练机器学习模型的计算机实施的方法,所述方法包括:
由一个或多个计算设备至少部分基于用户设备的时间可用性来获得多个区域;
由一个或多个计算设备选择区域内的多个可用用户设备;
由一个或多个计算设备向所述区域内的多个选定用户设备提供与所述区域相关联的机器学习模型的当前版本;
由一个或多个计算设备从所述多个选定用户设备获得更新的机器学习模型数据,所述更新的机器学习模型数据由所述多个选定用户设备通过使用所述多个选定用户设备中的每一个的本地数据来训练与所述区域相关联的机器学习模型的当前版本而生成;以及
由一个或多个计算设备基于所述更新的机器学习模型数据来生成与所述区域相关联的更新的机器学习模型。
2.根据权利要求1所述的计算机实施的方法,其中由一个或多个计算设备至少部分基于用户设备的时间可用性来获得多个区域还包括至少部分基于以下中的一个或多个来生成多个区域:
时区,
纬度范围,
经度范围,
语义边界,
用户群体,或
昼夜可用性模式。
3.根据权利要求1或权利要求2所述的计算机实施的方法,其中生成每个区域,使得每个区域包括具有相似昼夜循环的用户群体。
4.根据权利要求1至3中任一项所述的计算机实施的方法,还包括由一个或多个计算设备将全局机器学习模型的副本与每个区域相关联,其中基于所述区域中的用户使用联合学习来训练与所述区域相关联的机器学习模型。
5.根据权利要求1至4中任一项所述的计算机实施的方法,还包括:
由一个或多个计算设备向所述区域内的多个选定用户设备提供正则项,其中所述正则项被添加到损失函数中,以用于训练与所述区域相关联的机器学习模型的当前版本,并且其中所述正则项表示在参数空间中测量的、与所述区域相关联的模型距至少一个其他区域的至少一个模型的距离之和。
6.根据权利要求1至5中任一项所述的计算机实施的方法,其中,由一个或多个计算设备基于更新的机器学习模型数据生成与所述区域相关联的更新的机器学习模型还包括由一个或多个计算设备执行多任务学习,以将与所述区域相关联的机器学习模型朝向与至少一个其他区域相关联的至少一个机器学习模型进行偏置。
7.根据权利要求1至6中任一项所述的计算机实施的方法,还包括:
由一个或多个设备计算参数空间中至少一个其他区域的至少一个模型的质心;以及
由一个或多个计算设备将所述质心提供给所述区域内的多个选定用户设备,其中所述多个选定用户设备中的每一个计算在参数空间中测量的、与所述区域相关联的模型距所述质心的距离,所述距离作为被添加到损失函数中以用于训练与所述区域相关联的机器学习模型的当前版本的正则项。
8.一种计算设备,包括:
一个或多个处理器;和
一个或多个存储指令的非暂时性计算机可读介质,当由所述一个或多个处理器执行时,所述指令使得所述计算设备:
至少部分基于用户设备的时间可用性来生成多个区域;
选择区域内的多个可用用户设备;
向所述区域内的多个选定用户设备提供与所述区域相关联的机器学习模型的当前版本,其中所述多个选定用户设备中的每一个使用所述多个选定用户设备中的每一个的本地数据来执行与所述区域相关联的机器学习模型的当前版本的训练;
从所述多个选定用户设备获得更新的机器学习模型数据;以及
基于所述更新的机器学习模型数据来生成与所述区域相关联的更新的机器学习模型。
9.根据权利要求8所述的计算设备,其中至少部分基于用户设备的时间可用性来生成多个区域还包括至少部分基于以下中的一个或多个来生成多个区域:
时区,
纬度范围,
经度范围,
语义边界,
用户群体,或
昼夜可用性模式。
10.根据权利要求8或权利要求9所述的计算设备,其中生成每个区域,使得每个区域包括具有相似昼夜循环的用户群体。
11.根据权利要求8至10中任一项所述的计算设备,还包括指令,当由所述一个或多个处理器执行时,所述指令使得所述计算设备将全局机器学习模型的副本与每个区域相关联,其中基于所述区域中的用户使用联合学习来训练与所述区域相关联的机器学习模型。
12.根据权利要求8至11中任一项所述的计算设备,还包括指令,当由所述一个或多个处理器执行时,所述指令使得所述计算设备:
计算正则项,所述正则项表示在参数空间中测量的、与所述区域相关联的模型距至少一个其他区域的至少一个其他模型的距离之和;以及
向所述区域内的多个选定用户设备提供所述正则项,其中所述正则项被添加到损失函数中,以用于训练与所述区域相关联的机器学习模型的当前版本。
13.根据权利要求8至12中任一项所述的计算设备,其中基于所述更新的机器学习模型数据来生成与所述区域相关联的更新的机器学习模型还包括执行多任务学习,以将与所述区域相关联的机器学习模型朝向与至少一个其他区域相关联的至少一个机器学习模型进行偏置。
14.根据权利要求8至13中任一项所述的计算设备,还包括指令,当由所述一个或多个处理器执行时,所述指令使得所述计算设备:
计算参数空间中至少一个其他区域的至少一个模型的质心;以及
将所述质心提供给所述区域内的多个选定用户设备,其中所述多个选定用户设备中的每一个计算在参数空间中测量的、与所述区域相关联的模型距所述质心的距离,所述距离作为被添加到损失函数中以用于训练与所述区域相关联的机器学习模型的当前版本的正则项。
15.一种系统,包括:
服务器;和
多个用户设备;所述服务器包括:
一个或多个处理器;和
一个或多个存储指令的非暂时性计算机可读介质,当由所述一个或多个处理器执行时,所述指令使得所述一个或多个处理器执行操作,所述操作包括:
至少部分基于用户设备的时间可用性来获得多个区域;
从所述多个用户设备中选择区域内的多个可用用户设备;
向所述区域内的多个选定用户设备提供与所述区域相关联的机器学习模型的当前版本;
从所述多个选定用户设备获得更新的机器学习模型数据;以及
基于所述更新的机器学习模型数据来生成与所述区域相关联的更新的机器学习模型;
所述多个用户设备中的每一个包括:
一个或多个处理器;和
一个或多个存储指令的非暂时性计算机可读介质,当由所述一个或多个处理器执行时,所述指令使得所述一个或多个处理器执行操作,所述操作包括:
响应于从所述多个用户设备中被选择作为所述区域内的可用用户设备和接收与所述区域相关联的机器学习模型的当前版本,使用所述用户设备的本地数据来执行与所述区域相关联的机器学习模型的当前版本的训练;以及
向所述服务器提供通过训练所述机器学习模型的当前版本而生成的更新的机器学习模型数据。
16.根据权利要求15所述的系统,其中至少部分基于用户设备的时间可用性来获得多个区域还包括至少部分基于以下中的一个或多个来生成多个区域:
时区,
纬度范围,
经度范围,
语义边界,
用户群体,或
昼夜可用性模式。
17.根据权利要求15或权利要求16所述的系统,其中生成每个区域,使得每个区域包括具有相似昼夜循环的用户群体。
18.根据权利要求15至17中任一项所述的系统,所述服务器还包括操作,所述操作包括:
计算正则项,所述正则项表示在参数空间中测量的、与所述区域相关联的模型距至少一个其他区域的至少一个模型的距离之和;以及
向所述区域内的多个选定用户设备提供所述正则项,其中所述正则项被添加到损失函数中,以用于训练与所述区域相关联的机器学习模型的当前版本。
19.根据权利要求15至18中任一项所述的系统,其中基于所述更新的机器学习模型数据来生成与所述区域相关联的更新的机器学习模型还包括执行多任务学习,以将与所述区域相关联的机器学习模型朝向与至少一个其他区域相关联的至少一个机器学习模型进行偏置。
20.根据权利要求15至19中任一项所述的系统,所述服务器还包括操作,所述操作包括:
计算参数空间中至少一个其他区域的至少一个模型的质心;以及
将所述质心提供给所述区域内的多个选定用户设备,其中所述多个选定用户设备中的每一个计算在参数空间中测量的、与所述区域相关联的模型距所述质心的距离,所述距离作为被添加到损失函数中以用于训练与所述区域相关联的机器学习模型的当前版本的正则项。
CN201880044320.3A 2017-12-06 2018-09-11 具有数据相关可用性的分布式设备上学习的系统和方法 Active CN110832511B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/834,001 US11488054B2 (en) 2017-12-06 2017-12-06 Systems and methods for distributed on-device learning with data-correlated availability
US15/834,001 2017-12-06
PCT/US2018/050451 WO2019112667A1 (en) 2017-12-06 2018-09-11 Systems and methods for distributed on-device learning with data-correlated availability

Publications (2)

Publication Number Publication Date
CN110832511A true CN110832511A (zh) 2020-02-21
CN110832511B CN110832511B (zh) 2024-05-28

Family

ID=63794623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880044320.3A Active CN110832511B (zh) 2017-12-06 2018-09-11 具有数据相关可用性的分布式设备上学习的系统和方法

Country Status (4)

Country Link
US (2) US11488054B2 (zh)
EP (1) EP3625694A1 (zh)
CN (1) CN110832511B (zh)
WO (1) WO2019112667A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263646B1 (en) * 2014-03-31 2022-03-01 Groupon, Inc. Systems, apparatus, and methods of programmatically determining unique contacts
US11409845B2 (en) * 2019-01-17 2022-08-09 Nxp B.V. Method for determining if a machine learning model has been copied
US11227187B1 (en) 2019-05-23 2022-01-18 Augustus Intelligence Inc. Generating artificial intelligence solutions using raw data and simulated data
US11500970B2 (en) * 2019-08-02 2022-11-15 Nxp B.V. Machine learning model and method for determining if the machine learning model has been copied
US11475128B2 (en) * 2019-08-16 2022-10-18 Mandiant, Inc. System and method for heterogeneous transferred learning for enhanced cybersecurity threat detection
US11836583B2 (en) * 2019-09-09 2023-12-05 Huawei Cloud Computing Technologies Co., Ltd. Method, apparatus and system for secure vertical federated learning
US11836615B2 (en) 2019-09-20 2023-12-05 International Business Machines Corporation Bayesian nonparametric learning of neural networks
US11500929B2 (en) 2019-11-07 2022-11-15 International Business Machines Corporation Hierarchical federated learning using access permissions
GB2588952A (en) * 2019-11-15 2021-05-19 Prevayl Ltd Method and electronics arrangement for a wearable article
US11461593B2 (en) 2019-11-26 2022-10-04 International Business Machines Corporation Federated learning of clients
US11551083B2 (en) 2019-12-17 2023-01-10 Soundhound, Inc. Neural network training from private data
US11507836B1 (en) 2019-12-20 2022-11-22 Apple Inc. Federated learning using local ground truth estimation
CN110874647A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 联盟学习中的私有数据评估、联盟学习方法、装置及系统
US20230068386A1 (en) * 2020-02-03 2023-03-02 Intel Corporation Systems and methods for distributed learning for wireless edge dynamics
US11948096B2 (en) 2020-03-13 2024-04-02 International Business Machines Corporation Adaptively adjusting influence in federated learning model updates
KR102501496B1 (ko) * 2020-06-11 2023-02-20 라인플러스 주식회사 개인화를 통한 연합 학습의 다중 모델 제공 방법, 시스템, 및 컴퓨터 프로그램
US20230300686A1 (en) * 2020-08-11 2023-09-21 Nokia Technologies Oy Communication system for machine learning metadata
US20230379872A1 (en) * 2020-10-13 2023-11-23 Beijing Xiaomi Mobile Software Co., Ltd. Wireless communication methods
CN114418131A (zh) * 2020-10-28 2022-04-29 索尼公司 用于联邦学习的电子设备以及方法
WO2022144068A1 (en) * 2020-12-28 2022-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Training of a machine learning model
US11017322B1 (en) 2021-01-28 2021-05-25 Alipay Labs (singapore) Pte. Ltd. Method and system for federated learning
US11443245B1 (en) 2021-07-22 2022-09-13 Alipay Labs (singapore) Pte. Ltd. Method and system for federated adversarial domain adaptation
US20230142965A1 (en) * 2021-11-09 2023-05-11 Paypal, Inc. Federated machine learning based browser extension
US20230177385A1 (en) * 2021-12-08 2023-06-08 International Business Machines Corporation Federated machine learning based on partially secured spatio-temporal data
US11995412B1 (en) 2023-10-06 2024-05-28 Armada Systems, Inc. Video based question and answer
US11960515B1 (en) 2023-10-06 2024-04-16 Armada Systems, Inc. Edge computing units for operating conversational tools at local sites

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232445A1 (en) * 2015-02-06 2016-08-11 Google Inc. Distributed training of reinforcement learning systems
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
WO2017066509A1 (en) * 2015-10-16 2017-04-20 Google Inc. Systems and methods of distributed optimization
CN106687995A (zh) * 2014-05-12 2017-05-17 高通股份有限公司 分布式模型学习
WO2017145852A1 (ja) * 2016-02-24 2017-08-31 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法及びプログラムを記憶する記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195906B2 (en) * 2014-03-10 2015-11-24 Google Inc. Region extraction from occupancy grids
EP3273387B1 (en) * 2016-07-19 2024-05-15 Siemens Healthineers AG Medical image segmentation with a multi-task neural network system
US10387768B2 (en) * 2016-08-09 2019-08-20 Palo Alto Research Center Incorporated Enhanced restricted boltzmann machine with prognosibility regularization for prognostics and health assessment
CN117556888A (zh) * 2016-08-19 2024-02-13 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的系统和方法
US10200457B2 (en) * 2016-10-26 2019-02-05 Uber Technologies, Inc. Selective distribution of machine-learned models

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106687995A (zh) * 2014-05-12 2017-05-17 高通股份有限公司 分布式模型学习
US20160232445A1 (en) * 2015-02-06 2016-08-11 Google Inc. Distributed training of reinforcement learning systems
CN106156810A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
WO2017066509A1 (en) * 2015-10-16 2017-04-20 Google Inc. Systems and methods of distributed optimization
WO2017145852A1 (ja) * 2016-02-24 2017-08-31 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法及びプログラムを記憶する記憶媒体

Also Published As

Publication number Publication date
CN110832511B (zh) 2024-05-28
WO2019112667A1 (en) 2019-06-13
US11488054B2 (en) 2022-11-01
US20230040555A1 (en) 2023-02-09
US20190171978A1 (en) 2019-06-06
EP3625694A1 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
CN110832511B (zh) 具有数据相关可用性的分布式设备上学习的系统和方法
JP7087079B2 (ja) 深層学習アプリケーションのための堅牢な勾配重み圧縮方式
US20170316324A1 (en) Computerized Event-Forecasting System and User Interface
US20210042628A1 (en) Building a federated learning framework
CN110766142A (zh) 模型生成方法和装置
WO2019018375A1 (en) NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS
CN110520871A (zh) 训练机器学习模型
CN110114784A (zh) 递归神经网络
US20230359899A1 (en) Transfer learning based on cross-domain homophily influences
US11423051B2 (en) Sensor signal prediction at unreported time periods
CN112632380A (zh) 兴趣点推荐模型的训练方法和推荐兴趣点的方法
CN110268338A (zh) 使用视觉输入进行代理导航
CN109858615A (zh) 具有记忆的低通递归神经网络系统
US11188035B2 (en) Continuous control of attention for a deep learning network
US10444062B2 (en) Measuring and diagnosing noise in an urban environment
CN107689227A (zh) 一种基于数据融合的语音降噪方法及系统
KR102561799B1 (ko) 디바이스에서 딥러닝 모델의 레이턴시를 예측하는 방법 및 시스템
JP2022518671A (ja) デュアル・ネットワークと共に訓練された主ネットワークを介した多目的タスクの実行
AU2021271202B2 (en) Matrix sketching using analog crossbar architectures
US11801355B2 (en) Oxygen tank duration of use
CN111949938B (zh) 异动信息的确定方法、装置、电子设备和计算机可读介质
CN109670577B (zh) 模型生成方法和装置
US20230244475A1 (en) Automatic extract, transform and load accelerator for data platform in distributed computing environment
Wang et al. Base Station Location Optimization Based on Genetic Algorithm in CAD System
CN117390490A (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
GR01 Patent grant