当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法及系统技术方案

技术编号:35014522 阅读:18 留言:0更新日期:2022-09-21 15:14
本发明专利技术涉及一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法及系统,基于二值化神经网络的卷积层、池化层及第一层全连接层之间存在数据共通性,将二值化神经网络的卷积层、池化层及第一层全连接层进行融合,同时考虑到在二值化神经网络的融合过程中存在大量冗余操作,而这些冗余操作并不会对最终的分类精度造成影响,因此在融合过程中,通过剪枝方法减少运算操作数量。本发明专利技术利用全融合技术及剪枝方法,能够在不降低图片分类精度的前提下,有效减少运算时间和降低操作数量,兼顾二值化神经网络硬件加速效率高的优点。顾二值化神经网络硬件加速效率高的优点。顾二值化神经网络硬件加速效率高的优点。

【技术实现步骤摘要】
一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法及系统


[0001]本专利技术涉及一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法及系统,属于人工智能(Artificial Intelligence,AI)的集成电路硬件设计领域。

技术介绍

[0002]卷积神经网络(Convolutional Neural Networks,CNN)是AI经典结构之一,是深度学习领域的重要组成部分。CNN一般采用浮点计算,需要较大的存储空间和计算量,因而其硬件实现所需资源开销较大。近年来深度卷积神经网络在计算机视觉、语音识别及自然语言处理等领域,都得到了大量的应用。然而在低功耗低成本的移动端应用场景,卷积神经网络的应用受到诸多的限制:一方面,高性能的卷积神经网络模型占用存储空间大,对移动终端的硬件资源要求高。另一方面,卷积神经网络计算复杂度高,在运行较深的卷积神经网络模型时,实现点积运算功耗较大。为了使CNN更适合于边缘计算,二值化神经网络(Binarized Neural Networks,BNN)被提出。
[0003]BNN将网络中的参数二值化为1和

1(或者二值化为1和0),使神经网络对硬件资源的需求显著降低。BNN对内存的需求较CNN减少到数十分之一,同时BNN利用位与和同或操作来代替CNN中的乘加运算,显著降低计算功耗。
[0004]随着人工智能的发展,人们将二值化神经网络应用于移动端硬件加速优化,提升了模型运算速度。然而,目前在硬件上实现二值化神经网络的加速依旧是采用软件设计思路,按照顺序的、完整的、层级递进的方式进行。这种硬件实现方法效率不高,没有最大限度体现二值化神经网络的硬件加速优势,达不到实际嵌入式场景低功耗的应用需求。针对此类二值化神经网络在硬件实现上的设计问题,需要一种对二值化神经网络层间进行融合并剪枝的技术,以更快、功耗更低、占用硬件资源更少的硬件实现方法实现高效智能检测。

技术实现思路

[0005]针对现有技术的不足,本专利技术提供一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法。
[0006]本专利技术将二值化神经网络的卷积层、池化层及第一层全连接层进行融合,并基于二值的特殊性进行剪枝进而有效减小运算时间和降低操作数量,兼顾了二值化神经网络的硬件加速效率。是一种既可达到较小运算时间又兼具硬件加速效率的二值化神经网络硬件加速方法。
[0007]本专利技术还提供了一种基于二值化神经网络的全融合及剪枝技术实现图片分类系统。
[0008]术语解释:
[0009]1、CNN,是Convolutional Neural Networks的缩写,称为卷积神经网络。
[0010]2、BNN,是Binarized Neural Networks的缩写,称为二值化神经网络。
[0011]3、剪枝,是指从现有网络中移除部分参数,提高网络效率的同时保证网络精度。
[0012]本专利技术的技术方案为:
[0013]一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法,包括步骤如下:
[0014]步骤1:搭建二值化神经网络架构用于实现图片二分类任务;
[0015]步骤2:获取图片数据集,对原始图片数据进行灰度化及1,0二值化预处理;
[0016]步骤3:构造滑动窗口,即构造尺寸为R
k
*R
k
、步长为m、滑动次数为c的滑动窗口,其中m为卷积步长与池化步长的乘积;
[0017]步骤4:重构卷积核,即对二值化神经网络训练得到的1,0二值化卷积核进行尺寸和内容重构,将重构后的卷积核命名为重构卷积核,尺寸为R
k
*R
k

[0018]步骤5:对重构卷积核进行剪枝操作,即去除重构卷积核中0的部分;
[0019]步骤6:选取尺寸为c*q的第一层全连接层权值,即选取二值化神经网络训练得到的第一层全连接层权值,其尺寸为c*q,其中,c为滑动窗口滑动次数,q为第一层全连接层的输出尺寸;
[0020]步骤7:将步骤2预处理后的二值图片、步骤5剪枝后的重构卷积核及步骤6选取的第一层全连接层权值加载到硬件存储器中;
[0021]步骤8:将滑动窗口按照从左到右、从上到下的规则,在步骤2预处理后的二值图片上以步长m进行滑动;
[0022]步骤9:对滑动窗口截取的二值图片数据进行卷积

池化融合剪枝操作,即对滑动窗口截取的二值图片数据与剪枝后的重构卷积核进行逐位与操作,并去除逐位与操作过程中对分类精度不造成影响的位与操作;
[0023]步骤10:将步骤9的卷积

池化融合剪枝结果与部分步骤6选取的第一层全连接层权值进行融合剪枝操作,即滑动窗口当前截取数据的卷积

池化融合剪枝结果决定第一层全连接层输出的结果,去除滑动窗口截取数据的卷积

池化融合剪枝结果与部分第一层全连接层权值的位同或操作;
[0024]步骤11:判断滑动窗口是否完成对二值图片数据的遍历,若完成,进入步骤12,结束步骤9

10的全融合剪枝运算;否则,重复步骤8

10;
[0025]步骤12:累加及比较遍历过程中步骤10输出的融合剪枝运算结果;
[0026]步骤13:完成第二层全连接层运算,即对步骤12得到的累加及比较结果与二值化神经网络训练得到的第二层全连接层权值进行位同或操作;
[0027]步骤14:将步骤13结果最大值对应的类别作为输入图片最终的分类标签。
[0028]进一步地,二值化神经网络的网络架构包括一层输入层、一层卷积层、一层池化层、两层全连接层、一层输出层;输入层将原始图片预处理为二值图片;卷积层通过卷积核对输入图片数据进行特征提取,并用Sign激活函数对卷积层输出进行激活;池化层通过降采样减少网络参数;全连接层将经过卷积池化层提取的图像特征进行整合,并通过Sign激活函数对全连接层输出进行激活;输出层可被视为分类器,用于预测输入图片的类别;两层全连接层包括第一层全连接层和第二层全连接层。
[0029]进一步地,所述步骤1中,在二值化神经网络的前向传播过程中基于二值函数Binarized对卷积核进行二值化处理,基于符号函数Sign对卷积层和全连接层输出进行二
值化处理;其中Binarized函数如(Ⅰ)所示,Sign函数如(Ⅱ)所示:
[0030][0031][0032]在反向传播过程中,采用Htanh函数计算梯度,其中Htanh函数如(Ⅲ)所示:
[0033]Htanh(x)=max(

1,min(1,x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(Ⅲ)
[0034]进一步地,所述步骤3中,滑动次数c的计算公式为:
[0035][0036]式(IV)中,I为输入二值图片的尺寸大小,R
k
为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法,其特征在于,包括步骤如下:步骤1:搭建二值化神经网络架构用于实现图片二分类任务;步骤2:获取图片数据集,对原始图片数据进行灰度化及1,0二值化预处理;步骤3:构造滑动窗口,即构造尺寸为R
k
*R
k
、步长为m、滑动次数为c的滑动窗口,其中m为卷积步长与池化步长的乘积;步骤4:重构卷积核,即对二值化神经网络训练得到的1,0二值化卷积核进行尺寸和内容重构,将重构后的卷积核命名为重构卷积核,尺寸为R
k
*R
k
;步骤5:对重构卷积核进行剪枝操作,即去除重构卷积核中0的部分;步骤6:选取尺寸为c*q的第一层全连接层权值,即选取二值化神经网络训练得到的第一层全连接层权值,其尺寸为c*q,其中,c为滑动窗口滑动次数,q为第一层全连接层的输出尺寸;步骤7:将步骤2预处理后的二值图片、步骤5剪枝后的重构卷积核及步骤6选取的第一层全连接层权值加载到硬件存储器中;步骤8:将滑动窗口按照从左到右、从上到下的规则,在步骤2预处理后的二值图片上以步长m进行滑动;步骤9:对滑动窗口截取的二值图片数据进行卷积

池化融合剪枝操作,即对滑动窗口截取的二值图片数据与剪枝后的重构卷积核进行逐位与操作,并去除逐位与操作过程中对分类精度不造成影响的位与操作;步骤10:将步骤9的卷积

池化融合剪枝结果与部分步骤6选取的第一层全连接层权值进行融合剪枝操作,即滑动窗口当前截取数据的卷积

池化融合剪枝结果决定第一层全连接层输出的结果,去除滑动窗口截取数据的卷积

池化融合剪枝结果与部分第一层全连接层权值的位同或操作;步骤11:判断滑动窗口是否完成对二值图片数据的遍历,若完成,进入步骤12,结束步骤9

10的全融合剪枝运算;否则,重复步骤8

10;步骤12:累加及比较遍历过程中步骤10输出的融合剪枝运算结果;步骤13:完成第二层全连接层运算,即对步骤12得到的累加及比较结果与二值化神经网络训练得到的第二层全连接层权值进行位同或操作;步骤14:将步骤13结果最大值对应的类别作为输入图片最终的分类标签。2.根据权利要求1所述的一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法,其特征在于,二值化神经网络的网络架构包括一层输入层、一层卷积层、一层池化层、两层全连接层、一层输出层;输入层将原始图片预处理为二值图片;卷积层通过卷积核对输入图片数据进行特征提取,并用Sign激活函数对卷积层输出进行激活;池化层通过降采样减少网络参数;全连接层将经过卷积池化层提取的图像特征进行整合,并通过Sign激活函数对全连接层输出进行激活;输出层可被视为分类器,用于预测输入图片的类别;两层全连接层包括第一层全连接层和第二层全连接层。3.根据权利要求1所述的一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法,其特征在于,所述步骤1中,在二值化神经网络的前向传播过程中基于二值函数Binarized对卷积核进行二值化处理,基于符号函数Sign对卷积层和全连接层输出进行二
值化处理;其中Binarized函数如(I)所示,Sign函数如(II)所示:值化处理;其中Binarized函数如(I)所示,Sign函数如(II)所示:在反向传播过程中,采用Htanh函数计算梯度,其中Htanh函数如(III)所示:Htanh(x)=max(

1,min(1,x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(III)。4.根据权利要求1所述的一种基于二值化神经网络的全融合及剪枝技术实现图片分类的方法,其特征在于,所述步骤3中,滑动次数c的计算公式为:式(VI)中,I为输入二值图片的尺寸大小,R
k
为重构卷积核的单边尺寸,S为卷积步长,P为池化层的单边尺寸;所述步骤4中,尺寸重构是指:将二值化神经网络训练得到的卷积核尺寸更改为R
k
*R
k
,其中,R
k
的计算公式如式(V)所示:R
k
=K+(S*(P

1))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(V)式(V)中,K表示卷积层卷积核的单边尺寸;S表示卷积步长,(P

1)表示池化层单边尺寸减1;S*(P

1)表示除去第一个卷积核之外的其余卷积核的尺寸;内容重构是指:将P*P个相同卷积核以卷积步长S为最小单位按坐标C
F
放置;所述坐标C
F
如式(VI)所示:式(VI)中,P表示池化层单边尺寸,i表示第i个卷积核;将P*P个相同卷积核以卷积步长S为最小单位进行按坐标C
F
放置,具体是指:第一个卷积核放置坐标为(0,0),第二个卷积核放置坐标为(S,0),第P个卷积核放置坐标为((P

1)*S,0),第P+1个卷积核放置坐标为(0,S),第P+2个卷积核放置坐标为(S,S),第P*P个卷积核放置坐标为((P

...

【专利技术属性】
技术研发人员:王永张瑞栾存阳亓海凤仲祖霆
申请(专利权)人:山东大学
类型:发明
国别省市:

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

1