APP下载

基于迁移学习的卷积神经网络应用研究

2019-05-22张鑫鑫梁星

电脑知识与技术 2019年10期
关键词:迁移学习卷积神经网络图像识别

张鑫鑫 梁星

摘要:传统的卷积神经网络模型在图像识别过程中,需要耗费大量的时间和计算量,且在数据集较小的情况下极容易出现过拟合现象。针对这一缺陷,本文以车型识别为例,通过引用迁移学习,提出一种由粗到细收敛、慢慢细化的识别方法,从而加速了卷积神经网络的训练过程,并提高了小数据集的识别准确率。本文以Tensorflow为深度学习框架,将从ImageNet训练好的Inception v3作为预训练模型,对52种车型进行训练,并与传统的CNN算法进行对比。实验结果表明,引用迁移学习方法后,卷积神经网络模型在训练速度以及准确率上都能得到大幅度的提高。

关键词:迁移学习;卷积神经网络;图像识别;车型识别

中图分类号:TP18 文献标识码:A

文章编号:1009-3044(2019)10-0174-04

开放科学(资源服务)标识码(OSID):

Research and Application of Transfer Learning in Convolutional Neural Network

ZHANG Xin-xin , LIANG Xing

(BOWEN College of Management Gulin University of Technolog, College of Architectuire and Design ,Gulin 541006, China)

Abstract: In the process of image recognition, the traditional convolutional neural network model takes a lot of time and computation, and it is easy to overfit in the case of small data sets.In view of this defect, this paper takes vehicle identification as an example and proposes a recognition method from coarse to fine convergence and slowly refinement by reference transfer learning, thus accelerating the training process of convolutional neural network and improving the recognition accuracy of small data sets.In this paper, Tensorflow is used as the in-depth learning framework, Inception V3 trained from ImageNet is used as the pre-training model, and 52 kinds of vehicles are trained and compared with the traditional CNN algorithm.The experimental results show that the training speed and accuracy of convolutional neural network model can be greatly improved by using transfer learning method.

Key words:transfer leaning; CNN;Image recognition;Vehicle recognition.

對于人类来说,我们可以间接或直接地从之前已经学过的内容中获得诸多信息,当某一天我们在解决或学习新知识的时候,就可以提取之前学习过的与新知识相关联的地方,利用它们去提高学习效率。这种人类的学习方式,我们称之为迁移学习,那么同理,我们也可以将其应用到机器学习中,一个经过预训练过的模型被再次用在另一个训练中,这就是应用到机器学习中的迁移学习的概念。

迁移学习中的预训练模型方法,是指在很多取得优异成绩的模型中挑选出一个作为预训练的源模型,类似AlexNet、VGGNet、GoogleNet、RestNet等分别在ImageNet的比赛中获得冠军的模型,这些模型的设计、参数的调整都已经达到很好的状态,我们不用再一次花费时间做休整。接下来的步骤与开发模型方法的步骤一致,也是将开发出的模型作为目标任务的学习起点,最后输出我们想要的目标分类。

所以本文主要研究方向是借助Tensorflow 深度学习框架和OpenCV开源图形库,利用迁移学习的方法优化和改进现有的开放性模型,以达到提高图像分类的准确率的目的。

1 Inception v3模型

Inception模块构成的深层网络目前在分类领域取得的效果是最好的。所以本文采用Inception v3的网络模型来实现车型识别功能,它和TensorFlow框架都是Googlenet提出的,所以在搭建环境时,会十分融洽。

Inception v3的模块和结构与Googlenet基本相同,只是加入了BatchNormalized Inception 层,而另一方面是将滤波器减小和分解,用2个3*3的conv代替Inception模块中的5*5,再将其分解成(1*3,3*1),这样的好处是网络深度进一步增加,但参数数量在减少。表1为Inception v3重要参数:

Inception v3中设计CNN的思想和Trick:

1)Factorization into small convolutions很有效,可以降低参数量,减轻过拟合,增加网络非线性的表达能力。

2)卷积网络从输入到输出,应该让图片尺寸逐渐减小,输出通道数逐渐增加,即让空间结构化,将空间信息转化为高阶抽象的特征信息。

3)Inception Module用多个分支提取不同抽象程度的高阶特征的思路很有效, 可以丰富网络的表达能力。

2 基于迁移学习下的改进

对于深度学习兴起总结出三点原因:算法与模型、强大的计算力和大数据。所以针对训练模型准确率的提升,可以从这三方面来改进。强大的计算力是硬件方面的提升,例如现在GPU处理器的出现,极大地提高了计算机图形图像的处理能力。那么本文可以考虑从算法与模型和数据方面着手,在只擁有小数据集的基础上,尽可能提高对于车型识别的准确率。

Inception v3在ImageNet比赛以及各个领域都有很广泛的应用,是目前为止计算量较低但准确率很高的实用性模型。但是Inception的复杂性注定了要在几万张的大数据集合下才能在特征提取时得到不错的特征值,如果只有小数据集,很容易出现过拟合现象。在本文中,车型识别的数据集只有4732张,较几万张的大数据集相差甚远,在这种情况下,如何建立一个效果良好的深度学习模型,则是本文需要研究的内容。在解决过拟合的问题中,可以选择使用正则化、BN等方法,但是通常选择的可行性高又简单的操作是使用迁移学习【1-6】,这样它可以不需要超大的数据集,也能训练卷积神经网络。

因为深度卷积神经网络中的每一层,都在逐步收集特征,是从浅到深,越来越高层次的特征表达,而最后一层才应用Softmax等分类器输出模型的分类。简单来说就是前面的层更为通用,是要检测目标的基本特征,那么如果切掉后面的一层或者几层,并在不同的数据集上重新训练,输出我们自己想要更加精细的分类类别,就能减掉很多基础特征的提取时间和样本,以达到提高速度和精确度的目的。本文是在ImageNet的基础进行训练的,那么神经网络的最后一层可能是在寻找车辆整体的图案,再往前的几层,可能会看到网络在寻找车轮、车窗这些组合的部件,所以要让网络把这些组合部件的特征都提取之后,再次训练分类更精细的图片,这样,相当于在已经是车的基础上分出车的型号,而不是车轮、车窗等这些组合部件的基础上分类。

为了对来验证迁移算法的有效性,本文选择给出二种实验方式作为对比,直接用Inceptionv3在如表2.1所示:

5 结束语

在图像分类模型中,选择inception v3作为基本模型,通过迁移学习的方法,将从Imagenet训练好的inception v3作为预训练模型,投入准备好的数据集,再次训练,最后得出Q-inception v3再次成为下一次训练的模型。文除了在模型上有了进一步的微调,在数据集上也构建了自己的交通样本集,作为车型识别的原始训练集下载了52种车型,共4732张图片。在实验过程中,网络训练的准确率十分不均衡,有些车型准确率特别低,分析是由于样本量不平衡导致,在下载图片时,每个车型的训练样本数量相差较大。卷积神经网络的训练过程是提取训练样本集图片的特征,如果训练样本集不够很难完成整个网络权值的优化,所以数据集对测试结果的影响至关重要,这也是数据增强可以提高准确率的原因。同时,本实验如果以在The Comprehensive Cars (CompCars) dataset预训练过的模型为基础模型,再次训练,是否可以得到更好的效果,如何将迁移学习运用地更加熟练,原模型除了最后一层,前面层的参数在什么情况下需要调整,这些都要通过进一步证明。

【通联编辑:唐一东】

猜你喜欢

迁移学习卷积神经网络图像识别
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
奇异值分解与移移学习在电机故障诊断中的应用
基于深度卷积神经网络的物体识别算法
大数据环境下基于迁移学习的人体检测性能提升方法