卷积神经网络训练方法和系统、对象分类方法和分类器与流程

文档序号:11865387阅读:257来源:国知局
卷积神经网络训练方法和系统、对象分类方法和分类器与流程

本申请涉及深度学习领域,具体地涉及卷积神经网络训练方法和系统、对象分类的方法和分类器。



背景技术:

作为深度学习网络的典型代表,CNN(Conventional Neural Network,卷积神经网络)在图像识别领域中得到越来越广泛的应用。在图像识别领域中,对对象进行分类是一种常用操作。传统地,一般采用经过预分类的训练样品集对用于对象分类的CNN进行训练,然后使用经过训练的CNN对对象进行分类,诸如二分类或多分类。

然而,训练CNN所使用的训练样品集中的样品分布容易出现非均衡。相应地,直接使用非均衡的样品集训练CNN会降低对象分类的准确性。



技术实现要素:

本申请提供了卷积神经网络训练的技术方案和对象分类的技术方案。

本申请实施例的一方面提供了卷积神经网络训练方法,该方法可包括:将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别,其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值;以及根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络。

本申请实施例的另一方面提供了卷积神经网络训练系统,该卷积神经网络训练系统可包括:聚类器,将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别,其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值;以及训练器,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络。

本申请实施例的另一方面提供了对象分类方法,该方法可利用上述卷积神经网络训练方法训练出的卷积神经网络对对象进行分类。

本申请实施例的另一方面提供了用于对象分类的分类器,在分类器上可实施有如上的系统训练出的卷积神经网络以对对象进行分类。

本申请实施例的另一方面提供了卷积神经网络训练系统,可包括:存储器,存储可执行指令;以及处理器,与存储器通信以执行可执行指令从而完成以下操作:将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别,其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值;以及根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络。

本申请实施例的另一方面提供了对象分类系统,可包括:存储器,存储可执行指令;以及处理器,与存储器通信以执行可执行指令从而利用上述卷积神经网络训练方法训练出的卷积神经网络对对象进行分类。

本申请实施例的另一方面提供了非暂时性计算机存储介质,该介质可存储计算机可读指令,当这些指令被执行时可使处理器执行以下操作:将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别,其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值;以及根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络。

本申请实施例的另一方面提供了非暂时性计算机存储介质,该介质可存储计算机可读指令,当这些指令被执行时可使处理器利用上述卷积神经网络训练方法训练出的卷积神经网络对对象进行分类。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,卷积神经网络训练方法还可包括:调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的训练样品之间的相似度提升而不同子类别的训练样品之间的相似度降低;和/或同一类别的训练样品之间的相似度提升而不同类别的训练样品之间的相似度降低。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,卷积神经网络训练方法可包括:调整训练样品集多个训练样品之间的相似度以使得同一子类别的相似度最小的两个训练样品之间的相似度大于不同子类别的相似度最大的两个训练样品之间的相似度。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,卷积神经网络训练方法可包括:调整训练样品集中多个训练样品之间的相似度以使得同一类别的相似度最小的两个训练样品之间的相似度大于不同类别的相似度最大的两个训练样品之间的相似度。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,卷积神经网络训练方法还可包括调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度、同一类别但不同子类别的相似度最大的两个训练样品之间的相似度、同一类别的相似度最小的两个训练样品之间的相似度以及不同类别的相似度最大的两个训练样品之间的相似度依次递减。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络可包括:为训练样品集中的每个给定训练样品确定多个关联训练样品;以及根据给定训练样品和多个关联训练样品共同训练卷积神经网络。

根据本申请实施例,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络可包括:根据多个训练样品之间经过调整后的相似度,为训练样品集中的每个给定训练样品确定多个关联训练样品;以及根据给定训练样品与多个关联训练样品共同训练卷积神经网络。

根据本申请实施例,关联训练样品可包括:与给定训练样品属于同一子类别并与给定训练样品相似度最小的第一关联训练样品;与给定训练样品属于同一类别但属于不同子类别并与给定训练样品相似度最大第二关联训练样品;与给定训练样品属于同一类别并与给定训练样品相似度最小第三关联训练样品;以及与给定训练样品属于不同类别并与给定训练样品相似度最大第四关联训练样品。

根据本申请实施例,根据给定训练样品和多个关联训练样品共同训练卷积神经网络可包括:根据给定训练样品、第一关联训练样品、第二关联训练样品、第三关联训练样品以及第四关联训练样品迭代训练卷积神经网络,直到基于卷积神经网络的输出确定的以下相似度依次递减:第一关联训练样品与给定训练样品之间的相似度;第二关联训练样品与给定训练样品之间的相似度;第三关联训练样品与给定训练样品之间的相似度;以及第四关联训练样品与给定训练样品之间的相似度。

根据本申请实施例,对象分类方法可包括:以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别;当预定数量的子类别中各子类别属于同一类别时,将对象划分到与预定数量的子类别相同的类别。

根据本申请实施例,对象分类方法可包括:以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别;当预定数量的子类别中至少二个子类别属于不同类别时,将对象划分到这样一种类别中,即,在预定数量的子类别中,对象与该类别中相似度最小的子类别之间的相似度与对象与其它类别的子类别中相似度最大的子类别之间的相似度差值最大。

根据本申请实施例,聚类器还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的训练样品之间的相似度提升而不同子类别的训练样品之间的相似度降低;和/或,同一类别的训练样品之间的相似度提升而不同类别的训练样品之间的相似度降低。

根据本申请实施例,聚类器还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度大于不同子类别的相似度最大的两个训练样品之间的相似度。

根据本申请实施例,聚类器还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一类别的相似度最小的两个训练样品之间的相似度大于不同类别的相似度最大的两个训练样品之间的相似度。

根据本申请实施例,聚类器还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度、同一类别但不同子类别的相似度最大的两个训练样品之间的相似度、同一类别的相似度最小的两个训练样品之间的相似度以及不同类别的相似度最大的两个训练样品之间的相似度依次递减。

根据本申请实施例,训练器可包括:索引单元,为训练样品集中的每个给定训练样品确定多个关联训练样品;以及学习单元,根据给定训练样品和多个关联训练样品共同训练卷积神经网络。

根据本申请实施例,训练器可包括:索引单元,根据多个训练样品之间经过调整后的相似度,为训练样品集中的每个给定训练样品确定多个关联训练样品;以及学习单元,根据给定训练样品与多个关联训练样品共同训练卷积神经网络。

根据本申请实施例,关联训练样品可包括以下至少之一:与给定训练样品属于同一子类别并与给定训练样品相似度最小的第一关联训练样品;与给定训练样品属于同一类别但属于不同子类别并与给定训练样品相似度最大的第二关联训练样品;与给定训练样品属于同一类别并与给定训练样品相似度最小的第三关联训练样品;以及与给定训练样品属于不同类别并与给定训练样品相似度最大的第四关联训练样品。

根据本申请实施例,学习单元可用于:根据给定训练样品、第一关联训练样品、第二关联训练样品、第三关联训练样品以及第四关联训练样品迭代训练卷积神经网络,直到基于卷积神经网络的输出确定的以下相似度依次递减:第一关联训练样品与给定训练样品之间的相似度;第二关联训练样品与给定训练样品之间的相似度;第三关联训练样品与给定训练样品之间的相似度;以及第四关联训练样品与给定训练样品之间的相似度。

根据本申请实施例,分类器可用于:以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别;在预定数量的子类别中各子类别属于同一类别时,将对象划分到与预定数量的子类别相同的类别。

根据本申请实施例,分类器可用于:以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别;在预定数量的子类别中至少二个子类别属于不同类别时,将对象划分到这样一种类别中,即,在预定数量的子类别中,对象与该类别中相似度最小的子类别之间的相似度与对象与其它类别的子类别中相似度最大的子类别之间的相似度差值最大。

附图说明

通过阅读参照附图所作出的以下详细描述,本申请的其它特征、目的和有益效果将会变得更明显,在附图中:

图1是根据本申请示例性实施方式的训练卷积神经网络(CNN)的流程图;

图2是根据本申请示例性实施方式调整训练样品集中多个训练样品之间的相似度的示意图;

图3是根据本申请示例性实施方式对对象进行分类的流程图;

图4是示出了图3中的步骤S3050中的分类方法的示意图;

图5是示出根据本申请示例性实施方式的CNN训练系统的框图;以及

图6是示出了适合实施本申请实施方式的计算机系统的结构的示意图。

具体实施方式

下面结合附图和实施方式对本申请作进一步的详细说明。可以理解的是,在本文中所描述的具体实施方式仅仅用于解释本申请,而非对本申请进行限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分。下面将参照附图并结合实施方式来详细说明本申请。

图1示出根据本申请示例性实施方式的训练CNN的流程1000。首先,在步骤S1010中,可将训练样品集中的包含训练样品数目大于预定值的类别(class)划分成多个子类别(cluster),其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值。接着,在步骤S1030中,可根据划分出的子类别以及训练样品集中未经划分的类别训练CNN。

在需要对对象进行分类时,通常需要先采用预分类的训练样品集对用于对象分类的CNN进行训练。在训练样品集中,往往会存在训练样品的非均衡现象。例如,在用于人物识别的训练样品集中,99%的训练样品均是黑头发的人物图像,而1%的训练样品是黄头发的人物图像。一般将占多数的训练样品的类别称为多数类(majority class),而将占少数的训练样品的类别称为少数类(minority class)。直接使用非均衡的训练样品集对CNN进行训练,往往会使得经过训练的CNN对属于少数类的对象的分类欠准确。

为了解决该问题,在传统的方法中,通常采用重新采样(re-sampling)的方式来修正训练样品集的非均衡。例如,将多数类训练样品进行下采样(under-sampling)或将少数类训练样品进行上采样(over-sampling)从而平衡多数类训练样品与少数类训练样品之间的数量差距。然而,下采样的过程往往会导致数据的不可逆损失而上采样的过程往往会导致噪声的引入。两者均会对CNN的训练效果产生负面影响。相反,本申请提出的上述训练CNN的方法从训练样品的分布结构出发训练CNN,在不对数据进行损伤以及不引入噪声的基础上,通过将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别并基于经过划分的子类别及未经过划分的类别训练CNN,使得训练过程对训练样品集的非均衡性的耐受性增强,因此至少提高了CNN的训练质量。

在本申请的一个实施方式中,训练样品集可以是预先提供的并且可包括预先分配到多个类别中的多个训练样品。训练样品集中的各个训练样品可均已预先分配到各个类别中。即,各个训练样品可已被预先分配有类别标签,该类别标签表示各个训练样品所属的类别。训练样品集中的多个训练样品可具有较强的非均衡性。例如,多数类的训练样品的数目可远大于少数类的训练样品的数目。例如,还以上述的黑头发的人物图像和黄头发的人物图像为例,黑头发的人物图像可例如占99%的训练样品数目,而黄头发的人物图像例如占1%的训练样品的数目。

出于描述的目的,下面以训练样品集中可包括一个训练样品数目为100的多数类(下文中称作C1)和一个训练样品数目为20的少数类(下文中称为C2)的情形对本申请的训练CNN的方法进一步说明。在这种情况下,假定预定值设定为例如20,则C1可被划分为训练样品数目小于或等于20的多个子类别。例如,C1可划分成5个子类别(下文称作S1-S5),每个子类别可分别包含20个训练样品。可替代地,也可将预定值设定为10,则C1可被划分为训练样品数目小于或等于10的多个子类别。例如,C1可划分成10个子类别,每个子类别分别包含10个训练样品;而C2可划分为2个子类别,每个子类别分别包括10个训练样品。以上出于举例的目的,给出了类别和子类别的具体数目,但并不用来限定本申请给出的实施方式,采用其它数目的类别和子类别也是显而易见的。在本文后面的描述中将参照图2详细描述这种类别划分的可替代的实施方式。

此外,在CNN的训练过程中,不再将C1整体地当做一个类别来与C2等同地考虑。相反,通过将C1划分成训练样品数目与C2相近似的的多个子类别S1-S5并使用该多个子类别S1-S5以及未经划分的类别C2共同训练CNN,可减小样品非均衡性对CNN训练结果的负面影响。在本文的后面描述中将参照图3详细描述这种训练过程的可替代的实施方式。

在一个实施方式中,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,所述方法还可包括调整训练样品集中多个训练样品之间的相似度。图2示出了根据本申请示例性实施方式调整训练样品集中多个训练样品之间的相似度的示意图。根据本申请示例性实施方式,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,可调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的训练样品之间的相似度提升而不同子类别的训练样品之间的相似度降低;和/或,同一类别的训练样品之间的相似度提升而不同类别的训练样品之间的相似度降低。通过调整训练样品集中多个训练样品之间的相似度,对训练样品集中的多个训练样品施加了进一步的约束条件,从而有助于增强训练样品集中的类别与类别之间、类别与子类别之间以及子类别与子类别之间的差异性,进而提升了CNN训练效果。在CNN网络中,训练样品集中的每个训练样品都可例如体现为在特征空间的某一特征矢量。训练样品集中的训练样品与训练样品之间的相似度可例如体现为相应特征矢量之间的欧氏距离(Euclidean Distance)。

在图2中用附图标记2100和2200表示训练样品的类别,附图标记2110和2120用来表示从类别2100划分出的两个子类别,附图标记2210则表示从类别2200划分的一个子类别。

如图2所示,子类别2110可包括训练样品2111和训练样品2112;而子类别2120可包括训练样品2121和训练样品2122。子类别2210中可包括有训练样品2211。训练样品2111与训练样品2112、2121、2122和2211之间例如分别具有如图所示的欧式距离D1、D2、D3、D4。在这种情况下,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,可调整训练样品集中多个训练样品之间的欧氏距离(例如上述的欧式距离D1、D2、D3、D4)。这种调整使得同一子类别的训练样品之间的欧式距离减小而不同子类别的训练样品之间的欧式距离增加;以及同一类别的训练样品之间的欧式距离减小而不同类别的训练样品之间的欧式距离增加。在如图2所示的示意性实施方式中,D1可减小,而D2和D3可增加,另外,D4可相较于D、D2和D3进一步增加。

在可替代的实施方式中,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,可调整训练样品集中多个训练样品之间的相似度以使得同一子类别的相似度最小的两个训练样品之间的相似度大于不同子类别的相似度最大的两个训练样品之间的相似度。通过上述设定,子类别与子类别之间的差异性得以增强,便于将不同的子类别更清晰地区分开。还参照图2,假设训练样品2111和训练样品2112是子类别2110中相似度最小的两个训练样品(即,在子类别2110中欧氏距离最大的两个训练样品),并且假设训练样品2111和训练样品2121是类别2100中不同子类别间相似度最大的两个训练样品(即,在类别2100的不同的子类别中欧氏距离最小的训练样品),则调整训练样品集中多个训练样品之间的相似度可包括调整训练样品之间的欧氏距离从而使得D1<D2。

在可替代的实施方式中,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,可调整训练样品集中多个训练样品之间的相似度以使得同一类别的相似度最小的两个训练样品之间的相似度大于不同类别的相似度最大的两个训练样品之间的相似度。通过上述设定,类别与类别之间的差异性得以增强,便于将不同的类别更清晰地区分开。参照图2,假设训练样品2111和训练样品2122是类别2100中相似度最小的两个训练样品(即,在类别2100中欧氏距离最大的两个训练样品),并且假设训练样品2111和训练样品2211是训练样品集200中不同类别间相似度最大的两个训练样品(即,在训练样品集200的不同的类别中欧氏距离最小的训练样品),则调整训练样品集中多个训练样品之间的相似度可包括调整训练样品之间的欧氏距离D3和D4从而使得D3<D4。

在可替代的实施方式中,根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,可调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度、同一类别但不同子类别的相似度最大的两个训练样品之间的相似度、同一类别的相似度最小的两个训练样品之间的相似度以及不同类别的相似度最大的两个训练样品之间的相似度依次递减。通过上述设定,类别与类别之间的界限、类别与子类别之间的界限以及子类别与子类别之间的界限更加明晰且具有层次性,从而有助于根据训练样品集中多个训练样品之间的相似度训练CNN。例如,在图2所示的实施方式中,可通过调整训练样品集中多个训练样品之间的相似度从而使得欧氏距离D1<D2<D3<D4。

在一个实施方式中,参照图2所述的将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别可例如通过k均值(k-means)方法、谱聚类(Spectral Clustering)方法等完成。通过k均值等方法,训练样品与训练样品之间的距离被调整以使得训练样品被划分成不同的子类别。由于k均值方法、谱聚类方法等属于现有技术,因此在本文中不再赘述。

在制备完成经过划分的训练样品集之后,可使用划分出的子类别以及训练样品集中未经划分的类别训练CNN。在训练前,训练样品集中的每个训练样品都已预先分配到多个类别中并且训练样品与训练样品之间的相似度已通过例如参照图2所述的过程被调节。即,训练样品集被预设定。训练的过程是通过例如迭代的学习使得CNN的参数适配预设定的训练样品集。在传统的CNN训练方法中,每次仅将训练样品集中的随机选定的训练样品(下文中,也称作给定训练样品)单独输入至CNN中,因而训练样品与训练样品之间的相似度未被考虑。在根据本申请示例性实施方式的训练过程中,可使用划分出的子类别以及训练样品集中未经划分的类别训练CNN,包括:针对为训练样品集中的每个给定训练样品确定多个关联训练样品;以及利用根据给定训练样品与和多个关联训练样品共同训练CNN。本文中所描述的关联训练样品即根据训练样品集中训练样品与训练样品之间的相似度为给定训练样品匹配的训练样品。关联训练样品包含了训练样品与训练样品之间的相似度信息,从而可以优化CNN的训练效果。更具体地,可根据多个训练样品之间经过调整后的相似度,为训练样品集中的每个给定训练样品确定出确定多个关联训练样品;并可利用根据给定训练样品与多个关联训练样品共同训练CNN。

在下文中将参照给定训练样品以及与之链接的四个关联训练样品作为一个示例性的实施方式进行描述,然而,在未背离本申请公开内容教导的情形下,本领域技术人员应该预期其它数目的关联训练样品。

在给定例如四个关联训练样品的情况下,关联训练样品可包括:与给定训练样品属于同一子类别并与给定训练样品相似度最小的第一关联训练样品;与给定训练样品属于同一类别但属于不同子类别并与给定训练样品相似度最大的第二关联训练样品;与给定训练样品属于同一类别并与给定训练样品相似度最小的第三关联训练样品;以及与给定训练样品属于不同类别并与给定训练样品相似度最大的第四关联训练样品。例如,在图2所示的情形,可针对训练样品集中的每个给定训练样品2111确定一个五元组(quintuplet),该五元组例如可包括:给定样品2111;与给定训练样品属于同一子类别并距离给定训练样品最远的第一关联训练样品2112;与给定训练样品属于同一类别但属于不同子类别并距离给定训练样品最近的第二关联训练样品2121;与给定训练样品属于同一类别并距离给定训练样品最远的第三关联训练样品2122;以及与给定训练样品属于不同类别并距离给定训练样品最近的第四关联训练样品2211。可通过建立离线查询表的形式为每个给定训练样品建立与上述四个关联训练样品的链接。以这种方式,每当给定训练样品馈送至CNN时,可通过访问离线查询表来获取与该给定训练样品链接的四个关联训练样品。

在训练过程中,可将给定训练样品以及与之链接的四个关联训练样品共同馈送至CNN从而根据给定训练样品、第一关联训练样品、第二关联训练样品、第三关联训练样品以及第四关联训练样品迭代训练CNN,直到基于卷积神经网络的输出而确定的以下相似度依次递减:第一关联训练样品与给定训练样品之间的相似度;第二关联训练样品与给定训练样品之间的相似度;第三关联训练样品与给定训练样品之间的相似度;以及第四关联训练样品与给定训练样品之间的相似度。在可替代的实施方式中,可通过将训练样品以及与之链接的四个关联训练样品馈送至参数共享的五个相同CNN网络,并通过计算例如损失函数(loss function)和反向传播(back-propagate)来对CNN的参数进行调节从而使得CNN与预设定的训练样品集适配。为了清晰和简洁起见,本文中省略了如本领域技术人员所理解的在训练过程中的常规操作,例如从训练样品集中采样mini-batch等。在对CNN训练预定次数之后,可将CNN的输出来更新训练样品集从而使得训练样品集的子类别划分更加合理。随后,CNN的训练可基于更新的训练样品集进行。

参照图1至图2描述的CNN训练方法可通过计算机系统来实施。该计算机系统包括存储有可执行指令的存储器以及处理器。处理器与存储器通信以执行可执行指令从而实施参照图1至图2描述的方法。可替代地或附加地,参照图1至图2描述的CNN训练方法可通过非暂时性计算机存储介质来实施。该介质存储计算机可读指令,当这些指令被执行时使处理器执行参照图1至图2描述的方法。

在CNN训练完成之后,可利用通过上述过程训练出的CNN对对象进行分类。以下将参照图3描述对对象分类的过程。首先,在步骤S3010中,可以以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别。在步骤S3030中,当确定预定数量的子类别中各子类别属于同一类别时,则在步骤S3070中可将对象划分到与预定数量的子类别相同的类别;而在步骤S3030中,当确定预定数量的子类别中各子类别属于不同类别时,则在步骤S3050中可将对象划分到这样一种类别中,其中,在预定数量的子类别中,对象与该类别中相似度最小的子类别之间的相似度与对象与其它类别的子类别中相似度最大的子类别之间的相似度差值最大。

图4示出了在步骤S3050中的分类方法。参照图4,以对象4001为中心按照与对象4001的相似度从大到小的顺序选取了预定数量的子类别4101、4102、4201、4301、4302和4303。其中子类别4101和4102同属于类别4100;子类别4201属于类别4200;以及子类别4301、4302和4303属于类别4300。对象4001距该预定数量的子类别4101、4102、4201、4301、4302和4303的欧氏距离分别为D11、D12、D21、D31、D32和D33。出于说明性的目的,图4中将该预定数量示作为6个,然而本申请不限于此,而可根据不同的对象识别任务而选定不同的数量。在本示例中,出于说明性的目的,假设D11=1;D12=2;D21=4;D31=5;D32=6;以及D33=6。则对象4001距类别4100的欧氏距离最远的子类别(即,相似度最小的子类别)4102的欧氏距离为2(即,D12);而对象4001距其它类别的子类别中欧氏距离最近的子类别(即,相似度最大的子类别)的欧氏距离为4(即,D21)。在这种情况下,两者的差值达到最大。因而对象4001将划分到类别4100中。根据本申请示例性实施方式提出的CNN训练方法从训练样品的分布结构出发,在不对数据进行损伤以及不引入噪声的基础上,对训练样品进行了相似度调整和划分。通过这种方式,为训练样品添加了除类别之外的进一步的约束条件(即,子类别),提高了训练样品的识别度。此外,通过将训练样品数目过多的类别划分为多个子类别,并以此为基础进行训练和分类提高了训练和分类过程对于训练样品集的非均衡性的耐受性,从而提高CNN的训练效果以及相应地提高使用CNN进行对象分类的准确性。

参照图3至图4描述的对象分类方法可通过计算机系统来实施。该计算机系统包括存储有可执行指令的存储器以及处理器。处理器与存储器通信以执行可执行指令从而实施参照图3至图4描述的方法。可替代地或附加地,参照图3至图4描述的对象分类方法可通过非暂时性计算机存储介质来实施。该介质存储计算机可读指令,当这些指令被执行时使处理器执行参照图3至图4描述的方法。

图5示出了根据本申请示例性实施方式的CNN训练系统。如图所示,CNN训练系统5000可包括:聚类器5100,将训练样品集中的包含训练样品数目大于预定值的类别划分成多个子类别,其中所划分出的每个子类别所包含的训练样品数目小于或等于预定值;以及训练器5300,与聚类器5100连接,以及根据划分出的子类别以及训练样品集中未经划分的类别训练CNN。

在可替代的实施方式中,聚类器5100还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的训练样品之间的相似度提升而不同子类别的训练样品之间的相似度降低;和/或,同一类别的训练样品之间的相似度提升而不同类别的训练样品之间的相似度降低。在另一可替代的实施方式中,聚类器5100还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度大于不同子类别的相似度最大的两个训练样品之间的相似度;以及同一类别的相似度最小的两个训练样品之间的相似度大于不同类别的相似度最大的两个训练样品之间的相似度。在可替代的实施方式中,聚类器5100还可用于在根据划分出的子类别以及训练样品集中未经划分的类别训练卷积神经网络之前,调整训练样品集中多个训练样品之间的相似度以使得:同一子类别的相似度最小的两个训练样品之间的相似度、同一类别但不同子类别的相似度最大的两个训练样品之间的相似度、同一类别的相似度最小的两个训练样品之间的相似度以及不同类别的相似度最大的两个训练样品之间的相似度依次递减。

训练器5300可包括索引单元5310和学习单元5320。索引单元5310可为训练样品集中的每个给定训练样品确定多个关联训练样品。学习单元5320可根据给定训练样品和多个关联训练样品共同训练CNN。在一个实施方式中,索引单元5310可根据多个训练样品之间经过调整后的相似度,为训练样品集中的每个给定训练样品确定多个关联训练样品;而学习单元5320可根据给定训练样品与多个关联训练样品共同训练CNN。

在给定四个关联训练样品的情况下,关联训练样品可包括:与给定训练样品属于同一子类别并与给定训练样品相似度最小的第一关联训练样品;与给定训练样品属于同一类别但属于不同子类别并与给定训练样品相似度最大的第二关联训练样品;与给定训练样品属于同一类别并与给定训练样品相似度最小的第三关联训练样品;以及与给定训练样品属于不同类别并与给定训练样品相似度最大的第四关联训练样品。在可替代的实施方式中,学习单元5320可根据给定训练样品、第一关联训练样品、第二关联训练样品、第三关联训练样品以及第四关联训练样品迭代训练CNN,直到基于CNN的输出而确定的以下相似度依次递减:第一关联训练样品与给定训练样品之间的相似度;第二关联训练样品与给定训练样品之间的相似度;第三关联训练样品与给定训练样品之间的相似度;以及第四关联训练样品与给定训练样品之间的相似度。上面参照给定训练样品以及与之链接的四个关联训练样品作为一个示例性的实施方式进行描述,然而,在未背离本申请公开内容教导的情形下,本领域技术人员应该预期其它数目的关联样品。

通过CNN训练系统5000训练出的CNN可实施在分类器(未示出)上以对对象进行分类。分类器可用于:以对象为中心按照与对象的相似度从大到小的顺序选取预定数量的子类别;当确定预定数量的子类别中各子类别属于同一类别时,将对象划分到与预定数量的子类别相同的类别;以及当确定预定数量的子类别中至少二个子类别属于不同类别时,将对象划分到这样一种类别中,即,在预定数量的子类别中,对象与该类别中相似度最小的子类别之间的相似度与对象与其它类别的子类别中相似度最大的子类别之间的相似度差值最大。

如本领域普通技术人员所理解的,上述CNN训练系统5000的聚类器5100和训练器5300以及分类器(未示出)可使用集成电路(IC)的形式实施,该集成电路包括但不限于数字信号处理器、图形处理集成电路、影像处理集成电路以及音频处理集成电路等。本领域普通技术人员在本申请所提供的教导下可以知晓通过使用何种硬件或软件的形式来实施系统5000及分类器。例如,可采用存储有计算机可执行指令的存储介质的形式来实施本申请,该计算机可执行指令分别实现上述聚类器5100和训练器5300以及分类器,从而通过计算机运行而实现它们各自的上述功能。也可采用计算机系统来实施本申请的系统5000及分类器,其中该计算机系统中包括存储有计算机可执行指令的存储器以及与存储器通信的处理器,处理器运行该可执行指令从而实现以上参照图5所描述的系统5000及分类器所描述的功能,以及本申请中所提供的如图1至图4所示的方法。

现参照图6,该图示出了适合实施本申请实施方式的计算机系统600的结构示意图。

如图6所示,计算机系统600包括中央处理单元(CPU)601,其可根据存储在只读存储器(ROM)602中的程序或从存储部分608加载至随机存取存储器(RAM)603中的程序而执行各种适当的动作和过程。在RAM 603中,还存储有系统600操作所需要的各种程序和数据。CPU 601、ROM 602和RAM 603通过总线604彼此连接。输入/输出I/O接口605也与总线604连接。

以下为与I/O接口605连接的部件:包括键盘、鼠标等的输入部分606;包括阴极射线管CRT、液晶显示设备LCD和扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括网络接口卡(如LAN卡和调制解调器等)的通信部分609。通信部分609通过诸如因特网等网络执行通信处理。根据需要,驱动器610也与I/O接口605连接。如磁盘、光盘、磁光盘、半导体存储器等的可拆卸介质611可安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

具体地,根据本公开的实施方式,以上参照图1至图4描述的过程以及参照图5描述的系统可实施为计算机软件程序。例如,本公开的实施方式包括计算机程序产品,该产品包括有形地体现在机器可读介质中的计算机程序。该计算机程序包括用于执行图1至图4中的方法以及实施图5的系统的程序代码。在这种实施方式中,计算机程序可通过通信部分609从网络上下载并进行安装,和/或可从可拆卸介质611安装。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本申请的实施方式所涉及的单元或模块可通过软件或硬件实施。所描述的单元或模块也可设置在处理器中。这些单元或模块的名称不应被视为限制这些单元或模块。

以上描述仅为本申请的示例性实施方式以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不背离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的具有类似功能的技术特征进行互相替换而形成的技术方案。

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