掌桥专利:专业的专利平台
掌桥专利
首页

样本选择方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 11:44:10


样本选择方法、装置、计算机设备及存储介质

技术领域

本发明涉及人工智能技术领域,尤其涉及一种样本选择方法、装置、计算机设备及存储介质。

背景技术

深度神经网络在计算机视觉领域的巨大成功受益于复杂的深度网络结构及海量的标注数据,但是在一些复杂的任务如检测、分割或者医学图像领域,数据的标签往往并不容易获取,且若对获取的所有样本数据进行标注,则需要耗费大量的人力成本。

目前,主动学习技术能够从大量的未标注数据中获取对当前模型提升最有帮助的样本进行标注,从而有效降低标注成本。然而,现有的主动学习方法大多应用于图像分类问题,通过模型的预测后验概率去衡量未标注数据的信息量,进而选择信息量较大的数据作为待标注样本。这类方法具有很大的局限性,不仅严重依赖于模型的预测概率,而且容易出现样本数据分布不一致导致样本选择的准确度较低,此外,针对目标检测问题进行样本选择,需要同时得到图像中每一个目标框的类别和位置信息,通过计算每一个框预测后验概率的熵,然后去估计整体的信息量,而仅仅利用图像的全局特征进行待标注样本的选择是不足的,信息量的不确定性与图像中的每一个目标特征都息息相关,因此该种通过全局特征估计信息量的方式不仅容易受到模型本身不确定性的影响,而且也无法缓解类别不平衡的问题。

发明内容

本发明实施例提供一种样本选择方法、装置、计算机设备及存储介质,以解决目前针对目标检测的任务场景下,基于主动学习技术实现标注样本选择的准确度不高的问题。

一种样本选择方法,包括:

将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一所述待标注样本中目标检测物对应的目标特征以及所述目标特征对应的所属类别;

对所述待标注样本中同一类别的目标特征进行聚类,得到每一所述类别对应的多个类簇;每一所述类簇对应一聚类中心;

计算同一所述待标注样本对应的所述目标特征与每一所述聚类中心的距离,将所述距离作为每一所述目标特征对应的特征距离;

基于同一所述待标注样本对应的多个所述特征距离,计算所述待标注样本的样本得分;

根据每一所述待标注样本的样本得分,确定目标标注样本。

一种样本选择装置,包括:

样本识别模块,用于将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一所述待标注样本中目标检测物对应的目标特征以及所述目标特征对应的所属类别;

聚类模块,用于对所述待标注样本中同一类别的目标特征进行聚类,得到每一所述类别对应的多个类簇;每一所述类簇对应一聚类中心;

特征距离计算模块,用于计算同一所述待标注样本对应的所述目标特征与每一所述聚类中心的距离,将所述距离作为每一所述目标特征对应的特征距离;

样本得分计算模块,用于基于同一所述待标注样本对应的多个所述特征距离,计算所述待标注样本的样本得分;

标注样本确定模块,用于根据每一所述待标注样本的样本得分,确定目标标注样本。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述样本选择方法的步骤。

一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述样本选择方法的步骤。

上述样本选择方法、装置、计算机设备及存储介质中,通过将待标注样本输入至预训练的深度神经网络模型中进行识别,以得到每一待标注样本对应的目标特征以及对应的所属类别,以将样本中的每一目标特征单独分离出来进行分析,使样本选择更加符合目标检测任务本身。然后,对待标注样本中同一类别的目标特征进行单独聚类,得到每一类别对应的多个类簇,以充分考虑到每一个类别的分布情况,从而使所选样本的类别分布性一致,可以增加选择到的样本中同类别目标的类间差异,避免在同一批次内选择到具有高度相似性的目标样本,从而保证所选目标标注样本的质量。接着,计算同一待标注样本对应的目标特征与每一聚类中心的距离,以作为每一目标特征对应的特征距离,以便基于基于同一待标注样本对应的多个特征距离,计算待标注样本的样本得分。最后,根据每一待标注样本的样本得分,确定目标标注样本,以从目标特征级别的角度,估计样本的重要性,可有效提高样本选择的准确度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中样本选择方法的一应用环境示意图;

图2是本发明一实施例中样本选择方法的一流程图;

图3是本发明一实施例中样本选择方法的一流程图;

图4是本发明一实施例中样本选择方法的一流程图;

图5是图4中步骤S404的一具体流程图;

图6是本发明一实施例中样本选择装置的一示意图;

图7是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

该样本选择方法可应用在如图1的应用环境中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器来实现。

在一实施例中,如图2所示,提供一种样本选择方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:

S201:将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一待标注样本中目标检测物对应的目标特征以及目标特征对应的所属类别。

其中,该深度神经网络模型为预先根据少量已标注的样本训练好的初始模型,用于识别样本中的目标特征以及对应的所属类别,以便后续针对目标特征级的信息,估计样本的重要性。于本实施例中,该样本可包括但不限于图像、文本等。为便于理解,以下以待标注样本为图像为例进行说明。

具体地,将待标注样本输入至预训练的深度神经网络模型中进行识别,以得到每一待标注样本对应的目标特征以及对应的所属类别,例如针对某一图像中包括多个目标检测物(如狗、猫、羊),该深度神经网络模型会提取出每一目标检测物对应的目标特征并给出该目标特征的所属类别。

可以理解地是,对于目标检测任务,关注的是图像中的目标,尤其是当很大的一张图像中只有一个很小的目标的时候,整张图像本身的特征对目标检测任务是几乎没有意义的,故本实施例中通过将样本中的每一个目标特征单独分离出来进行分析,更符合目标检测任务本身。

S202:对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的多个类簇;每一类簇对应一聚类中心。

具体地,可采用K-means聚类算法对待标注样本中属于同一类别的目标特征进行单独聚类,得到每一类别对应的多个类簇。例如,经过步骤S101得到的类别包括A、B、C,通过以类别为单位,针对全量待标注样本中属于相同类别的目标特征进行聚类分析,分别得到类别A对应的多个类簇、类别B对应的多个类簇以及类别C对应的多个类簇。

进一步,本实施例中在利用目标特征级别的信息,估计样本的重要性时,通过以类别为单位,针对每一个类别的目标特征进行单独聚类,充分考虑到每一个类别的分布情况,从而使所选样本的类别分布性一致,可以增加选择到的样本中同类别目标的类间差异,避免在同一批次内选择到具有高度相似性的目标样本,从而保证所选目标标注样本的质量。

S203:计算同一待标注样本对应的目标特征与每一聚类中心的距离,将距离作为每一目标特征对应的特征距离。

具体地,以待标注样本为单位,计算同一待标注样本对应的多个目标特征与每一聚类中心的距离作为每一目标特征对应的特征距离。示例性地,假设经过上述聚类得到如下聚类结果:某待标注样本包括两个类别A、B,每一类别包括2个类簇分别对应聚类中心即A-(k1、k2)、B-(k3、k4),该待标注样本对应M个目标特征,通过分别计算每一目标特征与k1、k2、k3以及k4的距离,以得到每一目标特征对应的4个特征距离。

S204:基于同一待标注样本对应的多个特征距离,计算待标注样本的样本得分。

其中,该样本得分代表与每一聚类中心的距离,用于表征该样本被选择的优先级,即图像优先级越高,其样本得分越低。

在一实施例中,步骤S204具体为:对同一待标注样本对应的多个特征距离进行取均值处理,将均值处理的结果作为待标注样本的样本得分。

对多个特征距离进行取均值处理,以得到待标注样本的样本得分。

具体地,通过对同一待标注样本对应的多个特征距离进行取均值处理,以得到待标注样本的样本得分,以上述示例为例进一步说明,通过计算得到的4个特征距离的距离和,并计算与目标特征数量M的比值,即为该待标注样本的样本得分。

S205:根据每一待标注样本的样本得分,确定目标标注样本。

在一实施例中,步骤S205具体为:按照从小到大的顺序对每一待标注样本的得分进行排序,并选取前N位的作为目标标注样本。

具体地,由于图像优先级越高,其样本得分越低,故按照从小到大的顺序对每一待标注样本的得分进行排序,并选取前N位的作为目标标注样本。其中,N值可根据实际需要进行确定,此处不做限定。

或者,还可预先设定一得分阈值,当待标注样本的样本得分不小于该得分阈值时,即可将该待标注样本作为目标标注样本。

进一步地,在得到目标标注样本后,将选择的n张图像送给专家进行标注,进而加入训练集并更新模型。其中,该目标标注样本则被认为对当前的模型提升效果最大。

本实施例中,通过将待标注样本输入至预训练的深度神经网络模型中进行识别,以得到每一待标注样本对应的目标特征以及对应的所属类别,以将样本中的每一目标特征单独分离出来进行分析,使样本选择更加符合目标检测任务本身。然后,对待标注样本中同一类别的目标特征进行单独聚类,得到每一类别对应的多个类簇,以充分考虑到每一个类别的分布情况,从而使所选样本的类别分布性一致,可以增加选择到的样本中同类别目标的类间差异,避免在同一批次内选择到具有高度相似性的目标样本,从而保证所选目标标注样本的质量。接着,计算同一待标注样本对应的目标特征与每一聚类中心的距离,以作为每一目标特征对应的特征距离,以便基于多个特征距离,计算待标注样本的样本得分。最后,根据每一待标注样本的样本得分,确定目标标注样本,以从目标特征级别的角度,估计样本的重要性,可有效提高样本选择的准确度。

在一实施例中,如图3所示,该样本选择方法还包括如下步骤:

S301:将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一待标注样本中目标检测物对应的目标特征以及目标特征对应的所属类别。

具体地,步骤S301与步骤S201保持一致,为避免重复,此处不再赘述。

S302:对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的多个类簇;每一类簇对应一聚类中心。

具体地,步骤S302与步骤S202保持一致,为避免重复,此处不再赘述。

S303:计算同一待标注样本对应的目标特征与每一聚类中心的距离,得到每一目标特征对应的特征距离。

具体地,步骤S303与步骤S203保持一致,为避免重复,此处不再赘述。

S304:基于同一待标注样本对应的多个特征距离,计算待标注样本的样本得分。

具体地,步骤S304与步骤S204保持一致,为避免重复,此处不再赘述。

S305:若待标注样本中存在目标特征的特征距离在对应的类簇内最小,则按照预设减分规则,在样本得分的基础上降低样本得分,得到更新后的样本得分。

具体地,由于当出现类别不平衡时,即部分类别的目标特征的数量比较少,那么目前训练好的深度神经网络模型会对这些类别有比较少的关注度,对该类别的预测会变得较差。故在获取新一批目标标注样本时,则需要更多地将含有该类别目标的待标注样本,以提高模型对该类别的特征进行再训练,优化模型。

因为,为解决上述类别不平衡的问题,本实施例中通过增加最小距离优先机制,以平衡类别对应的目标特征数量不一致的问题,增加该部分样本的的优先级。其中,该最小距离优先机制即为当待标注样本中存在任意目标特征的特征距离在对应的类簇内最小时,则按照预设减分规则,在样本得分的基础上降低样本得分,得到更新后的样本得。

示例性地,以步骤S203的示例为例进一步说明,假设当前待标注样本对应4个特征距离,每一特征距离与类簇的对应关系如下(a1-K1)(a2-K2)(a3-K3)(a4-K4)、通过判断每一特征距离在对应簇内是否为最小,若最小,则证明该特征的重要程度较高,故该样本的优先级可提升,故可在当前计算得到的样本得分的基础上降低该样本得分,以提升该样本的优先级。

需要说明的是,当待标注样本中存在上述目标特征越多,该待标注样本的样本得分越低,样本优先级越高。具体地,本实施例中可按照预设减分公式,在样本得分的基础上降低样本得分,得到更新后的样本得分;其中,预设减分公式为:Z=s*0.9

S306:根据更新后的每一待标注样本的样本得分,确定目标标注样本。

具体地,在样本得分更新后,根据更新后的每一待标注样本的样本得分,确定目标标注样本。其中,确定目标标注样本的具体实现过程与步骤S205保持一致,避免重复此处不再赘述。

在一实施例中,如图4所示,该样本选择方法还包括如下步骤:

S401:获取每一类别对应的目标特征的特征数量以及计划标注样本的计划数量。

S402:根据特征数量以及计划数量,确定类别对应的类簇数量。

具体地,可通过如下公式K=min(m/10,n)确定每一类别对应的类簇数量,其中,m表示特征数量;n表示计划数量,K表示类簇数量。

可以理解地是,由于本实施例中的类别对应的类簇数量与计划数量相等,一般来说,计划标注的计划数量n会大于三位数,当对某个类别进行聚类时,如果该类的目标数量特别大(大于三位数或四位数),聚类中心得数量K=n,则不会有问题;但是当m小于三位数时,此时若K=n,则会导致聚类结果不合理,故本实实施例中,通过而设置k=m/10,可以避免目标特征的数量小于类簇数量K,使得聚类更加合理。

S403:将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一待标注样本中目标检测物对应的目标特征以及目标特征对应的所属类别。

具体地,步骤S403与步骤S201保持一致,为避免重复,此处不再赘述。

S404:采用K-means算法对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的类簇数量个类簇。

S405:计算同一待标注样本对应的目标特征与每一聚类中心的距离,将距离作为每一目标特征对应的特征距离。

具体地,步骤S405与步骤S203保持一致,为避免重复,此处不再赘述。

S406:基于同一待标注样本对应的多个特征距离,计算待标注样本的样本得分。

具体地,步骤S406与步骤S204保持一致,为避免重复,此处不再赘述。

S407:根据每一待标注样本的样本得分,确定目标标注样本。

具体地,步骤S407与步骤S205保持一致,为避免重复,此处不再赘述。

在一实施例中,如图5所示,步骤S404中,即采用K-means算法对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的类簇数量个类簇具体包括:

S501:根据类簇数量初始化K-means算法的K值。

S502:将同一类别的目标特征作为待聚类样本,从待聚类样本中随机选取K个目标特征作为聚类中心,并更新待聚类样本。

S503:基于特征相似度,从更新后的待聚类样本中选取与聚类中心对应的多个目标特征;其中,特征相似度用于指示更新后的待聚类样本中的目标特征与聚类中心之间的相似度。

S504:更新聚类中心,并重复执行基于特征相似度,从更新后的待聚类样本中选取与聚类中心对应的多个目标特征的步骤,直到满足预设算法终止条件,得到类别对应的类簇数量个类簇。

其中,通过初始化K-means算法的K值,以通过K-means算法针对同一类别中的目标特征进行聚类,实现有监督学习。

具体地,通过从待聚类样本中随机选取K个目标特征作为聚类中心,并更新待聚类样本。再通过欧氏距离或余弦相似度算法计算每一类簇的中与待聚类样本中的目标特征之间的特征相似度,将距离聚类中心最近(即特征相似度大于预设相似度阈值)的目标特征聚集在同一类簇中,不断迭代聚类,直到类簇对应的更新后的质心与更新前的质心之间的距离小于预设距离(根据经验设定的预设算法终止条件),以得到类别对应的K个类簇。

本实施例中,通过采用kmeans聚类算法对对目标样本数据进行聚类分析,得到至少一个聚类簇,以通过无监督学习方式对客户价值进行分析标注,可而解决有监督学习时需要运营人员根据经验手动对客户进行价值标注的问题。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种样本选择装置,该样本选择装置与上述实施例中样本选择方法一一对应。如图6所示,该样本选择装置包括样本识别模块10、聚类模块20、特征距离计算模块30、样本得分计算模块40和标注样本确定模块50。各功能模块详细说明如下:

样本识别模块10,用于将多个待标注样本输入至预训练的深度神经网络模型中进行目标检测,以得到每一待标注样本中目标检测物对应的目标特征以及目标特征对应的所属类别。

聚类模块20,用于对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的多个类簇;每一类簇对应一聚类中心。

特征距离计算模块30,用于计算同一待标注样本对应的目标特征与每一聚类中心的距离,将距离作为每一目标特征对应的特征距离。

样本得分计算模块40,基于同一待标注样本对应的多个特征距离,计算待标注样本的样本得分。

标注样本确定模块50,用于根据每一待标注样本的样本得分,确定目标标注样本。

具体地,样本选择装置还包括样本得分更新模块和标注样本确定模块。

样本得分更新模块,用于若待标注样本中存在任意目标特征的特征距离在对应的类簇内最小,则按照预设减分规则,在样本得分的基础上降低样本得分,得到更新后的样本得分。

标注样本确定模块,用于根据更新后的每一待标注样本的样本得分,确定目标标注样本。

具体地,样本得分计算模块具体为:对同一待标注样本对应的多个特征距离进行取均值处理,将均值处理的结果作为待标注样本的样本得分。

具体地,该样本选择装置还包括数据获取模块和类簇数量确定模块。

数据获取模块,用于获取每一类别对应的目标特征的特征数量以及计划标注样本的计划数量。

类簇数量确定模块,用于根据特征数量以及计划数量,确定类别对应的类簇数量。

聚类模块,用于K-means算法对待标注样本中同一类别的目标特征进行聚类,得到每一类别对应的类簇数量个类簇。

具体地,标注样本确定模块具体为:按照从小到大的顺序对每一待标注样本的样本得分进行排序,并选取排在前N位的待标注样本作为目标标注样本。

关于样本选择装置的具体限定可以参见上文中对于样本选择方法的限定,在此不再赘述。上述样本选择装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行样本选择方法过程中生成或获取的数据,如深度神经网络模型。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种样本选择方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的样本选择方法的步骤,例如图2所示的步骤S201-S205,或者图3至图5中所示的步骤。或者,处理器执行计算机程序时实现样本选择装置这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。

在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中样本选择方法的步骤,例如图2所示的步骤S201-S205,或者图3至图5中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述样本选择装置这一实施例中的各模块/单元的功能,例如图6所示的各模块/单元的功能,为避免重复,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 样本选择方法、装置、计算机设备及存储介质
  • 模型的训练样本选择方法、装置及计算机设备
技术分类

06120113033730