一种基于SqueezeNet的手写体数字识别方法技术

技术编号:19635488 阅读:26 留言:0更新日期:2018-12-01 16:09
本发明专利技术公开了一种基于SqueezeNet的手写体数字识别方法,具体包括:(1)预处理识别的手写体数字样本;(2)构建SqueezeNet卷积神经网络模型;(3)训练SqueezeNet网络模型,并对手写体数字测试集样本进行测试;(4)得出识别结果。本发明专利技术中的SqueezeNet网络模型相比于传统的AlexNet有效地减少了网络参数的总量,并且提高了手写体数字识别的精度,具备了模型压缩的基础,后续可更好地应用于移动端设备、分布式训练以及嵌入式硬件上。

A Handwritten Number Recognition Method Based on SqueezeNet

The invention discloses a handwritten numeral recognition method based on SqueezeNet, which includes: (1) preprocessing handwritten numeral samples for recognition; (2) constructing SqueezeNet convolution neural network model; (3) training SqueezeNet network model and testing handwritten numeral test set samples; (4) obtaining recognition aggregation. Fruit. Compared with traditional AlexNet, the SqueezeNet network model in the present invention effectively reduces the total amount of network parameters, improves the accuracy of handwritten numeral recognition, has the basis of model compression, and can be better applied to mobile devices, distributed training and embedded hardware.

【技术实现步骤摘要】
一种基于SqueezeNet的手写体数字识别方法
本专利技术设计图像识别以及深度学习领域,具体是一种基于SqueezeNet的手写体数字识别方法。
技术介绍
随着深度学习的快速发展,卷积神经网络(CNN)已经被广泛应用于手写数字识别等图像识别领域,并且取得了优良的识别效果。但网络中需要训练的参数数量太大,导致CNN对手写数字的识别精度虽然较高,但所需的训练时间长,在分布式训练上无法得到有效地应用(ForrestN.Iandola等人2016提出了分布式数据并行训练的通信开销与模型中的参数数量成正比),而且难以将模型导入到移动设备上以及在FPGA和一些嵌入式硬件上进行部署,JiantaoQiu等人提出了应该将尽量小的模型存储在小于10M的FPGA上,而不应让存储带宽限制了它的存储。而在2012年提出的AlexNet结构,虽然在ImageNet的识别精度上有了一定的提高,并且网络的泛化能力也得到了一定的增强,同时利用多GPU对网络进行了加速计算,但网络中的参数并没有得到有效地减少,网络模型仍然过大。现如今,数字识别技术已经在我们的生活中得到了广泛应用,如车牌识别、身份证识别、银行票据识别等,并且具备了良好的识别效果,但由于网络参数过多,网络模型过大,网络模型所需的开销仍然较大,且在硬件设备上的应用也受到了很大的限制。所以不仅提高数字识别的精度是一个仍然需要考虑的问题,如何减少其网络模型的参数以及对网络模型进行压缩也值得我们去研究和探讨。
技术实现思路
专利技术目的:为了减少手写体数字识别的网络参数,本专利技术提出了一种基于SqueezeNet的手写体数字识别方法。通过该方法,可在不影响手写体数字识别精度的情况下,有效地减少网络中的参数。本专利技术的技术方案如下:一种基于SqueezeNet的手写体数字识别方法,包括:(1)预处理识别的手写体数字样本;所述的预处理识别的手写体数字样本,包括以下步骤:(1.1)加载手写体数字的训练集、测试集以及标签值;(1.2)对训练集、测试集进行归一化;(1.3)将一维的样本数据重塑为28*28*1的三维矩阵样本数据。所述的构建并初始化SqueezeNet卷积神经网络模型,包括以下步骤:(2)构建并初始化SqueezeNet网络模型;(2.1)初始化SqueezeNet的网络参数;(2.1.1)设置每次训练在手写体数字训练集中所取的样本个数(batch_size)的大小以及网络训练的轮数(nb_epoch)次数,每次只取batch_size个样本对网络进行训练,能加快权值更新速率,有效地减少了网络运行所需内存及网络训练所需的时间;(2.1.2)随机初始化网络的权值和偏置。(2.2)定义SqueezeNet的网络模型;(2.2.1)两个卷积层定义在网络的第一层和最后一层,第一层为96个1*1大小的卷积核,各层的激活函数为“ReLU”,输入的手写体数字图片卷积后通过该激活函数f(x)得到关于手写体数字轮廓、端点等一系列特征的特征图x,其前向传播过程满足公式(1);其中表示网络层第l-1层的第i张特征图,表示第l层的第j张特征图与第l-1层的第i张特征图间的一个卷积核,表示第l层的偏置,Mj表示输入的特征图组合,则表示第l层的第j张特征图,它是第l-1层的k张特征图经过卷积后再由激活函数输出而得到的;(2.2.2)用于减少网络参数的八个fire层定义在两个卷积层之间,其中每个fire层包括一个挤压(squeeze)层和一个扩展(expand)层,挤压层的卷积核大小为1*1,扩展层包含1*1和3*3大小的卷积核,1*1大小的卷积核输出与3*3大小的卷积核输出串接在一起作为fire层的最终输出,进一步缩小手写体数字的特征图大小;(2.2.3)最大降采样层(maxpool)定义在第一个卷积层以及第三、第七个fire层之后;(2.2.4)卷积层最后一层为10个1*1大小的卷积核,输出最终提取到的多维手写体数字特征,将该特征进行降维后输送给softmax分类器,对手写体数字进行分类识别。(3)利用构建好的SqueezeNet网络模型对手写体数字进行训练以及测试;(3.1)将手写体数字的训练集及其对应的标签值输入到构建好的SqueezeNet网络模型中,完成对网络模型的训练;(3.2)把手写体数字测试集送入到训练好的网络模型中,将经过网络层提取到的手写体数字特征输入softmax分类器中,得到手写体数字的标签值概率。(4)得出识别结果。判别最大概率的类别则为手写体数字的最终识别结果。实施本专利技术提供的一种基于SqueezeNet的手写体数字识别方法,可以带来以下有益效果:本专利技术中网络层主要是由fire层构建的,每个fire层都由一个挤压(squeeze)层和一个拓展(expand)层组成,通过将卷积核大小分别设置为1*1、1*1和3*3的能有效地减少网络中的参数,为网络模型的压缩提供了坚实的基础。实施本专利技术提供的一种基于SqueezeNet的手写体数字识别方法,适用于分布式训练,移动端设备配置以及嵌入式硬件的部署上。附图说明图1为基于SqueezeNet的手写体数字识别系统总流程图图2为fire层的结构图图3为SqueezeNet网络的结构示意图具体实施方式如图1所示,一种基于SqueezeNet的手写体数字识别方法。步骤1,预处理识别的手写体数字样。(1.1)加载手写体数字的训练集、测试集以及标签值;(1.2)对训练集、测试集进行归一化;(1.3)网络输入要求为图片的格式,而加载进来的手写体数字样本是以一维数组的方式进行存储的,所在在构建网络之前必须先将一维的样本数据重塑为28*28*1的三维矩阵样本数据。步骤2,构建并初始化SqueezeNet网络模型。(2.1)初始化SqueezeNet的网络参数,分为两步:(2.1.1)设置每次训练在手写体数字训练集中所取的样本个数(batch_size)的大小以及网络训练的轮数(nb_epoch)次数,每次只取batch_size个样本对网络进行训练,能加快权值更新速率,有效地减少了网络运行所需内存及网络训练所需的时间,其中每一轮训练的迭代次数(iteration)满足公式(1):迭代次数=样本总数/batch_size(1)(2.1.2)随机初始化网络的权值和偏置,使用的是Xavier初始化法,权值ω的分布满足公式(2):其中,ω(l)表示第l层的神级元权值,n(l)表示第l层输入数据的维度,n(l+1)则为下一层(第l+1层)输入数据的维度。(2.2)定义SqueezeNet的网络模型。(2.2.1)如图2所示,网络模型是由两个卷积层、八个fire层以及三个最大降采样层构成的,网络各层之间使用的是非线性激活函数:ReLU,可避免网络训练过程中梯度消失的现象,加快网络的收敛速度,最终提取到的手写体数字特征由softmax进行分类识别。(2.2.2)SqueezeNet网络的输入是28*28*1的手写体数字灰度图,第一个卷积层为96个3*3的卷积核,最大降采样层均为2*2的卷积核,fire层的构成如图3所示,均由一个squeeze层以及一个expand层构成,其中squeeze层中的卷积核大小为1*1,相比于AlexNet中3*3大小的卷积核能使参数减少1本文档来自技高网...

【技术保护点】
1.一种基于SqueezeNet的手写体数字识别方法,其特征在于,包括以下步骤:(1.1)预处理识别的手写体数字样本;(1.2)构建并初始化SqueezeNet网络模型;(1.3)利用构建好的SqueezeNet网络模型对手写体数字进行训练以及测试;(1.4)得出识别结果。

【技术特征摘要】
1.一种基于SqueezeNet的手写体数字识别方法,其特征在于,包括以下步骤:(1.1)预处理识别的手写体数字样本;(1.2)构建并初始化SqueezeNet网络模型;(1.3)利用构建好的SqueezeNet网络模型对手写体数字进行训练以及测试;(1.4)得出识别结果。2.根据权利要求1所述的一种基于SqueezeNet的手写体数字识别方法,其特征在于:所述的预处理识别的手写体数字样本,包括以下步骤:(2.1)加载手写体数字的训练集、测试集以及标签值;(2.2)对训练集、测试集进行归一化;(2.3)将一维的样本数据重塑为28*28*1的三维矩阵样本数据。3.根据权利要求1所述的一种基于SqueezeNet的手写体数字识别方法,其特征在于:所述的构建并初始化SqueezeNet卷积神经网络模型,包括以下步骤:(3.1)初始化SqueezeNet的网络参数;(3.2)定义SqueezeNet的网络模型。4.根据权利要求3所述的一种基于SqueezeNet的手写体数字识别方法,其特征在于:所述的初始化SqueezeNet的网络参数,具体操作为:(4.1)设置每次训练在手写体数字训练集中所取的样本个数(batch_size)的大小以及网络训练的轮数(nb_epoch)的次数,每次取batch_size个样本对网络进行训练;(4.2)随机初始化网络的权值和偏置。5.根据权利要求3所述的一种基于SqueezeNet的手写体数字识别方法,其特征在于:所述的定义SqueezeNet网络模型,包括以下步骤:(5.1)两个卷积层定义在网络的第一层和最后一层,第一层为96个1*1大小的卷积核,各层的激活函数为“ReLU”,输入的手写体...

【专利技术属性】
技术研发人员:苗红霞顾倚榜齐本胜贾澜熊天宇
申请(专利权)人:河海大学常州校区
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1