当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于压缩神经网络的二阶段量化实现方法及装置制造方法及图纸

技术编号:34275283 阅读:12 留言:0更新日期:2022-07-24 17:00
本发明专利技术涉及一种基于压缩神经网络的二阶段量化实现方法及装置。该方法包括以下步骤:(1)根据神经网络的目标任务,使用CPU或GPU将神经网络模型训练至收敛。(2)根据目标任务所需的神经网络的压缩率,设置神经网络每层的目标稀疏度,逐阶段地对权值进行剪枝。(3)根据目标任务预设的量化位宽,二阶段地量化神经网络每层的权值,量化的第一阶段是聚类,使用聚类算法聚类神经网络每层的权值;第二阶段是放缩,根据目标任务预设的量化位宽,将得到的聚类中心放缩到定点数,最终结果以三元组的形式存储每层的权值矩阵。本发明专利技术能够减少模型所需的计算成本和存储成本,提升模型的推理速度,并且可以有效地弥补传统线性量化在低位宽下的精度损失。的精度损失。的精度损失。

A two-stage quantization method and device based on compressed neural network

【技术实现步骤摘要】
一种基于压缩神经网络的二阶段量化实现方法及装置


[0001]本专利技术涉及神经网络
,尤其涉及一种基于压缩神经网络的二阶段量化实现方法及装置。

技术介绍

[0002]深度神经网络在图像分类、目标检测、语音合成和语义分割等复杂的应用中具有很高的辨别能力。但是这些模型需要的大量计算成本和存储成本,使得它们无法很好的部署在边缘端设备。对于能够通过网络连接访问强大计算资源的项目,部署大型的神经网络可能不会产生资源紧张的问题。然而,对于嵌入式硬件平台上的边缘计算,由于安全、隐私和延迟等主要的考虑因素(例如智能传感器、穿戴设备、自动驾驶和无人驾驶飞行器跟踪),使得它的推理必须在本地或网络边缘执行,因此可供使用的计算资源有限,同时这种计算受到严格的区域和功率限制。
[0003]为解决神经网络的计算成本和存储成本问题。研究者提出对神经网络进行压缩和量化。聚类是一种常用的神经网络压缩技术,该方法多用于将神经网络模型最大化地压缩,研究者通过在神经网络的权值矩阵中存储聚类标签,来将浮点数的权值矩阵转化为定点数,但聚类标签本身并不能用作计算,在网络推理时,仍使用的是浮点数的聚类中心。通过量化将浮点数权值转化为定点数权值的思想在上世纪90年代就被提出了,量化后的神经网络可以使用定点数计算来加速网络的推理。线性量化是一种常用的量化方法,该方法在8bit量化位宽上,不会造成神经网络模型推理准确率的明显下降,但是当使用线性量化将模型量化6bit以下,该网络模型会丧失推理能力。目前的边缘端设备,例如FPGA、ASIC等,可以通过自定义加法器、乘法器和存储器的位宽,使模型能够使用低位宽权值进行推理加速。因此如何同时对模型进行压缩和量化,如何弥补低位宽量化过程中的精度损失,是目前研究的难点。

技术实现思路

[0004]针对现有技术存在的问题,本专利技术的目的是提出一种基于压缩神经网络的二阶段量化实现方法及装置,以在保证神经网络压缩的同时,提高神经网络模型在低位宽量化下的模型推理准确率。
[0005]为达到上述目的,本专利技术的技术方案是这样实现的:
[0006]一种基于压缩神经网络的二阶段量化实现方法,包括以下步骤:
[0007]S1、根据神经网络的目标任务,使用CPU或GPU将神经网络模型训练至收敛。
[0008]S2、根据目标任务所需的神经网络的压缩率,设置所述神经网络每层的目标稀疏度,逐阶段地对权值进行剪枝。
[0009]S3、根据目标任务预设的量化位宽,二阶段地量化神经网络每层的权值,第一阶段是聚类,使用聚类算法聚类神经网络每层的权值;第二阶段是放缩,根据目标任务预设的量化位宽,将得到的聚类中心放缩到定点数,最终结果以三元组的形式存储每层的权值矩阵。
[0010]优选地,所述步骤S2中的根据目标任务所需的神经网络的压缩率,设置所述神经网络每层的目标稀疏度,具体包括:根据目标任务所需的神经网络的压缩率,除神经网络第一层外,设置所述神经网络其余每层的目标稀疏度;神经网络每层的目标稀疏度,由每层网络各自的所属的类型,以及该层网络所处在所述神经网络的深度决定。
[0011]优选地,所述步骤S2中的逐阶段地对权值进行剪枝,具体包括:根据所诉神经网络每层的目标稀疏度、初始稀疏度和预设的剪枝频率,确定每层网络本阶段所需剪枝的权值数M,其中M为正整数,将未剪枝的权值量级最小的M个权值确定为本阶段所需剪枝的权值,逐阶段地对神经网络每层的权值进行剪枝。
[0012]优选地,所述步骤S3中的二阶段地量化神经网络每层的权值,具体包括:
[0013]第一阶段:根据目标任务所需的量化位宽,确定聚类中心数,使用粒子群聚类算法聚类经过剪枝后的权值矩阵,得到聚类中心和聚类标签,神经网络每层的权值矩阵存储得到的聚类中心;
[0014]第二阶段:根据目标任务所需的量化位宽,使用线性量化算法量化每层的聚类中心,最终结果以三元组的形式存储每层的权值矩阵。
[0015]优选地,所述第一阶段具体包括:根据目标任务预设的量化位宽n,得到聚类中心数X,其中X为2
n

1;由于聚类中心数已知,使用粒子群算法得到所述神经网络每层权值的初始聚类中心,再使用聚类算法对每层权值进行聚类,得到聚类中心和聚类标签。
[0016]优选地,所述第二阶段具体包括:线性量化算法的输入为神经网络每层的X个聚类中心,不需要输入整个权值矩阵;以三元组形式存储每层的权值矩阵,分别存储每个权值的行、列和所述权值经过聚类得到的聚类中心。
[0017]本专利技术还提供了一种基于压缩神经网络的二阶段量化装置,包括:
[0018]训练模块:用于根据目标任务,选择神经网络模型,使用CPU或GPU训练神经网络模型至收敛状态;
[0019]剪枝模块:用于根据所述神经网络模型所需的压缩率,针对网络中不同类型和深度的层,分别设置所述每层网络的目标稀疏度,并逐阶段地对每层的权值进行剪枝;
[0020]聚类模块:用于根据目标任务所需的量化位宽,确定聚类中心数,使用粒子群聚类算法对剪枝后的神经网络模型每层的权值进行聚类,得到聚类中心和聚类标签,神经网络每层的权值矩阵存储聚类的中心;
[0021]量化模块:根据目标任务所需的量化位宽,使用线性量化算法量化每层的聚类中心,最终结果以三元组的形式存储每层的权值矩阵,量化并压缩神经网络。
[0022]与现有技术相比,本专利技术具有如下的优点:
[0023]本专利技术方法及装置,通过剪枝、粒子群聚类和线性量化,有效地降低了神经网络模型的存储成本和计算成本。本专利技术提出了将量化过程分离为两个阶段,第一阶段使用粒子群聚类算法聚类神经网络每层的权值,第二阶段使用线性量化算法将每层网络权值放缩到定点数,让线性量化仅起到放缩的作用,通过二阶段量化神经网络权值可以有效地弥补传统线性量化在低位宽量化过程中的精度损失。对于剪枝和量化后的稀疏矩阵通过三元组的形式压缩存储,能够有效的减少模型占用的内存空间。
附图说明
[0024]图1为本专利技术实施例提出的一种基于压缩神经网络的二阶段量化实现方法流程图。
[0025]图2为本专利技术实施例提出的一种基于压缩神经网络的二阶段量化实现装置结构图。
[0026]图3为本专利技术实施例提出的一种基于压缩神经网络的二阶段量化实现方法中聚类算法流程图。
[0027]图4为本专利技术实施例提出的一种基于压缩神经网络的二阶段量化实现方法中粒子群算法流程图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实例中的技术方案、特征进行清楚、完整地描述,显然,以下所描述的实施例仅仅只是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域中的普通技术人员在没有做出创造性劳动的基础上所获得的其他实施例,都属于本专利技术保护的范围。
[0029]如图1所示,本专利技术实施例提出的一种基于压缩神经网络的二阶段量化实现方法,包括以下步骤:
[0030]S1、根据神经网络的目标任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于压缩神经网络的二阶段量化实现方法,其特征在于,包括以下步骤:S1、根据神经网络的目标任务,使用CPU或GPU将神经网络模型训练至收敛;S2、根据目标任务所需的神经网络的压缩率,设置所述神经网络每层的目标稀疏度,逐阶段地对权值进行剪枝;S3、根据目标任务预设的量化位宽,二阶段地量化神经网络每层的权值;第一阶段是聚类,使用聚类算法聚类神经网络每层的权值;第二阶段是放缩,根据目标任务预设的量化位宽,将得到的聚类中心放缩到定点数,最终结果以三元组的形式存储每层的权值矩阵。2.根据权利要求1所述的基于压缩神经网络的二阶段量化实现方法,其特征在于,所述步骤S2中的根据目标任务所需的神经网络的压缩率,设置所述神经网络每层的目标稀疏度,具体包括:根据目标任务所需的神经网络的压缩率,除神经网络第一层外,设置所述神经网络其余每层的目标稀疏度;神经网络每层的目标稀疏度,由每层网络各自的所属的类型,以及该层网络所处在所述神经网络的深度决定。3.根据权利要求1所述的基于压缩神经网络的二阶段量化实现方法,其特征在于,所述步骤S2中的逐阶段地对权值进行剪枝,具体包括:根据所诉神经网络每层的目标稀疏度、初始稀疏度和预设的剪枝频率,确定每层网络本阶段所需剪枝的权值数M,其中M为正整数,将未剪枝的权值量级最小的M个权值确定为本阶段所需剪枝的权值,逐阶段地对神经网络每层的权值进行剪枝。4.根据权利要求1所述的基于压缩神经网络的二阶段量化实现方法,其特征在于,所述步骤S3中的二阶段地量化神经网络每层的权值,具体包括:第一阶段:根据目标任务所需的量化位宽,确定聚类中心数,使用粒子群聚类算法聚类经过剪枝后的权值矩阵,得到...

【专利技术属性】
技术研发人员:杨文鑫支小莉童维勤
申请(专利权)人:上海大学
类型:发明
国别省市:

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

1