1、一种融合 AutoEncoder 与 CNN 的混合算法用于图像特征提取 刘兴旺 王江晴 徐科 中南民族大学计算机科学学院 华中科技大学计算机科学与技术学院 摘 要: 深度学习方法在图像的特征提取方面具有优势。针对传统特征提取方法需要先验知识的不足, 提出一种自动编码器 (Auto Encoder) 与卷积神经网络 (convolutional neural network, CNN) 相结合的深度学习特征提取方法。该方法给 Auto Encoder 加入快速稀疏性控制, 据此对图像训练出基本构件, 并初始化 CNN 的卷积核;同时, 给 CNN 加入了滤波机制, 使输出特征保持稀疏性。实验结
2、果表明, 在 Minist 手写数字库和 Yale 人脸库的识别效果上, 提出的特征提取方法均取得了较好的结果, 实验进一步通过交叉验证 T 检验指出, 引入滤波机制的特征提取模型优于没有采用滤波机制的模型。关键词: 深度学习; 卷积神经网络; 自动编码器; 滤波; 稀疏控制; 作者简介:刘兴旺 (1991-) , 男, 硕士研究生, 主要研究方向为文字图像处理;作者简介:王江晴 (1964-) , 女, 教授, 博士, 主要研究方向为模式识别、图像处理;作者简介:徐科 (1981-) , 男 (通信作者) , 讲师, 博士研究生, 主要研究方向为文字识别 () .收稿日期:2016-10-1
3、6基金:国家自然科学基金资助项目 (60975021) Novel image feature extraction algorithm based on fusion Auto Encoder and CNNLiu Xingwang Wang Jiangqing Xu Ke College of Computer Science, South-Central University for Nationalities; Abstract: Deep learning method has very excellent ability of image feature extraction. I
4、n order to get rid of disadvantages of traditional methods require a priori knowledge, this paper proposed an image feature extraction algorithm based on the fusion Auto Encoder and convolutional neural network ( CNN) . The method introduced a fast sparsity control technique to Auto Encoder and util
5、ized Auto Encoder to train the basic elements of image and initialized the convolution kernel of CNN. Meanwhile, the algorithm added filtering mechanism to the CNN to keep the sparsity of output characteristics. The results of experiments point out that this method achieves good performance on the M
6、inist handwritten digital library and the Yale face database. Furthermore, the advanced experimental outcomes indicate that the feature extraction model included the filtering technique is more effective than the model without filtering mechanism by using cross-validation with T test.Keyword: deep l
7、earning (DL) ; convolutional neural network; Auto Encoder; filter; sparse control; Received: 2016-10-160 引言当前, 深度学习 (DL) 是机器学习领域中最热门和具有代表性的人工智能技术之一。有关深度学习的理论研究与技术应用引起学术界和工业界的广泛兴趣。2016 年 3 月 15 日, 韩国棋手李世石在同 Google 的机器人 Alpha Go 围棋比赛中, 以 14 落败而告终。本次人机大战引发的人工智能和机器学习的技术热潮不减反增。在此之前 1 月 28 日, Nature杂志以封面论
8、文介绍 Google 旗下公司 Deep Mind 开发的 Alpha Go 人工智能机器人, 它刚刚击败了欧洲围棋冠军。它的核心技术是采用了两个深度神经网络 (deep nerual network, DNN) , 即policy network 和 value network, 从而极大地降低了需要考虑的搜索空间的复杂度, 前者降低搜索的广度, 后者降低了搜索的深度, 类似人脑在下围棋时凭直觉快速锁定策略的思维方式1。2011 年 2 月 14 日16 日, 在美国著名的电视竞答节目 Jeoparty 中, IBM 装载了基于深度学习技术构建的 Deep QA 问答系统的超级计算机 Wat
9、son2, 以绝对优势战胜该节目的两位前冠军, 彰显了计算机在自然语言处理技术上可以超越人类的智能行为3。深度学习具有深层结构的特点, 其他浅层结构模型, 如最大熵和 Softmax 回归、support vector machine 等方法的局限性主要是依赖有标签的样本、对复杂函数难以表示和陷入局部最优化, 或者泛化能力受到样本数据量的影响较大, 如 BP 算法。深度学习采用训练多个单层非线性网络, 组合底层特征构成数据的抽象表示, 从而表达数据的本质特征。近年来, 诸多学者将深度学习方法应用于图像处理、语音识别和情感识别等模式识别领域。自 Hinton 等人于 2006 年提出深度学习方法
10、以来, 有关深度神经网络的研究和应用取得较多进展4。在图像处理方面, 吕启等人5利用深度信念网络 (deep belief network, DBN) 的优点, 提出一种基于 DBN 模型的遥感图像分类方法, 取得比传统分类方法更好的分类结果。毛存礼等人6将降噪自动编码器 (Auto Encoder) 与深度神经网络结合, 用于有色金属领域实体识别, 获得了较好的识别效果。胡帅等人7提出一种改进的多层降噪自编码算法, 在临床诊断上取得了较好的结果。在语音识别方面, 文献8结合深度置信网络和级联去噪自编码器的优点, 设计一种混合模型对作曲家进行分类。文献9将自编码网络用于孤立词语音识别, 较传统
11、识别方法取得了较好的结果。Deng 等人10论述将深度学习方法用于语音识别的可行性, 提出五种改进方法, 以期改善深度学习在语音识别时的效果。在大数据应用领域, 针对大数据的高度非线性, 不能用向量模拟的特点, Zhang 等人11提出一种深度计算模型, 用于学习发现数据的特征。文献12讨论了深度学习在数据挖掘方面的应用, 如多媒体数据挖掘, 拓展了深度学习的应用领域。在三维物体识别方面, Zhu 等人13提出将深度学习方法用于三维物体识别, 自动学习提取三维物体的特征。在特征学习算法方面, 文献14阐述了玻尔兹曼机的相关概念、学习过程和几种典型学习算法, 并指出玻尔兹曼机存在的问题。黄凯奇等
12、人15从实例、类别和语义角度, 探讨分类与检测研究中存在的困难, 并指出表达学习和结构学习的重要性。Coates 等人16提出基于 K-means 的特征提取算法, 并对 K-means 的有效变形进行补充论述。文献17利用 PCA 结合二进制散列和块直方图构建深度 PCA-NET, 获得了较好的分类识别结果。在情感识别方面, Jung 等人18利用深度学习方法重构面部表情, 从而进行情感分类判断。文献19针对卷积神经网络 (CNN) 在大尺度图像上训练时间长的不足, 提出了一种基于多级金字塔的卷积网络, 提高了训练效率。在交通流预测方面, 针对浅层交通流预测模型的不足, Lyu 等人20提出
13、应用深度学习解决交通流预测问题, 用自动编码器提取交通流特征, 以期获得实时和准确的结果。卷积神经网络具有抽取并组合局部特征的优点, 适合处理高维度数据, 自动编码器在深度学习领域适合用来作单层网络的训练。本文提出的 Auto Encoder与 CNN 融合的特征提取模型, 将两者的优点结合在一起, 用 Auto Encoder 训练并初始化 CNN 网络的权值, 在图像特征抽取方面, 获得比传统方法更好的效果。1 Auto Encoder 算法深度神经网络的单层学习方法, 可用图 1 的重构模型来表示。样本数据经过编码和解码处理, 若重构的输出误差在限定范围内, 即可认定编码过程是对输入样本
14、数据的有效表达。后续的高层网络以低层编码输出为输入特征, 最后通过少量的带有标签的样本数据微调整个网络结构和修正网络参数。图 1 重构模型 下载原图Auto Encoder 可以将高维数据转换为低维表示9,10, 是一个含有输入层、隐藏层和输出层的三层网络, 网络结构如图 2 所示, 其中隐藏层有 m 个节点, 输出层和输入层均有 n 个节点, 1 为偏置量。其中, 网络的输入表示为 x= (x1, x2, , xn) , 输出表示为 y= (y1, y2, , yn) 。因此, Auto Encoder 的全局代价函数如式 (1) 所示, 单次代价函数如式 (2) 所示。其中:s 为输入样本
15、数, n 为输入维度, x j表示样本 i 的第 j 个分量, y j表示样本 i 对应输出的第 j 个分量。当输出误差 E 足够小, 此时表明输入样本数据可通过隐藏层重构表达11,12, 则隐藏层输出即为提取的样本特征13,14。图 2 Auto Encoder 网络结构示意图 下载原图本文为保持提取到的特征具有稀疏性, 给单次代价函数 El (如式 (2) ) 加入了稀疏控制, 如式 (3) 所示, 其中 KL (h j) 如式 (4) 所示。其中: 为控制稀疏惩罚因子; 是一个很小的常量;h j表示隐藏层节点 j 的单次输出。在诸多论文中把 hj改为所有样本在隐层节点 j 的输出均值,
16、虽然能实现稀疏控制, 但增加了一倍训练时间。本文方法能实现稀疏控制, 且不增加额外训练时间。在经过迭代训练, 获得隐层权值 W 后, 便可用于特征提取模型的卷积层的卷积核的初始化, 然后进行特征提取。2 Auto Encoder 与 CNN 的结合CNN 具有权值共享, 输入数据可为原始图像等优点。Auto Encoder 具有快速提取图像基本构件的能力。本文将这两个算法的优点结合在一起, 提出了一种基于 Auto Encoder 预训练 CNN 网络的方法。如图 3 所示, 网络经过初始化后, 通过有标签的数据进行反向微调, 分类器可选择像 softmax 这样的分类器。本文主要聚焦于用 A
17、uto Encoder 初始化 CNN 后, 探讨经过初始化后的网络是否也能较好地划分特征空间和用于特征提取, 暂不引入反向微调机制。本文特征提取网络结构如图 4 所示, 第一层为输入层, 输入数据为原始图像, 网络各层描述见下文。图 3 Auto Encoder 与 CNN 融合模型 下载原图图 4 特征提取模型 下载原图2.1 卷积层传统 CNN 卷积层的 map 权值参数都是经过梯度下降不断迭代得到。网络第二层为卷积层, 共 nummap 个 map, 每个 map 包含 mapwidthmapheight 大小的节点, 而且还包含一个卷积核 Wi (i=1, 2, , nummap)
18、, 由每个节点共享, 这些卷积核由 Auto Encoder 网络训练得到。Auto Encoder 训练完成后, 用 Auto Encoder 网络隐藏层每个节点的权值依次初始化 CNN 网络第二层每个 map 的卷积 Wi (i=1, 2, , nummap) 。本文实验按步长 step1 在原始图像上, 从左到右, 从上至下移动, 选取sizepw1sizeph1 大小的 patchj (小图块) , 与第二层的每个 map 的卷积核 Wi作运算, 得到每个 map 的每个节点的值 valueij, 如式 (5) 所示。2.2 过滤层本文提出的模型增加过滤层, 是为了提升模型的特征提取能
19、力。实验假设, 一个对象是由少数几个基本构件在少数几个位置组合而成, 卷积层每个 map 的众多节点中, 极大多数值是不需要的, 即这些值为噪声。本文在网络第三层 (共nummap 个 map) 设计了一种过滤方法, 如式 (7) 所示。其中:u 为每个 mapi所有节点的均值;s 为方差;mapwidth 表示每个 mapi的宽;mapheight 表示每个 mapi的高; 为自由参数。根据式 (7) 计算得到的 k, 选择 mapi的前 k 大的节点即可, 其他节点设置为不激活。式 (7) 的图像如图 5 所示, 此时 =2, 控制曲面的陡峭。图 5 滤波函数曲面 下载原图在图 5 中可以
20、发现均值大时, map 中大部分值遭到抑制;均值小方差大时选择的值较多, 原因是此时波峰较多。2.3 池化及特征输出网络第四层为池化层, 共 nummap 个 map, 采用 sizepw2sizeph2 的 patch (小图块) , 在第三层 map 上按步长为 step2 从左至右、从上至下移动, 取 patch中的最大值作为输出, 形成第四层。池化不仅可用于降低维度, 还可以提取某一范围内的最大激活值。由于不引入反向微调机制, 本文研究聚焦经过初始化后模型的特征提取能力。输出层 (或全连接层) 不采用类似 sigmod 这样的神经元函数。第四层每个 map代表每一个基本构件在不同位置的
21、激活情况。每个 map 的节点 j 与输出层的节点 j 相连接, 输出层节点 j, 通过竞争的方式取具有最大激活值的第四层的 map的编号 (1nummap) , 作为输出值, 如式 (8) 所示。其中:output j表示输出层第 j 个节点的输出;map ij表示网络第四层第 i 个 map的第 j 个节点的值。3 实验及结果分析本文实验阶段, 在两种不同的数据集上验证所提算法的特征提取效果。不同数据集, Auto Encoder 与特征提取模型的参数配置不一样, 具体描述如下。3.1 实验采用数据本文分别在 Minist 手写数字数据库 (http:/ 和 Yale 人脸库 (http:
22、/vision.ucsd.edu/content/yale-face-database) 上开展实验验证提出方法的效果。在实验中, 将 Minist 数据库的 60 000 条训练样本均匀地划分为五个区间, 112 000 为第一区间, 12 00124 000 为第二区间, 依此类推, 共五个区间。从这五个区间各随机不重复选取 1 000 条数据, 用于模型的训练与测试。Yale 人脸库包含 15 位志愿者在不同光照、表情和姿态下的 165 张图片, 详细实验数据描述如表 1 所示。表 1 数据描述 下载原表 3.2 训练 Auto Encoder本文实验在模型训练时, 从 Minist 数
23、据库的 60 000 个训练样本中, 在随机位置选取 80 000 张 88 像素大小的图块, 训练 Auto Encoder 模型时, 输入层节点数量、隐含层节点数量和输出层节点数量分别为 64、48 和 64, Minist 库训练出来的基本构件如图 6 所示, 用这些基本构件初始化特征提取模型的卷积核, 每个构件为 88 像素大小。在 Yale 人脸库的数据集中, 提取 3 300 个大小为1616 像素的图像块, 训练 Auto Encoder 模型时, 输入层节点数量、隐含层节点数量和输出层节点数量分别为 256、100 和 256。训练出来的基本构件如图7 所示。图 6 Minis
24、t 手写数字基本构件 下载原图图 7 Yale 人脸基本构件 下载原图在得到原图的基本构件后, 在特征提取模型上作卷积、过滤、池化及特征提取。例如, 手写数字 5 的由基本构件 1 (见图 6, 左上第一个) 激活的情况及过滤后的结果如图 9 和 10 所示, 过滤后 map 大部分节点遭到了抑制。map W 和 map H分别表示每个 map 的横纵坐标。图 8 手写数字 5 下载原图图 9 过滤前构件 1 对数字 5 激活情况 下载原图图 1 0 过滤后构件 1 对数字 5 激活情况 下载原图3.3 实验结果本文将实验数据分别按训练集 (TR) 占 70%、测试集 (TE) 占 30% (
25、TR=70%, TE=30%) , 训练集占 80%、测试集占 20% (TR=80%, TE=20%) 两种方式划分训练和测试数据规模, 在加入过滤机制的特征提取模型 (MWF) 和没有加入过滤机制的特征提取模型 (MWOF) 上开展实验, 采用 SVM 作为分类器, 错误率结果如表2 所示。表 2 分类实验结果 下载原表 在表 2 中, 对 data2 在 (TR=80%, TE=20%) 、MWF 上的参数调节结果, 如图 11所示, C 表示惩罚因子, G 为径向机核函数的参数。图 1 1 参数调节 下载原图如表 2 所示, 在这六批数据上, 本文提出的基于深度学习的特征提取模型均取得
26、了较好的结果, 最好情况的错误率在 0.0507 左右, 这表明抽取的特征能较好地将这些类别进行划分。因此, 只经过 Auto Encoder 初始化后的 CNN, 不作反向微调也能较好地提取特征, 进一步说明这种初始化卷积核方法是可行的。在 (TR=70%, TE=30%) 和 (TR=80%, TE=20%) 两种情况下, MWF 的错误率基本上比MWOF 小 5%左右, 由此可见, 过滤机制降低了错误率。在表 2 的结果中, Yale人脸库最好的错误率是 0.086 6, 表明本文的特征提取模型对 Yale 人脸识别也能取得较好的结果。3.4 交叉 T 检验本文为了更好地验证所提模型的泛
27、化性能, 从 Minist 数据库的测试集中随机选取 1 000 条样本数据, 开展 52 交叉验证 T 检验, 即作五次 2 折交叉验证, 每次随机打乱样本。针对得到的结果用 T 检验去评估 MWF 和 MWOF 是否有显著的不同, 以及分析哪个模型更优。分类错误率交叉验证的结果如表 3 所示。表 3 交叉验证结果 下载原表 每一次 2 折交叉验证都会产生四个错误率值, 用 j表示两个模型在第 j 次交叉验证、第 i 折上的错误率的差值, i 取值为 1 或 2。本文所用 T 检验方法如式 (9) 所示。其中:u 表示第 1 次交叉验证的两对错误率差的均值; j表示第 j 次交叉验证的两对错
28、误率差的方差。式 (9) 服从自由度为 5 的 T 分布。将表 3 中的数据代入式 (9) , 计算得到式 (9) 的绝对值为 6.385, 大于 2.570 (t0.05/2, 5=2.570) , 由此可见两个模型有显著的不同, 且 MWF 的平均错误率小, 所以 MWF 的泛化能力比 MWOF 更优。4 结束语本文结合 CNN 与 Auto Encoder 两种深度学习各自的优点, 利用 Auto Encoder初始化 CNN 卷积核, 在两种不同数据集上, 不经过反向微调也取得了较好的结果, 说明用 Auto Encoder 初始化 CNN 作特征提取是可行的, 这也提供了一种逐层初始
29、化训练多层 CNN 的思路。进一步再给 CNN 加入过滤层, 实验结果表明, 这种基于深度学习的特征提取模型在 Minist 数据库取得了误差率为 0.057 的较好结果, 可见本文提出的基于深度学习的特征提取模型, 学习到了一个比较好的特征空间。为了验证给 CNN 加入过滤机制的泛化性能, 即基于过滤的特征提取模型是否更优, 本文通过交叉验证 T 检验 (式 (9) ) 指出, 给 CNN 加入过滤层是有效的, 加入过滤机制的特征提取模型的泛化性能优于没有加入过滤机制的特征提取模型。参考文献1Silver D, Huang A, Maddison C J, et al.Mastering t
30、he game of Go with deep neural networks and tree searchJ.Nature, 2016, 529 (7587) :484-489. 2Ferrucci D A.Introduction to“This is Watson”J.IBM Journal of Research and Development, 2012, 56 (3) :1-15. 3黄昌宁.从 IBM 深度问答系统战胜顶尖人类选手所想到的J.中文信息学报, 2011, 25 (6) :21-25. 4余凯, 贾磊, 陈雨强, 等.深度学习的昨天、今天和明天J.计算机研究与发展,
31、 2013, 50 (9) :1799-1804. 5吕启, 窦勇, 牛新, 等.基于 DBN 模型的遥感图像分类J.计算机研究与发展, 2014, 51 (9) :1911-1918. 6毛存礼, 余正涛, 沈韬, 等.基于深度神经网络的有色金属领域实体识别J.计算机研究与发展, 2015, 52 (11) :2451-2459. 7胡帅, 袁志勇, 肖玲等.基于改进的多层降噪自编码算法临床分类诊断研究J.计算机应用研究, 2015, 32 (5) :1417-1420. 8胡振, 傅昆, 张长水.基于深度学习的作曲家分类问题J.计算机研究与发展, 2014, 51 (9) :1945-19
32、54. 9王山海, 景新幸, 杨海燕.基于深度学习神经网络的孤立词语音识别的研究J.计算机应用研究, 2015, 32 (8) :2289-2291. 10Deng Li, Hinton G, Kingsbury B.New types of deep neural network learning for speech recognition and related application:an overviewC/Proc of International Conference on Acoustics, Speech and Signal Processing.2013:8599-860
33、3. 11Zhang Qingchen, Yang L T, Chen Zhikui.Deep computation model for unsupervised feature learning on big dataJ.IEEE Trans on Services Computing, 2016, 9 (1) :161-171. 12Wlodarczak P, Soar J.Multimedia data mining using deep learningC/Proc of International Conference on Digital Information Processi
34、ng and Communications.2015:190-196. 13Zhu Zhuotun, Wang Xinggang, Bai Song, et al.Deep learning representation using autoencoder for 3D shape retrievalC/Proc of International Conference on Security, Pattern Analysis and Cybernetics.2014:279-284. 14刘建伟, 刘媛, 罗雄麟.玻尔兹曼机研究进展J.计算机研究与发展, 2014, 51 (1) :1-16. 15黄凯奇, 任伟强, 谭铁牛.图像物体分类与检测算法综述J.计算机学报, 2014, 37 (6) :1225-1240.