本发明属于深度学习技术领域,特别是涉及一种多类中心的分类网络模型的设计方法。
背景技术:
随着深度学习技术的快速发展,相关技术已经在很多领域得到了广泛应用。其中在机器视觉领域而言主要包含有:目标检测、目标分类、图像分割等重点应用。而目标分类其任务就是为确认图像中的目标所属的类别,是机器视觉领域的核心问题之一,也是机器视觉中理解图像内容中的重要一环。
通常的目标分类任务都是采用cnn fc(fullyconnected,全连接) softmax的处理框架。如附图1中所示,主要包括:输入图像、特征提取(cnn)、全连接(fc)、损失函数(softmax)。这种cnn fc softmax的处理框架在面对常规的分类任务时都还是比较有效的。尤其在面对那些具有明显聚类中心的数据集的时候。如常用的人脸识别数据集,每一个人的特征图片都是有一个比较显著的聚类中心。通过训练cnn使得属于同一分类的目标图像的特征向量聚合在一起。同一类的特征都有聚合在一个类中心附近,和别的分类具有明显的分界线。
但是,通用处理框架存在一个明显不足,那就是在面对一些具有多样性特征的分类任务数据集时效果不太理想。我们结合cnn fc softmax处理框架的特性,分析模型性能退化的主要原因。发现这些都和“类内聚合,类间分离”这个特性有关。因为,如objectnet数据集中的每一个分类的图像数据可能都是对同一个物体在多个不同角度多种不同姿态下的采样结果。也就是说,一个目标都具有多种不同的表现特征。如果按照当前常用的分类方法,那么“类内聚合,类间分离”的特性势必会使这些本来差异很大的特征聚拢到同一个中心区域去。这样显然不能很好的表现出数据集中原有的特征多样性。通用方法的主要缺点列举如下:
缺点1、强制拉拢,训练难度大,不容易收敛;
缺点2、导致训练结果过拟合,损失有效特征,记忆无效噪声;
缺点3、训练得到的聚类中心和实际情况偏差较大,导致模型性能下降。
现提供一种多类中心的分类网络模型的设计方法,针对cnn fc softmax框架在处理那些特征多样性强的分类数据集时模型性能下降的问题。
技术实现要素:
本发明的目的在于提供一种多类中心的分类网络模型的设计方法,通过借鉴混合高斯模型的思想,提出一种给每一个分类设定多个聚类中心的方法,并且采用最优值选择机制,让同一类中的特征差异较大的各张不同图片都可以向着一个对它来说最合适的特征中心点去聚拢,提升训练的速度,保留了各分类的多样性特征,改善了模型性能下降的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种多类中心的分类网络模型的设计方法,包括如下步骤:
s1:设计一个多类中心的分类网络模型:
s11:为每一个分类设定多个类中心;在cnn特征提取网络后,连接一个多路并联的fc组,每一路fc层的权值矩阵的行向量就是一个类中心,就是说每一个分类对应多路fc层中的多个行向量,也就有了多个类中心;
s12:在多路并联的fc组之后,加入一个多路选择器;以输出值的概率预测值的大小作为挑选的依据,在各个fc通路的同行位置的输出值之间,挑选概率预测的最大值作为这个样本的预测概率;
s13:将多路选择器挑选后的预测概率(fc输出值),拼成一个输出概率向量,送给损失函数中去进行误差计算;在反向误差传递时,所述多路选择器同样的做误差过滤,即仅被选中的那一个fc通路需要传递误差,没有选中则不传递误差;
s2:优化损失函数的设计,将类中心距离作为额外的惩罚项增加到损失函数的计算中;
s21:在前向计算过程中,动态统计类内各中心点的聚合半径;
s22:以聚合半径为阈值,当类内各中心之间距离小于该聚合半径时,将其作为惩罚项加入到损失函数中,可以驱使类内各中心点分离,防止粘连在一起,增加了类特征的丰富性趋势,同时也增加了模型的可分性和可判性。
进一步地,所述分类网络模型的模型框架包括特征提取网络、全连接组、多路选择器、损失函数。
进一步地,所述步骤s21中前向计算过程为:
s211:对输入样本进行预处理;
s212:预处理后的图像数据输入特征网络模型,计算对应的特征向量;
s213:将特征向量同时送入并联的多路fc层和多路fc的行向量进行计算内积值;
s214:将步骤s213中的向量内积的计算值,送入多路选择器,挑选合适的类中心;特征向量和fc行向量的内积的输出值就是作为所属分类的预测概率;多路选择器采用从这些并联的fc输出值中选最大值作为这个fc组的输出代表;被选中的最大值所对应的这路fc的行向量就是作为最合适该样本的类中心;
s215:将所有被选中的各路fc的输出值混合一起,作为所述多路fc组的输出向量,送入损失函数中去进行误差计算。
进一步地,所述步骤s13中反向误差传递过程为:
s131:通过输入标签和步骤s215中的多路fc组的输出向量,利用交叉熵损失函数来计算误差;
s132:当误差反向传递通过多路选择器时,同前向计算过程中一样,该多路选择器对误差信息进行过滤,仅传递在前向过程中被选中的那一路fc行向量所对应的误差,没有选中的那路fc行向量的误差则不传递。
进一步地,所述步骤s12中,以概率预测最大值所对应的那路fc行向量,作为当前样本的类中心。
本发明具有以下有益效果:
本发明针对cnn fc softmax框架在处理那些特征多样性强的分类数据集时模型性能下降的问题,借鉴混合高斯模型的思想,提出一种给每一个分类设定多个聚类中心的方法,并且采用最优值选择机制,让同一类中的特征差异较大的各张不同图片都可以向着一个对它来说最合适的特征中心点去聚拢,本发明中的这种设计方法,提升训练的速度,保留了各分类的多样性特征,改善了模型性能下降的问题。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为常规的框架处理的流程示意图;
图2为本发明所提出的多类中心处理框架的流程示意图;
图3为本发明所提出的多路选择器和误差传递示意图;
图4为本发明所提出的优化损失函数的惩罚项的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅附图2至附图4所示,本发明为一种多类中心的分类网络模型的设计方法,针对cnn fc softmax框架在处理那些特征多样性强的分类数据集时模型性能下降的问题。
具体实施方式一:
一种多类中心的分类网络模型的设计方法,包括如下步骤:
s1:设计一个多类中心的分类网络模型,模型框架如附图2所示,分类网络模型的模型框架包括特征提取网络(cnn)、全连接组、多路选择器、损失函数:
s11:为每一个分类设定多个类中心;在cnn特征提取网络后,连接一个多路并联的fc组,每一路fc层的权值矩阵的行向量就是一个类中心,就是说每一个分类对应多路fc层中的多个行向量,也就有了多个类中心;常用的特征提取网络有:resnet、inception、densenet等很多种类型,并且每种类型又有很多个版本,可以根据需要处理的任务的规模选择特征提取网络,根据具体任务特点,选择类中心的数量。例如,挑选resnet18_v1,最后输出的特征向量的维度为512,在本例中选择3个中心,这样,就得到了如附图2所示的网络模型,即在cnn之后并行连接了3个fc层;
s12:在多路并联的fc组之后,加入一个多路选择器;以输出值的概率预测值的大小作为挑选的依据,在各个fc通路的同行位置的输出值之间,挑选概率预测的最大值作为这个样本的预测概率,以概率预测最大值所对应的那路fc行向量,作为当前样本的类中心;
s13:将多路选择器挑选后的预测概率(fc输出值),拼成一个输出概率向量,送给损失函数中去进行误差计算;在反向误差传递时,所述多路选择器同样的做误差过滤,即仅被选中的那一个fc通路需要传递误差,没有选中则不传递误差。
具体实施方式二:
优化损失函数的惩罚项,将类中心距离作为额外的惩罚项增加到损失函数的计算中;
s21:在前向计算过程中,动态统计类内各中心点的聚合半径,如附图4所示,本例中使用余弦距离作为远近的衡量指标;
s22:以聚合半径为阈值,当类内各中心之间距离小于该聚合半径时,将其作为惩罚项加入到损失函数中,可以驱使类内各中心点分离,防止粘连在一起,增加了类特征的丰富性趋势,同时也增加了模型的可分性和可判性,惩罚项计算公式为:
其中,n表示目标分类数,li.g12,li.g23,li.g13分别为本例中的3个类中心的各自的惩罚项。
如附图4所示,dwi.g1为动态统计的第1路fc通道的类中心点(wi.g1)的聚合距离(虚线弧线);wi.g1表示fc组中的第一路fc通道的到第i行的行向量;同理,dwi.g2表示第2路fc通道的类中心点(wi.g2)的聚合距离,dwi.g1*wi.g2为如附图4中所示,两个类中心之间的距离(实线弧线);式3和式4中的含义和式2一致,θi.g1表示统计得到的所有归属于到第1组的第i分类中心的那些样本的角度区间,θi.g2同理上,表示统计得到的所有归属于到第2组的第i分类中心的那些样本的角度区间,θij表示第1组的第i分类中心和第2组的第i分类中心之间的向量夹角。
具体实施方式三:
训练网络模型:
前向计算过程为:
s211:对输入样本进行预处理,如:图像增强和归一化处理;
s212:预处理后的图像数据输入特征网络模型,计算对应的特征向量;
s213:将特征向量同时送入并联的多路fc层和多路fc的行向量进行计算内积值;如附图3所示特征向量和fc权值矩阵的运算,每一个fc权值矩阵的每一行行向量都是作为一个分类的类中心;
s214:将步骤s213中的向量内积的计算值,送入多路选择器,挑选合适的类中心;如附图3所示,特征向量和fc行向量的内积的输出值就是作为所属分类的预测概率,具体的附图3所示,全连接矩阵.组1(g1),类1、类i、类n对应的权值行向量_w1、wi、wn,全连接矩阵.组2(g2),类1、类i、类n对应的权值行向量_w1、wi、wn;对应的第i类的预测概率为
s215:将所有被选中的各路fc的输出值混合一起,作为所述多路fc组的输出向量,送入损失函数中去进行误差计算。
反向误差传递过程为:
s131:通过输入标签和步骤s215中的多路fc组的输出向量,利用交叉熵损失函数来计算误差;
s132:当误差反向传递通过多路选择器时,如附图3所示,同前向计算过程中一样,该多路选择器对误差信息进行过滤,仅传递在前向过程中被选中的那一路fc行向量所对应的误差,没有选中的那路fc行向量的误差则不传递。
本发明针对cnn fc softmax框架在处理那些特征多样性强的分类数据集时模型性能下降的问题,借鉴混合高斯模型的思想,提出一种给每一个分类设定多个聚类中心的方法,并且采用最优值选择机制,让同一类中的特征差异较大的各张不同图片都可以向着一个对它来说最合适的特征中心点去聚拢,本发明中的这种设计方法,提升训练的速度,保留了各分类的多样性特征,改善了模型性能下降的问题。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
1.一种多类中心的分类网络模型的设计方法,其特征在于,包括如下步骤:
s1:设计一个多类中心的分类网络模型:
s11:为每一个分类设定多个类中心;在cnn特征提取网络后,连接一个多路并联的fc组,每一路fc层的权值矩阵的行向量就是一个类中心;
s12:在多路并联的fc组之后,加入一个多路选择器;以输出值的概率预测值的大小作为挑选的依据,在各个fc通路的同行位置的输出值之间,挑选概率预测的最大值作为这个样本的预测概率;
s13:将多路选择器挑选后的预测概率,拼成一个输出概率向量,送给损失函数中去进行误差计算;在反向误差传递时,所述多路选择器同样的做误差过滤,即仅被选中的那一个fc通路需要传递误差,没有选中则不传递误差;
s2:优化损失函数的设计,将类中心距离作为额外的惩罚项增加到损失函数的计算中;
s21:在前向计算过程中,动态统计类内各中心点的聚合半径;
s22:以聚合半径为阈值,当类内各中心之间距离小于该聚合半径时,将其作为惩罚项加入到损失函数中。
2.根据权利要求1所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述分类网络模型的模型框架包括特征提取网络、全连接组、多路选择器、损失函数。
3.根据权利要求1所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述步骤s21中前向计算过程为:
s211:对输入样本进行预处理;
s212:预处理后的图像数据输入特征网络模型,计算对应的特征向量;
s213:将特征向量同时送入并联的多路fc层和多路fc的行向量进行计算内积值;
s214:将步骤s213中的向量内积的计算值,送入多路选择器,挑选合适的类中心;
s215:将所有被选中的各路fc的输出值混合一起,作为所述多路fc组的输出向量,送入损失函数中去进行误差计算。
4.根据权利要求3所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述步骤s213中特征向量和fc行向量的内积的输出值为所属分类的预测概率。
5.根据权利要求1所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述步骤s13中反向误差传递过程为:
s131:通过输入标签和步骤s215中的多路fc组的输出向量,利用交叉熵损失函数来计算误差;
s132:当误差反向传递通过多路选择器时,同前向计算过程中一样,该多路选择器对误差信息进行过滤,仅传递在前向过程中被选中的那一路fc行向量所对应的误差,没有选中的那路fc行向量的误差则不传递。
6.根据权利要求1所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述步骤s12中,以概率预测最大值所对应的那路fc行向量,作为当前样本的类中心。
7.根据权利要求1所述的一种多类中心的分类网络模型的设计方法,其特征在于,所述多路选择器采用从并联的fc输出值中选最大值作为该fc组的输出代表,被选中的最大值所对应的这路fc的行向量就是作为最合适样本的类中心。
技术总结