用于图像数据分类的设备和方法与流程

文档序号:11935285阅读:199来源:国知局
用于图像数据分类的设备和方法与流程

本申请大体涉及目标识别的领域,更具体地,涉及用于图像数据分类的设备和方法。



背景技术:

学习的鲁棒性和不变表示一直是计算机视觉的长期目标。与诸如SIFT或HoG的手工制作的视觉特征相比,最近已显示,由深度模型学习的特征更能够捕获在视觉世界的各种现象下不变的抽象概念,例如,视点、照明和杂乱。因此,越来越多的研究在探索使用视觉问题的深度表示,尤其是分类任务的深度表示。

替代于将深度模型用于直接分类,很多视觉研究选择遵循多级技术。已经显示,这种技术在组合深度特征的良好不变行为和标准分类器的辨别力方面是有效的。通常,它们首先以监督的方式学习深度模型,例如,卷积神经网络。含有长度K的向量的1对K编码(1-of-K coding)与用于分类的softmax函数一起使用,其中第k个元素为一而其余的为零。1对K码中的每个元素基本上表示具体类别的概率。随后,从倒数第二层或较浅层中提取原始图像的特征,以形成高维特征向量,作为对诸如SVM的分类器的输入。

在神经网络训练中,现有技术通常采用1对K编码方案。然而,由1对K编码训练的神经网络系统中形成的鉴别性隐藏特征是有限的,并且由神经网络系统生成的预测不具有纠错能力。因此,需要在神经网络训练中具有更好表现的更有效目标编码。



技术实现要素:

根据本申请的实施例公开了用于数据分类的设备。该设备可包括:目标码生成器,其被配置成获取多个训练数据样本,并且为每个所获取的训练数据样本均生成目标码,其中训练数据样本被分组成不同类别;目标预测生成器,其被配置成接收多个任意数据样本,并且为每个所接收的任意数据样本生成目标预测;以及预测器,其被配置成基于所生成的目标码和所生成的目标预测来预测所接收的任意数据样本中的每个样本的类别。

根据本申请的另一实施例公开了用于数据分类的方法。该方法可包括:获取多个训练数据样本,其中训练数据样本被分组成不同类别;为每个所获取的训练数据样本生成目标码;为未分类数据样本生成该未分类数据样本的目标预测;以及基于所生成的目标码和所生成的目标预测来预测该未分类数据样本的类别

本发明为神经网络训练带来额外的有益效果。一方面,可在神经网络系统中形成更多的鉴别性隐藏特征。另一方面,由神经网络系统生成的预测具有纠错能力。

附图说明

下文参考附图描述本发明的示例性非限制实施例。附图是说明性的,并且一般不按确切比例。不同图上的相同或类似元件引用相同的附图标号。

图1是示出根据本申请的实施例的用于图像数据分类的设备的示意图。

图2是示出根据本申请的实施例的目标码生成器的示意图。

图3是示出根据本申请的另一实施例的具有训练单元的设备的示意图。

图4是示出根据本申请的另一实施例的训练单元的示意图。

图5是示出根据本申请的实施例的预测器的示意图。

图6是示出根据本申请的另一实施例的训练单元的示意图。

图7是示出根据本申请的另一实施例的预测器的示意图。

图8是示出根据本申请的实施例的用于图像数据分类的方法的示意流程图。

图9是示出根据本申请的实施例的用于生成目标码的过程的示意流程图。

图10是示出根据本申请的实施例的用于训练神经网络系统的过程的示意流程图。

图11是示出根据本申请的实施例的用于预测未分类数据样本的类别的过程的示意流程图。

图12是示出根据本申请的另一实施例的用于训练神经网络系统的过程的示意流程图。

图13是示出根据本申请的另一实施例的用于预测未分类数据样本的类别的过程的示意流程图。

具体实施方式

本部分将详细说明示例性实施例,这些实施例的实例将在附图中说明。在合适的情况下,附图中相同的附图标号始终指代相同或相似部分。图1是示出符合一些公开实施例的用于数据分类的示例性设备1000的示意图。

应了解,设备1000可使用某一硬件、软件或它们的组合来实施。此外,本申请的实施例可适合于体现在一个或多个计算机可读存储介质(包括但不限于,磁盘存储器、CD-ROM、光学存储器等)上的计算机程序产品,所述计算机可读存储介质含有计算机程序码。

在用软件实施设备1000的情况下,设备1000可在一个或多个系统中运行,该系统可包括通用计算机、计算机集群、主流计算机、专用于提供在线内容的计算装置或者包括一组以集中或分布方式操作的计算机的计算机网络。

再次参考图1,在设备1000由硬件或者硬件和软件的组合实施的情况下,它可包括目标码生成器100、神经网络系统200和预测器300。在图1所示的实施例中,目标码生成器100可被配置成获取多个训练数据样本,并且为每个所获取的训练数据样本均生成目标码,其中训练数据样本被分组成不同类别。目标预测生成器200可被配置成接收多个任意数据样本,并且为每个所接收的任意数据样本均生成目标预测。在一些实施例中,目标预测生成器200可包括神经网络系统。在一些实施例中,神经网络系统可包括深度信念网络和卷积网络中的至少一个。例如,神经网络可包括卷积滤波器、池化层以及局部连接层或全连接层,这些是本领域中公知的,因此,本文中省略它们的详细配置。预测器300可被配置成基于所生成的目标码和所生成的目标预测来预测所接收的任意数据样本中的每个样本的类别。

在下文中,将描述目标码(或目标编码)的定义。令T为整数的集合,称为字母集(alphabet set)。T中的元素被称为符号。例如,T={0,1}是二进制字母集。目标码S是矩阵S∈Tn×l,其中目标码的每一行被称为码字,l表示每个码字中的符号的数量,并且n表示码字的总数量。目标码可使用基于哈达玛(Hadamard)矩阵建立的确定性方法进行构建。针对目标码S,令表示S的行中的符号的经验分布的集合,即,针对i=1、2、…、n,αi是长度|T|的向量,其中αi的第t个分量计算S的第i行中的第t个符号出现的次数。类似地,令为S的列中的符号的经验分布的集合。在给定两个不同行索引i和i'的情况下,将目标码S的行i与行i'之间的汉明距离定义为即,用于计算列索引的数量,从而使得行i与行i'中的对应符号不相等。为简单起见,称之为成对汉明距离。

表1示出1对K目标码的实例,其通常用在深度学习中表示K个类别。K个符号中的每个(‘0’或‘1’)表示具体类别的概率。在这里,目标码可写成S=I,其中I∈TK×K是单位矩阵。容易实现1对K编码的一些性质。例如,针对i=1、2、……、K,得到和因为每个码字中只有一个符号具有值‘1’。类似地,得到和成对汉明距离是二。

表1

替代于表示类别,目标编码可起到额外的作用,诸如,纠错或有助于更好的特征表示。为了实现额外的作用,应构建满足具体要求的目标码S。

下文中将介绍好的目标码应满足的具体要求。一般而言,具体要求可总结成三方面:每一列的一致性、每一行的冗余,以及不变的成对汉明距离。在下文中,将基于上述要求来描述如何生成如表2所示的目标码,该目标码也被视作表示为SBC的平衡码(BC)。

表2

如图2所示,目标码生成器100还包括矩阵生成模块110、移除模块120、改变模块130和选择模块140。

目标码生成器100被配置成生成哈达玛矩阵,其中哈达玛矩阵的元素是“+1”或“-1”,并且哈达玛矩阵的维度大于训练数据样本的类别的数量。具体而言,针对元素为‘+1’或‘-1’的正方形m×m矩阵H,如果HHT=mI,那么这个矩阵被称为哈达玛矩阵。在一些实施例中,可以使用‘+’表示‘+1’并且‘-’表示‘-1’。哈达玛矩阵的定义要求任何一对不同的行和列分别是正交的。生成哈达玛矩阵的可能方式是使用西尔维斯特的方法(Sylvester’s method),西达亚特(Hedayat)和瓦里斯(Wallis)(1978年),其中由克罗内克积(或张量积)从老的哈达玛矩阵中产生新的哈达玛矩阵。例如,在给定哈达玛矩阵H2=[++;+-]的情况下,可通过得到H4,如下等式,其中表示克罗内克积。类似地,通过计算出H8

移除模块120被配置成令SBC∈T(m-1)×(m-1),该T(m-1)×(m-1)是通过移除H的第一行和第一列而获得的。改变模块130被配置成移除哈达玛矩阵的第一行和第一列。上述公式产生尺寸为(m-1)×(m-1)的平衡目标码SBC,行和为m/2,列和为m/2,并且成对汉明距离不变,为m/2。

选择模块140被配置成随机选择已改变的哈达玛矩阵的多个行作为目标码,其中行的数量与训练数据样本的类别的数量相同。在一些实施例中,目标码可表示为向量。具体而言,选择模块140被配置成随机选择c个行作为c个类别的平衡目标码,其中所选择的行中的每行对应于一个目标码。在一些实施例中,通过从SBC∈T(m-1)×(m-1)中随机选择K个码字来构建类别标签CBC∈TK×(m-1)

如图3所示,根据本申请的另一实施例的设备1000’包括目标码生成器100、神经网络系统200、预测器300和训练单元400。目标码生成器100、神经网络系统200和预测器300的功能已参考图1进行描述,因此,下文将省略。训练单元400被配置成使用所获取的训练数据样本来训练神经网络系统,从而使得所训练的神经网络系统能够将卷积滤波器、池化层以及局部连接层或全连接层应用到所获取的训练数据样本,以生成所述目标预测。在一些实施例中,目标预测可表示为向量。

如图4所示,训练单元400还包括取得模块410、误差计算模块420以及反向传播模块430。取得模块410被配置成从训练数据样本中取得一个训练数据样本,其中训练数据样本中的每个样本例如基于训练数据样本的类别标签与对应的标定真实目标码相关联。例如,基于类别标签的与标定真实目标码的上述关联可具有一定形式,其中类别标签=‘1’、目标码=‘1010101’,以及类别标签=‘2’,目标码=‘0110011’。在一些实施例中,目标码可以是标定真实目标码。误差计算模块420被配置成计算训练数据样本的所生成的目标预测与标定真实目标码之间的误差,诸如,汉明距离。反向传播模块430被配置成将所计算的误差反向传播通过神经网络系统,以调整神经网络系统的神经元之间的连接的权重。为了得到收敛结果,取得模块、误差计算模块和反向传播模块重复取得、计算和反向传播的过程,直到误差小于预定值。

如图5所示,预测器300还包括距离计算模块310和分配模块320。距离计算模块310被配置成计算未分类数据样本的目标预测与训练样本的每个类别的对应标定真实目标码之间的汉明距离。由于目标预测和标定真实目标码都是具有类似长度的向量,因此,可通过计算汉明距离来确定目标预测与标定真实目标码之间的距离。例如,如果目标预测是‘1110111’并且标定真实目标码是‘1010101’,那么通过计算对应值不同所处的位置的数量来确定汉明距离。在此实例中,汉明距离是2。分配模块320被配置成将未分类数据样本分配到与所计算的汉明距离之中的最小汉明距离对应的类别。换言之,如果未分类数据样本最接近特定类别(基于它的目标预测与标定真实目标码之间的汉明距离),那么未分类数据样本被视作与标定真实码属于相同类别。

如图6所示,根据本申请的另一实施例的训练单元400’包括取得模块410、误差计算模块420、反向传播模块430和提取模块440。取得模块410可被配置成从训练数据样本中取得一个训练数据样本,其中训练数据样本中的每个样本与对应的标定真实目标码相关联,例如,基于训练数据样本的类别标签而相关联。误差计算模块420可被配置成计算训练数据样本的所生成的目标预测与标定真实目标码之间的误差,诸如,汉明距离。反向传播模块430可被配置成将所计算的误差反向传播通过神经网络系统,以调整神经网络系统的神经元之间的连接的权重。取得模块410、误差计算模块420和反向传播模块430重复取得、计算和反向传播的过程,直到误差小于预定值。提取模块440可被配置成在误差小于预定值之后,从神经网络系统的倒数第二层中提取隐藏层特征,并且基于所提取的隐藏层特征和训练数据样本的类别标签来训练多类分类器。具体而言,隐藏层特征将用作多类分类器的训练输入,类别标签将用作多类分类器的训练目标,并且训练输入和训练目标用于通过优化分类器的目标函数来训练多类分类器在给定未分类数据样本的情况下,它的隐藏层特征可由所训练的神经网络系统提取,并且随后馈送到多类分类器中。随后,多类分类器可输出该未分类数据样本的类别预测。

如图7所示,根据本申请的另一实施例的预测器300’包括接收模块340、获取模块350和预测生成模块360。接收模块340可被配置成接收未分类数据样本。获取模块350可被配置成从训练单元中获取所训练的多类分类器。预测生成模块360可被配置成由所训练的多类分类器生成该未分类数据样本的类别预测。

图8是示出用于数据分类的方法2000的示意流程图。下文可参考图8详细地描述方法2000。

在步骤S210处,获取多个训练数据样本,并且由目标码生成器为每个所获取的训练数据样本生成目标码,其中训练数据样本被分组成不同类别。

在步骤S220处,针对分类数据样本,通过神经网络系统生成未分类数据样本的目标预测。在一些实施例中,如上文所述,神经网络系统可由多个层组成:卷积滤波器、池化层以及局部连接层或全连接层。在一些实施例中,神经网络系统可包括深度信念网络和卷积网络中的至少一个。在一些实施例中,该方法还包括使用所获取的训练数据样本来训练神经网络系统的步骤S240,从而使得所训练的神经网络系统能够将卷积滤波器、池化层以及局部连接层或全连接层应用到所获取的训练数据样本,以生成所述目标预测。

如图9所示,生成目标码的步骤S220包括下列步骤。具体地说,在步骤S310处,生成元素为“+1”或“-1”的哈达玛矩阵。在步骤S320处,将哈达玛矩阵的第一行和第一列移除。在步骤S330处,将“+1”改为“0”并且将“-1”映射到“1”。在步骤S340处,随机选择已改变的哈达玛矩阵的多个行作为目标码,其中所选择的行的数量与训练数据样本的类别的数量相同,并且所选择的行中的每行均对应于一个目标码。

随后方法2000继续进行到步骤S230,其中由预测器基于所生成的目标码和所生成的目标预测来预测未分类数据样本的类别。

如图10所示,在遵循最近邻分类范式(paradigm)的情况下,训练神经网络系统的步骤S240包括下列步骤。

在步骤S410处,从预定训练集中取得训练数据样本,其中训练数据样本例如基于训练数据样本的类别标签与对应的目标码相关联,具体而言,与标定真实目标码相关联。例如,基于类别标签的与标定真实目标码的上述关联可具有一定形式,其中类别标签=‘1’、目标码=‘1010101’,以及类别标签=‘2’,目标码=‘0110011’。

在步骤S420处,计算所生成的目标预测与标定真实目标码之间的误差,诸如,汉明距离。

在步骤S430处,将所计算的误差反向传播通过神经网络系统,以便调整神经网络系统的神经元之间的连接的权重。

在步骤S440处,重复步骤S410到S430,直到误差小于预定值,即,直到训练过程收敛。

如图11所示,在遵循最近邻分类范式的情况下,预测未分类数据样本的类别的步骤S230包括下列步骤。

在步骤S510处,接收未分类数据样本。

在步骤S520处,计算未分类数据样本的目标预测与训练样本的每个类别的对应标定真实目标码之间的汉明距离。如上文论述,由于目标预测和标定真实目标码都是具有类似长度的向量,因此,可通过计算汉明距离来计算目标预测与标定真实目标码之间的距离。例如,如果目标预测是‘1110111’并且标定真实目标码是‘1010101’,那么通过计算对应值不同所处的位置的数量来计算汉明距离。在此实例中,汉明距离可以是2。

在步骤S530处,将未分类数据样本分配到与所计算的汉明距离之中的最小汉明距离对应的类别。换言之,如果未分类数据样本最接近特定类别(基于它的目标预测与标定真实目标码之间的汉明距离),那么未分类数据样本被视作与标定真实码属于相同类别。

如图12所示,根据本申请的另一实施例,在遵循多级范式的情况下,训练神经网络系统的步骤S240’还包括下列步骤。

在步骤S410处,从预定训练集中取得训练数据样本,其中训练数据样本例如基于训练数据样本的类别标签与对应的目标码相关联,具体而言,与标定真实目标码相关联。

在步骤S420处,计算所生成的目标预测与标定真实目标码之间的误差。

在步骤S430处,将所计算的误差反向传播通过神经网络系统,以调整神经网络系统的神经元之间的连接的权重。

在步骤S440’处,如果误差小于预定值,即,训练过程收敛,那么重复步骤S410到S430,否则,该方法继续进行到步骤S450:从神经网络系统的倒数第二层中提取隐藏层特征并且基于所提取的隐藏层特征和训练数据样本的类别标签来训练多类分类器。具体而言,隐藏层特征将用作多类分类器的训练输入,类别标签将用作多类分类器的训练目标,并且训练输入和训练目标用于通过优化分类器的目标函数来训练多类分类器在给定未分类数据样本的情况下,它的隐藏层特征可由所训练的神经网络系统提取,并且随后馈送到多类分类器中。随后,多类分类器可输出该未分类数据样本的类别预测。

如图13所示,根据本申请的另一实施例,在遵循多级范式的情况下,训练未分类数据样本的类别的步骤S230’包括下列步骤。

在步骤S540处,接收未分类数据样本。

在步骤S550处,获取在步骤S450中训练的多类分类器。

在步骤S560处,通过所训练的多类分类器为未分类数据样本生成类别预测。

在本申请中,提供神经网络系统,其中平衡目标编码单元表示不同数据类别的目标码。此类目标码连同预定训练数据集用于神经网络的学习。

在神经网络训练中,现有技术通常采用1对K编码方案。与传统的1对K编码方案相比,平衡编码单元为神经网络训练带来额外的有益效果。一方面,可在神经网络系统中形成更多的鉴别性隐藏特征。另一方面,由神经网络系统生成的预测具有纠错能力。

尽管已描述了本发明的优选实例,但在了解本发明基本概念后,所属领域的技术人员可对这些实例进行变化或更改。所附权利要求书意图包括落入本发明的范围内的优选实例和所有变化或更改。

有趣的是,甚至在二维嵌入空间上,由基于平衡码的学习引发的特征已经可容易分离。相反,由1对K引发的特征群集是重叠的,从而使得只有在更高维度上才可能实现此类群集的分离。通过在深度特征学习中用平衡码替换1对K,可分开一些在1对K编码中混淆的类别。越长的平衡码导致越多可分开且不同的特征群集。

显然,在不脱离本发明的精神和范围的情况下,所属领域的技术人员可对本发明进行变化或更改。因此,如果这些变化或更改属于权利要求书和等效技术的范围,那么它们也可落入本发明的范围内。

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