一种标注样本确定方法、装置、设备及存储介质
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,具体涉及一种基于人工智能的标注样本确定方法、装置、设备及存储介质。
背景技术
随着机器学习技术的迅速发展,深度学习网络如今已被广泛地应用于各行各业。目前,很多深度学习网络都是基于监督学习算法训练得到的,这种情况下,用于训练深度学习网络的训练样本越多,相应训练得到的深度学习网络的模型性能会越好。但是在实际应用中,标记样本的获取是比较困难的,需要相关领域内的专家进行人工标注,所需耗费的时间成本和经济成本都很高。
为了能够使用较少的训练样本训练得到模型性能较好的深度学习网络,主动学习(Active Learning)技术应运而生,其可以通过一定的算法从未标注样本中查询到比较有标注价值的样本,并交由专家进行标注,进而利用标注后的样本对深度学习网络进行训练以提高其模型性能。
基于现有的主动学习方法选择需要标注的样本时,通常逐一针对各未标注样本衡量其对应的标注价值,从而选出标注价值较高的未标注样本进行标注。然而,这种主动学习方法仅关注单个未标注样本的标注价值,其并未考虑由所选出的这些样本组成的训练样本集的整体特征分布,经常导致由所选出的未标注样本(对其进行标注后)和已标注样本组成的训练样本集整体分布特征不够分散;利用这种训练样本集对深度学习网络进行训练,难以使得深度学习网络综合学习多方面的特征,对深度学习网络的模型性能会产生较大的影响。
发明内容
本申请实施例提供了一种标注样本确定方法、装置、设备及存储介质,能够有效地从未标注样本中选出训练深度学习网络时真正需要的样本进行标注。
有鉴于此,本申请第一方面提供了一种基于人工智能的标注样本确定方法,所述方法包括:
获取样本对,所述样本对包括未标注样本和已标注样本;
将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度;
根据所述输出结果确定所述样本对中的未标注样本的可用度;
当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
本申请第二方面提供了一种基于人工智能的标注样本确定装置,所述装置包括:
获取模块,用于获取样本对,所述样本对包括未标注样本和已标注样本;
处理模块,用于将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度;
价值确定模块,用于根据所述输出结果确定所述样本对中的未标注样本的可用度;
选择模块,用于当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
本申请第三方面提供了一种电子设备,包括:存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行上述第一方面所述的标注样本确定方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的标注样本确定方法。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的标注样本确定方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种标注样本确定方法,该方法将成对学习(Paired-wiseLearning)引入样本选择过程中,在衡量未标注样本的标注价值时综合考虑已标注样本的特征,即利用样本评估模型对未标注样本和已标注样本进行特征提取和学习,进而基于二者的域内共性和域间差异性衡量未标注样本的标注价值。相比现有技术中按照预设的标准逐一衡量各未标注样本的标注价值衡量的方式,本申请实施例提供的方法基于未标注样本与已标注样本之间的相似度衡量未标注样本的可用度,在未标注样本与已标注样本之间具有较大差异的情况下,确定该未标注样本为需要标注的样本;由此有效地防止所选出的未标注样本与已标注样本相似,进而防止由标注后的未标注样本与已标注样本混合得到的训练样本集数据分布集中,即保证所选出的未标注样本均是训练模型时真正需要的样本,基于这些样本对模型进行训练能够保证训练得到的模型具有较好的模型性能。
附图说明
图1为本申请实施例提供的标注样本确定方法的应用场景示意图;
图2为本申请实施例提供的标注样本确定方法的流程示意图;
图3为本申请实施例提供的样本评估模型训练方法的流程示意图;
图4为本申请实施例提供的样本评估模型训练方法的原理示意图;
图5为本申请实施例提供的主动学习框架的架构图;
图6为本申请实施例提供的一种标注样本确定装置的结构示意图;
图7为本申请实施例提供的另一种标注样本确定装置的结构示意图;
图8为本申请实施例提供的一种终端设备的结构示意图;
图9为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请涉及人工智能领域,下面对人工智能领域相关技术进行简单介绍。
所谓人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
经发明人研究发现,基于现有技术选择未标注样本时仅关注了单个未标注样本的标注价值,而忽略了未标注样本与已标注样本之间的特征相似度,因此,经常出现所选出的未标注样本与已标注样本较为相似的情况,对这类选出的未标注样本进行标注,并将标注后的样本与原有的已标注样本混合得到的训练样本集通常特征分布较为集中,基于此类训练样本集对模型训练不利于模型综合学习多方面特征,会导致训练得到的模型性能较差。
为了解决上述技术问题,本申请实施例提供了一种标注样本确定方法,该方法将成对学习引入样本选择过程中,在确定未标注样本的可用度时综合考虑已标注样本的特征,即利用样本评估模型对未标注样本和已标注样本进行特征提取和学习,进而基于二者的域内共性和域间差异性衡量未标注样本的标注价值。
具体的,在本申请实施例提供的标注样本确定方法中,先获取包括未标注样本和已标注样本的样本对;然后将样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得样本评估模型的输出结果,该样本评估模型能够确定两路输入的样本之间的相似度;进而,根据所获得的输出结果确定样本对中未标注样本的可用度,当该可用度满足预设条件时,确定样本对中的未标注样本为需要标注的样本。
相比现有技术中按照预设的标准逐一衡量各未标注样本的标注价值衡量的方式,上述方法基于未标注样本与已标注样本之间的相似度衡量未标注样本的可用度,在未标注样本与已标注样本之间具有较大差异的情况下,确定该未标注样本为需要标注的样本;由此有效地防止所选出的未标注样本与已标注样本较为相似,进而防止由标注后的未标注样本与已标注样本混合得到的训练样本集数据分布集中,即保证所选出的未标注样本均是训练模型时真正需要的样本,基于这些样本对模型进行训练能够保证训练得到的模型具有较好的模型性能。
应理解,本申请实施例提供的标注样本确定方法通常应用于具备数据分析处理能力的设备,该设备具体可以为终端设备或者服务器;其中,终端设备具体可以为计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑、智能手机等;服务器具体可以应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的标注样本确定方法所适用的应用场景进行介绍。
参见图1,图1为本申请实施例提供的标注样本确定方法的应用场景示意图。如图1所示,该应用场景包括:数据库101、数据库102和服务器103;其中,数据库101中存储有多个已标注样本;数据库102中存储有多个未标注样本;服务器103中部署有样本评估模型,服务器103用于执行本申请实施例提供的标注样本确定方法,其可以基于数据库101中存储的已标注样本和数据库102中存储的未标注样本组合生成样本对。
具体应用时,服务器103可以从数据库101中调取一个已标注样本,从数据库102中调取一个未标注样本,利用这两个样本组成样本对;将该样本对输入自身内部部署的样本评估模型,获得样本评估模型的输出结果,该输出结果能够表征样本对中已标注样本和未标注样本之间的相似度;进而,根据样本评估模型输出的输出结果确定未标注样本对应的可用度,若该未标注样本对应的可用度满足预设条件,则可以确定该未标注样本为需要标注的样本。
如此,将成对学习引入样本选择过程,在衡量未标注样本的标注价值时综合考虑已标注样本的特征,即利用样本评估模型对未标注样本和已标注样本进行特征提取和学习,进而基于二者的域内共性和域间差异性衡量未标注样本的可用度。由此有效地防止所选出的未标注样本与已标注样本较为相似,避免出现由选出的未标注样本(对其进行标注后)和已标注样本组合得到的训练样本集数据分布集中的情况,即保证所选出的未标注样本均是训练模型时真正需要的样本,基于这些样本对模型进行训练能够保证训练得到的模型具有较好的模型性能。
应理解,图1所示的应用场景仅为示例,在实际应用中,本申请实施例提供的标注样本确定方法还可以应用于其他应用场景,在此不对该标注样本确定方法适用的应用场景做任何限定。
下面通过实施例对本申请提供的标注样本确定方法进行介绍。
参见图2,图2为本申请实施例提供的标注样本确定方法的流程示意图。为了便于描述,下述实施例以服务器作为执行主体进行描述。如图2所示,该标注样本确定方法包括以下步骤:
步骤201:获取样本对,所述样本对包括未标注样本和已标注样本。
在一种可能的情况下,服务器可以基于本申请实施例提供的标注样本确定方法,针对未标注样本集合中某个未标注样本确定其对应的标注价值的高低,以确定是否有必要对该未标注样本进行标注;在这种情况下,服务器可以针对该未标注样本,从已标注样本集合中选择一个或多个已标注样本,与该未标注样本相应地组成一个或多个样本对。
在另一种可能的情况下,服务器也可以基于本申请实施例提供的标注样本确定方法,综合考量未标注样本集合中各未标注样本的标注价值,以从未标注样本集合中选择一个或多个标注价值较高的未标注样本进行标注;在这种情况下,服务器可以针对未标注样本集合中每个未标注样本,从已标注样本样本集合中选择一个或多个已标注样本相应地组成一个或多个样本对。
可选的,为了保证所挑选出的未标注样本更具标注价值,能够更有效地扩展已标注样本集合的特征分布,本申请实施例提供的方法可以遍历组合未标注样本集合中各未标注样本和已标注样本集合中各已标注样本,从而得到多个样本对。例如,假设未标注样本集合中包括N个未标注样本,已标注样本集合中包括M个已标注样本,将已标注样本集合与未标注样本集合中的样本进行两两配对,最终将得到N*M个样本对。
当然,在实际应用中,服务器也可以采用其他方式将未标注样本与已标注样本组合起来得到样本对,例如,从已标注样本集合中随机选取若干个未标注样本,与某个特定的未标注样本组成样本对,等等。本申请实施例在此不对组成样本对的实现方式做具体限定。
应理解,在不同的应用场景下,上文中提及的未标注样本和已标注样本可以为任意类型的样本数据;例如,当所要训练的模型为图像处理模型时,上述未标注样本和已标注样本可以为图像样本;又例如,当所要训练的模型为文本处理模型时,上述未标注样本和已标注样本可以为文本样本。在保证未标注样本与已标注样本属于同一类型的样本数据的情况下,本申请实施例不对未标注样本和已标注样本具体所属的数据类型做任何限定。
步骤202:将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度。
服务器获取到包括未标注样本和已标注样本的样本对后,将样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,即将样本对中的未标注样本输入样本评估模型的一条支路,将已标注样本输入样本评估模型的另一条支路,经样本评估模型对输入的未标注样本和已标注样本进行分析处理,获取样本评估模型处理后生成的输出结果。
需要说明的是,上述样本评估模型用于确定两路输入的样本之间的相似度,即该样本评估模型可以确定输入的未标注样本与已标注样本之间的相似度,进而输出能够反映未标注样本与已标注样本之间的相似度的输出结果。
在一种可能的实现方式中,上述样本评估模型可以为孪生神经网络(Siamesenetwork),该孪生神经网络包括两个权重共享的分支,服务器获取到样本对后,可以将样本对中的已标注样本输入孪生神经网络的一条分支,将样本对中的未标注样本输入孪生神经网络的另一条分支;进而,获得孪生神经网络输入的损失(loss)值作为输出结果。
需要说明的是,孪生神经网络输出的损失值能够反映网络对于样本对中未标注样本与已标注样本的易混淆程度,损失值越大则说明网络越容易将输入的未标注样本与已标注样本混淆,即未标注样本与已标注样本之间的相似度越高,反之,损失值越小则说明网络越难将输入的未标注样本与已标注样本混淆,即未标注样本与已标注样本之间的相似度越低。
应理解,在不同的应用场景下,可以选择不同的网络结构作为样本评估模型的两个分支;例如,当所要训练的模型为图像处理模型时,即当未标注样本与已标注样本为图像样本时,可以选择包括两个权重共享的卷积神经网络(Convolutional Neural Network,CNN)的孪生神经网络模型作为样本评估模型;当然,也可以选择包括VGG(Visual GeometryGroup Network)、残差网络(Residual Network,ResNet)、DenseNet等网络结构的孪生神经网络作为样本评估模型,本申请在此不对孪生神经网络中包括的网络结构做具体限定。
当然,在实际应用中,除了可以采用孪生神经网络作为样本评估模型外,也可以采用其他类型的模型作为样本评估模型,本申请在此不对可以用作样本评估模型的模型类型做任何限定。
步骤203:根据所述输出结果确定所述样本对中的未标注样本的可用度。
服务器获取到样本评估模型输出的与样本对对应的输出结果后,根据该输出结果,确定该样本对中未标注样本对应的可用度,该可用度也可以被理解为未标注样本对应的标注价值,其能够表征未标注样本对应的标注价值的高低。
在一种可能的实现方式中,若服务器针对该样本对中的未标注样本仅构建了一个样本对,即不存在其他包括该未标注样本的样本对,则服务器可以直接将样本评估模型的输出结果作为该未标注样本对应的可用度。以样本评估模型为孪生神经网络为例,服务器可以直接获取该孪生神经网络输出的损失值表征该未标注样本对应的可用度。
在另一种可能的实现方式中,若服务器针对样本对中的未标注样本构建了多个样本对,即存在多个包括该未标注样本的样本对,则服务器可以获取这些样本对各自经样本评估模型处理后得到的输出结果,即在服务器利用样本评估模型完成对于这些样本对的处理后,获取这些样本对各自对应的输出结果,根据这些输出结果确定该未标注样本的可用度。
以样本评估模型为孪生神经网络为例,服务器利用孪生神经网络对包括同一未标注样本的各样本对进行处理,得到各样本对各自对应的损失值后,服务器可以对各样本对各自对应的损失值进行平均处理,进而将平均处理得到的结果作为该未标注样本对应的可用度。
应理解,在实际应用中,除了可以通过对包括同一未标注样本的各样本对各自对应的损失值进行平均处理,得到该未标注样本对应的可用度外,服务器也可以通过其他方式确定样本对中未标注样本的可用度,本申请在此不对确定可用度的实现方式做任何限定。
步骤204:当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
服务器确定出未标注样本对应的可用度后,可以判断该可用度是否满足预设条件,若满足,则说明该未标注样本的标注价值较高,可以将该未标注样本交由相关专家进行标注,反之,若不满足,则说明该未标注样本的标注价值较低,可以不对该未标注样本进行后续处理。
在一种可能的实现方式中,上述预设条件可以为固定的可用度衡量标准,若未标注样本对应的可用度超过该可用度衡量标准,则说明该未标注样本满足预设条件,相应地可以确定该未标注样本为需要标注的样本,反之,若未标注样本对应的可用度未超过该可用度衡量标准,则说明该未标注样本不满足预设条件,不能确定其为需要标注的样本。
以未标注样本的可用度为该未标注样本对应的损失值均值为例,上述预设条件可以设定为固定的均值阈值,若未标注样本对应的损失值均值大于该均值阈值,则说明该未标注样本满足预设条件,反之,若未标注样本对应的损失值均值小于或等于该均值阈值,则说明该未标注样本不满足预设条件。
在另一种可能的实现方式中,上述预设条件可以为针对排序结果设定的条件;具体的,服务器可以对多个未标注样本各自对应的可用度进行降序排序,设置前A(A为正整数)个可用度对应的未标注样本满足预设条件,反之排序不在前A个的可用度对应的未标注样本不满足预设条件。
仍以未标注样本的可用度为该未标注样本对应的损失值均值为例,服务器可以对多个未标注样本各自对应的损失值均值进行降序排序,进而,确定排序靠前的A个损失值均值各自对应的未标注样本满足预设条件,可以将这A个未标注样本确定为需要标注的样本。
应理解,上述根据未标注样本对应的可用度衡量其是否为需要标注的样本的方式仅为示例,在实际应用中,服务器还可以根据实际需求,采用其他方式基于未标注样本对应的可用度确定是否需要将该未标注样本交由相关专家标注,本申请在此不对该衡量方式做任何限定。
上述标注样本确定方法将成对学习引入样本选择过程中,在衡量未标注样本的标注价值时综合考虑已标注样本的特征,即利用样本评估模型对未标注样本和已标注样本进行特征提取和学习,进而基于二者的域内共性和域间差异性衡量未标注样本的标注价值。相比现有技术中按照预设的标准逐一衡量各未标注样本的标注价值衡量的方式,该方法基于未标注样本与已标注样本之间的相似度衡量未标注样本的可用度,在未标注样本与已标注样本之间具有较大差异的情况下,确定该未标注样本为需要标注的样本;由此有效地防止所选出的未标注样本与已标注样本相似,进而防止由标注后的未标注样本与已标注样本混合得到的训练样本集数据分布集中,即保证所选出的未标注样本均是训练模型时真正需要的样本,基于这些样本对模型进行训练能够保证训练得到的模型具有较好的模型性能。
此外,由于样本标注所需耗费的人工成本和时间成本均比较高,基于上述标注样本确定方法可以保证其选出的未标注样本均具有较高的标注价值,利用如此高标注价值的样本对模型进行训练,可以有效地减少训练模型时所需的标注样本数量,因而可以节约标注资源,即减少标注样本所需耗费的人工成本和时间成本。
应理解,在实际应用中,本申请实施例提供的标注样本确定方法能否准确地衡量未标注样本与已标注样本之间的相似度,主要取决于上述样本评估模型的工作性能,而样本评估模型的工作性能与该样本评估模型的训练过程密切相关。下面通过实施例对本申请实施例提供的样本评估模型的训练方法进行介绍。
参见图3,图3为本申请实施例提供的样本评估模型的训练方法的流程示意图。为了便于描述,下述实施例以服务器作为执行主体为例,对该样本评估模型的训练方法进行介绍。如图3所示,该方法包括以下步骤:
步骤301:获取训练样本集,所述训练样本集中的训练样本包括第一样本、第二样本和标注输入方式,所述标注输入方式用于表征训练样本中第一样本和第二样本的输入方式。
服务器对样本评估模型进行训练时,需要先获取包括大量训练样本的训练样本集,训练样本通常包括第一样本、第二样本和标注输入方式,该标注输入方式用于表征该训练样本中第一样本和第二样本对应的输入方式,即表征对待训练的样本评估模型进行训练时,第一样本具体输入该样本评估模型的哪个分支,第二样本具体输入该样本评估模型的哪个分支。
在一种可能的实现方式中,上述训练样本集中可以包括两类样本,即第一训练样本和第二训练样本;其中,第一训练样本包括未标注样本、已标注样本和第一标注输入方式,该第一标注输入方式用于表征未标注样本输入待训练的样本评估模型的第一分支,已标注样本输入待训练的样本评估模型的第二分支;第二训练样本包括已标注样本、未标注样本和第二标注输入方式,该第二标注输入方式用于表征已标注样本输入待训练的样本评估模型的第一分支,未标注样本输入待训练的样本评估模型的第二分支。
下面以待训练的样本评估模型用于处理图像样本为例,对上述第一训练样本和第二训练样本进行介绍。参见图4,图4为本申请实施例提供的样本评估模型的训练原理示意图。如图4所示,已标注样本集合中包括多张已标注的图像样本,未标注集合中包括多张未标注的图像样本,可以从已标注样本集合和未标注样本集合中分别选择一张已标注图像样本和一张未标注图像样本,组成第一训练样本和第二训练样本。第一训练样本中包括未标注图像样本、已标注图像样本以及第一标注输入方式Pattern1,该第一标注输入方式Pattern1用于表征对待训练的样本评估模型进行训练时,将未标注图像样本输入样本评估模型的第一分支,将已标注图像样本输入样本评估模型的第二分支;第二训练样本中包括已标注样图像样本、未标注图像样本和第二标注输入方式Pattern2,该第二标注输入方式Pattern2用于标注对待训练的样本评估模型进行训练时,将已标注图像样本输入样本评估模型的第一分支,将未标注图像样本输入样本评估模型的第二分支。
在上述实现方式的基础上,训练样本集中还可以包括另外两类样本,即第三训练样本和第四训练样本;其中,第三训练样本包括第一未标注样本、第二未标注样本和第三标注输入方式,该第三标注输入方式用于表征第一未标注样本输入待训练的样本评估模型的第一分支,第二未标注样本输入待训练的样本评估模型的第二分支;第四训练样本包括第一已标注样本、第二已标注样本和第四标注输入方式,该第四标注输入方式用于表征第一已标注样本输入待训练的样本评估模型的第一分支,第二已标注样本输入待训练的样本评估模型的第二分支。
仍以待训练的样本评估模型用于处理图像样本为例,获取训练样本集时,可以从未标注样本集合中选择两个未标注图像样本分别作为第一未标注图像样本和第二未标注图像样本,进而利用第一未标注图像样本和第二未标注图像样本组成第三训练样本;该第三训练样本中包括第一未标注图像样本、第二未标注图像样本以及第三标注输入方式Pattern3,该第三标注输入方式Pattern3用于表征对待训练的样本评估模型进行训练时,将第一未标注图像样本输入样本评估模型的第一分支,将第二未标注图像样本输入样本评估模型的第二分支。此外,还可以从已标注样本集合中选择两个已标注图像样本分别作为第一已标注图像样本和第二已标注图像样本,进而利用第一已标注图像样本和第二已标注图像样本组成第四训练样本;该第四训练样本中包括第一已标注图像样本、第二已标注图像样本和第四标注输入方式Pattern4,该第四标注输入方式Pattern4用于表征对待训练的样本评估模型进行训练时,将第一已标注图像样本输入样本评估模型的第一分支,将第二已标注图像输入样本评估模型的第二分支。
应理解,在实际应用中,服务器可以基于相关数据库获取上述训练样本集,以待训练的样本评估模型用于衡量医学图像之间的相似度为例,服务器可以从相关医院的医学图像数据库中获取图像样本,并邀请相关专家对部分图像样本进行标注得到已标注样本集合。当然,服务器也可以获取其他类型的样本作为已标注样本和未标注样本,本申请在此不对训练样本中包括的已标注样本和未标注样本的类型做任何限定。
步骤302:按照训练样本中的标注输入方式,将该训练样本中的第一样本和第二样本输入待训练的样本评估模型,获取所述待训练的样本评估模型输出的预测输入方式;所述待训练的样本评估模型用于根据输入的两个样本之间的相似度,预测两个样本对应的输入方式。
获取到训练样本集后,服务器可以按照训练样本中的标注输入方式,将训练样本中的第一样本和第二样本输入相应地待训练的样本评估模型对应的分支,进而获取经待训练的样本评估模型处理后输出的预测输入方式。
需要说明的是,上述待训练的样本评估模型为预先构建的模型,该模型具体可以为包括有两个权重共享的分支的孪生神经网络,该孪生神经网络的两个分支可以为CNN结构,也可以均为VGG、ResNet、DenseNet结构等。该待训练的样本评估模型可以对输入的第一样本和第二样本之间的相似度进行衡量,进而基于该相似度衡量结果预测第一样本和第二样本对应的输入方式。
以利用训练样本集中的第一训练样本对待训练的样本评估模型进行训练为例,如图4所示,服务器可以按照第一训练样本中的第一标注输入方式Pattern1,将其中的未标注样本输入待训练的样本评估模型的第一分支,将其中的已标注样本输入待训练的样本评估模型的第二分支;进而,由待训练的样本评估模型对输入的未标注样本和已标注样本进行分析处理,输出其预测的输入方式,即输出Pattern1或Pattern2,表示预测未标注样本和已标注样本是按照第一标注输入方式Pattern1输入的,或是按照第二标注输入方式Pattern2输入的。
应理解,当训练样本集中还包括第三训练样本和第四训练样本时,待训练的样本评估模型还可能通过对输入的两个样本进行分析处理,输出Pattern1、Pattern2、Pattern3和Pattern4中的任意一种输入方式。
步骤303:根据所述预测输入模式与该训练样本中的标注输入方式之间的偏差,对所述待训练的样本评估模型的模型参数进行迭代调整,直至所述待训练的样本评估模型处于收敛。
服务器获取到待训练的样本评估模型输出的预测输入方式后,根据该预测输入方式和训练样本中的标注输入方式之间的偏差,对待训练的样本评估模型的模型参数进行调整;如此,反复执行步骤302和步骤303,利用训练样本集中各训练样本对待训练的样本评估模型进行训练,基于其输出的预测输入方式与训练样本中的标注输入方式之间的偏差,对待训练的样本评估模型的模型参数进行迭代调整,直至该样本评估模型收敛为止。
以利用包括第一训练样本和第二训练样本的训练样本集进行模型训练为例,对样本评估模型的训练过程即为一个有监督的二分类任务,服务器可以利用binarycrossentropy函数进行监督,其表达式如式(1)所示:
其中,y
i表示待训练的样本评估模型输出的预测输入方式,
表示有监督信号,Pattern1对应的有监督信号为0,Pattern2对应的有监督信号为1。
具体判断上述待训练的样本评估模型是否收敛时,可以利用测试样本对第一模型进行验证,该第一模型是利用训练样本集中的训练样本对待训练的样本评估模型进行第一轮训练得到的模型;具体的,服务器将测试样本中第一样本和第二样本输入第一模型,利用该第一模型对输入的第一样本和第二样本进行相应地处理得到预测输入方式;进而,根据测试样本中的标注输入方式和第一模型输出的预测输入方式,确定该第一模型的预测准确率,当该预测准确率大于预设阈值时,即可认为该第一模型的工作性能较好已满足需求,可以确定该第一模型为满足训练结束条件的样本评估模型,即确定该第一模型已收敛。
此外,判断上述待训练的样本评估模型是否收敛时,还可以根据多轮训练得到的多个模型,确定是否继续对该样本评估模型进行训练,以获得工作性能最优的样本评估模型。具体的,可以利用测试样本分别对经多轮训练得到的多个样本评估模型进行验证,若确定各轮训练得到的样本评估模型的预测准确率之间的差距较小,则认为该样本评估模型的性能已没有提升空间,可以选取预测准确率最高的样本评估模型作为满足训练结束条件的样本评估模型,即确定预测准确率最高的样本评估模型收敛;若确定各轮训练得到的样本评估模型的预测准确率之间的差距较大,则认为该样本评估模型的性能还有提升空间,可以继续对该样本评估模型进行训练,直至获得性能最稳定且最优的样本评估模型。
需要说明的是,上述测试样本可以从训练样本集中获取,例如,可以按照预设比例,从训练样本集中抽取若干个训练样本作为测试样本。
上述样本评估模型的训练方法,利用所获取的训练样本集对预先构建的样本评估模型进行反复迭代训练,直至训练得到处于收敛状态的样本评估模型。如此,保证训练得到的样本评估模型具备较好的工作性能,在实际应用中,基于该样本评估模型可以准确地衡量输入的未标注样本与已标注样本之间的相似度。
为了便于进一步理解本申请实施例提供的标注样本确定方法,下面将本申请实施例提供的标注样本确定方法与主动学习框架融合起来,以本申请实施例提供的标注样本确定方法应用于选择需要标注的医学图像为例,对本申请实施例提供的标注样本确定方法做整体示例性介绍。
参见图5,图5为本申请实施例提供的主动学习框架的示意图。如图5所示,主动学习主要包括以下四部分:
1)从未标注医学图像样本集合中随机挑选部分未标注医学图像样本交由医生进行标注,进而,利用标注后的医学图像样本组成已标注医学图像样本集合。
2)利用已标注医学图像样本集合针对目标任务(如目标区域检测等)对预先构建的网络模型进行训练,从而获得一个初始网络模型。
3)采用本申请实施例提供的标注样本确定方法,从未标注医学图像样本集合中进一步选择对于训练模型有价值的医学图像样本,交由医生进行标注。
具体的,服务器将未标注医学图像样本集合中包括的未标注医学图像样本与已标注医学图像样本集合中的已标注医学图像样本进行两两配对,假设未标注医学图像样本集合中包括N个未标注医学图像样本,已标注医学图像样本集合中包括M个已标注医学图像样本,则将配对得到N*M个样本对。然后,将这N*M个样本对逐一输入作为样本评估模型的孪生神经网络中,经孪生神经网络处理,获得N*M个样本对各自对应的损失值。进而,分别确定每个未标注医学图像样本对应的可用度,针对某个未标注医学图像样本确定其对应的可用度时,服务器可以计算包含该未标注医学图像样本的M个样本对各自对应的损失值的均值,作为该未标注医学图像样本对应的可用度。最后,根据N个未标注医学图像样本各自对应的可用度,从中选择预设数目个未标注医学图像样本作为需要标注的医学图像样本,并将所选出的这些未标注医学图像样本交由医生标注。
完成对于这些未标注医学图像样本的标注后,将标注后的医学图像样本与原有的已标注医学图像样本集合融合,以得到新的已标注医学图像样本集合。
4)重复执行步骤2)和3),直至训练得到的模型在目标任务上不再有明显的性能提升为止。
对医学图像样本进行标注通常需要耗费大量的人工成本和时间成本,基于本申请实施例提供的标注样本确定方法,可以保证所选出的未标注医学图像样本均具有较高的标注价值,保证有效地利用医生标注资源;利用如此高标注价值的医学图像样本对模型进行训练,可以有效地减少训练模型时所需的标注样本数量,因而可以节约标注资源,即减少标注医学图像样本所需耗费的人工成本和时间成本。
针对上文描述的标注样本确定方法,本申请还提供了对应的标注样本确定装置,以使上述标注样本确定方法在实际中的应用以及实现。
参见图6,图6为上文图2所示的标注样本确定方法对应的一种标注样本确定装置600的结构示意图,该标注样本确定装置600包括:
获取模块601,用于获取样本对,所述样本对包括未标注样本和已标注样本;
处理模块602,用于将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度;
价值确定模块603,用于根据所述输出结果确定所述样本对中的未标注样本的可用度;
选择模块604,用于当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
可选的,在图6所示的标注样本确定装置的基础上,所述获取模块601具体用于:
获取未标注样本集合和已标注样本集合;
遍历组合所述未标注样本集合中的未标注样本和所述已标注样本集合中的已标注样本,得到多个所述样本对。
可选的,在图6所示的标注样本确定装置的基础上,所述样本评估模型为孪生神经网络;则所述处理模块602具体用于:
将所述样本对中的未标注样本和已标注样本分别作为所述孪生神经网络的两路输入,获得所述孪生神经网络输出的损失值作为所述输出结果。
可选的,在图6所示的标注样本确定装置的基础上,所述价值确定模块603具体用于:
获取包括所述未标注样本的多个样本对各自经所述样本评估模型处理后得到的输出结果;
根据所述多个样本对各自对应的输出结果,确定所述未标注样本的可用度。
可选的,在图6所示的标注样本确定装置的基础上,参见图7,图7为本申请实施例提供的另一种标注样本确定装置的结构示意图。如图7所示,该装置还包括:
样本获取模块701,用于获取训练样本集,所述训练样本集中的训练样本包括第一样本、第二样本和标注输入方式,所述标注输入方式用于表征训练样本中第一样本和第二样本的输入方式;
训练模块702,用于按照训练样本中的标注输入方式,将该训练样本中的第一样本和第二样本输入待训练的样本评估模型,获取所述待训练的样本评估模型输出的预测输入方式;所述待训练的样本评估模型用于根据输入的两个样本之间的相似度,预测两个样本对应的输入方式;
调整模块703,用于根据所述预测输入模式与该训练样本中的标注输入方式之间的偏差,对所述待训练的样本评估模型的模型参数进行迭代调整,直至所述待训练的样本评估模型处于收敛。
可选的,在图7所示的标注样本确定装置的基础上,所述训练样本集包括:第一训练样本和第二训练样本;
所述第一训练样本包括:未标注样本、已标注样本和第一标注输入方式;所述第一标注输入方式用于表征所述未标注样本输入所述待训练的样本评估模型的第一分支,所述已标注样本输入所述待训练的样本评估模型的第二分支;
所述第二训练样本包括:已标注样本、未标注样本和第二标注输入方式;所述第一标注输入方式用于表征所述已标注样本输入所述待训练的样本评估模型的第一分支,所述未标注样本输入所述待训练的样本评估模型的第二分支。
可选的,在图7所示的标注样本确定装置的基础上,所述训练样本集还包括:第三训练样本和/或第四训练样本;
所述第三训练样本包括:第一未标注样本、第二未标注样本和第三标注输入方式;所述第三标注输入方式用于表征所述第一未标注样本输入所述待训练的样本评估模型的第一分支,所述第二未标注样本输入所述待训练的样本评估模型的第二分支;
所述第四训练样本包括:第一已标注样本、第二已标注样本和第四标注输入方式;所述第四标注输入方式用于表征所述第一已标注样本输入所述待训练的样本评估模型的第一分支,所述第二已标注样本输入所述待训练的样本评估模型的第二分支。
上述标注样本确定装置将成对学习引入样本选择过程中,在衡量未标注样本的标注价值时综合考虑已标注样本的特征,即利用样本评估模型对未标注样本和已标注样本进行特征提取和学习,进而基于二者的域内共性和域间差异性衡量未标注样本的标注价值。该装置基于未标注样本与已标注样本之间的相似度衡量未标注样本的可用度,在未标注样本与已标注样本之间具有较大差异的情况下,确定该未标注样本为需要标注的样本;由此有效地防止所选出的未标注样本与已标注样本相似,进而防止由标注后的未标注样本与已标注样本混合得到的训练样本集数据分布集中,即保证所选出的未标注样本均是训练模型时真正需要的样本,基于这些样本对模型进行训练能够保证训练得到的模型具有较好的模型性能。
本申请实施例还提供了一种用于确定标注样本的设备,该设备具体可以是终端或服务器,下面将从硬件实体化的角度对本申请实施例提供的上述设备进行介绍。
本申请实施例还提供了一种设备,如图8所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为计算机为例:
图8示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图8,计算机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器880是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
在本申请实施例中,该终端所包括的处理器880还具有以下功能:
获取样本对,所述样本对包括未标注样本和已标注样本;
将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度;
根据所述输出结果确定所述样本对中的未标注样本的可用度;
当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
可选的,所述处理器880还用于执行本申请实施例提供的标注样本确定方法的任意一种实现方式的步骤。
本申请实施例还提供了另一种设备,该设备可以是服务器,图9是本申请实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。
其中,CPU 922用于执行如下步骤:
获取样本对,所述样本对包括未标注样本和已标注样本;
将所述样本对中的未标注样本和已标注样本分别作为样本评估模型的两路输入,获得所述样本评估模型的输出结果;所述样本评估模型用于确定两路输入的样本之间的相似度;
根据所述输出结果确定所述样本对中的未标注样本的可用度;
当所述可用度满足预设条件时,确定所述样本对中的未标注样本为需要标注的样本。
可选的,CPU 922还可以用于执行本申请实施例中标注样本确定方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种标注样本确定方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种标注样本确定方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。