开集识别方法、信息处理设备以及存储介质与流程

文档序号:18398782发布日期:2019-08-09 23:40阅读:464来源:国知局
开集识别方法、信息处理设备以及存储介质与流程

本公开总体上涉及信息处理领域,具体而言,涉及一种能够拒绝来自未知类别的数据的开集识别方法、能够实现该开集识别方法的信息处理设备和存储介质。



背景技术:

近年来,基于机器学习而实现的诸如语音识别、图像识别等对各种输入数据进行识别(或分类)的技术得到越来越广泛的关注和应用。例如,通过语音识别来确认说话人身份的语音认证技术(也称为声纹确认)可以应用在信息安全、身份认证等场景。利用图像识别实现的ocr(光学字符识别)技术可以应用于各种文献中,以识别其中的文字。

在诸如语音识别和图像识别的各种识别技术中,可以应用闭集识别方法和开集识别方法,前者在训练模型时使用的训练数据的类别涵盖了应用该模型进行识别时待处理数据的所有类别,而后者在训练时使用的训练数据的类别未涵盖待处理数据的所有类别。在实际应用中,由于训练数据有限、标记训练数据工作量巨大等原因经常出现需要采用开集识别方法的情况。在这种情况下,对于来自未知类别的待处理数据,开集识别方法应判断出其不属于训练时的已知类别,以避免将其错误分类。

因此,期望提供一种能够拒绝来自未知类别的数据的开集识别方法。



技术实现要素:

在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。

鉴于对现有的开集识别方法进行改进的需求,本发明的目的之一是提供一种开集识别方法以及能够实现该开集识别方法的信息处理设备和存储介质,其能够拒绝来自未知类别的数据。

根据本公开的一个方面,提供了一种开集识别方法,其包括:利用训练好的判别模型来提取待识别数据的特征;以及基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

根据本公开的另一方面,提供了一种开集识别设备,其包括:特征提取单元,用于利用训练好的判别模型来提取待识别数据的特征;以及类别识别单元,用于基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

依据本公开的再一方面,还提供了一种信息处理设备,其包括处理器,所述处理器被配置为:利用训练好的判别模型来提取待识别数据的特征;以及基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

依据本公开的其它方面,还提供了一种使得计算机实现如上所述的语音认证方法的程序。

依据本公开的又一方面,还提供了相应的存储介质,其存储有机器可读取的指令代码,所述指令代码在由机器读取并执行时,能够使得机器执行上述开集识别方法。所述指令代码包括指令代码部分,用于进行下述操作:利用训练好的判别模型来提取待识别数据的特征;以及基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

上述根据本公开实施例的各个方面,至少能够获得以下益处:利用本公开所提供的开集识别方法、开集识别设备、信息处理设备以及存储介质,能够利用通过辅助数据增强了特征表示能力的判别模型,提取出有利于开集识别的特征,从而在对已知类别的数据进行正确分类的同时拒绝来自未知类别的数据。

通过以下结合附图对本公开的最佳实施例的详细说明,本公开的这些以及其他优点将更加明显。

附图说明

本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:

图1是示意性地示出根据本公开实施例的开集识别方法的示例流程的流程图。

图2是示意性示出通过训练获得图1的开集识别方法中所使用的判别模型的一个示例处理的流程图。

图3是用于说明如何通过训练获得图1的开集识别方法中所使用的判别模型的示意图。

图4是示意性地示出在图2中的步骤s203处进行的一个示例处理的流程图。

图5是用于说明图3中所示的判别模型的一个示例结构的示意图。

图6是示出了本公开实施例的开集识别方法与作为对照例的现有技术的开集识别方法所得到的roc曲线的示意图。

图7是示意性地示出根据本公开实施例的开集识别设备的示例结构的示意性框图。

图8是示出了可用来实现根据本公开实施例的信息处理方法和设备的一种可能的硬件配置的结构简图。

具体实施方式

在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。

在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

现有技术中已经存在一些开集识别方法。然而,这些开集识别方法大多假设从已知类别的训练数据集中提取的特征可以同时有效表征已知类别和未知类别的数据,但这样的假设并不总是成立。例如,对于诸如端到端的神经网络的系统,上述有效特征可能并不存在,从而导致无法实现有效的开集识别方法,并可能将未知类别的数据错误地识别为已知类别。

对此,发明人提供了一种开集识别方法、能够实现该开集识别方法的信息处理设备和存储介质,其能够利用通过辅助数据增强了特征表示能力的判别模型,提取出有利于开集识别的特征,从而在对已知类别进行正确分类的同时拒绝来自未知类别的数据。

根据本公开的一个方面,提供了一种开集识别方法。图1是示意性地示出根据本公开实施例的开集识别方法100的示例流程的流程图。如图1所示,开集识别方法100可以包括:特征提取步骤s101,利用训练好的判别模型来提取待识别数据的特征;以及类别识别步骤s103,基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

根据本实施例的开集识别方法,能够利用通过辅助数据增强了特征表示能力的判别模型,提取出有利于开集识别的特征,其不仅能够有效表征已知类别的数据,还表征未知类别的数据,从而可以在对已知类别进行正确分类的同时拒绝来自未知类别的数据。

本实施例的开集识别方法可应用于各种类型的数据。作为示例,原始辅助数据、分类训练数据和待识别数据可以分别包括图像数据或运动行为数据,也可以包括除了运动行为数据以外的其他一维数据,如语音数据等。

优选地,原始辅助数据可以与分类训练数据属于相同领域。例如,在分类训练数据为图像数据时,原始辅助数据也可以为图像数据。如果原始辅助数据与分类训练数据属于完全不相关的领域,则所提取的特征可能不利于识别分类训练数据的类别。

上述开集识别方法中采用的生成模型和判别模型可以具有各种实现方式,只要其能够实现相应的功能即可。作为示例,判别模型可以是基于神经网络的模型。类似地,生成模型也可以是基于神经网络的模型。例如,判别模型和/或生成模型可以是基于卷积神经网络的模型,这样的模型例如在处理图像数据时会特别有利。然而,本领域技术人员可以理解,本公开实施例的开集识别方法中应用的判别模型和/或生成模型不限于此,而是可以根据实际应用来采用不同的神经网络,例如全连接神经网络、循环神经网络或递归神经网络,在此不再展开描述。

以下将主要以图像数据以及基于卷积神经网络的判别模型和生成模型为例描述本实施例的开集识别方法。然而,本领域技术人员可以理解,本公开实施例的开集识别方法可类似地应用于其他类型的数据并采用基于其他网络的模型。

现在,考虑古文献汉字识别的下述示例:以预先标记好的敦煌古文献汉字的图像作为用于开集识别的具有已知类别的分类训练数据,并以casia手写数据集作为原始辅助数据。对于训练好的判别模型,待识别数据可能是敦煌古文献汉字的图像,也可能是其他文献文字甚至非文字的图像,模型将会识别出前者的类别,并拒绝作为未知类别的数据的后者。注意,如以上描述的,原始辅助数据与分类训练数据属于相同领域有利于提取能够表征分类训练数据的类别的特征,但二者之间可以具有一定差别。例如,尽管本示例中以casia中文手写数据集作为原始辅助数据,但可以以其他语言的文本图像、甚至非文本图像数据作为原始辅助数据。例如,可以替代地使用诸如cifar10的彩色图像数据集。只要原始辅助数据与分类训练数据之间具有一定的相关性,即可提取出有利的特征。

下面将结合该示例参照图2至图5进一步描述本实施例的开集识别方法以及其中使用的模型。

首先参照图2至图4来描述如何获得图1的开集识别方法中所使用的判别模型。图2是示意性示出通过训练获得图1的开集识别方法中所使用的判别模型的一个示例处理的流程图,图3是用于说明如何通过训练该判别模型的示意图,并且图4是示意性地示出在图2中的步骤s203处进行的一个示例处理的流程图。

如图2所示,用于训练判别模型的示例处理200包括交替地迭代进行的以识别分类训练数据的类别为任务训练判别模型的步骤s201、以判别原始还是生成辅助数据为任务训练判别模型的步骤s203以及判断是否收敛的步骤s205。

在该示例处理的训练过程中,首先,在步骤s201中,如图3中上侧的实线箭头所示,将例如为预先标记好的敦煌古文献文字的分类训练数据301输入到判别模型d中,利用判别模型d对其进行识别,输出类别c1、c2、……、cn作为识别结果(n例如为大于等于2的自然数,其表示分类训练数据中的全部类别的数目,每个类别可以对应于一个中文字符),并基于识别结果的准确性来更新判别模型d的参数。

此处,可以利用各种现有技术方式来实现上述训练及其中的参数更新。作为示例,可以设置基于判别模型识别分类训练数据的类别的准确性的第一损失函数,并基于该损失函数来更新判别模型的参数,使得判别模型的识别结果尽可能准确。

例如,可以采用基于交叉熵的softmax损失函数作为上述第一损失函数,其中,si是例如连接在作为判别模型的神经网络模型的全连接层之后的softmax层的输出向量s的第i个值,其表示训练数据(或称为样本)属于第i个类别的概率,yi为样本标签,i取值为1到n,n表示所有训练样本的类别数。可以通过使softmax损失函数最小化来更新判别模型的参数并实现步骤s201中对判别模型的训练,在此不再展开描述。

在一个优选实施例中,除了诸如softmax损失函数的与分类准确性有关的第一损失函数之外,还可以在步骤s201的训练中附加地使用其他损失函数以进一步优化判别模型的特征表征能力。例如,可选地,在步骤s201的训练中,当以识别分类训练数据的类别为任务训练判别模型时,可以基于第一损失函数和第二损失函数来更新判别模型的参数,该第一损失函数基于判别模型识别分类训练数据的类别的准确性,该第二损失函数基于利用判别模型从各条分类训练数据分别提取的特征之间的相似度。

作为示例,基于上述相似度的第二损失函数可以是基于各条训练数据(或样本)的特征之间的距离的损失函数ldis:

其中,f是样本特征,i表示样本编号,m表示总样本数目。可以基于上述第一损失函数lsoftmax和第二损失函数ldis设置总的损失函数l:

l=α1lsoftmax+α2ldis公式(2)

其中,α1和α2表示权重系数,可以根据实验调整和设置。可以通过使总的损失函数最小化来更新判别模型的参数并实现步骤s201中对判别模型的训练。注意,尽管此处给出了基于交叉熵的第一损失函数lsoftmax和基于距离的第二损失函数ldis,但在本公开内容的教示下,本领域技术人员可以类似地采用其他的基于判别模型识别分类训练数据的类别的准确性的第一损失函数以及基于利用判别模型从各条分类训练数据分别提取的特征之间的相似度的第二损失函数,在此不再展开描述。

在本优选实施例中,由于附加地使用了表示各条分类训练数据的特征之间的相似度的第二损失函数,有利于使所提取的各条分类训练数据的特征之间更为相似(或者这些特征之间“距离”更小),从而更有利于将已知类别的数据与未知类别的数据区分开。

在步骤s201中的训练之后,在步骤s203中,如图3中下侧的虚线箭头所示,将例如为来自casia手写数据集的图像的原始辅助数据302、以及通过生成模型g生成的生成辅助数据303(例如基于随机变量生成该生成辅助数据)输入到已在步骤s201中更新了参数的判别模型d中,利用该判别模型d对二者进行判别,输出判别结果r(“真”)或f(“假”)以表示判别为原始辅助数据还是生成辅助数据,并基于判别结果的准确性来继续更新判别模型d的参数。

在一个优选实施例中,可以通过生成-对抗式训练来在步骤s203中优化和更新生成模型g和判别模型d两者。即,在交替训练过程中的步骤s203处,可以通过判别模型在原始辅助数据和由生成模型得到的生成辅助数据之间进行判别,而对生成模型和判别模型进行对抗训练。在对抗训练接收后,判别模型将难以判别输入的数据是原始辅助数据还是由生成模型得到的生成辅助数据。

此处,可以采用各种已知的用于训练生成-对抗网络(gan)的方式来在步骤s203中训练生成模型和判别模型二者。例如,可以分别构建表示判别模型d对由生成模型g得到的生成辅助数据的判别准确性的第三损失函数lg,以及表示判别模型d对生成辅助数据和原始辅助数据两者的判别准确性的第四损失函数ld,并交替以使得lg表示的判别准确性最小化为目的在保持判别模型参数不变的情况下更新生成模型的损失函数的方式进行训练、以使得ld表示的判别准确性最大化为目的在保持生成模型参数不变的情况下更新判别模型的损失函数的方式进行训练,直到判别模型难以区分原始辅助图像与由生成模型得到的生成辅助图像为止。

作为示例,判别模型d对原始辅助图像x和利用生成模型g生成的生成辅助图像g(z)的区分可以视为二分类问题,并且输出0到1之间的概率值作为分类结果d(x)或d(g(z)),其中,小于0.5的概率值表示分类结果为生成辅助图像,而大于0.5的概率值表示分类结果为原始辅助图像。相应地,可以构建损失函数l1和l2来表示判别模型d对两种图像进行分类的逻辑回归损失(也可称为lr损失,即logisticregressionloss),即,l1=log(d(x)),l2=log(1-d(g(z)))。基于l1和l2来构建判别模型d的损失函数ld=l1+l2=log(d(x))+log(1-d(g(z))),其越大则表示判别模型d对生成辅助数据和原始辅助数据两者的判别准确性越高,并构建生成模型g的损失函数lg=l2=log(1-d(g(z))),其越小则表示判别模型d对由生成模型g得到的生成辅助数据的判别准确性越低(即,判别模型d被由生成模型g得到的生成辅助数据所迷惑)。可以基于上述损失函数ld和lg通过训练来优化两个模型的参数。

图4示意性地示出了例如在图2中的步骤s203处进行的上述生成-对抗式训练的一个示例处理的流程图。

具体地,首先,如图4中的步骤s401所示,单独训练判别模型d。作为示例,当首次进入步骤s401时,判别模型d和生成模型g的初始参数可以是随机设置的;在此后的迭代中,以上一次迭代获得的优化参数作为模型的初始参数。步骤s401中的训练可认为是对二分类的分类器的有监督训练,而不涉及生成模型g的参数的任何改变。即,在步骤s401的处理中,将原始辅助图像和利用生成模型g得到的生成辅助图像分别标记以“r”、“f”的标签,再将这些带有标签的图像输入到判别模型d中进行分类。此时,以使得判别模型d的损失函数ld(其能够表示判别模型d对生成辅助数据和原始辅助数据两者的判别准确性)获得最大值为目标,对判别模型d进行训练,并在损失函数ld获得最大值时获得判别模型d的优化参数。这里,可以使用任意的训练基于神经网络的分类器的现有方法来实现对判别模型d的上述训练,在此不再赘述。

在获得优化的判别模型d之后,处理400进入到下一步骤s403,在此进行生成模型g和判别模型d的串接网络的训练,以在判别模型d的参数保持不变(即保持为步骤s401中获得的优化参数)的情况下,更新生成模型g的参数。由于此时的训练仅更新生成模型g的参数,因此也可如图5的步骤s403所示,简称为对生成模型g的训练。

在步骤s403的处理中,将由生成模型g生成的生成辅助图像(此步骤中生成辅助图像被标记为“r”)输入到判别模型d中。为了优化生成模型g使得其能够迷惑判别模型d,希望生成模型g的损失函数lg(其能够表示判别模型d对由生成模型g得到的生成辅助数据的判别准确性)越小越好。相应地,在步骤s403中,以使得损失函数lg获得最小值为目标,对生成模型g和判别模型d的串接网络进行训练,并在lg获得最小值时获得生成模型g的优化参数,即获得优化的生成模型g。

由于上述对生成模型g和判别模型d的串接网络的训练可以认为是一个串接起来的“长网络”分类器的训练、只是此时仅基于损失函数lg来更新该“长网络”中构成生成模型g的那些部分的参数(该“长网络”中构成判别模型d的那些部分的参数保持不变),因而也可以视为对基于神经网络的二分类器的训练。因此,在步骤s403的处理中可以采用任意的训练基于神经网络网络的二分类器的现有方法来实现对生成模型g和判别模型d的串接网络的上述训练,在此不再赘述。

在得到优化的生成模型g之后,处理400可以进入到下一步骤s405,在此利用步骤s403中获得的优化的生成模型g来得到新的生成辅助图像。

接着,在步骤s407中,基于步骤s401中获得的优化的判别模型d,对利用优化的生成模型g所得到的生成辅助图像和原始辅助图像进行区分,例如分别对这两种图像输出作为分类结果的概率值。

然后,在步骤s409中,判断优化的判别模型d是否已难以区分生成辅助图像和原始辅助图像。例如,当判别模型d对于这两种图像均输出接近0.5的概率值作为分类结果时,则认为判别模型d已难以区分两种图像,此时,对抗训练的处理400结束。另一方面,当优化的判别模型d仍可区分两种图像时,处理400返回到步骤s401,并以上一次迭代中得到优化参数作为初始参数来进行步骤s401至s409的处理,直到在步骤s409中判断判别模型g难以区分生成辅助图像和原始辅助图像为止,处理400结束。

经由上述对抗训练,可以利用生成模型得到生成辅助数据,并且生成辅助数据与原始辅助数据一起用于判别模型的训练以增强其特征表征能力,而无需附加地对辅助数据进行标注以用于判别模型的训练。换言之,本优选实施例可以避免额外增加繁琐费时的标注工作,同时增强了利用判别模型获得的特征对未知数据的表征能力。

在步骤s203中的训练之后,在步骤s205中,判断判别模型d是否已收敛,并在模型已经收敛时结束训练;否则,返回到步骤s201,并重复步骤s201至步骤s205的处理,直到模型收敛为止。作为示例,可以通过判断在步骤s203中更新后的判别模型d的参数与步骤s201中更新后的判别模型d的参数是否基本相同来判断判别模型d是否收敛:如果上述两个步骤中更新后的判别模型d的参数基本相同,则可以判断判别模型d已收敛。替选地,可以通过判断在步骤s201中更新参数后的判别模型d的与分类准确性有关的损失函数(诸如上述第一损失函数lsoftmax或者总的损失函数l)是否与上次迭代中的对应损失函数基本相同、并判断在步骤s203中更新参数后的判别模型d的与判别原始或生成辅助数据有关的损失函数(诸如上述损失函数ld)是否与上次迭代中的对应损失函数基本相同,来判断判别模型d是否收敛。如果上述两个损失函数在两次迭代中分别基本相同,则可以判断判别模型d已收敛。

利用上述训练获得的判别模型,通过辅助数据增强了判别模型的特征表示能力,可以提取出有利于开集识别的特征,其能够同时有效表征已知类别和未知类别的特征,从而在对已知类别进行正确分类的同时拒绝来自未知类别的数据。

图5示出了以上参照图2至图4描述的训练中使用的基于卷积神经网络的判别模型的一个示例结构。如图5所示,该卷积神经网络判别模型500包括输入层501、交替设置的两个卷积层502和504及两个池化层503和505、以及分为两个部分的全连接层即第一全连接层506和第二全连接层507。训练时,例如在图2中所示的步骤s201处,将分类训练数据输入到输入层501,以经由各个卷积层和池化层的处理而在第一全连接层506得到诸如图3中所示的类别c1、c2、……、cn的识别结果,并基于识别结果的准确性更新除了第二全连接层507以外的各层的参数。此外,例如在图2中所示的步骤s203处,将原始或辅助生成数据输入到输入层501,以经由各个卷积层和池化层的处理而在第二全连接层507得到诸如图3中的r或f的判别结果,并基于判别结果的准确性更新除了第一全连接层506以外的各层的参数。交替进行上述训练,直到模型收敛,最终可以得到优化的卷积神经网络判别模型。

注意,尽管图5示出了包括一个输入层、两个全连接层、两个池化层、两个全连接层的卷积神经网络的结构,但本领域技术人员可以理解,本公开实施例的开集识别方法中应用的基于卷积神经网络的判别模型的结构不限于此,而是可以根据实际应用来进行不同设计,例如可以包括不同数目的卷积层、池化层或全连接层,并且可以另外包括诸如正则化层等其他层。

作为示例,利用诸如图5所示的基于神经网络的判别模型(不限于图5所示的卷积神经网络),例如图1中的步骤s101中所示的提取待识别数据的特征的处理可以包括:将待识别数据输入到作为训练好的判别模型的神经网络,提取该神经网络的一个层的输出数据,作为待识别数据的特征。

优选地,上述一个层可以是神经网络的池化层。例如,在图5所示的判别模型的示例中,被提取特征的可以是紧在全连接层之前的池化层。该池化层对于用于识别分类训练数据的第一全连接层以及用于判别原始或生成辅助数据的第二全连接层是公共的,即,从该层提取的该特征可以同时有效地表征已知类别的分类训练数据的特征和作为未知类别数据的辅助数据的特征。因此,这样获得的特征有利于实现有效的开集识别。当然,本公开实施例不限于此,并且可以从神经网络的其他层(例如卷积神经网络的卷积层或其他池化层等)提取特征。

在一个示例中,在利用例如图5所示的训练好的判别模型从待识别数据中提取特征之后,例如图1中的步骤s103中所示的识别待识别数据的类别的处理可以包括:将所提取的特征分别与利用训练好的判别模型从每个类别的分类训练数据中提取的特征相比较,以识别待识别数据的类别。

例如,如果待识别数据的特征与从其中一个类别的分类训练数据中提取的特征之间的相似度大于预定阈值,则将其识别为该类别;否则,即,如果该特征与从任一个类别的分类训练数据中提取的特征之间相似度均小于预定阈值,则将其识别为未知类别。替选地,可以分别计算待识别数据的特征与从每个类别的分类训练数据中提取的特征之间的相似度,并将所获得的最大相似度与预定阈值比较。如果最大相似度大于预定阈值,则将待识别数据识别为与最大相似度对应的类别;否则,将待识别数据识别为未知类别。

作为示例,可以计算从一个类别的所有分类训练数据中提取的特征的平均值,作为该类别的训练数据的平均特征(mf),以用于上述相似度的计算。此时,可以计算利用判别模型从待识别数据提取的特征分别与每个类别的训练数据的平均特征之间的相似度,作为其与该类别的训练数据的特征之间的相似度。作为示例,可以使用欧氏距离度量来表征上述相似度。本领域技术人员可以理解,也可以类似地应用其他度量如余弦距离度量、联合贝叶斯度量或者其组合来表征特征之间的相似度,在此不再展开描述。

利用以上参照图1至图5描述的本实施例的开集识别方法,能够利用通过辅助数据增强了特征表示能力的判别模型,提取出有利于开集识别的特征,从而在对已知类别进行正确分类的同时拒绝来自未知类别的数据。

以下参照图6来描述利用本公开实施例的开集识别方法进行开集识别获得的有益效果。图6是示出了本公开实施例的开集识别方法与作为对照例的现有技术的开集识别方法所得到的roc曲线的示意图,其中,曲线601显示了使用本公开实施例的开集识别方法的roc曲线,曲线602显示了作为对照示例的现有技术方法的roc曲线。

在两个方法中,同样使用了敦煌古文献文字的300个类(即,表示大约300个汉字)的大约4万个训练样本作为分类训练数据,并且在本实施例的开集识别方法中另外使用了来自casia手写数据集的约4000类(即,表示大约4000个汉字)的约10万个原始辅助数据。更进一步地,在本实施例的方法中,使用敦煌古文献中的300个类的大约4万个训练样本作为分类训练数据以及来自手写数据集的约10万个样本作为原始辅助数据,如以上参照图1至图5所描述的那样共同训练判别模型;在对照例的现有技术方法中,单独使用敦煌古文献中上述300个类的大约4万个训练样本按照现有技术一般分类器的方式单独训练对照例中的判别模型(即,没有使用任何辅助数据)。训练之后,以此前描述的方式类似地利用本公开实施例的方法和对照例的现有技术方法来识别测试样本。即,基于利用判别模型提取的测试样本的特征与利用判别模型提取的各个类别的敦煌古文献文字的的特征之间的相似度中的最大相似度来识别测试样本的类别,即通过判断上述相似度中的最大相似度是否大于预定阈值来识别待处理数据是否属于相应类别。如果测试样本的特征与从各个类别的敦煌古文献文字中提取的特征之间的最大相似度大于预定阈值,则将测试样本识别为与最大相似度对应的那个敦煌古文献文字的类别;否则,将测试样本识别为未知类别。通过在相似度的整个阈值范围内改变上述预定阈值,则可以获得整个roc曲线。

roc曲线也称为接收者操作特征(receiveroperatingcharacteristic)曲线,其上的每个点反映着对同一信号刺激的感受性,在此处讨论的开集识别问题中,每个点反映针对一个给定相似度阈值的分类或识别的准确性。更具体地,roc曲线上每个点的横坐标表示与一个给定相似度阈值相对应的假正比率,纵坐标表示与该给定阈值相对应的真正比率,整个roc曲线表示与整个相似度阈值范围相对应的假正比率和真正比率。

此处,定义真阳性表示未知类别的样本被正确识别为未知类别,假阳性表示已知类别的样本被错误地识别为未知类别,假阴性表示未知类别的样本被错误地识别为已知类别,真阴性表示已知类别的样本被正确地识别为已知类别。横坐标是开集识别的假正比率,表示被错误识别为未知类别但实际为已知的样本占所有已知类别的样本的比例,即fp/n=fp/(fp+tn),其中fp是假阳性数,tn是真阴性数,n=fp+tn是阴性的总数。对于开集识别问题,假正比率fpr越接近0越好。纵坐标显示开集识别的真正比率(tpr),表示被正确识别为未知类别且实际为未知的样本占所有未知类别的样本的比例,即tp/p=tp/(tp+fn),其中tp是真阳性数,fn是假阴性数,p=tp+fn是阳性的总数。对于开集识别问题,真正比率(tpr)越接近1越好。

从图6的两个曲线中可以看出,本实施例的开集识别方法的roc曲线601相较于对照例的roc曲线602的真正比率tpr更接近1,并且假正比率fpr更接近0,可以识别出更多的未知类别。换言之,本实施例的开集识别方法相较于现有技术可以更好地拒绝未知类别的数据,避免将其误判为已知类别。

以上参照图1至图6描述了根据本公开的实施例的开集识别方法。利用该开集识别方法,能够利用通过辅助数据增强了特征表示能力的判别模型,提取出有利于开集识别的特征,其不仅能够有效表征已知类别的数据,还表征未知类别的数据,从而可以在对已知类别进行正确分类的同时拒绝来自未知类别的数据。

本领域技术人员可以理解,除了本文中作为示例描述的针对文献中文字的图像识别之外,能够拒绝来自未知类别的数据的本实施例的开集识别方法对于一般图像处理(例如人脸识别)、语音识别(例如说话人身份认证)、运动行为识别(例如运动模式识别)等领域均具有广阔的应用前景。

此外,该方法还可以应用于很多其他领域。例如,对于可能存在故障的电力系统数据、电机数据、化工过程数据等,训练时的训练数据无法涵盖所有故障类别或仅涵盖部分故障类别,但在应用时需要识别这些未知类别的故障,这种情况下本公开实施例的开集识别方法将会特别有用。可以基于本公开实施例的开集识别方法,利用使用适当的原始辅助数据(例如已经获得的部分故障数据或与正常数据属于相同领域的其他数据)训练的判别模型,来判别未知类别的故障数据。

类似地,在电商领域,系统一般对正常电子商务数据建模,但需要检测异常交易行为和/或欺诈行为,即,需要识别训练时未知的各种异常数据(识别未知类别的异常行为),这种情况下也可以应用本公开实施例的开集识别方法。此时,可以基于本公开实施例的开集识别方法,利用使用适当的原始辅助数据(例如已经获得的部分异常数据或与正常数据属于相同领域的其他数据)训练的判别模型,来判别未知类别的异常数据。

注意,提供上述应用示例仅意在便于本领域技术人员更好地理解本公开实施例,而不意在对本公开实施例或其应用领域或场景构成任何限制。本领域技术人员可以根据实际需要来对本公开实施例进行各种适当的修改和/或变更,并应用于任何适当的领域和场景。

根据根本公开的另一方面,提供了一种开集识别设备。图7是示意性地示出根据本公开实施例的开集识别设备的示例结构的示意性框图。

如图7所示,开集识别设备700可以包括:特征提取单元701,用于利用训练好的判别模型来提取待识别数据的特征;以及类别识别单元702,用于基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

上述开集识别设备及其各个单元例如可以进行以上参照图1至图6描述的开集识别方法及其各个步骤的操作和/或处理并实现类似的效果,在此不再进行重复说明。

根据根本公开的又一方面,提供了一种信息处理设备。该信息处理设备可以实现根据本公开实施例的开集识别方法,其可以包括处理器,该处理器被配置为:利用训练好的判别模型来提取待识别数据的特征;以及基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

信息处理设备的处理器例如可以被配置为进行以上参照图1至图6描述的开集识别方法及其各个步骤的操作和/或处理并实现类似的效果,在此不再进行重复说明。

作为示例,原始辅助数据、分类训练数据和待识别数据可以分别包括图像数据或运动行为数据。

作为示例,判别模型可以是基于神经网络的模型。类似地,生成模型也可以是基于神经网络的模型。例如,判别模型和/或生成模型可以是基于卷积神经网络的模型。

在一个优选实施例中,在交替训练的过程中,可以通过判别模型在原始辅助数据和由生成模型得到的生成辅助数据之间进行判别,而对生成模型和判别模型进行对抗训练。

此外,可选地,在交替训练的过程中,当以识别分类训练数据的类别为任务对判别模型进行训练时,可以基于第一损失函数和第二损失函数来更新判别模型的参数,该第一损失函数基于判别模型识别分类训练数据的类别的准确性,该第二损失函数基于利用判别模型从各条分类训练数据分别提取的特征之间的相似度。

作为示例,处理器可以被配置为通过下述方式来提取待识别数据的特征:将待识别数据输入到作为训练好的判别模型的神经网络,提取该神经网络的一个层的输出数据,作为待识别数据的特征。

优选地,上述一个层可以是神经网络的池化层。

此外,作为示例,处理器可以被配置为通过来识别待识别数据的类别:将所提取的特征分别与利用训练好的判别模型从每个类别的分类训练数据中提取的特征相比较,以识别待识别数据的类别。

图8是示出了可用来实现根据本公开实施例的信息处理设备和方法的一种可能的硬件配置800的结构简图。

在图8中,中央处理单元(cpu)801根据只读存储器(rom)802中存储的程序或从存储部分808加载到随机存取存储器(ram)803的程序执行各种处理。在ram803中,还根据需要存储当cpu801执行各种处理等等时所需的数据。cpu801、rom802和ram803经由总线804彼此连接。输入/输出接口805也连接到总线804。

下述部件也连接到输入/输出接口805:输入部分806(包括键盘、鼠标等等)、输出部分807(包括显示器,例如阴极射线管(crt)、液晶显示器(lcd)等,和扬声器等)、存储部分808(包括硬盘等)、通信部分809(包括网络接口卡例如lan卡、调制解调器等)。通信部分809经由网络例如因特网执行通信处理。根据需要,驱动器810也可连接到输入/输出接口805。可拆卸介质811例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器810上,使得从中读出的计算机程序可根据需要被安装到存储部分808中。

此外,本公开还提出了一种存储有机器可读取的指令代码的程序产品。上述指令代码由机器读取并执行时,可执行上述根据本公开实施例的语音认证方法。相应地,用于承载这种程序产品的例如磁盘、光盘、磁光盘、半导体存储器等的各种存储介质也包括在本公开的公开中。

即,本公开还提出了一种存储介质,其存储有机器可读取的指令代码,所述指令代码在由机器读取并执行时,能够使得机器执行上述根据本公开实施例的语音认证方法。所述指令代码包括指令代码部分,用于进行下述操作:利用训练好的判别模型来提取待识别数据的特征;以及基于所提取的特征来识别所述待识别数据的类别,其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

上述存储介质例如可以包括但不限于磁盘、光盘、磁光盘、半导体存储器等。

在上面对本公开具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

此外,本公开的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本公开的技术范围构成限制。

此外,显然,根据本公开的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。

而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给系统或设备,并且该系统或设备中的计算机或者中央处理单元(cpu)读出并执行上述程序代码。

此时,只要该系统或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。

上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。

另外,客户信息处理终端通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到信息处理终端中然后执行该程序,也可以实现本公开的各实施例。

综上,根据本公开实施例,本公开提供了如下方案,但不限于此:

1.一种信息处理设备,所述设备包括:

处理器,其被配置为:

利用训练好的判别模型来提取待识别数据的特征;以及

基于所提取的特征来识别所述待识别数据的类别,

其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

2.根据方案1所述的信息处理设备,其中,判别模型是基于神经网络的模型。

3.根据方案1或2所述的信息处理设备,其中,在交替训练的过程中,通过判别模型在原始辅助数据和由生成模型得到的生成辅助数据之间进行判别,而对生成模型和判别模型进行对抗训练。

4.根据方案1或2所述的信息处理设备,其中,处理器被配置为通过下述方式来识别待识别数据的类别:将所提取的特征分别与利用训练好的判别模型从每个类别的分类训练数据中提取的特征相比较,以识别待识别数据的类别。

5.根据方案1或2所述的信息处理设备,其中,原始辅助数据、分类训练数据和待识别数据分别包括图像数据或运动行为数据。

6.根据方案2所述的信息处理设备,其中,在交替训练的过程中,当以识别分类训练数据的类别为任务对判别模型进行训练时,基于第一损失函数和第二损失函数来更新判别模型的参数,该第一损失函数基于判别模型识别分类训练数据的类别的准确性,该第二损失函数基于利用判别模型从各条分类训练数据分别提取的特征之间的相似度。

7、根据方案2所述的信息处理设备,其中,处理器被配置为通过下述方式来提取待识别数据的特征:将待识别数据输入到作为训练好的判别模型的神经网络,提取该神经网络的一个层的输出数据,作为待识别数据的特征。

8、根据方案7所述的信息处理设备,其中,所述一个层是神经网络的池化层。

9.一种开集识别方法,包括:

利用训练好的判别模型来提取待识别数据的特征;以及

基于所提取的特征来识别所述待识别数据的类别,

其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

10.根据方案9所述的开集识别方法,其中,判别模型是基于神经网络的模型。

11.根据方案9或10所述的开集识别方法,其中,在交替训练的过程中,通过判别模型在原始辅助数据和由生成模型得到的生成辅助数据之间进行判别,而对生成模型和判别模型进行对抗训练。

12.根据方案9或10所述的开集识别方法,其中,识别待识别数据的类别包括:将所提取的特征分别与利用训练好的判别模型从每个类别的分类训练数据中提取的特征相比较,以识别待识别数据的类别。

13.根据方案9或10所述的开集识别方法,其中,原始辅助数据、分类训练数据和待识别数据分别包括图像数据或运动行为数据。

14.根据方案10所述的开集识别方法,其中,在交替训练的过程中,当以识别分类训练数据的类别为任务对判别模型进行训练时,基于第一损失函数和第二损失函数来更新判别模型的参数,该第一损失函数基于判别模型识别分类训练数据的类别的准确性,该第二损失函数基于利用判别模型从各条分类训练数据分别提取的特征之间的相似度。

15、根据方案10所述的开集识别方法,其中,提取待识别数据的特征包括:将待识别数据输入到作为训练好的判别模型的神经网络,提取该神经网络的一个层的输出数据,作为待识别数据的特征。

16、根据方案15所述的开集识别方法,其中,所述一个层是神经网络的池化层。

17、一种存储介质,其存储有机器可读取的指令代码,所述指令代码在由机器读取并执行时,能够使得机器执行一种开集识别方法,所述指令代码包括:

指令代码部分,用于进行下述操作:

利用训练好的判别模型来提取待识别数据的特征;以及

基于所提取的特征来识别所述待识别数据的类别,

其中,所述判别模型是通过下述方式来获得的:利用原始辅助数据、由生成模型得到的生成辅助数据、以及用于开集识别的具有已知类别的分类训练数据,分别以识别分类训练数据的类别和判别原始或生成辅助数据为任务,对判别模型进行交替训练。

最后,还需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备可能不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管上面已经通过本公开的具体实施例的描述对本公开进行了披露,但是,应该理解,本领域技术人员可在所附权利要求的精神和范围内设计对本公开的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本公开所要求保护的范围内。

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