一种基于忆阻器的神经网络压缩方法及神经网络加速器技术

技术编号:39839765 阅读:6 留言:0更新日期:2023-12-29 16:26
本发明专利技术涉及神经网络压缩技术领域,提出一种基于忆阻器的神经网络压缩方法及神经网络加速器,包括以下步骤:将储存在忆阻器的完成预训练的神经网络的权重转化为若干个列向量子集合;对每个列向量子集合进行剪枝操作,获得第一剪枝列向量子集合;逐层搜索最优剪枝率;利用最优剪枝率,获得第二剪枝列向量子集合,并对第二剪枝列向量子集合进行编码,获得若干个掩码子集合;利用每个掩码子集合,获得每个第三剪枝列向量子集合;求解最优的第三剪枝列向量子集合,并对其进行聚类,获得聚类子矩阵集合;将聚类子矩阵集合映射至忆阻器,并在完成映射后,对基于忆阻器的完成预训练的神经网络进行重新训练,完成对基于忆阻器的神经网络的压缩

【技术实现步骤摘要】
一种基于忆阻器的神经网络压缩方法及神经网络加速器


[0001]本专利技术涉及神经网络压缩的
,更具体地,涉及一种基于忆阻器的神经网络压缩方法及神经网络加速器


技术介绍

[0002]随着信息时代的到来,大数据和人工智能技术高速发展,每天产生的数据呈现集合式增长,对计算机的计算和存储能力提出了更高的要求

在传统的冯诺依曼体系结构中,存储器与处理器互相分离,在处理大量数据时,存储器与处理器需要频繁交互,频繁的数据通信占用大部分信息处理的时间和功耗,导致计算设备面临着计算速度和能源效率无法提升的瓶颈

为了解决这一瓶颈问题,人们开始研究利用新型硬件器件加速神经网络计算

[0003]忆阻器是一种能够快速进行乘法运算的硬件器件,它同时具备运算和存储的能力,无需在两个设备之间进行数据通信,可以有效提高计算设备的计算速度和能源效率,并且存储的数据在断电后不会丢失,具有较强的安全性;因为忆阻器的存算一体和非易失性等优点,所以基于忆阻器的神经网络加速器成为一个重要的研究方向

但是,神经网络,如,
DNN
神经网络,具有权重稀疏性,有很大一部分的神经网络的权重的数值接近或等于零,数值接近或等于零的权重对神经网络的性能影响很小甚至不影响,却会增大基于忆阻器的神经网络加速器对神经网络进行加速计算时的计算开销,因此,急需一种适用于基于忆阻器的神经网络加速器的神经网络压缩方法,通过压缩除去神经网络中数值接近或等于零的冗余权重,进而减少基于忆阻器的神经网络加速器的计算开销

[0004]现有技术提出一种结构化剪枝的方法和系统,该方法包括以下步骤:
S1、
将深度神经网络中指定的网络层设置为待剪枝层,得到待处理深度神经网络;
S2、
利用图像数据集多次训练待处理深度神经网络并在训练过程进行多次预剪枝处理,每次预剪枝处理包括:根据所有待剪枝层在图像数据集上的重要性将重要性排序靠后的且被预剪枝后能够满足每次预剪枝的剪枝量的多个待剪枝层设为被预剪枝,重要性基于待剪枝层的权重参数

梯度以及激活频次确定;
S3、
当预剪枝处理的次数达到预定的预剪枝次数时,利用图像数据集对预剪枝后的待处理深度神经网络进行微调,并且将与被预剪枝的待剪枝层对应的网络层进行剪枝处理;通过这种方法得到的权重矩阵能与由忆阻器构成的忆阻器交叉阵列相匹配,因此该方法适用于基于忆阻器的神经网络加速器,可以减少基于忆阻器的神经网络加速器的计算开销,但,该方法采用的结构化剪枝方法,是以神经网络的整个卷积核为单位进行剪枝的粗粒度剪枝方法,因为神经网络的整个过滤器中,既包含冗余权重也包含重要权重,所以剪去神经网络的整个过滤器容易导致部分重要权重被剪去,如果利用该方法对神经网络进行压缩,并在基于忆阻器的神经网络加速器对神经网络进行加速的过程中使用该压缩方法,会导致基于忆阻器的神经网络加速器的加速计算的计算精确度较低

[0005]现有技术还提出一种面向工业生产应用的卷积神经网络剪枝方法,该方法通过对于待剪枝的面向工业生产应用的卷积神经网络,先进行非结构化剪枝,根据神经元的重要性,剪枝掉部分神经元,然后从训练恢复准确率,然后进行结构化剪枝,根据卷积核的感知
量大小剪枝掉部分卷积核,然后从训练恢复准确率

该方法先使用细粒度的非结构化剪枝,剪掉部分不重要的神经元,再结合结构化剪枝,剪去部分卷积核;该方法结合了非结构化剪枝和结构化剪枝,可以应用在神经网络加速器上,在保证神经网络加速器的加速计算的计算精确度的基础上,减少网络加速器的计算开销,但是因为非结构化剪枝处理会使神经网络生成更为稀疏的权重矩阵,稀疏的权重矩阵无法与由忆阻器构成的忆阻器交叉阵列相匹配,所以该方法不适用于基于忆阻器的神经网络加速器,无法利用忆阻器来提高神经网络加速器的计算速度

[0006]综上所述,现有技术提出的剪枝方法,在对神经网络进行压缩时,均无法同时提高神经网络加速器的计算精确度和计算速度


技术实现思路

[0007]本专利技术为克服上述现有技术所述的无法同时提高神经网络加速器的计算精确度和计算速度的缺陷,提供一种能够同时提高神经网络加速器的计算精确度和计算速度的基于忆阻器的神经网络压缩方法及神经网络加速器

[0008]为解决上述技术问题,本专利技术的技术方案如下:
[0009]一种基于忆阻器的神经网络压缩方法,包括以下步骤:
[0010]S1
:将储存在忆阻器的完成预训练的神经网络的权重转化为若干个列向量子集合;
[0011]S2
:对每个列向量子集合进行剪枝操作,获得每个列向量子集合对应的第一剪枝列向量子集合;
[0012]S3
:沿完成预训练的神经网络的层,逐层搜索第一剪枝列向量子集合的最优剪枝率;
[0013]S4
:利用最优剪枝率对每个列向量子集合进行剪枝操作,获得每个列向量子集合对应的第二剪枝列向量子集合;
[0014]S5
:对每个第二剪枝列向量子集合中的每个第二剪枝列向量进行编码,获得每个第二剪枝列向量对应的掩码,组成每个第二剪枝列向量子集合对应的掩码子集合;
[0015]S6
:利用每个掩码子集合,对每个列向量子集合进行剪枝操作,获得每个第三剪枝列向量子集合;
[0016]S7
:求解每个第三剪枝列向量子集合对应的最优的第三剪枝列向量子集合,并对每个最优的第三剪枝列向量子集合中的每个最优的第三剪枝列向量进行聚类,获得每个最优的第三剪枝列向量子集合对应的若干个聚类子矩阵,组成聚类子矩阵集合;
[0017]S8
:将聚类子矩阵集合映射至忆阻器,并在完成映射后,对基于忆阻器的完成预训练的神经网络进行重新训练,完成对基于忆阻器的神经网络的压缩

[0018]本专利技术还提出了一种神经网络加速器,所述神经网络加速器的计算单元是由忆阻器构成的忆阻器交叉阵列,所述神经网络加速器用于加速基于忆阻器的神经网络的计算,且所述神经网络加速器在加速基于忆阻器的神经网络的计算的过程中,执行基于忆阻器的神经网络压缩方法

[0019]与现有技术相比,本专利技术技术方案的有益效果是:
[0020]本专利技术将储存在忆阻器的完成预训练的神经网络的权重转化为若干个列向量子
集合,通过对列向量子集合中的列向量进行剪枝操作,来对完成预训练的神经网络的权重进行剪枝,从而达到对完成预训练的神经网络进行压缩的目的;其中,通过逐层搜索得到的最优剪枝率,以及编码得到的掩码子集合,来对列向量子集合中的列向量进行剪枝操作,确保被剪去的权重不影响完成预训练的神经网络的性能,从而提高神经网络加速器对完成预训练的神经网络进行加速计算的计算精确度,同时,对最优的第三剪枝列向量进行聚类,获得能够由忆阻器构成的忆阻器交叉阵列相匹配的聚类子矩阵,使得聚本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于忆阻器的神经网络压缩方法,其特征在于,包括以下步骤:
S1
:将储存在忆阻器的完成预训练的神经网络的权重转化为若干个列向量子集合;
S2
:对每个列向量子集合进行剪枝操作,获得每个列向量子集合对应的第一剪枝列向量子集合;
S3
:沿完成预训练的神经网络的层,逐层搜索第一剪枝列向量子集合的最优剪枝率;
S4
:利用最优剪枝率对每个列向量子集合进行剪枝操作,获得每个列向量子集合对应的第二剪枝列向量子集合;
S5
:对每个第二剪枝列向量子集合中的每个第二剪枝列向量进行编码,获得每个第二剪枝列向量对应的掩码,组成每个第二剪枝列向量子集合对应的掩码子集合;
S6
:利用每个掩码子集合,对每个列向量子集合进行剪枝操作,获得每个第三剪枝列向量子集合;
S7
:求解每个第三剪枝列向量子集合对应的最优的第三剪枝列向量子集合,并对每个最优的第三剪枝列向量子集合中的每个最优的第三剪枝列向量进行聚类,获得每个最优的第三剪枝列向量子集合对应的若干个聚类子矩阵,组成聚类子矩阵集合;
S8
:将聚类子矩阵集合映射至忆阻器,并在完成映射后,对基于忆阻器的完成预训练的神经网络进行重新训练,完成对基于忆阻器的神经网络的压缩
。2.
根据权利要求1所述的基于忆阻器的神经网络压缩方法,其特征在于,
S1
步骤中,将储存在忆阻器的完成预训练的神经网络的输入层和输出层的权重去除,并将完成预训练的神经网络的剩余的每层权重转化为二维矩阵,获得剩余的每层权重对应的权重矩阵;将每个权重矩阵划分为若干个权重子矩阵,并以列向量的形式表示每个权重子矩阵的每一列,得到每个权重矩阵对应的列向量子集合
。3.
根据权利要求2所述的基于忆阻器的神经网络压缩方法,其特征在于,
S2
步骤所述的剪枝操作为:按列向量中的元素的元素值的绝对值大小,将绝对值第1小至第
d
小的列向量中的元素剪去,得到每个列向量对应的剪枝列向量,获得每个列向量子集合对应的第一剪枝列向量子集合;
d
为正整数值
。4.
根据权利要求1~3任一项所述的基于忆阻器的神经网络压缩方法,其特征在于,
S3
步骤为:
S3.1
:构建剪枝率优化模型,具体为::构建剪枝率优化模型,具体为::构建剪枝率优化模型,具体为:式中,
F
i
表示完成预训练的神经网络的第
i
层对应的适应度函数,表示完成预训练的神经网络的第
i
层的当前剪枝率,
β
i
表示的加权值,
acc
i
表示基于进行剪枝后的完成预训练的神经网络的精度,
α
i
表示
acc
i
的加权值,表示完成预训练的神经网络的第
i
层对应的第一剪枝列向量中每个第一剪枝列向量的元素个数,
row
表示完成预训练的神经网络的第
i
层对应的列向量子集合中的每个列向量的元素个数;
S3.2
:利用剪枝率优化模型,在完成预训练的神经网络的倒数第二层,迭代更新剪枝率优化模型,在适应度函数
F
N
‑1达到最小时,结束迭代,得到结束迭代时,完成预训练的神经网络的倒数第二层的当前剪枝率,即,得到完成预训练的神经网络的倒数第二层的最优剪枝率;其中,适应度函数
F
N
‑1的表达式为:式中,表示完成预训练的神经网络的倒数第二层的当前剪枝率,
β
N
‑1表示的加权值,
acc
N
‑1表示基于进行剪枝后的完成预训练的神经网络的精度,
α
N
‑1表示
acc
N
‑1的加权值;
S3.3
:根据
S3.2
步骤的方法,依次在完成预训练的神经网络的倒数第三层至第二层中,逐层求解完成预训练的神经网...

【专利技术属性】
技术研发人员:刘鹏周博陈辉武继刚
申请(专利权)人:广东工业大学
类型:发明
国别省市:

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

1