2. 北京大学 信息科学技术学院, 数字视频编解码技术国家工程实验室, 北京 100871;
3. 清华大学 计算机科学与技术系, 智能技术与系统国家重点实验室, 北京 100084
2. National Engineering Laboratory for Video Technology, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;
3. State Key Laboratory of Intelligence Technology and System, Department of Computer Science, Tsinghua University, Beijing 100084, China
通过计算机对图像进行处理、分析与理解,识别各种模式的目标和对象,是模式识别领域的重要研究目标,其中特征的选择与构建在整个模式识别系统中具有举足轻重的地位[1]。深度学习出现之前,特征提取的类型主要有局部二值特征(local binary pattern, LBP)[2]、梯度直方图特征(histogram of gradient, HOG)[3]、尺度不变特征(scale invariant feature transform, SIFT)[4]等。不同特征算子针对不同的物体具有不同的识别效果。通常情况下,算法识别性能取决于特征设计是否合理、设计者经验是否丰富等。模式识别作为人工智能的子方向,其自动化水平决定了整个识别系统的智能化水平。近年来,基于神经网络的深度学习的研究解决了自动化、自适应特征提取的难题[5]。随着计算机性能的不断提升,深度学习已经为模式识别领域的研究热点。
根据物体类别标签是否已知,深度学习方法通常可分为无监督学习和有监督学习。以深度信念网络(deep belief network, DBN)为代表的无监督学习,在手写体识别[6]、图像识别[7]、音频分类[8]和语音识别[9]等领域取得了广泛的应用。与此同时,以卷积神经网络(convolutional neural network, CNN)为代表的监督学习及各种改进算法ConvNet[10-13]、CDBN[14]、DeCAF[15]被广泛应用到图像分类[16]、视频分析[17]、自然语言处理[18]等任务中。但现有的CNN及其改进算法如随机池化ConvNet[19]、ConvMaxout[10]等仍存在卷积核参数初始化不合理、训练时间较长等缺陷。
余凯等提出了一种基于分层稀疏编码(hierarchical sparse coding,HSC)的算法[20],通过分层池化和稀疏处理进行特征抽取,在手写体识别和多类物体识别上获得了很好的效果。Bruna等提出了一种基于小波变换的散射卷积神经网络Scat-Net[21], 采用小波变换分层提取图像高频信息代替参数学习过程,在图像识别和分类任务上体现出很好的性能。Chan等提出了一种通过提取图像主成分(PCA)特征对CNN卷积层参数进行初始化的模型PCANet[22],在人脸识别任务中获得了很好的效果,但在多类别物体识别任务中表现不佳。为了有效对CNN进行初始化设置、缩短训练过程、提升算法学习效率,并将其同时应用于图像多类别识别与分类,本文结合无监督学习和有监督学习的优势,提出了一种基于DBN强化的卷积神经网络预训练方法。通过零成分分析(zero component analysis, ZCA)白化和DBN网络学习得到图像的一组特征基底,对CNN的卷积核参数进行初始化。在MNIST、GTSRB、Caltech101数据集中进行验证性实验表明,本文算法在图像识别分类任务具有优异的性能。算法总体框架如图 1所示。
1 基于深度信念特征强化的卷积神经网络算法 1.1 强化预训练阶段 1.1.1 深度信念模型
2006年,Hinton等提出了深度信念网络的学习方法[6]。复杂的深度信念网络由多层受限Boltzmann机(restricted Boltzmann machine, RBM)构成。
DBN作为一种生成模型,由若干层的RBM和一层误差反向传播(back propagation, BP)神经网络组成。通过对若干层RBM进行训练,显、隐层之间的连接权值以最优边缘概率的形式得出。通过比较原始样本数据与经过RBM分布进行一次Gibbs转移后的数据之间的差异得到重构损失,以此对生成权值进行评估,再经过一层BP神经网络进行微调更新,最小化重构误差,获得输入样本新的表达。
标准的RBM作为一种基于能量的生成模型[12],通常由二值化的显、隐层单元组成。对于一组给定状态(v, h),其能量可定义为
$ {E_\theta }\left( {v, h} \right) = - \sum\limits_{i = 1}^{{n_v}} {{a_i}{v_i}} - \sum\limits_{j = 1}^{{n_h}} {{b_i}{h_i}} - \sum\limits_{i = 1}^{{n_v}} {\sum\limits_{j = 1}^{{n_h}} {{h_j}{W_{i, j}}{v_i}} .} $ | (1) |
式中:nv、nh分别表示显、隐层神经元数目,vi、hj分别表示显、隐层神经元状态,Wi, j表示显、隐层间的连接权值矩阵元素,ai和bj分别为显、隐层的偏置向量元素,为待学习参数。显、隐层之间的联合概率分布通常由能量函数给出[23],
$ P\left( {v, h} \right) = \frac{1}{Z}{{\rm{e}}^{ - {E_\theta }\left( {v, h} \right)}}. $ | (2) |
其中Z为配分函数,为在节点的所有可能取值下e-Eθ(v, h)的和。与此类似,可见层取值的边缘分布可通过对式(2)求和得到,
$ P\left( {v, h|\theta } \right) = \frac{1}{Z}\sum\limits_h {{{\rm{e}}^{ - {E_\theta }\left( {v, h} \right)}}} . $ | (3) |
Hinton等提出了一种对比散度算法(contrastive divergence, CD)对重构数据进行近似采样更新网络权重[12]。以训练集中的每一像素作为RBM显层vi的输入,依据式(4)和(5)计算隐层神经元被激活的概率,其中sigmoid()函数为非线性激活函数:
$ P\left( {{h_j} = 1|v} \right) = {\rm{sigmoid}}\left( {\sum\limits_{i = 1}^{{n_v}} {{W_{i, j}}{v_i} + {b_j}} } \right), $ | (4) |
$ P\left( {{v_j} = 1|h} \right) = {\rm{sigmoid}}\left( {\sum\limits_{j = 1}^{{n_h}} {{W_{i, j}}{h_i} + {a_j}} } \right). $ | (5) |
通过对概率的对数求偏导,完成对RBM模型的权重更新,其中α为学习率, 〈〉为由下标指定的分布的期望。
$ \Delta {W_{i, j}} = \alpha \frac{{\partial \ln P\left( v \right)}}{{\partial {W_{i, j}}}} = \alpha \left( {{{\left\langle {{v_i}{h_j}} \right\rangle }_{{\rm{data}}}} - {{\left\langle {{v_i}{h_j}} \right\rangle }_{{\rm{model}}}}} \right). $ | (6) |
通过RBM训练得到的权值,通常只能保证在单层RBM网络中的特征向量最优化,却难以在整个深度信念模型中实现最优,因此在多层RBM顶层使用单层的BP网络通过反向传播算法最小化重构误差,将错误信息自顶向下传播至每一层RBM进行微调[6]。通过使用深度信念模型对部分训练样本进行预训练得到关于训练集的特征基底,并对CNN模型进行初始化,能够有效克服CNN模型中因卷积核初始化欠优导致的网络参数学习难度较大、收敛时间较长等问题,使得网络参数能够在训练开始前就处在关于训练样本的最优位置,有效加速了模型后续的收敛速度。
1.1.2 特征白化零成分分析[24]白化作为一种数据预处理方式,使用方差标准化的方式,将数据从x映射至xZCAw,类似于一种生物视网膜处理图像的粗糙模型。
将n个维数据点按列叠成一个维度为d×n的矩阵X, 其协方差矩阵为
$ {\rm{COV}}\left( \mathit{\boldsymbol{X}} \right) = \frac{1}{{n - 1}}\mathit{\boldsymbol{X}}{\mathit{\boldsymbol{X}}^{\rm{T}}}. $ | (7) |
设有正交矩阵P和对角矩阵D,使得
$ \mathit{\boldsymbol{X}}{\mathit{\boldsymbol{X}}^{\rm{T}}} = \mathit{\boldsymbol{PD}}{\mathit{\boldsymbol{P}}^{\rm{T}}}. $ | (8) |
定义线性变化Y=QX消除输入数据间的关联关系,其中Q为白化矩阵。定义I为单位矩阵,约束YYT=(n-1)I,则通过式(9)可求解出Q。
$ \mathit{\boldsymbol{Q}} = \sqrt {n - 1} {\left( {\mathit{\boldsymbol{X}}{\mathit{\boldsymbol{X}}^{\rm{T}}}} \right)^{ - \frac{1}{2}}}. $ | (9) |
$ \mathit{\boldsymbol{X}}{\mathit{\boldsymbol{X}}^{\rm{T}}} = {\left( {{{\left( {\mathit{\boldsymbol{PD}}{\mathit{\boldsymbol{P}}^{\rm{T}}}} \right)}^{ - 1}}} \right)^{\frac{1}{2}}} = \mathit{\boldsymbol{P}}{\mathit{\boldsymbol{D}}^{ - \frac{1}{2}}}{\mathit{\boldsymbol{P}}^{\rm{T}}}. $ | (10) |
将X投影到它的主成分分量空间,对每个主成分分量除以该方向方差的平方根后进行反投影,得到经过ZCA白化后的结果。通过ZCA白化对特征进行处理,有效降低输入数据的冗余性[24]。将ZCA白化后的结果与深度信念预训练得到的权值结合生成一组特征集,以此作为卷积神经网络的卷积核,使得CNN的权值及网络参数在训练开始前就处于相对较优位置,使得网络能够更快、更准确地迭代接近全局最优值。图 2和3分别为MNIST数据库中随机选取的部分图像碎片和对其进行白化处理过后的结果。
1.2 基于深度信念的卷积神经网络算法
在传统卷积神经网络训练过程中,当前层卷积核通过对输入的激活信号进行卷积滤波,得到当前层卷积核作用下的卷积特征输出。卷积核学习效果的好坏,直接决定了图像的辨别性特征能否被有效提取。目前常见的卷积核设置方法通常采用随机初始化设置或是提前在特大数据集如ImageNet中进行预训练。对于随机初始化设置的卷积核,使用随机梯度下降法到达全局最优值所需时间较长,如果使用在大数据集中进行预训练的方法,通常也需要在源数据集中进行大规模训练后才能迁移到目标数据集。如果源数据集和目标数据集差异较大,这种迁移学习的方法通常不能体现出很强的优势,且对计算平台要求较高。
本文提出了一种结合无监督和有监督学习方法的改进的卷积神经网络预训练算法用于图像识别分类。首先,通过在训练样本的每个类别中随机抽样1%~2%的样本,对其进行碎片化后提取ZCA白化特征;通过深度信念模型对抽取得到的样本进行无监督特征抽取,得到一组使得训练样本重构误差最小的有效权值。通过结合ZCA白化特征,本文使用得到的特征基底对卷积神经网络进行逐层初始化。
对于非凸优化问题,初始点的选择对后续更新迭代过程起着至关重要的作用,不恰当的初始化权重对后续模型性能存在一定影响。本文算法通过使用无监督学习得到的相对较优权值对卷积神经网络进行逐层优化,使得第1次神经网络前向计算得到的特征基底较随机初始化得到的特征更接近全局最优点,有效降低了模型学习的难度,在一定程度上避免了在随机梯度下降过程中陷入局部极小值,使得整体损失函数能够较快收敛至全局最优值。算法流程图如图 4所示。
2 实验设置及分析
为了验证本文算法在图像识别分类任务中的性能,分别在手写数字识别库MNIST、多物体类别分类库Caltech101以及交通标志识别库GTSRB等公开数据集中进行对比实验。本文实验运行平台为Inter(R) Core(TM)i5-3210,主频3.5 GHz,内存为32 GB。采用MATLAB 2014a作为编程语言。
2.1 MNIST手写数字识别MNIST为国际通行手写数字识别库[25],其中包含6万张训练样本图片和1万张测试图片。本文在每类图像训练样本中选取了150张作为学习图片供深度信念模型进行特征学习,分别测试了特征采样窗口变化以及白化强度变化情况下识别错误率的变化,并与现有算法进行对比。
2.1.1 特征采样窗口本小节固定从DBN中提取400个特征,白化系数固定为0.1,分别采用了2×2、4×4、6×6、8×8像素的窗口对选取的训练样本进行特征采样。从实验结果可得,当使用4×4像素的窗口对图像进行特征采样时,识别性能最佳。当采样窗口过小时,特征过于细腻,易导致过拟合的出现。当采样窗口逐渐增大时,特征提取越来越模糊,重构误差明显上升,识别性能下降。具体实验结果如表 1所示。
2.1.2 白化系数
在对采样得到的图像碎片进行ZCA白化时,需要选取合适的白化系数ε进行噪声抑制,以降低数据的冗余性。在基于重构的模型中,损失函数需要对那些与原始输入数据差异较大的重构结果进行惩罚。图 5和6分别为白化系数为0.05和0.1时得到的图像碎片。
本文分别测试了ε从0.05上升到0.1时分类精度的变化情况,结果如图 7所示。结合图 5和6可得,当白化系数取值较低时,白化强度较低,低通滤波效果不明显,导致白化后的数据中仍然存在较大的冗余度;当白化系数过大时,白化强度很大,会使得原有特征中的部分有效信息被一并滤去,从而导致错误率明显上升。
2.1.3 算法对比实验
将本文算法性能与近年来图像识别领域的常用算法进行对比。在PCANet中,给定8个特征采样窗口为7×7像素的滤波器。在本文算法中,采用4×4像素的窗口对学习样本进行采样,通过DBN学习得到特征基底并对卷积神经网络的卷积层进行逐层初始化。
由表 2可知,现有算法在MNIST公开数据集中均取得很好的效果。本文算法通过采用预训练学习得到的特征基底对卷积层进行逐层初始化,使得网络更易收敛至全局最优点。表 2得到的实验结果表明,本文算法识别错误率较PCANet和ConvNet分别下降0.33%和0.2%,较ScatNet下降0.1%。
2.2 Caltech101物体识别分类
通过在Caltech101标准库中进行实验,来验证本文算法在多类别物体识别分类任务中的性能。Caltech101作为国际通用物体识别分类训练库,包含101类物体图像,共计9 144张图片,每类图片包含31张到800张不等。因为部分类别图像数目较少,本文分别从各类中选取30张作为训练样本图片,每类样图片中选取了20张作为学习样本,剩余图片作为测试集。
本文采用4×4像素的窗口对学习样本图片进行特征采样,白化系数为0.1,预训练特征提取数量为300。将实验结果与现有算法的结果进行了对比,结果如表 3所示。从实验结果来看,本文算法在Caltech101数据集上的识别精度能够达到92%,比ConvNet[10-13]、CDBN[14]等经典算法有很大提升。SPP-Net通过采用经典的空间金字塔池化(spatial pyramid pooling, SPP)代替普通池化层,支持以多尺度的原始图片作为输入数据,避免了图像规则化过程中的信息丢失,识别精度明显优于传统深度学习方法。当每类训练样本为30张图片时,PCANet[22]在两层7×7像素窗口的滤波器作用下得到的识别精度保持在68.56%左右,本文与之相比,识别精度提高了23%。
从表 3的实验结果中可以看出,本文算法将ZCA白化和无监督学习得到的特征基底作为卷积核对CNN进行预训练,在仅采用了一个卷积层和一个下采样层的情况下,在多类别物体识别任务中体现出了很大的优势并取得很好的性能。
如图 8所示,经过反复验证,本文算法对汽车、照相机、杯子、电话、木桶、大象和手表等7类物体的识别精度达到了100%。
2.3 GTSRB交通标志识别
德国交通标志识别标准(German Traffic Sign Recognition Benchmark, GTSRB)数据集为“2011年国际神经网络会议(2011 International Joint Conference on Neural Networks)”上引入的交通标志识别挑战赛采用的数据集,赛事包括所有交通标志大类分类和特定类别交通标志细类分类。GTSRB数据集包含51 839幅交通标志图像,包括6个大类:限速标志、禁令标志、解除禁令标志、指示标志、警告标志和其他标志。
因受限于硬件资源,本文仅在GTSRB交通标志数据集中的SPEZIAL(其他标志)部分进行训练并测试,该部分主要包含促使车辆驾驶员及行人了解路上特殊情况的标志。
本文从SPEZIAL的4个类别中分别选取200张图片作为学习样本,使用6×6像素的采样窗口进行白化特征采样,固定白化系数为0.12,并采用含有300个隐层神经元的深度信念模型对其进行无监督特征提取。表 4给出了本文算法与GTSRB官方提供的具有代表性的方法的结果对比。除人类识别精度为100%之外,Sermanet等提出的Committee of CNNs使用复杂的多模型融合方式取得了最佳效果,识别精度为99.22%[2?],本文算法通过对部分样本图片预训练,提高了后续网络特征提取及权值迭代更新的速度与准确率,识别精度达到了99.07%,仅次于Committee of CNNs方法和人类识别。部分错误识别图像如图 9所示,识别错误的主要原因为图片交通标志被部分遮挡、光照太低、运动模糊等。
3 结论
本文提出了一种采用深度信念模型学习对初始权值进行优化的卷积神经网络预训练方法,该模型结构简单、易于实现。通过对部分训练样本图片进行碎片化和ZCA白化处理,去除相邻碎片间的关联,从而降低相邻特征之间的冗余性,再经过深度信念模型无监督逐层优化,按最大概率生成权值后得到一组关于训练样本重构误差相对最小的特征基底,对传统的卷积神经网络参数进行初始化。在本文初始化方法和卷积神经网络训练中,特征采样窗口大小、深度信念模型隐层神经元的个数,都对模型识别、分类性能有着极为关键的作用。通过在MINIST、Caltech101、GTSRB(SPEZIAL)等不同的国际公开图像数据库中进行多次对照实验,本文提出的算法在物体识别、分类任务中的性能较现有算法取得一定提升。下一步将继续强化无监督特征预学习的过程,使其能够在学习样本图片较少的情况下,仍然能够将重构误差保持在较低水平。
[1] |
YUILLE A L, HALLINAN P W, COHEN D S. Feature extraction from faces using deformable templates[J]. International Journal of Computer Vision, 1992, 8(2): 99-111. DOI:10.1007/BF00127169 |
[2] |
OJALA T, PIETIKAINEN M, MAENPAA T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 971-987. DOI:10.1109/TPAMI.2002.1017623 |
[3] |
DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, USA, 2005.
|
[4] |
LOWE D G. Object recognition from local scale-invariant features[C]//Proceedings of the Seventh IEEE International Conference on Computer Vision. Kerkyra, Greece, 1999.
|
[5] |
HINTON G E. Learning multiple layers of representation[J]. Trends in Cognitive Sciences, 2007, 11(10): 428-434. DOI:10.1016/j.tics.2007.09.004 |
[6] |
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 |
[7] |
SIHAG S, DUTTA P K. Faster method for deep belief network based object classification using DWT[J]. arXiv preprint arXiv: 1511.06276, 2015.
|
[8] |
TORRES-CARRASQUILLO P A, SINGER E, KOHLER M A, et al. Approaches to language identification using Gaussian mixture models and shifted delta cepstral features[C]//Proceedings of the 7th International Conference on Spoken Language Processing. Denver, USA, 2002.
|
[9] |
COLLOBERT R, BENGIO S. SVMTorch:Support vector machines for large-scale regression problems[J]. Journal of Machine Learning Research, 2000, 1(2): 143-160. |
[10] |
GOODFELLOW I J, WARDE-FARLEY D, MIRZA M, et al. Maxout networks[J]. arXiv preprint arXiv: 1302.4389, 2013.
|
[11] |
JARRETT K, KAVUKCUOGLU K, RANZATO M, et al. What is the best multi-stage architecture for object recognition?[C]//IEEE 12th International Conference on Computer Vision. Kyoto, Japan, 2009: 2146-2153.
|
[12] |
HINTON G E. A practical guide to training restricted Boltzmann machines[M]. .
|
[13] |
KAVUKCUOGLU K, SERMANET P, BOUREAU Y L, et al. Learning convolutional feature hierarchies for visual recognition[C]//Proceedings of the 23rd International Conference on Neural Information Processing Systems. Vancouver, Canada, 2010: 1090-1098.
|
[14] |
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, Canada, 2009: 609-616.
|
[15] |
DONAHUE J, JIA Y Q, VINYALS O, et al. DeCAF: A deep convolutional activation feature for generic visual recognition[C]//Proceedings of the 31st International Conference on Machine Learning. Beijing, 2014: 647-655.
|
[16] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, USA, 2012: 1097-1105.
|
[17] |
SIMONYAN K, ZISSERMAN A. Two-stream convolutional networks for action recognition in videos[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montréal, Canada, 2014: 568-576.
|
[18] |
COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. The Journal of Machine Learning Research, 2011, 12: 2493-2537. |
[19] |
ZEILER M D, FERGUS R. Stochastic pooling for regularization of deep convolutional neural networks[J]. arXiv preprint arXiv: 1301.3557, 2013.
|
[20] |
YU K, LIN Y Q, LAFFERTY J. Learning image representations from the pixel level via hierarchical sparse coding[C]//IEEE International Conference on Computer Vision and Pattern Recognition. Colorado Springs, USA, 2011: 1713-1720.
|
[21] |
BRUNA J, MALLAT S. Invariant scattering convolution networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(8): 1872-1886. DOI:10.1109/TPAMI.2012.230 |
[22] |
CHAN T H, JIA K, GAO S H, et al. PCANet:A simple deep learning baseline for image classification?[J]. IEEE Transactions on Image Processing, 2015, 24(12): 5017-5032. DOI:10.1109/TIP.2015.2475625 |
[23] |
SERRE T, KREIMAN G, KOUH M, et al. A quantitative theory of immediate visual recognition[J]. Progress in Brain Research, 2007, 165: 33-56. DOI:10.1016/S0079-6123(06)65004-8 |
[24] |
COATES A, NG A Y. Selecting receptive fields in deep networks[C]//Proceedings of the 24th International Conference on Neural Information Processing Systems. Granada, Spain, 2011: 2528-2536.
|
[25] |
DENG Li. The MNIST database of handwritten digit images for machine learning research[J]. IEEE Signal Processing Magazine, 2012, 29(6): 141-142. DOI:10.1109/MSP.2012.2211477 |
[26] |
BELONGIE S, MALIK J, PUZICHA J. Shape matching and object recognition using shape contexts[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(4): 509-522. DOI:10.1109/34.993558 |
[27] |
HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824 |
[28] |
CIREŞAN D, MEIER U, MASCI J, et al. Multi-column deep neural network for traffic sign classification[J]. Neural Networks, 2012, 32: 333-338. DOI:10.1016/j.neunet.2012.02.023 |
[29] |
STALLKAMP J, SCHLIPSING M, SALMEN J, et al. Man vs. computer:Benchmarking machine learning algorithms for traffic sign recognition[J]. Neural Networks, 2012, 32: 323-332. DOI:10.1016/j.neunet.2012.02.016 |
[30] |
SERMANET P, LECUN Y. Traffic sign recognition with multi-scale convolutional networks[C]//Proceedings of 2011 International Joint Conference on Neural Networks. San Jose, USA, 2011: 2809-2813.
|
[31] |
ZAKLOUTA F, STANCIULESCU B, HAMDOUN O. Traffic sign classification using K-d trees and random forests[C]//Proceedings of 2011 International Joint Conference on Neural Networks. San Jose, USA, 2011.
|