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.基于权值敏感度的二值神经网络硬件压缩方法,其特征在于,包括以下步骤:步骤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,求得粒子群中的任一粒子的适应值,求得粒...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。