本发明涉及可增长的卷积神经网络相关算法,特别涉及一种基于迁移学习的gcnn跨任务模式分类方法。
背景技术:
1、随着视觉识别任务难度的逐渐加大,构建规模较大的卷积神经网络(cnn)能够获得较好的识别效果,著名的大规模视觉识别竞赛large scale visual recognitionchallenge(ilsvrc)的结果显示,网络分类精度的提高很大程度上得益于网络规模的增大,然而,当训练样本有限时,过量神经元虽然可以很容易地拟合训练数据,但并不能反映测试样本的真实分布,从而产生过拟合问题,针对这一问题,许多学者提出了不同的解决方法。
2、通过卷积操作定义了具有局部感受野的隐单元,并配合下采样将图片局部空间拓扑结构信息融入网络,在一定程度上缓解了过拟合的影响,但网络参量过多的问题仍未解决,通过预学习利用一系列前后相关的限制玻尔兹曼机(rbm)从训练图片中挖掘有用信息,以获得一个具备较优初始权值的网络结构,然而,逐层分段初始化网络所需的额外时间开销会随着层数的增加而加大,并且通过无监督学习获得的图片信息也可能带来负面影响,因此提出dropout策略,通过在模型训练时随机忽略网络中某些隐节点的权重,从而抑制了部分特征检测器之间的共同作用,由于每次输入到网络中的样本对应的网络模型都是不同且彼此共享权值,这大大提高了网络的稳定性和泛化能力。
3、已有的研究发现隐层激活单元之间的相关性和过拟合存在一定关系,即当隐层激活单元的相关性降低时,网络的过拟合现象会相对缓解,过拟合问题的另一个解决思路是从训练数据集入手,深度卷积神经网络(dcnn)能够比传统的浅层学习方法产生更好的结果,但作为一个拥有巨量参数的大容量分类器,它需要大量的训练数据。
4、例如,在纹理分类任务中,使用brodatz纹理数据集中的少量类低分辨率图像,虽然结果相较于其他方法有所提升,但并不明显,操作人员将上述模型用于森林物种分类任务中,并取得了很好的结果,该任务使用的是一个拥有多达3000幅图片且每幅图片大小为3264x2448的训练集,由此可见,拥有规模较大的训练集是训练性能优异的卷积神经网络的重要因素,然而,获取有标签的训练集代价昂贵或较为困难,这必然造成卷积神经网络的“数据饥渴”问题。
5、针对这一问题,最直接的解决方法是利用已有的数据对训练样本集进行扩充,例如操作人员利用旋转、尺度和横向裁剪等仿射和弹性变换,扩大了mnist手写体数据集,从而减小了神经元对类内多样性的敏感性,改善了分类性能,近年来,开放的有标签图像数据集越来越丰富,“数据饥渴”的问题得到了缓解;操作人员先在imagenet、places等大型数据集上训练网络,再利用迁移学习将其扩展到新的识别任务中,不仅可以将大规模训练集的源任务训练得到的模型参数迁移到小样本集的目标任务中,解决训练集样本规模过小的问题,在一定程度上缓解过拟合现象,同时也能提高跨任务分类模型的学习效率。
6、然而,不同数据集之间的图像有显著的统计差异;例如在caltech256和imagenet等数据集中,对象通常在图像中间,而在pascal voc和labelme等数据集中,对象一般嵌入在场景中,因此,在源任务中训练得到的神经网络不一定适用于目标任务集;在跨任务数据集进行训练和测试时,不同的场景环境、背景(负类)以及标签偏置(即源任务集中的物体标签与目标任务集中的物体标签不同)等将不可避免地影响识别性能。
7、在实际应用中,主要存在以下问题:
8、(1)额外时间开销:逐层分段初始化网络所需的额外时间开销会随着层数增加而显著增加,这对于深度神经网络的训练效率提出了挑战;
9、(2)数据集统计差异:不同数据集之间的图像统计差异显著,导致在源任务中训练得到的模型参数在目标任务集上的适用性受到限制,这在一定程度上影响了跨任务模式分类的效果;
10、(3)过拟合问题:当训练样本有限时,网络容易过拟合,虽然通过卷积操作和预学习策略可以一定程度上缓解过拟合,但这些方法仍存在局限性,如网络参量过多和无监督学习带来的负面影响。
技术实现思路
1、本发明目的在于针对gcnn“数据饥渴”的问题,通过在源任务集上预训练gcnn的中级层,将参数迁移到目标任务集中,移除原fc6层,添加适应层fca和fcb,仅训练这两层,使用fc5层的输出作为fca的输入,通过适应层fca和fcb处理,实现目标任务集的分类,补偿源任务集与目标任务集的统计差异和标签偏置;使用滑动窗口裁剪目标任务集的图像生成多个patch,根据边框重叠率筛选并标记patch的类别,删除包含多个对象的patch,将其他不满足条件的patch设置为背景类别,在最后一层卷积层(c2)和全连接层之间替换为空间金字塔池化spp层,计算图像属于某类别的置信度,整合各patch的分类结果以实现图像分类。
2、本发明提供如下技术方案:基于迁移学习的gcnn跨任务模式分类方法,包括以下步骤:
3、步骤一;在源任务集上预训练gcnn的中级层,将参数迁移到目标任务集中,移除原fc6层,添加适应层fca和fcb,仅训练这两层,使用fc5层的输出作为fca的输入,通过适应层fca和fcb处理,实现目标任务集的分类,补偿源任务集与目标任务集的统计差异和标签偏置;
4、步骤二:使用滑动窗口裁剪目标任务集的图像生成多个patch,根据边框重叠率筛选并标记patch的类别,删除包含多个对象的patch,将其他不满足条件的patch设置为背景类别;在最后一层卷积层(c2)和全连接层之间替换为空间金字塔池化spp层,计算图像属于某类别的置信度,整合各patch的分类结果以实现图像分类。
5、优选的,所述步骤1的具体实现步骤为:
6、1):预训练与迁移:将gcnn的内部层(c1层-fc5层)充当一个通用的中级图像特征提取器,该提取器先在一个有标签的大的数据集(称为源任务集,imagenet)上预先训练,然后将训练好的参数迁移到训练样本有限的目标任务集中重新使用(如图1所示),实现目标任务集的分类:
7、针对源任务集,gcnn的全连接层fc5、fc6(分类层)的输出分别为y5和y6,其中yk表示第k层的输出,wk,bk表示第k层的权重和偏置参数:
8、yb-σ(wby4+bb)
9、y6=φ(w6y6+b6)
10、σ(x)[i]和φ(x)[i]分别为relu和softmax非线性激活函数:
11、σ(x)[i]=max(0,x[i])
12、
13、2):适应与分类:为了补偿源任务集和目标任务集中图像的统计差异和标签偏置,可在目标任务中将原gcnn的全连接层fc6移除,添加两个新的适应层fca和fcb(如图2所示),则在目标任务中只针对有标签的目标任务集训练这两层适应层,其中使用fc5的输出y5作为fca的输入,fca和fcb的输出分别为ya和yb,wa,wb,ba,bb是需要学习的参数:
14、ya=σ(way5+ba)
15、yb=φ(wbya+bb)。
16、优选的,所述步骤2的具体实现步骤为:
17、1):数据预处理:针对跨任务迁移学习中的数据捕获偏差问题,即源任务数据集比较简单,每幅图片只包含单一对象,而目标任务数据集中的图片可能包含不同尺度的多个对象等复杂场景的情况,可使用滑动窗口对有标签的目标任务集中的图片进行裁剪,每幅图片得到多个patch,这些patch可能包含一个对象、多个对象或背景等情况,为了在训练集中对这些patch进行标记,将每一个patch的边框b与图片中有标签对象po的边框bu计算重叠率,如果满足下面三个条件:
18、(a)|b∩bo|≥η1|b|
19、(b)|b∩bo|≥η2|bo|
20、(c)patch不与图像中的多个对象有重合;
21、则将该patch的类别设置为po的类别,其中,|·|表示边框的面积,∩表示计算两个目标的重叠部分,0<η1,η2<1,对于某个patch中,如果包含多于一个对象,则将此patch直接删除,将其他不满足以上条件的patch设置为背景类别;
22、2):spp层替换:由于这些patch的尺度不同,为了能够输入到gcnn,使其能够接受不同大小的输入但产生相同大小的输出,将最后一层卷积层和全连接层之间的采样层替换为空间金字塔池化(spatial pyramid pool ing,spp)层(如图2所示),在分类的时候使用如下公式计算图像属于类别ci的置信度:
23、
24、与现有基于迁移学习的gcnn跨任务模式分类方法对比,本发明具备以下
25、有益效果:
26、本发明针对上述问题提出解决方案,通过在源任务集上预训练的权重参数迁移到目标任务集中,添加适应层,并进行训练;使用滑动窗口裁剪目标任务集,根据边框重叠率筛选并标记patch的类别,删除包含多个对象的patch,将其他不满足条件的patch设置为背景类别;迁移学习不仅可以将源任务集中的模型参数迁移到小样本集的目标任务中,解决训练集样本规模过小的问题,缓解网络训练的过拟合现象,同时也能提高跨任务分类模型的学习效率。
1.一种基于迁移学习的gcnn跨任务模式分类方法,其特征在于,包括以下步骤:
2.根据权利要求书1所述的基于迁移学习的gcnn跨任务模式分类方法,其特征在于,所述步骤1的具体实现步骤为:
3.根据权利要求1所述的基于迁移学习的gcnn跨任务模式分类方法,其特征在于,所述步骤2的具体实现步骤为: