一种神经网络模型压缩方法、系统、装置及可读存储介质制造方法及图纸

技术编号:18351353 阅读:41 留言:0更新日期:2018-07-02 01:12
本发明专利技术公开了一种神经网络模型压缩方法、系统、装置及计算机可读存储介质,所述方法包括利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;采用压缩格式存储所述待存储神经网络模型。由此可见,本发明专利技术实施例提供的一种神经网络模型压缩方法,通过对神经网络模型进行裁剪,同时裁剪过后对其采用INQ算法进行量化,在有效的保证压缩后的模型精度没有损失的情况下,可以减小模型尺寸,因此可以解决耗费资源过多的问题,并加速计算。

【技术实现步骤摘要】
一种神经网络模型压缩方法、系统、装置及可读存储介质
本专利技术涉及人工智能领域,更具体地说,涉及一种神经网络模型压缩方法、系统、装置及计算机可读存储介质。
技术介绍
当今时代,无论是在日常生活,还是互联网世界,都已经绕不开一个词,AI(ArtificialIntelligence),即人工智能。AI的应用已经渗透到很多方面,比如人脸识别、语音识别、文本处理、围棋对弈、游戏对战、自动驾驶、图片美化、读唇语、甚至地层断裂的仿真模拟等等。在很多方面,其准确度及处理问题的能力已经超过人类,因此,其有着非常广阔的应用前景及想象空间。在AI领域的算法技术当中,深度学习自从2012年在ImageNet竞赛中以绝对的优势夺冠起,便引起了学术界与工业界的广泛关注,各国科学家、研究人员、企业、网络社区都在大力研究并推动深度学习的神经网络模型的研究与发展。随着深度学习在各个领域取得突破进展,将其应用到实际生活场景的需求也愈发强烈,尤其在今天,移动与便携式电子设备极大地方便了人们生活,而深度学习将极大地提高这些设备的智能性与娱乐性。因此,将深度学习的神经网络模型部署在移动端与嵌入式系统便成为迫切需求。但是,通常情况下深度学习的神经网络模型在实际部署中,模型尺寸通常过大,一般情况下,神经网络模型从几十兆到上百兆不等,这样的文件大小,对于移动端来说,下载时耗费的流量以及带宽影响所导致的传输等待时间过长是用户无法忍受的,而对于一些嵌入式系统,存储空间是非常有限的,可能根本没有足够的存储空间来存储这么大的神经网络模型文件。同时,对计算资源及计算能力要求高。在使用大型神经网络模型进行计算时,移动端与嵌入式系统抑或无法提供其所需的计算资源,抑或计算缓慢,导致响应延迟太高而无法满足实际应用场景。此外,神经网络模型耗电量也大。在神经网络计算过程中,处理器需要频繁读取神经网络模型的参数,因此较大的神经网络模型也相应带来更高的内存访问次数,而频繁的内存访问也会极大提高耗电量。通常的模型压缩方法虽然减小了模型尺寸,并对模型参数采取稀疏矩阵的方式进行存储,但模型的精度也不可避免的有所下降。另外也有压缩方法采取对压缩后的模型重新训练的方法,减小了模型精度的损失,但在利用模型推理预测是的运算性能却有明显下降。因此,如何在压缩神经网络模型的同时保证神经网络模型的精度,是本领域人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种神经网络模型压缩方法、系统、装置及计算机可读存储介质,以在压缩神经网络模型的同时保证神经网络模型的精度。为实现上述目的,本专利技术实施例提供了如下技术方案:一种神经网络模型压缩方法,包括:利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;采用压缩格式存储所述待存储神经网络模型。其中,所述神经网络裁剪方法包括动态网络裁剪算法。其中,所述利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型,包括:S201,确定第一训练数据集、待裁剪网络模型与初始迭代次数,其中所述待裁剪网络模型中每层权重参数对应的第一二值掩码矩阵均初始化为1;S202,利用公式更新每层所述权重参数中每个角标的权重,以得到更新后的每层权重参数;其中表示待剪裁神经网络第k层中角标为(i,j)的权重系数;表示神经网络第k层中角标为(i,j)的权重的第一二值掩码;β为正的学习率;L(·)表示损失函数;⊙表示Hadamard乘积算子;I表示权重系数矩阵Wk的角标范围;S203,利用公式更新每层所述权重参数中每个角标的权重二值掩码,以得到与每层权重参数对应的更新后的第一二值掩码矩阵;其中,ak与bk分别为预设边界;函数hk(·)表示,当权重值的绝对值小于ak时,则二值掩码更新为0;当的绝对值大于bk时,则二值掩码更新为1;当的绝对值介于ak与bk之间时,则的值不做更新;S204,按照预设方式更新迭代次数与学习率;S205,判断当前迭代次数是否大于预设值,若否,则返回S202;若是,则利用本次更新后得到的每层权重参数与本次更新后得到的与每层权重参数对应的第一二值掩码矩阵确定待量化神经网络模型。其中,所述利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型,包括:S301,确定第二训练集与参考模型,利用所述待量化神经网络模型的权重参数初始化所述参考模型的权重参数;将与所述参考模型中的每层权重参数对应的第二二值掩码矩阵初始化为1;S302,根据预设权重量化比例在第二二值掩码矩阵为1的权重参数中确定待量化权值组与待训练权值组;S303,量化所述待量化权值组,将量化后的权值组中权重参数对应的二值掩码矩阵更新为0,并更新量化率;其中,所述量化率为二值掩码矩阵为0的权重参数在所有权重参数中的比例;S304,更新待训练权值组的权重参数;S305,判断迭代次数是否达到预设阈值且所述量化率达到100%;若是,则确定所有量化后的权重参数以确定待存储神经网络模型;若否,则返回S302。其中,所述采用压缩格式存储所述待存储神经网络模型,包括:根据预设比特位存储所述待存储神经网络模型的权重参数。为解决上述技术问题,本专利技术还提供一种神经网络模型压缩系统,包括:裁剪模块,用于利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;量化模块,用于利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;存储模块,用于采用压缩格式存储所述待存储神经网络模型。其中,所述神经网络裁剪方法包括动态网络裁剪算法。其中,所述存储模块,具体用于根据预设比特位存储所述待存储神经网络模型的权重参数。本专利技术还提供了一种神经网络模型压缩装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述神经网络模型压缩方法的步骤。本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述神经网络模型压缩方法的步骤。通过以上方案可知,本专利技术提供的一种神经网络模型压缩方法,包括利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;采用压缩格式存储所述待存储神经网络模型。由此可见,本专利技术提供的一种神经网络模型压缩方法,通过对神经网络模型进行裁剪,可以减小模型尺寸,因此可以解决耗费资源过多的问题;同时裁剪过后对其采用INQ算法进行量化,可以有效的保证压缩后的模型精度没有损失。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种神经网络模型压缩方法流程图;图2为本专利技术实施例公开的一种具体的DNS裁剪权重变化示意图;图3为本专利技术实施例公开的一种具体的网络模型压缩方法流程图;图4为本专利技术实施例公开的一种具体的神经网络模型压缩方法流程图;图5为本专利技术实施例公开的一种神经网络模型压缩系统结构示意图。具体本文档来自技高网
...
一种神经网络模型压缩方法、系统、装置及可读存储介质

【技术保护点】
1.一种神经网络模型压缩方法,其特征在于,包括:利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;采用预设压缩格式存储所述待存储神经网络模型。

【技术特征摘要】
1.一种神经网络模型压缩方法,其特征在于,包括:利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型;利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型;采用预设压缩格式存储所述待存储神经网络模型。2.根据权利要求1所述的方法,其特征在于,所述神经网络裁剪方法包括动态网络裁剪算法。3.根据权利要求2所述的方法,其特征在于,所述利用神经网络裁剪方法对待裁剪神经网络模型进行裁剪得到待量化神经网络模型,包括:S201,确定第一训练数据集、待裁剪网络模型与初始迭代次数,其中所述待裁剪网络模型中每层权重参数对应的第一二值掩码矩阵中的值均初始化为1;S202,利用公式更新每层权重参数;其中表示待剪裁神经网络第k层中角标为(i,j)的权重系数;表示神经网络第k层中角标为(i,j)的权重的第一二值掩码;β为正的学习率;L(·)表示损失函数;⊙表示Hadamard乘积算子;I表示权重系数矩阵Wk的角标范围;S203,利用公式更新每层权重参数对应的第一二值掩码矩阵;其中,ak与bk分别为预设边界;函数hk(·)表示,当权重值的绝对值小于ak时,则二值掩码更新为0;当的绝对值大于bk时,则二值掩码更新为1;当的绝对值介于ak与bk之间时,则的值不做更新;S204,按照预设方式更新迭代次数与学习率;S205,判断当前迭代次数是否大于预设值,若否,则返回S202;若是,则利用本次更新后得到的每层权重参数与本次更新后得到的与每层权重参数对应的第一二值掩码矩阵确定待量化神经网络模型。4.根据权利要求1所述的方法,其特征在于,所述利用INQ算法对所述待量化神经网络模型进行量化得到待存储神经网络模型,包括:S301,确定第二训练集与参考模型,利用所述待量化神经网络模型的权重参数初始化...

【专利技术属性】
技术研发人员:谢启凯吴韶华
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1