一种基于小样本图像分类的元泛化网络系统的制作方法

文档序号:23617167发布日期:2021-01-12 10:27阅读:67来源:国知局
一种基于小样本图像分类的元泛化网络系统的制作方法

本发明属于图像分类领域,特别涉及一种基于小样本图像分类的元泛化网络系统。



背景技术:

从上个世界90年代起,人工智能就得到了学术届的关注,然而在早些时候人工智能技术并没有取得令人惊叹的发展。随着计算机技术的发展,一直到最近这些年,人工智能才在各个领域得到井喷式的发展。在图像领域,自alexnet在2012年被提出以来,卷积神经网络完善了在图像领域大放异彩。在识别,检测,分割等领域不仅取得了很好的学术成果,同时在实际应用中可以提供可靠的性能。如在无人驾驶中,waymo无人车感知的核心模块就是卷积神经网络,为无人车提供了类似人类的视野。在文本领域,谷歌提出的bert模型同样在多种任务上取得了超越人类的能力。在其他领域,deepmind发明的围棋模型阿尔法狗战胜了人类围棋最顶尖的选手。openai在dota游戏中的人工智能组队战胜了人类中的职业玩家。

上述模型在取得成功的同时,无不以大量训练数据驱动,广泛分布的数据使得模型在执行任务阶段表现的出色。而在现实中,标注大量数据需要耗费较多人力物力,在某些特定领域,数据本身极难获取,标注同样需要较为专业的知识。当标注的数据量受限,模型的性能立马就会下降。因此,越来越多的研究关注于小样本学习,小样本学习是只使用少量的标注数据也能取到较好的训练结果,将小样本学习与图像分类相结合是当前研究的一个重点。

在图像分类领域,首先需要提出单幅图像的特征,然后使用分类器对特征向量进行分类。卷积神经网络(cnn),通过被用来提取图像特征,cnn通过反向传播算法来更新权重,经过大量次迭代使模型获得可靠的分类能力。但是使用卷积神经网络的图像分离严重依赖训练数据的数量以及多样性,如果训练数据较少,且每个类别的图像几乎相似,那么训练出来的模型泛化性能会很差,分类结果往往不可靠。人类却可以通过极少量样本的学习来识别一类物体。例如人类在识别猫的时候,不需要大量不同种类猫的图片数据来学习,仅凭少量几张样本或基于以往的经验就可以识别出大量甚至是不同种类的猫。在这种背景下,小样本学习受到越来越多的关注,研究者们试图通过更少量的样本,学习出一个更智能泛化性能更好的模型。

小样本学习旨在通过少量的被标注样本,学习到一个泛化性能较好,可以应用多种场景。并且针对一个新任务,模型经过少量次数的重新训练,就能获得较高的性能。在以往的深度学习训练中,每当遇到新数据就要重新训练,上一次的学习经验并不能直接应用于新的任务。然而重新训练通常需要花费相当长的时间,尤其在数据比较少的情况下,模型经常会过拟合。



技术实现要素:

本发明文提出一种基于小样本图像分类的元泛化网络系统,小样本学习从更优的学习过程,更好的泛化能力等方向出发,使训练后的模型在小样本数据下表现较好。一个智能的模型应当像人类一样,能从小样本中汲取经验,并快速学习新任务。本文的研究重点就使通过小样本数据,来训练一个泛化性能较好的模型,并且能快速适应多种新任务。

为实现上述目的,本发明提供了如下方案:

本发明公开了一种基于小样本图像分类的元泛化网络系统,包括:

内部循环系统和外部循环系统;

所述内部循环系统包括:

特征提取器单元,通过原始图像数据得到所述原始图像数据的特征向量,并根据特征向量生成特征图;

余弦分类器单元,用于将所述特征图进行分类,得到分类结果;

损失值计算单元,根据所述分类结果计算损失值,并将所述损失值反向传播到所述特征提取器单元和所述余弦分类器单元;

所述外部循环系统包括:所述特征提取器单元、分类器权重初始化单元、所述余弦分类器单元、所述损失值计算单元、平均损失值计算单元;

所述分类器权重初始化单元用于为余弦分类器单元提供分类权重;

所述损失值计算单元还用于将所述损失值传输至所述平均损失值计算单元;

所述平均损失值计算单元用于根据所述损失值计算平均损失值,并将所述平均损失值反向传播到所述权重分类器单元。

所述特征提取器单元为一个卷积神经网络;

所述卷积神经网络包括:残差单元、全局池化单元、第一全连接单元、relu函数单元、第二全连接单元、sigmoid单元、缩放单元。

所述元泛化网络系统还包括样本输入单元;

所述样本输入单元用于将样本训练集输入到所述元泛化网络系统进行训练;

所述样本输入单元包括内部样本输入单元和外部样本输入单元;

所述内部样本输入单元与所述内部循环系统连接;

所述外部样本输入单元与所述外部循环系统连接。

所述内部样本输入单元将所述样本训练集的批样本输入到所述内部循环系统。

所述外部样本输入单元将所述样本训练集的每类随机样本输入到所述外部循环系统。

所述分类器权重初始化单元包括权重生成器;

所述权重生成器,将所述原始图像数据编码到潜空间,从所述潜空间解码出相应的分类权重;将所述权重应用于所述余弦分类器单元。

所述权重生成器通过类原型来生成所述分类器权重初始化单元的权重;

所述类原型在protonet中提出,是同一个类别中所有特征向量的平均值,用所述平均值代表整体类别。

所述权重生成器包括支持集单元、模型单元、权重单元;

所述支持集单元具有n个分类任务,通过所述模型单元,生成n个权重单元;

所述权重单元为所述分类权重。

本发明公开了以下技术效果:

本发明通过对小样本图像分类问题的研究,将度量学习和元学习两种方法相结合,设计了包含元骨干网络和自适应分类器的模型,并且提升了这类任务在数据集上的精度,同时也为之后的研究提供了一些思路。

附图说明

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

图1是本发明的元骨干网络的结构及训练时迭代一次的示意图;

图2是基于类原型的权重生成器示意图;

图3是本发明权重生成原理示意图;

图4是本发明卷积结构的展示。

具体实施方式

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

本申请致力于小样本图像分类的前过程,即图像的特征提取,分类器权重的产生,以及相关的学习算法。

在图像分类前,从图像中提取到的特征很大程度上决定了分类结果。为提高提取特征的能力,卷积神经网络从最开始的卷积核的堆叠,发展到目前更复杂的结果,然而这些改进的卷积神经网络只在大数据集上进行测试与对比,在小样本数据下的表现未有相应对比。传统的经验认为小样本数据应该使用参数较少的模型,即较为简单的卷积神经网络,否则容易产生过拟合。为此,本文通过搭建可堆叠的特征网络设计出一组完善的对比实验,验证了这种经验是错误的,并提供了一种选取特征提取器的依据,确定了元骨干网络中的特征提取器。

同样在图像分类前,分类权重也很大程度影响了分类结果。对于小样本图像分类任务,介于极少量的训练数据,通常很难从随机初始化的权重中训练出具有较好泛化能力的分类权重。因此,预先训练一个针对分类器的权重生成器,然后对每一个新任务生成初始权重是必要的。基于生成的权重,接着利用任务中的数据进行训练,从而提升了训练效果。在先前的研究中,通过训练一个自编码解码模型来进行权重生成,其训练后权重的泛化性能有所提高,测试结果的方差更小。然而这一方法模型复杂,映射关系较为抽象。因次,本文提出了一种更简单高效的权重生成器,其从训练数据到权重的映射路径更清晰,同时在实际运用中取得了更好的结果。

为实现上述目的,本发明提供了如下方案:

如图1-4所述,本发明公开了一种基于小样本图像分类的元泛化网络系统,包括:

内部循环系统和外部循环系统;

所述内部循环系统包括:

特征提取器单元,通过原始图像数据得到所述原始图像数据的特征向量,并根据特征向量生成特征图;

余弦分类器单元,用于将所述特征图进行分类,得到分类结果;

损失值计算单元,根据所述分类结果计算损失值,并将所述损失值反向传播到所述特征提取器单元和所述余弦分类器单元;

所述外部循环系统包括:所述特征提取器单元、分类器权重初始化单元、所述余弦分类器单元、所述损失值计算单元、平均损失值计算单元;

所述分类器权重初始化单元用于根据所述特征图的权重值进行分类;

所述损失值计算单元还用于将所述损失值传输至所述平均损失值计算单元;

所述平均损失值计算单元用于根据所述损失值计算平均损失值,并将所述平均损失值反向传播到所述权重分类器单元。

为了提高小样本学习在新数据上的泛化能力,以及模型快速适应新任务,本发明设计了元骨干网络。元骨干网络包括两个部分,一个是特征提取器(featureextractor),一个是权重生成器(classifierweightinitializer)。图1为元骨干网络的结构及训练时迭代一次的示意图,除了损失(loss)方块,其余图形都表示一个模型,为元泛化网络的组成部分。图中带箭头的线表示输入的方向,将线头末端的数据输入到箭头的指向的模型中。黑色带箭头的线表示在内循环中运行,虚线带箭头的线表示在外循环中运行,内循环在一次迭代中反复多次,在带箭头的线段中,直线表示前向传播,曲线表示反向传播。在元泛化网络的训练过程中使用的是传统分类器,在测试过程中使用自适应间隔分类器。图中最左侧,由小长方形组成大的长方形代表训练数据。处于内循环中的训练数据是从训练集随机采样的,只在内循环的开始前采样一次,用于训练元泛化网络。数据的大小即为batchsize的大小,数据的总是是固定的,但是数据所属的类别是随机的。在一次采样中,会出现某个类别占的比例大而另一个类别未出现的情况。位于外循环的训练数据同样是从训练集随机采样的,但是这一个过程中的类别是固定的,即每个类别采样的训练数据个数是固定的。这些数据被用来在外循环中生成分类器的权重,其被输入到权重生成器中,并且只在外循环中采样一次。

针对特征提取器,本发明提供了一种在小样本学习选取特征提取器的标准,卷积神经网络是当前解决计算视觉问题的基础模型,然而卷积神经网络又是多种多样的,如何在一个问题中选取最佳的卷积神经网络是非常关键的。在传统的深度学习图像分类问题中,在测试上准确率高就可以证明神经网络更高效。而在小样本学习中,有多个因素会影响模型在测试集上的表现。影响卷积神经网络性能的因素很多,如卷积结构的设计,卷积网络的空间拓扑结构,深度因子宽度因子等。不同的卷积结构对图像中局部信息的提取能力也不同,通常结构越复杂,提取信息的能力就越强。网络的拓宽结构为卷积结构在空间中的组合,不同的组合构成了卷积神经网络提取特征图中信息能力的差异。深度因子指cnn的层数,层数越多,所提取的特征信息量越大。宽度因子指在一层中并行的卷积结构数量,而不是指通道数。

在表3-1中展示了不同的卷积神经网络在imagenet上的表现。最左侧为不同的卷积神经网络,其不同点包括网络的拓扑结构,深度,宽度,卷积核的大小等。params代表各个模型参数量的大小,模型越复杂其参数越多。最右侧为模型在测试集上的准确率,top-1acc代表只取概率最高的一个结果,若与真实值相同,则判断为分类正确。top-5acc代表取概率最高的5个结果,若真实值在其中,则判断为分类正确,top-5acc分类的结果通常高于top-1acc。表3-1如下:

表3-1

从表中可以得出如下结论:1.卷积神经网络的参数越多,一般提取特征的能力越好,在测试数据上的表现越好;2.卷积神经网络的结构越高效,提取特征的能力越强,在测试数据上的表现也越好。

针对权重生成器,本发明在先前其他研究的基础上,设计了一种更高效的权重生成器,用于生成分类的初始权重。一个初始化较好的权重可以加速模型的训练,同时可以让模型在测试集上获得更好的准确率。权重生成器在训练时相当于保存了以往初始化分类器在其他任务上的经验,当有一个新任务时,权重生成器就可以利用训练后的结果给出更好的初始化权重。更为重要的是,一个随机初始化的权重通常需要大量的迭代训练才能很好的适应测试集数据,而在小样本学习中,由于带标签的数据受限,大量的迭代训练通常导致过拟合。因此,通过一种方式先产生泛化性能较好的分类,然后通过少量的迭代就使模型适应测试集数据是非常有必要的。权重生成器的存在提高了模型在任务上的泛化性能。

模型的权重也被称为模型的参数,在深度学习模型中,权重是使模型具有相应能力的关键因素。权重的变化可以引起模型表现的变化,如过拟合,欠拟合。在以往的深度下学习中,大部分研究专注于权重初始化,即如何初始化一个更好的权重,使模型训练变的更容易。权重初始化则是先给定一个分布,在这个分布中采样出初始化权重。然而权重初始化在不同的训练任务中互不相干,下一次并不能借鉴上一次训练的经验。

在小样本学习中,由于训练与测试都是基于任务的,在测试时对每个任务重新训练,这种方式使额外训练一个模型来生成适应于新任务的权重变得可能。为了更高效的训练新的少量数据的任务,权重生成器被引入小样本学习中。权重生成与权重初始化类似,都是对初始权重的赋值。但不同点是权重生成是先训练一个模型,然后由模型输出初始权重。权重生成器借鉴以往学习经验使得模型可以快速适应新任务,使模型在不同数据上的训练经验是可以相互借鉴的。

图3为小样本图像分类学习中权重生成的原理展示。通过模型将原始的训练数据映射到特征空间,然后输出权重。在生成的过程中,训练数据指任务中的supportset,生成的是分类器的权重。对于n分类任务,权重生成器会生成对应n个类别的分类权重。

基于自编码的权重生成器是先将原始数据编码到潜空间,然后从潜空间解码出相应的权重。模型首先将训练数据进行编码,投影到潜空间,得到潜特征向量z的分布,其中z~n(μ,σ)。得到z后,接着从潜空间中解码出分类器的权重w,解码的方式与编码类似,也是先得到权重分布的均值μ和标准差σ,再从分布中采样出w。

在训练自编码模型的权重生成器时,使用了元学习的训练方法,在内循环中训练权重权重生成器,并将自编码解码的中间变量看作权重的隐变量,然后对其进行梯度下降。具体训练步骤如下:

步骤1.利用特征提取器和关系模型对任务中的supportset进行编码,然后得到向量z;

步骤2.利用解码器将z解码,然后得到初始的分类权重;

步骤3.进入到内循环中;

步骤4.利用supportset和分类器进行分类,并计算损失;

步骤5.利用上一步得到的损失对z执行随机梯度下降;

步骤6.利用解码器将z解码,然后得到新分类权重;

步骤7.重新进入内循环,反复指定次数后退出内循环;

步骤8.利用内循环中最后得到的分类权重和queryset计算新的损失。

在对上面提到的权重生成器研究的基础下,本申请提出了一种更简洁高效的权重生成器,使用每一类别的类原型作为输入,模型直接输出对应类的权重。本文的方法相比leo中的权重生成器,去掉了潜空间的转化以及对分布的学习。通过学习类原型到权重的直接映射关系,使得学习更加容易,训练速度也得到了提高,最终的结果也显著优于leo中的权重生成器。

本申请使用类原型来生成分类器的权重,而不是使用类似relationnet的结构。类原型的概念在protonet中提出,是同一个类别中所有特征向量的平均值,用这个值来近似的代表整体类别。通过比较类原型与待分类样本之间的距离,使小样本数据下的分类更加容易。本文提出的权重生成器也是通过类原型来生成特定类别的分类权重,具体定义如下:

其中wi代表第i类的权重,x代表原始的图像数据。模型首先利用特征提取器提取特征向量,然后求平均值得到类原型,输入到中,最终从中输出对应类别的权重。如图2所示,图中顶端的输入代表同一类别的原始图像数据,经过特征提取器提取向量后产生类原型。然后将这一类别的类原型输入到权重生成器中,再由权重生成器输出这一类别的分类权重。在训练时,对于单个类别来说,每次从中随机选取k个样本用于生成权重。在一个任务中,如果有n个类别,那么权重生成器就会输出n个初始权重,应用于分类器中。

对比leo中的权重生成,本申请的权重生成方法使用的原理简单,映射关系也更明了,运行时的速度更快。分类权重与图像的特征向量在特征空间中一定程度上是相关的,因此,首先利用类原型代表这一个类别的特征向量,这样就简化了特征向量与分类权重之间的关系。其次,特征向量与分类权重的关系在特征空间中更多的是一种变换关系,比如,通过类原型特征向量的旋转加平移就可以得到这一个类别的分类权重。因此,本文利用了全连接层来学习这种关系,并且在最后的实验中也证明了这种方法的有效性。

以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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