No. 4
计算机工程2018年4月 April 2018
文献标志码:A
中图分类号:TP391
Computer Engineering
文章编号:1000-3428(2018)04-0243-05
•人工智能及识别技术•
一种适用于卷积神经网络的Stacking算法
张笑铭i’2,王志君2,梁利平2
(1.中国科学院大学电子电气与通信工程学院,北京100049; 2.中国科学院微电子研究所,北京100029)
摘要:为提高卷积神经网络的分类精度,提出一种结合多个网络的改进Stacking算法。将卷积神经网络作为基 分类器对数据进行分类,得到新的样本再经过元分类器分类。为降低元分类器输人数据的维度和多个网络分类结 果之间的相关性,采用主成分分析方法对基分类器的输出进行降维。在数据集上进行分类精度对比实验,结果表
明,与传统Stacking、基于平均后验概率算法和基于类投票算法相比,该算法在同类型网络和不同类型网络中,分类 精度均较高且更具有稳定性。关键词:卷积神经网络;Stacking算法;主成分分析;降维;网络结构;分类精度
中文引用格式:张笑铭,王志君,梁利平.一种适用于卷积神经网络的Stacking算法[J].计算机工程,2018,44(4): 243-247.
英文引用格式:ZHANG Xiaoming,WANG Zhijun, LIANG Liping. A Stacking Algorithm for Convolution Neural Network[J]. Computer Engineering ,2018 ,44(4) :243-247.
A Stacking Algorithm for Convolution Neural Network
ZHANG Xiaoming1’2,WANG Zhijun2,LIANG Liping2
(1. School of Electronic,Electrical and Communication Engineering,University of Chinese Academy of Sciences,Beijing 100049,China;
2. Institute of Microelectronics of Chinese Academy of Sciences, Beijing 100029, China)
[Abstract] In order to improve the classification accuracy of convolution neural network, an improved Stacking algorithm combining multiple convolution neural networks is proposed. The convolution neural network is used as the base classifier to classify the data, and the new sample is then classified by the meta-classifier. In order to reduce the dimension and correlation of the input data in meta-classifier,the dimension of output data of base classifier are reducted by Principal Component Analysis ( PC A). Experimental results on classification accuracy of data sets show that, compared with traditional Stacking, average posteriori probability based algorithm and class voting based algorithm, the classification accuracy of the proposed algorithm is higher and more stable in similar networks and different types of networks. [Keywords] convolution neural network; Stacking algorithm ; Principal Component Analysis ( PCA) ; dimensionality reduction ; network structure ; classification accuracy DOI:10.3969/j. issn. 1000-3428.2018.04.039
〇概述
虑将多种结构的卷积神经网络进行结合,使用
Stacking算法[7]将卷积神经网络当作基分类器,然后 选择合适的元分类器,最终实现更高的精度。但是, 由于卷积神经网络最终的分类类别较多,其中大型 数据集有1〇〇多个类别,此时结合况个卷积神经网 络的Stacking算法,其输人元分类器的向量维度为
为类别个数),该向量维度导致元分类器难
以训练以及其泛化能力的降低。文献[8 ]提出基于 概率的Stacking算法,将所有基分类器的概率输出 取平均后作为元分类器的输人。文献[9]提出基于 投票的Stacking算法,选择基分类器概率最大的输 出作为分类结果,将所有结果相加后输人元分类器。 上述算法都基于单个样本的特性,没有考虑整体训
随着深度学习技术的发展,分类问题开始采用
深度神经网络结构,其中卷积神经网络作为一个重 要组成成份,已经应用于计算机视觉等领域。目前,在卷积神经网络的研究领域,有多种网络结构被提 出,如 LeNet[1]、AlexNet[2]、VGG[3]、GoogLeNet[4]、NIN[5]和ReSNet[6]等,虽然其效果相比传统分类算 法具有明显的提升,但在对分类准确率有较高要求 的场合中,该单一网络结构只有通过加深层数才能 实现精度的提升,而加深网络的层数会导致训练过 程难以收敛,并产生梯度消失的现象。
为了在现有网络结构下继续提升精度,学者考
作者简介:张笑铭(1992—),男,硕士研究生,主研方向为计算机视觉、图像识别;王志君,副研究员、博士;梁利平,研究员、博士。 收稿日期:2017-03-23
修回日期= 2017-04-28
E-mail: zhangxiaoming@ ime. ac. cn
244
计算机工程
2018年4月15日
练样本的统计特性,因而提升效果有限,甚至在某些 数据集下出现效果下降的现象。
针对由基分类器输出的维度过高所导致的元分 类器泛化能力下降问题,本文提出适用于卷积神经 网络的改进Stacking算法,在类别数较多的分类任 务中利用训练样本的统计特性完成中间数据的降 维,以实现精度的提升。
类器的结果相加,用其训练元分类器,此时元分类器 的输入同样只有K个维度相比基于平均后验概率
的Stacking算法,该算法保留了每个基分类器的预 测结果,但是忽略了每个基分类器对其他类的预测 情况,因此,该算法对基分类器的选择和数据集的变 化较敏感^
2 改进Stacking算法
2.1卷积神经网络
1 Stacking 算法
1.1基于分类器输出的Stacking算法
卷积神经网络通过不同的卷积核提取图像的局 部特征,将该局部特征组合成更高层的全局特征,从 而完成图像从局部到整体的映射过程。卷积核特征 的提取利用了图像的局部相关性,局部相关性指某 像素点的周围点像素值有很大概率是与该点的像素 值相同,其中包含了很多冗余信息,而卷积的作用就 是过滤掉这些冗余从而得到真正有用的信息。图2 所示为卷积神经网络结构,其层类型主要有卷积层、 池化层、全连接层等Q
设由训练样本组成的数据集^上有#种学习算 法,该#种学习算法得到#个分类器,称为基分类器。
数据集D中的每个样本经过该#个分类器会输出# 个结果,把该#个结果当作|个新的样本,样本标签 为数据集^中对应的样本标签,使用新的样本训练一 个分类器,该分类器称为元分类器Q图1所示为 Stacking算法结构框架e使用Stacking算法时通过# 个基分类器将数据进行分类,将得到的#个结果组成 新的向量再经过元分类器分类后得到最终结果。
数
据组合
图2卷积神经网络结构
卷积神经网络的初始层用来提取底层特征。随
1.2基于平均后验概率的Stacking算法
着层数的加深,底层特征组合成具有更高视野的特 征,即越深的层其感受野范围越大,直至倒数第2层, 该层获得图片的整体抽象特征。倒数第1层是分类 器,该层根据前面各层所提取的特征判别图片的 类别。
卷积层的作用是提取特征,池化层的作用是扩 大局部感受野和减少参数,全连接层的作用是获得 整体抽象特征。目前研究中已经提出多种卷积神经 网络结构,这些网络结构的不同之处主要在于层的 类型以及层与层之间的连接关系。
2.2主成分分析
基于平均后验概率的Stacking算法,其目的是 解决由于基分类器个数或任务类别数过多导致的输 入元分类器数据维度过高的问题。设有#个基分类 器,个分类类别,x为输入数据,其中第/个基分类 器对应的分类结果为=[心,匕,…,],向 量中的元素表示每个类别的概率。对所有分类概率 求平均,将其作为元分类器的输入,即
[(Pu + P21 + …+ N,(Pn + + …+ Pm)/N,…,(PIK +P2K
+
***
+PNkVN]
通过该操作,数据从# X K维降为K维,但是, 该方法掩盖了每个基分类器的预测结果,因此,在类 别数较少的数据集中,该方法的精度往往低于基于 分类器输出的Stacking算法。
1.3基于类投票的Stacking算法
主成分分析 1012] (Principal Component Analysis,
PCA)是一种常用的降维技术,其将数据的坐标轴进
行旋转,选择数据方差最大的方向作为第1个新坐 标轴,因为方差越大说明信息量越大;选择与第1个 坐标轴正交的方向作为第2个坐标轴,该方向的剩 余信息量最大;选择和前2个坐标轴都相交的方向 作为第3个坐标轴。然后,按照上述方法依次选择
基于类投票的Stacking算法将每个基分类器中 输出概率最大的类设为1,其他设为〇,将所有基分
第44卷第4期张笑铭,壬志君,梁利平:一种适用于卷积神经网络的Stacking算法245
其余坐标轴a选择所需数量的坐标轴后,即完成了 数据从原始空间到降维后空间的变换i其中,数据 方差最大的方向可以通过计算数据的协方差矩阵来 获得#对协方差矩阵进行特征值分解,选择最大特 征值对应的特征向量作为第1个新坐标轴的方向,
选择次大的特征值对应的特征向量作为第2个新坐 标轴的方向,…
,依此类推,直至完成最后一个坐
标轴的选择Q
2.3 PCA-Stacking 算法
本文将卷积神经网络作为基分类器,结合主成 份分析方法,提出一种改进的Stacking算法JCA-
Stacking算法。根据基分类器具体类型的不同,采用
络,得到在数据集D上的^个模型,该^个模型对 数据集^进行分类,并将分类结果组成新的样本集
M。表达式如下:丨(u),/ = 1,2,…,ml
model 二 ,j 二\\,2,...,N\\M = K /2⑷,…‘U.)),兄.1*卜 1,2,…,m
步骤2将样本集M组合成矩阵X的形式,
^的每一行为一个样本向量,列数等于样本个数。 按式(1)计算样本集M的协方差矩阵C。
—^—-XTX C =
m - 1步骤3
(1)
计算协方差矩阵C的特征值和特征向
量,将特征值从大到小进行排序,保留前为数 据集类别个数)个特征值和其对应的特征向童u该 ^个特征向量组合成转换矩阵T。
步骤4如下:
(2)
2种组合方式:一种是网络结构相同但构成基分类器 的卷积神经网络层数不同,如图3所示;另一种是构 成基分类器的卷积神经网络结构完全不同,如图4 所示。
对样本集M中的每个样本使用转换矩
阵:T进行降维,得到降维后的样本集&表达式
步骤5用样本集S训练元分类器,其中通过交
叉验证法选择合适的元分类器参数。
数据经过基分类器的分类后,测试过程将该分 类结果组合成新的样本集,训练过程的转换矩阵T
对该样本集进行降维,降维数据经过元分类器的分
图3
同类型网络结构的PCA-Stacking算法结构框架
ResNet(20 层)}■
数
据组合
类后,得到最终测试结果。
3实验结果与分析
PCA降维)
元分类器}■
数据(
VGG(16层
结果、3.1 PCA维度个数保留
PCA对数据进行降维时会伴有信息量的损失,
用保留特征值占所有特征值的比例(方差保留百分
图4
不同类型网络结构的PCA-Stacking算法结构框架
比)衡量该损失的大小,表达式如下:
K
T/, _
多个卷积神经网络对每个类别的分类概率之间
相互关联,而PCA通过消除数据之间的相关性来达 到降维的目的。假设数据集中一共有^个类别,对 于基分类器的输出也只有^个维度是不相关的,因 此,PCA保留的特征向量个数为X。
元分类器选择逻辑回归[13]算法,同时为了满足 多分类任务的要求,其训练多个逻辑回归模型,每个 模型只对一个类别进行分类,元分类器训练过程中 参数的更新选择随机梯度下降法[14_1S%
深度学习的
样本数目较大,为了加快训练的收敛速度,并且要逼 近全局最优,每次只使用一个样本进行参数的更新。
元分类器的训练过程如下:步骤1
使用数据集D训练多个卷积神经网
J = 1
%/ o \\
r越大表示保留的信息量越大,即损失越小。
本文在CIFAR-10和CIFAR-100 2个数据集上进行验证实验。CIFAR-10数据集共有10个类别, 分为训练集和测试集,训练集中每个类别有5 000张 图片,测试集中每个类别有1 〇〇〇张图片。CIFAR-100 数据集共有1〇〇个类别,训练集中每个类别有500 张图片,测试集中每个类别有1〇〇张图片。记录方 差保留百分比r随特征值保留个数的变化情况,实
验结果如图5所示。从图5中可以看出,在同类型 网络结构中,当特征值保留个数与数据集类别数相 同时,在CIFAR-10数据集上保留了 99. 9%的方
246
计算机工程
2018年4月15日
差,在CIFAR-100数据集上保留了 97.6%的方差; 在不同类型的网络结构中,当特征值保留个数与数 据集类别数相同时,在CIFAR-10数据集上保留了 99.8%的方差,在CIFAR-100数据集上保留了
96. 8%的方差。通过图5还可以看出,继续增加特 征值保留个数时,方差保留百分比的增加有限,因
此,当特征值的保留个数等于类别数时,可以在实现数据压缩的同时保留足够的信息量。
3.2网络结构对比
使用Caffe深度学习框架测试结构为ResNet、VGG 和NIN的卷积神经网络,在CIFAR-10和CIFAR-100数据集上进行分类精度实验。然后,将所得到的模型作为
基分类器,实现基于分类器输出(Stacking)、基于平均后 验概率(Astacking)和基于类投票(Vstacking)的对比算 法,并与本文算法(PCA-Stacking)进行比较。3.2.1同类型网络
本文实验中同类型网络选择ResNet结构,训练 层数分别为20、32、44、56及110的模型,精度测试 结果如表1所7K。
表1
数据集
结合多个网络时不同算法的分类精度对比结果
如表2所7K。
表2
数据集
同类型网络不同算法分类精度对比
Stacking
算法
%
Astacking
算法
Vstacking
算法
PCA-Stacking
算法
CIFAR-10CIFAR-100
94.4174.71
94.6175. 12
94.3770.56
94.6375.29
从表2可以看出,在CIFAR-10和CIFAR-100数据集上,所有算法的分类精度都高于单一网络结构, 其中,本文算法在CIFAR-10数据集上比单一网络结 构最高精度提升了 1.46%,在CIFAR-100数据集上 比单一网络结构最高精度提升了 4.92%,同时,该算
%
110层93. 1770.37
不同层数结构分类精度结果
32层91.9766.63
44层92.7366.67
56层92.8168.60
20层91.2465.57
CIFAR-10CIFAR-100
法的分类精度也高于其他对比算法。3.2.2不同类型网络
不同类型网络选择20层的ResNet、16层的
VGG和3层的NIN进行实验,精度测试结果如表3
从表1中可以看出,随着网络层数的加深,分类精 度逐渐提高,但精度提升的难度越来越大。在
CIFAR-10数据集中,110层的ResNet比56层的ResNet 分类精度提升了 0.36%。在CIFAR-100数据集中, 110层的ResNet比56层的ResNet分类精度提升了 1.77% 0
所示。
表3
数据集
不同网络结构分类精度对比结果
ResNet-20 结构
91.2465.57
VGG-16结构
90.5562.42
%
NIN-3结构.90.01
CIFAR-10CIFAR-100
第44卷第4期张笑铭,王志君,梁利平:一种适用于卷积神经网络的Stacking算法247
从表3可以看出,不同网络结构的分类精度比 较接近,该设计消除了单个网络精度过低或过高对
算法效果造成的影响,结合多个不同结构的不同算 法分类精度对比结果如表4所示。
表4
数据集CIFAR-10CIFAR-100
networks for large-scale image recognitionf EB/OL]. [2017-03-05]. http://www. robots, ox. ac. uk:5000/ 〜vgg/ publications/2015/Simonyanl5/simonyanl5. pdf.
[4 ]
SZEGEDY C,LIU W, JIA Y. Going deeper with convolutions [C ]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA :IEEE Press ,2015 : 1 -9.
[5 ] [6 ]
LIN M,CHEN Q, YAN S. Network in network [EB/OL]. [2017-03-15]. https ://arxiv. org/pdf/1312.4400. pdf.HE K,ZHANG X,REN S. Deep residual learning for image recognitionf C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA:IEEE Press,2016:770-778.
[7 ] [8]
WOLPERT D. Stacked generalization [ J ]. Neural Networks, 1992,5(2) :241-260.
TSOUMAKASG, VLAHAVAS I. Distributed data mining of large classifier ensembles [ C ] //Proceedings of Companion Volume of the 2nd Hellenic Conference Springer, on Artificial Intelligence. Berlin, Germany:2002:249-256.
[9 ][10]
韦艳艳,李陶深.
一
结合不同结构的不同算法分类精度对比
Stacking算法91.2063.61
Astacking算法92.4169.86
Vstacking算法92.3468.56
%PCA-Stacking
算法92. 7870. 29
从表4可以看出,在不同网络结构下,Stacking算 法分类精度低于单一网络结构,原因在于不同网络结
构下,各个网络之间的相关性较弱,造成元分类器泛 化能力下降,因此,其分类精度低于单一网络结构。 本文PCA-Stacking算法使用了样本的统计特性,因 此,其分类精度比较稳定,在CIFAR-10数据集上比单 一网络结构最高精度提升了 1.54%,在CIFAR-100数 据集上比单一■网络结构最尚精度提升了 4. 72%。
4结束语
本文提出一种适用于卷积神经网络的改进 Stacking算法,该算法使用PCA对多个卷积神经网 络的分类结果进行降维,将降维后的数据输人元分 类器。实验结果表明,与其他Stacking算法相比,该 算法利用了样本的统计特性,提升了分类精度,且在 不同数据集下精度的提升较稳定。下一步将研究分 类精度与卷积神经网络组合方式的关系,以及元分 类器的类型对该算法的影响。
参考文献
[1 ]
LECUN Y,BOSER B E,DENKER J S. Backpropagation applied to handwritten zip code recognition [ J ]. Neural Computation, 19,1 (4) :541-551.
[2 ]
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. [S.l. ]: Curran Associates, Inc. ,2012:1097-1105.
[3 ]
SIMONYAN K,ZISSERMAN A. Very deep convolutional
种基于投票的Stacking方法[J].
计算机工程,2006,32(7) :199-201.
MACKIEWICZ A,RATAJCZAK W. Principal components analysis ( PCA) [ J ]. Computers and Geosciences, 1993 , 19(3) :303-342.
[11 ][12]
刘丽敏,樊晓平,廖志芳.基于迹范数的Ll-PCA算法[J]. 计算机工程,2013 ,39(4) :199-202.
ZOU H,HASTIE T,TIBSHIRANI R. Sparse principal component analysis [ J ]. Journal of Computational and Graphical Statistics ,2006,15 (2) :265-286.
[13] [14]
KING G, ZENG L. Logistic regression in rare events data[ J] . Political Analysis ,2001,9(2) : 137-163.
ZHANG T. Solving large scale linear prediction problems using
stochastic
gradient descent algorithms [ C ]//
Proceedings of the 21st International Conference on Machine Learning. New York,USA:ACM Press,2004 :919-926.
[15]
RECHTB,RE C, WRIGHT S,et al. Hogwild:a lock-free approach to parallelizing stochastic gradient descent[C]// Proceedings of the 24th International Conference on Neural Information Processing Systems. New York, USA: ACM Press ,2011:693-701.
编辑吴云芳
(上接第242页)
[10]
BREESE J S, HECKERMAN D, KADIE C. Empirical analysis of predictive algorithms for collaborative filtering[ J]. Uncertainty in Artificial Intelligence, 1998 , 98(7) :43-52.
[11]
JASCHKER, MARINHO L, HOTHO A, et al. Tag recommendations in social bookmarking systems [J]. AI Communications, 2008 ,21(4) : 231 -247.
[12] [13 ]
KDDCup [ EB/OL ]. [2012-12-21], http://acm. sjtu. edu. cn/courses/kddcup/2012.
NANOPOULOS A. Item recommendation in collaborative tagging systems [J]. EEE Transactions on Systems Man & Cybernetics, Part A: Systems & Humans 1,2011,41(4):
[16] [15] [14]
760-771.
AMANDI A, GODOY D. Hybrid content and tag-based profiles for recommendation in collaborative tagging systems [ C ]//Proceedings of Latin American Web Conference. Washington D,C. ,USA:IEEE Press,2008 :58-65.SCHLEE C. Targeted advertising technologies in the ICT space [ M ]. Berlin, Germany : Springer ,2013.
CANTADORI, BELLOGIN A, IGNACIO F T, et al. Semantic contextualisation of social tag-based profiles and item recommendations [ J ]. E-Commerce and Web Tech- nologies,2011,85:101-113.
编辑索书志
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务