基于Keras框架MNIST数据集识别方法研究

2019-10-21 07:18杨永翌
汽车实用技术 2019年23期
关键词:图像识别卷积神经网络

杨永翌

摘 要:近年来,深度学习在图像识别领域获得了巨大成功,各种深度学习框架也随之开源,而Keras框架较于Tensorflow由于其代码易读,模块化设计更加引人注目。文章对比了基于Tensorflow的softmax方法和基于Keras框架下改进的卷积神经网络方法对MNIST数据集识别的准确率,验证结果表明,前者准确率为0.92,后者高达0.98。

关键词:图像识别;Tensorflow;Keras;卷积神经网络

中图分类号:U471.15  文献标识码:A  文章编号:1671-7988(2019)23-101-03

Improvement of MNIST data set Recognition Method Based on Keras Framework

Yang Yongyi

(Chang'an University Automotive Institute, Shaanxi Xian 710064)

Abstract: In recent years, deep learning has achieved great success in the field of image recognition, and various deep learning frameworks have also been open sourced. The Keras framework is more compelling than Tensorflow because of its code-readable and modular design. This paper compares the accuracy of the softmax method based on Tensorflow and the improved convolutional neural network method based on Keras framework to the MNIST dataset. The verification results show that the former has an accuracy of 0.92 and the latter has a maximum of 0.98.

Keywords: Image recognition; Tensorflow; Keras; Convolutional neural network

CLC NO.: U471.15  Document Code: A  Article ID: 1671-7988(2019)23-101-03

前言

图像识别是计算机视觉的重要分支,是计算机对于图像的处理和理解。近年来由于采用深度学习使得图像识别准确率大大提高,使这一领域达到了前所未有的关注,远远领先于传统的图像识别方法,在自动驾驶,人脸识别,车牌识别等方面都有重要作用,未来对人类社会必然有更深远的影响[1]。2012年,浙江大學许可以经典卷积神经网络为基础,构造出大小不同的特征提取过滤器层应用到MNIST数据集,并分析了不同大小滤波器层对实验结果的影响[2]。2015年,王振,高茂庭提出在卷积神经网络中多次应用较小卷积核,大大减少了神经网络训练过程参数数量[3],能有效提高识别准确率,实验验证了这种结果的可靠性。本文通过对比Softmax回归方法和深度学习方法分别对MNIST数据集中的图像进行识别,结果表明改进后的深度学习模型的图像识别率大大提高。

1 MNIST数据集介绍

MNIST数据集[4]来源于美国国家标准与技术研究所(NIST),如图1所示,由60000张训练数据集,60000张训练标签集,10000张测试数据集,10000张训练标签集组成。

每张图片由28*28共784个像素点组成,每个像素仅用一个灰度值(0,255)之间的数字表示,每张图片均对应一个标签,标签为0-9中的某一数字。在Tensorflow中,标签采用10维向量表示,其中只有一个数字为1,其他均为0。例如,数字7表示为[0,0,0,0,0,0,0,1,0,0]。手写数字集的识别问题可以理解为概率问题,即将某个数字出现的概率取其中的最大值作为输出结果。

图1  MNIST数据集样张

2 Softmax方法识别模型

Softmax回归是Logitic回归的延伸,将只能进行二分类的Logitic发展为可以解决多分类问题的Softmax。假设训练集,对应标签yi∈{1,2,…,k}。对于输入x,通过假设函数:

(1)

输出k维向量表示各个类别的输出概率,各概率之和为1,θ1,θ2,…θk是模型参数,类的概率值为:

(2)

使用tensorflow直接调用Softmax模型[5],输入为28*28展开的784维向量,输出10个特征,采用梯度下降法,实验结果如表1所示。

表1  Softmax图像识别结果

该方法仅有输入层和输出层,中间没有任何隐藏层,实验结果表明识别准确率大约为0.92。

3 基于Keras框架的改进模型

3.1 卷积神经网络介绍

卷积神经网络是模拟人类大脑中神经元数量及连接方式的网络,如今网络结构朝更深更宽的方向发展,来达到模拟人类大脑的思维水平。相比于其他网络,具有稀疏连接、权值共享的特点。传统的神经网络的隐藏层每一个神经元都要和上一层的每一个神经元相连接,显然此时参数的数据是庞大的,且参数之间相互独立,需要模型逐一学习,会占用大量内存,花费大量时间,而卷积神经网络认为距离相近的神经元之间具有较大关联性,故下一层神经元只需与上一层某一区域的某个神经元相连接,此种处理方式大大降低了参数数量,提高了学习效率。随着网络层数的不断加深,当神经元数量增加时,参数量依然十分巨大,由于图像中同一个对象具有相同的特征,故可用具有相同权重的卷积核在输入图像的不同位置进行计算,若计算结果具有相似性,则认为具有相同特征,判定为同一对象,则无论对象在图像的哪个位置都可以进行准确分类,这种使用相同参数的方式称为权值共享,可大大降低参数数量。

3.2 Keras深度学习模型改进

对比Softmax模型,改进的模型中加入了卷积层,池化层,全连接层等[6],采用多个小卷积核对输入图像进行特征提取生成特征图,卷积过程中不进行填充,即padding=valid,经过池化缩小卷积后的特征图尺寸,保留主要特征,减少参数和计算量,一般分为平均池化和最大池化[7],平均池化就是取特征图某一区域像素点的平均值,最大池化就是取特征图某一区域像素点的最大值,除最后一层全连接层使用softmax函数外,其他层均使用tanh作为激活函数,模型结构如图2所示,Keras框架下模型如图3。

图2  网络模型结构图

图3  Keras框架下模型

整个网络是一个7层结构(不包括输入层),包括3层卷积层,2层池化层,2层全连接层,上一层的输出作为下一层的输入。输入层为32*32单通道灰度图,对该图像进行卷积操作得到C1层,采用12个卷积核,尺寸为5*5,步长为1,卷积层的作用是提取原图特征,所以结果称为特征图,每张图像大小为28(32-5+1)。对该层采用最大池化得到S2,池化使用核大小为2*2,步长为2,池化保留了特征图的主要特征,减少了计算量,图像尺寸大小为14((28-2)/2+1)。再次进行卷积操作得到C3层,采用24个卷积核,尺寸为5*5,步长为1,图像尺寸大小为10(14-5+1),池化得到S4的过程和上述得到S2过程相同,图像尺寸为5。继续进行卷积,由于卷积核尺寸和图像尺寸一致,故得到120维向量,继续进行全连接获取图像,最后进行10个节点的全连接,采取softmax作为激活函数,输出结果。将所有训练集数据训练4次,实验结果如表2。

表2  改进模型图像识别结果

4 结论

从两次实验的结果对比来看,改进的模型由于加入卷积、池化等方法具有更高的准确率,训练集准确率为0.9851,测试集准确率为0.9838,整体表现出色。

5 结束语

Keras框架是采用python语言编写的高级神经网络API,可以tensorflow为后端,相比其它深度学习框架,采用Keras能以最短的时间搭建起需要的神经网络进行图像识别[8],對用户友好,模块化,能够在CPU或GPU上运行。本文在Keras框架下,快速搭建了需要的网络模型,调整参数进行训练,极大提高了编程效率,对于构建更复杂的模型更具优势。

参考文献

[1] 张家怡.图像识别的技术现状和发展趋势[J].电脑知识与技术, 2010,6(21):6045-6046.

[2] 许可.卷积神经网络在图像识别上的应用的研究[D].浙江大学, 2012.

[3] 王振,高茂庭.基于卷积神经网络的图像识别算法设计与实现[J].现代计算机(专业版),2015(20):61-66.

[4] Lecun Y,Boser B,Denker J S,et al.Backpropagation applied to hand -written zip code recognition[J].Neural Computation,2014,1(4):541 - 551.

[5] Hutchinson B, Deng L,et al. Tensor Deep Stacking Networks[J]. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACH -INE INTELLIGENCE,2013,(35): 1944-1957.

[6] Krizhevsky A, Sutskever I, Hinton GE,et al. ImageNet Classification with Deep Convolutional Neural Networks[J]. COMMUNICATIO -NS OF THE ACM,2017,(20):84-90.

[7] Wang JJ, Yang JC,et al. Locality-constrained Linear Coding for Image Classification[C]// 23rd IEEE Conference on Computer Vis -ion and Pattern Recognition.2010:3360-3367.

[8] 圣文顺,孙艳文.卷积神经网络在图像识别中的应用[J].软件工程,2019,22(02):13-16.

猜你喜欢
图像识别卷积神经网络
基于计算机视觉的图像识别技术研究
图像识别技术的应用与发展
人工智能背景下图像识别技术浅析
《图像识别初探》教学案例
基于字典学习的正则化鲁棒稀疏表示肿瘤细胞图像识别
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
图像识别交互系统
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现