一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

样本检测方法、样本检测装置、电子设备及存储介质与流程

2022-11-23 15:58:42 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种样本检测方法、样本检测装置、电子设备及存储介质。


背景技术:

2.目前,分布外样本(out-of-distribution,ood)检测是验证模型安全性和可靠性的重要方法。
3.相关技术中,需修改模型的网络结构来实现分布外样本的检测,从而增加了模型检测分布外样本的复杂度。


技术实现要素:

4.本公开实施例的主要目的在于提出一种样本检测方法、样本检测装置、电子设备及存储介质,能够在不修改模型网络结构的基础上,实现对模型分布外样本检测能力的优化,从而降低了模型检测分布外样本检测的复杂度。
5.为实现上述目的,本公开实施例的第一方面提出了一种样本检测方法,包括:
6.获取待检测样本;
7.将所述待检测样本输入至预先训练好的目标检测模型进行类别检测,得到目标检测值;其中,所述目标检测模型包括n层网络层,n为大于1的正整数,所述目标检测值是所述目标检测模型的最后一层网络层输出的值,所述目标检测值用于表征所述待检测样本的特征分布,所述目标检测模型的最后一层网络层为卷积层或池化层;
8.根据所述目标检测值从预设的样本参考集筛选出目标均值,根据所述目标均值从所述样本参考集中筛选出目标样本;其中,所述待检测样本是所述目标样本的分布外样本;
9.根据所述目标样本从样本参考集中筛选出标定类别;
10.将所述标定类别作为所述待检测样本的样本类别;
11.获取所述待检测样本与所述目标样本的距离参数;其中,所述距离参数用于表征所述待检测样本与所述目标样本之间的相似度;
12.根据所述距离参数计算置信度;
13.根据所述置信度和所述样本类别确定目标类别。
14.在一些实施例中,在所述将所述待检测样本输入至预先训练好的目标检测模型进行类别检测,得到目标检测值之前,所述样本检测方法还包括训练所述目标检测模型,具体包括:
15.根据预设的原始生成器生成图像数据;
16.将所述图像数据输入至预先训练好的原始检测模型进行处理,得到第一训练标签;
17.将所述图像数据输入至预设的标定检测模型进行训练处理,得到第二训练标签;
18.根据所述第二训练标签、所述第一训练标签对所述标定检测模型进行参数调整,
得到所述目标检测模型。
19.在一些实施例中,所述训练所述目标检测模型,还包括对所述目标检测模型进行迭代训练,具体包括:
20.根据第一训练标签对所述原始生成器进行参数调整,得到初步生成器;
21.根据所述初步生成器更新所述图像数据;
22.根据更新后的所述图像数据对所述目标检测模型进行迭代训练,直至所述目标检测模型满足预设的收敛条件,将所述初步生成器更新为目标生成器。
23.在一些实施例中,在所述根据所述目标检测值从预设的样本参考集筛选出目标均值,根据目标均值从所述样本参考集中筛选出目标样本之前,所述样本检测方法还包括构建所述样本参考集,具体包括:
24.将预设的随机样本输入至所述目标生成器进行处理,得到原始样本;
25.将所述原始样本输入至所述原始检测模型进行分类处理,得到原始类别;
26.将所述原始类别相同的多个所述原始样本作为样本集;
27.将所述样本集输入至所述目标检测模型进行类别检测,得到原始检测值;其中,所述原始检测值是所述目标检测模型的每一层网络层输出的值;
28.根据所述原始检测值获取所述网络层所在的层级,得到网络层级;
29.根据多个所述样本集、多个所述原始类别、多个所述原始检测值、多个所述网络层级构建所述样本参考集。
30.在一些实施例中,所述原始检测值包括原始均值;
31.所述根据所述目标检测值从预设的样本参考集筛选出目标均值,包括:
32.将所述目标检测值和标定均值进行求差计算,得到均值差;其中,所述标定均值为所述样本参考集中所述网络层级为最后一层的原始均值;
33.获取最小的所述均值差,作为目标差值;
34.根据所述目标差值从所述标定均值筛选出所述目标均值。
35.在一些实施例中,所述原始检测值还包括原始协方差矩阵;
36.所述获取所述待检测样本与所述目标样本的距离参数,包括:
37.将所述待检测样本输入至所述目标检测模型进行类别检测,得到样本均值和样本协方差矩阵;其中,所述样本均值是所述目标检测模型的第n层所述网络层输出的值,所述样本协方差矩阵是所述目标检测模型的第n层所述网络层输出的矩阵;
38.根据所述样本均值、所述样本协方差矩阵和所述样本参考集得到所述距离参数。
39.在一些实施例中,所述将所述待检测样本输入至预先训练好的目标检测模型进行类别检测,包括:
40.对所述待检测样本添加随机噪声,得到标定检测样本;
41.将所述标定检测样本输入至所述目标检测模型进行类别检测。
42.为实现上述目的,本公开实施例的第二方面提出了一种样本检测装置,包括:
43.样本获取模块,用于获取待检测样本;
44.均值计算模块,用于将所述待检测样本输入至预先训练好的目标检测模型进行类别检测,得到目标检测值;其中,所述目标检测值是所述目标检测模型的最后一层网络层输出的值,所述目标检测值用于表征所述待检测样本的特征分布,所述目标检测模型的最后
一层网络层为卷积层或池化层;
45.样本类别确认模块,用于根据所述目标检测值从预设的样本参考集筛选出目标均值,根据所述目标均值从所述样本参考集中筛选出目标样本;其中,所述待检测样本是所述目标样本的分布外样本;根据所述目标样本从所述样本参考集中筛选出标定类别;将所述标定类别作为所述待检测样本的样本类别;
46.置信度计算模块,用于获取所述待检测样本与所述目标样本的距离参数;其中,所述距离参数用于表征所述待检测样本与所述目标样本之间的相似度;根据所述距离参数计算置信度;
47.结果计算模块,用于根据所述置信度和所述样本类别确定目标类别。
48.为实现上述目的,本公开实施例的第三方面提出了一种电子设备,包括至少一个存储器;
49.至少一个处理器;
50.至少一个计算机程序;
51.所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
52.如第一方面实施例任一项所述的方法。
53.为实现上述目的,本公开实施例的第四方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
54.如第一方面实施例任一项所述的方法。
55.本技术实施例提供的样本检测方法、装置、电子设备及存储介质,通过目标检测模型获取待检测样本的目标检测值,并根据该目标检测值从样本参考集中筛选出与待检测样本特征分布趋势最接近的目标样本,以将该目标样本的标定类别最为待检测样本的样本类别,即对待检测样本的样本类别进行初步检测。而后,根据待检测样本与该目标样本的距离参数确定该初步检测的置信度,以最终确定待检测样本的目标类别。由此可知,本技术实施例提供的样本检测方法在保证目标检测模型原始分类能力的基础上,实现了对分布外样本检测能力的优化,并且避免了使用相关技术中通过对目标检测模型网络结构进行调整而达到优化效果的方法。
附图说明
56.图1是本技术实施例提供的样本检测方法的一流程示意图;
57.图2是本技术实施例提供的样本检测方法的另一流程示意图;
58.图3是本技术实施例提供的样本检测方法的另一流程示意图;
59.图4是本技术实施例提供的样本检测方法的另一流程示意图;
60.图5是本技术实施例提供的样本检测方法的另一流程示意图;
61.图6是本技术实施例提供的样本检测方法的另一流程示意图;
62.图7是本技术实施例提供的样本检测方法的另一流程示意图;
63.图8是本技术实施例提供的样本检测装置的模块框图;
64.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
65.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
66.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
67.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
68.首先,对本技术中涉及的若干名词进行解析:
69.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
70.分布外样本(out-of-distribution,ood):即与模型原始训练数据分布不一致的样本。在开放世界中,分类是验证模型安全性的重要方式,相关技术中的分类模型都是在一个封闭的世界中进行训练,即测试数据和训练数据都来自同样的分布(称作分布内,in-distribution)。假设利用一组猫、狗图片训练得到能够对猫、狗进行区分的分类器,当将该分类器模型部署在实际应用中时,会遇到一些不属于封闭世界类别的图片,例如老虎图片等。或者,遇到一些与训练图片存在视觉差异的图片,例如卡通猫图片等。在开放世界领域中,通常会使用以下几种训练任务:离群检测(outlier detection,od)、异常检测(anomaly detection,ad)、新类检测(novelty detection,nd)、开集识别(open set recognition,osr)、分布外检测(out-of-distribution detection,ood detection)。其中,分布外检测与新类检测类似,都是从测试集中找出不属于训练集中任何类别的“新类”样本,但分布外样本检测要求模型在保证原始分类性能的同时,拒绝语义偏移的样本(即分布外样本),以保证模型的可靠性和安全性。
71.生成对抗网络(generative adversarial nerworks,gan):是一种深度学习模型,归属于无监督学习。生成对抗网络通过框架中的至少两个模型(即生成器(generative model)和判别器(discriminative model))的相互博弈学习产生好的输出。目前,生成对抗网络主要应用于样本数据生成、图像生成、图像修复、图像转换、文本生成等方向。其中,生成器通过机器生成数据,生成器的训练目标是使所生成的数据能够尽可能让判别器判断错误,即使所生成的数据尽可能的接近真实数据;判别器的作用是判断数据是真实数据还是生成器生成的数据,判别器的训练目标是尽可能找出生成器生成的数据。例如,假设判别器输入参数是x,x表示数据,判别器输出的d(x)表示x为真实数据的概率。当d(x)=1时,表示
x100%是真实数据;当d(x)=0时,表示x不可能是真实数据。由此可知,生成器和判别器构成了一个动态对抗的过程,随着训练的进行,生成器所生成的数据将越来越接近真实数据,而判别器鉴别数据的能力也越来越高。在理想状态下,生成器能够生成逼近真实数据的数据,而判别器将难以判定生成器生成的数据是否为真实数据,此时d(x)=0.5。在实际应用中,生成对抗网络包括如下两个训练阶段:第一阶段,固定判别器,训练生成器;第二阶段,固定生成器,训练判别器。其中,第一阶段将使用性能较好的判别器,生成器不断生成“假数据”并输入至判别器进行判别。在初始阶段,生成器的性能较弱,即生成器生成的数据很容易被判别器判别出为“假数据”。但随着不断循环训练,生成器的性能不断提高,并最终生成逼近于真实数据的数据。通过第一阶段后,继续训练生成器的效果不佳,因此在第二阶段中,固定生成器,并不断训练判别器,以提升判别器的性能,使得判别器能够准确的判断出“假数据”。循环重复上述第一阶段和第二阶段,生成器和判断器的性能在迭代训练中不断提高,最终获取得到一个生成数据能够与真实数据分布一致的生成器。
72.知识蒸馏(knowledge distilling):是一种模型压缩技术,其通过将复杂、规模大的教师模型的“知识”“蒸馏”至规模较小的学生模型,使得学生模型具备教师模型的能力。当将学生模型部署至设备上时,能够降低对设备内存、cup等性能的要求,从而节省了计算资源。
73.马氏距离(mahalanobis distance):是一种距离度量,与欧氏距离、曼哈顿距离、汉明距离等一同被用作评定数据之间相似度的指标,但马氏距离可以应对高维线性分布的数据中各维度间非独立分布的问题。马氏距离可以看作是欧氏距离的一种修正,其修正了欧式距离中各个维度尺寸不一致且相关的问题。马氏距离是一种有效计算两个未知样本集的相似度的方法。
74.置信度:在统计学中,一个概率样本的置信区间(confidence inteval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果周围的程度。置信区间给出的是被测量参数测量值的可信程度范围,即前述“一定概率”,该概率即为置信度,也被称为置信水平。
75.相关技术中,分布外样本检测方法包括softmax-based、uncertainty、gennerative model、classifier等。在上述方法中,部分方法为了实现原始模型具备学习不确定性的性能,需对原始模型的网络结构进行修改,从而增加了对原始模型检测分布外样本的复杂度。
76.基于此,本技术实施例提供了一种样本检测方法、样本检测装置、电子设备及存储介质,能够在不修改模型网络结构的基础上,实现对分布外样本的检测,从而降低了模型检测分布外样本的复杂度。
77.本技术实施例提供的样本检测方法、样本检测装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的样本检测方法。
78.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
79.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
80.本技术实施例提供的样本检测方法、样本检测装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及有监督学习技术领域。本技术实施例提供的样本检测方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现样本检测方法等,但并不局限于以上形式。
81.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
82.参照图1,本技术实施例提供了一种样本检测方法,该样本检测方法包括但不限于有步骤s110至s180。
83.s110、获取待检测样本;
84.具体地,获取用于对目标检测模型进行分布外样本检测能力优化的待检测样本。可以理解的是,由于待检测样本用于对目标检测模型的分布外样本检测能力进行优化,因此待检测样本的类别应于目标检测模型原始训练数据的样本类别存在一定的差异,即待检测样本的特征分布应与原始训练数据的特征分布存在差异,待检测样本集的分布也应与原始训练数据集的分布存在差异。其中,待检测样本集包括多个待检测样本,原始训练数据集包括多个原始训练数据。例如,假设目标检测模型为具备猫、狗分类能力的模型,其原始训练数据集包括多张动物猫、动物狗的图片。因此,所获取的待检测样本应为不是动物猫、不是动物狗的图片,如为动物兔子图片等。和/或,待检测样本应与原始训练数据存在视觉差异,如为卡通猫图片、卡通狗图片等。
85.可以理解的是,在本技术实施例中,可以获取多张待检测样本,或一张待检测样本。当获取一张待检测样本时,待检测样本集中的样本个数即为1。
86.s120、将所述待检测样本输入至预先训练好的目标检测模型进行类别检测,得到目标检测值;其中,目标检测模型包括n层网络层,n为大于1的正整数,目标检测值是目标检测模型的最后一层网络层输出的值,目标检测值用于表征待检测样本的特征分布,目标检测模型的最后一层网络层为卷积层或池化层;
87.可以理解的是,为了保证分布外样本检测能力优化的有效性,目标检测模型应为已训练好的模型,即目标检测模型具备基础模型能力,如具备特定类别的分类能力,且模型
为收敛状态。其中,目标检测模型包括n层网络层,网络层为卷积层和池化层的统称,即该目标检测模型卷积层和池化层的层数总和为n,因此n为大于1的正整数。例如,当选用resnet18作为目标检测模型的网络结构时,目标检测模型包括十七层卷积层和一层全连接层。可以理解的是,目标检测模型的网络结构可以根据模型实际能力需求进行适应性设置,本技术实施例不作具体限定。
88.具体地,将待检测样本作为目标检测模型的输入数据,以通过目标检测模型对该待检测样本进行类别检测。在类比检测处理过程中,获取目标检测模型的最后一层网络层输出的值,将该值作为该待检测样本的目标检测值。可以理解的是,由于最后一层网络层为卷积层或池化层,目标检测值为对该最后一层网络层输出的值进行均值处理得到的值,因此目标检测值能够反映待检测样本的特征分布趋势。
89.s130、根据目标检测值从预设的样本参考集筛选出目标均值,根据目标均值从样本参考集中筛选出目标样本;其中,待检测样本是目标样本的分布外样本;
90.可以理解的是,预先设置样本参考集,该样本参考集包括多个原始样本、多个原始类别、多个原始检测值等,其中,原始样本、原始类别、原始检测值三者之间存在唯一映射关系。即原始类别用于表征原始样本的样本类别,原始检测值为目标检测模型,或与目标检测模型具有相同能力和网络结构的模型的最后一层网络层输出的均值。原始样本为与目标检测模型训练数据分布一致的样本,因此通过该样本参考集可以反映出目标检测模型原始训练数据的特征分布趋势。
91.具体地,将待检测样本的目标检测值与样本参考集中的多个原始检测值进行比对,以筛选出与目标检测值最接近的原始检测值。将筛选出的原始检测值作为目标均值,并将与筛选出的原始检测值存在映射关系的原始样本作为目标样本。可以理解的是,目标样本为样本参考集中与待检测样本特征分布趋势相似度最高的原始样本。因此,能够描述特征分布趋势相似度的方法,均可作为本技术实施例筛选目标检测值最接近的原始检测值的方法,对此本技术实施例不作具体限定。
92.s140、根据目标样本从样本参考集中筛选出标定类别;
93.具体地,从预设的样本参考集中筛选出与目标样本存在映射关系的原始类别,将该原始类别作为标定类别,即将与筛选出的原始检测值存在映射关系的原始类别作为标定类别。
94.s150、将标定类别作为待检测样本的样本类别;
95.具体地,将根据步骤s140筛选得到的标定类别作为目标检测模型对待检测样本的初步检测结果,即将该标定类别作为待检测样本的样本类别。
96.s160、获取待检测样本与目标样本的距离参数;其中,距离参数用于表征待检测样本与目标样本之间的相似度;
97.可以理解的是,在步骤s130中,虽筛选出了与待检测样本特征分布趋势相似度最高的目标样本,但考虑到各特征之间的联系,还需判断该待检测样本各特征与目标样本之间的相似度。因此,对待检测样本与目标样本进行距离计算,以得到距离参数。
98.s170、根据距离参数计算置信度;
99.可以理解的是,根据步骤s160得到待检测样本输入至目标检测模型进行类别检测时,每一层网络层提取出的特征与目标样本之间的相似度,即根据每一层网络层的输出值
计算得到对应的距离参数,从而根据n个距离参数和预设权重计算得到置信度。其中,每一个距离参数的预设权重都可以根据实际需要进行适应性设置,对此本技术实施例不作具体限定。
100.s180、根据置信度和样本类别确定目标类别。
101.可以的理解的是,置信度用于表征样本类别为待检测样本的目标类别的概率,当概率低于一定阈值时,表明目标类别为样本类别的概率较低,此时即可确定该待检测样本与目标检测样本的原始样本不为同类样本,即该待检测样本为原始样本的分布外样本。例如,假设目标检测模型为具备猫、狗分类能力的模型,原始样本包括多张动物猫、动物狗的图片,待检测样本为兔子图片。根据上述步骤得到初步检查结果为样本类别为猫,而置信度的计算值为0.1,此时即可确定该待检测样本为分布外样本,即既不是猫样本,也不是狗样本。
102.可以理解的是,通过步骤s110至步骤s180即可实现对目标检测模型的分布外样本检测能力的优化,即提高目标检测模型学习不确定性的能力,从而保证目标检测模型的安全性和可靠性。
103.本技术实施例提供的样本检测方法,通过目标检测模型获取待检测样本的目标检测值,并根据该目标检测值从样本参考集中筛选出与待检测样本特征分布趋势最接近的目标样本,以将该目标样本的标定类别最为待检测样本的样本类别,即对待检测样本的样本类别进行初步检测。而后,根据待检测样本与该目标样本的距离参数确定该初步检测的置信度,以最终确定待检测样本的目标类别。由此可知,本技术实施例提供的样本检测方法在保证目标检测模型原始分类能力的基础上,实现了对分布外样本检测能力的优化,并且避免了使用相关技术中通过对目标检测模型网络结构进行调整而达到优化效果的方法。
104.参照图2,在一些实施例中,在步骤s120之前,样本检测方法还包括:训练目标检测模型,具体包括但不限于有步骤s210至s240。
105.s210、根据预设的原始生成器生成图像数据;
106.s220、将图像数据输入至预先训练好的原始检测模型进行处理,得到第一训练标签;
107.s230、将图像数据输入至预设的标定检测模型进行训练处理,得到第二训练标签;
108.s240、根据第二训练标签、第一训练标签对标定检测模型进行参数调整,得到目标检测模型。
109.可以理解的是,相关技术中,除通过修改模型网络结构以实现分布外样本检测能力优化以外,部分方法还需要获取模型的原始训练数据。而在实际生产环境和应用环境中,原始训练数据往往难以获取。基于此,本技术实施例提供的样本检测方法还提供了一种目标检测模型的训练方法,即将原始检测模型作为教师模型,目标检测模型为已训练好的学生模型,从而避免了对原始检测模型网络结构的获取。并且,将原始检测模型作为生成对抗网络中的判别器,用于对原始生成器所生成的数据进行判别。在不断的循环训练后,原始生成器即可生成与原始检测模型的原始训练数据分布一致的数据集,从而解决了相关技术中无法获取原始训练数据的问题。以下,对目标检测模型的训练进行具体说明。
110.在一些实施例的步骤s210中,预设一个原始生成器,该原始生成器用于将一组向量转换为一定数量、一定大小的图像数据,例如转换为m个32
×
32的图像数据。可以理解的
是,转换为的图像数据的数量、大小可以根据实际需要进行适应性调整,本技术实施例不作具体限定。
111.在一些实施例的步骤s220中,将原始生成器生成的图像数据作为原始检测模型的输入数据,其中,原始检测模型为已经训练好的、原始需进行分布外样本检测能力优化的模型,但因原始检测模型的原始训练数据、网络结构难以获取,因此,将对原始检测模型进行知识蒸馏得到的目标检测模型作为分布外样本检测能力优化的对象。由此可知,当将原始生成器生成的图像数据作为原始检测模型的输入数据时,原始检测模型将输出与图像数据对应的第一训练标签,该第一训练标签用于表征图像数据真实为某一类别的概率,例如图像数据真实为猫的概率或为狗的概率。
112.在一些实施例的步骤s230中,原始生成器所生成的图像数据还作为目标检测模型的初始模型(即标定检测模型)的输入数据,标定检测模型根据该图像数据输出对应的第二训练标签,该第二训练标签用于表征图像数据被预测为某一类别的概率。
113.在一些实施例的步骤s240中,根据原始检测模型输出的真实值(即第一训练标签)与标定检测模型输出的预测值(即第二训练标签)计算该标定检测模型的损失值。根据该损失值对标定检测模型进行参数调整,从而得到分类能力与原始检测模型相同的目标检测模型。
114.具体地,根据如下式(1)计算得到损失值h(p,q)。
115.h(p,q)=-∑p(xi)log(q(xi))......式(1)
116.其中,p(xi)表示第i张图像数据的第二训练标签,q(xi)表示第i张图像数据的第一训练标签。
117.参照图3,在一些实施例中,训练目标检测模型还包括步骤:对目标检测模型进行迭代训练,具体包括步骤s310至s330。
118.s310、根据第一训练标签对原始生成器进行参数调整,得到初步生成器;
119.可以理解的是,原始检测模型与原始生成器构成生成对抗网络,其中,原始检测模型作为该生成对抗网络中的判别器,原始生成器作为该生成对抗网络中的生成器。由于原始检测模型为已训练好的模型,因此对原始生成器的训练阶段为生成对抗网络中的第一阶段,即固定判别器、训练生成器。根据原始检测模型已具备的判别性能(即判断图像数据的类别与原始训练数据的类别是否相同),对原始生成器进行训练,以使原始生成器生成能够“以假乱真”的数据,即生成能够与原始训练数据分布一致的图像数据。
120.具体地,将原始生成器所生成的图像数据作为原始检测模型的输入数据,原始检测模型根据该图像数据生成第一训练标签,该第一训练标签用于表征图像数据真实为某一类别的概率。可以理解的是,第一训练标签为使用softmax函数作为输出节点的激活函数得到的输出结果,根据该输出结果和交叉熵函数计算原始生成器的损失值,进而反向优化原始生成器,得到初步生成器。
121.s320、根据初步生成器更新图像数据;
122.可以理解的是,初步生成器在目标检测模型的每一轮迭代训练中,均能够根据原始检测模型的输出结果获得用于反向优化的损失值。初步生成器根据该损失值进行参数调整,以在下一轮迭代训练中生成更接近原始训练数据分布的图像数据,即在每一轮迭代训练中都对上一轮所生成的图像数据进行更新。更新后的图像数据将同时作为原始检测模型
和目标检测模型的输入数据,从而开启新一轮的迭代训练。
123.s330、根据更新后的图像数据对目标检测模型进行迭代训练,直至目标检测模型满足预设的收敛条件,将初步生成器更新为目标生成器。
124.可以理解的是,目标检测模型在每一轮新的迭代训练中都将获得原始生成器输入的更新后的图像数据,目标检测模型根据该更新后的图像数据和步骤s240所描述的方法进行模型调整优化,直至目标检测模型满足预设的收敛条件,如直至根据第一训练标签和第二训练标签计算得到的损失值的变化趋于稳定。此时,保存本轮迭代训练中的原始生成器,并将该原始生成器作为目标生成器。
125.参照图4,在步骤s130之前,本技术实施例提供的样本检测方法还包括步骤:构建样本参考集,具体包括但不限于有步骤s410至s460。
126.s410、将预设的随机样本输入至目标生成器进行处理,得到原始样本;
127.可以理解的是,在原始生成器与目标检测模型的同步优化训练过程中,将得到目标生成器,该目标生成器所生成的图像数据与原始检测模型的原始训练数据分布一致。随机生成一定数量的向量(即随机样本)作为该目标生成器的输入数据,以获取得到与原始训练数据分布一致的原始样本。
128.s420、将原始样本输入至原始检测模型进行分类处理,得到原始类别;
129.可以理解的是,利用原始检测模型对原始样本进行类别预测,得到与原始样本对应的原始类别。
130.s430、将原始类别相同的多个原始样本作为样本集;
131.可以理解的是,根据步骤s420得到的原始类别对多个原始样本进行分类,将具有相同原始类别的多个原始样本作为一组样本集。
132.s440、将样本集输入至目标检测模型进行类别检测,得到原始检测值;其中,原始检测值是目标检测模型的每一层网络层输出的值;
133.可以理解的是,按类别将原始样本输入至目标检测模型,即将具有相同原始类别的多个原始样本作为一组样本集,以样本集为单位作为目标检测模型的输入数据。目标检测模型包括n层网络层,获取样本集在每一层网络层输出的原始检测值。可以理解的是,原始检测值的类型可以根据样本参考集的功能进行选取。例如,当需从样本参考集中筛选出与待检测样本特征分布趋势最接近的原始样本(即目标样本)时,原始检测值的类型为均值。
134.s450、根据原始检测值获取网络层所在的层级,得到网络层级;
135.可以理解的是,获取用于计算原始检测值的每一个网络层所在的层级,将该层级作为网络层级,并将该层级与对应的原始检测值建立映射关系。
136.s460、根据多个样本集、多个原始类别、多个原始检测值、多个网络层级构建样本参考集。
137.可以理解的是,将相对应的样本集、原始类别、原始检测值、网络层级建立映射关系,从而构建得到样本参考集。以一组映射关系为例,在该组映射关系中,原始类别为将样本集作为原始检测模型的输入数据得到的输出结果,原始检测值xn为将样本集输入至目标检测模型时,第n层网络层输出的值,n的取值作为网络层级。因此,每一组映射关系均包括一个样本集、一个原始类别、n个原始检测值和n个网络层级。
138.参照图5,在一些实施例中,原始检测值包括原始均值,步骤s130包括但不限于子步骤s510至s530。
139.s510、将目标检测值和标定均值进行求差计算,得到均值差;其中,标定均值为样本参考集中网络层级为最后一层的原始均值;
140.可以的理解的是,为了从样本参考集中筛选出与待检测样本特征分布趋势最接近的原始样本(即目标样本),选取原始检测值的类型为均值。对应地,目标检测值的类型也为均值。因此,在一组映射关系中,每一个网络层级均映射一个原始均值。其中,将最后一层网络层,即将网络层级为n的网络层所映射的原始均值作为标定均值。将目标检测值与每一组映射关系的标定均值均进行求差计算,以得到多个均值差。
141.s520、获取最小的均值差,作为目标差值;
142.可以理解的是,将多个均值差中数值最小的均值差作为目标差值。
143.s530、根据目标差值从标定均值筛选出目标均值;
144.可以理解的是,获取与该目标差值存在映射关系的标定均值,将该标定均值作为目标均值。
145.可以理解的是,获取与该目标均值存在映射关系的样本集,将该样本集包括的原始样本作为目标样本。将该样本集映射的原始类别作为标定类别,也即作为待检测样本的初步检测结果。
146.参照图6,在一些实施例中,原始检测值还包括原始协方差矩阵,步骤s150包括但不限于有子步骤s610至s620。
147.s610、将待检测样本输入至目标检测模型进行类别检测,得到样本均值和样本协方差矩阵;其中,样本均值是目标检测模型的第n层网络层输出的值,样本协方差矩阵是目标检测模型的第n层网络层输出的矩阵;
148.可以理解的是,在根据样本参考集筛选出与待检测样本特征分布趋势最接近的目标样本的基础上,为了确定各特征之间的联系,可选用马氏距离对待检测样本与目标样本的距离参数进行计算。因此,样本参考集中的原始检测值还应包括原始协方差矩阵,即将样本集输入至目标检测模型以获取每一层网络层输出的原始均值的同时,也获取每一层网络层输出的原始协方差矩阵。此时,每一组映射关系均包括一个样本集、一个原始类别、n个原始均值、n个原始协方差矩阵和n个网络层级,其中,一个网络层级对应一个原始均值和一个原始协方差矩阵。
149.可以理解的是,将待检测样本作为目标检测模型的输入数据,以获取待检测样本在目标检测模型每一层网络层输出的样本均值和样本协方差矩阵。
150.s620、根据样本均值、样本协方差矩阵和样本参考集得到距离参数。
151.可以理解的是,根据步骤s610计算得到n个样本均值和n个样本协方差矩阵,并根据如下式(2)进行计算,即可得到该待检测样本在一层网络层中所提取出的特征与对应样本集的相似度(即距离参数d(x,y))。
[0152][0153]
其中,x表示样本均值,y表示对应样本集的原始均值,∑表示对应样本集的原始协方差矩阵。
[0154]
根据上述方法计算得到n个距离参数,从而根据预设权重和n个距离参数计算得到将样本类别作为待检测样本的目标类别的置信度,进而实现对分布外样本的检测。
[0155]
参照图7,在一些实施例中,步骤s120包括但不限于有子步骤s710至s720。
[0156]
s710、对待检测样本添加随机噪声,得到标定检测样本;
[0157]
具体地,对待检测样本增加任一种随机噪声,将添加随机噪声后的待检测样本作为标定检测样本。其中,随机噪声包括高斯噪声、随机变量等。可以理解的是,为了提高目标检测模型的鲁棒性,应保证输入至目标检测模型的多个待检测样本的随机噪声类型不同或大小不同。
[0158]
s720、将标定检测样本输入至目标检测模型进行类别检测。
[0159]
可以理解的是,将添加随机噪声后的标定检测样本作为目标检测模型的输入数据,以通过目标检测模型获取该标定检测样本在最后一层网络层输出的目标检测值,从而根据该目标检测值和样本参考集对该标定检测样本进行初步检测。
[0160]
本技术实施例提供的样本检测方法,首先通过知识蒸馏技术获取得到与原始检测模型具备相同检测能力的目标检测模型,避免了相关技术中无法获取原始检测模型网络结构的情况。并且,将该原始检测模型作为原始生成器的判别器,得到能够生成与原始检测模型的原始训练数据分布一致的目标生成器,避免了相关技术中无法获取原始检测模型原始训练数据的情况。其次通过构建样本参考集对目标检测模型进行初步检测判断,并通过马氏距离得到该初步检测判断结果的置信度,从而实现了对分布外样本的检测。由此可知,本技术实施例提供的样本检测方法,在保证目标检测模型的原始分类能力的基础上,无需对目标检测模型网络结构进行修改即可实现对分布外样本检测能力进行优化,从而提高了目标检测模型的安全性和可靠性。另外,目标检测模型作为原始检测模型的学生模型,其网络结构相较于原始检测模型更加简单,更利于部署在较低算力的设备上。
[0161]
参照图8,本技术实施例还提供了一种样本检测装置,该样本检测装置包括:
[0162]
样本获取模块810,用于获取待检测样本;
[0163]
均值计算模块820,用于将待检测样本输入至预先训练好的目标检测模型进行类别检测,得到目标检测值;其中,目标检测值是目标检测模型的最后一层网络层输出的值,目标检测值用于表征待检测样本的特征分布,目标检测模型的最后一层网络层为卷积层或池化层;
[0164]
样本类别确认模块830,用于根据目标检测值从预设的样本参考集筛选出目标均值,根据目标均值从样本参考集中筛选出目标样本;其中,待检测样本是目标样本的分布外样本;根据目标样本从样本参考集中筛选出标定类别;将标定类别作为待检测样本的样本类别;
[0165]
置信度计算模块840,用于获取待检测样本与目标样本的距离参数;其中,距离参数用于表征待检测样本与目标样本之间的相似度;根据距离参数计算置信度;
[0166]
结果计算模块850,用于根据置信度和样本类别确定目标类别。
[0167]
可见,上述样本检测方法实施例中的内容均适用于本样本检测装置的实施例中,本样本检测装置实施例所具体实现的功能与上述样本检测方法实施例相同,并且达到的有益效果与上述样本检测方法实施例所达到的有益效果也相同。
[0168]
本技术实施例还提供了一种电子设备,包括:
[0169]
至少一个存储器;
[0170]
至少一个处理器;
[0171]
至少一个程序;
[0172]
程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的样本检测方法。该电子设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,pda)、车载电脑等任意智能终端。
[0173]
参照图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0174]
处理器910,可以采用通用的中央处理器(central processing unit,cpu)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
[0175]
存储器920,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本公开实施例的样本检测方法;
[0176]
输入/输出接口930,用于实现信息输入及输出;
[0177]
通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0178]
总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
[0179]
其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。
[0180]
本技术实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述样本检测方法。
[0181]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0182]
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
[0183]
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0184]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0185]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0186]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0187]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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可以是单个,也可以是多个。
[0188]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0189]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0190]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0191]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序的介质。
[0192]
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献