有效
神经网络的压缩方法和装置、设备、介质
洪文静、李皈颖、杨鹏、唐珂
南方科技大学
摘要
本实施例提供一种神经网络的压缩方法和装置、设备、介质,属于计算机应用技术领域。该方法包括:获取在硬件上运行的预设神经网络;对所述预设神经网络进行压缩处理,以生成至少两个第一压缩神经网络;获取每一所述第一压缩神经网络对应于所述硬件的硬件性能指标;计算所述预设神经网络的第一准确率和每一所述第一压缩神经网络的第二准确率;根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对多个所述第一压缩神经网络进行初步筛选,得到初始神经网络集;根据预设条件对所述初始神经网络集进行二次筛选,得到目标压缩神经网络。根据硬件性能指标和准确率来指导神经网络的压缩,能够实现神经网络在多种硬件上的快速部署。
1.一种神经网络的压缩方法,其特征在于,包括:获取在硬件上运行的预设神经网络;对所述预设神经网络进行压缩处理,以生成至少两个第一压缩神经网络;获取每一所述第一压缩神经网络对应于所述硬件的硬件性能指标;计算所述预设神经网络的第一准确率和每一所述第一压缩神经网络的第二准确率;根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对多个所述第一压缩神经网络进行初步筛选,得到初始神经网络集;根据预设条件对所述初始神经网络集进行二次筛选,得到目标压缩神经网络;所述根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对所述第一压缩神经网络进行初步筛选,得到初始神经网络集,包括:根据所述预设神经网络的第一准确率、每一所述第一压缩神经网络的第二准确率和预设的约束参数建立每一所述第一压缩神经网络的准确率约束条件;若满足所述准确率约束条件的第一压缩神经网络的个数小于预设阈值,则根据每一所述第一压缩神经网络的准确率约束条件和每一所述第一压缩神经网络的第二准确率,对多个所述第一压缩神经网络进行排序,以得到一次排序后的第一压缩神经网络,根据预设的策略对一次排序后的所述第一压缩神经网络进行初步筛选,以得到初始神经网络集;若满足所述准确率约束条件的第一压缩神经网络的个数大于或等于所述预设阈值,则根据每一所述第一压缩神经网络的硬件性能指标和每一所述第一压缩神经网络的第二准确率,对多个所述第一压缩神经网络进行分组处理,以得到第一分组和第二分组,根据预设的第一选择策略从所述第一分组中获取第一分组压缩网络,并根据预设的第二选择策略从所述第二分组中获取第二分组压缩网络,将第一分组压缩网络和第二分组压缩网络作为初始神经网络集。
2.根据权利要求1所述的方法,其特征在于,所述根据每一所述第一压缩神经网络的硬件性能指标和每一所述第一压缩神经网络的第二准确率,对多个所述第一压缩神经网络进行分组处理,以得到第一分组和第二分组,包括:根据每一所述第一压缩神经网络的硬件性能指标和每一所述第一压缩神经网络的第二准确率建立每一所述第一压缩神经网络的目标函数;根据所述硬件性能指标、所述第二准确率和所述目标函数,对所述第一压缩神经网络进行分组处理,以得到第一分组和第二分组。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的第一选择策略从所述第一分组中获取第一分组压缩网络,包括:根据所述第一分组对应的所述目标函数,对满足所述准确率约束条件的所述第一压缩神经网络进行排序,以得到二次排序后的第一压缩神经网络;根据所述第一选择策略从二次排序后的所述第一压缩神经网络中获取对应的第一分组压缩神经网络。
4.根据权利要求2所述的方法,其特征在于,所述根据预设的第二选择策略从所述第二分组中获取第二分组压缩网络,包括:根据所述第二分组对应的所述目标函数,对满足所述准确率约束条件的所述第一压缩神经网络进行排序,以得到三次排序后的第一压缩神经网络;根据所述第二选择策略从三次排序后的所述第一压缩神经网络中获取对应的第二分组压缩网络。
5.根据权利要求1至4任一项所述的方法,其特征在于,在根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对所述第一压缩神经网络进行初步筛选,得到初始神经网络集之后,所述方法还包括:若所述初始神经网络集不满足预设条件,且根据所述预设神经网络生成的多个所述第一压缩神经网络满足加强条件,获取预设的代理模型所设定的限定条件;根据所述限定条件和层级剪枝算子对所述第一压缩神经网络的每层进行剪裁处理,以得到至少两个第二压缩神经网络;将所述第一压缩神经网络和所述第二压缩神经网络合并,以得到第三压缩神经网络;获取满足所述预设条件的第三压缩神经网络,作为目标压缩神经网络。
6.根据权利要求1至4任一项所述的方法,其特征在于,在根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对所述第一压缩神经网络进行初步筛选,得到初始神经网络集之后,所述方法还包括:若所述初始神经网络集不满足预设条件,且根据所述预设神经网络生成的多个所述第一压缩神经网络不满足加强条件,对所述第一压缩神经网络进行交叉变异处理,以得到至少两个第四压缩神经网络;将所述第一压缩神经网络和所述第四压缩神经网络合并,以得到第五压缩神经网络;获取满足所述预设条件的第五压缩神经网络,作为目标压缩神经网络。
7.一种神经网络的压缩装置,其特征在于,包括:第一获取模块,用于获取在硬件上运行的预设神经网络;压缩模块,用于对所述预设神经网络进行压缩处理,以生成至少两个第一压缩神经网络;第二获取模块,用于获取每一所述第一压缩神经网络对应于所述硬件的硬件性能指标;计算模块,用于计算所述预设神经网络的第一准确率和每一所述第一压缩神经网络的第二准确率;第三获取模块,用于根据所述硬件性能指标、所述第一准确率、多个所述第二准确率对所述第一压缩神经网络进行初步筛选,得到初始神经网络集;第四获取模块,用于根据预设条件对所述初始神经网络集进行二次筛选,得到目标压缩神经网络;所述神经网络的压缩装置还用于:根据所述预设神经网络的第一准确率、每一所述第一压缩神经网络的第二准确率和预设的约束参数建立每一所述第一压缩神经网络的准确率约束条件;若满足所述准确率约束条件的第一压缩神经网络的个数小于预设阈值,则根据每一所述第一压缩神经网络的准确率约束条件和每一所述第一压缩神经网络的第二准确率,对多个所述第一压缩神经网络进行排序,以得到一次排序后的第一压缩神经网络,根据预设的策略对一次排序后的所述第一压缩神经网络进行初步筛选,以得到初始神经网络集;若满足所述准确率约束条件的第一压缩神经网络的个数大于或等于所述预设阈值,则根据每一所述第一压缩神经网络的硬件性能指标和每一所述第一压缩神经网络的第二准确率,对多个所述第一压缩神经网络进行分组处理,以得到第一分组和第二分组,根据预设的第一选择策略从所述第一分组中获取第一分组压缩网络,并根据预设的第二选择策略从所述第二分组中获取第二分组压缩网络,将第一分组压缩网络和第二分组压缩网络作为初始神经网络集。
8.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,其中,所述存储器中存储有程序,所述程序被所述处理器执行时,所述处理器用于执行如权利要求1至6中任一项所述的方法。
9.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,在所述计算机程序被计算机执行时,所述计算机用于执行如权利要求1至6中任一项所述的方法。
暂无引用专利




