首页> 中国专利> 通过使用基于注意力的神经网络在视频剪辑中进行动作分类

通过使用基于注意力的神经网络在视频剪辑中进行动作分类

摘要

用于对视频中的动作进行分类的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法中的一个:获得视频剪辑的特征表示;获得用于指定在关键视频帧中的多个候选代理边界框的数据;并且针对每个候选代理边界框,通过动作转换器神经网络来处理所述特征表示。

著录项

  • 公开/公告号CN113039555A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 渊慧科技有限公司;

    申请/专利号CN201980075305.X

  • 申请日2019-11-20

  • 分类号G06K9/00(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人李宝泉;周亚荣

  • 地址 英国伦敦

  • 入库时间 2023-06-19 11:35:49

说明书

背景技术

本说明书涉及通过使用神经网络来处理视频数据。

神经网络是采用一层或多层非线性单元针对接收到的输入来预测输出的机器学习模型。一些神经网络包括除输出层外的一个或多个隐藏层。每个隐藏层的输出用作所述网络中的下一层(即下一隐藏层或输出层)的输入。所述网络的每一层根据相应的参数集合的当前值从接收到的输入中生成输出。

发明内容

本说明书描述了一种在一个或多个位置中的一个或多个计算机上被实施为计算机程序的系统,所述系统对由在视频中的关键视频帧中描绘的一个或多个代理(例如,一个或多个人或其它动物或机器人)所执行的动作进行分类。特别地,所述系统识别在关键视频帧中的可能描绘一个代理的边界框,并且生成一组分类得分,该组分类得分包括针对在一组可能动作中的每个动作的相应得分。给定动作的得分表示在所述边界框中描绘的代理在包括所述关键视频帧的视频剪辑中正在执行所述动作的可能性。所述系统可以生成针对在关键视频帧中的多个边界框的这些动作得分。

可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。

所描述的系统有效地对由在视频剪辑中描绘的代理所执行的动作进行分类。特别地,所描述的系统可以在其动作被分类的代理周围有效地聚集来自(在视频剪辑内的)时空上下文的特征。这通过使用一种注意力机制来实现,所述注意力机制通过使用从与用于描绘其动作被分类的代理的边界框相对应的特征中导出的查询,来注意视频剪辑的特征表示。另外,系统可以利用该时空上下文来提高边界框预测的准确性。所述系统能够既跟踪单个人又能够根据视频中的其他人的动作将他们的动作置于上下文中。此外,因为由注意力机制在注意所述特征表示的各个部分时所生成的注意力权重定义了视频剪辑的哪些部分影响针对任何给定代理的动作分类,所以这些注意力权重也可以被输出以使神经网络关于任何给定代理的预测更可解释。换句话说,因为所述系统通过使用所描述的注意力机制来做出动作分类,所以所述系统在做出任何给定预测时所专注的所述视频的部分可以被用户识别,以允许用户更好地理解针对给定预测的原因。

基于所述动作得分(例如,作为其动作得分最高的动作)而获得的分类结果可以用于例如生成警告信号(例如,具体地,如果所述代理是人,则将警告信号传送到所述代理),如果根据分类结果,所述代理未执行期望动作和/或执行了不期望的动作的话。可替代地,它可以用作用于基于由分类结果所指定的动作而例如在所述代理的环境中控制所述系统的控制信号。例如,如果动作是正在朝着门行走,则控制信号可以控制所述门打开。

本说明书中描述的主题的一个或多个实施例的细节在以下的附图和描述中阐述。本主题的其它特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。

附图说明

图1示出示例视频处理系统。

图2示出动作转换器神经网络的示例架构。

图3是用于生成针对视频剪辑的动作分类的示例过程的流程图。

在各个附图中,相似的附图标号和标记指示相似的元素。

具体实施方式

图1示出示例视频处理系统100。视频处理系统100是在用于实施下面描述的系统、组件和技术的、在一个或多个位置中的一个或多个计算机上实施为计算机程序的系统的示例。

系统100对由视频中的关键视频帧中所描绘的一个或多个代理(例如人或其它动物或机器人)所执行的动作进行分类。更具体地,系统100接收视频剪辑102和用于识别在视频剪辑中的关键视频帧的数据。在视频剪辑中的关键帧被在所述视频剪辑中的一个或多个其它帧(“上下文视频帧”)包围。所述视频剪辑可以由摄像机捕获,并且示出包含(一个或多个)代理的环境的至少一部分。

为了处理视频剪辑102,系统100识别在关键视频帧中的可能描绘代理的一个或多个边界框,并且生成用于每个边界框的动作分类得分150的集合,所述集合包括针对在可能动作集合中的每个动作的相应得分。针对给定动作的得分表示在边界框中描绘的所述代理在包括关键视频帧的视频剪辑中正在执行所述动作的可能性。所述系统还可以生成用于“背景”动作的得分,所述得分指示所述边界框或者是未描绘代理、或者是描绘了在所述视频中未正在执行动作的背景代理。当存在有在所述关键视频帧中识别出的多个边界框时,系统100可以生成针对在所述关键视频帧中的多个边界框的这些动作得分。

特别地,系统100获得视频剪辑102的特征表示112,即,所述剪辑包括所述关键视频帧和来自同一视频的一个或多个上下文视频帧。

通常,特征表示112是时空特征表示。即,特征表示112包括多个帧,每个帧对应于在所述视频剪辑中的不同的相应时间段(例如,相应的非重叠时间段)。特征表示112中的每个帧包括用于多个空间单元中的每一个空间单元的相应特征,其中每个空间单元对应于在视频剪辑的所述帧中的空间区域。

如在本说明书中所引用的,特征是数字值的有序集合,例如浮点值、定点值、或其它类型的数字值的向量或矩阵。

在一个示例中,当视频剪辑包括尺寸为H x W的T个视频帧时,特征表示包括尺寸为H’xW’的T’个视频帧。通常,T’小于T,H’小于H,并且W’小于W。作为特定示例,T’可以等于T/4,H’可以等于H/16,并且W’可以等于W/16。

在一些实施方式中,系统100从外部系统接收特征表示112。在其它实施方式中,系统100通过使用“基础”神经网络110来生成特征表示。所述神经网络110被称为“基础”神经网络,因为它用作处理管线的基础,即因为它生成所述特征表示112,然后所述特征表示112将被用于对动作进行分类。

基础神经网络110可以具有任何适当的神经网络架构,其允许基础神经网络110生成输入视频剪辑的时空特征表示。例如,神经网络110可以包括多个三维卷积层,这些三维卷积层减小所述视频剪辑的空间和时间维度以生成特征表示(例如,同时增加每个特征的维度数量)。作为特定示例,神经网络110可以是I3D神经网络的初始层。I3D神经网络在2017年的CVPR中的在J.Carreira和A.Zisserman的“Quo Vadis,Action Recognition?A newmodel and the kinetics dataset”(“君往何处”,动作识别?新模型和动力学数据集)中被进一步描述。

系统100还获得用于指定在关键视频帧中的多个候选代理边界框的数据122。每个候选代理边界框是所述关键视频帧中的用于描述代理的一部分的初始估计。即,每个候选代理边界框是在所述关键视频帧中的可以描绘代理的区域。

在一些实施方式中,所述系统从外部系统获得边界框数据122。在一些其它实施方式中,所述系统通过使用区域提议神经网络120来生成边界框数据122。区域提议神经网络120是一种神经网络,其被配置为接收视频帧的特征表示(例如,特征表示122)、并且处理所述特征表示以生成用于指定在所述视频帧中的多个候选代理边界框(此处也称为候选边界框)的数据和用于每个候选边界框的相应客观性得分。用于给定候选边界框的客观性得分表示所述边界框描述代理的可能性。

为了生成边界框数据122,系统100通过使用区域提议神经网络120来处理在所述表示112中的在时间上与关键视频帧相对应(即与在所述视频剪辑中的包括所述关键视频帧的时间段相对应)的帧。例如,当关键视频帧是在输入视频剪辑102中的时间中心帧时,系统100可以处理在所述特征表示112中的时间中心帧以生成所述边界框数据122。

区域提议神经网络120可以具有任何适当的神经网络架构,其允许区域提议神经网络120从输入特征表示中生成边界框和客观性得分。在2015年的NIPS中的S.Ren,K.He,R.Girshick,和J.Sun的“Faster R-CNN:Towards real-time object detection withregion proposal networks”(更快的R-CNN:通过区域提议网络实现实时目标检测)中描述了区域提议神经网络的示例架构。

在一些实施方式中,系统100仅选择由区域提议神经网络120生成的候选框的子集,以用于进一步处理。特别地,系统100可以基于客观性得分(即通过选择具有最高客观性得分的边界框)从由区域提议神经网络120所生成的多个候选边界框中选择预定数量的候选代理边界框,以用于进一步处理。

针对每个候选边界框,系统100然后通过使用动作转换器神经网络130处理所述特征表示来生成动作分类得分150、以及可选地生成用于指定精炼边界框的数据。

动作转换器神经网络130可以包括动作转换器层的堆栈,其被配置为处理所述特征表示112以生成用于候选边界框的最终特征向量。

动作转换器神经网络130还可以包括一个或多个分类输出层,其被配置为处理所述最终特征向量以生成针对在可能动作集合中的每个动作的相应分类得分。

可选地,动作转换器神经网络130还可以包括一个或多个回归输出层,其被配置为处理用于候选边界框的最终特征向量,以生成用于定义最终边界框的数据,所述最终边界框是所述关键视频帧的描绘所述代理的所述一部分的精炼估计。

下面参考图2更详细地描述动作转换器神经网络130的架构。

图2示出了动作转换器神经网络130的示例架构。

如图2所示,所述系统接收输入视频剪辑102。虽然图2示出在输入视频剪辑中包括的三个视频帧,但是所述视频剪辑通常将包括包围所述视频中的关键视频帧的更多视频帧。例如,视频剪辑可以包括来自所述视频的包括关键视频帧的在50至100个之间的视频帧。

所述系统通过基础神经网络110处理输入视频剪辑102以生成特征表示112。如上所述,所述特征表示112可以是由基础神经网络110生成的卷积特征图,即,帧集合。

在一些实施方式中,所述系统利用位置嵌入来增强由基础神经网络110生成的卷积特征图,以生成特征表示112。换句话说,所述系统利用位置嵌入来增强在所述特征表示中的每个帧中的每个特征,所述位置嵌入标识所述帧的时间位置、以及针对在所述帧中的每个单元标识所述单元在所述帧中内的空间位置。作为特定示例,所述系统可以通过在特征表示12中级联用于嵌入(编码)与所述特征相对应的所述单元的空间坐标和时间位置的向量,来增强用于每个单元的所述特征。

所述系统然后通过使用区域提议神经网络120来处理与所述关键帧相对应的所述特征表示的帧,以生成如上面参考图1所述的边界框数据122。

针对每个候选边界框,系统100然后通过使用动作转换器神经网络130处理所述特征表示,来生成动作分类得分150和可选地生成用于指定精炼边界框250的数据。

动作转换器神经网络130包括动作转换器层的堆栈,其被配置为处理所述特征表示112以生成用于候选边界框的最终特征向量230。

特别地,动作转换器神经网络130从用于在所述特征表示中的候选边界框的特征中生成输入查询特征向量,并且然后每个动作转换器层通过使用特征表示112来更新查询特征向量以生成最终查询特征,即最终特征向量230。

换句话说,输入查询特征向量包括与在所述特征表示中的候选边界框相对应的特征。

在图2的示例中,为了生成输入查询特征向量,动作转换器神经网络130从特征表示112中提取用于候选边界框的感兴趣区域(ROI)池化特征。可选地,神经网络130然后可以通过使用跟随有一个或多个线性神经网络层的查询预处理器来处理ROI池化特征。

在一些实施方式中,查询预处理器对ROI池化特征进行空间平均以生成预处理查询。

在其它实施方式中,查询预处理器将1x 1卷积应用于ROI池化特征,以生成包括多个单元的特征图,并且级联所述特征图的单元以生成预处理查询。

在神经网络130中的每个动作转换器层包括一个或多个注意力单元210。在图2的示例中,神经网络130包括三个动作转换器层,每个动作转换器层包括两个注意力单元210。但是,通常,神经网络130可以具有多于或少于三个转换器层,并且每一层可以具有相同或不同数量的注意力单元210。

通常,在任何给定层中的一个或多个注意力单元210中的每一个被配置成接收用于所述动作转换器层的输入查询特征212并且生成输出查询特征214。

用于所述堆栈中的第一动作转换器层的输入查询特征212是由神经网络130生成的输入查询特征向量。

在所述堆栈中的除了第一动作转换器层之外的每个动作转换器层的输入查询特征212是基于用于所述堆栈中的前一动作转换器层中的每个注意力单元210的输出查询特征来生成的。

例如,当前一层具有多个注意力单元210时,输入查询特征212可以是用于所述堆栈中的前一动作转换器层中的每个注意力单元210的输出查询特征的级联。

类似地,最终特征向量230是用于所述堆栈中的最后一个动作转换器层中的每个注意力单元的输出查询特征的级联。

为了生成输出查询特征214,每个单元210被配置为从特征表示112生成键特征和值特征。特别地,单元210可以将第一学习线性转换应用于特征表示112以生成键特征,并且可以将第二学习线性转换应用于特征表示112以生成值特征。通常,键特征和值特征二者都包括用于特征表示112中的每个帧中的每个单元的相应特征。例如,当特征表示包括尺寸为H’xW’的T’视频帧时,键特征和值特征二者的尺寸都可以为T’xH’xW’xD,其中D等于在所述查询特征向量中的维数。

每个单元210然后将注意力机制应用于输入查询特征、键特征和值特征,以生成初始更新的查询特征并且从更新的查询特征中生成输出查询特征。

通常,任何注意力机制可以由单元210实施。在图2的示例中,注意力机制是softmax(柔性最大值)注意力机制。

在softmax注意力中,将点乘注意力应用于键特征,以生成用于所述值特征中的每个特征的相应权重。所述权重然后通过D的平方根来归一化,并且将softmax应用于经归一化的权重,以生成用于所述值特征中的每个特征的相应概率。然后对所述值特征进行求和,并按它们相应的概率进行加权,以生成初始更新的查询特征。

任何给定单元210的生成初始更新的查询特征的操作可以因此被表示为:

其中,(r)表示第r个候选边界框,Q

单元210可以然后以各种方式中的任何一种从初始更新的查询特征中生成输出查询特征214。在图2的示例中,在训练期间,所述单元将dropout(丢弃)应用于初始更新的查询特征,并将其添加到原始查询特征。将产生的查询特征通过残差分支,所述残差分支由LayerNorm(层归一化)操作、随后是被实施为2层MLP和dropout的前馈网络(FFN)所组成。将最终特征添加到LayerNorm操作的输出并且通过一个或多个LayerNorm操作,以生成输出查询特征214。

在训练之后,dropout操作可以被删除,并且单元210可以从初始更新的查询特征中生成输出查询特征214,而不会丢弃任何特征。因此,在训练之后,单元210通过包括层归一化操作、随后是一个或多个完全连接的神经网络层的残差分支,来处理更新的查询特征和输入查询特征,以生成初始输出查询特征,并且将层归一化应用于初始输出查询特征,以生成输出查询特征214。

因此,在所述堆栈中的每个动作转换器层通过应用其中使用从特征表示112导出的键和值的注意力机制,来更新基于候选边界框所生成的初始查询特征。通过以这种方式更新查询特征,由动作转换器层所应用的自我注意力将来自所述视频剪辑中的其它代理和对象的上下文添加到查询向量中,以辅助后续的分类和回归。

动作转换器神经网络130还包括一个或多个分类输出层,所述分类输出层被配置为处理最终特征向量230以执行N+1向分类,以针对在N个可能动作的集合中的每个动作而生成相应的分类得分以及针对“背景”动作的得分,所述分类得分表示在所述候选代理边界框中描绘的人员正在执行所述视频剪辑中的所述动作的可能性,所述针对“背景”动作的得分表示在所述图像中的区域实际描绘了背景或代理未执行动作的可能性。

当神经网络130生成精炼边界框250时,神经网络130还包括一个或多个回归输出层,其被配置为处理用于所述候选边界框的最终特征向量,以生成用于定义最终边界框的数据,所述最终边界框是所述关键视频帧的用于描述代理的所述部分的精炼估计,即其精炼了由区域提议神经网络120所生成的估计。例如,回归输出层可以生成其中包括对由区域提议神经网络120所生成的边界框的每个坐标的精炼的向量。

为了允许神经网络130生成准确的动作分类,系统100(或另一系统)在一组训练数据上(即在一组标记的视频剪辑上)训练神经网络130,以确定神经网络130的参数的训练值。当所述系统使用神经网络110和120时,所述系统可以对神经网络110、神经网络120、或二者进行预训练,同时从头开始初始化所述神经网络130的参数和初始化不是从头预训练的任何其它神经网络的参数,例如根据传统参数初始化方案。然后所述系统可以在所述训练数据上共同训练所述神经网络110、120和130。

针对此训练,所述系统可以最小化包括分类损失和回归损失的损失函数。针对每个动作类别,分类损失可以是使用S形交叉熵所实施的分开的逻辑损失。回归损失可以是基于L1误差的损失,例如平滑L1损失。

图3是用于对在关键帧中执行的动作进行分类的示例过程300的流程图。为了方便起见,将过程300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的视频处理系统(例如图1的视频处理系统100)可以执行过程300。

所述系统获得包括关键帧和一个或多个上下文帧的视频剪辑的特征表示(步骤302)。

所述系统获得用于指定在关键视频帧中的多个候选代理边界框的数据,其中每个候选代理边界框是在关键视频帧中的用于描绘代理的部分的初始估计(步骤304)。

针对每个候选边界框,所述系统通过动作转换器神经网络来处理特征表示(步骤306)。

动作转换器神经网络包括动作转换器层的堆栈以及一个或多个分类输出层,所述动作转换器层的堆栈被配置为处理所述特征表示以生成用于候选边界框的最终查询特征向量,所述一个或多个分类输出层被配置为处理所述最终特征向量以生成用于在可能动作的集合中的每个动作的相应分类得分,,所述相应分类得分表示在候选代理边界框中描绘的人员正在执行所述视频剪辑中的动作的可能性。动作转换器神经网络还可以包括一个或多个回归输出层,其被配置为处理用于候选边界框的最终特征向量以生成用于定义最终边界框的数据,所述最终边界框是在关键视频帧中的用于描绘代理的部分的精炼估计。

本说明书结合系统和计算机程序组件使用了术语“配置”。针对一个或多个计算机的系统被配置为执行特定操作或动作,意味着所述系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得所述系统执行所述操作或动作。针对一个或多个计算机程序被配置为执行特定操作或动作,意味着所述一个或多个程序包括当由数据处理装置运行时使得所述装置执行所述操作或动作的指令。

本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)中实施,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置运行或控制数据处理装置的操作。所述计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行访问存储器设备、或者它们中的一个或多个的组合。替换地或附加地,所述程序指令可以被编码在人工生成的传播的信号上,例如机器生成的电、光或电磁信号,所述信号被生成以编码信息,用于传输到合适的接收器装置以由数据处理装置运行。

术语“数据处理装置”指的是数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。所述装置还可以是或进一步包括专用逻辑电路,例如,FPGA(Field Programmable Gate Array,现场可编程门阵列)或ASIC(Application Specific Integrated Circuit,专用集成电路)。除了硬件之外,所述装置可以可选地包括为计算机程序创建运行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。

计算机程序,也可以被称为或描述为程序、软件、软件应用、应用(app)、模块、软件模块、脚本或代码,可以用任何形式的编程语言编写,包括编译或解释语言、或者声明性或程序性语言;并且它可以以任何形式部署,包括作为独立程序、或作为模块、组件、子程序或其它适合在计算环境中使用的单元。所述程序可以但不需要对应于文件系统中的文件。所述程序可以存储在用于保存其它程序或数据的文件的一部分(例如存储在标记语言文档中的一个或多个脚本)中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在位于一个站点、或跨多个站点分布并通过数据通信网络互连的一个或多个计算机上运行。

在本说明书中,术语“数据库”被广泛用于指代任何数据集合:所述数据不需要以任何特定的方式结构化,或者根本不需要结构化,并且它可以存储在一个或多个位置的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。

类似地,在本说明书中,术语“引擎”被广泛用于指基于软件的系统、子系统或过程,其被编程为执行一个或多个特定功能。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其它情况下,可以在同一个或多个计算机上安装和运行多个引擎。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,所述一个或多个可编程计算机运行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)、或者由专用逻辑电路和一个或多个编程的计算机的组合来执行。

适于运行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或结合到专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者被可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或向其传送数据或两者。然而,计算机不是必需具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(Personal Digital Assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(Global Positioning System,GPS)接收器、或便携式存储设备,例如通用串行总线(Universal Serial Bus,USB)闪速驱动器,仅举几例。

适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;CD ROM和DVD-ROM盘。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示器设备(例如CRT(Cathode Ray Tube,阴极射线管)或LCD(Liquid CrystalDisplay,液晶显示器)监视器)以及用户通过其可以向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)的计算机上实施。也可以使用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的设备上的网络浏览器发送网页。此外,计算机可以通过向个人设备(例如,正在运行消息传递应用程序的智能手机)发送文本消息或其它形式的消息、并且作为回报从用户接收响应消息来与用户交互。

用于实施机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推理、工作负载。

机器学习模型可以通过使用机器学习框架来实施和部署,例如TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架。

本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面、网络浏览器或用户通过其可以与本说明书中描述的主题的实施方式交互的应用程序的客户端计算机,或者一个或多个这样的后端、中间件或前端组件的任意组合。所述系统的组件可以通过任何形式或介质的数字数据通信相互连接,例如通信网络。通信网络的示例包括局域网(Local Area Network,LAN)和广域网(Wide Area Network,WAN),例如互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在各自的计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,HTML页面)传输到用户设备,例如,用于向与充当客户端的设备交互的用户显示数据和从所述用户接收用户输入的目的。在用户设备处生成的数据,例如用户交互的结果,可以在服务器处从设备接收。

虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定于特定发明的特定实施例的特征的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开地或以任何合适的子组合来实施。此外,尽管特征在上面可以被描述为以某些组合起作用,并且甚至最初被要求保护如此,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从所述组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,虽然在附图中描绘了操作,并且在权利要求中以特定顺序列举了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或连续顺序执行,或者要求执行所有示出的操作,以获得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种系统模块和组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统一般可以在单个软件产品中被集成在一起或者被打包到多个软件产品中。

已经描述了所述主题的特定实施例。其它实施例在以下权利要求的范围内。例如,权利要求中描述的动作可以以不同的顺序执行,并仍然获得期望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定顺序或连续顺序来获得期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。

要求的保护范围由权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号