[发明专利]一种神经网络的模型压缩的方法和设备在审
申请号: | 201911198187.X | 申请日: | 2019-11-29 |
公开(公告)号: | CN111126595A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 郭韶燕 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 杨帆 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 模型 压缩 方法 设备 | ||
本发明提供了一种神经网络的模型压缩的方法和设备,该方法包括以下步骤:记录网络层中每一层网络的输入和输出参数;根据输入和输出参数将网络层分为若干小网络;将每个小网络中的第一个卷积层的裁剪标志位设置为0,得到裁剪小网络;使用通道裁剪算法对每个裁剪小网络进行训练,得到网络权重和权重掩码;记录权重掩码为0的裁剪小网络的每一个卷积层的裁剪通道索引号;根据裁剪通道索引号对每个裁剪小网络进行分解计算。通过使用本发明的方法,能够直接减少计算量,并减小模型大小,在网络部署时,可一键加载模型,降低使用难度。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种神经网络的模型压缩的方法和设备。
背景技术
结合大数据的获取,深度神经网络关键技术广泛应用于图像分类、物体检测、语音识别和自然语言处理等领域。随着深度神经网络模型性能不断提升,模型体积和计算需求提高,以致其依赖高功耗的计算平台。为解决在实时嵌入式系统中的存储资源和内存访问带宽的限制,以及计算资源相对不足的问题,已开展嵌入式应用的深度神经网络模型压缩技术研究,以便缩减模型体积和对存储空间的需求,优化模型计算过程。
综合现有的深度模型压缩方法,它们主要分为四类:参数修剪和共享、低秩因子分解、转移/紧凑卷积滤波器、知识蒸馏。低秩因子分解、转移/紧凑卷积滤波器、知识蒸馏这三种方法,通常涉及到网络结构的改变,故本发明主要针对参数裁剪和共享改进。
现有的裁剪算法,分为两种非结构性裁剪和结构性裁剪。裁剪后的模型的表现形式为,裁剪掉的模型权重数值为0,而未被裁剪掉的模型权重数值为非0的float数据,因此模型大小本质上没有发生改变。在实际应用中,使用非结构性裁剪算法,裁剪的模型,通常使用数据索引等方法,使实际模型大小发生改变。结构性裁剪算法后的模型,通常需将当前卷积层的参数按裁剪比例减少,并在当前卷积层按照裁剪通道的索引号,添加相应的卷积运算。但是裁剪压缩后的模型,压缩率低,在模型加载时,需添加特定解压模块;具有shortcut结构的网络,对某些卷积层裁剪过度。
发明内容
有鉴于此,本发明实施例的目的在于提出一种神经网络的模型压缩的方法,能够直接减少计算量,并减小模型大小,在网络部署时,可一键加载模型,降低使用难度。
基于上述目的,本发明的实施例的一个方面提供了一种神经网络的模型压缩的方法,包括以下步骤:
记录网络层中每一层网络的输入和输出参数;
根据输入和输出参数将网络层分为若干小网络;
将每个小网络中的第一个卷积层的裁剪标志位设置为0,得到裁剪小网络;
使用通道裁剪算法对每个裁剪小网络进行训练,得到网络权重和权重掩码;
记录权重掩码为0的裁剪小网络的每一个卷积层的裁剪通道索引号;
根据裁剪通道索引号对每个裁剪小网络进行分解计算。
根据本发明的一个实施例,记录网络层中每一层网络的输入和输出参数包括:
记录网络层中每一层网络的输入个数、输出个数、输入名称和输出名称。
根据本发明的一个实施例,根据输入和输出参数将网络层分为若干小网络包括:
如果当前网络层的输入个数和输出个数均为1,且输入名称与其它网络层的输入名称均不一致,则将当前网络层与上一网络层分为同一个小网络;
如果当前网络层的输入个数或输出个数不为1,则将当前网络层分为一个小网络;
如果当前网络层的输入个数和输出个数均为1,且输入名称与其它网络层之一的输入名称一致,则将当前网络层分为一个小网络。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911198187.X/2.html,转载请声明来源钻瓜专利网。