用于高效推理的多阶段机器学习模型合成的制作方法

文档序号:33452424发布日期:2023-03-15 01:17阅读:25来源:国知局
用于高效推理的多阶段机器学习模型合成的制作方法
用于高效推理的多阶段机器学习模型合成
1.相关申请
2.本技术要求于2021年7月29日提交的美国临时专利申请号63/057,904的优先权和权益,美国临时专利申请号63/057,904以引用的方式全部并入本文。
技术领域
3.本公开一般涉及机器学习。更具体地,本公开涉及一种用于合成具有改善的推理效率的组合模型的多阶段进程。


背景技术:

4.高准确度但低延时的机器学习模型(例如卷积神经网络)为装置上机器学习提供了机会。此类模型在各种移动应用中发挥着越来越重要的作用,包括但不限于智能个人助理、ar/vr和实时语音转译。
5.专门为边缘装置设计高效的卷积神经网络已经受到了显著的研究关注。先前的研究试图从不同角度应对该挑战,诸如新颖网络架构、来自硬件加速器的更好支持或条件运算和自适应推理算法。
6.然而,单独地将重点放在此类角度中的一个可能具有副作用。例如,新颖网络架构可能引入不受硬件加速器良好支持的定制运营商。因此,由于缺乏硬件支持,有前景的新模型可能具有对真正装置的有限实际改进。未能考虑多个角度降低了所得系统的广泛适用性。


技术实现要素:

7.本公开的实施例的各方面和优点将在以下描述中部分地阐述或能够根据描述来获知,或能够通过实践实施例而获知。
8.本公开的一个示例方面涉及一种具有改善的机器学习推理效率的计算系统。该计算系统包括一个或多个处理器;以及一种或多种非暂时性计算机可读介质,该非暂时性计算机可读介质存储:机器学习预测模型,该机器学习预测模型被配置成接收输入并且处理该输入以分别针对多个机器学习基础模型生成初始预测和多个组合值;多个机器学习基础模型;以及指令,该指令在被一个或多个处理器执行时使计算系统进行操作。该操作包括:获得输入;用机器学习预测模型处理输入以生成初始预测和多个组合值;以及确定初始预测是否满足一个或多个置信度准则。当初始预测满足一个或多个置信度准则时,该操作包括提供初始预测作为输出。当初始预测不满足一个或多个置信度准则时,该操作包括:至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型;用组合模型处理输入以生成最终预测;以及提供最终预测作为输出。
9.本公开的另一示例方面涉及一种用于训练机器学习模型的计算机实现的方法。该方法包括:由包括一个或多个计算装置的计算系统获得训练输入。该方法包括:由计算系统用机器学习预测模型处理训练输入以分别针对多个机器学习基础模型生成多个组合值并
且可选地生成初始值。该方法包括:由计算系统和至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型。该方法包括:由计算系统用组合模型处理训练输入以生成最终预测。该方法包括:由计算系统评估损失项,该损失项将最终预测与同训练输入相关联的真实值输出进行比较。该方法包括:由计算系统和至少部分地基于损失项来修改以下中的一个或两个的一个或多个参数:机器学习预测模型;或机器学习基础模型中的一个或多个。
10.本公开的另一示例方面涉及一种具有多阶段模型合成的计算系统。该计算系统包括一个或多个处理器和一种或多种非暂时性计算机可读介质,该非暂时性计算机可读介质存储:机器学习预测模型,该机器学习预测模型被配置成接收输入并且处理该输入以分别针对多个机器学习基础模型生成多个组合值;多个机器学习基础模型;以及指令,该指令在被一个或多个处理器执行时使计算系统进行操作。该操作包括:获得输入;用机器学习预测模型处理输入以生成多个组合值;至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型;用组合模型处理输入以生成最终预测;以及提供最终预测作为输出。
11.本公开的其它方面涉及各种系统、设备、非暂时性计算机可读介质、用户界面和电子装置。
12.将参考以下描述和随附权利要求书更好地理解本公开的各种实施例的这些和其它特征、方面和优点。并入本说明书中并且构成本说明书的一部分的附图图示了本公开的示例实施例,并且与描述一起用于解释相关原理。
附图说明
13.在本说明书中阐述了针对本领域的普通技术人员的实施例的详细讨论,该说明书参考了附图,在附图中:
14.图1描绘了根据本公开的示例实施例的示例模型架构和进程的框图。
15.图2a描绘了根据本公开的示例实施例的示例计算系统的框图。
16.图2b描绘了根据本公开的示例实施例的示例计算装置的框图。
17.图2c描绘了根据本公开的示例实施例的示例计算装置的框图。
18.图3描绘了根据本公开的示例实施例的用于进行机器学习模型推理的示例方法的流程图。
19.图4描绘了根据本公开的示例实施例的用于进行机器学习模型训练的示例方法的流程图。
20.在多个图上重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
21.概述
22.通常,本公开涉及一种用于合成具有改善的推理效率的组合模型的多阶段进程和结构。具体地,本公开的各方面涉及模型架构和对应进程,在一些情况下,该模型架构和对应进程能够被称为“basisnet”。
23.所提出的系统和方法提供了效率进展,该效率进展组合了来自多个角度的益处,诸如新架构、条件运算和提前终止。根据本公开的一种示例途径首先使用轻量级预测模型
来处理输入(例如输入图像)并且生成组合值(例如系数),该组合值随后能够用于指导处理输入以获得最终输出的较重组合模型的合成。在一些实施方式中,除了组合值之外,轻量级预测模型还被配置成生成初始预测。在一些实施方式中,如果与初始预测置信度相关联的置信度足够高,那么系统能够提前终止推理进程,从而产生更高效的推理。
24.所提出的途径能够与任何现有网络架构一起使用,并且能够端到端地联合训练这两个阶段。如美国临时专利申请号63/057,904所描述的,basisnet的示例实施方式在imagenet分类上针对不同代和大小的mobilenet被验证并且取得了相对于强基准线的显著改进。在不使用提前终止的情况下,被称为basisnet-mv3的示例实施方式用290m乘加运算(madd)获得了80.3%的准确度。在提前终止可用的情况下,平均成本能够进一步降低到200m madd,同时保持80.0%的准确度。
25.此外,所提出的设计与现有移动硬件兼容:第一阶段轻量级预测模型能够在中央处理单元(cpu)上运行,而第二阶段的合成组合模型能够在更专业的加速器上运行,若需要。
26.更具体地,模型合成是适用于任何新颖网络架构的灵活概念,该新颖网络架构实现了高效模型设计的进展。本公开的一些示例系统和方法结合提前终止充分利用了模型合成设计。例如,一些实施方式使得用户能够用单个超参数(例如与初始预测置信度进行比较的置信度阈值)平衡运算预算和准确度。
27.在硬件方面,本文描述的两阶段模型合成战略允许在不同处理单元(例如cpu、移动gpu、加速器)上以并行方式可选地执行轻量级和合成模型以处理流数据。能够针对合成模型指定任何网络设计,因此能够适应特定硬件限制。
28.图1示出了示例basisnet 12的示例概述。尽管图1使用图像分类作为示例问题,但所提出的系统和方法适用于任何不同的机器学习任务。
29.如图1所图示,示例basisnet 12具有两个阶段:第一阶段包括处理输入16(例如在示例中,输入为图像)并且产生初始预测18和组合值20(例如系数)这两者的轻量级模型14。在示例中,初始预测18是初始分类预测。
30.在第二阶段中,组合值20用于将基础模型22的集合组合成单个组合模型24以处理输入图像并且生成最终分类结果。具体地,模型合成进程(在26处示出)能够根据组合值20来组合基础模型22以生成组合模型24。组合模型24能够针对输入16生成最终预测28。
31.在一些实施方式中,如果初始预测18具有足够的置信度(例如大于阈值置信度值),那么能够跳过第二阶段。这能够被称为

提前停止’。提前停止能够节省诸如处理器使用、存储器使用等运算资源。
32.因此,在图1中,所有图像都通过轻量级模型14并且根据初始预测18的置信度,可以由合成专员模型24进行进一步处理,该合成专员模型24通过将基础模型22与由轻量级模型14生成的组合值20组合26而获得。在本文的其它地方详述了示例模型合成技术。
33.在一些实施方式中,一些或所有基础模型22共享相同架构,但在权重参数方面不同。在一些实施方式中,能够共享一些权重以避免过度拟合并且减小总模型大小。所图示的示例basisnet背后的一个总体构思是使用动态模型合成26从基础模型22的类集中高效地获得输入相关的专员模型24。直觉上,专员将胜过一般模型,这是由于他们具有更多的域知识,就如同专家的混合。
34.如美国临时专利申请号63/057,904中所描述的,basisnet的示例实施方式用不同代和大小的mobilenet被验证并且观察到有前景的改进。值得注意的是,即使不使用提前终止,具有mobilenetv3-large的16个基础模型的basisnet的示例实施方式只需要290m madd以在imagenet验证集合上实现80.3%的最高准确度。使用提前终止,在最高准确度保持在80.0%的情况下,平均成本能够进一步降低至200mmadd。平均成本降低,这是由于简单输入仅由轻量级模型处理;最大平均成本仍为290m madd。
35.因此,本公开提出了以简单形式组合了高效神经网络、条件运算和提前终止并且在imagenet上展现了最高水准的准确度-madd权衡曲线的途径。本公开还提供了用于新basisnet架构的训练方法,并且该训练方法也显示出对改进先前模型(例如mobilenet和condconv)的训练有效。
36.本公开的系统和方法提供了若干技术效果和益处。作为一个示例,本公开的系统和方法在机器学习任务(诸如(例如)图像分类任务或其它图像处理任务,诸如对象识别、对象检测、分割等)中提供了改善的模型准确度。具体地,通过使用预测模型来生成用于合成输入特定专员组合模型的输入特定组合值,能够改善由组合模型做出的最终预测的准确度。
37.作为另一示例技术效果和益处,当由轻量级模型做出的初始预测满足一个或多个置信度准则时,本公开的系统和方法能够将提前停止智能地应用于进程。该提前停止能够节省运算资源,但被稀疏地应用于初始预测具有高置信度的情况。这提供了在不牺牲模型性能的情况下实现运算节省的能力。
38.作为另一示例技术效果和益处,本文描述的多阶段模型架构和进程能够适用于混合硬件或用混合硬件高效地实现。例如,轻量级模型和模型合成能够在cpu上运行,并且一旦合成完成,能够将合成专员模型发送到硬件加速器,例如edge tpu,就如同常规静态神经网络。这能够在现有硬件配置上实现更简单的部署。
39.现在参考各图,将进一步详细地讨论本公开的示例实施例。
40.示例多阶段模型合成途径
41.basisnet的一些示例实施方式具有两个阶段:第一阶段轻量级预测模型和来自基础模型集合的第二阶段模型合成。轻量级模型能够生成两个输出,初始预测和诸如组合系数的基础组合值。如果初始预测具有高置信度,那么输入数据可能相对更易于处理,并且basisnet能够直接输出初始预测并且提前终止。但如果输入更复杂,那么组合值能够用于指导从基础模型中合成专员组合模型。合成专员能够负责生成最终预测。
42.示例轻量级预测模型
43.示例轻量级模型是成熟网络,该成熟网络具有两个任务:(1)生成初始输出(例如初始分类预测)和(2)生成用于模型合成的组合系数。第一任务是标准任务(例如分类问题),因此在以下关于第二任务提供详尽阐述。
44.假设针对第二阶段存在n个基础模型,并且这些基础模型分别具有k个层,由轻量级模型预测的组合值的一个示例集合能够是系数
45.α=φ(lm(f(x)))(1)
46.其中lm代表轻量级模型,并且φ表示非线性激活函数(例如softmax)。softmax能够用作默认值,这是因为其加强了凸性,这促进了稀疏性并且因此能够引起更高效的实施
方式。f(x)表示输入的变换,并且在一些情况下,f(x)=x或f(x)=downsampling(x)。
47.示例基础模型合成技术
48.在一些实施方式中,基础模型是模型候选的类集,这些模型候选共享相同架构但具有不同参数。通过将基础模型与不同权重组合,能够合成专员网络。各种可替代设计能够用于构建基础模型,诸如专家或模型与多个参数高效补丁的混合。
49.一种示例合成技术如下:考虑具有图像输入x的规则深度网络m。假设第k卷积层的输出是可以通过下式获得的ok(x)
[0050][0051]
其中,wk表示第k层处的卷积内核,并且*表示卷积运算。为简单起见,从符号中省略了一些运算,比如批归一化和挤压激励。在basisnet的一些示例实施方式中,能够通过线性组合来自第k层处的n个基础模型的内核来合成输入特定的第k层内核表示为
[0052][0053]
其中,表示第n基础的第k层的权重。和用于强调它们对x的依赖性。该设计允许模型容量的增加,但保持相同数量的卷积运算。具体地,当参数的数量远小于单个基础架构中的乘加运算的数量时,组合多个模型不会显著地增加运算成本。因而,可选地使用稀疏凸系数进一步降低了组合成本。
[0054]
能够使用凸组合系数。然而,描述了两种特殊情况:
[0055]
·
αk对于所有层都是相同的。在这种情况下,组合是每模型的,而不是每层的。
[0056]
·
作为n维向量的αk是独热编码的。在这种情况下,合成成为第k层处的模型选择。
[0057]
basisnet与某些先前技术之间的一个关键差异是使basisnet中的模型能够一次合成的能力。具体地,在某些现有技术中,每个层处的组合系数取决于先前层输出。这导致模型需要在逐层基础上合成。
[0058]
相反,由于basisnet从轻量级模型获得系数,因此整个专员模型能够一次合成,并且basisnet能够更容易地部署到当前硬件。例如,轻量级模型和模型合成能够在cpu上运行,并且一旦合成完成,能够将合成专员模型发送到硬件加速器,例如edge tpu,就如同常规静态神经网络。
[0059]
此外,由于轻量级模型,basisnet的组合系数具有全局视图;而在某些现有技术中,信号仅仅是局部的,这是由于这些信号来自先前层。此外,basisnet自然地支持提前终止,这对于在逐层基础上继续进行合成的技术是不可行的。
[0060]
示例训练技术
[0061]
本文描述的示例basisnet技术显著地增加了模型容量,但也增加了过度拟合的风险。在一些情况下,用于训练mobilenet的标准训练过程可能导致对basisnet的过度拟合。描述了几种正则化技术,这些技术有助于在basisnet中减少过度拟合。
[0062]
·
基础模型暂退(bmd)在bmd中,训练系统在训练期间随机关闭某些基础模型候选。该途径针对“专家退化”极其有效,其中控制模型始终挑选相同的少数候选(“专家”)。
[0063]
·
autoaugment(aa)autoaugment(cubuk等,2019年)是用于针对目标数据集查找特定数据扩充策略的基于搜索的过程。用autoaugment中的imagenet策略替换mobilenet中的原始数据扩充能够显著地改善模型归纳性。
[0064]
·
知识精炼表明,使用来自训练有素的教师网络的软目标能够有效地防止学生模型过度拟合。使用精炼来训练basisnet被发现是非常有效的。
[0065]
除了这些正则化之外,几种其它技巧还有助于适当地训练basisnet。例如,由于轻量级模型直接控制如何合成专员模型,因此组合系数的任何微小变化都将传播到合成模型的参数并且最终影响最终预测。由于能够从头开始训练整个basisnet,因此这在轻量级模型仍然训练不足的早期阶段尤其麻烦。为了处理不稳定的训练,能够引入超参数ε∈[0,1]来平衡均匀组合与来自轻量级模型的预测组合系数,
[0066][0067]
当ε=0时,所有基数相等地组合,而当ε=0时,合成遵循组合系数。在实践中,ε能够在训练的早期阶段从1线性衰减到0,然后保持在0,因此轻量级模型能够逐渐接管对模型合成的控制。该途径有效地稳定了训练并且使收敛加速。
[0068]
在一些实施方式中,两个阶段中的所有模型能够经由反向传播以端到端的方式一起训练。要注意,在一些实施方式中,基础模型不是单独训练的;相反,这些基础模型都从合成模型接收梯度。能够使用的一个示例总损失包括分别用于合成模型和轻量级模型的两个交叉熵损失,以及l2正则化,
[0069][0070]
其中,λ是来自轻量级模型的交叉熵损失的权重(在示例实验中λ=1),并且ω(
·
)是应用于所有模型参数的l2正则化损失。在一些实施方式中,轻量级模型从所有项接收梯度,而基础模型仅通过第一项和正则化来进行更新。
[0071]
示例装置和系统
[0072]
图2a描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算装置102、服务器计算系统130和训练计算系统150。
[0073]
用户计算装置102能够是任何类型的计算装置,诸如(例如)个人计算装置(例如膝上型计算机或台式计算机)、移动计算装置(例如智能电话或平板)、游戏控制台或控制器、可穿戴计算装置、嵌入式计算装置或任何其它类型的计算装置。
[0074]
用户计算装置102包括一个或多个处理器112和存储器114。一个或多个处理器112能够是任何合适的处理装置(例如处理器核心、微处理器、asic、fpga、控制器、微控制器等),并且能够是一个处理器或可操作地连接的多个处理器。存储器114能够包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存存储器装置、磁盘等以及它们的组合。存储器114能够存储数据116和指令118,这些指令在被处理器112执行时使用户计算装置102进行操作。
[0075]
在一些实施方式中,用户计算装置102能够存储或包括一个或多个机器学习模型120。例如,机器学习模型120能够是或能够以其它方式包括各种机器学习模型,诸如神经网络(例如深度神经网络)或其它类型的机器学习模型,包括非线性模型和/或线性模型。神经
网络能够包括前馈神经网络、循环神经网络(例如长短期记忆循环神经网络)、卷积神经网络或其它形式的神经网络。参考图1讨论了示例机器学习模型120。
[0076]
在一些实施方式中,能够通过网络180从服务器计算系统130接收一个或多个机器学习模型120,将这些机器学习模型存储在用户计算装置存储器114中,然后由一个或多个处理器112使用或以其它方式实现这些机器学习模型。在一些实施方式中,用户计算装置102能够实现单个机器学习模型120的多个并行实例(例如,以跨输入数据的多个实例进行并行推理)。
[0077]
附加地或可替代地,能够将一个或多个机器学习模型140包括在服务器计算系统130中或以其它方式由服务器计算系统130存储和实现,该服务器计算系统130根据客户端服务器关系与用户计算装置102进行通信。例如,机器学习模型140能够由服务器计算系统140实现为网络服务(例如推理服务)的一部分。因此,能够在用户计算装置102处存储和实现一个或多个模型120和/或能够在服务器计算系统130处存储和实现一个或多个模型140。
[0078]
用户计算装置102还能够包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122能够是对用户输入对象(例如手指或触控笔)的触摸敏感的触摸敏感组件(例如触摸敏感显示屏或触摸板)。触摸敏感组件能够用于实现虚拟键盘。其它示例用户输入组件包括麦克风、传统键盘或用户能够借以提供用户输入的其它构件。
[0079]
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132能够是任何合适的处理装置(例如处理器核心、微处理器、asic、fpga、控制器、微控制器等),并且能够是一个处理器或可操作地连接的多个处理器。存储器134能够包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存存储器装置、磁盘等以及它们的组合。存储器134能够存储数据136和指令138,这些指令在被处理器132执行时使服务器计算系统130进行操作。
[0080]
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算装置或以其它方式由一个或多个服务器计算装置实现。在服务器计算系统130包括多个服务器计算装置的情况下,此类服务器计算装置能够根据顺序计算架构、并行计算架构或它们的某种组合来运行。
[0081]
如上文所描述,服务器计算系统130能够存储或以其它方式包括一个或多个机器学习模型140。例如,模型140能够是或能够以其它方式包括各种机器学习模型。示例机器学习模型包括神经网络或其它多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图1讨论了示例模型140。
[0082]
用户计算装置102和/或服务器计算系统130能够经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150能够与服务器计算系统130分开或能够是服务器计算系统130的一部分。
[0083]
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152能够是任何合适的处理装置(例如处理器核心、微处理器、asic、fpga、控制器、微控制器等),并且能够是一个处理器或可操作地连接的多个处理器。存储器154能够包括一种或多种非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存存储器装置、磁盘等以及它们的组合。存储器154能够存储数据156和指令158,这些指令在被处理器152执行时使训练计算系统150进行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器
计算装置或以其它方式由一个或多个服务器计算装置实现。
[0084]
训练计算系统150能够包括模型训练器160,该模型训练器160使用各种训练或学习技术(诸如(例如)误差的反向传播)来训练存储在用户计算装置102和/或服务器计算系统130处的机器学习模型120和/或140。例如,能够将损失函数反向传播通过模型以更新模型的一个或多个参数(例如,至少部分地基于损失函数的梯度)。能够使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其它损失函数。梯度下降技术能够用于在多次训练迭代中迭代地更新参数。
[0085]
在一些实施方式中,进行误差的反向传播能够包括:进行通过时间的截断的反向传播。模型训练器160能够进行若干归纳技术(例如权重衰减、暂退等)以改善所训练的模型的归纳能力。
[0086]
具体地,模型训练器160能够至少部分地基于训练数据162的集合来训练机器学习模型120和/或140。在一些实施方式中,如果用户已经提供了同意,那么训练示例能够由用户计算装置102提供。因此,在此类实施方式中,向用户计算装置102提供的模型120能够由训练计算系统150根据从用户计算装置102接收到的用户特定数据进行训练。在一些情况下,该进程能够被称为使模型个性化。
[0087]
模型训练器160包括用于提供期望功能性的计算机逻辑。模型训练器160能够用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器160包括存储在存储装置上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其它实施方式中,模型训练器160包括一个或多个计算机可执行指令集,该计算机可执行指令集存储在有形计算机可读存储介质(诸如ram硬盘或光学介质或磁性介质)中。
[0088]
网络180能够是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如互联网)或它们的某种组合,并且能够包括任何数量的有线或无线链路。通常,能够使用各种通信协议(例如tcp/ip、http、smtp、ftp)、编码或格式(例如html、xml)和/或保护方案(例如vpn、安全http、ssl),经由任何类型的有线和/或无线连接来承载通过网络180的通信。
[0089]
本说明书中描述的机器学习模型可以用于各种任务、应用和/或用例中。
[0090]
在一些实施方式中,本公开的机器学习模型的输入能够是图像数据。机器学习模型能够处理图像数据以生成输出。作为示例,机器学习模型能够处理图像数据以生成图像识别输出(例如图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一示例,机器学习模型能够处理图像数据以生成图像分割输出。作为另一示例,机器学习模型能够处理图像数据以生成图像分类输出。作为另一示例,机器学习模型能够处理图像数据以生成图像数据修改输出(例如图像数据的更改等)。作为另一示例,机器学习模型能够处理图像数据以生成编码图像数据输出(例如图像数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理图像数据以生成质量改善的图像数据输出。作为另一示例,机器学习模型能够处理图像数据以生成预测输出。
[0091]
在一些实施方式中,本公开的机器学习模型的输入能够是文本或自然语言数据。机器学习模型能够处理文本或自然语言数据以生成输出。作为示例,机器学习模型能够处理自然语言数据以生成语言编码输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成潜在文本嵌入输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成转译输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生
成分类输出。作为另一示例,机器学习模型可以处理文本或自然语言数据以生成文本分割输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成语义意图输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成质量改善的文本或自然语言输出(例如比输入文本或自然语言质量更高的文本或自然语言数据等)。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成预测输出。
[0092]
在一些实施方式中,本公开的机器学习模型的输入能够是言语数据。机器学习模型能够处理言语数据以生成输出。作为示例,机器学习模型能够处理言语数据以生成言语识别输出。作为另一示例,机器学习模型能够处理言语数据以生成言语转译输出。作为另一示例,机器学习模型能够处理言语数据以生成潜在嵌入输出。作为另一示例,机器学习模型报告处理言语数据以生成编码言语输出(例如,言语数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理言语数据以生成质量改善的言语输出(例如,比输入言语数据质量更高的言语数据等)。作为另一示例,机器学习模型能够处理言语数据以生成文本表示输出(例如,输入言语数据的文本表示等)。作为另一示例,机器学习模型能够处理言语数据以生成预测输出。
[0093]
在一些实施方式中,本公开的机器学习模型的输入能够是潜在编码数据(例如,输入的潜在空间表示等)。机器学习模型能够处理潜在编码数据以生成输出。作为示例,机器学习模型能够处理潜在编码数据以生成识别输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成重构输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成搜索输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成重新聚类输出。作为另一示例,机器学习模型能够处理潜在编码数据以生成预测输出。
[0094]
在一些实施方式中,本公开的机器学习模型的输入能够是统计数据。机器学习模型能够处理统计数据以生成输出。作为示例,机器学习模型能够处理统计数据以生成识别输出。作为另一示例,机器学习模型能够处理统计数据以生成预测输出。作为另一示例,机器学习模型能够处理统计数据以生成分类输出。作为另一示例,机器学习模型能够处理统计数据以生成分割输出。作为另一示例,机器学习模型能够处理统计数据以生成分割输出。作为另一示例,机器学习模型能够处理统计数据以生成可视化输出。作为另一示例,机器学习模型能够处理统计数据以生成诊断输出。
[0095]
在一些实施方式中,本公开的机器学习模型的输入能够是传感器数据。机器学习模型能够处理传感器数据以生成输出。作为示例,机器学习模型能够处理传感器数据以生成识别输出。作为另一示例,机器学习模型能够处理传感器数据以生成预测输出。作为另一示例,机器学习模型能够处理传感器数据以生成分类输出。作为另一示例,机器学习模型能够处理传感器数据以生成分割输出。作为另一示例,机器学习模型能够处理传感器数据以生成分割输出。作为另一示例,机器学习模型能够处理传感器数据以生成可视化输出。作为另一示例,机器学习模型能够处理传感器数据以生成诊断输出。作为另一示例,机器学习模型能够处理传感器数据以生成检测输出。
[0096]
在一些情况下,机器学习模型能够被配置成进行任务,该任务包括对输入数据进行编码以供可靠和/或高效传输或存储(和/或对应解码)。例如,任务可以是音频压缩任务。输入可以包括音频数据并且输出可以包括压缩音频数据。在另一示例中,输入包括视觉数据(例如一个或多个图像或视频),输出包括压缩视觉数据,并且任务是视觉数据压缩任务。
在另一示例中,任务可以包括为输入数据(例如输入音频或视觉数据)生成嵌入。
[0097]
在一些情况下,输入包括视觉数据并且任务是计算机视觉任务。在一些情况下,输入包括一个或多个图像的像素数据并且任务是图像处理任务。例如,图像处理任务能够是图像分类,其中输出是分数集合,每个分数与不同对象类别对应并且表示一个或多个图像描绘属于该对象类别的对象的可能性。图像处理任务可以是对象检测,其中图像处理输出标识一个或多个图像中的一个或多个区域,并且针对每个区域,标识区域描绘感兴趣对象的可能性。作为另一示例,图像处理任务能够是图像分割,其中图像处理输出为一个或多个图像中的每个像素定义了每个种类在预定种类集合中的相应可能性。例如,种类集合能够是前景和背景。作为另一示例,种类集合能够是对象类别。作为另一示例,图像处理任务能够是深度估计,其中图像处理输出针对一个或多个图像中的每个像素定义了相应的深度值。作为另一示例,图像处理任务能够是运动估计,其中网络输入包括多个图像,并且图像处理输出针对输入图像中的一个输入图像的每个像素定义了在网络输入中的图像之间的像素处描绘的场景的运动。
[0098]
在一些情况下,输入包括表示口头话语的音频数据,并且任务是言语识别任务。输出可以包括被映射到口头话语的文本输出。在一些情况下,任务包括对输入数据进行加密或解密。在一些情况下,任务包括微处理器性能任务,诸如分支预测或存储器地址转译。
[0099]
图2a图示了能够用于实现本公开的一个示例计算系统。也能够使用其它计算系统。例如,在一些实施方式中,用户计算装置102能够包括模型训练器160和训练数据集162。在此类实施方式中,能够在用户计算装置102处本地地训练和使用模型120。在一些此类实施方式中,用户计算装置102能够实现模型训练器160以至少部分地基于用户特定数据来使模型120个性化。
[0100]
图2b描绘了根据本公开的示例实施例的示例计算装置10的框图。计算装置10能够是用户计算装置或服务器计算装置。
[0101]
计算装置10包括若干应用(例如应用1至n)。每个应用包含其自身的机器学习库和机器学习模型。例如,每个应用能够包括机器学习模型。示例应用包括文本消息传送应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
[0102]
如图2b中所图示,每个应用能够与计算装置的若干其它组件(诸如(例如)一个或多个传感器、上下文管理器、装置状态组件和/或附加组件)进行通信。在一些实施方式中,每个应用能够使用api(例如公共api)与每个装置组件进行通信。在一些实施方式中,由每个应用使用的api特定于该应用。
[0103]
图2c描绘了根据本公开的示例实施例的示例计算装置50的框图。计算装置50能够是用户计算装置或服务器计算装置。
[0104]
计算装置50包括若干应用(例如应用1至n)。每个应用与中央智能层进行通信。示例应用包括文本消息传送应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用能够使用api(例如跨所有应用的公共api)与中央智能层(和存储在其中的模型)进行通信。
[0105]
中央智能层包括若干机器学习模型。例如,如图2c中所图示,相应的机器学习模型(例如模型)能够针对每个应用提供并且由中央智能层管理。在其它实施方式中,两个或更多个应用能够共享单个机器学习模型。例如,在一些实施方式中,中央智能层能够针对所有
应用提供单个模型(例如单个模型)。在一些实施方式中,中央智能层被包括在计算装置50的操作系统内或以其它方式由计算装置50的操作系统实现。
[0106]
中央智能层能够与中央装置数据层进行通信。中央装置数据层能够是用于计算装置50的数据的集中式储存库。如图2c中所图示,中央装置数据层能够与计算装置的若干其它组件(诸如(例如)一个或多个传感器、上下文管理器、装置状态组件和/或附加组件)进行通信。在一些实施方式中,中央装置数据层能够使用api(例如私有api)与每个装置组件进行通信。
[0107]
示例方法
[0108]
图3描绘了根据本公开的示例实施例的进行推理的示例方法300的流程图。尽管为了说明和讨论的目的,图3描绘了以特定顺序进行的步骤,但本公开的方法不限于特定说明的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新排列、组合和/或调整方法300的各种步骤。
[0109]
在302处,计算系统能够获得输入。
[0110]
在304处,计算系统能够用机器学习预测模型处理输入以生成初始预测和多个组合值。
[0111]
在306处,计算系统能够确定初始预测是否满足一个或多个置信度准则。在一些实施方式中,确定初始预测是否满足一个或多个置信度准则包括将由机器学习预测模型针对初始预测生成的置信度分数与一个或多个阈值置信度分数进行比较。
[0112]
当在306处初始预测满足一个或多个置信度准则时,方法能够进行到308。
[0113]
在308处,计算系统能够提供初始预测作为输出。
[0114]
然而,当在306处初始预测不满足一个或多个置信度准则时,方法能够进行到310。
[0115]
在310处,计算系统能够至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型。
[0116]
在一些实施方式中,多个机器学习基础模型包括分别根据多个不同训练数据集训练的多个专家模型。
[0117]
在一些实施方式中,多个机器学习基础模型中的每一个包括多个层。在一些实施方式中,针对多个机器学习基础模型中的每一个,机器学习预测模型被配置成分别针对多个层预测多个层值。
[0118]
在一些实施方式中,多个机器学习基础模型中的每一个包括一个或多个内核。在一些实施方式中,至少部分地基于多个组合值从多个机器学习基础模型合成组合模型包括:根据多个组合值来线性组合多个机器学习基础模型的内核。
[0119]
在312处,计算系统能够用组合模型处理输入以生成最终预测。
[0120]
在314处,计算系统能够提供最终预测作为输出。
[0121]
在一些实施方式中,用机器学习预测模型处理输入比用组合模型处理输入消耗相对较少的运算资源。
[0122]
在一些实施方式中,机器学习预测模型是独立于多个机器学习基础模型的独立模型。
[0123]
在一些实施方式中,用机器学习预测模型处理输入包括在中央处理单元上运行机器学习预测模型。在一些实施方式中,用组合模型处理输入包括在一个或多个硬件加速器
单元上运行组合模型。
[0124]
在一些实施方式中,输入包括图像并且输出包括将图像分类成一个或多个类别。
[0125]
图4描绘了根据本公开的示例实施例进行模型训练的示例方法400的流程图。尽管为了说明和讨论的目的,图4描绘了以特定顺序进行的步骤,但本公开的方法不限于特定说明的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新排列、组合和/或调整方法400的各种步骤。
[0126]
在402处,计算系统能够获得训练输入。
[0127]
在404处,计算系统能够用机器学习预测模型处理训练输入以分别针对多个机器学习基础模型生成多个组合值,并且可选地生成初始预测;
[0128]
在406处,计算系统能够至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型;
[0129]
在一些实施方式中,由计算系统和至少部分地基于多个组合值从多个机器学习基础模型中合成组合模型包括:由计算系统和基于多个组合值从多个机器学习基础模型中确定非均匀组合模型;以及由计算系统和基于混合超参数将非均匀组合模型与均匀组合模型混合以产生组合模型。
[0130]
在一些实施方式中,方法在多次迭代内进行,并且混合超参数在多次迭代中衰减以向非均匀组合模型提供增加的相对影响。
[0131]
在一些实施方式中,方法400进一步包括随机消除多个基础模型中的一个或多个(例如在406处的所述合成期间)。
[0132]
在一些实施方式中,多个机器学习基础模型在其一些但不是所有层中共享参数。
[0133]
在408处,计算系统能够用组合模型处理训练输入以生成最终预测;
[0134]
在410处,计算系统能够评估损失项,该损失项将最终预测与同训练输入相关联的真实值输出进行比较。
[0135]
在412处,计算系统能够至少部分地基于损失项来修改以下中的一个或两个的一个或多个参数:机器学习预测模型;或机器学习基础模型中的一个或多个。
[0136]
在一些实施方式中,在412处的所述修改包括修改机器学习预测模型的参数和机器学习基础模型中的一个或多个的参数。
[0137]
在一些实施方式中,方法400进一步包括由计算系统评估第二损失项,该第二损失项将初始预测与同训练输入相关联的真实值输出进行比较;以及由计算系统和至少部分地基于第二损失项来修改机器学习预测模型的一个或多个参数。
[0138]
在一些实施方式中,在412处的所述修改包括:由计算系统将损失项反向传播通过组合模型;以及在由计算系统将损失项反向传播通过组合模型之后,由计算系统继续将损失项反向传播通过机器学习预测模型。在一些实施方式中,能够基于组合值对损失进行线性划分,并且损失的每个部分能够根据其对应的组合值而归因于对应的基础模型。
[0139]
附加公开
[0140]
本文讨论的技术参考服务器、数据库、软件应用和其它基于计算机的系统以及所采取的动作和向此类系统和从此类系统发送的信息。基于计算机的系统的固有灵活性允许组件之间和组件当中的任务和功能性的多种可能配置、组合和划分。例如,本文讨论的进程能够使用单个装置或组件或组合工作的多个装置或组件来实现。数据库和应用能够在单个
系统上实现或分布在多个系统上。分布式组件能够按顺序或并行地运行。
[0141]
虽然已经相对于本主题的各种特定示例实施例详细地描述了本主题,但每个示例都是通过说明而非限制本公开的方式提供。本领域的技术人员在获得对前述内容的理解后能够容易地产生对此类实施例的更改、变型和等效物。因此,本主题公开并不排除如对于本领域的普通技术人员将容易地显而易见的本主题的此类修改、变型和/或添加。例如,作为一个实施例的一部分说明或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开旨在涵盖此类更改、变型和等效物。
[0142]
计算系统能够包括一种或多种非暂时性计算机可读介质,该非暂时性计算机可读介质存储指令,该指令在被执行时使计算系统进行本文描述的任何方法。本文描述的任何操作能够作为计算机实现的方法的一部分进行。能够将方法或操作编码为由一种或多种非暂时性计算机可读介质存储的计算机可读指令。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1