【技术实现步骤摘要】
一种基于忆阻器的神经网络压缩方法及神经网络加速器
[0001]本专利技术涉及神经网络压缩的
,更具体地,涉及一种基于忆阻器的神经网络压缩方法及神经网络加速器
。
技术介绍
[0002]随着信息时代的到来,大数据和人工智能技术高速发展,每天产生的数据呈现集合式增长,对计算机的计算和存储能力提出了更高的要求
。
在传统的冯诺依曼体系结构中,存储器与处理器互相分离,在处理大量数据时,存储器与处理器需要频繁交互,频繁的数据通信占用大部分信息处理的时间和功耗,导致计算设备面临着计算速度和能源效率无法提升的瓶颈
。
为了解决这一瓶颈问题,人们开始研究利用新型硬件器件加速神经网络计算
。
[0003]忆阻器是一种能够快速进行乘法运算的硬件器件,它同时具备运算和存储的能力,无需在两个设备之间进行数据通信,可以有效提高计算设备的计算速度和能源效率,并且存储的数据在断电后不会丢失,具有较强的安全性;因为忆阻器的存算一体和非易失性等优点,所以基于忆阻器的神经网络加速器成为一个重要的研究方向
。
但是,神经网络,如,
DNN
神经网络,具有权重稀疏性,有很大一部分的神经网络的权重的数值接近或等于零,数值接近或等于零的权重对神经网络的性能影响很小甚至不影响,却会增大基于忆阻器的神经网络加速器对神经网络进行加速计算时的计算开销,因此,急需一种适用于基于忆阻器的神经网络加速器的神经网络压缩方法,通过压缩除去神经网络中数值接近或等于零的冗余权重,进而减少基 ...
【技术保护点】
【技术特征摘要】
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
步骤的方法,依次在完成预训练的神经网络的倒数第三层至第二层中,逐层求解完成预训练的神经网...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。