一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

利用多个正例的监督对比学习的制作方法

2022-07-31 01:22:07 来源:中国专利 TAG:

利用多个正例的监督对比学习
1.相关申请的交叉引用
2.本技术要求2020年4月21日提交的美国临时专利申请号63/013,153的优先权和权益。美国临时专利申请号63/013,153通过引用整体结合于此。
技术领域
3.本公开总体上涉及用于视觉表示的对比学习的系统和方法。更具体地,本公开涉及跨多个正例执行监督对比学习的系统和方法。


背景技术:

4.交叉熵损失可能是监督学习中最广泛使用的损失函数。它被自然地定义为两个离散分布之间的kl-散度:logits的经验标签分布(1-hot向量的离散分布)和经验分布。
5.许多工作已经探索了这种损失的缺点,诸如缺乏对噪声标签的鲁棒性和可能的差裕度,这导致泛化性能降低。然而,在实践中,大多数建议的替代方案似乎并没有更好地用于大规模数据集,诸如imagenet,这可以通过持续使用交叉熵来实现最先进的结果来证明。
6.许多对常规交叉熵提出的改进实际上涉及损失定义的放宽,特别是参考分布是轴对齐的。用这些修改训练的模型显示出改进的泛化能力、鲁棒性和校准。然而,所提出的改进不能完全消除交叉熵损失方法的缺点。


技术实现要素:

7.本公开的实施例的方面和优点将在以下描述中部分地阐述,或者可以从描述中获知,或者可以通过实施例的实践获知。
8.本公开的一个示例方面针对执行视觉表示的监督对比学习的计算系统。该计算系统包括一个或多个处理器和一个或多个非暂时性计算机可读介质,其共同存储:被配置成处理输入图像以生成输入图像的嵌入表示的基本编码器神经网络;投影头神经网络,被配置为处理输入图像的嵌入表示,以生成输入图像的投影表示;以及当由一个或多个处理器执行时使计算系统执行操作的指令。这些操作包括获得与多个类中的第一类相关联的锚定图像、与第一类相关联的多个正图像以及与多个类中的一个或多个其他类相关联的一个或多个负图像,该一个或多个其他类不同于第一类。操作包括用基本编码器神经网络处理锚定图像以获得锚定图像的锚定嵌入表示,处理多个正图像以分别获得多个正嵌入表示,以及处理一个或多个负图像以分别获得一个或多个负嵌入表示。操作包括用投影头神经网络处理锚定嵌入表示以获得锚定图像的锚定投影表示,处理多个正嵌入表示以分别获得多个正投影表示,以及处理一个或多个负嵌入表示以分别获得一个或多个负投影表示。这些操作包括评估损失函数,该损失函数评估锚定投影表示与多个正投影表示中的每个正投影表示和一个或多个负投影表示中的每个负投影表示之间的相似性度量。这些操作包括至少部分基于损失函数来修改至少基本编码器神经网络的一个或多个参数的一个或多个值。
9.本公开的其他方面针对各种系统、装置、非暂时性计算机可读介质、用户接口和电
子设备。
10.参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书并构成其一部分的附图示出了本公开的示例实施例,并与描述一起用于解释相关原理。
附图说明
11.针对本领域普通技术人员的实施例的详细讨论在参考附图的说明书中阐述,其中:
12.图1a和1b示出了根据本公开的示例实施例的监督与自监督对比损失之间的差异。
13.图2a-c示出了根据本公开的示例实施例的交叉熵、自监督对比损失和监督对比损失之间的差异。
14.图3示出了根据本公开的示例实施例的示例对比学习框架。
15.图4示出了示例微调模型,其特征在于根据根据本公开的示例实施例的示例对比学习框架学习的基本编码器。
16.图5a描绘了根据本公开的示例实施例的示例计算系统的框图。
17.图5b描绘了根据本公开的示例实施例的示例计算设备的框图。
18.图5c描绘了根据本公开的示例实施例的示例计算设备的框图。
19.在多个附图中重复的附图标记旨在标识各种实施方式中的相同特征。
具体实施方式
20.总览
21.总的来说,本公开涉及一种改进的训练方法,该方法使得能够跨多个正训练例和负训练例同时执行监督对比学习。特别地,本公开的示例方面针对批量对比损失的改进的监督版本,其已经被证明对于在自监督设置中学习强大的表示非常有效。因此,所提出的技术使对比学习适应于完全监督的设置,并且还使得学习能够跨多个正例同时发生。
22.通过使对比学习能够跨来自相同类的多个正训练例和来自其他类的多个负训练例同时发生,属于相同类的点的整个集群可以在嵌入空间中被拉在一起,而来自不同类的样本集群被同时推开。因此,所提出的技术用于增加样本的正对之间的相似性,并降低负对之间的相似性。例如,相似性可以定义为低维表示之间的内积。所得到的表示是一个非常好的表示,可以用于各种下游传输任务。
23.因此,所提出的系统和方法能够比使用交叉熵损失的系统更有效地利用标签或其他类分配信息。特别地,使用对比学习方法允许在嵌入空间内的任何点学习每个类的表示,而不是像交叉熵损失中所做的那样,强迫每个类的表示与特定的轴对齐的类值一致,从而允许学习更鲁棒的类间表示,。
24.根据所提出的技术训练的示例模型在跨不同架构和数据增强的监督学习任务上始终优于交叉熵。具体地,如美国临时专利申请号63/013,153中包含的关于resnet-50和resnet-200的示例实验结果所示,根据所提出的技术训练的示例模型胜过交叉熵超过1%,在使用自动增强数据增强的方法中设定了78:8%的新的最好数字。
25.所提出的损失还在校准和准确性两方面上的标准基准上显示了对自然破坏的鲁
棒性的明显益处。此外,与交叉熵相比,所提出的监督对比损失对于诸如优化器或数据增强的超参数设置更稳定。本公开的附加方面利用了诸如大批量和归一化表示的关键成分,这些已经被证明有益于自监督学习。
26.更具体地,本公开的示例方面针对监督训练的新损失,其完全去除了参考分布;相反,所提出的系统的示例实施方式简单地采用了来自相同类的归一化表示比来自不同类的表示更接近。提出的损失建立在对比目标函数家族之上,该目标函数家族近年来在图像和视频领域的自监督学习中取得了优异的性能,并且与度量学习的大量文献有联系。
27.顾名思义,对比损失由两个“相反的力”组成:对于给定的锚定,第一个力在表示空间中将锚定拉得更靠近其他点,并且第二个力将锚定推得更远离其他点。前一组称为正,并且后一组称为负。
28.本公开的一个方面是除了许多负例之外,对于每个锚定考虑许多正例(例如,与仅使用单个正例的自监督对比学习中的惯例相反)。在一些实施方式中,所提供的标签或其他基于类的指定可以用于选择正例和负例。图1a-b和2a-c提供了所提出的损失的视觉解释。
29.具体地,图1a和1b示出了监督与自监督的对比损失之间的差异。在本文提出的监督对比损失的示例实施方式中(通常如图1a所示),来自一个类的正例与来自其他类的负例进行对比(因为提供了标签);这导致来自相同类的图像(但不一定描绘相同的确切场景或主题)被映射到低维超球体中的邻近点。相反,在自监督的对比损失中(如图1b所示),不提供标签。因此,生成正例,作为给定样本的数据增强(裁剪、翻转、颜色变化等),并且负例是从迷你批次中随机采样的。这可能导致假负例(显示在右下方),可能无法正确映射,从而导致更差的表示。
30.图2a-c示出了交叉熵、自监督对比损失和监督对比损失之间的差异。特别地,交叉熵损失(如图2a所示)使用标签和softmax损失来训练模型,而自监督对比损失(如图2b所示)使用对比损失和数据增强来学习关于类的表示。然而,在一些实施方式中,所提出的监督对比损失(在图2c中总体示出)具有两个阶段;在第一阶段,标签用于选择用于对比损失的图像,包括多个正例和一个或多个负例。在第二阶段,所学习的表示被冻结,然后可以使用softmax或交叉熵损失来学习分类器或其他任务特定头(例如,在线性层上)。这种两阶段方法结合了使用标签和对比损失以及softmax或交叉熵损失的所有优点。
31.如美国临时专利申请号63/013,153中包含的示例经验结果所示,所得损失对于训练是稳定的。作为一个示例,根据所提出的监督对比技术训练的示例模型在resnet-50和resnet-200架构上的imagenet数据集上实现了非常好的top-1准确度。在具有自动增强功能的resnet-50上,示例实施方式达到了78.8%的top-1准确度,这是对具有相同数据增强和架构的交叉熵损失的1.6%的改进。如在imagenet-c数据集上测量,top-1准确度的提高还伴随着鲁棒性的提高。
32.本公开的系统和方法提供了许多技术效果和益处。作为一个示例技术效果,与交叉熵相比,所提出的损失允许模型学习最先进的表示,从而显著提高top-1准确度和鲁棒性。因此,所提出的技术改进了计算系统本身在诸如图像分类任务等各种任务中的性能和功能。
33.作为另一个示例技术效果,与交叉熵相比,所提出的损失对一系列超参数不太敏感,这是一个重要的实际考虑。这种降低的灵敏度是由于更自然的损失公式,该公式将来自
相同类的样本的表示拉得更近,而不是像交叉熵中那样迫使它们被拉向特定目标。在典型的训练系统中,可能需要进行多轮训练来“调整”超参数,以找到可接受的或最佳的性能。通过降低损失和模型对超参数的敏感性,可以需要执行更少的训练回合来调整超参数。减少所执行的训练回合数导致计算资源(诸如处理器使用、存储器使用、网络带宽等)的节省。
34.作为另一个示例技术效果,如本文分析所示,所提出的损失函数的梯度鼓励从难正例和难负例中学习。在某些现有系统中,通常执行显式且计算昂贵的方法来识别特定的难负例。这种性质的一个示例方法是“难负例挖掘”。这些方法提高了性能,但是需要消耗大量的计算资源。通过自然地鼓励从难正例和难负例中学习,可以避免这种识别难例(例如,难负例)的明确尝试,从而节省诸如处理器使用、存储器使用、网络带宽等计算资源。
35.作为又一示例技术效果,所提出的方法可以导致减少训练模型产生的假负例的数量。例如,通过使得能够学习相同类中的正例,但是描绘不同的主题或场景,这样的正例可以避免被当作负例。这样,经过训练的模型学会为所有类成员提供一致的表示,而不仅仅是为特定的主题或场景。具有减少的假负例的训练模型代表了计算系统本身功能的改进。
36.因此,本公开的各方面提供了改进的对比学习损失,其在分类准确度和鲁棒性基准上胜过交叉熵。此外,示例实验表明,这种损失对超参数变化不太敏感,这可能是有用的实际考虑。损失函数提供了一端上的完全无监督训练和另一端上的完全有监督训练之间的自然联系。这开启了半监督学习应用的可能性,半监督学习可以利用单次损失的好处,可以基于标记数据的可用性平滑地改变行为。
37.用于监督对比学习的示例系统和方法
38.本节首先回顾自监督表示学习的对比学习损失。接下来,它显示了如何修改这种损失以适合完全监督学习,同时保留对自监督方法重要的属性。
39.示例表示学习框架
40.一个示例表示学习框架如图3所示,并且在结构上类似于通常用于自监督对比学习的框架。如图3所示,一个示例表示学习框架包括以下组件。(另请参见图1a-b和2a-c,示出监督情景和自监督情景之间的区别)。
41.可选的数据增强模块203,a(
·
),其将输入图像202,x,变换成随机增强图像212,在一些实施方式中,对于每个输入图像202,该系统可以被实现为生成两个或更多个随机增强图像212,其中的每个图像表示数据的不同视图,因此包含原始输入图像中的信息的某个子集。然而,其他实施方式可以被配置成仅生成单个增强图像。本文包含的引用两倍数量的包括在一个类中的图像的示例表达式(例如,示例损失函数)以这种方式被风格化,以解释每个输入图像生成两个增强图像的示例实施例。然而,这种风格化可以被修改以解释每个输入图像生成的不同数量的增强图像。
42.参考数据增强模块203,作为一个示例,增强的第一阶段可以包括对图像应用随机裁剪,然后将其大小调整回图像的原始分辨率。作为另一个示例,根据发现自监督对比损失与交叉熵损失相比需要显著不同的数据增强,第二阶段可以包括以下任何一个中描述的不同的增强中的一些或全部:
43.autoaugment:ekin d cubuk、barret zoph、dandelion mane、vijay vasudevan和quoc v le。autoaugment:从数据中学习增强策略(learning augmentation strategies from data)。ieee计算机视觉和模式识别会议论文集,第113-123页,2019年。
44.randaugment:ekin d cubuk、barret zoph、jonathon shlens和quoc v le。randaugment:没有单独搜索的实用数据增强(practical data augmentation with no separate search)。arxiv preprint arxiv:1909.13719,2019
45.simaugment:ting chen、simon kornblith、mohammad norouzi和geoffrey hinto的策略的变体。视觉表示对比学习的简单框架。arxiv preprint arxiv:2002.05709,2020顺序应用随机颜色失真和高斯模糊,其中附加的稀疏图像扭曲被概率性地添加到序列的末尾。
46.更一般地,数据增强模块203可以执行一个或多个增强的任何不同组合。此外,本公开的一些示例实施方式不执行输入图像202的增强,而是简单地使用没有增强的输入图像202。
47.再次参考图3,该框架可以包括基本编码器神经网络204,e(
·
),其将增强图像212映射到嵌入表示向量214,
48.在框架的每个输入图像生成两个增强图像的一些示例实施方式中,每个输入图像的两个增强图像可以被单独输入到相同编码器,从而产生一对表示向量。更一般地,通常使用相同的编码器网络204来生成训练批次中所有图像的表示。
49.编码器网络204的两种常用编码器架构包括resnet-50和resnet-200,其中例如最终池化层(de=2048)的激活可以用作表示向量214。在一些示例实施方式中,该表示层可以被归一化为中的单位超球面。这种归一化可以提高性能,与其他已经使用度量损失的论文一致。新的监督损失能够以高准确度训练这两种架构,而无需特殊的超参数调谐。事实上,示例实验结果表明,监督对比损失对超参数的微小变化(诸如优化器的选择或数据增强)不太敏感。
50.该框架还可以包括投影网络206,p(
·
),其将归一化表示向量r214投影到适合计算对比损失的投影表示216中。一个示例投影网络216可以是具有大小2048的单个隐藏层和大小d
p
=128的输出向量的多层感知器。在一些示例实施方式中,该向量可以再次被归一化以位于单位超球面上,这使得能够使用内积来测量投影空间中的距离。归一化将数学结构添加到梯度的形式中,这使得训练总体上优于未执行归一化的情况。
51.可以基于投影表示216来评估输入图像202的损失函数(例如,经由与为其他输入图像(诸如其他正训练例和负训练例)生成的其他投影表示进行比较)。
52.在一些实施方式中,投影网络206仅用于训练监督对比损失。在训练完成后,该网络可以被丢弃,并用任务特定的头(例如,单个线性层)代替。与来自投影网络206的投影表示216相比,来自编码器204的嵌入表示214对下游任务给出了改进的性能。因此,在一些实施方式中,所提出的推理时间模型可以包含与它们的交叉熵等价物完全相同数量的参数。
53.作为一个示例,图4描绘了已经在图3所示的示例框架中训练了基本编码器神经网络204之后,基本编码器神经网络204的示例使用的图。特别地,基本编码器神经网络204已经被提取,并且附加的任务特定模型250已经被附加到基本编码器神经网络204。例如,任务特定模型250可以是包括线性模型或非线性模型(诸如神经网络)的任何种类的模型。
54.任务特定模型250和/或基本编码器神经网络204可以在附加训练数据(例如,可以是任务特定数据)上被附加训练(例如,“微调”)。附加训练可以是例如监督学习训练。
55.在微调之后,可以向基本编码器神经网络204提供附加输入252,该基本编码器神经网络204可以产生嵌入表示254。任务特定模型250可以接收并处理嵌入表示254以生成任务特定预测256。作为示例,任务特定预测256可以是分类预测;检测预测;识别预测;回归预测;分割预测;和/或其他预测任务。
56.此外,在一些实施方式中,嵌入表示254可以直接用于诸如相似性搜索或检索的任务,而不需要进一步的训练/微调(例如,不需要附加的任务特定模型250。
57.尽管为了便于解释,本公开集中于来自图像领域的数据示例,但是该框架可扩展到不同领域(包括文本和/或音频领域)的数据示例。可以使用的图像的示例类型包括视频帧、lidar点云、计算机断层扫描、x射线图像、超光谱图像和/或各种其他形式的图像。
58.示例对比损失:自监督和监督
59.本公开的示例实施方式提供了对比损失函数,该函数允许标记数据的有效结合,同时保留了已经对自监督表示学习的成功至关重要的对比损失的有益属性。类似于自监督对比学习,本公开的示例实施方式可以通过随机采样数据来生成迷你批次。作为一个示例,对于一组n个随机采样的图像/标签对,{xk,yk}
k=1...n
,用于训练的对应迷你批次可以包括2n对,其中和是xk(k=1...n)和的两个随机增强。同样,可以为每个输入图像生成一些其他数量的增强图像;提供两个作为示例。
60.示例自监督对比损失
61.在迷你批次内,设i∈{1...2n}是任意增强图像的索引,并且设j(i)是源自相同源图像的另一增强图像的索引。在自监督的对比学习中,损失有以下几种形式。
[0062][0063][0064]
其中1b∈{0,1}是iffb评估为真则返回1的指示函数,并且∈{0,1}是iffb评估为真则返回1的指示函数,并且是温度参数。在eq.2的上下文内,索引i称为锚定,索引j称为正例,并且其他2(n-1)个索引(k=1...2n,)称为负例。zi·zj(i)
是一个示例相似性度量,其计算128维空间中的归一化向量zi和z
j(i)
之间的内积(点积)。注意,对于每个锚定i,都有1个正对和2n-2个负对。分母有总共2n-1项(正例和负例)。
[0065]
考虑最小化eq.1对编码器的影响是很有见地的。在训练期间,对于任何i,编码器都被调整以最大化eq.2中log参数的分子,同时最小化它的分母。该项exp(zi·zj(i)
)同时出现在分子和分母中的约束确保log参数不高于1,并且因为eq.1对所有的索引对((i,j)和(j,i))求和,编码器被限制最小化分母或最大化分子而不进行另一操作。结果,编码器学习将相似的视图映射到相邻的表示,同时将不相似的视图映射到不相邻的视图,但是基于每次评估仅单个正例进行。
[0066]
示例监督对比损失
[0067]
对于监督学习,eq.2中的对比损失不能处理确定一个以上的样本属于相同类的情况。为了将损失泛化以处理属于相同类的任意数量的正例,提出了以下新颖的损失函数:
[0068][0069][0070]
其中是迷你批次中与锚定i具有相同标签的图像总数。再次,提供2n的构想以解释其中每个训练图像生成两个增强图像的示例设置,但是也可以使用其他数量。等式(3)和(4)中给出的示例损失具有非常适合监督学习的重要属性:
[0071]
泛化到任意数量的正例。eq.4相比eq.2的一个重大结构变化是,现在,对于任何锚定,迷你批次中的所有正例(即,基于增强的一个以及来自相同类的剩余2(n-1)个条目中的任何一个)都对分子有贡献。对于相对于类的数量较大的迷你批次,将会出现多个附加项(平均而言,其中c是类的数量)。这种损失促使编码器在eq.4的每个实例中对来自相同类的所有条目给出紧密对齐的表示,导致比从eq.2生成的表示空间聚类更鲁棒的表示空间聚类。
[0072]
对比力量(power)随着正例和/或负例的增加而增加。eq.4中给出的自监督对比损失的示例一般形式利用了这样的原理,即通过添加更多的正例的示例和/或更多的负例的示例来提高区分信号和噪声(负例)的能力。这一特性已被显示对经由自监督对比学习的表示学习是重要的,许多研究表明,随着负例数量的增加,性能也增加。
[0073]
eq.4中的示例监督对比损失保留了这种结构:在分母中加入更多的负例,增加了针对正例的对比;同样地,在分子中加入更多的正例会增加针对负例的对比。更多的正例允许模型更好地捕捉类内变化。更多的负例使模型能够捕捉到类间的变化。
[0074]
示例监督对比损失梯度属性的讨论
[0075]
这一小节现在通过下面的方式为eq.4中的示例监督对比损失的形式提供了进一步的动机:示出其梯度具有自然地导致学习更多地关注难正例和负例(即,继续将锚定与其对比极大地有益于编码器的那些)而不是弱正例和负例(即,继续将锚定与其对比仅微弱地有益于编码器的那些)的结构。由此可以看出,这种损失在其训练中是有效的。其他对比损失,诸如三重损失,通常使用计算昂贵的难负例挖掘技术来提高训练效率。作为这种分析的副产品,在投影网络的末端添加归一化层被显示是有益的,因为它的存在允许梯度具有这种结构。
[0076]
如果我们假设w表示紧接归一化(即,z=w/||w||)之前的投影网络输出,则eq.4的相对于w的梯度具有以下形式:
[0077][0078]
其中:
[0079][0080][0081]
其中:
[0082][0083]
是关于锚定i的表示的内积的温度标度softmax分布的第个分量,因此可解释为概率。eq.6通常包括来自迷你批次的正例的贡献,而eq.7包括负例的贡献。现在示出了简单正例和负例(即,继续将锚定与其对比仅微弱地有益于编码器的那些)具有小的梯度贡献,而难正例和负例(即,继续将锚定与其对比极大地有益于编码器的那些)具有大的梯度贡献。对于简单正例,zi·
zj≈1因而p
ij
是大的。因此(参见eq.6):
[0084][0085]
但是,对于难正例,zi·
zj≈0并且p
ij
是中等的,所以:
[0086][0087]
因此,对于弱正例,其中进一步的对比努力回报递减,对贡献小,而对于难正例,其中仍然需要进一步的对比努力,贡献大。对于弱负例(zi·
zk≈-1)和难负例(zi·
zk≈0),根据eq.7的||(z
k-(zi·
zk)
·
zi)||
·
p
ik
的类似计算给出类似的结论:梯度贡献对于难负例是大的,并且对于弱负例是小的。在确保对于难正例和难负例梯度是大的中起着关键作用的一般的结构,仅当在投影网络的末端添加了归一化层时才会出现。
[0088]
示例设备和系统
[0089]
图5a描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
[0090]
用户计算设备102可以是任何类型的计算设备,诸如例如个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能电话或平板)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
[0091]
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器114可以存储由处理器112执行以使用户计算设备102执行操作的数据116和指令118。
[0092]
在一些实施方式中,用户计算设备102可以存储或包括一个或多个机器学习模型120。例如,机器学习模型120可以是或者可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或者其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可以包括前馈神经网络、递归神经网络(例如,长短期记忆递归神经网络)、卷积神经网络或其他形式的神经网络。参考图3和4讨论示例机器学习模型120。
[0093]
在一些实施方式中,一个或多个机器学习模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实施。在一些实施方式中,用户计算设备102可以实施单个机器学习模型120的多个并行实例(例如,跨多个输入实例执行并行预测)。
[0094]
附加地或替换地,一个或多个机器学习模型140可以被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中,或者由服务器计算系统130存储和实施。例如,机器学习模型140可以由服务器计算系统140实施为web服务(例如,预测服务)的一部分。因此,一个或多个模型120可以在用户计算设备102处存储和实施,和/或一个或多个模型140可以在服务器计算系统130处存储和实施。
[0095]
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可以用来实施虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以用来提供用户输入的其他装置。
[0096]
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器134可以存储由处理器132执行以使服务器计算系统130执行操作的数据136和指令138。
[0097]
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或者由一个或多个服务器计算设备来实施。在服务器计算系统130包括多个服务器计算设备的实例中,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来操作。
[0098]
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或者可以包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。参考图3和4讨论示例模型140。
[0099]
用户计算设备102和/或服务器计算系统130可以经由与通过网络180通信耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可以与服务器计算系统130分离,或者可以是服务器计算系统130的一部分。
[0100]
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器内核、微处理器、asic、fpga、控制器、微控制器等)并且可以是一个处理器或可操作地连接的多个处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如ram、rom、eeprom、eprom、闪存设备、磁盘等,及其组合。存储器154可以存储由处理器152执行以使训练计算系统150执行操作的数据156和指令
158。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者由一个或多个服务器计算设备实施。
[0101]
训练计算系统150可以包括模型训练器160,该模型训练器160使用各种训练或学习技术(诸如例如,误差的反向传播)来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140(例如,根据图3所示的框架)。例如,损失函数可以通过(多个)模型反向传播,以更新(多个)模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数,诸如本文在等式1-4中描述的损失函数。梯度下降技术可用于在多次训练迭代中迭代更新参数。
[0102]
在一些实施方式中,执行误差的反向传播可以包括随时间执行截短的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、丢弃等)来提高被训练模型的泛化能力。
[0103]
特别地,模型训练器160可以基于一组训练数据162来训练机器学习模型120和/或140。训练数据162可以包括例如不同形式的数据,诸如图像、音频样本、文本等。可以使用的图像的示例类型包括视频帧、lidar点云、x射线图像、计算机断层扫描、超光谱图像和/或各种其他形式的图像。
[0104]
在一些实施方式中,如果用户已经提供了同意,则训练例可以由用户计算设备102提供。因此,在这样的实施方式中,提供给用户计算设备102的模型120可以由训练计算系统150在从用户计算设备102接收的用户特定数据上训练。在一些实例中,这个过程可以被称为个性化模型。
[0105]
模型训练器160包括用于提供所期望功能的计算机逻辑。模型训练器160可以以控制通用处理器的硬件、固件和/或软件来实施。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括一组或多组计算机可执行指令,这些指令存储在有形的计算机可读存储介质(诸如ram硬盘或光学或磁性介质)中。
[0106]
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合,并且可以包括任何数量的有线或无线链路。一般而言,通过网络180的通信可以使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml)和/或保护方案(例如,vpn、安全http、ssl),经由任何类型的有线和/或无线连接来承载。
[0107]
图5a示出了可用于实施本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实施方式中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实施方式中,模型120可以在用户计算设备102本地训练和使用。在一些这样的实施方式中,用户计算设备102可以实施模型训练器160以基于用户特定数据来个性化模型120。
[0108]
图5b描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
[0109]
计算设备10包括多个应用(例如,应用1至n)。每个应用都包含自己的机器学习库和(多个)机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
[0110]
如图5b所示,每个应用可以与计算设备的多个其他组件(诸如,例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实施方式中,每个应用可以使用api(例如,公共api)与每个设备组件通信。在一些实施方式中,每个应用使用的api是特定于该应用的。
[0111]
图5c描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
[0112]
计算设备50包括多个应用(例如,应用1至n)。每个应用都与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用可以使用api(例如,跨所有应用的公共api)与中央智能层(以及存储在其中的(多个)模型)通信。
[0113]
中央智能层包括许多机器学习模型。例如,如图5c所示,可以为每个应用提供相应的机器学习模型(例如,模型),并由中央智能层管理。在其他实施方式中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实施方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实施方式中,中央智能层被包括在计算设备50的操作系统中,或者由计算设备50的操作系统来实施。
[0114]
中央智能层可以与中央设备数据层通信。中央设备数据层可以是计算设备50的集中式数据仓库。如图5c所示,中央设备数据层可以与计算设备的多个其他组件(诸如,例如,一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实施方式中,中央设备数据层可以使用api(例如,私有api)与每个设备组件通信。
[0115]
附加公开
[0116]
本文讨论的技术涉及服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的行动和发送到这些系统和从这些系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间对任务和功能进行多种可能的配置、组合和划分。例如,本文讨论的过程可以使用单个设备或组件或者组合工作的多个设备或组件来实施。数据库和应用可以在单个系统上实施,也可以分布在多个系统上。分布式组件可以顺序或并行操作。
[0117]
虽然本主题已经关于其各种具体示例实施例进行了详细描述,但是每个示例都是以解释的方式提供的,而不是对本公开的限制。本领域的技术人员在理解了前述内容之后,可以容易地生成对这些实施例的改变、变化和等同物。因此,本主题公开不排除对本主题的这种修改、变化和/或添加,这对于本领域普通技术人员来说是明显的。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用,以产生又一个实施例。因此,本公开旨在覆盖这些改变、变化和等同物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献