首页 / 专利库 / 物理 / 加速 / 一种针对硬件实现稀疏化卷积神经网络推断的加速方法

一种针对硬件实现稀疏化卷积神经网络推断的加速方法

阅读:401发布:2023-01-22

专利汇可以提供一种针对硬件实现稀疏化卷积神经网络推断的加速方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种针对 硬件 实现稀疏化 卷积神经网络 推断的 加速 方法,包括面对稀疏硬件加速架构的分组 剪枝 参数确定方法、针对稀疏硬件加速架构的分组剪枝训练方法和针对稀疏化卷积神经网络前向推断的部署方法:根据硬件架构中乘法器数量确定分组剪枝的分组长度和剪枝率,基于量级裁剪方式将压缩率以外的权值进行裁剪,通过增量训练方式提升剪枝后的网络准确率及压缩率,剪枝过的网络经微调后保存非剪枝 位置 的权值和索引参数并送入硬件架构下的计算单元中,计算单元同时获取分组长度的激活值完成稀疏网络前向推断。本发明基于硬件架构出发设定 算法 层面的剪枝参数与剪枝策略,有益于降低稀疏加速器的逻辑复杂度提高稀疏加速器前向推断的整体效率。,下面是一种针对硬件实现稀疏化卷积神经网络推断的加速方法专利的具体信息内容。

1.一种针对硬件实现稀疏化卷积神经网络推断的加速方法,其特征在于:首先确定分组剪枝参数,然后基于确定的参数训练卷积神经网络,最后构建针对稀疏化卷积神经网络前向推断的整体架构。
2.如权利要求1所述的加速方法,其特征在于:所述确定分组剪枝参数的方法是:
S1:确定分组剪枝的分组长度g,激活值与权值获取组的长度决定稀疏卷积网络加速器的内部缓冲区大小;
S2:根据预期设定的压缩率Δ=1-p/g定义,其中p/g为分组长度中待剪枝权值占整体分组长度的比值,确定相同分组长度下的非剪枝权值数;
S3:基于量级的裁剪方式,根据权值的大小来评判其重要性,确定待剪枝的获取组剪枝阈值ε;由步骤S1-S2确定分组长度中全部g个权值经过量级排序后挑选前p个较小权值进行裁剪。
3.如权利要求2所述的加速方法,其特征在于:所述步骤S1中,剪枝方向为滤波器方向或通道方向。
4.如权利要求2所述的加速方法,其特征在于:所述步骤S1中,稀疏计算单元的获取组长度g与乘法器个数Nmul相同。
5.如权利要求1所述的加速方法,其特征在于:所述训练卷积神经网络的方法是:
T1:按照正常流程训练一个卷积神经网络;
T2:确定一个待剪枝的层后,根据确定分组剪枝参数的方法划分待修剪的权值获取组,设定待裁剪阈值或比例;
T3:加入掩码矩阵,其中掩码矩阵与权值参数矩阵的尺寸保持一致,其每个位置上取值只为0或1,分别表示此位置是否裁剪,参数在计算之前先乘该掩码矩阵:掩码矩阵位为1的参数值将继续训练通过反向传播调整,而掩码矩阵位为0的部分因为输出始终为0则不对后续部分产生影响;
T4:重复步骤T2-T3,逐步递增待剪枝的层数直到一个完整的网络各层剪枝完成;
T5:对剪枝后的网络按正常训练流程重新训练微调网络精度
6.如权利要求5所述的加速方法,其特征在于:所述步骤T2中,卷积层剪枝率高于阈值时,同时设置初始剪枝数p0和增量数p+,增量数p+使用过程中获取组中仅将一个权值量级最小的权值剪枝掉,经过一段时间再训练后,接着选择并修剪一个再训练量级最小的权值,直到达到目标数量p。
7.如权利要求1所述的加速方法,其特征在于:所述构建针对稀疏化卷积神经网络前向推断的整体架构包括中央控制模、片上SRAM、PE阵列和ReLU模块,中央控制模块协调SRAM、PE阵列和ReLU模块间的数据传输,特征图SRAM用于存放中间部分和计算结果、输入特征图以及输出特征图,权值SRAM内部存储剪枝稀疏后的卷积核权值及其索引坐标,片上SRAM和PE阵列通过全局总线进行通信,ReLU模块完成卷积计算后的功能计算。
8.如权利要求7所述的加速方法,其特征在于:所述PE阵列下的单个PE计算单元通过全局总线获取批次的输入特征图和分组剪枝后的稀疏权值,稀疏权值的存取包括未剪枝数及其对应的索引位置,所述PE单元中的选择器通过索引位置将对应分组长度g的特征图挑选出来乘加操作。

说明书全文

一种针对硬件实现稀疏化卷积神经网络推断的加速方法

技术领域

[0001] 本发明属于电子信息和深度学习技术领域,特别涉及一种针对硬件实现稀疏化卷积神经网络推断的加速方法。

背景技术

[0002] 神经网络模型是对生物神经网络学习系统的数学表达。近些年来,随着计算能的加强和大规模数据集的产生,神经网络模型被越来越多的应用在图像分类,物体检测等机器视觉领域中。
[0003] 然而,从利用神经网络模型解决问题过程来看,人们常常倾向于设计更深更庞大的卷积神经网络(convolutional neural network,简称CNN)收集更多的数据以期获得更好的效果。但随着模型的复杂度增加,模型参数越来越多,模型规模和需要的计算浮点数也越来越大,这对硬件资源(内存、CPU利用率)带来了更高的要求,不利于模型在存储空间、续航受限的设备上部署使用。
[0004] 针对神经网络模型的特点,对神经网络模型进行压缩,剔除冗余信息,是解决上述问题的一类方法。即将一些不重要的权重强制置零,从而使整个网络稀疏化。目前已经提出了许多剪枝算法,但是主要集中于被剪掉的权重数量上,很少会考虑剪枝后的整体网络在ASIC或FPGA加速器架构上部署的复杂度。当被剪枝后的网络在硬件加速器平台上运行时,会出现如内部缓冲区不对齐和负载不平衡等问题,使整个加速器架构低效化。

发明内容

[0005] 本发明的目的,在于提供一种针对硬件实现稀疏化卷积神经网络推断的加速方法,使得硬件架构对应于同时获取的激活的每个权重组保持相同数量的权重,提高整体硬件平台计算效率,降低稀疏加速器的逻辑复杂度。
[0006] 为了达成上述目的,本发明的解决方案是:
[0007] 一种针对硬件实现稀疏化卷积神经网络推断的加速方法,首先确定分组剪枝参数,然后基于确定的参数训练卷积神经网络,最后构建针对稀疏化卷积神经网络前向推断的整体架构。
[0008] 上述确定分组剪枝参数的方法是:
[0009] S1:确定分组剪枝的分组长度g,剪枝方向可选择为滤波器方向或通道方向。所述稀疏计算单元的获取组长度g可以与乘法器个数Nmul相同,所述激活值与权值获取组的长度决定稀疏卷积网络加速器的内部缓冲区大小。
[0010] S2:根据预期设定的压缩率Δ=1-p/g定义,其中p/g为所述分组长度中待剪枝权值占整体分组长度的比值,确定相同分组长度下的非剪枝权值数,经本发明提出的分组剪枝手段最终保留剪枝后非剪枝权值与其索引,所述非剪枝权值的索引数量决定着硬件计算单元实际需要的乘法器数量和计算周期。
[0011] S3:基于量级的裁剪方式,根据权值的大小来评判其重要性,确定待剪枝的获取组剪枝阈值ε。由S1、S2确定所述分组长度中全部g个权值经过量级排序后挑选前p个较小权值进行裁剪。
[0012] 上述训练卷积神经网络的方法是:
[0013] T1:按照正常流程训练一个卷积神经网络如AlexNet;
[0014] T2:确定一个待剪枝的层后据所述S1、S2和S3设定的参数方法划分待修剪的权值获取组,设定待裁剪阈值或比例;
[0015] T3:加入掩码矩阵,其中掩码矩阵与权值参数矩阵的尺寸保持一致,其每个位置上取值只为0或1,分别表示此位置是否裁剪,参数在计算的之前先乘该掩码矩阵。所述掩码矩阵位为1的参数值将继续训练通过反向传播调整,而掩码矩阵位为0的部分因为输出始终为0则不对后续部分产生影响;
[0016] T4:重复T2、T3,逐步递增待剪枝的层数直到一个完整的网络各层剪枝完成;
[0017] T5:对剪枝后的网络按正常训练流程重新训练微调网络精度
[0018] 进一步地,在T2过程中,p个较小权重在权值获取组中被剪枝掉。若所述获取组中待剪枝数p设定过大时,同时修剪每组中幅度最小的p个目标权重数将对剪枝后的网络精度带来较大损失。因此本发明针对选定较大剪枝率情形设定如下方案:同时设置初始剪枝数p0和增量数p+,增量数p+使用过程中所述获取组中仅将一个权值量级最小的权值剪枝掉,经过一段时间的再训练后,接着选择并修剪一个再训练量级最小的权值,直到达到目标数量p。
[0019] 上述构建针对稀疏化卷积神经网络前向推断的整体架构的方法是:
[0020] 整体硬件结构包括中央控制模、片上SRAM、PE阵列和ReLU模块等,中央控制模块协调SRAM、PE阵列和ReLU模块间的数据传输,特征图SRAM用于存放中间部分和计算结果、输入特征图以及输出特征图,权值SRAM内部存储剪枝稀疏后的卷积核权值及其索引坐标,片上SRAM和PE阵列通过全局总线进行通信,ReLU模块完成卷积计算后的功能计算如激活和池化等。
[0021] 基于上述部署方案,所述PE阵列下的单个PE计算单元通过全局总线获取批次的输入特征图和分组剪枝后的稀疏权值,稀疏权值的存取包括未剪枝数及其对应的索引位置,所述PE单元中的选择器通过索引位置将对应分组长度g的特征图挑选出来乘加操作。
[0022] 采用上述方案后,本发明中的参数选择与硬件加速架构直接相关,执行剪枝后可使同时获取激活值的每个权值获取组保持相同数量的权值符合硬件架构设计思想。此外,按不同的剪枝基准轴实行本发明可以满足绝大多数稀疏硬件加速架构。本发明基于硬件架构出发设定剪枝参数与剪枝策略,故有益于降低稀疏加速器的逻辑复杂度,提高稀疏加速器前向推断的整体效率。附图说明
[0023] 图1是本发明实施例基于卷积层通道方向的分组剪枝方案示意图;
[0024] 图2是本发明实施例基于全连接层的分组剪枝方案示意图;
[0025] 图3是本发明实施例分组剪枝训练方法流程示意图;
[0026] 图4是本发明实施例卷积神经网络稀疏加速硬件架构系统结构简图;
[0027] 图5是本发明实施例分组剪枝后的权值获取组与对应激活值对应关系图;
[0028] 图6是本发明实施例剪枝后在硬件稀疏加速架构运算单元下运算示意图。

具体实施方式

[0029] 以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
[0030] 本发明提供一种针对硬件实现稀疏化卷积神经网络推断的加速方法,包括面对稀疏硬件加速架构的分组剪枝参数确定方法、针对稀疏硬件加速架构的分组剪枝训练方法和针对稀疏化卷积神经网络前向推断的部署方法。
[0031] 如图1所示为本发明提出的分组剪枝方案在卷积层通道方向实现示意图,这里以批次获取激活值数Nm=16,分组长度g=8,压缩率Δ=0.25为例具体说明本发明的工作方法。
[0032] S1:结合图1,由批处理激活值获取组个数Nm=16确定分组剪枝的分组长度g=8,剪枝方向选择为通道方向,所述激活值与权值获取组的长度决定稀疏卷积网络加速器的内部缓冲区大小,参照图6,加速器计算单元中的激活值缓冲区大小最终定为8。图2所示为本发明提出的分组剪枝方案在全连接层实现示意图,上述参数选定对网络全连接层依然适用。
[0033] S2:根据预期设定的压缩率Δ=1-p/g定义,其中p/g为所述分组长度中待剪枝权值占整体分组长度的比值,确定相同分组长度下的非剪枝权值数为2,经本发明提出的分组剪枝方法最终保留剪枝后非剪枝权值与其索引,所述非剪枝权值的索引数量决定着硬件计算单元实际需要的乘法器数量和计算周期,参照图6,加速器计算单元中的权值缓冲区大小定为2。
[0034] S3:剪枝的裁剪方式选择基于量级的裁剪方式,根据权值的大小来评判其重要性,确定待剪枝的获取组剪枝阈值ε。由上述分组长度中全部g个权值经过量级排序后挑选前p个较小权值进行裁剪。
[0035] 如图3所示,本发明将所述确定的剪枝参数应用于分组剪枝方法训练上,具体如下:
[0036] T1:按照正常流程训练一个卷积神经网络如AlexNet;
[0037] T2:确定一个待剪枝的层后,根据步骤S1、S2和S3设定的参数方法划分待修剪的权值获取组,设定待裁剪阈值或比例;
[0038] T3:加入掩码矩阵,其中掩码矩阵与权值参数矩阵的尺寸保持一致,其每个位置上取值只为0或1,分别表示此位置是否裁剪,参数在计算的之前先乘该掩码矩阵。所述掩码矩阵位为1的参数值将继续训练通过反向传播调整,而掩码矩阵位为0的部分因为输出始终为0则不对后续部分产生影响;
[0039] T4:重复T2、T3,逐步递增待剪枝的层数直到一个完整的网络各层剪枝完成;
[0040] T5:对剪枝后的网络按正常训练流程重新训练微调网络精度;
[0041] 进一步地,在T2过程中,p个较小权重在权值获取组中被剪枝掉。若所述获取组中待剪枝数p设定过大时,同时修剪每组中幅度最小的p个目标权重数将对剪枝后的网络精度带来较大损失。因此本发明针对选定较大剪枝率(本实施例中取75%为阈值)情形设定如下方案:当卷积层剪枝率大于75%时,同时设置初始剪枝数p0和增量数p+,增量数p+使用过程中所述获取组中仅将一个权值量级最小的权值剪枝掉,经过一段时间的再训练后,接着选择并修剪一个再训练量级最小的权值,直到达到目标数量p。
[0042] 如图4,本发明结合所述分组剪枝结果,提出了一种针对稀疏化卷积神经网络前向推断的部署方法,具体如下:
[0043] 整体硬件结构包括中央控制模块、片上SRAM、PE阵列和ReLU模块等,中央控制模块协调SRAM、PE阵列和ReLU模块间的数据传输,特征图SRAM用于存放中间部分和计算结果、输入特征图以及输出特征图,权值SRAM内部存储剪枝稀疏后的卷积核权值及其索引坐标,片上SRAM和PE阵列通过全局总线进行通信,ReLU模块完成卷积计算后的功能计算如激活和池化等。
[0044] 如图5所示为分组剪枝后的权值获取组与对应激活值对应关系,图中的加速器计算单元同时获取和处理由沿通道轴的Ngroup=8个激活组成的激活获取组。经分组剪枝后的权值获取组下保证非零权值的个数为Nnzero=2,图5中深灰色区域为未被剪掉的权值,送入加速器中的包含未被剪枝的权值和其对应于权值获取组下的位置索引。
[0045] 如图6,所述PE阵列下的单个PE计算单元通过全局总线获取批次的输入特征图和分组剪枝后的稀疏权值,稀疏权值的存取包括未剪枝数及其对应的索引位置,图中灰色区域指代具体的索引位置,所述PE单元中的选择器通过索引位置将分组长度g对应位置上的特征图挑选出来乘加操作,后送入特征图SRAM或ReLU模块中完成一次计算。
[0046] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈