Print

发布时间: 2016-09-25
摘要点击次数: 288
全文下载次数: 39
DOI: 10.11834/jig.20160907
2016 | Volumn 21 | Number 9




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





不同池化模型的卷积神经网络学习性能研究
expand article info 刘万军, 梁雪剑, 曲海成
辽宁工程技术大学软件学院, 葫芦岛 125105

摘要

目的 基于卷积神经网络的深度学习算法在图像处理领域正引起广泛关注。为了进一步提高卷积神经网络特征提取的准确度,加快参数收敛速度,优化网络学习性能,通过对比不同的池化模型对学习性能的影响提出一种动态自适应的改进池化算法。 方法 构建卷积神经网络模型,使用不同的池化模型对网络进行训练,并检验在不同迭代次数下的学习结果。在现有算法准确率不高和收敛速度较慢的情况下,通过使用不同的池化模型对网络进行训练,从而构建一种新的动态自适应池化模型,并研究在不同迭代次数下其对识别准确率和收敛速度的影响。 结果 通过对比实验发现,使用动态自适应池化算法的卷积神经网络学习性能最优,在手写数字集上的收敛速度最高可以提升18.55%,而模型对图像的误识率最多可以降低20%。 结论 动态自适应池化算法不但使卷积神经网络对特征的提取更加精确,而且很大程度地提高了收敛速度和模型准确率,从而达到优化网络学习性能的目的。这种模型可以进一步拓展到其他与卷积神经网络相关的深度学习算法。

关键词

深度学习; 卷积神经网络; 图像识别; 特征提取; 算法收敛; 动态自适应池化

Learning performance of convolutional neural networks with different pooling models
expand article info Liu Wanjun, Liang Xuejian, Qu Haicheng
College of Software, Liaoning Technical University, Huludao 125105, China
Supported by: National Natural Science Foundation of China(61172144)

Abstract

Objective Deep learning algorithms based on convolutional neural networks are attracting attention in the field of image processing. To improve the accuracy of the feature extraction process and the convergence rate of parameters, as well as optimize the learning performance of the network, an improved dynamic adaptive pooling algorithm is proposed, which compares the effect of different pooling models on learning performance. Method A convolutional neural network model, which is trained with different pooling models, is constructed. The results of the trained model are verified in different iterations. To compensate for low accuracy and slow convergence speed, a dynamic adaptive pooling model is proposed, which trains the network with different pooling models. The effect of the model on the accuracy and convergence rate in different iterations are then studied. Result Contrast experiment shows that the dynamic pooling model has optimal learning performance. The maximum improvement of the convergence rate on handwritten database is 18.55% and the maximum decrement of the accuracy rate is 20%. Conclusion A dynamic adaptive pooling algorithm can improve the accuracy of feature extraction, convergence rate, and accuracy of the convolutional neural network, thereby optimizing network learning performance. The dynamic adaptive pooling model can be further extended to other deep learning algorithms related to convolutional neural networks.

Key words

deep learning; convolutional neural network; image recognition; feature extraction; algorithm convergence; dynamic adaptive pooling

0 引言

近年来,深度学习使机器学习在人工智能领域取得了重要突破。深度学习的本质是为了使机器学习的过程更加接近于人工智能[1]。深度学习技术由于对图像特征提取的独特优势而被计算机视觉、模型匹配与模式识别等领域广泛研究。深度学习强化了机器学习的学习能力,简化了学习的复杂度,赋予机器学习强大的数据表示与特征表达能力。作为人工智能的重要标志,深度机器学习成为人工智能领域的研究热点,并促进了计算机视觉、语音识别和自然语言处理等领域的发展。机器学习从产生开始经历了由浅层学习到深度学习的两次浪潮[2]。Hinton等人[3]提出多隐层结构的神经网络特征提取能力更优异的观点,使得深度学习被大数据和机器学习领域的学术界广泛讨论与研究。大数据除了数据量非常大和数据种类繁多之外,数据的结构也比较复杂,矩阵数据的维数往往也非常高,这样对于很多算法来说处理起来都会比较困难,可以实现的算法结果通常也并不能令人满意。而深度学习算法试图找到数据的内部结构,从而发现数据变量之间真正的关系形式[4]。深度学习可以通过降维等手段把数据简化,并且使用梯度下降算法对海量数据进行优化,提高模型的准确率。深度学习对海量数据的处理能力[5]和对多层次间非线性关系的学习能力是其他的算法无法比拟的,深度学习只使用简洁的参数就可以学习到复杂的函数[6]

卷积神经网络(CNN)对深度学习在图像处理等方面的研究与发展具有十分重要的作用。使用卷积神经网络的深度学习算法使得很多图像处理问题取得了成功,而大规模深度学习网络在GPU上的运行又进一步促进了其发展。利用卷积神经网络对图像进行处理,不但可以模拟人视觉系统中逐层提取特征的处理机制去提取图像较深层次的特征,而且可以使用端到端的特征提取方式,使得提取到的特征具有比较强的泛化能力,避免了由于图像变换产生的特征提取不精确的问题。除此之外,卷积神经网络既可以学习到图像的全局特征,又可以通过多层的隐层结构学习到图像的局部特征,而这些局部特征之间是具有一定的关联性的。由于存在的多种优越性,卷积神经网络在图像分类与识别、自然语言识别、语音的识别[7-8]与合成、信号处理以及声音信号场景分析和人脸识别[9-10]等方面有着广泛的应用。卷积神经网络对数据的学习需先经过卷积和子采样等步骤来构建模型,然后通过检测模型的准确率以确定其是否符合要求, 而池化算法的选择决定了子采样提取到特征的有效性,从而对模型的准确率产生影响。因此,卷积神经网络往往存在训练时间长、收敛速度慢或者模型准确率不够高等问题。为了满足实际应用对卷积神经网络的要求,Lee等人[11]使用分层生成模型使卷积神经网络处理高维图像具有很高的准确率;Matsugu等人[12]提出了卷积神经网络在人脸检测时具有鲁棒性的观点;而Huang等人[13]通过构建局部卷积RBM模型来达到对网络学习性能的提升;余永维等人[14]通过对特征提取层和子采样层的研究保证了其实验模型的有效性。卷积神经网络对缩放、旋转和平移等各种扭曲不变性图像具有良好的鲁棒性[15],因此其对2维图像进行处理也更加容易。特征提取的有效程度往往决定卷积神经网络的学习性能,所以对特征提取过程(卷积和池化)进行优化与改进来提高算法的收敛速度和准确率等特性[16]具有可行性。Alessandro等人[17]通过使用最大池化模型的卷积神经网络实现了图像的快速扫描,而Jawad等人[18]同样使用最大池化模型实现了手势识别并取得了良好的效果。Gong等人[19]使用多尺度无序池化解决了卷积神经网络全局激活缺乏几何不变性的问题。为了加快卷积神经网络的收敛速度和提高图像识别能力。本文通过在卷积神经网络子采样过程中使用不同的池化模型,并对经典池化模型进行改进,对比其在特征提取阶段的优化程度,分析对网络学习性能的影响,进而提出一种基于最大池化算法的动态自适应改进池化模型,以提高模型的准确率及网络的学习性能。

1 卷积神经网络

卷积神经网络作为深度学习算法在人工神经网络中的应用,得到了越来越多的重视并被不断地改进以适用于各种实际情况。卷积神经网络的输入是没有经过预处理的原始图像,并且在输入层与输出层之间没有精确的数学计算表达式,无论是特征提取还是目标模型构建的过程都是在内部根据训练进行的,这样就可以避免人工提取特征的主观性和局限性,从而使生成的模型也更加接近于理想值。卷积神经网络中引入感受野和权值共享的概念,可以降低网络结构的复杂性,同时也使其更加适合并行计算。

1.1 卷积神经网络的结构

卷积神经网络由输入层、隐层和输出层构成。在隐层中包含多个由卷积层(convolutional layer)和子采样层(sub-sampling layer)构成的重复结构。卷积神经网络结构如图 1所示。

图 1 卷积神经网络结构图
Fig. 1 Convolutional neural network structure

图 1中卷积神经网络的输入层是原始图像Input,并不需要人工提取特征。卷积层C1中包含的多个卷积核分别对Input进行卷积,生成各自对应的卷积特征图(feature map)。子采样层S2对C1中的特征图进行局部特征提取,生成对应的子采样特征图。C3和S4重复C1和S2的结构,这种重复结构大量存在于卷积神经网络的隐层之中。使用“卷积+子采样”的结构进行特征提取,可以使网络对一些符合扭曲不变性的形变图像有较好的容忍能力,同时减小了特征图像的分辨率,增加生成特征图的数量,获取更多的特征信息。把最后得到的子采样特征图全部展开构成1维矩阵(全连接层),输出层与1维矩阵采用全连接的方式得到最后的输出结果。

1.2 卷积过程

卷积层(C层)卷积的过程如图 2所示。设输入层为m×m的矩阵M,卷积核为n×n的矩阵C,其值为可训练参数(权重),偏置为b1,得到的卷积特征图为矩阵F,卷积核的移动步长为1,使用sigmoid函数作为激活函数S( ),因此得到的卷积特征图F的大小为(m-n+1)×(m-n+1)。卷积计算为

$ {F_{ij}}=S\left({\sum\limits_{i=1}^n {\sum\limits_{j=1}^n {\left({{M_{ij}}{C_{ij}}} \right) + {b_1}} } } \right) $ (1)

式中,Fij为矩阵F中元素,Mij表示卷积时输入层中与卷积核相对应的元素,并非M中实际的第ij列的值。输入层可以是初始图像,也可以是子采样层生成的特征图。卷积核内部的参数是可训练的,卷积核分别与输入层同等大小的矩阵进行点乘,求和之后再加偏置,激活后得到的结果就是对应卷积特征图的值。图 2为偏置b1=0时激活前的卷积过程,得到的特征图为3×3的矩阵。

图 2 卷积过程示意图
Fig. 2 Convolutional process schematic

复杂图形往往由基本的结构组成,局部特征往往可以表征全局特征,所以全局特征提取并不是十分必要,而且根据人的视觉结构,更高层的神经元可以把低层获取的局部特征综合起来,这样就可以得到全局的特征信息。因此,在卷积神经网络中提出以感受野作为卷积的基本对象进行局部特征提取,相比较全局特征提取就达到了参数减少的目的。在进行卷积运算的过程中,使用同一个卷积核对图像的不同感受野进行计算,这个过程中所有的感受野是共享卷积核参数的,这种权值共享的方法进一步减少了训练参数,提升了网络的学习性能。

1.3 子采样过程

子采样的目的是进行二次特征提取,其中最重要的过程就是池化(pooling)。在计算图像某个区域特征值的时候,往往需要对这个区域的特征进行分析与统计,用新的特征来代表这个区域的总体特征。这个区域叫池化域,这个过程叫做池化。池化后得到的高层特征图不但可以降低原特征图的维度和分辨率,还可以避免过拟合等问题。池化的方法有平均池化法和最大池化法等。池化过程如图 3所示。

图 3 池化过程
Fig. 3 Pooling process ((a) original feature map; (b) sub-sampling feature map)

图 3(a)原特征图为8×8的矩阵,其中4×4的灰色区域代表池化域。对原特征图池化域进行池化时的移动步长为4,得到图 3(b)子采样特征图为2×2的矩阵。子采样特征图的灰色区域为原特征图灰色区域对应的池化结果。

池化的实质就是池化函数Po( )作用于池化域的过程。设原特征图为矩阵F,特征图的池化域为矩阵P,将池化后的结果加偏置b2进行计算,遍历原特征图的池化域后,得到子采样特征图S,即

$ \boldsymbol{S}={\boldsymbol{P}_o}\left(\boldsymbol{F} \right) + {b_2} $ (2)

1.4 卷积神经网络模型的构建

为了研究不同池化模型对卷积神经网络的优化性能,首先需要建立卷积神经网络。卷积神经网络的结构基本包含建立模型、训练模型和测试模型3个部分,在训练模型过程中包含训练的前向过程、计算误差反向传播、权值修改与模型更新3个过程。训练过程实现了特征提取和有监督调整误差权值,完成了对输入数据的处理与目标模型的建立。卷积神经网络模型的结构如图 4所示。

图 4 卷积神经网络模型结构
Fig. 4 Convolutional neural network model structure

卷积神经网络从建立网络结构到最后确定均方误差曲线和模型准确率的流程图如图 5所示。

图 5 卷积神经网络流程图
Fig. 5 Convolutional neural network flow chart

2 池化模型理论

2.1 经典池化模型

经典池化模型中最常见的两种模型为平均池化模型和最大池化模型。平均池化模型指在池化过程中,对池化域内所有值求和并取其平均数作为子采样特征图中的值;而最大池化模型则是取池化域中的最大值作为子采样的特征值。

设输入特征图矩阵F,子采样池化域为c×c的矩阵P,偏置为b2,得到的子采样特征图为S,设池化过程移动步长为c。平均池化和最大池化的算法表达式分别为

$ {S_{ij}}=\frac{1}{{{c^2}}}\left({\sum\limits_{i=1}^c {\sum\limits_{j=1}^c {{F_{ij}}} } } \right) + {b_2} $ (3)

$ {S_{ij}}=\mathop {\mathop {\max }\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right) + {b_2} $ (4)

式中,$\mathop {\mathop {\max }\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right)$表示从输入特征图F的大小为c×c的池化域中取出的最大元素。

2.2 改进的中间模型

经典的池化模型均不能很好的对池化域的特征进行提取。若取两种不同的池化域,如图 6所示,图 6中阴影部分表示值不相同的像素,空白部分表示像素值为0。整个池化域图 6(a)的特征集中在最大值v处,如果对特征图图 6(a)使用最平均池化方法,则会减弱图 6(a)的特征;同理,图 6(b)中在其他两个值v1v2与最大值v3的关系未知的前提下,用最大值表示这个池化域的特征值也会对特征有一定的弱化。所以使用平均池化或者最大池化提取特征会对全局特征的表示及模型的精确度有一定的损伤。

图 6 不同池化域
Fig. 6 Different pooling area

对于以上问题,可以在经典池化模型的基础上进行改进,即通过选取两种中间模型来减少对卷积神经网络学习性能的影响。

1) 最大二均值池化法。最大二均池化是对最大池化的一种改良算法。因为最大池化法可能会忽略其他一些影响因素较大的值,所以在池化时选取池化域中值依次最大的两个元素并求其值的和,取和的平均数作为子采样的特征值。最大二均值池化算法表达式为

$ {S_{ij}}=\frac{1}{2}\mathop {\mathop {{\mathop{\rm sumM}\nolimits} 2}\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right) + {b_2} $ (5)

式中,$\mathop {\mathop {{\mathop{\rm sumM}\nolimits} 2}\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right)$表示从输入特征图F的大小为c×c的池化域中取出值依次最大的两个元素并且求和。

2) 中间值池化法。中间值池化法是对平均池化法和最大池化法的一种折中算法。这种算法可以兼顾平均池化法与最大池化法获取到的特征值,从而使模型产生的误差较小,稳定性较高,因而普遍适用于一般性图像。中间值池化算法表达式为

$ {S_{ij}}=T/2 + {b_2} $ (6)

$ T=\frac{1}{{{c^2}}}\left({\sum\limits_{i=1}^c {\sum\limits_{j=1}^c {{F_{ij}}} } } \right) + \mathop {\mathop {\max }\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right) $ (7)

2.3 动态自适应池化模型

改进池化模型的目的是为了对特征提取过程进行优化。在整个卷积神经网络学习过程中会产生很多不同的特征图和各式各样的池化域,无论是经典的池化模型还是改进的中间模型,在面对这些特征图和池化域时都很难取得一个较为满意的效果。为了进一步改进池化模型,提出一种基于最大池化算法的动态自适应池化模型。这种模型可以根据不同的特征图,动态调整其池化过程,并且根据各个池化域的内容,自适应地调整池化权值。若池化域只有一个值,则这个值既是最大值,也是其特征的表示。如果这个池化域的特征值都相同,则其最大值也可以表示为池化域的特征值。因此,在最大池化算法的基础上,根据插值原理,构建数学模型进行函数模拟。设μ为池化因子,则动态自适应池化算法表达式为

$ {S_{ij}}=\mu \mathop {\mathop {\max }\limits^c }\limits_{i=1, j=1} \left({{F_{ij}}} \right) + {b_2} $ (8)

此式为动态自适应算法的基本表达式。其本质是使用池化因子μ对最大池化算法进行优化。优化后的特征能更准确地表达特征。其余各项参数遵循最大池化模型的参数设置。

$ \mu=\rho \frac{{a\left({{v_{\max }}-a} \right)}}{{{v_{\max }}^2}} + \theta $ (9)

式中,a为池化域元素除最大值外的平均值,vmax为池化域元素中的最大值,θ为校正误差项,ρ为特征系数,计算表达式为

$ \rho=\frac{c}{{1 + \left({{n_{epo}}-1} \right){c^{n_{epo}^2 + 1}}}} $ (10)

式中,nepo为训练时的迭代次数。

式(8)—(10)中,特征系数ρ取决于池化域的边长c和迭代次数nepo;而特征系数与池化域中各项的值决定了池化因子μ的取值。在池化域大小确定的情况下,保持迭代周期不变,池化因子会根据池化域的不同自适应取值;而面对同一池化域时,池化因子则会根据迭代次数的不同,动态地调整以达到最优。因池化因子μ∈(0, 1),这样既可以兼顾最大池化和平均池化,在处理最大值特征明显的池化域时不会丢失精度,又可以在处理其余池化域时弱化最大池化的影响,从而使卷积神经网络在不同的迭代次数下处理不同的池化域时都可以提取到更为精确的特征。

2.4 动态自适应池化的实现

因池化过程与卷积有相似之处,所以可以利用卷积的原理实现池化,其实现过程如图 7所示。图 7是对8×8的特征矩阵进行池化的过程,池化域为2×2的矩阵,子采样得到的特征图为4×4的矩阵。因为卷积的移动步长为1,池化的移动步长为2,卷积会对图 7(a)中的输入特征图从第2行和第2列开始的偶数行与列重复卷积计算,而池化域中没有重叠部分,所以图 7(b)对卷积结果中重复计算的行与列进行删除操作,最后得到的结果就是子采样特征图。

图 7 池化的实现过程
Fig. 7 The process of realizing pooling ((a) convolution process; (b) delete operation)

动态自适应池化是在最大池化的基础上进行改进与优化的。最大池化模型的输入部分为图 7(a)中输入特征图这样的2维矩阵,卷积核也与图 7(a)相同,使用4个不同的卷积核,如权值分别为$\boldsymbol{A}=\left[ {\begin{array}{*{20}{c}} 1 & 0\\ 0 & 0 \end{array}} \right]$$\boldsymbol{B}=\left[ {\begin{array}{*{20}{c}} 0 & 1\\ 0 & 0 \end{array}} \right]$$\boldsymbol{C}=\left[ {\begin{array}{*{20}{c}} 0 & 0\\ 1 & 0 \end{array}} \right]$以及$\boldsymbol{D}=\left[ {\begin{array}{*{20}{c}} 0 & 0\\ 0 & 1 \end{array}} \right]$的矩阵对输入的特征图进行卷积,分别得到池化域中4个不同的值对应的卷积结果。对卷积结果进行连接,连接之后会得到一个4×7×7的3维矩阵T1。用求最大值函数对T1进行运算,得到一个1×7×7的3维矩阵T2,对这个3维矩阵进行转置,得到了7×7×1的3维矩阵,也就是7×7的3维矩阵,这个矩阵就是最大值的卷积结果。再进行图 7(b)中的删除操作,最后得到的结果就是最大池化模型的子采样特征图。

动态自适应池化算法在最大池化算法求得3维矩阵T1时,进一步对其进行求和运算,即对池化域中的所有元素求和,得到了1×7×7的3维矩阵T3T3T2进行相减,再取平均,得到的矩阵中的元素就是式(9)中平均值a。进一步计算即可求得动态自适应池化模型的子采样特征图。

3 实验结果与分析

实验共分为两部分,第1部分是在手写数字数据集上进行研究性实验,第2部分是在其他数据集上进行验证性实验。由于卷积神经网络对手写数据有着良好学习性能,所以使用手写数字集对不同池化模型进行训练,研究动态自适应池化算法对卷积神经网络的收敛速度、识别率和学习性能的提升效果;为了验证动态自适应池化模型在其他数据集上对卷积神经网络的提升效果,分别在车牌数据集和人脸数据集上进行实验,以验证动态自适应池化模型对卷积神经网络相关算法的普适性。

3.1 手写数据集实验与分析

实验在Matlab2012a环境下实现,计算机的CPU型号为Intel(R)Core(TM)i7-3610QM,内存为8 GB。实验数据使用MNIST手写数字库(http://yann.lecun.com/exdb/mnist/),其中有7万条手写数字图片数据,6万条作为训练数据,每次训练选择50条数据,所以一个迭代周期训练1 200次;其余1万条作为检测数据,对模型进行检测以计算其识别准确率。输入的图像大小为28×28,实验过程中校正误差项θ取0值,分别对使用平均池化模型、最大池化模型、中间值池化模型和动态自适应池化模型的卷积神经网络进行实验,选择迭代次数并记录各个周期耗时,并绘制均方误差曲线。

3.1.1 平均池化模型实验

卷积神经网络使用平均池化模型进行学习,根据迭代次数进行3次实验,每次训练的迭代次数分别为1、2和3次。记录每次实验的耗时和学习后模型的误识率,如表 1所示。均方误差曲线如图 8所示。

表 1 平均池化周期耗时与模型误识率
Table 1 Time and model error rate of mean pooling

下载CSV
迭代次数 周期1/s 周期2/s 周期3/s 误识率/%
1 89.002 3 11.13
2 87.624 1 86.196 6 7.75
3 86.438 0 89.531 2 88.572 4 6.10
图 8 平均池化均方误差曲线
Fig. 8 Mean square error curve of mean pooling

代1次时1个周期的均方误差曲线;从(1,1.463)到(2 400,0.085 41)为迭代2次时2个周期的曲线;从(1,1.463)到(3 600,0.068 62)为迭代3次时3个周期的曲线。由图 8可知,迭代次数不同时,平均池化模型的相同周期内的误差曲线基本吻合,随着训练批次的增加,误差值不断下降。

3.1.2 最大池化模型实验

卷积神经网络使用最大池化模型进行学习,分别迭代1、2、3次并获得周期时间与误识率,结果如表 2所示,实验过程均方误差曲线变化如图 9所示。

表 2 最大池化周期耗时与模型误识率
Table 2 Time and model error rate of max pooling

下载CSV
迭代次数 周期1/s 周期2/s 周期3/s 误识率/%
1 97.331 9 10.25
2 95.049 6 95.662 1 6.27
3 95.170 1 95.222 6 95.971 2 4.99
图 9 最大池化均方误差曲线
Fig. 9 Mean square error curve of max pooling

表 2可以看出,随着迭代次数的增加,最大池化与平均池化算法都有周期耗时正比增长和模型准确率增加的趋势,而最大池化法识别的准确率要明显比平均池化法高。

图 9中从(1,1.465)到(1 200,0.115 4)为迭代1次时1个周期的均方误差曲线;从(1,1.465)到(2 400,0.071 73)为迭代2次时2个周期的曲线;从(1,1.465)到(3 600,0.055 9)为迭代3次时3个周期的曲线。相比较平均池化模型,最大池化法使得误差下降更快。

3.1.3 中间值池化模型实验

卷积神经网络使用中间值池化模型进行学习,学习过程同3.1.1节和3.1.2节相同,3次迭代的周期时间和最后模型的误识率如表 3所示。实验过程均方误差随训练批次下降曲线如图 10所示。

表 3 中间值池化周期耗时与模型误识率
Table 3 Time and model error rate of intermediate value pooling

下载CSV
迭代次数 周期1/s 周期2/s 周期3/s 误识率/%
1 98.395 0 10.73
2 97.475 3 97.577 0 7.02
3 101.590 9 101.271 0 100.538 8 5.34
图 10 中间值池化均方误差曲线
Fig. 10 Mean square error curve of intermediate value pooling

表 3可以看出,中间值池化法相比较于前两种池化方法,周期耗时与准确率随迭代次数增加的趋势基本一致。平均池化耗时最少,但准确率也最低,其余两种池化提升准确率都以增加时间为代价。中间池化法的准确率要高于平均池化而低于最大池化算法。

图 10中从(1,1.464)到(1 200,0.120 3)为迭代1次时1个周期的均方误差曲线;从(1,1.464)到(2 400,0.078 74)为迭代2次时2个周期的曲线;从(1,1.464)到(3 600,0.060 68)为迭代3次时3个周期的曲线。从3条曲线的整体变化情况可以看出,中间池化模型的误差下降速度比平均池化要快,而比最大池化要慢。

3.1.4 动态自适应池化模型实验

卷积神经网络使用动态自适应池化模型进行学习,学习过程同前一致。学习结果的周期耗时与模型误识率如表 4所示,实验过程中的均方误差随训练批次的下降曲线如图 11所示。

表 4 动态自适应池化周期耗时与模型误识率
Table 4 Time and model error rate of dynamicadaptive pooling

下载CSV
迭代次数 周期1/s 周期2/s 周期3/s 误识率/%
1 98.292 8 9.59
2 96.536 0 98.865 2 6.20
3 95.896 5 96.011 8 96.079 4 4.99
图 11 动态自适应池化均方误差曲线
Fig. 11 Mean square error curve of dynamic adaptive pooling

表 4可以看出,动态自适应池化模型相比较其他3种模型,学习后的模型准确率达到最高。中间池化算法虽然同平均池化算法相比准确率有所提高,但同时耗时也增加不少,而动态自适应池化算法并没有以更多的时间消耗为代价去提高准确率。

图 11中从(1,1.465)到(1 200,0.102 3)为迭代1次时1个周期的均方误差曲线;从(1,1.465)到(2 400,0.071 72)为迭代2次时2个周期的曲线;从(1,1.465)到(3 600,0.055 89)为迭代3次时3个周期的曲线。动态自适应池化模型迭代次数为2和3时误差下降趋势基本一致,但是迭代次数为1时下降速率明显比较快,而且相比较其他模型,其模型的准确率也比较高。

3.1.5 实验分析

1) 迭代次数对实验模型准确率的影响。通过上面的实验可以看出,随着迭代次数的增加,模型的准确率随之增加,而均方误差逐渐减小。各迭代次数下模型的误识率如表 5所示,识别率的提升效果如表 6所示。

表 5 不同迭代次数下各模型的误识率
Table 5 Error rate of each model with differentiteration times

下载CSV
/%
迭代次数 平均池化 中间值池化 最大池化 动态自适应池化
1 11.13 10.73 10.25 9.59
2 7.75 7.02 6.27 6.20
3 6.10 5.34 4.99 4.99

表 6 迭代n次比迭代m次误识率减少百分比
Table 6 Error rate percentage reduction of iterations n than m

下载CSV
/%
n m 平均池化 中间值池化 最大池化 动态自适应池化
2 1 30.37 34.58 38.83 35.35
3 2 21.29 23.93 20.41 19.52

通过表 5表 6的数据可以看出,相同池化算法的误识率随着迭代次数的增加而降低,卷积神经网络迭代次数越多,模型识别的准确率越高。

2) 动态自适应池化模型对收敛速度的影响。根据各模型的均方误差曲线及其在周期13内的误差下降程度和动态自适应池化模型对收敛速度的影响,分析动态自适应池化模型较其他模型对收敛速度的提升效果,结果如表 7所示。

表 7 动态自适应池化对收敛速度的提升
Table 7 The Improvement of convergence speed

下载CSV
/%
迭代次数 较平均池化 较中间值池化 较最大池化
1 15.66 14.96 11.35
2 16.03 8.92 0.01
3 18.55 7.89 0.02

表 7可以看出,动态自适应池化算法较其余池化算法均方误差率下降,收敛速度提高,最高可提升18.55%。因此可知,动态自适应池化模型可以较大程度降低均方误差并较大幅度提升卷积神经网络的收敛速度。

3) 动态自适应池化模型对准确率的影响。分析表 5数据可知,动态自适应池化模型与其余池化模型相比较,对图像的误识率有一定的降低,降低效果如表 8所示。

表 8 动态自适应池化对误识率的降低
Table 8 The error ratereduction of dynamicadaptive pooling

下载CSV
/%
迭代次数 较平均池化 较中间值池化 较最大池化
1 13.83 10.62 6.45
2 20.00 11.68 1.12
3 18.20 6.55 0.00

表 8可知,相比较于其他3个池化模型,动态自适应池化模型学习后识别的准确率最高,而平均池化最低。在2次迭代的情况下前者比后者模型的误识率降低了20%。在迭代次数为3次时,动态自适应池化算法与最大池化算法的准确率基本一致。

4) 实验结果。随着迭代次数的增加,动态自适应池化算法的准确率趋近于最大池化算法,而平均池化算法的准确率最低。这种实验结果与实验数据有关。实验数据样本如图 12所示。

图 12 实验数据样本
Fig. 12 Experimental data sample

图 12为手写数字09的10个图像样本数据,样本的输入大小为28×28,由图 12可知,大部分像素点并没有数据,手写数字只占用了很小的一部分。因此使用平均池化法会降低样本特征选取的准确性,所以平均池化法的模型准确率最低。随着迭代次数的增加,不同池化模型对准确率的绝对影响逐渐减弱,并且在实验程中通过计算误差反向传播算法更新权值,使得在特征提取阶段的误差逐渐减小。所以迭代次数越大,动态自适应算法与最大池化算法的模型准确率越接近。

5) 实验总结。综合比较各个池化模型的均方误差曲线可知,误差值随着训练批次增长的下降趋势基本一致,但是收敛速度却不相同,特别是在1次迭代的情况下,图 11中的曲线收敛速度提高明显。动态自适应的收敛速度比其他模型最高可以提升18.55%。所以动态自适应池化模型的收敛性更好。

由各个池化模型的实验结果可以看出,动态自适应池化模型的准确率要明显高于其余3种池化模型,而且模型的误识率最多可以降低20%。所以使用动态自适应池化算法的卷积神经网络的准确率有明显优势。

综合分析上述实验可知,与其余3个模型比较,动态自适应池化模型是最优模型,且对卷积神经网络的收敛性、模型的准确率和网络的学习性能有较大提升。

3.2 其他数据集实验与分析

通过改变数据集和训练与测试的任务量,验证动态自适应算法对使用卷积神经网络进行分类识别的2维图像具有普适性。现分别使卷积神经网络对车牌数字和人脸图像进行学习与分类,所有实验环境均与手写数字集上实验环境相同,记录均方误差和识别的错误率。

3.2.1 车牌数据集实验结果与分析

为验证动态自适应池化模型为最优模型,分别使用不同池化模型在车牌数据集上进行实验。本次实验所使用的车牌数据均为真实车牌数字。通过收集真实车牌并对其进行图像分割,选取数字建立车牌数据库以供卷积神经网络训练与测试。车牌数据库数字如图 13所示。数据库中共有3 000条数据,其中2 000条作为训练数据,每次训练20条数据,每个迭代周期训练100次;其余1 000条作为测试数据,对模型进行检测以计算其识别准确率。其余各项参数同手写数字集实验相同。分别使用平均池化模型、最大池化模型、中间池化模型和动态自适应池化模型的卷积神经网络进行实验,并选择1次、2次和3次迭代周期进行训练,记录各模型周期耗时和均方误差。

图 13 车牌数字
Fig. 13 License plate number

图 13中第1行为车牌真实照片的截取片段,其中黄色框线内的数字依次对应第2行的各个数字,第2行为车牌数据库内的数据,即将车牌数字截取后统一大小,共同构成车牌数据库。因拍摄角度与光线等不同因素的影响,截取的各个数字的角度和比例均不相同。第3行为卷积神经网络的输入图像。

卷积神经网络使用4种池化模型在不同迭代次数下的对车牌数字识别的错误率和各个迭代周期的耗时情况如表 9所示。使用动态自适应池化模型的卷积神经网络相比较其余3种模型对车牌数字误识率的降低程度如表 10所示。

表 9 不同模型在各迭代次数下的误识率和周期耗时
Table 9 Error rate and time of each pooling model in iterations

下载CSV
池化模型 误识率/% 周期耗时/s
迭代1次 迭代2次 迭代3次 1个周期 2个周期 3个周期
平均池化 12.7 11.4 9.9 53.401 3 104.292 4 158.731 0
中间值池化 12.3 9.1 7.5 59.036 9 117.031 35 182.045 1
最大值池化 11.9 8.3 7.2 58.399 1 114.427 1 171.818 5
动态自适应池化 11.3 8.2 7.1 58.975 6 117.240 7 172.792 5

表 10 动态自适应池化对误识率的降低
Table 10 The error ratereduction of dynamic adaptive pooling

下载CSV
/%
迭代次数 较平均池化 较中间值池化 较最大池化
1 11.02 8.13 5.04
2 28.07 9.89 1.20
3 28.28 5.33 1.38

表 9可知,4种池化模型的周期耗时都随着迭代次数以倍数增长,增长趋势基本一致。在任意一次迭代下,动态自适应池化模型识别的错误率都最低。而且由表 10可知,动态自适应池化模型较其他模型的误识率最多可以降低28.28%。由此可知,动态池化模型在没有增加时间代价的前提下提高了卷积神经网络的识别的准确率。

卷积神经网络使用4种不同池化模型在对车牌数字学习的过程中均方误差的示意图如图 14所示,其中收敛指数为均方根误差开方的值,收敛指数越小,其收敛性越强,各算法起始收敛性都相同。

图 14 不同迭代次数下各模型收敛情况
Fig. 14 Convergence of each model in iterations

图 14可知,在不同迭代次数下,动态自适应池化算法的均方误差始终最低,达到一定收敛程度时使用的迭代次数最少,收敛速度最快。

根据在车牌数据集上的实验可知,与其余3种池化模型比较,使用动态自适应池化模型的卷积神经网络在对车牌数字识别过程中,耗时基本一致,收敛速度最快,识别性能最优。

3.2.2 人脸数据集实验结果与分析

使用人脸数据库来训练使用不同池化模型的卷积神经网络,通过识别的准确率和算法过程的收敛速度来验证动态自适应池化模型对卷积神经网络的学习性能提升效果。

使用的数据库为麻省理工学院生物与计算学习中心提供的人脸数据库(http://cbcl.mit.edu/software-datasets/heiseledownload/)。其中共有10个人的有脸图像,每个人的训练图像为324幅,共有3 240条训练数据;每个人的测试图像为200幅,共有2 000条测试数据。训练数据和测试数据分别如图 15(a)(b)所示。其余各项参数与3.1节和3.2.1节实验参数相同。使用平均池化模型、最大池化模型、中间池化模型和动态自适应池化模型的卷积神经网络对人脸库中的训练数据进行学习,然后使用训练后的模型对测试数据进行识别。分别进行3次迭代实验,记录各个迭代次数下的周期耗时、识别的错误率和均方误差。

图 15 人脸训练数据与测试数据
Fig. 15 Training and test data of face ((a) training data; (b) test data)

各个模型的卷积神经网络在不同的迭代次数下的误识率如表 11所示。其中最大降低率指动态自适应池化模型对其余3种模型在各个迭代次数下误识率降低的最大值。

表 11 不同池化模型在各迭代次数下的误识率
Table 11 Error rate of each pooling model in iterations

下载CSV
/%
池化模型 误识率
迭代1次 迭代2次 迭代3次
平均池化 19.5 16.7 13.3
中间值池化 18.3 12.9 10.1
最大池化 17.8 11.8 9.6
动态自适应池化 16.6 11.7 9.5
最大降低率 14.87 29.94 28.57

表 11可以看出,虽然对人脸的误识率要比对手写数字的误识率高,但是其规律并没有发生变化:随着迭代次数的增加误识率降低,对于不同的迭代次数,使用动态自适应池化模型的卷积神经网络的识别率依然最高。

3次迭代实验下,各个池化模型算法的收敛性与耗时情况如图 16所示。其中左侧纵坐标以均方根误差开方的值作为收敛指数,收敛指数越小,其收敛性越强。各算法起始收敛性都相同。右侧为周期耗时,显示不同迭代次数下各个池化模型的耗时递增的情况。

图 16 不同迭代次数下的收敛性与耗时情况
Fig. 16 Convergence and time in iterations

图 16中每种池化模型随着迭代次数的增加变化趋势基本一致。随着迭代次数的增加,所有池化模型的收敛速度加快,收敛指数变小,收敛性增强;而周期耗时基本保持持续线性增长。

根据在人脸数据集上的实验可知,在各个迭代次数下动态自适应池化模型的收敛速度都为最快,并且相比较于收敛速度与识别率的变化,每次迭代实验的周期耗时变化基本可以忽略,因此动态自适应池化算法提高算法的收敛速度和识别率没有增大时间代价。由此可知,使用动态自适应池化模型的卷积神经网络与使用其余3种池化模型的网络相比较,在其对人脸识别的过程中耗时基本相同,收敛速度最快,识别性能最优。

综合上述可知,无论是在车牌数据集上还是在人脸数据集上,使用动态自适应池化模型的卷积神经网络相比较于其他池化模型都为最优模型,对卷积神经网络的收敛性和识别率以及学习性能都有较大的提升,因此动态自适应池化模型适用于使用卷积神经网络处理2维图像的深度学习算法。

4 结论

通过在卷积神经网络的特征提取部分对不同池化模型进行选择,对比不同模型对特征提取的优化程度,分析其收敛速度、准确率以及对网络学习性能的影响,提出了一种基于最大池化算法改进的动态自适应池化模型,并对多种池化模型进行对比实验,研究改进池化模型对特征提取的优化程度和对收敛速度、模型准确率的提升效果以及对网络学习性能的影响。实验结果表明,使用动态自适应池化算法的卷积神经网络识别的准确率最高,均方误差下降速度最快,收敛性最好。因此可以得出结论,动态自适应池化模型对卷积神经网络的学习性能提升最大,效果最佳。这种模型也可以进一步应用于其他与卷积神经网络相关的深度学习算法。

参考文献

  • [1] Sun Z J, Xue L, Xu Y M, et al. Overview of deep learning[J]. Application Research of Computers , 2012, 29 (8) : 2806–2810. [ 孙志军, 薛磊, 许阳明, 等. 深度学习研究综述[J]. 计算机应用研究 , 2012, 29 (8) : 2806–2810. DOI:10.3969/j.issn.1001-3695.2012.08.002 ]
  • [2] Yu K, Jia L, Chen Y Q, et al. Deep learning:yesterday, today and tomorrow[J]. Journal of Computer Research and Development , 2013, 50 (9) : 1799–1804. [ 余凯, 贾磊, 陈雨强, 等. 深度学习的昨天、今天和明天[J]. 计算机研究与发展 , 2013, 50 (9) : 1799–1804. DOI:10.7544/issn1000-1239.2013.20131180 ]
  • [3] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science , 2006, 313 (5786) : 504–507. DOI:10.1126/science.1127647
  • [4] Liu J W, Liu Y, Luo X L. Research and development on deep learning[J]. Application Res earch of Computers , 2014, 31 (7) : 1921–1930. [ 刘建伟, 刘媛, 罗雄麟. 深度学习研究进展[J]. 计算机应用研究 , 2014, 31 (7) : 1921–1930. DOI:10.3969/j.issn.1001-3695.2014.07.001 ]
  • [5] Wu F, Zhu W W, Yu J Q. Researches on multimedia technology 2014-deep learning and multimedia computing[J]. Journal of Image and Graphics , 2015, 20 (11) : 1423–1433. [ 吴飞, 朱文武, 于俊清. 多媒体技术研究:2014-深度学习与媒体计算[J]. 中国图象图形学报 , 2015, 20 (11) : 1423–1433. DOI:10.11834/jig.20151101 ]
  • [6] Zheng Y, Chen Q Q, Zhang Y J. Deep learning and its new progress in object and behavior recognition[J]. Journal of Image and Graphics , 2014, 19 (2) : 175–184. [ 郑胤, 陈权崎, 章毓晋. 深度学习及其在目标和行为识别中的新进展[J]. 中国图象图形学报 , 2014, 19 (2) : 175–184. DOI:10.11834/jig.20140202 ]
  • [7] Graves A, Mohamed A R, Hinton G.Speech recognition with deep recurrent neural networks[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing.Vancouver BC:IEEE, 2013:6646-6649.[DOI:10.1109/ICASSP.2013.6638947]
  • [8] Deng L, Hinton G, Kingsbury B.New types of deep neural network learning for speech recognition and related applications:an overview[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing.Vancouver BC:IEEE, 2013:8599-8603.[DOI:10.1109/ICASSP.2013.6639344]
  • [9] Xu P, Bo H. Facial expression recognition based on CNN[J]. Microcomputer & Its Applications , 2015, 34 (12) : 45–47. [ 徐鹏, 薄华. 基于卷积神经网络的人脸表情识别[J]. 微型机与应用 , 2015, 34 (12) : 45–47. DOI:10.3969/j.issn.1674-7720.2015.12.015 ]
  • [10] Zhang C, Zhang Z Y.Improving multiview face detection with multi-task deep convolutional neural networks[C]//Proceedings of the IEEE Winter Conference on Applications of Computer Vision.Steamboat Springs, CO:IEEE, 2014:1036-1041.[DOI:10.1109/WACV.2014.6835990]
  • [11] Lee H, Grosse R, Ranganath R, et al.Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.Montreal:ACM, 2009:609-616.[DOI:10.1145/1553374.1553453]
  • [12] Matsugu M, Mori K, Mitari Y, et al. Subject independent facial expression recognition with robust face detection using a convolutional neural network[J]. Neural Networks , 2003, 16 (5-6) : 555–559. DOI:10.1016/S0893-6080(03)00115-1
  • [13] Huang G B, Lee H, Learned-Miller E.Learning hierarchical representations for face verification with convolutional deep belief networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Providence, RI:IEEE, 2012:2518-2525.[DOI:10.1109/CVPR.2012.6247968]
  • [14] Yu Y W, Yin G F, Yin Y, et al. Defect recognition for radiographic image based on deep learning network[J]. Chinese Journal of Scientific Instrument , 2014, 35 (9) : 2012–2019. [ 余永维, 殷国富, 殷鹰, 等. 基于深度学习网络的射线图像缺陷识别方法[J]. 仪器仪表学报 , 2014, 35 (9) : 2012–2019. ]
  • [15] Cai J, Cai J Y, Liao X D, et al. Preliminary study on hand gesture recognition based on convolutional neural network[J]. Computer Systems & Applications , 2015, 24 (4) : 113–117. [ 蔡娟, 蔡坚勇, 廖晓东, 等. 基于卷积神经网络的手势识别初探[J]. 计算机系统应用 , 2015, 24 (4) : 113–117. DOI:10.3969/j.issn.1003-3254.2015.04.019 ]
  • [16] Yuan A Q, Bai G, Jiao L J, et al.Offline handwritten English character recognition based on convolutional neural network[C]//Proceedings of the 10th IAPR International Workshop on Document Analysis Systems.Gold Cost, QLD:IEEE, 2012:125-129.[DOI:10.1109/DAS.2012.61]
  • [17] Giusti A, Cireşan D C, Masci J, et al.Fast image scanning with deep max-pooling convolutional neural networks[C]//Proceedings of IEEE International Conference on Image Processing.Melbourne, VIC:IEEE, 2013:4034-4038.[DOI:10.1109/ICIP.2013.6738831]
  • [18] Nagi J, Ducatelle F, Caro G A D, et al.Max-pooling convolutional neural networks for vision-based hand gesture recognition[C]//Proceedings of the IEEE International Conference on Signal and Image Processing Applications.Kuala Lumpur:IEEE, 2011:342-347.[DOI:10.1109/ICSIPA.2011.6144164]
  • [19] Gong Y C, Wang L W, Guo R Q, et al.Multi-scale orderless pooling of deep convolutional activation features[C]//Proceedings of the 13th European Conference on Computer Vision.Switzerland:Springer, 2014:392-407.[DOI:10.1007/978-3-319-10584-0_26]