训练有监督机器学习的模型的方法和装置与流程

文档序号:14175995阅读:226来源:国知局
训练有监督机器学习的模型的方法和装置与流程

本公开总体上涉及有监督机器学习的模型的技术领域,并且具体地涉及用于训练有监督机器学习的模型的方法和装置。



背景技术:

有监督机器学习(supervisedmachinelearning)通常需要使用大量的训练样本对模型进行训练,并根据期望结果与模型通过使用训练样本所得到的推导结果之间的比较结果,来确定是否需要调整模型的参数以及如何调整模型的参数,从而使有模型能够良好地适用于训练样本之外的其他数据(例如,实际的应用数据)。有监督机器学习的模型例如可以包括人工神经网络(例如,卷积神经网络)和决策树等。

已经提供了很多不同的训练样本集合或训练样本库。有监督机器学习的模型的设计人员在使用这样的样本集合或样本库来训练有监督机器学习的模型之前,需要对大量(甚至是海量)的样本中的目标对象进行人工标注,以提供与目标对象有关的标注数据(例如,目标对象的类型、尺寸、位置等)。训练的成本很高,但是准确性和效率却很低。



技术实现要素:

一方面,提供了一种用于训练有监督机器学习的模型的方法。该方法可以包括:生成包含目标对象的人造图像;在生成人造图像的过程中记录与目标对象有关的标注数据;使用人造图像作为模型的输入数据来执行模型中的运算,以获得与目标对象有关的推导数据;以及比较推导数据和标注数据以确定是否调节模型的参数。

另一方面,还提供了一种用于训练有监督机器学习的模型的装置。该装置可以包括:渲染引擎,被配置为生成包含目标对象的人造图像并且在生成人造图像的过程中记录与目标对象有关的标注数据;运算器,被配置为使用人造图像作为模型的输入数据来执行模型中的运算,以获得与目标对象有关的推导数据;以及调节器,被配置为比较推导数据和标注数据以确定是否调节模型的参数。

另一方面,还提供了一种用于训练有监督机器学习的模型的装置。该装置可以包括被配置为执行上述的方法的处理器。

另一方面,还提供了一种非临时性存储介质,在其上存储有程序指令,该程序指令在被计算装置执行时执行上述的方法。

通过根据本公开的实施例的方法和装置,能够省去在有监督机器学习训练过程中所需的人工标注,从而能够减少成本,提高标注的准确度,并提高训练的效率。

附图说明

图1示出根据本公开的实施例的用于训练有监督机器学习的模型的示例方法的流程图。

图2示出根据本公开的实施例的训练有监督机器学习的模型的示例。

图3示出根据本公开的实施例的用于训练有监督机器学习的模型的示例装置的框图。

图4示出根据本公开的实施例的用于训练有监督机器学习的模型的示例装置的框图。

具体实施方式

图1示出根据本公开的实施例的用于训练有监督机器学习的模型的示例方法的流程图。如图1所示,根据本公开的实施例的示例方法100可以包括:步骤s101,生成包含目标对象的人造图像;步骤s105,在生成人造图像的过程中记录与目标对象有关的标注数据;步骤s110,使用人造图像作为模型的输入数据来执行模型中的运算,以获得与目标对象有关的推导数据;以及步骤s115,比较推导数据和标注数据以确定是否调节模型的参数。

下面结合图2的示例来详细地描述该示例方法100。

示例方法100可以开始于步骤s101,以生成包含目标对象的人造图像。

在一个实施例中,如图2所示,可以连接资源库200并从资源库200获取一个或多个元件。

资源库200可以包括用于生成人造图像的各种不同的元件。例如,资源库200可以包括用于表现“人”的诸如头部、手臂、手、手指、躯干、腿、脚、眼睛、耳朵、鼻子、嘴、头发、胡须、眉毛、衣服、手套、头盔、帽子等各种部件的各种形态的图像、图片或动画,也可以包括诸如剑、扳手、木棒等各种工具的各种形态的图像、图片或动画,还可以包括用于表现诸如动物、植物、车辆、建筑物、自然风景、宇宙物体等各种实体及其各个部件的各种形态的图像、图片或动画。另外,资源库200中所包括的图像图片或视频可以是一维的、二维的、三维的和/或更多维度上的图像图片或视频。资源库200还可以包括音频、文字等其他元件。

根据本公开的实施例的方法不局限于资源库200中的所包括的元件的数量、类型、组织(或存储)形式等,也不局限于资源库200的形式、连接方式、访问方式等。

然后,在步骤s101中,可以将所获取的一个或多个元件组合到一起,并且对组合到一起的元件的集合体进行渲染(例如,2d渲染或3d渲染),从而生成例如在图2中所示的人造场景205。

另外,可以将人造场景205中的手持剑的人作为一个目标对象210。在另外的示例中,可以将场景中的任何一个或多个实体作为一个或多个目标对象。例如,可以将手持剑的人的手中的剑作为一个目标对象,也可以分别将背景中的云、墙、手持剑的人和剑各自作为一个目标对象,也可以将背景中的云、墙、手持剑的人和剑的集合作为一个目标对象。

在图2的示例中,还可以通过对所生成的人造场景205进行鱼眼镜头投影来生成人造图像220。在另外的示例中,还可以对人造场景205进行其他类型的投影,例如广角镜头投影、标准镜头投影、远摄镜头投影等,并且可以使用多种类型投影方式。另外,也可以不对人造场景205进行投影,而将人造场景205直接用作人造图像220。

在步骤s101中生成人造场景205或人造图像220的过程中,同时执行步骤s105,从而在生成人造场景205或人造图像220的过程中自动地记录与目标对象210有关的标注数据215。标注数据定义用于生成人造图像或人造图像中的各个实体的各个元件或各个元件集合体的各种属性值。

例如,在图2的示例中,在步骤s101中,从资源库200所选择的用于生成目标对象210的元件可以包括元件201(朝向正东的人类的头部)、202(人类的展开的手臂)、203(人类的腿和脚)和204(剑)。在将这些元件以及所选择的其他元件组合并渲染成人造场景205的过程(步骤s101)中,可以根据元件201至204的属性,确定与元件201至204相关的目标对象210的类型为“人”,朝向为“正东”,并且手中持有的物品为“剑”(步骤s105)。另外,还可以根据元件203在人造场景205中的摆放位置(步骤s101)来确定目标对象210的坐标(步骤s105),并可以根据元件201或202或204的摆放角度(步骤s101)来确定目标对象210的仰角(步骤s105),等等。另外,还可以以及将人造场景205投影成人造图像220的过程(步骤s101)中,来确定各个标注数据在投影前后的变化(步骤s105),例如大小、角度和位置等在投影前后的变化。

也就是说,人造场景205或人造图像220(包括人造场景205或人造图像220中的目标对象210)是根据所选择的各个元件的各种标注数据,对所选择的各个元件进行组合和渲染来生成的。同时,可以在生成人造场景205或人造图像220的过程中记录和/或确定用于生成人造场景205或人造图像220的每个元件和/或每个元件集合体相关的标注数据。

在图2的示例中,标注数据215可以包括目标对象210的类型(人类)、位置坐标、朝向、仰角、状态、手持物品等信息。在另外的示例中,标注数据215还可以包括目标对象的形状、颜色(例如,图2中的目标对象210的衣服的颜色)、尺寸(例如,图2中的目标对象210的身高)等信息。另外,在步骤s105中,也可以针对用于生成人造场景205或人造图像220的每个元件和/或一些元件的组合体生成标注数据。

通过在步骤s101和步骤s105,可以同时获得包含目标对象210的人造场景205或人造图像220以及与目标对象210相关的标注数据215,而不必针对所生成的人造场景205或人造图像220中的目标对象210进行另外的人工标注。

然后,示例方法100继续到步骤s110。如图2所示,可以将所生成的人造图像220作为有监督机器学习的模型225的输入,并提供给模型225。模型225执行运算,并输出与目标对象210有关的推导数据230。

在一个实施例中,可以将人造图像220直接提供给模型225,也可以将能够代表人造图像220的数据集提供给模型225(例如,在人造图像220为3d图像的情况下,可以将3d点的集合提供给模型225)。在另外的实施例中,也可以将与人造图像220相关的其他信息(例如,音频、位置坐标等)提供给模型225。本公开不局限于模型225的特定类型、特定实现和特定任务(例如,识别、预测、3d重构),也不局限于模型所接收的数据的特定格式或特定形式。

然后,示例方法可以继续到步骤s115,以比较标注数据215和推导数据230。在一个实施例中,可以比较标注数据215和推导数据230,以确定两个数据是否相同。例如,可以比较标注数据215中的“类型”与推导数据230中的“类型”是否相同。在另一个实施例中,也可以比较标注数据215和推导数据230,以确定两个数据之间的差异是否超出阈值。例如,可以比较比较标注数据215中的“仰角”和推导数据230中的“仰角”之间的差异是否超出阈值。阈值可以由有监督机器学习的模型225的设计人员在设计有监督机器学习的模型225时指定。

在根据比较结果确定需要调节模型225的参数的情况下,可以调节模型225的参数,并重复步骤s110和s115,直至模型225的输出符合预期要求。在一个实施例中,可以在步骤s101中生成不同数量的人造图像,并且在步骤s110和s115中根据模型的类型和训练的预期目标而采用不同的误差比较方法、参数调整方法和预期条件。例如,对于神经网络,可以在步骤s101中生成多个(例如,大量的)人造图像,并且在步骤s110和s115中采用例如反向传播算法来调整参数,使得误差函数关于参数的偏导数的梯度下降,并最终使得误差函数缩小到可接受的范围。

在根据本公开的实施例的训练方法(例如,示例方法100)中,在生成人造场景或人造图像的过程中同时生成标注数据,从而不必进行另外的人工标注,有利于降低训练的成本,并提高训练的效率。

另外,通常的训练样本集合或训练样本库中的样本往往是对典型的应用中的典型数据进行实际采集的结果,例如,针对特定人群、特定场合、特定应用等使用例如相机或录音机等装置采集的照片、声音、文字等。使用这样的样本,可能使模型或者模型的训练受限于特定人群、特定场合、特定应用或者所使用的训练样本集合或训练样本库等。另外,训练的结果的准确性和可靠性还将取决于针对训练样本集合或训练样本库中的样本的标注结果,或者取决于训练样本集合或训练样本库的提供者所提供的参考数据。例如,经过训练的模型可能对于所使用的训练样本集合或训练样本库中的样本表现良好,但是对于其他训练样本集合或训练样本库中的样本之外的情况可能具有较大的误差。

在根据本公开的实施例的训练方法中,使用所生成的人造场景或人造图像进行训练,并且相关的标注数据一定是准确和可靠的(因为人造场景或人造图像是基于这些标注数据来生成的)。因此,根据本公开的实施例的训练方法能够避免训练样本集合或训练样本库中的样本对训练结果的限制,有利于提高训练的准确性和可靠性。

图3和图4示出根据本公开的实施例的用于训练有监督机器学习的模型的示例装置的框图。

如图3所示,示例装置300可以包括渲染引擎301、运算器305和调节器310。

渲染引擎301可以被配置为生成包含目标对象的人造场景或人造图像并且在生成人造场景或人造图像的过程中记录与目标对象有关的标注数据。在一个实施例中,渲染引擎301可以包括一个或多个图形处理器(gpu)。

渲染引擎301还可以被配置为通过对资源库中的一个或多个元件进行组合和渲染来生成包括目标对象的人造场景,并且通过对人造场景进行一个或多个投影来生成人造图像。在一个实施例中,渲染引擎301可以包括一个或多个相机,以便以例如广角镜头投影、标准镜头投影、鱼眼镜头投影和远摄镜头投影中的一个或多个投影模式来拍摄人造场景,从而生成人造图像。在另外的实施例中,渲染引擎301可以直接通过硬件或软件的方式对人造场景进行变换,以将人造场景变换成与采用一个或多个投影模式进行投影后的结果相对应的人造图像。

另外,渲染引擎301可以包括i/o接口(未示出)和缓冲存储器,以便从资源库200接收用于生成人造场景的一个或多个元件,并对所接收的元件和/或所生成的人造图像/人造场景和/或中间结果进行缓存。

在一个实施例中,渲染器301可以被配置为执行例如图1所示的示例方法100的步骤s101和s105。

运算器305可以被配置为使用人造图像作为模型的输入数据来执行模型中的运算,以获得与目标对象有关的推导数据。在一个实施例中,运算器305可以包括通用的中央处理器(cpu)或者模型专用的硬件加速器(例如,在卷积神经网络的情况下的乘法累加器等)。在一个实施例中,渲染器301可以被配置为执行例如图1所示的示例方法100的步骤s110。

调节器310可以被配置为比较推导数据和标注数据以确定是否调节模型的参数。在一个实施例中,调节器310可以包括通用的中央处理器(cpu)和/或比较器(未示出)。另外,调节器310也可以包括i/o接口(未示出),以便接收经调节的模型参数。在一个实施例中,调节器310可以被配置为执行例如图1所示的示例方法100的步骤s115。

如图4所示,示例装置400可以包括一个或多个处理器401、存储器405和i/o接口410。

处理器401可以是具有数据处理能力和/或指令执行能力的任何形式的处理单元,例如通用cpu、gpu或者专用的加速器等。例如,处理器401可以执行根据本公开的实施例的方法。另外,处理器401还可以控制装置400中的其他部件,以执行所期望的功能。处理器401可以通过总线系统和/或其他形式的连接机构(未示出)与存储器405以及i/o接口410相连。

存储器405可以包括各种形式的计算机可读写存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪速存储器等。可读写存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。例如,在配合神经网络专用处理器使用的情况下,存储器405也可以是承载专用处理器的芯片上的ram。存储器405可以包括用于指示装置400执行根据本公开的实施例的方法的程序指令。

i/o接口410可以用于向处理器401提供参数或数据并且输出经过处理器401处理的结果数据。另外,i/o接口410还可以与资源库200相连以便接收用于生成人造场景或人造图像的一个或多个元件。

应当理解,图3和图4所示的装置300和400仅是示例性的,而非限制性的。根据本公开的实施例的装置可以具有其他部件和/或结构。

除非上下文清楚地另有要求,否则贯穿说明书和权利要求书,措词“包括”、“包含”等应当以与排他性或穷尽性的意义相反的包括性的意义来解释,也就是说,应当以“包括但不限于”的意义来解释。另外,措词“在本文中”、“上文”、“下文”以及相似含义的措词在本申请中使用时应当指作为整体的本申请,而不是本申请的任何具体部分。在上下文允许时,在使用单数或复数的以上描述中的措词也可以分别包括复数或单数。关于在提及两个或多个项目的列表时的措词“或”,该措词涵盖该措词的以下解释中的全部:列表中的任何项目,列表中的所有项目,以及列表中的项目的任何组合。

虽然已经描述了本公开的一些实施例,但是这些实施例仅作为示例而呈现,而不打算限制本公开的范围。实际上,在本文中所描述的方法和系统可以采用多种其他形式来实施。另外,可以在不脱离本公开的范围的情况下,在本文中所描述的方法和系统的形式上做出各种省略、替换和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1