当前位置: 首页 > 专利查询>周军专利>正文

基于权值敏感度的二值神经网络硬件压缩方法技术

技术编号:20115405 阅读:33 留言:0更新日期:2019-01-16 11:39
本发明专利技术公开了一种基于权值敏感度的二值神经网络硬件压缩方法,包括以下步骤:采用二值神经网络训练,以获得权值矩阵和原始准确度;评估任一权值矩阵的敏感度;预设敏感度阀值,划分权值矩阵的敏感集和非敏感集;评估权值矩阵的非敏感集的敏感度;调整敏感度阀值,获得权值矩阵的最佳非敏感集;所述最佳非敏感集的敏感度等于预设的最大准确度损失值;将所述最佳非敏感集存储至新型存储器或采用近阀值/亚阀值电压技术的传统存储器中。通过上述方案,本发明专利技术具有功耗低、识别率高、通用性良好、成本低廉等优点,在硬件压缩技术领域具有广阔的市场前景。

Binary Neural Network Hardware Compression Method Based on Weight Sensitivity

The invention discloses a binary neural network hardware compression method based on weight sensitivity, which includes the following steps: using binary neural network training to obtain the weight matrix and the original accuracy; evaluating the sensitivity of any weight matrix; presupposing sensitivity threshold to divide the sensitive set and non-sensitive set of the weight matrix; evaluating the sensitivity adjustment of the non-sensitive set of the weight matrix; The sensitivity threshold is used to obtain the optimal insensitive set of the weight matrix; the sensitivity of the optimal insensitive set is equal to the preset maximum loss of accuracy; and the optimal insensitive set is stored in a new memory or in a traditional memory using near-threshold/sub-threshold voltage technology. Through the above scheme, the invention has the advantages of low power consumption, high recognition rate, good versatility and low cost, and has broad market prospects in the field of hardware compression technology.

【技术实现步骤摘要】
基于权值敏感度的二值神经网络硬件压缩方法
本专利技术涉及硬件压缩
,尤其是基于权值敏感度的二值神经网络硬件压缩方法。
技术介绍
目前,为了减少神经网络硬件实现所需的资源开销和功耗,所采用的主流方法有硬件架构优化、神经网络压缩、二值神经网络等。其中,硬件架构优化是在硬件层面设计更高效实现神经网络的方法,减少数据占用的内存资源,减少数据在内存读写和运算方式上的冗余,从而达到降低资源开销和功耗的目的。而神经网络压缩是通过减少神经网络中权值的个数和量化比特数来实现网络模型的压缩,同时保证压缩后神经网络的识别准确率不受影响。通常情况下,神经网络中的大量权值都是绝对值接近于0的数,因此可将网络中绝对值很小的权值去掉(即为0),使得该处不存在连接,减少网络中权值的总个数。网络中的权值都是精确度很高的小数,在硬件存储中,需要将这些小数量化为固定位数的定点数,为保证权值的高精度,通常使用32位来存储一个权值,因此造成存储开销较大。可将每个权值做更粗略的量化,即用更少的位数(如3位)来表示高精度小数,网络中不同层的权值可采用不同的量化位数,以保证神经网络的识别准确率。传统的神经网络压缩,首先,正常训练一个神经网络,把训练后的神经网络中权值绝对值小于阈值的置为0(即该处两个神经元之间不存在连接),使得神经网络稀疏,从而减少网络中权值的数量,然后对稀疏的网络进行重新训练;接下来把剩下的权值通过K-means聚类的方法分为几个类别,对每个类别进行编码,每个权值用类别编码表示,假如分为4类,则只需2位编码表示每个权值,每个类别的权值共享同一个数值,然后对权值的编码进行重新训练;最后,采用霍夫曼编码来进一步优化每个权值的编码,实现有效压缩。二值神经网络,是将神经网络中的权值(或者包括每层输入值)直接量化为1或-1,在硬件中只需要1位来表示权值,大大减少每个权值所需要的位数。二值神经网络中主要有四种形式的网络,分别为BinaryConnect(二元连接)、BNN(二值神经网络)、BWN(二值权重网络)、XNOR-Net(同或网络),它们之间只是量化的对象不同,但都是将数值转变为1或-1表示。BinaryConnect和BWN是只将权值量化为二值1或-1,BNN和XNOR-Net是将权值和每层的输入值都量化为二值1或-1。在神经网络中,每一层的计算主要为输入向量与权值矩阵之间乘法操作。若只将权值量化1或-1,则使得输入向量与权值矩阵之间的乘法操作转化为了加减法操作,减少乘法操作;若将权值和每层输入值都量化1或-1,则使得输入向量与权值矩阵的乘法操作转化为1bit的同或操作,比加减法操作更加节省功耗。BWN和XNOR-Net比BinaryConnect和BNN多引入比例因子,因此更能很好地保证复杂任务的识别准确率。传统的压缩方法存在以下不足之处:第一,硬件架构优化和神经网络压缩节省硬件资源和功耗较差;相对于硬件架构优化和神经网络压缩来说,由于二值神经网络可以实现至少32倍的压缩(原始网络权值用32位表示,二值神经网络只有1位表示),且在计算上乘法运算转换为加减运算或者1bit同或运算,大大降低了硬件存储开销和计算功耗。而硬件架构优化和神经网络压缩虽然在一定程度上节省存储量和功耗,但不如二值神经网络简单。第二,二值神经网络的识别准确率较低;在多种二值神经网络中,就分类任务而言,BinaryConnect和BNN都只能对一些较小的数据集很好的完成分类任务,如手写数字集MNIST、普通物体识别的数据集CIFAR、真实世界街道门牌号数字识别的数据集SVHN等,当换成如ImageNet非常庞大的数据集时,BinaryConnect和BNN会使识别准确率严重下降。为此,BWN和XNOR-Net需要附加缩放因子以保证网络识别准确率。第三,传统的压缩方法采用如6TSRAM的存储器件,该存储器件使硬件资源开销和功耗都比较大,限制了芯片实现的神经网络规模,虽然二值神经网络对传统硬件配备性能好,但是其容错性并未被充分利用。现主流的趋势是采用新型存储器件,如RRAM(阻变式存储器),虽然可以大幅度地节省硬件资源,在硬件上部署更大规模的神经网络,但是其存在不可靠的问题,若将整个神经网络的权值存储在新型存储器件上,则会较大程度上影响神经网络的识别准确率,故使用新型存储器件仍然存在一些挑战性。第四,传统存储器采用正常电压供电,为降低电路功耗,可采用近阈值/亚阈值电压技术。其中近阈值电压技术是将电路供电电压调整在晶体管开启电压的附近(或高或低),该技术在工作频率、能量效率等性能方面有很大的提升;亚阈值电压技术是将供电电压调整为低于晶体管开启电压,提供最低能耗。因此,可对存储神经网络权值的传统存储器件采用近阈值/亚阈值电压技术,从而达到降低功耗的目的。但是,近阈值/亚阈值电压技术仍然面临一些挑战,存在不确定性或易变性问题。在低供电电压下,电路容易遭受干扰,从而导致传统存储器件中存储的权值出错。若将整个传统存储器件都采用近阈值/亚阈值电压技术,则会较大程度上影响神经网络的识别准确率。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种基于权值敏感度的二值神经网络硬件压缩方法,本专利技术采用的技术方案如下:基于权值敏感度的二值神经网络硬件压缩方法,包括以下步骤:步骤S1,采用二值神经网络训练,以获得权值矩阵和原始准确度。步骤S2,评估任一权值矩阵的敏感度。步骤S3,预设敏感度阀值,划分权值矩阵的敏感集和非敏感集。步骤S4,评估权值矩阵的非敏感集的敏感度。步骤S5,调整敏感度阀值,获得权值矩阵的最佳非敏感集;所述最佳非敏感集的敏感度等于预设的最大准确度损失值。步骤S6,将所述最佳非敏感集存储至新型存储器或采用近阀值/亚阀值电压技术的传统存储器中。进一步地,所述步骤S2中,评估任一权值矩阵的敏感度,包括以下步骤:步骤S21,预设错误概率P,以评估新型存储器件和近阀值/亚阀值电压的不可靠度;所述P为大于0且小于1的数。步骤S22,所述权值矩阵的任一二值神经网络权值依次以错误概率P发生错误,获得二值神经网络的第一准确度。步骤S23,重复N次步骤S22,获得第一准确度的频率直方图;所述N为大于100的自然数。步骤S24,求得第一准确度的频率直方图的平均值,将该平均值作为所述权值矩阵发生错误时二值神经网络到达的第二准确度。步骤S25,求得所述权值矩阵的敏感度,所述敏感度为原始准确度与步骤S24中的第二准确度的差值。更进一步地,所述步骤S3中,预设敏感度阀值,划分权值矩阵的敏感集和非敏感集,包括以下步骤:步骤S31,将所述权值矩阵的敏感度按从大至小依次排序,并预设敏感度阀值。步骤S32,将权值矩阵的敏感度大于敏感度阀值划分为敏感集,且将权值矩阵的敏感度小于或等于敏感度阀值划分为非敏感集。优选地,所述步骤S4中,评估权值矩阵的非敏感集的敏感度,包括以下步骤:步骤S41,将所述非敏感集以错误概率P发生错误,获得非敏感集的第三准确度;所述P为大于0且小于1的数。步骤S42,重复N次步骤S41,获得第三准确度的频率直方图的平均值,求得原始准确度与所述平均值的差值并将其作为非敏感集的敏感度。进一步地,所述步骤S5中,调整敏感度阀值,获得权值矩阵的最佳非敏感集,包括以下步骤:步骤S51,预本文档来自技高网
...

【技术保护点】
1.基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,包括以下步骤:步骤S1,采用二值神经网络训练,以获得权值矩阵和原始准确度;步骤S2,评估任一权值矩阵的敏感度;步骤S3,预设敏感度阀值,划分权值矩阵的敏感集和非敏感集;步骤S4,评估权值矩阵的非敏感集的敏感度;步骤S5,调整敏感度阀值,获得权值矩阵的最佳非敏感集;所述最佳非敏感集的敏感度等于预设的最大准确度损失值;步骤S6,将所述最佳非敏感集存储至新型存储器或采用近阀值/亚阀值电压技术的传统存储器中。

【技术特征摘要】
1.基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,包括以下步骤:步骤S1,采用二值神经网络训练,以获得权值矩阵和原始准确度;步骤S2,评估任一权值矩阵的敏感度;步骤S3,预设敏感度阀值,划分权值矩阵的敏感集和非敏感集;步骤S4,评估权值矩阵的非敏感集的敏感度;步骤S5,调整敏感度阀值,获得权值矩阵的最佳非敏感集;所述最佳非敏感集的敏感度等于预设的最大准确度损失值;步骤S6,将所述最佳非敏感集存储至新型存储器或采用近阀值/亚阀值电压技术的传统存储器中。2.根据权利要求1所述的基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,所述步骤S2中,评估任一权值矩阵的敏感度,包括以下步骤:步骤S21,预设错误概率P,以评估新型存储器件和近阀值/亚阀值电压的不可靠度;所述P为大于0且小于1的数;步骤S22,所述权值矩阵的任一二值神经网络权值依次以错误概率P发生错误,获得二值神经网络的第一准确度;步骤S23,重复N次步骤S22,获得第一准确度的频率直方图;所述N为大于100的自然数;步骤S24,求得第一准确度的频率直方图的平均值,将该平均值作为所述权值矩阵发生错误时二值神经网络到达的第二准确度;步骤S25,求得所述权值矩阵的敏感度,所述敏感度为原始准确度与步骤S24中的第二准确度的差值。3.根据权利要求1所述的基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,所述步骤S3中,预设敏感度阀值,划分权值矩阵的敏感集和非敏感集,包括以下步骤:步骤S31,将所述权值矩阵的敏感度按从大至小依次排序,并预设敏感度阀值;步骤S32,将权值矩阵的敏感度大于敏感度阀值划分为敏感集,且将权值矩阵的敏感度小于或等于敏感度阀值划分为非敏感集。4.根据权利要求1所述的基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,所述步骤S4中,评估权值矩阵的非敏感集的敏感度,包括以下步骤:步骤S41,将所述非敏感集以错误概率P发生错误,获得非敏感集的第三准确度;所述P为大于0且小于1的数;步骤S42,重复N次步骤S41,获得第三准确度的频率直方图的平均值,求得原始准确度与所述平均值的差值并将其作为非敏感集的敏感度。5.根据权利要求1所述的基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,所述步骤S5中,调整敏感度阀值,获得权值矩阵的最佳非敏感集,包括以下步骤:步骤S51,预设最大准确度损失值;步骤S52,调整敏感度阈值,若非敏感集的敏感度等于最大准确度损失值,则将所述非敏感集作为最佳非敏感集,并进入步骤S6,否则,继续调整敏感度阈值,并返回步骤S3对权值矩阵的敏感集和非敏感集进行划分。6.基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,包括以下步骤:步骤K1,采用二值神经网络训练,以获得权值矩阵和原始准确度;步骤K2,初始化粒子群,以获得粒子的D维向量的初始化;所述D为神经网络中权值矩阵的个数;步骤K3,添加约束条件;步骤K4,求得粒子群中的任一粒子的适应值,求得粒...

【专利技术属性】
技术研发人员:周军王尹
申请(专利权)人:周军
类型:发明
国别省市:四川,51

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

1