降低ResNeXt模型在图片分类中过拟合现象的方法转让专利

申请号 : CN201910263146.8

文献号 : CN109978069B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 路通侯文博王文海

申请人 : 南京大学

摘要 :

本发明公开了降低ResNeXt模型在图片分类中过拟合现象的方法,包括如下步骤:步骤1,对公开数据集中的训练图片进行预处理;步骤2,基于ResNeXt网络搭建网络模型,并对ResNeXt网络进行Cropout方法的修改;步骤3,使用随机梯度下降法训练修改过后的ResNeXt网络,得到训练好的网络模型;步骤4,输入一张给定的待分类图片,使用步骤3中训练好的网络模型对其进行分类,得到最后的结果。

权利要求 :

1.降低ResNeXt模型在图片分类中过拟合现象的方法,其特征在于,包括如下步骤:步骤1,对公开数据集中的训练图片进行预处理;

步骤2,基于ResNeXt网络搭建网络模型,并对ResNeXt网络使用Cropout方法进行修改;

步骤3,使用随机梯度下降法训练修改过后的ResNeXt网络,得到训练好的网络模型;

步骤4,输入一张给定的待分类图片,使用步骤3中训练好的网络模型对其进行分类,得到最后的分类结果;

步骤1包括:对公开数据集中的训练图片进行数据增强操作,包括随机裁剪、水平翻转、随机放缩;

步骤2包括以下步骤:

步骤2-1,使用基数为G的ResNeXt网络的卷积部分对训练图片进行特征提取,得到分组卷积后的G条转换路径,将转换路径的特征图记为x,其大小为H×W,H、W分别表示特征图的长和宽;

步骤2-2,Cropout方法为对每条转换路径随机绑定一个随机裁剪操作,具体包括:对特征图x沿着每条边进行k个零元素的填充,将其从原始的H×W扩展为(H+k)×(W+k)大小的特征图y,在扩展后的特征图y上随机裁剪出H×W大小的特征图x′,定义在特征图x上补充k个零元素后进行随机裁剪的操作为Pk,则特征图x上的随机裁剪变换用如下公式来表示:x′=Pk(x),

其中x′为随机裁剪变换后的特征图;

Cropout方法包括基于ResNeXt网络的聚合变换,ResNeXt网络原始的聚合变换用如下公式表示:其中, 为一个将特征图x映射为一个低维向量空间的卷积函数,∑为拼接操作,G为ResNeXt的转换路径条数,i代表第i条转换路径, 为聚合变换后的特征图;

则经由Cropout方法修改后的聚合变换表示为:

其中 为经过Cropout方法修改过的聚合变换后的新特征图;

步骤2-3,将G条经由Cropout方法修改过的聚合转换路径上的特征图x′通过拼接操作合成在一起,形成一个新的特征图作为ResNeXt的下一层网络的输入数据。

说明书 :

降低ResNeXt模型在图片分类中过拟合现象的方法

技术领域

[0001] 本发明涉及深度学习技术领域,尤其涉及降低ResNeXt模型在图片分类中过拟合现象的方法。

背景技术

[0002] 近几年深度神经网络在图片分类等多媒体研究领域发挥了巨大作用,然而人们面对的一个普遍问题就是如何使深度网络的训练更加稳定。为了解决这个问题并且进一步提高神经网络的效果,人们通常设计不同的规则来约束网络,最常见的技术就是批量归一化(BN,Batch Normalization)和Dropout(随机失活Dropout是对具有深度结构的人工神经网络进行优化的方法,在学习过程中通过将隐含层的部分权重或输出随机归零,降低节点间的相互依赖性co-dependence从而实现神经网络的正则化regularization,降低其结构风险structural risk)。而过拟合现象对深度网络来说仍然是个问题,它可能导致深度网络模型的泛化能力非常差。而在实际的多媒体应用中,由于训练深度网络所需要的大量数据不容易获得并且人工标注成本太大,过拟合现象更是比较严重。

发明内容

[0003] 为了解决现有技术中图片分类问题中仍然存在的过拟合问题,本发明在ResNeXt网络模型的基础上提出了一种降低图片分类任务中过拟合现象的新方法,叫做Cropout(Cropout属于本发明给这个方法取的名字,只有英文名)。
[0004] 本发明具体公开了降低ResNeXt模型在图片分类中过拟合现象的方法,包括如下步骤:
[0005] 步骤1,对公开数据集中的训练图片进行预处理;
[0006] 步骤2,基于ResNeXt网络搭建网络模型,并对ResNeXt网络进行修改;
[0007] 步骤3,使用随机梯度下降法训练修改过后的ResNeXt网络,得到训练好的网络模型;
[0008] 步骤4,输入一张给定的待分类图片,使用步骤3中训练好的网络模型对其进行分类,得到最后的分类结果。
[0009] 步骤1包括:对公开数据集中的训练图片进行常见的数据增强操作,比如:随机裁剪、水平翻转、随机放缩等,具体地,首先将训练图片按照比例0.8、0.9、1.1、1.2随机放缩,然后将训练图片随机水平翻转或按照-30°、-15°、15°、30°等角度进行随机旋转,最后从训练图片上随机裁剪出大小为32×32的样例,作为最终的训练图片。
[0010] 步骤2包括以下步骤:
[0011] 步骤2-1,按照文献Aggregated residual transformations for deep neural networks中的方法,使用基数为G的ResNeXt网络的卷积部分对训练图片进行特征提取,得到分组卷积后的G条转换路径,将转换路径的特征图记为x,其大小为H×W,H、W分别表示特征图的长和宽;
[0012] 步骤2-2,Cropout方法为对每条转换路径随机绑定一个随机裁剪操作,具体包括:对特征图x沿着每条边进行k个零元素的填充,将其从原始的H×W扩展为(H+k)×(W+k)大小的特征图y,在扩展后的特征图y上随机裁剪出H×W大小的特征图x′,定义在特征图x上补充k个零元素后进行随机裁剪的操作为Ρk,则特征图x上的随机裁剪变换可以用如下公式来表示:
[0013] x′=Ρk(x),
[0014] 其中x′为随机裁剪变换后的特征图。
[0015] Cropout方法包括基于ResNeXt网络的聚合变换(通常采用分组卷积的形式实现,即步骤2-1中的分组卷积),ResNeXt网络原始的聚合变换用如下公式表示:
[0016]
[0017] 其中, 实际上为一个将特征图x映射为一个低维向量空间的卷积函数,∑为拼接操作,G为ResNeXt的转换路径条数,i代表第i条转换路径, 为聚合变换后的特征图。
[0018] 由于所有的变换路径共享相同的拓扑结构,而本发明提出的Cropout方法将轻微的打破聚合变换的同性质形式,则经由Cropout方法修改后的聚合变换可以表示为:
[0019]
[0020] 其中 为经过Cropout方法修改过的聚合变换后的新特征图;
[0021] 该Cropout方法中每条转换路径上绑定的随机裁剪操作仅在网络初始化时构建,此后在网络的训练和测试过程中该绑定方式均保持不变。
[0022] 步骤2-3,将G条经由本发明的方法修改过的聚合转换路径上的特征图x′通过拼接操作合成在一起,形成一个新的特征图作为ResNeXt的下一层网络的输入数据;
[0023] 与现有技术相比,本发明提出的方法有以下优势:
[0024] 有效降低ResNeXt网络在图片分类任务中的过拟合现象;
[0025] 本发明在不改变原有网络大小和深度的前提下非常易于实现。

附图说明

[0026] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
[0027] 图1为本发明整体架构图;
[0028] 图2a为未使用分组卷积的ResNeXt的bottleneck单元的设计。
[0029] 图2b为使用了分组卷积的ResNeXt的bottleneck单元的设计。
[0030] 图3为公开数据集CIFAR-10部分图片样例。

具体实施方式

[0031] 实施例1
[0032] 下面结合附图及实施例,以公开数据集CIFAR-10和CIFAR-100为例对本发明做进一步说明。
[0033] 数据集CIFAR-10为一个包含10分类的60000张32*32彩色图像组成,每个类别有6000张图像,整个数据集包含50000张训练图片和10000张测试图片;数据集CIFAR-100为一个包含100分类的彩色图片,每个类别含有600张图片,共分为50000张训练数据和10000张测试数据。CIFAR-10数据集部分图像样例如图3所示。
[0034] 步骤1,分别对两个公开数据集CIFAR-10和CIFAR-100中50000张训练数据进行预处理,包括对其进行随机裁剪、水平翻转、随机放缩等常见数据增强操作等,具体地,首先将训练图片按照比例0.8、0.9、1.1、1.2随机放缩,然后将训练图片随机水平翻转或按照-30°、-15°、15°、30°等角度进行随机旋转,最后从训练图片上随机裁剪出大小为32×32的样例,作为最终的训练图片。
[0035] 步骤2,搭建网络模型,使用https://github.com/prlz77/ResNeXt.pytorch中ResNeXt网络的pytorch版本为实例模型,该模型为基数为8,深度为64的ResNeXt-29网络,写作“ResNeXt-29,8×64D”,并以此网络进行本发明中Cropout方法的修改,具体包括以下步骤:
[0036] 首先,使用ResNeXt-29,8×64D网络的卷积部分按照文献Aggregated residual transformations for deep neural networks中的方法,对训练图片进行特征提取,得到分组卷积后的8条转换路径,转换路径的特征图为x,其大小为H×W;
[0037] 然后,对每条转换路径随机绑定一个随机裁剪操作,具体地,对特征图x的每条边进行k个零元素的填充,将其从原始的H×W扩展为(H+k)×(W+k)大小的特征图y;
[0038] 最后在扩展后的特征图y上随机裁剪出H×W大小的特征图x′;
[0039] 本发明将以上最大零元素的填充数量为k的随机裁剪操作定义为Ρk,所以特征图x上的随机裁剪变换可以用以下公式来表示:
[0040] x′=Ρk(x),
[0041] 其中x′为随机裁剪变换后的特征图。
[0042] Cropout的设计主要基于ResNeXt的聚合变换(通常采用分组卷积的形式实现),而聚合变换可以用以下公式表示:
[0043]
[0044] 在本发明中, 实际上为一个将特征图x映射为一个低维向量空间的卷积函数,∑为拼接操作,G为ResNeXt的转换路径条数,i代表第i条转换路径, 为聚合变换后的特征图。。
[0045] 由于所有的变换路径共享相同的拓扑结构,而本发明提出的Cropout方法将轻微的打破聚合变换的同性质形式,则经由Cropout方法修改后的聚合变换可以表示为:
[0046]
[0047] 图1描述了Cropout的概念。在本发明的设计中,裁剪操作在网络初始化阶段随机完成,并且这种裁剪操作与转换路径的绑定关系在初始化网络后是固定不变的。因此,训练时的网络结构和测试时网络结构是完全相同的。
[0048] 修改后的模型细节如表1所示,表1中为Cropout设计了一个超参数P={p0,p1,p2},而经过反复验证当Cropout的超参数设置为P={1,1,1}时,在数据集CIFAR-10图片分类任务中表现最好;而当超参数设置为P={0,1,0}时,在数据集CIFAR-100图片分类任务中表现最好。
[0049] 表1
[0050]
[0051] 图2a和图2b阐述了经Cropout方法修改的ResNeXt的bottleneck的设计细节,因为ResNeXt网络采用了bottleneck设计,在每个转换路径上实现了Cropout方法,如图2a所示,从图中可以看出,在前一层卷积特征图经过分组数为8的分组卷积后,随机裁剪发生在每个阶段中卷积核大小为1×1的卷积层后面,卷积核大小为3×3的卷积层前面,然后经过3×3的卷积层后,由拼接操作(即图中“concatenate”操作)后,8个转换路径上的特征图形成新的特征图作为ResNeXt下一层网络的输入。图2b中所示结构由于使用了分组卷积而比图2a中结构更高效,并且除了3×3的卷积与Cropout的顺序不同外与图2a几乎相同,因此在实际使用中采用图2b结构。
[0052] 步骤3,训练网络模型,使用随机梯度下降法,分别以步骤1中增强过后的两个数据集中的图片作为训练数据对步骤2中修改过后的ResNeXt-29,8×64D模型进行监督训练,得到两个数据集上的训练模型,分别用R1和R2来表示。典型的训练参数设置如下表2:
[0053] 表2
[0054]
[0055] 步骤4,图片分类,对于一张给定的待分类图片,即数据集CIFAR-10或CIFAR-100中各自10000张测试数据中的任意一张,使用步骤3中训练好的对应不同数据集的网络模型R1和R2对其进行分类得到最后的分类结果。将两个数据集中所有测试数据均分类完成后,分别统计两个数据集分类情况的准确率,得到两个结果:
[0056] (1)当Cropout参数取P={1,1,1}时,在CIFAR-10上的分类错误率为3.38%,相比不使用Cropout方法修改的模型错误率降低了0.27%;
[0057] (2)当Cropout参数取P={0,1,0}时,在CIFAR-100上的分类错误率为16.89%,比不使用Cropout方法修改的模型错误率降低了0.88%。
[0058] 以上结果在如今分类错误率已经非常低的情况下进一步将错误率压低,证明本发明方法确实降低了ResNeXt在图像分类任务中的过拟合现象。
[0059] 本发明提供了降低ResNeXt模型在图片分类中过拟合现象的方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。