一种用于深度神经网络高速实时量化结构和运算实现方法技术

技术编号:20119400 阅读:35 留言:0更新日期:2019-01-16 12:21
本发明专利技术涉及一种用于深度神经网络高速实时量化结构和运算实现方法,被处理数据通过深度神经网络得到处理结果在深度神经网络选取部分或全部节点作为计算模块,计算模块内的节点参数为或量化为2的整数倍次幂形式的参数,将计算模块的输入数据与2的整数倍次幂形式的参数进行运算得到输出结果。本发明专利技术可以简化计算所消耗的资源,降低系统需求。

A High Speed Real-time Quantization Architecture and Operational Implementation Method for Deep Neural Networks

The present invention relates to a high-speed real-time quantization structure and operation realization method for deep neural network. The processed data are obtained by deep neural network. Some or all nodes are selected as calculation module in deep neural network. The parameters of nodes in the calculation module are in the form of integer power of 2 or 2, and the input data of the calculation module is multiplied by 2 integer power. The output results are obtained by calculating the parameters in the power form. The invention can simplify the resources consumed by calculation and reduce the system requirement.

【技术实现步骤摘要】
一种用于深度神经网络高速实时量化结构和运算实现方法
本专利技术为一种深度神经网络量化结构和方法。深度神经网络可以应用在图像识别,语音识别,大数据分析等方面。
技术介绍
深度神经网络是基于学习的方法的一种,其通过逐层抽象特征,组合底层抽象形成高层特征抽象,来发现数据的特征,解决不同的数据表示问题。其拓扑结构和计算方式模拟人脑神经系统,事实证明可准确地感知数据特征。深度神经网络包括CNN,DNN,RNN等结构。近年基于深度神经网络的方法的目标图像识,语音识别,大数据分析等方面别得到很好的效果。在2006年多伦多大学教授Hinton基于深度网络提出了一种快速逐层非监督训练算法,为多层神经网络训练方法做出了革命性的进展,Hinton也因此被称为深度学习之父。2012年,AlexKrishevsky与来自多伦多大学(UniversityofToronto)的其他研究人员提出了一种基于CNN的深度架构AlexNet,赢得了当年的ILSVRC冠军(错误率16.4%使用额外数据可达15.3%)。他们竞争对手以及之前几年的模型相比在识别性能方面取得了实质性的提升。随后,ILSVRC的Top-5错误率在近几年取得重大突破,而主要的突破点都是在深度学习和卷积神经网络,成绩的大幅提升几乎都伴随着卷积神经网络的层数加深。现在,国际的Google,IBM,百度,Intel等领先的科技互联网和硬件公司都将深度网络人工智能方向作为重点发展方向。但是深度神经网络结构复杂,规模大,计算量高,对应用深度神经网络的使用条件提出较高要求,这成为现在主要问题之一。传统深度神经网络中主要运算是乘法运算和加法运算,其中乘法运算是占用整个资源中的最大部分,经研究发现,神经网络对低精度权重值具有非常高的容忍度,极度粗略的权重值并不会大幅降低预测精度。新兴趋势是采用远低于32位的紧凑型低精度数据类型,研究人员已经对极低精度的2位三进制和1位二进制DNN进行了持续的精度改进,其中值分别约束为(0,+1,-1)的三值网络或(+1,-1)的二值网络。在二值网络和三值网络中将原有的乘法运算简化为加法运算,大大加速了运算过程,压缩网络结构。但是在ImageNet这种库上面,还是不够准确。
技术实现思路
针对上述技术不足,本专利技术提出一种用于深度神经网络高速实时量化结构和运算实现方法,可以简化计算所消耗的资源,降低系统需求。本专利技术解决其技术问题所采用的技术方案是:一种用于深度神经网络高速实时量化结构和运算实现方法,被处理数据通过深度神经网络得到处理结果,在深度神经网络选取部分或全部节点作为计算模块,计算模块内的节点参数为或量化为2的整数倍次幂形式的参数,将计算模块的输入数据与2的整数倍次幂形式的参数进行运算得到输出结果。所述2的整数倍次幂形式的参数包括绝对值大于1的数。所述计算模块的输入数据与2的整数倍次幂形式的参数进行运算具体为:计算模块的输入数据与2的整数倍次幂形式的参数相乘时在处理器中采用位移运算。所述2的整数倍次幂形式的参数为计算模块提出公共系数后,进行量化所得结果。所述2的整数倍次幂形式的参数为直接通过训练约束所得结果。所述量化包括以下步骤:6)设定量化参数个数M,占全体量化参数个数的a%个数值中,选取绝对值最大的N个参数值Fm-n…Fm;7)计算Fm-n…Fm的平均值Fma;8)设Fma为量化最大值;9)设量化为K级,即2的0次幂至2的K次幂,并将Fma与2的K次幂的比例作为公共系数;10)根据2的0次幂至2的K次幂的比例关系,确定量化其他级所对应的中间数值,将量化参数与中间数值进行比较,根据临近点法取得量化参数对应的幂的大小,进而得到量化结果。所述计算模块输入数据为或量化为2的整数倍次幂形式,输入数据与参数的乘法运算转化为指数的加法运算。当计算模块的输入为深度神经网络的中间结果时,将中间结果量化提出公共系数,将中间结果量化为2的整数倍次幂形式大小,公共系数在计算模块以后的网络层参与运算。所述将计算模块的输入数据与2的整数倍次幂形式的参数进行运算具体为将计算模块的输入数据与2的整数倍次幂形式的参数进行卷积运算,包括以下步骤:计算模块的输入数据与2的整数倍次幂形式的参数相乘,即指数相加,得到H个相乘结果M1,…,MH,统计相乘结果中相同数值的数值个数,将数值个数输入到对应译码器得到实际数值;将所有实际数值相加,得到输出结果。深度神经网络的输入接收被处理数据;计算模块的输出结果至下一级的计算模块或者网络层,深度神经网络输出处理结果。本专利技术具有以下有益效果及优点:1.本专利技术计算模块输入数据量化为2的整数倍次幂形式,可以简化计算所消耗的资源,降低系统需求。2.本专利技术计算模块的输入数据与2的整数倍次幂形式的参数进行卷积运算,这样可以进一步简化所消耗资源。附图说明图1为实施例一中系数提取示例图。图2为2的整数倍次幂形式的输入数据与2的整数倍次幂形式的参数卷积和的计算流程示意图。具体实施方式下面结合实施例对本专利技术做进一步的详细说明。一种用于深度神经网络高速实时量化结构和运算实现方法在深度神经网络选取部分或全部节点作为计算模块,计算模块内的节点参数为或量化为2的整数倍次幂形式的参数,将计算模块的输入数据与2的整数倍次幂形式的参数进行运算得到输出结果。参数为2的整数倍次幂形式即参数为1,-1,2,-2,4,-4,8,-8等2的整数倍次幂形式。计算机中数值均由2进制表示,计算机中2的整数倍次幂形式的参数的有效数字为一位,并且可表示不同大小,可以有不同于其他数字的运算形式,所以可以简化算法与深度网络结构。选取的所述部分或全部节点作为计算模块为同一层的临近的一些节点为一个计算模块,也可以将几个临近层之间对应位置的一些节点作为一个计算模块。深度神经网络的输入数据可以为图像灰度数据,音频数据,金融数据等数据形式。一种用于深度神经网络高速实时量化结构和运算实现方法,所述2的整数倍次幂形式的参数包括绝对值大于1的数。2的整数倍次幂形式的参数包括绝对值大于1的数,即参数不局限于1,-1,0范围内。一种用于深度神经网络高速实时量化结构和运算实现方法,所述计算模块的输入数据与2的整数倍次幂形式的参数进行运算具体为:计算模块的输入数据与2的整数倍次幂形式的参数相乘时在处理器中采用位移运算。计算模块的输入数据与2的整数倍次幂形式的参数相乘时,乘法运算可以转化为位移运算。计算机处理数据为二进制计算,浮点乘法是转化为通过有效数据与参数分别整数相乘得到。整数相乘过程如下两个无符号二进制数X和Y,X为M位宽,Y为N位宽其中Xi,和Yj为0或者1,那么X和Y的乘法定义如下Z为X和Y的积,Zk为第K位有效数值。例如X=101010,Y=1011计算过程如下:被乘数与乘数的第一个位相乘(实际为“与”操作)产生积,并且根据乘数相应位的位置对部分积进行左移(例如,被乘数与乘数的第0位相乘不移位;与第1位相乘,部分积左移1位,以此类推),最终将所有的部分积相加得到乘法运算的结果。M位被乘数与N位乘数相乘得到的乘积是M+N位的。一次乘法运算包括多次加法运算与位移运算,所以多位数乘法运算的复杂度要较加法与位移运算高一至几个数量级。一次2的整数倍次幂形式的参数乘法,例如101010与4(100)相乘只需一次位移运算我本文档来自技高网
...

【技术保护点】
1.一种用于深度神经网络高速实时量化结构和运算实现方法,其特征在于:在深度神经网络选取部分或全部节点作为计算模块,计算模块内的节点参数为或量化为2的整数倍次幂形式的参数,将计算模块的输入数据与2的整数倍次幂形式的参数进行运算得到输出结果。

【技术特征摘要】
1.一种用于深度神经网络高速实时量化结构和运算实现方法,其特征在于:在深度神经网络选取部分或全部节点作为计算模块,计算模块内的节点参数为或量化为2的整数倍次幂形式的参数,将计算模块的输入数据与2的整数倍次幂形式的参数进行运算得到输出结果。2.根据权利要求1所述一种用于深度神经网络高速实时量化结构和运算实现方法,其特征在于所述2的整数倍次幂形式的参数包括绝对值大于1的数。3.根据权利要求1所述一种用于深度神经网络高速实时量化结构和运算实现方法,其特征在于所述计算模块的输入数据与2的整数倍次幂形式的参数进行运算具体为:计算模块的输入数据与2的整数倍次幂形式的参数相乘时在处理器中采用位移运算。4.根据权利要求1所述一种用于深度神经网络高速实时量化结构和运算实现方法,其特征在于所述2的整数倍次幂形式的参数为计算模块提出公共系数后,进行量化所得结果。5.根据权利要求1所述一种用于深度神经网络高速实时量化结构和运算实现方法,其特征为所述2的整数倍次幂形式的参数为直接通过训练约束所得结果。6.根据权利要求1所述一种用于深度神经网络高速实时量化结构和运算实现方法,其特征为所述量化包括以下步骤:1)设定量化参数个数M,占全体量化参数个数的a%个数值中,选取绝对值最大的N个参数值Fm-n…Fm;2)计算Fm-n…Fm的平均值Fma;3)设Fma为量化最大值;4)设量化为K级,即2的0次幂至2的K次幂,并将Fma与2的K次幂的...

【专利技术属性】
技术研发人员:周广超罗海波惠斌
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:辽宁,21

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

1