基于深度学习算法的图像集识别

2017-09-26 08:32张玉冰于威威
现代计算机 2017年21期
关键词:池化层权值卷积

张玉冰,于威威

(上海海事大学信息工程学院,上海201306)

基于深度学习算法的图像集识别

张玉冰,于威威

(上海海事大学信息工程学院,上海201306)

深度学习技术是机器学习技术的新发展。它结合机器学习中神经网络的特点,通过构建多隐层的网络结构,实现对人脑网络的模仿。结合生物仿生学的研究,模拟人脑进行模式识别,包括文字,图像及声音等的特征提取及分类。深度学习网络由于包含多层中间隐层,所以对输入数据能逐级提取从底层到高层的特征,从而能很好地建立从底层信号到高层语义的映射关系。在图像识别领域,卷积神经网络表现优异。但传统的卷积神经网络的训练速度过慢。自动编码机可以实现图像的压缩和解释。为提高速度,结合卷积神经网络和自动编码机提出一种针对图像新的识别方式。将图像先经过自动编码机进行初步特征提取,再结合卷积神经网络对图像集进行识别。与已有的识别算法相比较,提高识别速度,保证识别率。

深度学习;卷积神经网络;图像识别;自动编码机;特征提取;图像预处理

0 引言

深度学习技术是机器学习技术的新发展。它结合机器学习中神经网络的特点,通过构建多隐层的网络结构,实现对人脑网络的模仿。结合生物仿生学的研究,模拟人脑进行模式识别。包括文字,图像及声音等的特征提取及分类。深度学习是无监督学习的一种[1]。

深度学习起源于神经网络,它是神经网络的深度延伸。神经网络中也包含深度学习的结构,如含多隐层的多层感知器。深度学习的原理是通过对原识别目标的低层特征进行提取和组合,最终生成目标内含的深层次的特征或属性。通过这种方式,可以探究数据或图像中深层次的特征[2]。

深度学习的根本目的就是通过大量的数据样本来进行学习,借助多隐层的深度网络结构,来提取到更有用的特征,从而最终实现对目标的分类,并且提高分类成功率。深度学习与传统的浅层神经网络的不同,主要包含以下几个方面:(1)深度学习强调深度这个概念,其网络的中间隐层一般有3层以上,多的甚至达到10层以上的中间隐层;(2)深度学习强调了对特征的学习,它将目标中的低层特征进行提取,然后经过低层特征的不同组合,形成目标内在不易发现的深层次特征,模拟人脑的学习方式,最终提高分类的准确性。相比于传统的神经网络,通过大量数据进行学习,并对其深层的特征进行构造和分类,深度学习网络更能揭示数据的内在信息[3]。

当前深度学习已经有很多模型和算法,包括最基础的深度网络结构自动编码器(AutoEncoder),以及对自动编码机进行改动和提升的稀疏自动编码器(Sparse AutoEncoder),降噪自动编码器(Denoising Au⁃toEncoders)等,还包括深信度网络(Deep Belief Net⁃work),以及卷积神经网络(Convolutional Neural Net⁃works)等。在这其中,卷积神经网络由于其特殊的构造方式,为模式识别领域(包括文字识别,图像识别,语音识别等)带来了福音。它的优点包括在网络结构当中使用权值共享机制,对于同一个神经元的权值,在不同的区域进行权值共享。通过这种方式可以有效地减少网络当中权值的数量,简化网络结构。另外对于卷积神经网络来说可以将图像进行简单的处理之后直接输入网络进行学习,这样就不需要像传统的算法那样有复杂的预处理(包括特征提取或数据重组)。卷积网络是一个多层感知器[4],专门为识别二维形状而特殊设计。这种网络结构对平移、倾斜、比例缩放或者其他形式的图像变形具有高度不变性。但传统的卷积神经网络对于尺寸稍大的输入图像,将会花费相当久的训练时间。

因此,本文结合自动编码机对图像特征的良好表示,提出了基于AE改进的卷积神经网络方法。通过AE的一步简单特征提取,大大减少了图像的维度,显著缩短了CNN的训练过程,简化了网络结构,提高了识别效率[5]。

1 基于自动编码机的改进卷积神经网络

1.1 自动编码器(AutoEncoderr,AE)

AE属于无监督学习,不需要对训练样本进行标记。AE由三层网络组成,其中输入层神经元数量与输出层神经元数量相等,中间层神经元数量少于输入层和输出层。在网络训练期间,每个训练样本在经过网络后,会在输出层产生一个新的信号。AE学习的目的就是使输出信号与输入信号尽量相似。

AE训练结束之后,共包括两部分,输入层和中间层,我们可以用这两层来对信号进行压缩;其次是中间层和输出层,我们可以用这两层将压缩的信号进行还原。

自动编码机原理如下:假设我们输入一个n维的信号x(x∈[0,1]),经由输入层到达中间层,信号变为y,可以用如下公式(1)表示:

以上式子中的s是非线性函数,如sigmoid.W是输入层到中间层的权值,b为中间层的偏置(bias),压缩后的信号y可通过解码层进行解码,之后输出到与输入相同数量的n个神经元所构成的输出层。假设重构之后的信号为z,则公式(2)如下:

同上,s为非线性函数,例如sigmoid函数。W'代表中间层到输出层的链接权值。b'代表中间层的偏置(bias)。公式结果z被认为是通过网络解析后对x的一个预测。一般认为,权重矩阵W'被设定为W的转置:W'=WT.自动编码机结构如图1所示。

图1 自动编码机网络结构

1.2 卷积神经网络(CNN)

卷积神经网络(CNN)是深度学习中的一种,类似于人工神经网络。其已成为当前语音分析和图像识别领域的研究热点。它在网络结构当中使用权值共享机制,对于同一个神经元的权值,在不同的区域进行权值共享。减少了权值的数量。且它可以将图像进行简单的处理之后直接输入网络进行学习,这样就不需要像传统的算法那样有复杂的预处理(包括特征提取或数据重组)[6]。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。

卷积神经网络的组成为第一层的输入层,可直接将图像作为输入,也可以是提取后的特征。之后的层为卷积层和池化层[7]交替出现,来对输入进行特征的提取,最后是一到两层全连接层,将特征连接为长向量输入到分类器中进行分类,如Softmax[8]。卷积神经网络结构如图2所示。

1.3 基于自动编码机的改进卷积神经网络

由于自动编码机可以很好地压缩图像的特征,所以我们可作如下改进。以手写数字数据集mnist为例,初始图像大小为28×28。步骤为:

(1)构建一个28-18-28的自动编码机。

(2)将图像输入自动编码机进行训练,学习权值W。

(3)将训练好的自动编码机的中间层连接到卷积神经网络的输入层。

(4)对卷积神经网络进行训练,由于维度变低,所以训练时间大大缩短。

(5)训练完成,即可进行图像分类识别。

图2 卷积神经网络结构

改进算法结构如图3所示。

图3 基于自动编码机的改进CNN算法[9]

2 实验结果与分析

2.1 数据预处理

本节主要介绍算法数据预处理过程,为产生更有效的实验结果,采用两个数据集进行对比实验分析。

Mnist数据集,mnist手写数字集是LeNet-5算法的经典数据集[10]。

部分ImageNet数据集,ImageNet数据集是ILS⁃VRC比赛用数据集,属于自然数据集。由于原Ima⁃geNet数据集过大,所以为更快显示实验对比结果,从中截取了部分图像,共5类,每类200张图像,尺寸统一为64×64。

2.2 算法实现与比较

实验环境:Intel酷睿i7 CPU,内存4G,Win10 64位,编程环境为MATLAB R2015a

实验数据:mnist手写数字集、imagenet数据集

比较算法:卷积神经网络算法、基于自动编码机的改进卷积神经网络算法

(1)mnist数据集

对于mnist数据集,构建的卷积神经网络结构为,输入层大小为28×28的,卷积层1提取6组特征图[11],卷积核大小为5×5,池化层1比例为1:2,卷积层2提取12组特征图,卷积核大小为5×5,池化层2比例为1:2,顶层使用sigmoid做分类器[12]。

构建改进算法结构为,自动编码机结构为28-18-28,CNN输入层为18×18,卷积层1为提取6组特征图,卷积核大小为3×3,池化层1比例为1:2,卷积层2为提取12组特征图,卷积核大小为3×3,池化层2比例为1:2,顶层使用sigmoid做分类器。

进行一次迭代,算法实验结果如下:

表1 mnist数据集实验结果

由上表可知,在mnist数据集基础上,改进算法所花时间要稍长于原算法,准确率方面相差不大。原因是对于小尺寸的图像集,进行自动编码机训练所花的时间要长于因为特征提取而缩短的训练时间。

(2)ImageNet图像集

对于ImageNet图像集,构建的卷积神经网络结构为,输入层大小为64×64的,卷积层1提取6组特征图,卷积核大小为5×5,池化层1比例为1:2,卷积层2提取12组特征图,卷积核大小为3×3,池化层2比例为1:2,卷积层3提取24组特征图,卷积核大小为5×5,池化层3比例为1:2,顶层使用sigmoid做分类器。

构建改进算法结构为,自动编码机结构为64-32-64,CNN输入层为32×32,卷积层1为提取6组特征图,卷积核大小为5×5,池化层1比例为1:2,卷积层2为提取12组特征图,卷积核大小为5×5,池化层2比例为1:2,顶层使用sigmoid做分类器。

进行30次迭代,算法实验结果如下:

表2 ImageNet数据集实验结果

由上表可知,在ImageNet数据集基础上,改进后的CNN算法所花的时间大大缩短,而准确度方面与改进前相当。

(3)综合比较

不同数据集算法时间对比如图4所示。

对于mnist图像集,由于提取特征之后的尺寸相比较原图像集并没有差距很大,所以因为改进算法需要训练自动编码机的原因,所花费的时间要稍长于原CNN算法。

图4 不同数据集算法时间对比

对于ImageNet图像集,原始的CNN算法,由于图像的尺寸变大,为提高识别率,不得不增加卷积网络层数。但对于改进CNN来说,因为自动编码机将原图特征进行了很好地提取,同时缩小了尺寸,使用两层的卷积网络已经足够,所以算法用时大大缩短。

3 结语

本文为解决传统卷积神经网络训练时间慢的问题,提出了使用自动编码机进行初步特征提取并降低图像维度,之后再通过卷积神经网络进行提取分类。进而加快卷积网络的训练速度。通过实验,可以看出在图像集分辨率较高的时候,改进算法可以很好地降低算法的时间,而当图像尺寸较小时,由于需对自动编码机进行训练,所以花费时间会较多。

[1]孙志军,薛磊,许阳明,王正.深度学习研究综述[J].计算机应用研究,2012,08:2806-2809.

[2]HINTON G E,OSINDERO S,TEH Y W.A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation,2006:1527-1554.

[3]郭丽丽,丁世飞,深度学习研究进展[J].计算机科学,2015年05期:28-33.

[4]Y LeCun,L Bottou,Y Bengio,P Haffner.Gradient-based Learning Applied to Document Recognition[C].Proceedings of the IEEE 86, 1998.

[5]Sukittanon S,Surendran AC,Platt J C.Convolutional Networks for Speech Detection[C].Proceedings of the Eighth International Conference on Spoken Language Processing.Jeju Island:ISCA,2004:1077-1080.

[6]Steve Lawrence,C Lee Giles,Ah Chung Tsoi,Andrew D Back.Face Recognition:A Convolutional Neural Network Approach[J].IEEE Trans.on Neural Networks(S1045-9227),1997,8(1):98-113.

[7]Scherer D,Müller A,Behnke S.Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition[M].DiamantarasK,Duch W,Iliadis L S.Proceedings of the 20th International Conference on Artificial-Neural-Networks.BerlinHeidelberg:Springer-Verlag,2010:92-101.

[8]Tivive,Fok Hing Chi,Bouzerdoum,Abdesselam.An Eye Feature Detector Based on Convolutional Neural Network[C].Proc.8th Int. Symp.Signal Process.Applic.Sydney,New South Wales,Australia.USA:IEEE,2005.

[9]Sermanet P,LeCun Y.Traffic Sign Recognition with Multiscale Convolutional Networks[C].Proceedings of the 2011 International Joint Conference on Neural Networks.San Jose:IEEE,2011.

[10]赵志宏,杨绍普,马增强.基于卷积神经网络LeNet-5的车牌字符识别研究[J].系统仿真学报,2010,03:638-641.

[11]Chen Y,Han C,Wang C.A CNN-based Face Detector with a Simple Feature Map and a Coarse-to-fine Classifier[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(3):1-12.

[12]高学,王有旺.基于CNN和随机弹性形变的相似手写汉字识别[J].华南理工大学学报(自然科学版),2014,01:73-76.

Image Recognition Based on Depth Learning Algorithm

ZHANG Yu-bing,YU Wei-wei

(School of Information Engineering,Shanghai Maritime University,Shanghai 201306)

Deep learning is a new development of machine learning technology.It combines the characteristics of neural network in machine learning. By constructing the network structure of multi hidden layer,it can imitate the human brain network.Combined with the research of bionics, it simulates the pattern recognition of human brain include characters,image and voice.Deep learning network consists of multi-layer hid⁃den layer,so it extracts feature from the bottom to the top of the input data,establishes a good signal from the bottom to the high-level se⁃mantic mapping relation.In the field of image recognition,convolutional neural network performs well.But the traditional convolution neu⁃ral network is too slow for training.Automatic coding machine can compress and interpret images.Proposes a new recognition method based on convolutional neural network and automatic coding machine for improving time performance.Firstly,the image is extracted by au⁃tomatic coding machine,and then the image set is identified by convolution neural network.Compared with the existing recognition algo⁃rithm,the recognition speed is improved,and the recognition rate is improved.

1007-1423(2017)21-0026-05

10.3969/j.issn.1007-1423.2017.21.005

张玉冰(1993-03),男,山东烟台人,硕士研究生,研究方向为信息处理与模式识别;于威威(1978-04),女,山东淄博人,副教授,硕士生导师,研究方向为模式识别、计算机图像处理、数据挖掘;

2017-04-28

2017-07-25

Deep Learning;Convolutional Neural Network;Image Recognition;Automatic Coding Machine;Feature Extraction;Image Preprocessing

猜你喜欢
池化层权值卷积
一种融合时间权值和用户行为序列的电影推荐模型
基于3D-Winograd的快速卷积算法设计及FPGA实现
改进深度卷积神经网络及其在变工况滚动轴承故障诊断中的应用
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
卷积神经网络的分析与设计
一种基于互连测试的综合优化算法∗
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法