面向参数量化神经网络专用处理器实现高精度计算的方法技术

技术编号:21201116 阅读:46 留言:0更新日期:2019-05-25 01:36
本发明专利技术属于神经网络技术领域,涉及一种面向参数量化神经网络专用处理器实现高精度计算的方法。该方法在量化神经网络专用处理器的基础上,根据期望精度与每个权值存储单元精度的比值,将每位突触输入位数扩展。选择一种能够表达期望精度的编码方式,对扩展后的每路输入按照编码方式赋予权重,并根据每路输入按所赋权重与最低位权重的商对其编码,编码形式为与商相同的脉冲数或脉冲大小。随后对权重矩阵存储单元进行编码,使各带权输入与权重矩阵存储单元编码相乘的结果,此时计算参数位数得到扩展。参数位数扩展后的神经网络在保持神经网络参数存储空间较少、功耗低的基础上,有效提高了运算精度,可以实现高精度计算。

A Method of Achieving High Precision Computing by Neural Network Special Processor Oriented to Parametric Quantization

The invention belongs to the field of neural network technology, and relates to a method for realizing high precision calculation by a special processor for parameter quantization neural network. On the basis of quantifying the dedicated processor of neural network, the method expands the number of synaptic input bits per synapse according to the ratio of the expected accuracy to the accuracy of each weight storage unit. A coding method which can express the desired precision is selected. Each input is weighted according to the coding method, and each input is coded according to the quotient of the given weight and the lowest bit weight. The coding form is the same number of pulses or pulse size as quotient. Subsequently, the weight matrix storage unit is coded to multiply the weighted input and the weight matrix storage unit. At this time, the number of calculation parameters is expanded. On the basis of keeping less storage space and low power consumption of the parameters of the neural network, the expanded number of parameters of the neural network can effectively improve the operation accuracy and achieve high-precision calculation.

【技术实现步骤摘要】
面向参数量化神经网络专用处理器实现高精度计算的方法
本专利技术属于神经网络
,涉及一种面向参数量化神经网络专用处理器实现高精度计算的方法。
技术介绍
人工神经网络(简称ANN)是一种根据对人脑结构和工作机理模拟的网络结构。ANN包含若干神经元,神经元之间的连接有向带权重,网络可以通过对信息数据的学习训练,改变神经元间的连接权重,从而得到特定的从输入到输出间的关系,以此来处理信息。现有的神经形态硬件需要存储与神经网络中神经元数量相同的参数,以及与神经网络中相互连接数相同的参数才可以进行计算操作,当需要实现复杂功能时,需要大规模的神经网络。随着神经网络规模的扩展,所需要存储的数据量会越来越大,需要消耗大量的存储资源才能储存神经网络的各种参数,同时,随着存储数据量的变大,神经网络计算速度也会受其影响下降。已有的技术可以通过参数量化等手段,使神经网络参数量化。方式为根据神经网络结构和任务类型及具体指标要求,选取区间,将参数量化到一个区间内,实现神经网络参数的大量压缩。压缩后的神经网络参数可以存储在参数量化神经网络专用处理器的参数矩阵内,权值存储单元通常为可以存储若干位权重参数的SRAM或其他存储模块。从每位突触输入量化神经网络专用处理器后,将会经过多个权值存储单元,同时与经过的每个权值存储单元内的权重参数进行运算,最终输出,完成量化神经网络的计算。量化神经网络专用处理器节约了数据存储空间、运算功耗,提升了运算速度。由于参数量化后的量化神经网络专用处理器每个权值存储单元所存参数位数有限,量化神经网络专用处理器的计算精度下降。需要一种技术克服现有技术中的不足,期望在保持量化神经网络专用处理器低功耗、节约存储空间的同时,实现更高的计算精度,本实例就是从此需求出发。
技术实现思路
为了解决现有技术的问题,本专利技术提供了一种面向参数量化神经网络专用处理器实现高精度计算的方法。所述技术方案如下:本专利技术实例提供了一种面向参数量化神经网络专用处理器实现高精度计算的方法,包括以下步骤:获取训练完成后的神经网络参数,主要参数包含权重等。利用神经网络常用的随机梯度下降等方法训练神经网络,在满足指标要求后(如识别精度)完成训练,从而获得训练完成的神经网络,获得训练好的神经网络突触权值,将权值存储于量化神经网络专用处理器各个权值存储单元上。进一步,根据神经网络计算期望获得的精度、量化神经网络专用处理器每个权值单元精度,确定每位突触权值在量化神经网络上映射时所需的输入路数、突触权值存储单元个数。每个原输入都扩展为N路,N为期望精度与量化神经网络专用处理器每个权值单元精度的商向上取整;每个原突触权值存储单元在输入路数扩展后,需要变为与扩展路数N相同的个数。量化神经网络专用处理器中所需的输入总路数为扩展路数N乘以原输入路数,量化神经网络专用处理器中所需的权值单元个数为扩展输入路数N乘以原权值单元个数。进一步,确定计算参数的编码方式(包括但不限于二进制编码等权重码),并根据所选取编码方式分别对每路输入赋予权重,每路的权重与编码方式相关(如二进制编码,则每路的权重分别为2N,N为包含0到扩展输入路数N之间的自然数)。进一步,根据输入赋予的权重对输入形式进行编码,可以通过单位时间内输入脉冲的数量或大小等形式进行编码。以权重最低位输入作为基准,根据各路输入被赋予的权重与最低位输入权重的比值bn,分别将各输入路编码为:单位时间内输入脉冲数等于基准输入单位时间内输入脉冲数的bn倍,或单位时间内的输入脉冲大小为基准输入脉冲大小的bn倍。进一步,根据对输入赋予的权重,对权值矩阵各权值单元编码,编码最大位数与原量化神经网络专用处理器权值单元所能存储的数据位数相同。编码后的权值矩阵与带权输入通过相乘进行组合,组合结果等价于原神经网络中原输入与原权值相乘的结果。进一步,在获得编码的结果后,保持激活函数不变或等价、神经网络层数相同、神经元结构不变,获得在参数量化神经网络专用处理器上的高精度计算网络。进一步,将对各路输入信号的编码写入量化神经网络专用处理器的输入模块,同时将对权值矩阵的编码写入量化神经网络专用处理器各个权值存储单元,完成到参数量化神经网络专用处理器的映射。进一步,根据编码后的输入形式输入并计算,通过计算所有的输入经过量化神经网络专用处理器后输出的脉冲数或脉冲大小,和对输入所赋予的权值(如用脉冲数的形式编码时,计算方式为接收到的脉冲数与最低位权重相乘),获得在神经网络专用处理器上进行高精度计算的计算结果。本专利技术的有益效果是:本专利技术实例提供的方法可以扩展计算参数的位数,实现浮点数、带符号数等多种形式的运算,以此来在量化神经网络专用处理器上实现高精度计算。在保持节省存储资源和功耗的性能上,以降低量化神经网络专用处理器的部分计算速度为代价,提高参数量化神经网络专用处理器的计算性能,以此实现神经网络对于高精度计算的需求。附图说明图1是本专利技术实例中提供的一种面向参数量化神经网络专用处理器实现高精度计算的方法流程图;图2是现有量化神经网络专用处理器中的权值矩阵网络示意图;图3是输入扩展后的量化神经网络专用处理器示意图;图4是本方案用于实现神经网络高精度计算的量化神经网络专用处理器示意图;图5是本方案用于实现乘法运算的一种示例方法示意图;图6是本方案用于实现一种乘法运算时的输入情况。具体实施方式下面结合附图对本专利技术进行详细描述,以便本领域的技术人员能够更好地理解本专利技术。参阅图1,一种面向参数量化神经网络专用处理器实现高精度计算的方法,包括以下步骤:S1:获得神经网络计算参数:神经网络通常使用随机梯度下降等方法来训练,在满足精度等指标要求后完成训练过程,即可获取训练完成的神经网络。训练结束后获得神经网络的权值等参数,现有的量化神经网络专用处理器将计算数据以权值矩阵的形式储存,如图2中3。图2中1为量化神经网络专用处理器的原突触输入模块,通常为寄存器等模块。图2中2为量化神经网络专用处理器的权值存储单元,用于储存计算时所用的权值,通常为SRAM等存储模块。S2:确定计算精度及输入路数:根据神经网络计算期望获得的精度、量化神经网络专用处理器每个权值单元精度,确定每位突触权值在量化神经网络上映射时所需的输入路数、突触权值存储单元个数。每个原输入都扩展为N路,N为期望精度与量化神经网络专用处理器每个权值单元精度的商向上取整;每个原突触权值存储单元在输入路数扩展后,需要变为与扩展路数N相同的个数。量化神经网络专用处理器中所需的输入总路数为扩展路数N乘以原输入路数,量化神经网络专用处理器中所需的权值单元个数为扩展输入路数N乘以原权值单元个数(参阅图3),图3中4为原单个突触输入扩展后的结构。S3:确定参数编码方式:确定计算参数的编码方式(包括但不限于二进制编码等权重码),并根据所选取编码方式分别对每路输入赋予权重,每路的权重与编码方式相关(如二进制编码,则每路的权重分别为2N,N为包含0到扩展输入路数N之间的自然数)。S4:根据所选择编码方式获取每路输入权重:分别对每路输入进行权重赋值,每路的权重与编码方式相同(如二进制编码,则每路的权重分别为2N,N为包含0到扩展输入路数N之间的自然数)。(参阅图4)。S5:整合每路输入权重对每路信号编码:根据输入赋予的权重对输入信号本文档来自技高网
...

【技术保护点】
1.面向参数量化神经网络专用处理器实现高精度计算的方法,其特征在于,包括以下步骤:步骤1,对量化神经网络进行训练,获得训练好的神经网络参数;步骤2,确定计算精度及输入路数:根据神经网络计算期望获得的精度、量化神经网络专用处理器每个权值单元精度,确定每位突触权值在量化神经网络上映射时所需的输入路数、突触权值存储单元个数;步骤3,确定参数编码方式;步骤4,根据所选编码方式获取每路输入权重,即每路的权重与编码方式相同;步骤5,根据每路输入权重对每路输入信号编码;步骤6,对权值矩阵各权值存储单元编码;步骤7,获得编码的结果后,保持激活函数不变或等价、神经网络层数相同、神经元结构不变,在参数量化神经网络专用处理器上获得高精度计算网络;步骤8,将获得的高精度计算网络映射到参数量化神经网络专用处理器;步骤9,输入并计算;步骤10,获得计算结果。

【技术特征摘要】
1.面向参数量化神经网络专用处理器实现高精度计算的方法,其特征在于,包括以下步骤:步骤1,对量化神经网络进行训练,获得训练好的神经网络参数;步骤2,确定计算精度及输入路数:根据神经网络计算期望获得的精度、量化神经网络专用处理器每个权值单元精度,确定每位突触权值在量化神经网络上映射时所需的输入路数、突触权值存储单元个数;步骤3,确定参数编码方式;步骤4,根据所选编码方式获取每路输入权重,即每路的权重与编码方式相同;步骤5,根据每路输入权重对每路输入信号编码;步骤6,对权值矩阵各权值存储单元编码;步骤7,获得编码的结果后,保持激活函数不变或等价、神经网络层数相同、神经元结构不变,在参数量化神经网络专用处理器上获得高精度计算网络;步骤8,将获得的高精度计算网络映射到参数量化神经网络专用处理器;步骤9,输入并计算;步骤10,获得计算结果。2...

【专利技术属性】
技术研发人员:胡绍刚徐胜黄知达乔冠超于奇刘洋
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

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

1