CN117121098A - 机器学习模型的短暂学习 - Google Patents

机器学习模型的短暂学习 Download PDF

Info

Publication number
CN117121098A
CN117121098A CN202180096631.6A CN202180096631A CN117121098A CN 117121098 A CN117121098 A CN 117121098A CN 202180096631 A CN202180096631 A CN 202180096631A CN 117121098 A CN117121098 A CN 117121098A
Authority
CN
China
Prior art keywords
data stream
audio data
global
model
client device
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
Application number
CN202180096631.6A
Other languages
English (en)
Inventor
弗朗索瓦丝·博费
沈启财
特雷弗·施特勒曼
奥伦·利特温
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
Priority claimed from US17/533,779 external-priority patent/US20230156248A1/en
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2021/062553 external-priority patent/WO2023091158A1/en
Publication of CN117121098A publication Critical patent/CN117121098A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本文公开的实施方式涉及基于在远程系统(例如,远程服务器)处生成的(多个)梯度的机器学习(“ML”)模型的短暂学习。远程系统的(多个)处理器能够从用户的客户端设备接收捕获(多个)口头话语的(多个)音频数据流。履行流水线能够处理(多个)音频数据流,以使得(多个)口头话语的(多个)特定履行被执行。同时,训练流水线能够使用无监督学习技术处理(多个)音频数据流以生成(多个)梯度。在通过履行流水线和/或训练流水线的处理之后,(多个)音频数据流被远程系统丢弃。因此,(多个)ML模型能够在远程系统处被训练,而不通过其非暂时存储器存储或记录音频数据流,从而提供用于训练(多个)ML模型的更有效训练机制并且增加了用户数据的安全性。

Description

机器学习模型的短暂学习
背景技术
(多个)机器学习(ML)模型的联合学习是一种日益流行的用于训练(多个)ML模型的ML技术。在传统的联合学习中,设备上ML模型本地存储在用户的客户端设备上,并且全局ML模型,其是设备上ML模型的基于云的对应方,远程地存储在远程系统(例如,服务器集群)。使用设备上ML模型的客户端设备能够处理在客户端设备处检测到的用户输入以生成预测输出,并且能够将预测输出与地面实况输出进行比较以生成客户端梯度。此外,客户端设备能够将客户端梯度传输到远程系统。远程系统能够利用客户端梯度并且可选地在附加客户端设备处以类似方式生成的附加客户端梯度来更新全局ML模型的权重。远程系统能够将全局ML模型或全局ML模型的更新权重传输到客户端设备。然后客户端设备能够用全局ML模型替换设备上ML模型,或者用全局ML模型的更新后的权重替换设备上ML模型的权重,从而更新设备上ML模型。
然而,在远程系统(例如,服务器群集)用于处理在客户端设备处检测到的用户输入的情况下,(多个)ML模型的联合学习不太适合训练(多个)ML模型。例如,假设基于云的自动语音识别(ASR)模型被用于为多个用户之间的基于云的视频会议生成闭路字幕文本。在该示例中,捕获多个用户之间的口头话语的音频数据通过一个或多个网络并且使用远程系统在多个用户的相应客户端设备之间传输,并且闭路字幕文本在远程系统处生成并且被传输到多个用户的相应客户端设备。因此,音频数据和闭路字幕文本可能不会被认为是任何相应客户端设备本地的,从而破坏了使用联合学习训练(多个)ML模型的隐私和安全益处。结果,需要能够以私密和安全的方式利用该数据的其它训练技术。
发明内容
本文中公开的实施方式涉及基于在远程系统处生成的(多个)梯度的(多个)全局机器学习(ML)模型的短暂学习。远程系统的(多个)处理器能够从多个客户端设备接收对应客户端数据流,利用履行流水线处理对应客户端数据流以使得对应音频数据流的特定履行被执行,并且并行地利用训练流水线处理对应客户端数据流以生成一个或多个梯度,以用于使用无监督学习更新一个或多个全局ML模型的一个或多个全局权重。远程系统的(多个)处理器能够以基于处理对应客户端数据流生成的一个或多个梯度为基础来进一步更新一个或多个全局ML模型的一个或多个全局权重。一个或多个更新的全局ML模型和/或其一个或多个更新的权重能够被传输回多个客户端设备中的一个或多个。值得注意的是,对应客户端数据流不被存储或记录在远程系统的非暂时存储器中,并且对应客户端数据流在由履行流水线和/或训练流水线使用之后被远程系统丢弃,因此短语暂时学习。
例如,假设捕获“嘿助理,天气怎么样?”的口头话语的音频数据流经由用户的给定客户端设备的一个或多个麦克风生成。在该示例中,捕获口头话语的音频数据流(或基于处理口头话语生成的自动语音识别(ASR)数据和/或自然语言理解(NLU)数据)可以被传输到远程系统,因为给定客户端设备需要与远程系统交互以获得响应于口头话语的天气信息。因此,远程系统能够利用履行流水线来使得特定履行基于口头话语被执行,诸如获得天气信息并且经由给定客户端设备来提供天气信息以供呈现给用户。此外,虽然远程系统利用履行流水线以使得某个履行基于口头话语来执行,但是训练流水线也能够处理音频数据、ASR数据和/或NLU数据的流。例如,训练流水线能够处理在要训练的全局ML模型是全局ASR模型的情况下的音频数据流、在要训练的全局ML模型是全局NLU模型的情况下的ASR数据流(例如,在给定客户端设备处本地生成并且传输到远程系统,或者在远程系统处远程生成)等。此外,能够基于处理客户端数据并且使用无监督学习来生成一个或多个梯度,并且基于梯度中的一个或多个来更新全局ML模型的一个或多个全局权重。更新的全局ML模型(或其一个或多个全局权重)能够被传输回给定客户端设备,并且给定客户端设备能够替换给定客户端设备的设备上存储器中的对应设备上ML模型(或其一个或多个局部权重)。值得注意的是,更新的全局ML模型的实例还能够保留在一个或多个远程服务器上,以便随后由履行流水线用于处理附加对应客户端数据流和/或由训练流水线用于进一步更新更新的全局ML模型。
尽管以上示例针对作为捕获用户的口头话语的音频数据的客户端数据来描述,但是应当理解,这出于示例的目的而不是限制性的。例如,客户端数据能够以附加地或替代地包括在给定客户端设备处生成的视觉数据或文本数据。在这些和其它实例中,基于客户端数据被更新的全局ML模型中的一个或多个可以对应于基于视觉的ML模型和/或基于文本的ML模型。此外,尽管以上示例关于作为ASR模型的全局ML模型来描述,但是应当理解,这也是出于示例的目的而不意味着限制。例如,全局ML模型能够包括被训练为预测音频数据流是否捕获特定单词或短语的全局热词检测模型、被训练为预测人的话音活动是否在流音频数据中被捕获的全局话音活动检测(VAD)模型、和/或任何其它基于音频的ML模型。
在一些实施方式中,用于生成一个或多个梯度的无监督学习能够对应于半监督学习,诸如教师-学生方法。例如,远程系统能够基于使用一个或多个全局ML模型处理客户端数据来生成一个或多个预测输出。此外,能够由远程系统基于使用一个或多个全局基准模型处理客户端数据来生成一个或多个基准输出。在该示例中,一个或多个基准全局ML模型可以是与一个或多个全局ML模型相同的类型,并且一个或多个基准输出可以被用作用于生成一个或多个梯度的监督信号。例如,一个或多个全局基准ML模型可以对应于全局基准ASR模型,该全局基准ASR模型被用于基于处理音频数据流来生成一个或多个基准ML模型。此外,一个或多个全局ML模型可以对应于不同的全局ASR模型,该模型被用于基于处理音频数据流来生成一个或多个预测输出。在这种情况下,可以将一个或多个基准输出与一个或多个预测输出进行比较以生成一个或多个梯度,并且可以基于一个或多个梯度来更新用于生成一个或多个预测输出的不同的全局ASR模型。
在这些实施方式的一些版本中,一个或多个预测输出可以仅使用一个或多个全局ML模型生成,和/或一个或多个梯度可以被用于响应于确定满足一个或多个条件来更新一个或多个全局ML模型。一个或多个条件能够包括,例如,一个或多个预测输出是否满足预测输出阈值,一个或多个基准输出是否满足基准输出阈值,和/或其它条件。换句话说,一个或多个预测输出可以仅使用一个或多个全局ML模型来生成,和/或一个或多个梯度可以被用于响应确定一个或多个基准输出提供用于更新一个或多个全局ML模型的足够监督信号来更新一个或多个全局ML模型。
在附加的或替代的实施方式中,用于生成一个或多个梯度的无监督学习能够对应于自监督学习。在自监督学习中,可以识别客户端数据的目标部分。客户端数据的目标部分可以在客户端数据的前置部分之后,并且可以在客户端数据的附加部分之前。此外,可以使用各种掩蔽技术来掩蔽客户端数据的目标部分。客户端数据的目标部分可以被任意选择,或者可以基于一个或多个标准来选择,标准诸如在n和m秒音频数据之间的特定段对应于目标部分、对应于图像的中心部分的视觉数据部分对应于目标部分、文本数据的中心部分对应于目标部分、和/或用于选择客户端数据的目标部分的任何其它标准。在客户端数据对应于音频数据流的一些实施方式中,客户端数据的目标部分可以对应于对应音频数据流的目标音频波形部分,客户端数据的前置部分可以对应于在目标音频波形部分之前接收到的前置音频波形部分,并且客户端数据的附加部分可以对应于在目标音频波形部分之后接收到的附加音频波形部分。
在客户端数据对应于音频数据流的附加或替代的实施方式中,客户端数据可以对应于对应音频数据流的表示(例如,从一个或多个客户端设备接收作为客户端数据和/或在一个或多个远程服务器处生成),诸如对应音频数据流的向量表示、基于处理对应音频数据流生成的ASR数据、和/或音频数据的其它表示。在这些实施方式中,客户端数据的目标部分可以对应于对应音频数据流的目标表示部分,客户端数据的前置部分可以对应于在目标表示部分之前的前置表示部分,并且客户端数据的附加部分可以对应于跟随在目标表示部分之后的附加表示部分。在附加的或替代的实施方式中,客户端数据可以对应于文本数据或视觉数据。在这些实施方式中,目标部分、前置部分和附加部分可以以相同或类似的方式识别,并且目标部分可以被掩蔽。
在用于生成一个或多个梯度的无监督学习对应于自监督学习的实施方式中,可以使用一个或多个全局ML模型来处理客户端数据的前置部分和客户端数据的附加部分,以生成预测客户端数据的目标部分的一个或多个预测输出。例如,在客户端数据的目标部分对应于对应音频数据流的目标音频波形部分的实施方式中,进一步假设音频数据捕获口头话语。在该示例中,可以使用全局ASR模型来处理前置音频波形部分和附加音频波形部分,以生成一个或多个预测输出。在该示例中,一个或多个预测输出可以对应于预测目标音频波形,该预测目标音频波形被预测为对应于目标音频波形部分。换句话说,自监督学习技术可以尝试基于处理前置音频波形部分和附加音频波形部分来重构目标音频波形部分。值得注意的是,在利用全局ASR模型重构目标音频波形部分的实施方式中,全局ASR模型可以是多语言ASR模型,因为提供对应音频数据流的给定客户端设备的主语言可能与重构目标音频波形部分无关。然而,在各种实施方式中,可以使用特定于提供对应音频数据流的给定客户端设备的主语言的一个或多个全局ASR模型来处理前置音频波形部分和附加音频波形部分。
此外,例如,在客户端数据的目标部分对应于对应音频数据流的目标表示部分的实施方式中,还假设音频数据捕获口头话语。在该示例中,可以使用全局ASR模型和/或全局NLU模型来处理前置表示部分和附加表示部分,以生成一个或多个预测输出。在该示例中,一个或多个预测输出可以对应于预测目标表示,该预测目标表示被预测为对应于目标表示部分。换句话说,自监督学习技术可以尝试基于处理前置表示部分和附加表示部分来重构目标表示部分。
此外,在利用自监督的实施方式中,可以将一个或多个预测输出与目标部分进行比较,以生成一个或多个梯度。换句话说,系统可以利用被掩蔽为监督信号的客户端数据的实际目标部分,一个或多个预测输出利用该监督信号来预测以对应于目标部分。此外,基于该比较,一个或多个梯度可以被生成并且被利用以更新一个或多个全局ML模型。
在各种实施方式中,并且在处理客户端数据以生成一个或多个预测输出之前,客户端数据可以被路由通过一个或多个缓冲器,以确保客户端数据被(多个)适当全局ML模型处理。在一些实施方式中,一个或多个缓冲器能够被用于基于给定客户端设备的主语言和/或基于给定客户端设备的地理区域来标记客户端数据。在这些实施方式中,能够基于不同的主语言和/或地理区域来更新(多个)全局ML模型的不同实例。例如,如果给定客户端设备的主语言是英语,则能够用“英语”标签来标记客户端数据,并且使用特定于英语的(多个)全局ML模型来处理客户端数据。然而,如果给定客户端设备的主语言是法语,则能够用“法语”标签来标记客户端数据,并且使用特定于法语语言的(多个)全局ML模型来处理客户端数据。附加地或者替代地,如果给定客户端设备的地理区域是美国东南,则能够用“美国东南”标签来标记客户端数据,并且使用特定于美国东南的全局ML模型来处理客户端数据。然而,如果给定客户端设备的地理区域是德国,则能够用“德国”标签来标记客户端数据,并且使用特定于德国的全局ML模型来处理客户端数据。在这些实施方式中,不同的主语言和/或地理区域基于从一个或多个客户端设备传输到远程系统的元数据连同客户端数据。在这些实施方式的一些版本中,为了更新(多个)适当全局ML模型,能够利用一个或多个缓冲器来预处理客户端数据。例如,远程系统能够利用一个或多个缓冲器对客户端数据重新采样或分段。
通过使用本文中描述的技术,能够实现各种技术优点。作为一个非限制性示例,在利用本文中所描述的短暂学习技术时,能够基于否则将不是可用训练的数据来更新一个或多个全局ML模型,而不会潜在地损害客户端数据的安全性,从而在保持客户端数据的安全性的同时增加一个或多个全局ML模型的精度和/或召回率。例如,远程系统能够在客户端数据对远程系统可用的同时生成一个或多个梯度,并且不将客户端数据存储或记录在远程系统可用的暂时存储器中,在没有这些技术的情况下,由于隐私考虑,可能不能用于更新一个或多个全局ML模型。因此,当将对应全局ML模型(或其权重)部署到客户端设备时,设备上ML模型也更稳定并且具有更高的精度和/或召回率。
提供以上描述作为本公开的一些实施方式的概述。下面更详细地描述那些实施方式和其他实施方式的进一步描述。
附图说明
图1描绘了根据各种实施方式的展示本公开的各个方面的示例处理流程。
图2描绘了其中可以实现本文中公开的实施方式的示例环境的框图。
图3描绘了图示根据各种实施方式的(多个)机器学习模型的短暂学习的示例方法的流程图。
图4描绘了图示根据各种实施方式的在(多个)机器学习模型的短暂学习中使用半监督学习的示例方法的流程图。
图5描绘了图示根据各种实施方式的在(多个)机器学习模型的短暂学习中使用自监督学习的各种示例方法的流程图。
图6描绘了根据各种实施方式的计算设备的示例架构。
具体实施方式
图1描绘了展示本公开的各个方面的示例处理流程。客户端设备150被图示在图1中,并且至少包括涵盖在表示客户端设备150的图1的框内的组件。输入引擎152能够使用各种组件和传感器来检测各种类型的用户输入。例如,输入引擎152能够基于以下来检测口头话语:经由客户端设备150的一个或多个麦克风生成的音频数据、基于经由客户端设备150的触敏显示器或与客户端设备150通信的外围设备(例如,与客户端设备150集成的键盘或外部键盘)生成的文本数据的键入输入、基于经由客户端设备150的触敏显示器客户端设备150的一个或多个按钮(例如,一个或多个硬件按钮和/或软件按钮)生成的触摸数据的触摸输入、基于经由客户端设备150的一个或多个视觉组件生成的视觉数据的姿势输入和/或能够由客户端设备150检测到的任何其它类型的用户输入。此外,客户端设备150可以包括各种设备上机器学习(ML)模型,其能够被用于处理在客户端设备150处检测到的任何用户输入(例如,如关于图2更详细地描述的)。能够通过一个或多个网络(例如,通过一个或多个局域网(LAN)和/或广域网(WAN))将由输入引擎152检测到的这些用户输入作为客户端数据150A(例如,在客户端设备150处检测到的用户输入,并且可选地连同其他数据(例如,元数据)一起)从客户端设备150传输到远程系统160。此外,在一个或多个附加客户端设备190处检测到的用户输入能够作为客户端数据190A(例如,在一个或多个客户端设备190处检测到的用户输入,并且可选地连同其他数据(例如,元数据)一起)通过一个或多个远程系统从一个或多个附加客户端设备190传输到远程系统160。
如本文中所描述的,实施方式针对(多个)ML模型的短暂学习作为用于训练(多个)ML模型的ML技术。类似于传统联合学习,短暂学习利用基于客户端数据150A和/或190A生成的梯度来更新(多个)ML模型。然而,与分别在客户端设备150和/或190处本地生成梯度的传统联合学习相反,梯度由远程系统160生成。利用短暂学习,客户端数据150A和/或190A被传输到远程系统160以在使得特定履行基于分别在客户端设备150和/或190处检测到的用户输入被执行时利用远程系统160的一个或多个能力,这使得远程系统160还能够利用客户端数据150A和/或190A来更新(多个)ML模型。值得注意的是,远程系统160利用客户端数据150A和/或190A来生成梯度,而不将客户端数据150A和/或190A存储或记录在远程系统160的任何非暂时存储器中。换句话说,可能需要远程系统160使在客户端设备150和/或190之一处接收到的用户输入的特定履行被执行。结果,客户端设备150和/或190将客户端数据150A和/或190A传输到远程系统160。在客户端数据150A和/或190A在远程系统160处可用的同时,能够在远程系统160处利用短暂学习来基于客户端数据150A和/或190A来更新或训练(多个)ML模型,从而利用客户端数据150A和/或190A来生成(多个)更准确和精确的ML模型,同时还维持或增加客户端数据150A和/或190A的安全性。
在一些实施方式中,远程系统160能够利用分叉(bifurcation)引擎162来复制客户端数据150A和/或190A,并且经由履行流水线160A(例如,通常由远程系统160的左上部分中的虚线框指示)利用客户端数据150A和/或190A的第一实例,并且经由训练流水线160B(例如,由远程系统160的剩余部分指示)利用客户端数据150A和/或190A的第二实例。在附加的或替代的实施方式中,履行流水线160A和训练流水线160B可以包括共享存储器并且两者都访问客户端数据150A和/或190A。在这些实施方式中,可以省略分叉引擎162。在一些实施方式中,履行流水线160A和训练流水线160B可以经由相同的高性能服务器或相同的高性能服务器群集来实现。在附加或替代的实施方式中,可以经由专用高性能服务器或专用高性能服务器群集来实现履行流水线160A,并且可以经由不同的专用高性能服务器或不同的专用高性能服务器群集来实现训练流水线160B。
当客户端数据150A和/或190A在远程系统160处被接收(例如,作为客户端数据流)时,履行流水线160A能够处理客户端数据150A和/或190A。具体地,履行流水线160A能够利用全局ML引擎166A来使用存储在(多个)全局ML模型数据库164中的一个或多个全局ML模型来处理客户端数据150A和/或190A,以使得特定履行168A基于客户端数据150A和/或190A被执行。在一些实施方式中,可以从第三方开发者接收存储在(多个)全局ML模型数据库164中的一个或多个全局ML模型。如本文中所使用的,术语第三方可以指与托管远程系统160的实体不同的实体。在这些实施方式中,当客户端数据150A和/或190A与第三方相关联时,远程系统160能够利用一个或多个第三方全局ML模型作为履行流水线160A的一部分。此外,远程系统160能够利用一个或多个第三方全局ML模型作为训练流水线160B的一部分,使得训练流水线160B提供训练作为服务。
值得注意的是,由全局ML引擎166A用于处理客户端数据150A和/或190A的一个或多个全局ML模型以及因此客户端数据150A和/或190A的特定履行168A可以基于客户端数据的类型(例如,捕获(多个)口头话语的音频数据、键入输入、触摸输入、姿势输入等)。例如,假设捕获客户端设备150的用户的口头话语的音频数据流(例如“嘿助理”)经由客户端设备150的一个或多个麦克风生成并且经由输入引擎152检测。进一步假设音频数据作为客户端数据150A被传输到远程系统160。在该示例中,履行流水线160A能够使得全局ML引擎166A使用存储在(多个)全局ML模型数据库中的各种基于音频的全局ML模型来处理音频数据流。例如,全局ML引擎166A能够使用全局热词检测模型来处理捕获口头话语的音频数据,以生成预测口头语话是否包括调用自动助理的特定单词或短语(例如,短语“嘿助理”)的热词数据。热词数据能够包括指示口头话语是否包括调用自动助理的特定单词或短语的预测值,诸如二进制值、概率或对数似然性。此外,如果预测值满足阈值,则全局ML引擎166A可以确定口头话语包括调用自动助理的特定单词或短语。因此,在该示例中,在该示例中的口头话语的特定履行168A可以包括激活一个或多个当前休眠的自动辅助功能,诸如自动语音识别(ASR)和/或其它自动辅助功能。
继续上述示例,假设捕获客户端设备150的用户的附加口头话语(例如,“天气怎么样?”)的音频数据流经由客户端设备150的一个或多个麦克风生成并且经由输入引擎152检测。进一步假设音频数据作为客户端数据150A被传输到远程系统160。在该示例中,全局ML引擎166A能够使用全局ASR模型来处理捕获口头话语的音频数据,以生成预测口头话语(例如,“天气怎么样?”)的一个或多个术语的ASR数据。ASR数据能够包括术语和/或短语的相应预测值,诸如多个术语假设和用于每个术语假设的二进制值、概率或对数似然性。全局ML引擎166A可以选择具有最高对应预测值的术语假设作为用于口头话语的识别文本。此外,在该示例中,全局ML引擎166A能够使用全局自然语言理解(NLU)模型来处理所识别的文本,以生成NLU数据,该NLU数据预测一个或多个意图以及用于与一个或多个意图相关联的一个或多个对应参数的一个或多个槽值。在该示例中,NLU数据能够包括一个或多个预测意图,其能够包括具有用于“时间”参数的推断的槽值“今天”和用于“位置”参数的槽值“[位置]”的天气意图,其中“[位置]”的槽值能够基于作为客户端数据150A的一部分与音频数据一起传输的元数据被推断作为当前位置。此外,全局ML引擎166A可以基于NLU数据生成一个或多个结构化请求,并且将一个或多个结构化请求传输到能够提供由用户请求的天气信息的履行器。因此,在该示例中的口头话语的特定履行168A可以包括使天气信息被提供用于经由客户端设备150作为特定履行168A呈现给用户。附加地或者替代地,在该示例中的口头话语的特定履行168A可以包括ASR数据,其要被提供以用于经由客户端设备150呈现给用户和/或在客户端设备150处本地使用以获得要被提供用于呈现给用户的天气信息。值得注意的是,在该示例中,特定履行168A可以不触发任何附加的下游系统或ML模型。
尽管以上示例关于在使得特定履行168A被执行时使用基于音频的ML模型来描述,但应理解,这出于示例的目的而并非旨在进行限制。例如,假设捕获客户端设备150的用户的姿势(诸如旨在调用自动助理的姿势)的视觉数据流经由客户端设备150的一个或多个视觉组件生成并且经由输入引擎152检测。进一步假设视觉数据作为客户端数据150A被传输到远程系统160。在该示例中,履行流水线160A能够使全局ML引擎166A使用存储在(多个)全局ML模型的数据库中的各种基于视觉的全局ML模型来处理音频数据流。例如,全局ML引擎166A能够使用全局热词自由调用模型来处理捕获姿势的视觉数据,以生成热词自由数据,该热词自由数据预测姿势是否包括调用自动助理的特定姿势(例如,特定手运动、手臂运动和/或身体运动)。热词自由数据能够包括指示姿势是否包括调用自动助理的特定姿势的预测值,诸如二进制值、概率或对数似然性。此外,如果预测值满足阈值,则全局ML引擎166A可以确定姿势包括调用自动助理的特定姿势。因此,在该示例中,在该示例中的口头话语的特定履行168A还可以包括激活一个或多个当前休眠的自动辅助功能,诸如自动语音识别(ASR)和/或其他自动辅助功能。
并行地,当客户端数据150A和/或190A在远程系统160处被接收时,训练流水线160B能够处理客户端数据150A和/或190A。在一些实施方式中,训练流水线160B可以包括一个或多个缓冲器180以路由客户端数据150A和/或190A和/或在训练之前处理客户端数据150A和/或190A。例如,一个或多个缓冲器180能够被用于基于与客户端设备150和/或190相关联的主语言和/或基于与客户端设备150和/或190相关联的地理区域对客户端数据150A和/或190A进行排序。与客户端设备150和/或190相关联的主语言和/或与客户端设备150和/或190相关联的地理区域可以被包括作为连同用户输入一起被传输到远程系统160的元数据的一部分,以形成客户端数据150A和/或190A。例如,第一缓冲器可以与英语相关联,第二缓冲器可以与德语相关联,第三缓冲器可以与法语相关联,等等。附加地或者替代地,第一缓冲器可以与美国的东南区域或第一特定状态相关联,第二缓冲器可以与美国的东北区域或第二特定状态相关联,第三缓冲器可以与美国的西海岸区域或第三特定状态相关联,等等。这使得训练流水线160B能够训练特定于特定语言和/或地理区域的ML模型。此外,例如,一个或多个缓冲器180能够被用于在训练之前通过对客户端数据150A和/或190A重新采样、对客户端数据150A和/或190A分段、和/或对客户端数据150A和/或190A执行其它预处理操作来预处理客户端数据150A和/或190A。
此外,训练流水线160B能够利用全局ML引擎166B(例如,履行流水线160A的全局ML引擎166A和/或全局ML引擎的不同实例)来使用存储在(多个)全局ML模型数据库164中的一个或多个全局ML模型来处理客户端数据150A和/或190A以生成一个或多个预测输出168B。类似于以上关于履行流水线166A所描述的特定履行168A,由全局ML引擎166B用于处理客户端数据150A和/或190A的一个或多个全局ML模型以及因此基于客户端数据150A和/或190A生成的一个或多个预测输出168B可以基于客户端数据的类型(例如,捕获(多个)口头话语的音频数据、键入的输入、触摸输入、姿势输入等)。在一些实施方式中,根据关于训练流水线160A的全局ML引擎166A描述的以上示例,一个或多个预测输出168B可以分别对应于热词数据、ASR数据或热词自由数据。在那些实施方式的一些版本中,训练流水线160B可以利用由履行流水线160A生成的数据作为一个或多个预测输出168B以节省远程系统处的计算资源。然而,在附加或替代的实施方式中,训练流水线160B可以基于用于生成用于更新一个或多个全局ML模型的一个或多个梯度的学习技术来生成一个或多个预测输出168B。
例如,梯度引擎172B能够基于一个或多个预测输出168B来生成梯度174B。在一些实施方式中,梯度引擎172B能够基于将一个或多个预测输出168B与使用无监督学习技术生成的一个或多个监督信号170B进行比较来生成梯度174B。换句话说,用于客户端数据150A和/或190A的一个或多个地面实况输出可能对远程系统160不可用。因此,远程系统160可以利用各种无监督学习技术来生成一个或多个监督信号170B。例如,如关于图3和4更详细地描述的,远程系统160可以利用半监督学习来生成一个或多个监督信号170B(例如,教师-学生方法)。然而,在一些实施方式中,远程系统160可以基于在客户端设备150处检测到的附加用户输入来接收一个或多个监督信号160。例如,假设口头话语的特定履行168A包括预测为对应于在由远程系统160处理的音频数据中捕获的口头话语的ASR数据。在这种情况下,ASR数据能够包括被预测为对应于口头话语的转录,并且能够利用校正转录的一个或多个术语的附加用户输入来基于该隐式反馈生成一个或多个监督信号。此外,例如,假设口头话语的特定履行168A包括热词数据,该热词数据包括客户端设备150的用户是否打算基于由远程系统160处理的音频数据来调用自动助理的预测。进一步假设远程系统160确定用户打算调用自动助理。在这种情况下,能够提示用户验证用户是否打算调用自动助理以及响应于提示而接收到的附加用户输入是否能够用于基于该显式反馈生成一个或多个监督信号。作为另一示例,并且如关于图3和5更详细地描述的,远程系统160可以利用自监督学习来生成一个或多个监督信号170B。
在一些实施方式中,梯度174B(和其它梯度)可以从用于训练(多个)ML模型的损失函数推导,使得梯度表示从一个或多个监督信号170B与一个或多个预测输出168B的比较而获得的该损失函数(或其导数)的值。例如,当一个或多个监督信号170B与一个或多个预测输出168B匹配时,梯度引擎172B能够生成零梯度。此外,例如,一个或多个监督信号170B与一个或多个预测输出168B不匹配,梯度引擎172B能够生成非零梯度,该非零梯度可选地取决于不匹配的程度。不匹配的程度能够基于一个或多个监督信号170B与一个或多个预测输出168B的确定性比较之间的不匹配的程度。在附加的或替代的实施方式中,梯度174B(和其它梯度)可以从用于训练一个或多个ML模型的损失函数推导,使得梯度表示基于一个或多个预测输出168B(例如,不考虑任何监督信号)而确定的损失函数(或其导数)的值。梯度174B能够与其他梯度一起存储在(多个)梯度的数据库176B中,直到远程更新引擎136B利用梯度来更新存储在(多个)全局ML模型的数据库164中的一个或多个ML模型。
远程更新引擎136B能够至少利用梯度174B来更新存储在(多个)全局ML模型的数据库164中的(多个)全局ML模型的一个或多个权重。例如,远程更新引擎136B能够从存储在(多个)全局ML模型的数据库164中的一个或多个全局ML模型中识别(多个)特定全局ML模型,以更新其权重。在一些实施方式中,远程更新引擎136B能够基于存储在(多个)梯度的数据库176B中的梯度的类型来识别特定全局ML模型。例如,如果在(多个)梯度的数据库176B中存储了多个热词梯度,则远程训练引擎136能够基于多个热词梯度来识别用于更新的一个或多个全局热词模型。作为另一示例,如果多个基于音频的梯度被存储在(多个)梯度的数据库176B中,则远程更新引擎136B能够基于多个基于音频的梯度识别用于更新的(多个)基于全局音频的模型。值得注意的是,远程更新引擎136B能够识别要在给定时刻更新的单个全局ML模型或要在给定时刻并行地更新的多个全局ML模型。
在一些实施方式中,远程系统160能够基于一个或多个标准将梯度174B指配给更新一个或多个全局ML模型的特定迭代。一个或多个标准能够包括,例如,对远程更新引擎136B可用的梯度的类型、对远程更新引擎136B可用的梯度的阈值量、使用梯度进行更新的阈值持续时间,和/或其它标准。特别地,远程更新引擎136B能够识别由客户端设备150和/或190生成的梯度的多个集合或子集。此外,远程更新引擎136B能够基于梯度的这些集合或子集来更新一个或多个全局ML模型。在这些实施方式的一些其它版本中,客户端梯度集合和远程梯度集合中的梯度量是相同的或变化的(例如,彼此成比例,并且具有更多的客户端梯度或更多的远程梯度)。在这些实施方式的又一个版本中,客户端梯度的每个子集能够可选地包括来自至少一个唯一客户端设备的客户端梯度,该客户端梯度不被包括在子集中的另一子集中。在其它实施方式中,远程系统160利用梯度174B和其它梯度来以先进先出(FIFO)方式更新一个或多个全局ML模型,而不向更新一个或多个全局ML模型的特定迭代指派任何梯度。
更新分发引擎138B能够将更新的全局ML模型154B中的一个或多个和/或其更新的全局权重中的一个或多个传输到客户端设备150和/或190。在一些实施方式中,更新分发引擎138B能够响应于客户端设备150和/或190和/或远程系统160满足一个或多个条件(例如,如关于图3和4所述)而将更新的全局ML模型154B中的一个或多个和/或其更新的全局权重中的一个或多个传输到客户端设备150和/或190。在接收到更新的全局ML模型154B中的一个或多个和/或其更新的全局权重中的一个或多个时,客户端设备150和/或190能够用更新的全局ML模型154B中的一个或多个来替换存储在设备上ML模型数据库154A中的一个或多个设备上ML模型,或者用在(多个)设备上ML模型的数据库154A中的(多个)更新的ML模型154B的一个或多个更新的全局权重来替换一个或多个设备上ML模型的一个或多个局部权重。此外,客户端设备150和/或190随后可以使用(多个)更新的设备上ML模型中的一个或多个来基于在客户端设备150和/或190处检测到的另外的用户输入来进行预测(例如,如关于图2更详细地描述)。客户端设备150和/或190能够继续以本文中描述的方式将客户端数据150A和/或190A传输到远程系统160。此外,远程系统160能够继续生成梯度,以便以本文中描述的方式继续更新一个或多个全局ML模型的对应实例。
现在转向图2,客户端设备250在实施方式中被图示,其中描绘了各种设备上ML引擎被包括作为自动助理客户端240的一部分(或与自动助理客户端通信)。还图示了相应的ML模型与各种设备上ML引擎的接口。为简单起见,客户端设备250的其他组件未在图2中图示。图2图示了自动助理客户端240如何能够在执行各种动作时利用各种设备上ML引擎及其相应的ML模型的一个示例。
图2中的客户端设备250被图示为具有一个或多个麦克风211、一个或多个扬声器212、一个或多个视觉组件213和(多个)显示器214(例如,触敏显示器)。客户端设备250还可以包括(多个)压力传感器、(多个)接近传感器、(多个)加速度计、(多个)磁力计和/或用于生成除了由一个或多个麦克风211捕获的音频数据之外的其他传感器数据的(多个)其他传感器。客户端设备250至少选择性地执行自动助理客户端240。在图2的示例中,自动助理客户端240包括热词检测引擎222、热词自由调用引擎224、继续对话引擎226、ASR引擎228、对象检测引擎230、对象分类引擎232、话音识别引擎234,以及面部识别引擎236。自动助理客户端240还包括语音捕获引擎216和视觉捕获引擎218。应当理解,图2中描绘的ML引擎和ML模型是为了示例而提供的,并不意味着限制。例如,自动助理客户端240还能够包括附加和/或替代引擎,诸如文本到语音(TTS)引擎和相应的TTS模型、话音活动检测(VAD)引擎和相应的VAD模型、端点检测器引擎和相应的端点检测器模型、嘴唇运动引擎和相应的嘴唇运动模型,和/或(多个)其他引擎以及(多个)相关联的ML模型。此外,应当理解,能够组合本文中所描述的一种或多种引擎和/或模型,使得单个引擎和/或模型能够执行本文中描述的多个引擎和/或模型的功能。
一个或多个基于云的自动助理组件270能够可选地在经由一个或多个网络通信耦合到客户端设备250的一个或多个计算系统(统称为“云”计算系统)上实现,通常如由299指示的。基于云的自动助理组件270可以例如经由高性能服务器集群来实现。在各种实施方式中,自动助理客户端240的实例通过其与一个或多个基于云的自动助理组件270的交互,可以形成从用户的角度来看是自动助理的逻辑实例,如由295指示的,用户可以与其进行人机交互(例如,口头交互、基于姿势的交互,和/或基于触摸的交互)。
客户端设备250例如能够是:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、智能设备,诸如智能电视(或配备具有自动助理功能的网络加密狗的标准电视),和/或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端设备。
一个或多个视觉组件213能够采用各种形式,诸如单像相机、立体相机、LIDAR组件(或(多个)其他基于激光的组件)、雷达组件等。可以使用一个或多个视觉组件213,例如,通过视觉捕获引擎218,以捕获对应于客户端设备250被部署的环境的视觉帧(例如,图像帧、基于激光的视觉帧)的图像数据。在一些实施方式中,(多个)这样的视觉帧能够被用于确定用户是否存在于客户端设备250附近和/或客户端设备250的给定用户(例如,用户的面部)相对于客户端设备250的距离。(多个)这样的确定例如能够被用于确定是否激活图2中描绘的各种设备上ML引擎和/或(多个)其他引擎。此外,语音捕获引擎218能够被配置为捕获用户的(多个)口头话语和/或经由一个或多个麦克风211捕获的其他音频数据。
如本文中所描述的,这种音频数据和其它非音频传感器数据(在本文中也统称为客户端数据)能够由图2中描绘的各种引擎处理,以便在客户端设备250处使用相应ML模型和/或在一个或多个基于云的自动助理组件270处使用以以上关于图1、图3、图4和图5所描述的方式而更新的相应ML模型来进行预测。
作为一些非限制性示例,相应热词检测引擎222、272能够利用相应热词检测模型222A、272A来预测音频数据是否包括用于调用自动助理295的一个或多个特定单词或短语(例如,“好的助理”,“嘿助理”,“助理天气怎么样”等)或自动化助理295的某些功能;相应热词自由调用引擎224、274能够利用相应热词自由调用模型224A、274A来预测非音频传感器数据(例如,图像数据)是否包括用于调用自动助理295的姿势或信号(例如,基于用户的注视并且可选地进一步基于用户的嘴部移动);相应的继续对话引擎226、276能够利用相应的继续会话模型226A、276A来预测其他音频数据是否针对自动助理295(例如,或针对客户端设备250的环境中的附加用户);相应的ASR引擎228、278能够利用相应的ASR模型228A、278A来生成识别文本,或者预测对应于在客户端设备250处检测到的音频数据的(多个)音素和/或(多个)标记,并且基于(多个)音素和/或(多个)标记生成识别文本;相应的对象检测引擎230、280能够利用相应的对象检测模型230A、280A来预测包括在客户端设备250处捕获的图像的图像数据中的对象位置;相应的对象分类引擎232、282能够利用相应的对象分类模型232A、282A来预测包括在客户端设备250处捕获的图像的图像数据中的对象的对象分类;相应的话音识别引擎234、284能够利用相应的话音识别模型234、284A来预测音频数据是否捕获客户端设备250的一个或多个用户的口头话语(例如,通过生成扬声器嵌入或其他表示,其可以与客户端设备250的一个或多个用户的对应实际嵌入进行比较);并且相应的面部识别引擎236、286能够利用相应的面部识别模型236A、286A来预测图像数据是否捕获了客户端设备250的环境中的一个或多个用户(例如,通过生成图像嵌入或其他表示,其能够与用于客户端设备250的一个或多个用户的对应图像嵌入进行比较)。
在一些实施方式中,客户端设备250和一个或多个基于云的自动助理组件270可以分别进一步包括自然语言理解(NLU)引擎238、294和履行引擎240、296。NLU引擎238、294可以利用相应的NLU模型238A、294-A对由ASR引擎228、278生成的识别文本、预测音素和/或预测标记执行自然语言理解,以生成NLU数据。NLU数据能够包括,例如,对应于口头话语的意图,以及可选地用于(多个)意图的(多个)参数的(多个)槽值。此外,客户端设备250和一个或多个基于云的自动助理组件270还可以分别包括履行引擎240、296。履行引擎240、296能够利用相应的履行模型或规则240A、296A并且基于处理NLU数据来生成履行数据。该履行数据能够定义响应于由客户端设备250的用户提供的用户输入(例如,口头话语、键入的输入、触摸输入、姿势输入和/或任何其它类型的用户输入)的特定履行。特定履行能够包括基于用户输入与(多个)本地安装的应用执行的交互、基于用户输入(直接或经由(多个)对应远程系统)向(多个)物联网(IoT)设备传输的(多个)命令和/或基于用户输入执行的(多个)其他解析动作。然后,为(多个)所确定的动作的本地和/或远程实行/执行提供履行数据,以使得用户输入的特定履行被执行。执行可以包括,例如,渲染本地和/或远程响应(例如,可视地和/或可听地渲染(可选地利用设备上TTS模块)),与本地安装的应用交互,向(多个)IoT设备传输(多个)命令和/或(多个)其他动作。在其它实施方式中,可以省略NLU引擎238、294和履行引擎240、296,并且ASR引擎228、278能够基于用户输入来直接生成履行数据。例如,假设ASR引擎228、278使用相应的ASR模型228A、278A处理“开灯”的口头话语。在该示例中,ASR引擎228、278能够生成语义输出,然后将该语义输出传输到与灯相关联的软件应用和/或直接传输到指示它们应该被打开的灯。
值得注意的是,(多个)基于云的自动助理组件270包括本文中参考图2描述的引擎和模型的基于云的对应方。然而,在一些实施方式中,这些引擎和模型可以不被利用,因为引擎和模型可以被直接传输到客户端设备250并且在客户端设备250处本地执行,而在其他实施方式中,当客户端设备250检测到任何用户输入并且将用户输入传输到(多个)基于云的自动助理组件270时,这些引擎和模型可以被专门利用。在各种实施方式中,在客户端设备250处执行的这些引擎和模型和(多个)基于云的自动助理组件270可以以分布式方式彼此结合地利用。尽管如此,能够可选地包括远程执行模块,其基于本地或远程生成的NLU数据和/或履行数据来执行远程执行。能够包括附加的和/或替代的远程引擎。如本文中所描述的,在各种实施方式中,设备上语音处理、设备上图像处理、设备上NLU,设备上履行和/或设备上执行能够至少由于它们在解析口头话语时提供的等待时间和/或网络使用减少(由于不需要(多个)客户端-服务器往返来解析口头话语)而被优先化。然而,能够至少选择性地利用一个或多个基于云的自动助理组件270。例如,(多个)这样的组件能够与(多个)设备上的组件并行使用,并且当(多个)本地组件故障时利用来自(多个)这样的组件的输出。例如,如果设备上引擎和/或模型中的任何一个故障(例如,由于客户端设备250的相对有限的资源),则可以利用云的更稳定的资源。
现在转到图3,描绘了图示(多个)机器学习(ML)模型的短暂学习的示例方法300的流程图。为方便起见,参考执行操作的系统来描述方法300的操作。方法300的系统包括客户端设备(例如,图1的远程系统160、图2的基于云的自动助理组件270、图6的计算设备610和/或其它客户端设备)的一个或多个处理器和/或(多个)其它组件。此外,虽然方法300的操作以特定顺序示出,但这并不意味着是限制性的。可以重新排序、省略或添加一个或多个操作。
在框352,系统从一个或多个客户端设备接收客户端数据。在一些实施方式中,从一个或多个客户端设备接收到的客户端数据对应于对应音频数据流。例如,对应音频数据流能够捕获经由一个或多个客户端设备的一个或多个相应麦克风生成的一个或多个相应的口头话语。在附加的或替代的实施方式中,从一个或多个客户端设备接收到的客户端数据对应于由一个或多个客户端设备的其它对应传感器生成的对应非音频数据。非音频数据例如能够包括经由一个或多个客户端设备的对应触摸敏感显示器或对应外围设备(例如,外部键盘)生成的对应文本数据、经由一个或多个客户端设备的一个或多个对应视觉组件生成的对应视觉数据、由一个或多个客户端设备的一个或多个相应设备上NLU模型生成的对应NLU数据和/或经由一个或多个客户端设备的其它对应传感器生成的其它类型的非音频数据。从框352开始,系统并行地进行到框354-360,以使用本文中描述的训练流水线执行操作并且进行到框362,以使用本文中描述的履行流水线执行操作。
在框354,系统使用远程地存储在一个或多个远程服务器处的一个或多个全局ML模型来处理客户端数据以生成一个或多个预测输出。该系统能够生成各种类型的预测输出,并且所生成的一个或多个预测输出可以基于客户端数据和/或用于处理客户端数据的全局ML模型中的一个或多个。例如,在客户端数据包括对应音频数据流的实施方式中,一个或多个全局ML模型能够是全局ASR模型,并且一个或多个预测输出能够是预测的ASR数据;一个或多个全局ML模型能够是全局热词检测模型,并且一个或多个预测输出能够是热词检测数据;和/或一个或多个全局ML模型能够是全局NLU模型,并且一个或多个预测输出能够是基于预测的ASR数据生成的NLU数据(例如,在一个或多个远程服务器处生成和/或在一个或多个客户端设备处基于对应音频数据流生成)。此外,例如,在客户端数据包括对应非音频数据的实施方式中,当客户端数据对应于视觉数据时,一个或多个全局ML模型能够是全局热词自由调用模型并且一个或多个预测输出能够是预测热词自由数据;当客户端数据对应于视觉数据时,一个或多个全局ML模型能够是全局对象分类模型并且一个或多个预测输出能够是对象分类数据;和/或一个或多个全局ML模型能够是全局NLU模型,并且一个或多个预测输出能够是基于预测ASR数据生成的NLU数据(例如,在一个或多个客户端设备处生成并且传输到一个或多个远程服务器)。尽管本文中描述了特定全局ML模型和特定预测输出,但是应当理解,这是出于示例的目的,而不意味着是限制性的。例如,应当理解,可以利用本文中描述的短暂学习技术来更新由一个或多个远程服务器执行的任何全局ML模型(例如,诸如关于图2描述的任何全局ML模型和任何其它全局ML模型)。
在各种实施方式中,并且在处理客户端数据以生成一个或多个预测输出之前,客户端数据可以被路由通过一个或多个缓冲器,以确保客户端数据由(多个)适当全局ML模型处理。在一些实施方式中,一个或多个缓冲器能够被用于基于给定客户端设备的主语言和/或基于给定客户端设备的地理区域来标记客户端数据。在这些实施方式中,能够基于不同的主语言和/或地理区域来更新(多个)全局ML模型的不同实例。例如,如果给定客户端设备的主语言是英语,则能够用“英语”标签来标记客户端数据,并且使用特定于英语的(多个)全局ML模型来处理客户端数据。然而,如果给定客户端设备的主语言是法语,则能够用“法语”标签来标记客户端数据,并且使用特定于法语的(多个)全局ML模型来处理客户端数据。附加地或者替代地,如果给定客户端设备的地理区域是美国东南,则能够用“美国东南”标签来标记客户端数据,并且使用特定于美国东南的(多个)全局ML模型来处理客户端数据。然而,如果给定客户端设备的地理区域是德国,则能够用“德国”标签来标记客户端数据,并且使用特定于德国的(多个)全局ML模型来处理客户端数据。在这些实施方式中,系统可以基于连同客户端数据一起从一个或多个客户端设备传输到系统的元数据来确定不同的主语言和/或地理区域。在这些实施方式的一些版本中,为了更新(多个)适当全局ML模型,能够利用一个或多个缓冲器来预处理客户端数据。例如,系统能够利用一个或多个缓冲器对客户端数据重新采样或分段。
在框356,系统基于预测输出中的一个或多个使用无监督学习生成一个或多个梯度。该系统能够利用各种无监督学习技术来生成梯度。在一些实施方式中,系统能够将半监督学习技术用于无监督学习(例如,关于图1B和4所描述的)。在附加的或替代的实施方式中,系统能够将自监督学习技术用于无监督学习(例如,关于图1C和5所描述的)。从框356开始,系统并行地进行到框352,以从一个或多个客户端设备接收附加客户端数据,以在本文中描述的训练流水线和/或本文中描述的履行流水线中,进行到框358,以确定是否满足用于更新一个或多个全局ML模型的一个或多个全局权重的一个或多个条件,以及进行到框364,以丢弃客户端数据。
在框358,系统确定是否满足用于更新一个或多个全局ML模型的一个或多个全局权重的一个或多个条件。用于更新一个或多个全局ML模型的一个或多个全局权重的一个或多个条件能够包括,例如,一天中的特定时间、一周中的特定日、梯度的阈值量是否可用于更新全局ML模型的全局权重,或者全局ML模型的性能是否满足性能阈值。如果在框358的迭代中,系统确定不满足用于更新一个或多个全局ML模型的一个或多个全局权重的一个或多个条件,则在框358,系统可以继续监视一个或多个条件的满足。值得注意的是,在框358处,当系统继续监视对一个或多个条件的满足时,系统能够继续使用训练流水线处理附加客户端数据以生成附加梯度,如上所述(例如,关于框354和356),并且使用履行流水线执行一个或多个特定履行,如下所述(例如,关于框362)。在附加或替代的实施方式中,可以省略框358,并且可以在生成一个或多个梯度时更新一个或多个全局ML模型的一个或多个全局权重,而不管是否满足一个或多个条件。如果在框358的迭代,系统确定满足用于更新一个或多个全局ML模型的一个或多个全局权重的一个或多个条件,则系统可以前进到框360。值得注意的是,系统能够并行地处理客户端数据的多个实例,以使得以这些和其它方式生成一个或多个对应梯度。
在框360,系统基于一个或多个梯度来更新一个或多个全局ML模型的一个或多个全局权重。在一些实施方式中,系统能够利用梯度下降算法基于一个或多个梯度来更新一个或多个全局权重。在这些实施方式的一些版本中,在更新一个或多个全局权重之前,系统可以在利用梯度下降算法之前对一个或多个梯度进行平均。在这些实施方式的附加或替代的版本中,系统可以利用一个或多个梯度中的每一个或其子集来使用梯度下降算法更新全局权重中的一个或多个。值得注意的是,系统可以过滤一个或多个梯度,使得一个或多个全局ML模型的一个或多个全局权重仅以基于使用那些一个或多个ML模型所生成的预测输出生成的一个或多个梯度为基础来更新。例如,如果给定梯度基于使用全局ASR模型生成的一个或多个预测输出来生成,则该给定梯度可以用于更新全局ASR模型,而不是全局热词检测模型。附加地或者替代地,如果给定梯度基于使用全局热词模型生成的一个或多个预测输出来生成,则可以在更新全局热词模型而不是全局ASR模型中利用给定梯度。然而,在这些示例中,应当注意,基于使用全局ASR模型进行处理生成的给定梯度和基于使用全局热词模型进行处理生成的给定梯度可以基于相同的对应音频数据流或不同的对应音频数据流来生成。
如上所述,系统与框354-360的训练流水线的操作并行地进行到框362,以使用履行流水线执行操作。因此,在框362,系统处理客户端数据以使得一个或多个特定履行基于客户端数据被执行。例如,在客户端数据对应于对应音频数据流的实施方式中,系统能够使用全局热词检测模型来处理对应音频数据流以生成热词数据。热词数据能够包括指示对应音频数据流是否包括调用自动助理的一个或多个特定单词或短语(例如,当音乐正在播放或警报正在发声时的“嘿助理”、“助理”、“停止”、当收听音乐或观看图片时的“下一步”和/或其它特定单词或短语)的预测值(例如,二进制值、概率、对数似然性和/或其它预测值)。在该示例中,并且假设预测值指示对应音频数据流,则特定履行能够对应地激活在提供对应音频数据流的给定客户端设备和/或一个或多个远程服务器处的当前休眠的自动助理功能(例如,ASR处理、NLU处理和/或其它自动助理功能),从而使得提供对应音频数据流的给定客户端设备或与其通信的附加客户端设备(例如,智能电视、智能扬声器和/或任何其他智能联网设备)让辅助动作被执行(例如,使得停止播放任何音乐、停止任何报警声音、播放下一首歌曲、呈现下一张照片等)。
此外,例如,在其中客户端数据对应于对应音频数据流的实施方式中,系统能够附加地或替代地使用全局ASR模型来处理对应音频数据流以生成ASR数据。此外,系统能够使用全局NLU模型来处理ASR数据以生成NLU数据。此外,系统能够基于NLU数据来确定特定履行。系统能够基于NLU数据来生成一个或多个结构化请求、将一个或多个结构化请求传输到一个或多个履行器以接收响应内容、并且基于响应内容来确定特定履行。例如,假定一个或多个客户端设备中的给定客户端设备的给定用户提供“流式传输摇滚音乐”的口头话语。在该示例中,由给定客户端设备的一个或多个麦克风生成的对应音频数据流能够被传输到系统。该系统能够使用全局ASR模型来处理对应音频数据流,以生成一个或多个语音假设作为ASR数据,这些语音假设被预测为对应于口头话语。此外,系统能够使用全局NLU模型来处理语音假设中的一个或多个,以确定一个或多个意图(例如,“流式传输音乐”的意图)以及用于与一个或多个意图中的每一个相关联的一个或多个参数的一个或多个对应槽值(例如,用于“音乐类型”参数的“摇滚音乐”的槽值)。基于一个或多个意图和/或用于与一个或多个意图中的每一个相关联的一个或多个参数的一个或多个对应槽值,系统能够向各种音乐流服务传输结构化请求,以获得识别能够满足口头语话的给定音乐流服务的响应内容。此外,系统能够使给定音乐流服务在给定客户端设备(或者与客户端设备通信的附加客户端设备,诸如智能扬声器或智能电视)处开始流线化摇滚音乐作为特定履行。
尽管以上示例针对其中客户端数据对应于对应音频数据流的实施方式来描述,但是应当理解,这出于示例的目的而不是限制性的。例如,在客户端数据对应于对应视觉数据或对应文本数据的实施方式中,能够利用用于处理这些类型的数据的全局ML模型来使得特定履行被执行。值得注意的是,系统能够并行地处理客户端数据的多个实例,以使得对应特定履行以这些和其它方式被执行。
在框364,系统丢弃客户端数据。在一些实施方式中,客户端数据可以被存储在由一个或多个远程服务器共享的暂时存储器中。在这些实施方式的一些版本中,在使得特定履行被执行之后,可以丢弃客户端数据,而不管系统是否已经基于客户端数据的处理而完成了生成一个或多个梯度,以确保客户端数据不被记录或存储在一个或多个远程服务器的非暂时存储器中,从而增加了客户端数据的安全性。例如,本文中描述的训练流水线可以在第一远程服务器处实现,并且本文中描述的履行流水线可以在不同的第二远程服务器处实现。在该示例中,训练流水线和履行流水线可以并行地处理客户端数据。然而,如果履行流水线使得在训练流水线基于处理客户端数据生成梯度之前特定履行被执行,则可以丢弃客户端数据而不基于客户端数据生成任何梯度。在附加的或替代的实施方式中,客户端数据可以被复制以供本文中描述的训练流水线和本文中描述的履行流水线使用(并且不将客户端数据记录或存储在一个或多个远程服务器的非暂时存储器中),以确保客户端数据被训练流水线处理以生成一个或多个梯度和被履行流水线处理以使得特定履行被执行。
在框366,系统确定是否满足用于传输一个或多个全局ML模型和/或其一个或多个全局权重的一个或多个条件。一个或多个条件能够基于一个或多个客户端设备是否准备好接收一个或多个全局ML模型和/或其一个或多个全局权重,诸如一个或多个客户端设备是否正在充电、一个或多个客户端设备是否至少具有阈值充电状态、一个或多个客户端设备的温度(基于一个或多个对应设备上温度传感器)是否小于阈值、一个或多个客户端设备未被用户持有、与一个或多个客户端设备相关联的(多个)时间条件(例如,在特定时间段之间、每N小时,其中N是正整数,和/或其它时间条件)、和/或其它条件。此外,一个或多个条件能够附加地或替代地基于特定于一个或多个远程服务器的其它条件,诸如一个或多个全局ML模型的性能满足性能阈值、一个或多个全局ML模型基于梯度的阈值量来更新等和/或(多个)这些条件的一些组合。如果在框366的迭代中,系统确定不满足用于传输一个或多个全局ML模型和/或其一个或多个全局权重的一个或多个条件,则在框366,系统能够连续地监视是否满足一个或多个条件。值得注意的是,当系统在框366监视条件的满足时,系统可以继续更新一个或多个全局ML模型。如果在框366的迭代中,系统确定满足用于传输一个或多个全局ML模型和/或其一个或多个全局权重的一个或多个条件,则系统可以前进到框368。
在框368,系统向一个或多个客户端设备传输一个或多个全局ML模型和/或其一个或多个全局权重。该系统能够将一个或多个更新的全局ML模型和/或其一个或多个全局权重传输到一个或多个客户端设备、除了那些传输客户端之外的附加客户端设备、或那些将客户端梯度传输到远程系统的客户端设备的子集。值得注意的是,针对不同的客户端设备,可以在不同时间满足一个或多个条件,使得系统可以以异步方式传输一个或多个全局ML模型和/或一个或多个其全局权重。此外,在各种实施方式中,能够基于给定客户端设备的主语言和/或给定客户端设备的地理区域将一个或多个全局ML模型和/或其一个或多个全局权重传输到客户端设备。例如,使用图3的方法300的技术更新的全局ML模型能够是给定语言的N个可用ML模型中的一个(例如,其中N是正整数),但是能够基于特定于主语言和/或地理区域的梯度来更新,并且提供给配置有主语言和/或主要位于地理区域中的客户端设备。这使得例如(多个)全局ASR模型的实例能够基于特定于不同主语言和/或不同地理区域的客户端数据被训练。
现在转到图4,描绘了图示在(多个)机器学习(ML)模型的短暂学习中使用半监督学习的示例方法400的流程图。为方便起见,参考执行操作的系统来描述方法400的操作。方法400的系统包括客户端设备(例如,图1的远程系统160、图2的基于云的自动助理组件270、图6的计算设备610和/或其它客户端设备)的一个或多个处理器和/或其它组件。此外,虽然以特定顺序示出了方法400的操作,但这并不意味着是限制性的。可以重新排序,省略或添加一个或多个操作。值得注意的是,图4的方法400的技术可以用于在图3的框356处的无监督学习,以生成一个或多个梯度。此外,应当注意,关于图4的方法400所描述的一些操作与关于图3的方法300所描述的操作重叠,并且这是为了清楚起见,并不意味着是限制性的。
在框452,系统使用远程地存储在一个或多个服务器处的一个或多个全局ML模型来处理客户端数据以生成一个或多个预测输出。系统能够使用一个或多个全局ML模型来处理客户端数据,以便以与关于图3的框354所描述的相同或类似的方式来生成一个或多个预测输出。在框454,系统使用远程地存储在一个或多个远程服务器处的一个或多个全局基准ML模型来处理客户端数据以生成一个或多个基准输出。该系统能够使用全局基准ML模型中的一个或多个来处理客户端数据,以便以与关于图3的框354所描述的相同或类似的方式来生成基准输出中的一个或多个。然而,应当注意,系统利用全局基准ML模型中的一个或多个来生成基准输出中的一个或多个,而系统利用全局ML模型中的一个或多个来生成预测输出中的一个或多个。在各种实施方式中,全局基准ML模型和全局ML模型可以形成通常被称为教师-学生网络的模型。在这些实施方式中,教师网络(例如,一个或多个全局基准ML模型)可以被用于生成监视信号,该监视信号用在用于更新学生网络(例如,一个或多个全局ML模型)的所生成的梯度中。在一些实施方式中,用于生成一个或多个基准输出的一个或多个全局基准ML模型能够与根据图4的方法400更新的一个或多个全局ML模型相同。在附加或替代的实施方式中,用于生成一个或多个基准输出的一个或多个全局基准ML模型能够与根据图4的方法400更新的一个或多个全局ML模型不同。
在框456,系统确定是否满足用于使用客户端数据生成一个或多个梯度的一个或多个条件。一个或多个条件能够包括,例如,预测输出中的一个或多个是否满足预测输出阈值、基准输出中的一个或多个是否满足基准输出阈值和/或其它条件。如果在框456的迭代,系统确定不满足用于使用客户端数据生成一个或多个梯度的一个或多个条件,则系统返回到框452并且继续图4的方法400的另一迭代。如果在框456的迭代,系统确定满足用于使用客户端数据生成一个或多个梯度的一个或多个条件,则系统进行到框458。例如,假定客户端数据对应于由客户端设备生成的对应音频数据流,并且假定要更新的给定全局ML模型是全局ASR模型。在该示例中,能够使用全局ASR模型来处理相应音频数据流,以生成ASR数据作为预测输出中的一个或多个。此外,能够使用全局基准ASR模型来处理相应音频数据流,以生成基准ASR数据作为一个或多个基准输出。在该示例中,进一步假设ASR数据和基准数据对应于术语假设,该术语假设包括在对应音频数据流中捕获的每个单词或短语的预测术语以及每个预测术语的对应预测值。在该示例中,如果与使用全局基准ASR模型生成的一个或多个预测术语相关联的一个或多个对应预测值满足基准输出阈值和/或与使用全局ASR模型生成的一个或多个预测术语相关联的一个或多个对应预测值满足预测输出阈值,则可以满足一个或多个条件。
在框458,系统比较使用一个或多个全局ML模型生成的一个或多个预测输出和使用一个或多个全局基准ML模型生成的一个或多个基准输出。在框460,系统基于将一个或多个预测输出与一个或多个基准输出进行比较来生成在更新一个或多个全局ML模型时要利用的一个或多个梯度。值得注意的是,在使用图4的方法400的半监督学习技术生成梯度时,系统能够基于一个或多个预测输出来直接生成梯度。系统能够直接基于一个或多个预测输出来生成梯度,因为一个或多个预测输出(例如,可以由履行流水线利用)直接与基准输出中的一个或多个进行比较。继续上述示例,系统能够将与使用全局基准ASR模型生成的一个或多个预测术语相关联的一个或多个对应预测值和与使用全局ASR模型生成的一个或多个预测术语相关联的一个或多个对应预测值进行比较。此外,系统能够基于对预测术语和/或对应预测值的比较来生成梯度。系统可以返回到框452并且继续图4的方法400的另一迭代。
尽管框456的操作被描绘为在框454的操作之后和框458的操作之前发生,但是应当理解,这出于示例的目的而不是限制性的,并且框454的操作的一个或多个附加迭代可以在整个方法400的其它地方执行或者完全省略。例如,在一些实施方式中,系统可以在确定是否满足一个或多个条件之前生成一个或多个梯度。在这些实施方式中,系统可以丢弃一个或多个梯度,使得一个或多个梯度可以不用于更新一个或多个全局ML模型的一个或多个全局权重。此外,尽管关于对应于对应音频数据流的客户端数据来描述图4的方法400,但是应当理解,这也是出于示例的目的,而不是限制性的。相反,应当理解,关于图4的方法400所描述的技术用于使用本文中描述的全局ML模型中的任一个来生成一个或多个梯度。
现在转到图5,描绘了图示在(多个)机器学习(ML)模型的短暂学习中使用自监督学习的示例方法500的流程图。为方便起见,参考执行操作的系统来描述方法500的操作。方法500的系统包括客户端设备(例如,图1的远程系统160、图2的基于云的自动助理组件270、图6的计算设备610和/或其它客户端设备)的一个或多个处理器和/或其它组件。此外,虽然以特定顺序示出了方法500的操作,但这并不意味着是限制性的。可以重新排序,省略或添加一个或多个操作。值得注意的是,图5的方法500的技术可以用于在图3的框356的无监督学习,以生成一个或多个梯度。此外,应当注意,关于图5的方法500描述的一些操作与关于图3的方法300描述的操作重叠,并且这是为了清楚起见,并不意味着是限制性的。
在框552,系统识别客户端数据的目标部分,客户端数据的目标部分在客户端数据的前置部分之后并且在客户端数据的附加部分之前。在框554,系统掩蔽客户端数据的目标部分。客户端数据的目标部分可以被任意选择,或者可以基于一个或多个标准选择,标准诸如在n和m秒音频数据之间的特定段对应于目标部分、对应于图像的中心部分的视觉数据部分对应于目标部分、文本数据的中心部分对应于目标部分和/或用于选择客户端数据的目标部分的任何其它标准。在一些实施方式中,客户端数据可以对应于对应音频数据流。在这些实施方式中,客户端数据的目标部分可以对应于对应音频数据流的目标音频波形部分,客户端数据的前置部分可以对应于在目标音频波形部分之前接收到的前置音频波形部分,并且客户端数据的附加部分可以对应于在目标音频波形部分之后接收到的附加音频波形部分。此外,系统能够使用各种掩蔽技术来掩蔽目标音频波形部分。在这些实施方式的附加或替代的版本中,客户端数据可以对应于对应音频数据流的表示(例如,作为客户端数据从一个或多个客户端设备接收和/或在一个或多个远程服务器处生成)、诸如对应音频数据流的向量表示、基于处理对应音频数据流生成的ASR数据和/或音频数据的其它表示。在这些实施方式中,客户端数据的目标部分可以对应于对应音频数据流的目标表示部分,客户端数据的前置部分可以对应于在目标表示部分之前的前置表示部分,并且客户端数据的附加部分可以对应于在目标表示部分之后的附加表示部分。此外,系统能够使用各种掩蔽技术来掩蔽目标表示部分。在这些实施方式的附加或替代的版本中,客户端数据可以对应于文本数据或视觉数据。在这些实施方式中,系统能够以相同或类似的方式识别目标部分、前置部分和附加部分,并且系统能够使用各种掩蔽技术来确定目标部分。
在框556,系统使用远程地存储在一个或多个远程服务器处的一个或多个全局ML模型来处理客户端数据的前置部分和客户端数据的附加部分以生成预测客户端数据的目标部分的一个或多个预测输出。例如,在客户端数据的目标部分对应于对应音频数据流的目标音频波形部分的实施方式中,进一步假设音频数据捕获口头话语。在该示例中,系统能够使用全局ASR模型来处理前置音频波形部分和附加音频波形部分以生成一个或多个预测输出。在该示例中,预测输出中的一个或多个可以对应于预测目标音频波形和/或预测目标音频波形的一个或多个预测特征(例如,预测幅度、预测波长、预测相位、预测时段和/或其它特征),其被预测为对应于目标音频波形部分。附加地或替代地,一个或多个预测输出可以更一般地对应于预测目标音频数据和/或预测音频数据的一个或多个预测特征(例如,预测MFCC、预测麦氏特征和/或其它特征),其被预测为对应于目标音频数据。换句话说,系统可以尝试基于处理前置音频波形部分和附加音频波形部分来重构目标音频波形部分。
值得注意的是,在利用全局ASR模型重构目标音频波形部分的实施方式中,全局ASR模型可以是多语言ASR模型,因为提供对应音频数据流的给定客户端设备的主语言可以与重构目标音频波形部分无关。然而,在各种实施方式中,系统可以附加地或可替换地使用一个或多个全局ASR模型来处理前置音频波形部分和附加音频波形部分,该一个或多个全局ASR模型特定于提供对应音频数据流的给定客户端设备的主语言。此外,例如,在客户端数据的目标部分对应于对应音频数据流的目标表示部分的实施方式中,还假设音频数据捕获口头话语。在该示例中,系统能够使用全局ASR模型和/或全局NLU模型来处理前置表示部分和附加表示部分以生成一个或多个预测输出。在该示例中,一个或多个预测输出可以对应于预测目标表示,该预测目标表示被预测为对应于目标表示部分。换句话说,系统可以尝试基于处理前置表示部分和附加表示部分来重构目标表示部分。
在框558,系统将一个或多个预测输出与客户端数据的目标部分进行比较。在框560,系统基于将一个或多个预测输出与客户端数据的目标部分进行比较来生成在更新一个或多个全局ML模型时要利用的一个或多个梯度。值得注意的是,在使用图5的方法500的自监督学习技术来生成梯度时,系统能够基于一个或多个预测输出间接地生成梯度。系统能够基于一个或多个预测输出间接地生成梯度,其中将一个或多个预测输出的特征(例如,不是可以由履行流水线利用的一个或多个预测输出)与客户端数据的目标部分的特征进行比较,而不直接将一个或多个预测输出与任何内容进行比较。换句话说,系统可以利用在框554掩蔽的客户端数据的实际目标部分作为监督信号,在框558可以利用该监督信号将与被预测为对应于该目标部分的一个或多个预测输出进行比较。此外,基于比较,系统可以生成一个或多个梯度。系统返回到框552,并且继续图5的方法500的另一迭代。
尽管主要关于对应于相应音频数据流的客户端数据来描述图5的方法500,但是应该理解,这出于示例的目的而并非旨在进行限制。相反,应当理解,可以利用关于图5的方法500描述的技术来使用本文中描述的任何全局ML模型生成一个或多个梯度。
现在转向图6,描绘了可以可选地用于执行本文中描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端设备、(多个)基于云的自动助理组件和/或(多个)其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
计算设备610通常包括至少一个处理器614,其经由总线子系统612与多个外围设备通信。这些外围设备可以包括存储子系统624,包括例如存储器子系统625和文件存储子系统626、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。
用户接口输入设备622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、结合到显示器中的触摸屏、诸如话音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备和将信息输入到计算设备610或通信网络上的方式。
用户接口输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的一些其他机制。显示子系统还可以提供非视觉显示,诸如经由音频输出设备。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备610输出到用户或另一机器或计算设备的方式。
存储子系统624存储提供本文中描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统624可以包括用于执行本文中公开的方法的选定方面以及用于实现图1A-1D中描绘的各种组件的逻辑。
这些软件模块通常由处理器614单独执行或与其他处理器结合执行。存储子系统624中使用的存储器625可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630和其中存储固定指令的只读存储器(ROM)632。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在(多个)处理器614可访问的其他机器中。
总线子系统612提供了一种机制,其用于让计算设备610的各种组件和子系统按预期相互通信。尽管总线子系统612被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备610能够是不同类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算设备610的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。
在本文中描述的系统收集或以其他方式监视关于用户的个人信息,或者可以使用个人和/或监视信息的情况下,用户可能有机会控制程序或功能是否收集用户信息(例如,有关用户社交网络、社交行为或活动、职业、用户偏好或用户当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,某些数据在存储或使用之前可能会以一种或多种方式处理,以便删除个人身份信息。例如,用户的身份可以被处理成使得无法确定用户的个人身份信息,或者可以在获取地理位置信息的情况下概括用户的地理位置(诸如到城市、邮政编码或州级别),使得无法确定用户的具体地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,该方法包括:从用户的客户端设备接收捕获用户的口头话语的音频数据流,音频数据流由客户端设备的一个或多个麦克风生成;处理音频数据流以使得口头话语的特定履行被执行;在音频数据流正在被处理以使得口头话语的特定履行被执行时:使用远程地存储在远程服务器中的一个或多个远程服务器处的全局机器学习(ML)模型来处理音频数据流以生成预测输出;基于预测输出使用无监督学习来生成梯度;以及丢弃音频数据流;以及在基于预测输出并且使用无监督学习生成梯度之后:基于梯度来更新远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型的全局权重。
本技术的这些和其它实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,处理音频数据流以使得口头话语的特定履行被执行可以包括:使用自动语音识别(ASR)模型来处理音频数据流以生成ASR数据流;使用自然语言理解(NLU)模型来处理ASR数据流以生成NLU数据流;以及使得口头话语的特定履行基于NLU数据流被执行。
在一些实施方式中,该方法还可以包括:在使用全局ML模型来处理音频数据流以生成预测输出之前:确定音频数据流是否满足一个或多个条件。在这些实施方式中,使用全局ML模型来处理音频数据流以生成预测输出可以是响应于确定音频数据流满足一个或多个条件,或者基于梯度来更新全局ML模型的全局权重可以是响应于确定音频数据流满足一个或多个条件。在那些实施方式的一些版本中,确定音频数据流是否满足一个或多个条件可以包括:使用远程地存储在远程服务器处的全局基准ML模型来处理音频数据流以生成基准输出以及与基准输出相关联的一个或多个基准值;以及基于与基准输出相关联的一个或多个基准值来确定音频数据流是否满足一个或多个条件。在那些实施方式的一些版本中,使用无监督学习基于预测输出生成梯度可以包括:将使用全局ML模型所生成的预测输出与使用全局基准ML模型所生成的基准输出进行比较;以及基于将预测输出与基准输出进行比较来生成梯度。在那些实施方式的一些版本中,该方法还可以包括,响应于确定音频数据流未能满足一个或多个条件:丢弃音频数据流而不处理音频数据流以生成预测输出。
在一些实施方式中,使用无监督学习基于预测输出生成梯度可以包括:识别音频数据流的目标部分,音频数据流的目标部分在音频数据流的在目标部分之前接收到的前置部分之后,并且音频数据流的目标部分在音频数据流的在目标部分之后接收到的附加部分之前;并且掩蔽音频数据流的目标部分。使用全局ML模型处理音频数据流以生成预测输出可以包括处理音频数据流的前置部分和音频数据流的附加部分以生成以下各项中的一个或多个:被预测为对应于音频数据流的目标部分的音频数据流的预测目标部分作为预测输出;或者被预测为对应于音频数据流的目标部分的音频数据流的预测目标部分的一个或多个预测特征作为预测输出。在那些实施方式的一些版本中,使用无监督学习基于预测输出生成梯度可以包括:将音频数据流的预测目标部分与音频数据流的目标部分进行比较;以及基于将预测目标部分与目标部分进行比较来生成梯度。在那些实施方式的一些版本中,音频数据流的目标部分可以对应于音频数据流的目标音频波形部分,音频数据流的在目标部分之前接收到的前置部分可以对应于音频数据流的在目标音频波形部分之前接收到的前置音频波形部分,并且音频数据流的在目标部分之后接收到的附加部分可以对应于音频数据流的在目标音频波形部分之后接收到的附加音频波形部分。在那些实施方式的附加或替代的版本中,音频数据流的目标部分可以对应于音频数据流的目标向量表示部分,音频数据流的在目标部分之前接收到的前置部分可以对应于音频数据流的在目标向量表示部分之前接收到的前置向量表示部分,并且音频数据流的在目标部分之后接收到的附加部分可以对应于音频数据流的跟随在目标向量表示部分之后的附加向量表示部分。
在一些实施方式中,该方法还可以包括:响应于接收到捕获用户的口头话语的音频数据流,并且在使用全局ML模型来处理音频数据流以生成预测输出之前:选择一个或多个音频缓冲器来瞬时存储音频数据流。选择一个或多个音频缓冲器来暂时地存储音频数据流可以基于连同音频数据流一起接收到的识别与客户端设备相关联的主语言或与客户端设备相关联的地理区域的数据。在那些实施方式的一些版本中,用于生成预测输出的全局ML模型可以特定于以下各项中的一个或多个:与客户端设备相关联的主语言或与客户端设备相关联的地理区域。
在一些实施方式中,在更新远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型的权重之后,该方法还可以包括:将全局ML模型的全局权重传输到至少客户端设备。将全局ML模型的全局权重传输到客户端设备可以使得客户端设备用全局权重替换本地存储在客户端设备处的设备上ML模型的局部权重。在那些实施方式的一些版本中,将全局ML模型的全局权重传输到客户端设备可以响应于确定在客户端设备处满足一个或多个条件。在那些实施方式的一些其它版本中,一个或多个条件可以包括以下各项中的一个或多个:客户端设备正在充电、客户端设备至少具有阈值充电状态、客户端设备的温度低于阈值、客户端设备未被用户持有、一天中的特定时间、一周中的特定日、全局ML模型的全局权重是否已经基于梯度的阈值量更新或者全局ML模型的性能是否满足性能阈值。
在一些实施方式中,更新远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型的全局权重可以响应于确定在远程服务器中的一个或多个远程服务器处满足一个或多个条件。在那些实施方式的一些版本中,一个或多个条件可以包括以下各项中的一个或多个:一天中的特定时间、一周中的特定日、梯度的阈值量是否可用于更新全局ML模型的全局权重或者全局ML模型的性能是否满足性能阈值。
在一些实施方式中,口头话语可以针对至少部分地在客户端设备处并且至少部分地在远程系统处实现的第一方系统。
在一些实施方式中,口头话语可以针对至少部分地在客户端设备处以及至少部分地在远程第三方系统处实现的第三方系统。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,该方法包括:从多个客户端设备接收多个对应音频数据流,多个对应音频数据流中的每一个由多个客户端设备中的相应一个客户端设备的一个或多个对应麦克风生成;针对多个对应音频数据流中的每一个:利用履行流水线处理对应音频数据流中的给定音频数据流以使得对应特定履行被执行;以及利用训练流水线处理对应音频数据流中的给定音频数据流以使得远程地存储在远程服务器中的一个或多个远程服务器处的全局机器学习(ML)模型被更新。利用训练流水线处理对应音频数据流中的给定音频数据流以使得全局ML被更新包括:使用全局ML模型处理对应音频数据流中的给定音频数据流以生成预测输出;基于预测输出使用无监督学习来生成梯度;以及丢弃音频数据流。该方法还包括在基于预测输出并且使用无监督学习来生成梯度之后:基于梯度来更新远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型的全局权重。
本技术的这些和其它实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,利用训练流水线处理对应音频数据流中的给定音频数据流以使得远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型被更新可以发生在使得对应特定履行被执行之前。
在一些实施方式中,该方法还可以包括在使得对应特定履行被执行之后,丢弃音频数据流而通过训练流水线不执行任何进一步处理并且不管是否已经生成梯度。
在一些实施方式中,提供了由客户端设备的一个或多个处理器执行的方法,并且该方法包括:从第三方(3P)开发者的客户端设备接收3P自动语音识别(ASR)模型;从用户的客户端设备接收捕获用户的口头话语的音频数据流,音频数据流由客户端设备的一个或多个麦克风生成;处理音频数据流以使得口头话语的特定履行被执行。处理音频数据流以使得口头话语的特定履行被执行包括:使用3P ASR模型处理音频数据流以生成ASR数据流;使用自然语言理解(NLU)模型处理ASR数据流以生成NLU数据流;以及使得口头话语的特定履行基于NLU数据流被执行。该方法还包括在音频数据流正在被处理以使得口头话语的特定履行被执行时:基于ASR数据流使用无监督学习来生成梯度;以及丢弃音频数据流。该方法还包括在基于ASR数据流并且使用无监督学习来生成梯度之后:基于梯度来更新从3P开发者接收到的3P ASR模型的3P权重,以生成更新的3P ASR模型;以及向3P开发者的客户端设备传输更新的3P ASR模型。
本技术的这些和其它实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,向3P开发者的客户端设备传输更新的3P ASR模型可以响应于确定在一个或多个远程服务器处满足一个或多个条件。一个或多个条件可以包括以下各项中的一个或多个:一天中的特定时间、一周中的特定日、是否已利用梯度的阈值量来更新3PASR模型的3P权重或者3P ASR模型的性能是否满足性能阈值。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且该方法包括:从用户的客户端设备接收捕获用户的口头话语的客户端数据流,客户端数据流由客户端设备的一个或多个传感器生成;处理客户端数据流以使得客户端数据的特定履行被执行;在客户端数据流正在被处理以使得特定履行被执行时:使用远程地存储在远程服务器中的一个或多个远程服务器处的全局机器学习(ML)模型处理客户端数据流以生成预测输出;基于预测输出使用无监督学习来生成梯度;以及丢弃客户端数据流;以及在基于预测输出并且使用无监督学习来生成梯度之后:基于梯度来更新远程地存储在远程服务器中的一个或多个远程服务器处的全局ML模型的全局权重。
本技术的这些和其它实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,客户端数据流可以包括以下各项中的一个或多个:由客户端设备的一个或多个麦克风生成的音频数据流、由客户端设备的一个或多个视觉传感器生成的视觉数据流或经由客户端设备的一个或多个用户输入设备生成的文本数据流。
各种实施方式能够包括非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,(多个)中央处理单元(CPU)、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)和/或(多个)张量处理单元(TPU)来执行诸如本文中描述的一种或多种方法的方法。其他实施方式能够包括自动助理客户端设备(例如,客户端设备至少包括用于与基于云的自动助理组件接口连接的自动助理接口),其包括可操作为执行用于实行诸如本文中描述的一种或多种方法的方法的存储的指令的(多个)处理器。又一实施方式能够包括一个或多个服务器的系统,该系统包括一个或多个处理器,其可操作为执行用于执行诸如本文中描述的一种或多种方法的方法的存储的指令。

Claims (28)

1.一种由一个或多个远程服务器处的一个或多个处理器实现的方法,所述方法包括:
从用户的客户端设备接收捕获所述用户的口头话语的音频数据流,所述音频数据流由所述客户端设备的一个或多个麦克风生成;
处理所述音频数据流以使得所述口头话语的特定履行被执行;
在所述音频数据流正在被处理以使得所述口头话语的所述特定履行被执行时:
使用远程地存储在所述远程服务器中的一个或多个远程服务器处的全局机器学习ML模型来处理所述音频数据流以生成预测输出;
基于所述预测输出使用无监督学习来生成梯度;以及
丢弃所述音频数据流;以及
在基于所述预测输出并且使用无监督学习来生成所述梯度之后:
基于所述梯度来更新远程地存储在所述远程服务器中的一个或多个远程服务器处的所述全局ML模型的全局权重。
2.根据权利要求1所述的方法,其中,处理所述音频数据流以使得所述口头话语的所述特定履行被执行包括:
使用自动语音识别ASR模型来处理所述音频数据流以生成ASR数据流;
使用自然语言理解NLU模型来处理所述ASR数据流以生成NLU数据流;以及
使得所述口头话语的所述特定履行基于所述NLU数据流被执行。
3.根据权利要求1或2所述的方法,还包括:
在使用所述全局ML模型来处理所述音频数据流以生成所述预测输出之前:
确定所述音频数据流是否满足一个或多个条件;以及
其中,使用所述全局ML模型来处理所述音频数据流以生成所述预测输出响应于确定所述音频数据流满足所述一个或多个条件,或者
其中,基于所述梯度来更新所述全局ML模型的所述全局权重响应于确定所述音频数据流满足所述一个或多个条件。
4.根据权利要求3所述的方法,其中,确定所述音频数据流是否满足所述一个或多个条件包括:
使用远程地存储在所述远程服务器处的全局基准ML模型来处理所述音频数据流以生成基准输出以及与所述基准输出相关联的一个或多个基准值;以及
基于与所述基准输出相关联的所述一个或多个基准值来确定所述音频数据流是否满足所述一个或多个条件。
5.根据权利要求3或4所述的方法,其中,生成所述梯度是使用无监督学习直接地基于所述预测输出的,并且其中,使用无监督学习基于所述预测输出直接地生成所述梯度包括:
将使用所述全局ML模型生成的预测输出与使用所述全局基准ML模型生成的基准输出进行比较;以及
基于将所述预测输出与所述基准输出进行比较来生成所述梯度。
6.根据权利要求3所述的方法,还包括:
响应于确定所述音频数据流未能满足所述一个或多个条件:
丢弃所述音频数据流,而不处理音频数据流以生成预测输出。
7.根据权利要求1至3中任一项所述的方法,其中,生成所述梯度是使用无监督学习间接地基于所述预测输出的,并且其中,使用无监督学习基于所述预测输出间接地生成所述梯度包括:
识别所述音频数据流的目标部分,所述音频数据流的所述目标部分在所述音频数据流的在所述目标部分之前接收到的前置部分之后,并且所述音频数据流的所述目标部分在所述音频数据流的在所述目标部分之后接收到的附加部分之前;
掩蔽所述音频数据流的所述目标部分;以及
其中,使用所述全局ML模型处理音频数据流以生成所述预测输出包括处理所述音频数据流的所述前置部分和所述音频数据流的所述附加部分以生成以下各项中的一个或多个:被预测为与所述音频数据流的所述目标部分对应的所述音频数据流的预测目标部分作为所述预测输出;或者被预测为与所述音频数据流的所述目标部分对应的所述音频数据流的所述预测目标部分的一个或多个预测特征作为所述预测输出。
8.根据权利要求7所述的方法,其中,使用无监督学习基于所述预测输出间接地生成所述梯度还包括:
将所述音频数据流的所述预测目标部分与所述音频数据流的所述目标部分进行比较;以及
基于将所述预测目标部分与所述目标部分进行比较来生成所述梯度。
9.根据权利要求7所述的方法,其中,所述音频数据流的所述目标部分对应于所述音频数据流的目标音频波形部分,其中,所述音频数据流的在所述目标部分之前接收到的所述前置部分对应于所述音频数据流的在所述目标音频波形部分之前接收到的前置音频波形部分,并且其中,所述音频数据流的在所述目标部分之后接收到的所述附加部分对应于所述音频数据流的在所述目标音频波形部分之后接收到的附加音频波形部分。
10.根据权利要求7所述的方法,其中,所述音频数据流的所述目标部分对应于所述音频数据流的目标向量表示部分,其中,所述音频数据流的在所述目标部分之前接收到的所述前置部分对应于所述音频数据流的在所述目标向量表示部分之前接收到的前置向量表示部分,并且其中,所述音频数据流的在所述目标部分之后接收到的所述附加部分对应于所述音频数据流的跟随在所述目标向量表示部分之后的附加向量表示部分。
11.根据任一前述权利要求所述的方法,还包括:
响应于接收到捕获所述用户的所述口头话语的所述音频数据流并且在使用所述全局ML模型来处理所述音频数据流以生成所述预测输出之前:
选择一个或多个音频缓冲器来暂时地存储所述音频数据流,其中,选择所述一个或多个音频缓冲器来暂时地存储所述音频数据流基于连同所述音频数据流一起接收到的识别与所述客户端设备相关联的主语言或与所述客户端设备相关联的地理区域的数据。
12.根据权利要求11所述的方法,其中,用于生成所述预测输出的所述全局ML模型特定于以下各项中的一个或多个:与所述客户端设备相关联的所述主语言或与所述客户端设备相关联的所述地理区域。
13.根据任一前述权利要求所述的方法,在更新远程地存储在所述远程服务器中的一个或多个远程服务器处的所述全局ML模型的所述权重之后,还包括:
将所述全局ML模型的所述全局权重传输到至少所述客户端设备,其中,将所述全局ML模型的所述全局权重传输到所述客户端设备使得所述客户端设备用所述全局权重替换本地存储在所述客户端设备处的设备上ML模型的局部权重。
14.根据权利要求13所述的方法,其中,将所述全局ML模型的所述全局权重传输到所述客户端设备响应于确定在所述客户端设备处满足所述一个或多个条件。
15.根据权利要求14所述的方法,其中,所述一个或多个条件包括以下各项中的一个或多个:所述客户端设备正在充电、所述客户端设备至少具有阈值充电状态、所述客户端设备的温度低于阈值、所述客户端设备未被所述用户持有、一天中的特定时间、一周中的特定日、所述全局ML模型的所述全局权重是否已经基于梯度的阈值量而被更新或者所述全局ML模型的性能是否满足性能阈值。
16.根据任一前述权利要求所述的方法,其中,更新远程地存储在所述远程服务器中的一个或多个远程服务器处的所述全局ML模型的所述全局权重响应于确定在所述远程服务器中的一个或多个远程服务器处满足所述一个或多个条件。
17.根据权利要求16所述的方法,其中,所述一个或多个条件包括以下各项中的一个或多个:一天中的特定时间、一周中的特定日、梯度的阈值量是否能够用于更新所述全局ML模型的全局权重、或者所述全局ML模型的性能是否满足性能阈值。
18.根据任一前述权利要求所述的方法,其中,所述口头话语针对至少部分地在所述客户端设备处并且至少部分地在所述远程系统处实现的第一方系统。
19.根据权利要求1至18中任一项所述的方法,其中,所述口头话语针对至少部分地在所述客户端设备处以及至少部分地在远程第三方系统处实现的第三方系统。
20.一种由一个或多个远程服务器处的一个或多个处理器实现的方法,所述方法包括:
从多个客户端设备接收多个对应音频数据流,所述多个对应音频数据流中的每一个由所述多个客户端设备中的相应一个客户端设备的一个或多个对应麦克风生成;
针对所述多个对应音频数据流中的每一个:
利用履行流水线处理所述对应音频数据流中的给定音频数据流以使得对应特定履行被执行;以及
利用训练流水线处理所述对应音频数据流中的给定音频数据流以使得远程地存储在所述远程服务器中的一个或多个远程服务器处的全局机器学习ML模型被更新,其中,利用所述训练流水线处理所述对应音频数据流中的给定音频数据流以使得所述全局ML被更新包括:
使用所述全局ML模型处理所述对应音频数据流中的给定音频数据流以生成预测输出;
基于所述预测输出使用无监督学习来生成梯度;以及
丢弃所述音频数据流;以及
在基于所述预测输出并且使用无监督学习来生成所述梯度之后:
基于所述梯度来更新远程地存储在所述远程服务器中的一个或多个远程服务器处的所述全局ML模型的全局权重。
21.根据权利要求20所述的方法,其中,利用所述训练流水线处理所述对应音频数据流中的所述给定音频数据流以使得远程地存储在所述远程服务器中的一个或多个远程服务器处的所述全局ML模型被更新发生在使得所述对应特定履行被执行之前。
22.根据权利要求20或权利要求21所述的方法,还包括:
在使得所述对应特定履行被执行之后,丢弃所述音频数据流,而不通过所述训练流水线执行任何进一步处理并且不管是否已经生成所述梯度。
23.一种由远程服务器处的一个或多个处理器实现的方法,所述方法包括:
从第三方3P开发者的客户端设备接收3P自动语音识别ASR模型;
从用户的客户端设备接收捕获所述用户的口头话语的音频数据流,所述音频数据流由所述客户端设备的一个或多个麦克风生成;
处理所述音频数据流以使得所述口头话语的特定履行被执行,其中,处理所述音频数据流以使得所述口头话语的所述特定履行被执行包括:
使用所述3P ASR模型处理所述音频数据流以生成ASR数据流;
使用自然语言理解NLU模型处理所述ASR数据流以生成NLU数据流;以及
使得所述口头话语的所述特定履行基于所述NLU数据流被执行;
在所述音频数据流正在被处理以使得所述口头话语的所述特定履行被执行时:
基于所述ASR数据流使用无监督学习来生成梯度;以及
丢弃所述音频数据流;以及
在基于所述ASR数据流并且使用无监督学习来生成所述梯度之后:
基于所述梯度来更新从所述3P开发者接收到的所述3P ASR模型的3P权重,以生成更新的3P ASR模型;以及
将所述更新的3P ASR模型传输到所述3P开发者的所述客户端设备。
24.根据权利要求23所述的方法,其中,将所述更新的3P ASR模型传输到所述3P开发者的所述客户端设备响应于确定在所述一个或多个远程服务器处满足一个或多个条件,并且其中,所述一个或多个条件包括以下各项中的一个或多个:一天中的特定时间、一周中的特定日、是否已利用梯度的阈值量来更新所述3P ASR模型的所述3P权重或者所述3P ASR模型的性能是否满足性能阈值。
25.一种由一个或多个远程服务器处的一个或多个处理器实现的方法,所述方法包括:
从用户的客户端设备接收捕获所述用户的口头话语的客户端数据流,所述客户端数据流由所述客户端设备的一个或多个传感器生成;
处理所述客户端数据流以使得所述客户端数据的特定履行被执行;
在所述客户端数据流正在被处理以使得所述特定履行被执行时:
使用远程地存储在所述远程服务器中的一个或多个远程服务器处的全局机器学习ML模型处理所述客户端数据流以生成预测输出;
基于所述预测输出使用无监督学习来生成梯度;以及
丢弃所述客户端数据流;以及
在基于所述预测输出并且使用无监督学习来生成所述梯度之后:
基于所述梯度来更新远程地存储在所述远程服务器中的一个或多个远程服务器处的全局ML模型的全局权重。
26.根据权利要求25所述的方法,其中,所述客户端数据流包括以下各项中的一个或多个:由所述客户端设备的一个或多个麦克风生成的音频数据流、由所述客户端设备的一个或多个视觉传感器生成的视觉数据流或经由所述客户端设备的一个或多个用户输入设备生成的文本数据流。
27.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被执行时使得所述至少一个处理器执行与权利要求1至26中的任一项相对应的操作。
28.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行与权利要求1至26中的任一项相对应的操作。
CN202180096631.6A 2021-11-18 2021-12-09 机器学习模型的短暂学习 Pending CN117121098A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/280,714 2021-11-18
US17/533,779 US20230156248A1 (en) 2021-11-18 2021-11-23 Ephemeral learning of machine learning model(s)
US17/533,779 2021-11-23
PCT/US2021/062553 WO2023091158A1 (en) 2021-11-18 2021-12-09 Ephemeral learning of machine learning model(s)

Publications (1)

Publication Number Publication Date
CN117121098A true CN117121098A (zh) 2023-11-24

Family

ID=88800693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180096631.6A Pending CN117121098A (zh) 2021-11-18 2021-12-09 机器学习模型的短暂学习

Country Status (1)

Country Link
CN (1) CN117121098A (zh)

Similar Documents

Publication Publication Date Title
US11817080B2 (en) Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model
US11238227B2 (en) Word lattice augmentation for automatic speech recognition
US11705106B2 (en) On-device speech synthesis of textual segments for training of on-device speech recognition model
CN112262431A (zh) 使用说话者嵌入和所训练的生成模型的说话者日志
US11545133B2 (en) On-device personalization of speech synthesis for training of speech model(s)
CN116134453A (zh) 机器学习模型层的无监督联邦学习
KR20230005966A (ko) 거의 일치하는 핫워드 또는 구문 검출
US20240055003A1 (en) Automated assistant interaction prediction using fusion of visual and audio input
CN115605951A (zh) 多因素音频水印
US20230352004A1 (en) Mixed client-server federated learning of machine learning model(s)
US20230177382A1 (en) Method(s) and system(s) for improved efficiency in federated learning of machine learning model(s)
CN117121098A (zh) 机器学习模型的短暂学习
US20230156248A1 (en) Ephemeral learning of machine learning model(s)
US20240112673A1 (en) Identifying and correcting automatic speech recognition (asr) misrecognitions in a decentralized manner
EP4298628A1 (en) Ephemeral learning of machine learning model(s)

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