CN112668695A - 一种用于CNN硬件加速的改进型LeNet-5模型 - Google Patents
一种用于CNN硬件加速的改进型LeNet-5模型 Download PDFInfo
- Publication number
- CN112668695A CN112668695A CN202011549668.3A CN202011549668A CN112668695A CN 112668695 A CN112668695 A CN 112668695A CN 202011549668 A CN202011549668 A CN 202011549668A CN 112668695 A CN112668695 A CN 112668695A
- Authority
- CN
- China
- Prior art keywords
- layer
- convolution
- size
- output
- pooling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 12
- 238000011176 pooling Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000004913 activation Effects 0.000 claims abstract description 11
- 238000012821 model calculation Methods 0.000 claims abstract description 3
- 238000004364 calculation method Methods 0.000 claims description 13
- 210000002569 neuron Anatomy 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 3
- 108091006146 Channels Proteins 0.000 description 15
- 238000013527 convolutional neural network Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开一种用于CNN硬件加速的改进型LeNet‑5模型,所述改进LeNet‑5网络结构为多层的网络结构,包括输入层、卷积层、池化层、激活层、全连接层、输出层,每一层都含有大量可学习的参数,其中第一层、第三层分别为卷积层一、三,第二层和第四层分别为池化层二、四,第六层为全连接层,Output为输出层。本发明能够在保证模型识别准确率的前提下,通过降低模型复杂度减少模型计算量,提高模型识别速度。
Description
技术领域
本发明涉及人工智能领域,具体涉及一种用于CNN硬件加速的改进型LeNet-5模型。
背景技术
随着嵌入式机器学习的发展,将轻量级的神经网络模型部署在硬件设备上,已成为设备智能化的一种重要方式之一。对于常用的CNN模型,国内外学者提出了很多该模型在不同平台上的加速方案,比如FPGA(现场可编程阵列),ASIC(专用集成电路)、Soc(片上系统)和GPU(图形处理器)等平台。与具体平台上的加速方式不同,本发明通过改进CNN模型结构,强化模型的特征提取功能并减少参数个数,在保证准确率的前提下,有效的降低CNN模型结构的参数规模和复杂度。
发明内容
本发明目的在于解决现有的卷积神经网络结构的数据计算量较为庞大,不适于在嵌入式场景下的使用的情况,提出一种能够在保证模型识别准确率的前提下,通过降低模型复杂度减少模型计算量,提高模型识别速度的一种用于CNN硬件加速的改进型LeNet-5模型。
本发明解决技术问题采用如下技术方案:
一种用于CNN硬件加速的改进型LeNet-5模型,其特征在于:包括改进LeNet-5网络结构,所述改进LeNet-5网络结构由如下部分组成:
所述改进LeNet-5网络结构为多层的网络结构,包括输入层、卷积层、池化层、激活层、全连接层、输出层,每一层都含有大量可学习的参数,其中第一层、第三层分别为卷积层一、三,第二层和第四层分别为池化层二、四,第六层为全连接层,Output为输出层,其中池化层采用的为最大值池化的方式,激活函数使用的是ReLu函数,数据在经过池化层四后直接与全连接层相连,全连接层层采用147个神经元,计算结果使用ReLu函数激活,输出层Output采用10个神经元进行分类,整个网络结构一共2383个参数;
所述卷积层一是由6个尺寸大小为5*5的卷积核组成的,卷积核权重初始化使用正则化,卷积核在每一次卷积运算中的滑动步长为1,若输入特征图像的特征映射的尺寸大小为28*28,图像尺寸大小为28*28像素,图像深度为6,即输出为28*28*6;
池化层二是采用2*2的过滤器,依次从图像左上角按照步长为2滑动到图像右下角,输出为6通道尺寸大小为14*14的特征图像,由于感受域尺寸为2*2,相互之间不重叠,因此池化层二中的输出的图像尺寸只有卷积层一中输出图像尺寸的1/4;
卷积层三的卷积核尺寸为5*5像素,深度为6,C3中使用3个卷积核,分别对应3个相应的偏置项,一共是18个卷积核参与卷积过程。由于激活函数不改变输出图像尺寸和深度,因此,卷积层三的输出特征图像尺寸为14*14像素,深度为3,即14*14*3。
池化层四与池化层二一致,尺寸是2*2。窗口滑动步长为2,特征图像采用边缘全零填充,取窗口内每四个相邻区域的值中最大的值,即最大池化方式。池化层得到结果尺寸为7*7像素,深度为3。
本发明的优点在于:去除原有LeNet-5结构中的卷积层五,数据在经过池化层四后直接与全连接层相连,全连接层采用147个神经元,计算结果使用ReLu函数激活,输出层Output采用10个神经元进行分类,整个网络结构一共2383个参数,改进后的网络结构大大减少了计算量,改进网络模型与LeNet-5的区别如表1所示。
表1本文网络结构与LeNet-5结构对比
附图说明
图1为本发明CNN模型整体数据处理流程示意图;
图2为本发明卷积计算模块数据处理流程示意图;
图3为本发明激活层数据处理流程示意图;
图4为本发明最大池化模块数据处理流程示意图;
图5为本发明全连接层需要用到的乘法器数据处理流程示意图。
具体实施方式
如图所示,本发明的具体实施方式如下:一种用于CNN硬件加速的改进型LeNet-5模型,其特征在于:所述改进LeNet-5网络结构为多层的网络结构,包括输入层、卷积层、池化层、激活层、全连接层、输出层,每一层都含有大量可学习的参数,其中第一层、第三层分别为卷积层一、三,第二层和第四层分别为池化层二、四,第六层为全连接层,Output为输出层,其中池化层采用的为最大值池化的方式,激活函数使用的是ReLu函数,数据在经过池化层四后直接与全连接层相连,全连接层层采用147个神经元,计算结果使用ReLu函数激活,输出层Output采用10个神经元进行分类,整个网络结构一共2383个参数,通过降低模型复杂度减少模型计算量,提高模型识别速度。
所述一种用于CNN硬件加速的改进型LeNet-5模型,其特征在于:所述改进LeNet-5网络结构由如下部分组成:
所述卷积层一是由6个尺寸大小为5*5的卷积核组成的,卷积核权重初始化使用正则化,卷积核在每一次卷积运算中的滑动步长为1,当输入特征图像的特征映射的尺寸大小为28*28,图像尺寸大小为28*28像素,图像深度为6,即输出为28*28*6;
池化层二是采用2*2的过滤器,依次从图像左上角按照步长为2滑动到图像右下角,输出为6通道、尺寸大小为14*14的特征图像,由于感受域尺寸为2*2,相互之间不重叠,因此池化层二中的输出图像尺寸只有卷积层一中输出图像尺寸的1/4;
卷积层三的尺寸为5*5像素,深度为6,卷积层三中使用3个卷积核,分别对应3个相应的偏置项,一共是18个卷积核参与卷积过程,激活函数不改变输出图像尺寸和深度,卷积层三的输出特征图像尺寸为14*14像素,深度为3,即14*14*3;
池化层四与池化层二一致,尺寸是2*2。窗口滑动步长为2,特征图像采用边缘全零填充,取窗口内每四个相邻区域的值中最大的值,即最大池化方式,池化层得到结果尺寸为7*7像素,深度为3。
如图1所示,改进Le-Net模型包含输入层、卷积层、池化层、激活层、全连接层、输出层,每一层都含有大量可学习的参数。所述改进LeNet-5网络结构应用在CNN硬件模型中的整体数据具体处理流程见下文所述:
1、如图2所示,当图像数据Data进入卷积层一时,卷积层三与卷积层一共用相同的卷积模块,将一维向量按照通道数i、行j、列k的顺序进行转换成三维数组,记为DataArray[i][j][k],假设原始图像通道数为c,图像尺寸为h*w,则在边缘无填充的情况下,转换公式可表示为:
DataArray[i][j][k]=Data[(i*h*w+j*h+k)*8+8-1:(i*h*w+j*h+k)*8]
在需要边缘填充0的情况下,需将DataArray数组的边缘添加数据0,假设卷积核尺寸为a*b,则转换伪代码如下:
2、当改进LeNet-5网络结构进行数据处理时,在边缘填充0,将数据转换之后保存于DataArrayP[i][j][k]中,在经过填充之后,下面需要将数据做卷积预处理,将每次卷积核与数据重叠的部分,按照顺序展开,卷积核步长为1,该操作从数据左上角进行展开,首先,5*5卷积核与填充后的图像数据在左上角位置重合,然后将5*5大小的图像数据,按照从左上角位置一直到右下角位置排列展开作为后续参与卷积运算的参数保存至参数ParamArray数组,每个参数占8位,5*5数据遍历保存至参数ParamArray数组之后,卷积核按照从左上角向右移动至右边缘后向下移动一个步长,然后重复向右移动至右边缘,直至遍历到该通道右下角的最后一个位置,若输入图像为多通道,则该过程为卷积核分别按照从第一通道到最后一个通道提取5*5的数据,放入ParamArray数组,然后卷积核再依次从左上角至右下角遍历,每次移动均按照从第一通道5*5的数据左上角至最后一通道5*5的数据的右下角进行遍历保存参数数据;卷积核权重的参数也采取从第一个卷积核左上角位置至最后一个卷积核右下角的顺序展开读入,数据均为8位定点数,卷积数据读入之后需按通道顺序转换放入一维向量WeightArray中;
3、如图2所示,为改进LeNet-5网络结构的卷积计算模块,在上述步骤1、2进行数据转换后,将数据送入卷积计算模块进行计算,在卷积核权重Weight与对应像素数据X相乘后,再利用加法电路相加并加上偏置项参数后,送入下一层进行运算,本结构中,数据被在同一时刻送入卷积计算模块,并在同一时刻计算完成并输出到下一层,输出数据均为16位,但会在输入下一层的过程中截断为8位;
4、如图3所示,为改进LeNet-5网络结构的激活层,对于卷积层输出的数据激活层无需进行格式转换,仅需要根据激活函数,对数据进行处理,当输入为负值时,该激活层输出为0,否则,输出与输入的x保持一致;
5、如图4所示,为改进LeNet-5网络结构的池化层,当数据到达池化层时,首先将输入的一维数据向量进行转换,将数据按照通道i,行j,列k的格式,转换成三维数组DataArray[i][j][k],转换过程见下式,式中h和w分别为图像尺寸的高和宽;
DataArray[i][j][k]=Data[(i*h*w+j*h+k)*8+8-1:(i*h*w+j*h+k)*8]
在完成上述转换后,对DataArray数组进行数据展开,展开过程如下:首先取2*2的滑动窗口,输入数据的左上角向右下角按照步长为2进行滑动,当滑动至右边缘时,向下移动两个步长,继续从左边缘滑动至右边缘,重复此过程,直至窗口滑动至图像右下角位置,其中,每次滑动都将该滑动窗口下所有通道的数据按照从第一通道左上角到最后一个通道右下角的顺序保存至ParamArray数组中,然后依次按序滑动,直至最后一通道的右下角;在参数预处理完成后,对数据进行最大池化操作,每次取2*2区域中的4个值中最大的一个进行输出;
6、如图5所示,为所述全连接层需要用到乘法器,即在全连接层中需要将输入的一维向量与全连接层的权重进行乘积运算,对应乘积运算完成后,加上各个神经元的偏置项参数即可;
7、所述输出层之后需要接softmax分类器进行分类。为了避免模型出现过拟合现象,在反向传播过程中,所述网络在损失函数loss中引入模型复杂度指标,通过给权值参数加权,弱化训练数据中噪声对模型训练的影响,数据处理过程中使用Dropout技术,每轮训练随机抛弃50%神经元。
Claims (2)
1.一种用于CNN硬件加速的改进型LeNet-5模型,其特征在于:所述改进LeNet-5网络结构为多层的网络结构,包括输入层、卷积层、池化层、激活层、全连接层、输出层,每一层都含有大量可学习的参数,其中第一层、第三层分别为卷积层一、三,第二层和第四层分别为池化层二、四,第六层为全连接层,Output为输出层,其中池化层采用的为最大值池化的方式,激活函数使用的是ReLu函数,数据在经过池化层四后直接与全连接层相连,全连接层层采用147个神经元,计算结果使用ReLu函数激活,输出层Output采用10个神经元进行分类,整个网络结构一共2383个参数,通过降低模型复杂度减少模型计算量,提高模型识别速度。
2.根据权利要求1的所述一种用于CNN硬件加速的改进型LeNet-5模型,其特征在于:所述改进LeNet-5网络结构还包含如下特征:
所述卷积层一是由6个尺寸大小为5*5的卷积核组成的,卷积核权重初始化使用正则化,卷积核在每一次卷积运算中的滑动步长为1,当输入特征图像的特征映射的尺寸大小为28*28,图像尺寸大小为28*28像素,图像深度为6,即输出为28*28*6;
池化层二是采用2*2的过滤器,依次从图像左上角按照步长为2滑动到图像右下角,输出为6通道、尺寸大小为14*14的特征图像,由于感受域尺寸为2*2,相互之间不重叠,因此池化层二中的输出图像尺寸只有卷积层一中输出图像尺寸的1/4;
卷积层三的尺寸为5*5像素,深度为6,卷积层三中使用3个卷积核,分别对应3个相应的偏置项,一共是18个卷积核参与卷积过程,激活函数不改变输出图像尺寸和深度,卷积层三的输出特征图像尺寸为14*14像素,深度为3,即14*14*3;
池化层四与池化层二一致,尺寸是2*2。窗口滑动步长为2,特征图像采用边缘全零填充,取窗口内每四个相邻区域的值中最大的值,即最大池化方式,池化层得到结果尺寸为7*7像素,深度为3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011549668.3A CN112668695A (zh) | 2020-12-24 | 2020-12-24 | 一种用于CNN硬件加速的改进型LeNet-5模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011549668.3A CN112668695A (zh) | 2020-12-24 | 2020-12-24 | 一种用于CNN硬件加速的改进型LeNet-5模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112668695A true CN112668695A (zh) | 2021-04-16 |
Family
ID=75408353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011549668.3A Pending CN112668695A (zh) | 2020-12-24 | 2020-12-24 | 一种用于CNN硬件加速的改进型LeNet-5模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668695A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097145A (zh) * | 2019-06-20 | 2019-08-06 | 江苏德劭信息科技有限公司 | 一种基于cnn和特征金字塔的交通违禁品识别方法 |
-
2020
- 2020-12-24 CN CN202011549668.3A patent/CN112668695A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097145A (zh) * | 2019-06-20 | 2019-08-06 | 江苏德劭信息科技有限公司 | 一种基于cnn和特征金字塔的交通违禁品识别方法 |
Non-Patent Citations (3)
Title |
---|
吕云翔 等: "《Python深度学习》", 31 October 2020, 北京:机械工业出版社, pages: 137 - 138 * |
罗恒 等: ""基于F-CNN的雷达目标辨识算法"", 《雷达科学与技术》, vol. 17, no. 1, 28 February 2019 (2019-02-28) * |
高敬鹏: "《深度学习 卷积神经网络技术与实践》", 30 June 2020, 北京:机械工业出版社, pages: 94 - 95 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111144329B (zh) | 一种基于多标签的轻量快速人群计数方法 | |
CN113874883A (zh) | 手部姿势估计 | |
CN111626355A (zh) | 一种基于Unet++卷积神经网络的地震数据初至拾取方法 | |
CN111476249B (zh) | 多尺度大感受野卷积神经网络的构建方法 | |
CN107679462A (zh) | 一种基于小波的深度多特征融合分类方法 | |
CN113627376B (zh) | 基于多尺度密集连接深度可分离网络的人脸表情识别方法 | |
CN111797841B (zh) | 一种基于深度残差网络的视觉显著性检测方法 | |
CN112560624B (zh) | 基于模型深度集成的高分遥感影像语义分割方法 | |
CN113221694A (zh) | 一种动作识别方法 | |
CN115410087A (zh) | 一种基于改进YOLOv4的输电线路异物检测方法 | |
CN111401117A (zh) | 基于双流卷积神经网络的新生儿疼痛表情识别方法 | |
CN104036242A (zh) | 基于Centering Trick卷积限制玻尔兹曼机的物体识别方法 | |
Wang et al. | Encoder-and decoder-based networks using multiscale feature fusion and nonlocal block for remote sensing image semantic segmentation | |
CN114882234A (zh) | 多尺度轻量级密集连目标检测网络的构建方法 | |
CN109934835B (zh) | 基于深度强化网络邻接连接的轮廓检测方法 | |
CN112766340B (zh) | 基于自适应空间模式的深度胶囊网络图像分类方法及系统 | |
CN117809200A (zh) | 一种基于增强小目标特征提取的多尺度遥感图像目标检测方法 | |
CN111539434B (zh) | 基于相似度的红外弱小目标检测方法 | |
CN113298235A (zh) | 一种多分支深度自注意力变换网络的神经网络架构及实现方法 | |
CN117197663A (zh) | 基于长距离依赖机制的多层融合图片分类方法及系统 | |
CN112668695A (zh) | 一种用于CNN硬件加速的改进型LeNet-5模型 | |
CN116758415A (zh) | 一种基于二维离散小波变换的轻量化害虫识别方法 | |
CN116665300A (zh) | 基于时空自适应特征融合图卷积网络的骨架动作识别方法 | |
CN116311349A (zh) | 一种基于轻量神经网络的人体关键点检测方法 | |
CN114219757B (zh) | 一种基于改进Mask R-CNN的车辆智能定损方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |