CN110321816B - 图像识别方法及装置 - Google Patents

图像识别方法及装置 Download PDF

Info

Publication number
CN110321816B
CN110321816B CN201910531247.9A CN201910531247A CN110321816B CN 110321816 B CN110321816 B CN 110321816B CN 201910531247 A CN201910531247 A CN 201910531247A CN 110321816 B CN110321816 B CN 110321816B
Authority
CN
China
Prior art keywords
carry
image
training
generator
neural network
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.)
Active
Application number
CN201910531247.9A
Other languages
English (en)
Other versions
CN110321816A (zh
Inventor
赵德赞
欧阳鹏
尹首一
李秀东
王博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qingwei Intelligent Technology Co ltd
Original Assignee
Beijing Qingwei Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qingwei Intelligent Technology Co ltd filed Critical Beijing Qingwei Intelligent Technology Co ltd
Priority to CN201910531247.9A priority Critical patent/CN110321816B/zh
Publication of CN110321816A publication Critical patent/CN110321816A/zh
Application granted granted Critical
Publication of CN110321816B publication Critical patent/CN110321816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种图像识别方法及装置,其中,该方法包括:获取待识别图像;将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像样本进行二值化训练生成,二值化训练的前向运算过程采用加法操作。上述技术方案提高了图像识别的效率和精度,降低了能耗,易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。

Description

图像识别方法及装置
技术领域
本发明涉及信息处理技术领域,特别涉及一种图像识别方法及装置。
背景技术
基于神经网络(包括但不限于CNN、DNN、LSTM)的图像识别系统,往往需 要一个或多个深层次模型进行训练。每个模型往往需要多个神经网络层作为计算单 元,每个神经网络层又包括数以万计的参数。由于传统的参数通常由32位浮点作为 数据类型,对存储量大,计算(例如权重计算)的时候运算类型又多,因此计算速度 慢,不能由嵌入式设备实现。图像识别数据集(如IMAGENET数据集)往往非常大, 使用一些压缩方案压缩的比率不高,精度却下降非常大。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像识别方法,用以提高图像识别的效率和精度,降低能耗,便于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度,该 方法包括:
获取待识别图像;
将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像样本进行二值化 训练生成,二值化训练的前向运算过程采用加法操作。
本发明实施例还提供了一种图像识别装置,用以提高图像识别的效率和精度,降低能耗,便于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度, 该装置包括:
获取单元,用于获取待识别图像;
识别单元,用于将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像 样本进行二值化训练生成,二值化训练的前向运算过程采用加法操作。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述图像识别方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述图像识别方法的计算机程序。
本发明实施例提供的技术方案通过:获取待识别图像;将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;其中, 该二值神经网络识别模型为根据多个图像样本进行二值化训练生成,二值化训练的前 向运算过程采用加法操作,实现了:
首先,与现有技术相比,在二值化训练时,前向运算过程采用加法操作,前向运 算速度提高1倍,计算功耗也大大降低;
其次,由于二值神经网络识别模型为根据多个图像样本进行二值化训练生成,该二值神经网络识别模型为二值化的网络结构,其对应的参数也是二值化参数,与传统 的32位浮点的存储方式相比较,使得参数存储所需内存大幅度下降,提高了运算的 速度和精度,进而提高了图像识别的效率和精度。因此,本发明实施例提供的技术方 案易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。
综上,本发明实施例提供的图像识别方案效率和精度高,降低了能耗,易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例中图像识别方法的流程示意图;
图2是本发明实施例中权重二值化训练的流程示意图;
图3是本发明实施例中训练得到二值神经网络识别模型的流程示意图;
图4是本发明实施例中近似加法器的结构示意图;
图5是本发明实施例中选择器的工作原理的示意图;
图6是本发明实施例中近似加法器出错示意图;
图7是本发明实施例中图像识别装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发 明,但并不作为对本发明的限定。
本发明针对存储量大、前向运行慢的现状,提出一种基于二值神经网络和近似加法器的图像识别系统,使用二值替换传统的浮点存储,并使用近似加法器替换传统的 加法器。具体地,本发明涉及的一种面向图像处理的二值神经网络和近似加法器的实 现方法,使用二值神经网络对输入的图像(包括但不限于人脸、物体例如钞票)进行 二值化训练,从而得到可以进行前向二值计算的模型(二值神经网络识别模型)。同 时使用近似加法器来替换传统的加法器,利用本发明实施例提供的图像识别方案,可 以用于人脸识别、真假钞的识别、病理图片的识别(通过病理图片判断是否患有疾病 的识别)等。下面对该图像识别的方案进行详细介绍如下。
图1是本发明实施例中图像识别方法的流程示意图,如图1所示,该方法包括如 下步骤:
步骤101:获取待识别图像;
步骤102:将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像样本 进行二值化训练生成,二值化训练的前向运算过程采用加法操作。
本发明实施例提供的技术方案通过:获取待识别图像;将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;其中, 该二值神经网络识别模型为根据多个图像样本进行二值化训练生成,二值化训练的前 向运算过程采用加法操作,实现了:
首先,与现有技术相比,在二值化训练时,前向运算过程采用加法操作,前向运 算速度提高1倍,计算功耗也大大降低;
其次,由于二值神经网络识别模型为根据多个图像样本进行二值化训练生成,该二值神经网络识别模型为二值化的网络结构,其对应的参数也是二值化参数,与传统 的32位浮点的存储方式相比较,使得参数存储所需内存大幅度下降,提高了运算的 速度和精度,进而提高了图像识别的效率和精度。因此,本发明实施例提供的技术方 案易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。
综上,本发明实施例提供的图像识别方案效率和精度高,降低了能耗,易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。
具体实施时,本发明实施例提到的神经网络可以为卷积神经网络、全连接神经网络、时间递归神经网络;二值神经网络为通过二值化训练得到的权重为二值的网络, 称为BWN(Binary-Weight-Networks),二值神经网络识别模型为权重为二值的二值神 经网络识别模型,即二值神经网络识别模型具备二值化网络的结构及其对应的二值化 参数;二值化训练是指:权值按照一定的二值规则进行训练,具体实现见图2;前向 二值计算(二值化训练的前向运算)是指:使用二值化的权重进行神经网络的权重计 算。
一,首先介绍神经网络识别模型的生成过程。
在一个实施例中,可以按照如下方法预先训练生成所述二值神经网络识别模型:
对神经网络识别模型的权重进行二值化训练,得到优化训练的二值化权重;
前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型。
具体实施时,本发明为了保证对图像识别的精度,仅对权重进行了二值化处理,对于权重二值化网络,由于权重只有0,1两种情况,因此卷积运算中的乘法操作可 简化成加法操作,因此,前向运算速度提高1倍,计算功耗也大大降低。放弃了32 位浮点的传统存储方式,使得参数存储所需内存大幅度下降。二值化的神经网络可以 很好的嵌入到内存很小的手持设备中,并保持原有相似的精度。具体地,得到二值神 经网络识别模型的过程如下。
1、首先,介绍对神经网络识别模型的权重进行二值化训练,得到优化训练的二 值化权重,二值化过程如图2所示,具体过程如下:
(1)某层的每个通道的所有权重L1范数的除以权重的数量作为alpha值。
(2)对于每个权重,不小于0置为+1,不大于0置为-1,组成权重矩阵B。
(3)使用alpha×B作为原始权重W的近似值WB。
在一个实施例中,优化训练公式可以如下:
Figure BDA0002099828160000041
其中:
B∈{+1,-1}c×w×h,α是一个正实数;
Figure BDA0002099828160000051
式中,I为输入的图像矩阵;W为权重矩阵;
Figure BDA0002099828160000052
为大小为
Figure BDA0002099828160000057
的实数矩阵,c代 表滤波器的通道数,w代表滤波器的宽,h代表滤波器的高,win代表输入特征的宽, hin代表输入特征的高,l1代表范数,n代表权重的数量,B代表二值后的权重矩阵。
具体实施时,二值的原理是根据优化算法做一个输出的近似,对于输入矩阵
Figure BDA0002099828160000053
和权重矩阵
Figure BDA0002099828160000054
对于卷积运算,可以做一个近似计算,即
Figure BDA0002099828160000055
其中B∈{+1,-1}c×w×h,α是一个整实数。
Figure BDA0002099828160000056
该二值理论适用于任何具有卷积神经网络、全连接神经网络、时间递归神经网络,包括经典的AlexNet、Residual Net、GoogLeNet、VGGNet、Siamese、FCN、R-CNN、 Fast-RCNN、Faster-RCNN、SSD、Yolo等。
2、其次,结合附图3,介绍得到二值神经网络识别模型的过程。
本发明涉及上述方法得到的二值神经网络模型的图像识别系统,包括预处理子系统、特征提取子系统、分类子系统。
二值神经网络识别模型的训练包括三步:前向传播,反向传播和权值更新,二值的总的训练过程如图3所示,具体过程如下:
(1)前向传播。前向的权重采用使用图2所示的处理方式二值化的近似权重WB 进行前向。其他处理和普通的训练过程一样。
(2)反向传播。反向传播时使用二值之前的权重进行梯度的计算,其余处理和普通的训练过程一样。
(3)权值更新。权值更新仍然采用未二值的实数权重进行计算,和普通非二值的更新方式一样。
具体实施时,在图2和图3中,Xnordotproduct指异或运算,batchnorm指batchnorm层,sign是数的判决运算函数,大于零为+1,小于零为-1,backbatchnorm指batchnorm 层的反向运算,ab k指第k层的二值输出,ab k-1指第k-1层的二值输入,ak指第k层的 输入,g(.)代表梯度,wb k指第k层的二值化权重,Binarizing Weight的含义是二值化 权重。
在一个实例中,前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型,可以包括:前向运算采用一近似加法器,综合所述 优化训练的二值化权重,得到所述二值神经网络识别模型;其中,所述近似加法器包 括:位加法单元;如图4所示,所述位加法单元可以包括:
多个进位产生器,每一进位产生器用于将第一权重输入值和第二权重输入值进行进位运算,得到当前位进位产生器的进位输出信号;
多个选择器(例如图4中的(C(i+1)、C(i)),每一选择器包括两个输入端和一 个输出端,其中:第一输入端与当前位进位产生器的前一位进位产生器的输出端连接, 第二输入端与当前位进位产生器的前两位进位产生器的输出端连接,选择器的输出端 与当前位和输出产生器(当前位进位产生器对应的和输出产生器)连接;每一选择器 用于根据预设进位判断条件,从前一位进位产生器输出端输出的进位输出信号
Figure BDA0002099828160000061
和前两位进位产生器的输出端输出的进位输出信号
Figure BDA0002099828160000062
中,选择出一进位输出信号;
和输出产生器,用于根据选择器选择出的进位输出信号,进行和输出。
具体实施时,本发明实例提供的近似加法器的结构,具有更高的准确率、更高的运算速度和更低的能耗,进而可以提高图像识别的精度,下面对该近似加法器的结构 进行详细介绍。
具体实施时,图4所示是近似加法器的结构图(一个电路块,即上述一个位加法 单元),n位的近似加法器电路由m个电路块构成,每个部分有一个k位的和输出产 生器和k位的进位产生器(k=n/m)。将第i个电路块的输入记作
Figure BDA0002099828160000063
Figure BDA0002099828160000064
输出 记作
Figure BDA0002099828160000065
其中,0≤i≤m-1。在加信号后,如图4所示,首先每个进位产生器根据 该部分电路的输入(例如
Figure BDA0002099828160000066
Figure BDA0002099828160000067
Figure BDA0002099828160000068
Figure BDA0002099828160000069
)分别产生进位输 出信号
Figure BDA00020998281600000610
然后选择器C(i+1)根据判断条件(该判断条件,详见 下文介绍)选择前两个进位产生器(包括前一位进位产生器和前两位进位产生器,其 中前一位进位产生器为
Figure BDA00020998281600000611
Figure BDA00020998281600000612
对应的进位产生器,前两位进位产生器为
Figure BDA00020998281600000613
Figure BDA00020998281600000614
对应的进位产生器)中的一个进位输出信号作为和输出产生器的进位输入信号
Figure BDA00020998281600000615
最后每部分的和输出产生器产生和输出
Figure BDA00020998281600000616
所以,整个电路的关键路径延时为三部分电路之和(进位产生器,选择器和和输出产 生器),如图4中虚线框所示。
在图4中,
Figure BDA0002099828160000071
Figure BDA0002099828160000072
表示两个加数,表示电路块的加法的2个输入,上标i 表示第i个k位的电路块,k-1:0表示当前子电路块的k位输入。
下面介绍本发明实施例提到的预设进位判断条件:如果第i部分的进位传播信号都为真的话,那么第i部分的正确进位输出信号是由第i部分之前的输入决定的,如 果该进位信号为真,那么将无法准确传递给第i+1部分电路,导致和输出结果出错。 而该近似加法结构(图4所示的结构)能通过判断这一条件
Figure RE-GDA0002161753650000073
是 否为真来控制选择器选择第i部分(当前位进位产生器的前一位进位产生器的输出端) 还是第i-1部分(当前位进位产生器的前两位进位产生器的输出端输出的信号)的进 位输出信号作为第i+1部分(当前和输出产生器,即当前进位产生器对应的当前和输 出产生器)的进位输入信号,如果为真,选择第i-1部分的进位输出信号;否则,选 择第i部分的进位输出信号。这样结果将会精确的多。分析该电路(近似加法器),加 了选择器后就相当于将进位链加长了k位,这一点也可以通过级联相邻两个进位产生 电路得到,但一个k位的进位产生链的延时明显大于一个选择器的延时,尤其当k很 大时。选择器的工作原理表达式为:
Figure BDA0002099828160000075
其中,
Figure BDA0002099828160000076
在公式3中,
Figure BDA0002099828160000077
Figure BDA0002099828160000078
是第i-1部分和第i部分电路的进位输出信号,
Figure BDA0002099828160000079
是第i 部分电路的第j位的进位传播信号。
在一实施例中,所述选择器的工作原理表达式为:
Figure BDA00020998281600000710
其中:
Figure BDA00020998281600000711
式中,
Figure BDA00020998281600000712
是选择器选择出的进位输出信号,
Figure BDA00020998281600000713
是当前位进位产生器的前两位进位产生器的输出端输出的进位输出信号,
Figure BDA00020998281600000714
是当前位进位产生器的前一位进位产 生器的输出端输出的进位输出信号,i代表位号,k代表位数,
Figure BDA00020998281600000715
是第i部分电路的 第j位的进位传播信号。
具体实施时,关于选择器具体工作原理的例子可以见图5。图中根据输入A、B 可知
Figure BDA0002099828160000081
以及
Figure BDA0002099828160000082
选择器中同时输入这俩信号,通过判断第i部分的进位传播 信号都为真,即
Figure BDA0002099828160000083
输出
Figure BDA0002099828160000084
作为i+1部分位加法单元的进位输入
Figure BDA0002099828160000085
由于选 择器的存在,正确传递了进位信号。
在我们的16位(上文提到的n)加法器中,将参数k设为4(即上文提到的k位), 由此可知,上文提到的m个电路块为4个电路块。首先加法器的前4位为一个电路块, 其进位和精确加法器的进位原理一致;c[7]经过选择器的修正后进位链长度变至7(即 从0位开始推的),因此c[8]、c[9]和c[10]的进位链长度分别是8,9和10;c[11]经过 选择器的修正后进位链长度变至7(即从输入的第4位开始推的)c[12]、c[13]和c[14] 的进位链长度同样分别为8、9和10。如果实际中某一位对应的进位链长度超过这些 值会可能导致结果的错误。
下面分析发生错误的情况。首先,输出结果的前8位不会出错(sum[0]至sum[7]);然后,由于c[7]、c[8]、c[9]和c[10]经过选择器的修正后的结果也是精确的,所以电 路中的第三部分结果也是正确的(sum[8]到sum[11]);c[11]、c[12]、c[13]和c[14]的 进位链长度小于精确加法器中的进位链长度,因此可能出错,从而可能造成sum[12]至 sum[15]出现错误。具体的例子可见图6。
二、接着,介绍上述步骤101。
具体实施时,获取的图像可以是人脸、物体等。当然在该步骤101中还可以进行 一些预处理过程,便于后续快速准确进行图像识别。
三、接着,介绍上述步骤102。
将步骤101获取的待识别图像输入至上述介绍的预先训练好的二值神经网络识别模型中,对待识别图像进行识别,得到图像识别结果。利用本发明实施例提供的图 像识别方案,可以用于人脸识别、真假钞的识别、病理图片的识别(通过病理图片判 断是否患有疾病的识别)等。本发明实施例提供的图像识别方案效率和精度高,降低 了能耗,易于应用到内存很小的手持设备中,并保持原有相似的精度或更高的精度。
基于同一发明构思,本发明实施例中还提供了一种图像识别装置,如下面的实施例。由于图像识别装置解决问题的原理与上述应用于图像识别方法相似,因此图像识 别装置的实施可以参考上述图像识别方法的实施,重复之处不再赘述。以下所使用的, 术语“模块”或者“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实 施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也 是可能并被构想的。
图7是本发明实施例中图像识别装置的结构示意图;如图7所示,该装置包括:
获取单元02,用于获取待识别图像;
识别单元04,用于将待识别图像输入预先训练生成的二值神经网络识别模型, 对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个 图像样本进行二值化训练生成,二值化训练的前向运算过程采用加法操作。
在一实施例中,上述图像识别装置还可以包括存储单元,用于存储按照如下方法预先训练生成的所述二值神经网络识别模型:
对神经网络识别模型的权重进行二值化训练,得到优化训练的二值化权重;
前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型。
在一实施例中,存储单元具体用于存储按照如下方法预先训练生成的所述二值神经网络识别模型:
前向运算采用一近似加法器,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型;其中,所述近似加法器包括:位加法单元;所述位加法单元包括:
多个进位产生器,每一进位产生器用于将第一权重输入值和第二权重输入值进行进位运算,得到当前位进位产生器的进位输出信号;
多个选择器,每一选择器包括两个输入端和一个输出端,其中:第一输入端与当前位进位产生器的前一位进位产生器的输出端连接,第二输入端与当前位进位产生器 的前两位进位产生器的输出端连接,选择器的输出端与当前位和输出产生器连接;每 一选择器用于根据预设进位判断条件,从前一位进位产生器输出端输出的进位输出信 号和前两位进位产生器的输出端输出的进位输出信号中,选择出一进位输出信号;
和输出产生器,用于根据选择器选择出的进位输出信号,进行和输出。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述图像识别方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述图像识别方法的计算机程序。
本发明实施提供的技术方案的有益技术效果为:本发明实施例提供的图像识别方案为基于二值神经网络和近似加法器的图像识别方案,该技术方案提高了图像识别的 效率和精度、降低了能耗,易于应用到内存很小的手持设备中,并保持原有相似的 精度或更高的精度。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算 装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而, 可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于 此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或 者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例 不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内, 所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种图像识别方法,其特征在于,包括:
获取待识别图像;
将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像样本进行二值化训练生成,二值化训练的前向运算过程采用加法操作;
按照如下方法预先训练生成所述二值神经网络识别模型:
对神经网络识别模型的权重进行二值化训练,得到优化训练的二值化权重;
前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型;
前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型,包括:前向运算采用一近似加法器,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型;其中,所述近似加法器包括:位加法单元;所述位加法单元包括:
多个进位产生器,每一进位产生器用于将第一权重输入值和第二权重输入值进行进位运算,得到当前位进位产生器的进位输出信号;
多个选择器,每一选择器包括两个输入端和一个输出端,其中:第一输入端与当前位进位产生器的前一位进位产生器的输出端连接,第二输入端与当前位进位产生器的前两位进位产生器的输出端连接,选择器的输出端与当前位和输出产生器连接;每一选择器用于根据预设进位判断条件,从前一位进位产生器输出端输出的进位输出信号和前两位进位产生器的输出端输出的进位输出信号中,选择出一进位输出信号;
和输出产生器,用于根据选择器选择出的进位输出信号,进行和输出。
2.如权利要求1所述的图像识别方法,其特征在于,所述选择器的工作原理表达式为:
Figure FDA0002916096430000011
其中:
Figure FDA0002916096430000012
式中,
Figure FDA0002916096430000013
是选择器选择出的进位输出信号,
Figure FDA0002916096430000014
是当前位进位产生器的前两位进位产生器的输出端输出的进位输出信号,
Figure FDA0002916096430000015
是当前位进位产生器的前一位进位产生器的输出端输出的进位输出信号,i代表位号,k代表位数,
Figure FDA0002916096430000021
是第i部分电路的第j位的进位传播信号。
3.如权利要求1所述的图像识别方法,其特征在于,优化训练公式如下:
Figure FDA0002916096430000022
其中:
B∈{+1,-1}c×w×h,α是一个正实数;
Figure FDA0002916096430000023
式中,I为输入的图像矩阵;W为权重矩阵;
Figure FDA0002916096430000024
为大小为c×win×hin的实数矩阵,c代表滤波器的通道数,w代表滤波器的宽,h代表滤波器的高,win代表输入特征的宽,hin代表输入特征的高,l1代表范数,n代表权重的数量,B代表二值后的权重矩阵。
4.一种图像识别装置,其特征在于,包括:
获取单元,用于获取待识别图像;
识别单元,用于将待识别图像输入预先训练生成的二值神经网络识别模型,对待识别图像进行识别,得到图像识别结果;所述二值神经网络识别模型为根据多个图像样本进行二值化训练生成,二值化训练的前向运算过程采用加法操作;
所述图像识别装置还包括存储单元,用于存储按照如下方法预先训练生成的所述二值神经网络识别模型:
对神经网络识别模型的权重进行二值化训练,得到优化训练的二值化权重;
前向运算采用加法运算操作,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型;
所述存储单元具体用于存储按照如下方法预先训练生成的所述二值神经网络识别模型:
前向运算采用一近似加法器,综合所述优化训练的二值化权重,得到所述二值神经网络识别模型;其中,所述近似加法器包括:位加法单元;所述位加法单元包括:
多个进位产生器,每一进位产生器用于将第一权重输入值和第二权重输入值进行进位运算,得到当前位进位产生器的进位输出信号;
多个选择器,每一选择器包括两个输入端和一个输出端,其中:第一输入端与当前位进位产生器的前一位进位产生器的输出端连接,第二输入端与当前位进位产生器的前两位进位产生器的输出端连接,选择器的输出端与当前位和输出产生器连接;每一选择器用于根据预设进位判断条件,从前一位进位产生器输出端输出的进位输出信号和前两位进位产生器的输出端输出的进位输出信号中,选择出一进位输出信号;
和输出产生器,用于根据选择器选择出的进位输出信号,进行和输出。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一所述方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至3任一所述方法的计算机程序。
CN201910531247.9A 2019-06-19 2019-06-19 图像识别方法及装置 Active CN110321816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910531247.9A CN110321816B (zh) 2019-06-19 2019-06-19 图像识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910531247.9A CN110321816B (zh) 2019-06-19 2019-06-19 图像识别方法及装置

Publications (2)

Publication Number Publication Date
CN110321816A CN110321816A (zh) 2019-10-11
CN110321816B true CN110321816B (zh) 2021-04-09

Family

ID=68119783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910531247.9A Active CN110321816B (zh) 2019-06-19 2019-06-19 图像识别方法及装置

Country Status (1)

Country Link
CN (1) CN110321816B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019656A (zh) * 2012-12-04 2013-04-03 中国科学院半导体研究所 可动态重构的多级并行单指令多数据阵列处理系统
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN109872326A (zh) * 2019-01-25 2019-06-11 广西科技大学 基于深度强化网络跳跃连接的轮廓检测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311342B1 (en) * 2016-04-14 2019-06-04 XNOR.ai, Inc. System and methods for efficiently implementing a convolutional neural network incorporating binarized filter and convolution operation for performing image classification
CN106909970B (zh) * 2017-01-12 2020-04-21 南京风兴科技有限公司 一种基于近似计算的二值权重卷积神经网络硬件加速器计算装置
CN107203808B (zh) * 2017-05-08 2018-06-01 中国科学院计算技术研究所 一种二值卷积装置及相应的二值卷积神经网络处理器
CN107657312B (zh) * 2017-09-18 2021-06-11 东南大学 面向语音常用词识别的二值网络实现系统
CN108010515B (zh) * 2017-11-21 2020-06-30 清华大学 一种语音端点检测和唤醒方法及装置
CN108765506B (zh) * 2018-05-21 2021-01-29 上海交通大学 基于逐层网络二值化的压缩方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019656A (zh) * 2012-12-04 2013-04-03 中国科学院半导体研究所 可动态重构的多级并行单指令多数据阵列处理系统
CN106875011A (zh) * 2017-01-12 2017-06-20 南京大学 二值权重卷积神经网络加速器的硬件架构及其计算流程
CN109872326A (zh) * 2019-01-25 2019-06-11 广西科技大学 基于深度强化网络跳跃连接的轮廓检测方法

Also Published As

Publication number Publication date
CN110321816A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN108337000B (zh) 用于转换到较低精度数据格式的自动方法
CN109543830B (zh) 一种用于卷积神经网络加速器的拆分累加器
CN109934331B (zh) 用于执行人工神经网络正向运算的装置和方法
US20180218518A1 (en) Data compaction and memory bandwidth reduction for sparse neural networks
US20200193297A1 (en) System and method for binary recurrent neural network inferencing
US10491239B1 (en) Large-scale computations using an adaptive numerical format
CN109871871B (zh) 基于光学神经网络结构的图像识别方法、装置及电子设备
CN109214502B (zh) 神经网络权重离散化方法和系统
JP2019139338A (ja) 情報処理装置、情報処理方法、およびプログラム
CN111008691B (zh) 一种权值和激活值都二值化的卷积神经网络加速器架构
Fu et al. DepthShrinker: a new compression paradigm towards boosting real-hardware efficiency of compact neural networks
JPWO2021038793A1 (ja) 学習システム、学習方法、及びプログラム
CN108804933B (zh) 一种用于信息隐藏技术中的大数据的进制转换方法
Qi et al. Learning low resource consumption cnn through pruning and quantization
CN110321816B (zh) 图像识别方法及装置
CN113313244A (zh) 面向加法网络的近存储神经网络加速器及其加速方法
CN110955405B (zh) 一种输入数据的处理及指数值获取方法、装置及电子设备
CN112686384A (zh) 一种自适应比特位宽的神经网络量化方法及其装置
Hoang et al. FPGA oriented compression of DNN using layer-targeted weights and activations quantization
Zhu et al. Training long short-term memory with sparsified stochastic gradient descent
CN113743593B (zh) 神经网络量化方法、系统、存储介质及终端
CN115862653A (zh) 音频去噪方法、装置、计算机设备和存储介质
CN110751259A (zh) 深度神经网络中的网络层运算方法及装置
CN115730653A (zh) 量化神经网络训练与推理
CN112734021A (zh) 一种基于位稀疏计算的神经网络加速方法

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
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Zhao Dezan

Inventor after: OuYang Peng

Inventor after: Li Xiudong

Inventor after: Wang Bo

Inventor before: Zhao Dezan

Inventor before: OuYang Peng

Inventor before: Yin Shouyi

Inventor before: Li Xiudong

Inventor before: Wang Bo

CB03 Change of inventor or designer information