【技术实现步骤摘要】
一种可解释的CNN分类模型的模型剪枝方法
[0001]本专利技术涉及深度模型模型压缩
,尤其涉及一种可解释的CNN分类模型的模型剪枝方法。
技术介绍
[0002]卷积神经网络作为最重要的深度模型之一,由于具有良好的特征提取能力和泛化能力,在图像处理、目标跟踪与检测、自然语言处理等诸多领域获得了巨大成功。然而,这也带来了越来越深和越来越宽的网络结构,这给卷积神经网络在边缘设备上的部署带来了很大的存储资源消耗以及计算资源消耗。例如常见的VGG
‑
16模型,具有高达138M的参数量,且在前向推理过程中需要155亿次浮点数操作才能对一张图片进行分类。
[0003]模型剪枝是一种常用的模型压缩的方法,它能够有效缓解深度模型的过参数化现象,且不需要特殊硬件及软件的支持。目前常用的剪枝方法主要利用卷积网络中卷积核的权重大小来评价卷积核的重要性。受到输入数据浮动的影响,现有方法可以实现的压缩率、可解释性和精度具有进一步提升的空间。
技术实现思路
[0004]为了对现有方法存在的不足进行改进,本 ...
【技术保护点】
【技术特征摘要】
1.一种可解释的CNN分类模型的模型剪枝方法,其特征在于,包括以下几个步骤:1)基准模型的构建:通过在预先定义的数据集上,训练预确定的深度神经网络CNN分类模型,获取基准模型;具体为:首先使用python编程语言及pytorch深度学习框架搭建预先确定的深度神经网络CNN分类模型;之后使用预先确定的训练参数在数据集上训练模型,并记录模型的准确率作为基准分数,得到基准模型;2)过滤器注意力区域遮挡图片的获取:为了评估CNN分类模型中每个过滤器在推理过程中所起到的作用,需要获取每个过滤器在输入图片中的注意力区域,然后遮挡该区域来用模拟删除过滤器对模型的影响;具体为:首先,将训练集中的某一图片输入步骤1)中获得的基准模型,提取某一卷积层的特征图矩阵,以及模型对该图片的分类分数;然后,对每个特征图矩阵采取上采样操作,将矩阵放大到输入图片的大小;对上采样的图片进行归一化操作,将其元素的值限定到0
‑
1范围内,进而得到每个过滤器的显著性图;进一步,将得到的显著性图与输入图片逐元素相乘,得到加权的输入图片;将加权图片输入ReLU激活函数,保留加权图片中大于零的部分,得到注意力区域图;最终,通过分别将原始输入图片与得到的注意力区域图逐元素相减,得到保留原始输入图片中除某一过滤器的注意力区域外的所有信息的注意力区域遮挡图片;3)过滤器重要性分数生成:通过观察要剪枝模型的准确率变化,利用模型的前向推理过程,对该卷积层的过滤器重要性进行评估;具体为:首先将步骤2)中得到的注意力区域遮挡图片,输入步骤1)中获得的基准模型中,记录模型输入的每张遮挡图片的分类分数;将步骤1)中记录的基准分数分别与遮挡图片的分数相减,得到对应过滤器在推理该输入图片中所起到的作用的分数;不同过滤器对不同类别图片的激活程度不同,从单张图片中计算出的分数,不能反应每个过滤器对识别所有类别图片所起到的作用;为此,从训练数据集中随机采样n张所属不同类别的图片,重复上述过程,得到每个过滤器的n个分数;进一步,对这些分数先进行求和操作,然后进行再进行归一化操作;最终得到过滤器对判别各类别图片的综合贡献度分数;4)进行剪枝:从小到大排序从步骤3)得到的综合贡献度分数,所有综合贡献度分数小于预定义的剪枝阈值的过滤器均被标记为冗余部分,直接删除该与过滤器有关的全部参数;对步骤1)中获得的基准模型,从输入到输出的每层卷积采取剪枝步骤,在对每层剪枝完成后,经过微调来恢复模型的泛化能力,获得轻量化模型。2.根据权利要求1所述的一种可解释的CNN分类模型的模型剪枝方法,其特征在于,步骤1)所述的预先定义的数据集,包括CIFAR
‑
10、...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。