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

基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质技术

技术编号:36354271 阅读:16 留言:0更新日期:2023-01-14 18:10
本发明专利技术基于强化学习的自动化卷积神经网络量化剪枝方法,先获取图像的数据集,利用已初始化的模型对图像进行预训练,得到每个滤波器所输出特征图的平均秩,将平均秩结合滤波器的全局重要性排序,获得滤波器重要性信息;通过强化学习实现自动化神经网络模型量化与剪枝操作,获得模型精度最高的神经网络模型压缩策略,获取最终的剪枝完成以后的神经网络模型。本发明专利技术将卷积层中滤波器按照对模型精度影响的重要程度并结合平均秩大小进行全局排序,秩的大小与滤波器重要性大小具有一致性,同时对重要性高的滤波器权重参数分配较高bit位数,从而达到最大程度的精度保留,能将应用于高性能计算机上的神经网络压缩后部署于计算与存储较弱的移动边缘设备上。与存储较弱的移动边缘设备上。与存储较弱的移动边缘设备上。

【技术实现步骤摘要】
基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质


[0001]本专利技术属于图像处理领域,尤其涉及一种基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质。

技术介绍

[0002]近年来,一方面层数更深的神经网络的研究所获得的模型效果越来越好,另一方面,随着无人驾驶与智能移动设备等相关领域的不断发展创新,对适用于计算能力较弱的边缘设备上的深度神经网络模型的需求也在逐渐提升。由于深度神经网络的特性,将其部署在移动设备上时,其所包含的参数量以及浮点计算量都是极其庞大的。例如,一个152层的ResNet有6000多万个参数,在推断分辨率为224
×
224的图像时,需要100多亿次浮点运算,这很难在移动设备、可穿戴便携式设备或物联网设备等计算资源受限的平台上运行起来。此外,在GPU上运行深度神经网络模型进行实时目标检测成本高昂。例如,在NVIDIA Tesla T4上运行YOLO v3每秒可实时检测40帧图像,但该设备市场售价近三万元,远超出普遍经济承受能力。现有的神经网络模型很难做到在低成本设备上模型精确性与计算速度的兼顾。
[0003]随着神经网络部署应用的发展,其对精度的高依赖正逐步转化为在保持精度不降低或者降低程度可接受范围内的情况下,尽可能地保证低的存储空间占用以及更少的浮点计算量。强化学习作为一种通过代理指导神经网络进行自动学习的方式,无疑是一个非常有前景的工具。现有的神经网络量化和剪枝方法大都需要人工专家不断调节参数来达到最佳的压缩效果,是一个相当大的指数级超参数空间,操作难度大且十分耗时,从实际效果来说容易出现局部最佳或者次优的情况。现有的模型剪枝方法着眼于模型中的权重修剪,细粒度的剪枝方式需要特定的硬件支持,泛化性较差。同时绝大多数量化与剪枝策略都是基于规则的启发式方法,这样的方式很可能导致次优的压缩效果。

技术实现思路

[0004]本专利技术的目的在于提供基于强化学习的自动化卷积神经网络量化剪枝方法、设备和存储介质,在小范围精度损失的前提下,通过自动化量化剪枝的过程降低模型的参数位宽、参数量与浮点计算量,能将原本应用于高性能计算机上的神经网络压缩后部署于计算与存储能力较弱的移动边缘设备上。
[0005]本专利技术基于强化学习的自动化卷积神经网络量化剪枝方法,包括如下步骤;
[0006]步骤S10、获取图像的数据集,并将数据集按比例分为训练集与验证集;
[0007]步骤S20、获取待量化剪枝的卷积神经网络模型并执行初始化,利用已初始化的模型对训练集中的图像进行60轮预训练,得到每个滤波器所输出特征图的平均秩,对当前模型的卷积层中每个滤波器输出特征图的平均秩结合滤波器的全局重要性排序,获得滤波器重要性信息;
[0008]步骤S30、通过强化学习实现自动化神经网络模型量化与剪枝操作,获得模型精度最高的神经网络模型压缩策略,所述强化学习代理为演员

评论家网络,演员网络由演员网络A和B组成,评论家网络负责评估模型压缩策略,演员网络和评论家网络的参数更新方法为DDPG深度确定性策略强化学习方法;
[0009]步骤S40、对量化剪枝完成以后的神经网络模型执行微调操作,获取最终的剪枝完成以后的神经网络模型。
[0010]所述步骤S20,具体为:
[0011]步骤S21、基于Pytorch框架创建待量化剪枝的卷积神经网络模型;
[0012]步骤S22、设置预训练参数,并建立对应卷积神经网络模型的层结构索引;
[0013]步骤S23、对训练集中的图像进行60轮预训练,获取当前模型精度,所述模型精度通过验证集中不同图像进行测试得到;
[0014]步骤S24、得到卷积层中每个滤波器输出特征图的秩,将所有滤波器输出特征图的秩总和除以该卷积层滤波器的个数,得到卷积层的平均秩;结合滤波器的全局重要性进行排序,将排序的结果作为判别滤波器重要性的依据;
[0015]对当前模型的卷积层中每个滤波器输出特征图的平均秩结合滤波器的全局重要性排序,获得滤波器重要性信息。
[0016]所述步骤S24中的滤波器重要性信息,指的是每个卷积层中的滤波器以当前层滤波器重要性的平均数作为阈值,大于该值为重要性滤波器,反之为非重要性滤波器,将所有卷积层按其滤波器重要性的平均数进行排序,排序前预设值的卷积层为敏感层,将其存入对应卷积神经网络模型的敏感层索引中。
[0017]所述步骤S30,具体为:
[0018]步骤S31、获取超参数中设置的目标量化率和剪枝率,并根据目标剪枝率确定需要剪枝的滤波器数量,根据量化率来衡量保留的滤波器参数的bit位数;
[0019]步骤S32、根据强化学习的确定性策略,若当前层在敏感层索引中,则将强化学习的确定性输出的当前层量化位数设置为8位,压缩率设置为0.1,获取模型当前层应当执行剪枝操作的滤波器数量,同时计算获得剩下待剪枝的滤波器数量;
[0020]步骤S33、通过计算滤波器的平均秩结合滤波器的全局重要性,由低到高对该层中的滤波器进行排序;
[0021]步骤S34、根据上述步骤S31获得的各卷积层所需剪枝的滤波器数量,演员网络A根据判别当前卷积层是否为敏感层,以及该卷积层的滤波器的重要程度,做出不同的滤波器剪枝策略,将剪枝的滤波器权重设置为0;演员网络B根据滤波器的重要性的不同来分配不同的位宽,敏感层滤波器分配较高的位宽,将演员网络A和B的策略汇总到演员网络;
[0022]步骤S35、重复执行步骤S32

步骤S34,直至完成对模型所有层的量化剪枝操作,即完成完整一轮的量化剪枝操作,通过验证集验证完成这一轮量化剪枝操作的模型精度,并将当前模型压缩策略与精度保存到强化学习经验回放池中;
[0023]步骤S36、重复执行步骤S32

步骤S35,完成所有轮次的模型量化剪枝操作,获取精度最高的神经网络模型压缩策略。
[0024]所述步骤S33中所述滤波器的全局重要性估算公式:
[0025][0026]其中,l(i)表示第i个滤波器的层索引,||
·
||2表示L2范数,w
i
代表第i个滤波器的权重,α,k∈R
L
为可训练的变量,L表示层的总数;
[0027]r
l
表示第l层秩的缩放因子,R
l
表示第l层的平均秩,R
min
表示该神经网络中所有卷积层平均秩的最小值,R
max
表示该神经网络中所有卷积层平均秩的最大值。
[0028]所述步骤S30的参数更新方法为DDPG深度确定性策略强化学习方法,演员网络与评论家网络的训练是根据完整一轮量化剪枝后所获得的精度与每一轮中的量化剪枝状态作为输入执行训练操作,其中,在状态空间中,对于每一层网络t,通过如下公式所示的11个属性来表示状态S
t
的属性特征:
[0029](t,n,c,h,w,stri本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于强化学习的自动化卷积神经网络量化剪枝方法,其特征在于包括如下步骤;步骤S10、获取图像的数据集,并将数据集按比例分为训练集与验证集;步骤S20、获取待量化剪枝的卷积神经网络模型并执行初始化,利用已初始化的模型对训练集中的图像进行60轮预训练,得到每个滤波器所输出特征图的平均秩,对当前模型的卷积层中每个滤波器输出特征图的平均秩结合滤波器的全局重要性排序,获得滤波器重要性信息;步骤S30、通过强化学习实现自动化神经网络模型量化与剪枝操作,获得模型精度最高的神经网络模型压缩策略,所述强化学习代理为演员

评论家网络,演员网络由演员网络A和B组成,评论家网络负责评估模型压缩策略,演员网络和评论家网络的参数更新方法为DDPG深度确定性策略强化学习方法;步骤S40、对量化剪枝完成以后的神经网络模型执行微调操作,获取最终的剪枝完成以后的神经网络模型。2.根据权利要求1所述的基于强化学习的自动化卷积神经网络量化剪枝方法,其特征在于所述步骤S20,具体为:步骤S21、基于Pytorch框架创建待量化剪枝的卷积神经网络模型;步骤S22、设置预训练参数,并建立对应卷积神经网络模型的层结构索引;步骤S23、对训练集中的图像进行60轮预训练,获取当前模型精度,所述模型精度通过验证集中不同图像进行测试得到;步骤S24、得到卷积层中每个滤波器输出特征图的秩,将所有滤波器输出特征图的秩总和除以该卷积层滤波器的个数,得到卷积层的平均秩;结合滤波器的全局重要性进行排序,将排序的结果作为判别滤波器重要性的依据;对当前模型的卷积层中每个滤波器输出特征图的平均秩结合滤波器的全局重要性排序,获得滤波器重要性信息。3.根据权利要求2所述的基于强化学习的自动化卷积神经网络量化剪枝方法,其特征在于所述步骤S24中的滤波器重要性信息,指的是每个卷积层中的滤波器以当前层滤波器重要性的平均数作为阈值,大于该值为重要性滤波器,反之为非重要性滤波器,将所有卷积层按其滤波器重要性的平均数进行排序,排序前预设值的卷积层为敏感层,将其存入对应卷积神经网络模型的敏感层索引中。4.根据权利要求1所述的基于强化学习的自动化卷积神经网络量化剪枝方法,其特征在于所述步骤S30,具体为:步骤S31、获取超参数中设置的目标量化率和剪枝率,并根据目标剪枝率确定需要剪枝的滤波器数量,根据量化率来衡量保留的滤波器参数的bit位数;步骤S32、根据强化学习的确定性策略,若当前层在敏感层索引中,则将强化学习的确定性输出的当前层量化位数设置为8位,压缩率设置为0.1,获取模型当前层应当执行剪枝操作的滤波器数量,同时计算获得剩下待剪枝的滤波器数量;步骤S33、通过计算滤波器的平均秩结合滤波器的全局重要性,由低到高对该层中的滤波器进行排序;步骤S34、根据上述步骤S31获得的各卷积层所需剪枝的滤波器数量,演员网络A根据判别当前卷积层是否为敏感层,以及该卷积层的滤波器的重要程度,做出不同的滤波器剪枝
策略,将剪枝的滤波器权重设置为0;演员网络B根据滤波器的重要性的不同来分配不同的位宽,敏感层滤波器分配较高的位宽,将演员网络A和B的策略汇总到演员网络;步骤S35、重复执行步骤S32

步骤S34,直至完成对模型所有层的量化剪枝操作,即完成完整一轮的量化剪枝操作,通过验证集验证完成这一轮量化剪枝操作的模型精度,并将当前模型压缩策略与精度保存到强化学习经验回放池中;步骤S36、重复执行步骤S32

步骤S35,完成所有轮次的模型量化剪枝操作,获取精度最高的神经网络模型压缩策略。5.根据权利要求4所述的基于强化学习的自动化...

【专利技术属性】
技术研发人员:张维纬纪铭余浩然
申请(专利权)人:华侨大学
类型:发明
国别省市:

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

1