本发明涉及计算机技术领域,特别是涉及一种神经网络压缩方法、设备及计算机可读存储介质。
背景技术:
近年来,随着深度学习(deeplearning)技术的发展,人工神经网络(artificialneuralnetworks,ann)被应用在越来越多的领域。卷积神经网络(convolutionneuralnetwork,cnn)是其中具有代表性的一种网络结构,它在图像处理、语音识别、自然语言处理等领域都有应用。与此同时,卷积神经网络模型在发展的过程中也变得越来越复杂,模型参数越来越多。复杂的网络模型在提升性能的同时,也限制了其在低功耗、低宽带、低存储设备上的应用,对神经网络进行压缩可以大大降低储存与计算的需求。
技术实现要素:
本发明主要解决的技术问题是提供一种神经网络压缩方法、设备及计算机可读存储介质,能够去除神经网络模型中的冗余,减小模型,且能够保留神经网络模型更多的全局特征。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种神经网络压缩,该神经网络压缩方法包括:获取待压缩神经网络中多个滤波器的多个滤波器参数;将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值;基于滤波器参数的特征值对待压缩神经网络进行剪枝,得到被压缩的神经网络。
其中,将多个滤波器参数进行聚合分析包括:综合比较多个滤波器参数的参数值,根据滤波器参数的参数值大小设置滤波器参数的特征值。
其中,将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值包括:计算多个滤波器参数的参数值的绝对值;将绝对值小于或等于第一阈值的滤波器参数的特征值设置为第一特征值。
其中,第一阈值为临界滤波器参数的绝对值,临界滤波器参数为多个滤波器参数中绝对值较小的前r%个滤波器参数中绝对值最大的一个,r%为剪枝率。
其中,将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值包括:计算多个滤波器参数的参数值的绝对值;将多个滤波器参数按照绝对值从小到大的顺序进行排序;将前r%个滤波器参数的特征值设置为第一特征值,r%为剪枝率。
其中,将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值包括:计算每个滤波器中多个滤波器参数的参数值的绝对值;将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值;将参数平均值小于或等于第二阈值的滤波器内的所有滤波器参数的特征值均设置为第一特征值;
其中,第二阈值为临界参数平均值,临界参数平均值为多个参数平均值中较小的前r%个参数平均值中最大的一个,r%为剪枝率。
其中,将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值包括:计算每个滤波器中多个滤波器参数的参数值的绝对值;将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值;将多个参数平均值按照从小到大的顺序进行排序;将前r%个参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第一特征值,r%为剪枝率。
其中,基于滤波器参数的特征值对待压缩神经网络进行剪枝包括:对待压缩神经网络的滤波器参数和/或滤波器进行剪枝。
其中,对待压缩神经网络的滤波器参数和/或滤波器进行剪枝包括:剪裁具有第一特征值的滤波器参数。
其中,剪裁具有第一特征值的滤波器参数包括:利用结构化或非结构化的方式对具有第一特征值的滤波器参数进行剪裁。
其中,将多个滤波器参数进行聚合分析之前包括:将多个滤波器参数从空域转换到频域。
其中,将多个滤波器参数从空域转换到频域包括:将四维张量形式的滤波器重新排列成二维矩阵形式的聚合滤波器;将聚合滤波器的聚合滤波器参数从空域转换到频域。
其中,基于滤波器参数的特征值对待压缩神经网络进行剪枝之前包括:将二维矩阵形式的聚合滤波器重新排列成四维张量形式的滤波器。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种神经网络压缩设备,该神经网络压缩设备包括处理器,处理器用于执行以实现上述的神经网络压缩方法。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种计算机可读存储介质,计算机可读存储介质用于存储指令/程序数据,指令/程序数据能够被执行以实现上述的神经网络压缩方法。
本发明的有益效果是:区别于现有技术的情况,本发明对神经网络模型中的多个滤波器进行聚合分析,考虑滤波器间的相关关系,有利于发现滤波器内部及滤波器之间的冗余,有针对性地对模型进行剪枝,保留了模型更多的全局特征,提高模型运算速度。
附图说明
图1是本申请实施方式中一神经网络压缩方法的流程示意图;
图2是本申请实施方式中另一神经网络压缩方法的流程示意图;
图3是本申请实施方式中一神经网络压缩方法实施例的流程示意图;
图4是本申请实施方式中神经网络压缩装置的结构示意图;
图5是本申请实施方式中神经网络压缩设备的结构示意图;
图6是本申请实施方式中计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。
本申请提供一种神经网络压缩方法,通过对神经网络模型中的多个滤波器进行聚合分析,考虑滤波器间的相关关系,有利于发现滤波器内部的冗余,有针对性地对模型进行剪枝,保留了模型更多的全局特征,提高模型运算速度。
请参阅图1,图1是本申请实施方式中一神经网络压缩方法的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施方式包括:
s101:获取待压缩神经网络中多个滤波器的多个滤波器参数。
获取待压缩的卷积神经网络,卷积神经网络包含具有相关联的多个输入滤波器的输入卷积层和具有相关联的多个输出滤波器的输出卷积层。获取待压缩的卷积神经网络中输入卷积层的输入通道数,输出卷积层的输出通道数以及卷积核的大小,获取多个滤波器的多个滤波器参数。
s103:将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值。
神经网络的整个网络层中,滤波器内部可能存在数据冗余,滤波器之间也可能存在冗余。通过对多个滤波器的多个滤波器参数进行聚合分析,以全局角度考虑所有滤波器参数对整个网络层的影响,有利于发现滤波器内部及滤波器之间的冗余,进而找到滤波器参数间的关系和特征,对滤波器参数进行标记,即可计算得到多个滤波器的每个滤波器参数对应的特征值,该特征值可标识滤波器参数的重要程度。
s105:基于滤波器参数的特征值对待压缩神经网络进行剪枝,得到被压缩的神经网络。
模型剪枝是一种深度神经网络模型压缩的方法,通过对模型的参数统计,删除不重要的参数。本实施方式中,通过对多个滤波器的多个滤波器参数进行聚合分析,以全局角度考虑所有滤波器参数对整个网络层的影响,对滤波器参数进行标记,根据标记对不重要的参数数据进行剪枝,得到被压缩的神经网络。
该实施方式中,通过对神经网络模型中的多个滤波器进行聚合分析,考虑滤波器间的相关关系,有利于发现滤波器内部及滤波器之间的冗余,有针对性地对模型进行剪枝,在压缩模型大小的同时保留了模型更多的全局特征,提高模型运算速度。
请参阅图2,图2是本申请实施方式中另一神经网络压缩方法的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图2所示的流程顺序为限。如图2所示,本实施方式包括:
s201:获取待压缩神经网络中多个滤波器的多个滤波器参数。
s203:将多个滤波器参数从空域转换到频域。
空域上变化平滑的参数变换到频域,表现为高频能量低,相应有较少的特征信息,而低频能量高,相应有更丰富的特征信息。因此,将多个滤波器参数从空域转换到频域。
对神经网络卷积层的滤波器进行重排列。本实施方式中,以四维张量形式的滤波器为例。神经网络卷积层中的滤波器可以表示为
对聚合滤波器参数进行傅里叶变换,将聚合滤波器的聚合滤波器参数从空域转换到频域,可得f′=d(w′)。
s205:综合比较多个滤波器参数的参数值,根据滤波器参数的参数值大小设置滤波器参数的特征值。
以全局角度考虑所有滤波器参数对整个网络层的影响,在频域综合比较多个聚合滤波器的多个滤波器参数的参数值,根据滤波器参数的大小确定滤波器参数对网络层的影响程度,从而设置滤波器参数对应的特征值。
在综合比较多个聚合滤波器的多个滤波器参数的参数值时,可以从所有滤波器参数的角度分析,以发现滤波器内部的数据冗余。具体地,考虑整个模型中每一个滤波器参数对网络层的影响,对每一个滤波器参数进行单独标记,从而得到每个滤波器参数对应的特征值。
在一实施方式中,计算多个滤波器参数的参数值的绝对值,将绝对值小于或等于第一阈值的滤波器参数的特征值设置为第一特征值。具体地,预设剪枝率为r%,计算多个滤波器参数的参数值的绝对值,在多个滤波器参数中选取绝对值较小的前r%个滤波器参数,进一步地,在前r%个滤波器参数中选取绝对值最大的一个滤波器参数作为临界滤波器参数。将临界滤波器参数的绝对值设为第一阈值,将绝对值小于或等于第一阈值的滤波器参数的特征值设置为第一特征值,将大于第一阈值的滤波器参数的特征值设置为第二特征值。其中,第一特征值和第二特征值用于区分滤波器参数的不同重要程度,具有第一特征值的滤波器参数重要程度低于具有第二特征值的滤波器参数。另一实施方式中,特征值可以为掩码,第一特征值对应掩码为0,第二特征值对应掩码为1。该特征值也适用于其他实施方式。
在一实施方式中,预设剪枝率为r%,计算多个滤波器参数的参数值的绝对值。将多个滤波器参数按照绝对值从小到大的顺序进行排序,将前r%个滤波器参数的特征值设置为第一特征值,将其他滤波器参数的特征值设置为第二特征值;或将多个滤波器参数按照绝对值从大到小的顺序进行排序,将后r%个滤波器参数的特征值设置为第一特征值,将其他滤波器参数的特征值设置为第二特征值。
在综合比较多个聚合滤波器的多个滤波器参数的参数值时,也可以从所有滤波器的角度分析,以发现滤波器之间的数据冗余。具体地,考虑整个模型中每一个滤波器对网络层的影响,对每一个滤波器进行单独标记,也就是对每一个滤波器内的滤波器数据进行整体标记,从而得到每个滤波器参数对应的特征值。
在一实施方式中,计算每个滤波器中多个滤波器参数的参数值的绝对值,将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值,将参数平均值小于或等于第二阈值的滤波器内的所有滤波器参数的特征值均设置为第一特征值。具体地,预设剪枝率为r%,首先计算每个滤波器中多个滤波器参数的参数值的绝对值,再将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值,计算得到每个滤波器的滤波器参数的平均值。在多个滤波器中选取滤波器参数的平均值较小的前r%个滤波器,进一步地,在前r%个滤波器中选取参数平均值最大的一个平均值作为临界参数平均值。将临界参数平均值设为第二阈值,将参数平均值小于或等于第二阈值的滤波器内的所有滤波器参数的特征值均设置为第一特征值,将大于第二阈值的滤波器内的所有滤波器参数的特征值均设置为第二特征值。
在一实施方式中,预设剪枝率为r%,计算每个滤波器中多个滤波器参数的参数值的绝对值,将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值。将多个参数平均值按照从小到大的顺序进行排序,将前r%个参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第一特征值,将其他参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第二特征值;或将多个参数平均值按照从大到小的顺序进行排序,将后r%个参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第一特征值,将其他参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第二特征值。
在一实施方式中,可以预设多个剪枝率rn%,本实施方式以预设两个剪枝率为例。预设第一剪枝率r1%和第二剪枝率r2%,第一剪枝率r1%小于第二剪枝率r2%,以上述方式根据两个剪枝率划分三组重要程度不同的滤波器参数,具体方法不再赘述。滤波器参数分别具有第一特征值、第二特征值和第三特征值。第一特征值、第二特征值和第三特征值对应的滤波器参数重要程度依次递增。
s207:将二维矩阵形式的聚合滤波器重新排列成四维张量形式的滤波器。
将频域变换后的聚合滤波器重新排列,得到四维张量形式的滤波器
s209:对待压缩神经网络的滤波器参数和/或滤波器进行剪枝,得到被压缩的神经网络。
依据待压缩神经网络的滤波器参数和/或滤波器的重要程度,对重要程度低的滤波器参数和/或滤波器进行剪裁,即剪裁具有第一特征值的滤波器参数,保留具有第二特征值的滤波器参数,简化神经网络结构,得到被压缩的神经网络。该实施方式中,使用非结构化剪枝和结构化剪枝的方式对待压缩神经网络的滤波器参数和/或滤波器进行剪枝。非结构化剪枝是对模型中不重要的参数进行置零,得到一个稀疏矩阵;结构化剪枝是对模型中一个完整的结构进行剪裁。
在一实施方式中,可以利用非结构化剪枝的方式对具有第一特征值的滤波器参数进行剪裁。确定具有第一特征值的滤波器参数,对具有第一特征值的滤波器进行非结构化剪枝。
在一实施方式中,利用结构化剪枝的方式对具有第一特征值的滤波器参数进行剪裁。确定具有第一特征值的滤波器参数,当每个滤波器对应位置的滤波器参数的特征值均为第一特征值时,对该位置的滤波器参数进行结构化剪枝;当每个滤波器对应行/列的滤波器参数的特征值均为第一特征值时,对该行/列的滤波器参数进行结构化剪枝;当整个滤波器的滤波器参数的特征值均为第一特征值时,对该滤波器进行结构化剪枝。
在一实施方式中,利用结构化剪枝和非结构化剪枝的方式对具有第一特征值的滤波器参数进行剪裁。当每个滤波器对应位置的滤波器参数的特征值均为第一特征值时,对该位置的滤波器参数进行结构化剪枝;当每个滤波器对应行/列的滤波器参数的特征值均为第一特征值时,对该行/列的滤波器参数进行结构化剪枝;当整个滤波器的滤波器参数的特征值均为第一特征值时,对该滤波器进行结构化剪枝。对其他具有第一特征值的滤波器参数进行非结构化剪枝。
在一实施方式中,当预设有多个剪枝率rn%时,本实施方式以预设两个剪枝率为例。根据模型压缩要求利用结构化剪枝和非结构化剪枝对滤波器参数进行剪裁,先剪裁具有第一特征值的滤波器参数,当需要继续压缩时,剪裁具有第二特征值的滤波器,具体剪裁方式与上述实施方式相同,在此不再赘述。
该实施方式中,通过对神经网络模型中的多个滤波器进行聚合分析,将空域上较难体现的模型参数相互关系反映到频域,更好地分析滤波器间的相关关系,保留了模型更多的全局特征,有利于发现滤波器内部的冗余,分别对滤波器参数和滤波器剪枝,对存储要求更高的场景去除滤波器内部冗余有利于减小模型更多的参数数量,而对运算速度要求更高的场景去除滤波器之间的冗余有利于减少滤波器个数,从而提升模型运算速度。
请参阅图3,图3是本申请实施方式中一神经网络压缩方法实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图3所示的流程顺序为限。如图3所示,本实施方式包括:
s301:训练初始模型。
使用训练数据对卷积神经网络进行预训练,得到神经网络压缩模型。
s303:对待压缩卷积神经网络卷积层的滤波器进行聚合分析。
将待压缩卷积神经网络卷积层的四维张量形式的滤波器进行重排列,得到二维矩阵形式的聚合滤波器。将聚合滤波器中的滤波器参数进行频域变换,对频域上的滤波器参数进行分析。
s305:分别对滤波器内部参数和滤波器进行剪枝。
滤波器内部和滤波器之间均可能存在数据冗余,因此,该实施方式中,分别对滤波器内部参数和滤波器进行剪枝。对于滤波器内部参数可以采用结构化剪枝方式或/和非结构化剪枝方式,对于滤波器可以采用结构化剪枝方式。
该实施方式中,采用非结构化剪枝方式对滤波器内部参数进行剪裁。预设非结构化剪枝率r%,计算所有滤波器参数的参数值的绝对值,将所有滤波器参数按照绝对值从小到大的顺序进行排序,将前r%个滤波器参数的特征值设置为0,将其他滤波器参数的特征值设置为1。剪裁特征值为0的滤波器参数,保留特征值为1的滤波器参数。
该实施方式中,采用结构化剪枝方式对滤波器进行剪裁。预设结构化剪枝率s%,其中,当结构化剪枝率s%与非结构化剪枝率r%相同时,可以称为全局剪枝率。计算每个滤波器中所有滤波器参数的参数值的绝对值,将同一个滤波器内的每个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值,将多个参数平均值按照从小到大的顺序进行排序,将前s%个参数平均值对应的滤波器的特征值设置为0,将其他滤波器的特征值设置为1。剪裁特征值为0的滤波器,保留特征值为1的滤波器。
s307:对模型进行微调训练。
对神经网络压缩模型进行微调训练,得到被压缩的卷积神经网络。
该实施方式中,通过对神经网络模型中的多个滤波器进行聚合分析,将空域上较难体现的模型参数相互关系反映到频域,更好地分析滤波器间的相关关系,保留了模型更多的全局特征,有利于发现滤波器内部的冗余,分别对滤波器参数和滤波器采用不同的方式剪枝,对存储要求更高的场景去除滤波器内部冗余有利于减小模型更多的参数数量,而对运算速度要求更高的场景去除滤波器之间的冗余有利于减少滤波器个数,从而提升模型运算速度。
请参阅图4,图4是本申请实施方式中神经网络压缩装置的结构示意图。该实施方式中,神经网络压缩装置包括获取模块41、分析模块42和剪枝模块43。
其中获取模块41用于获取待压缩神经网络中多个滤波器的多个滤波器参数;分析模块42用于将多个滤波器参数进行聚合分析,计算每个滤波器参数的特征值;剪枝模块43用于基于滤波器参数的特征值对待压缩神经网络进行剪枝,得到被压缩的神经网络。该神经网络压缩装置用于对神经网络模型中的多个滤波器进行聚合分析,考虑滤波器间的相关关系,有利于发现滤波器内部的冗余,有针对性地对模型进行剪枝,保留了模型更多的全局特征,提高模型运算速度。
请参阅图5,图5是本申请实施方式中神经网络压缩设备的结构示意图。该实施方式中,神经网络压缩设备51包括处理器52。
处理器52还可以称为cpu(centralprocessingunit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器52也可以是任何常规的处理器等。
神经网络压缩设备51可以进一步包括存储器(图中未示出),用于存储处理器52运行所需的指令和数据。
处理器52用于执行指令以实现上述本申请神经网络压缩方法任一实施例及任意不冲突的组合所提供的方法。
请参阅图6,图6是本申请实施方式中计算机可读存储介质的结构示意图。本申请实施例的计算机可读存储介质61存储有指令/程序数据62,该指令/程序数据62被执行时实现本申请神经网络压缩方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令/程序数据62可以形成程序文件以软件产品的形式存储在上述存储介质61中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质61包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种神经网络压缩方法,其特征在于,所述方法包括:
获取待压缩神经网络中多个滤波器的多个滤波器参数;
将所述多个滤波器参数进行聚合分析,计算每个所述滤波器参数的特征值;
基于所述滤波器参数的特征值对所述待压缩神经网络进行剪枝,得到被压缩的神经网络。
2.根据权利要求1所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析包括:
综合比较所述多个滤波器参数的参数值,根据所述滤波器参数的参数值大小设置所述滤波器参数的特征值。
3.根据权利要求2所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析,计算每个所述滤波器参数的特征值包括:
计算所述多个滤波器参数的参数值的绝对值;
将绝对值小于或等于第一阈值的滤波器参数的特征值设置为第一特征值。
4.根据权利要求3所述的神经网络压缩方法,其特征在于,
所述第一阈值为临界滤波器参数的绝对值,所述临界滤波器参数为所述多个滤波器参数中绝对值较小的前r%个滤波器参数中绝对值最大的一个,r%为剪枝率。
5.根据权利要求2所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析,计算每个所述滤波器参数的特征值包括:
计算所述多个滤波器参数的参数值的绝对值;
将所述多个滤波器参数按照绝对值从小到大的顺序进行排序;
将前r%个滤波器参数的特征值设置为第一特征值,r%为剪枝率。
6.根据权利要求2所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析,计算每个所述滤波器参数的特征值包括:
计算每个滤波器中多个滤波器参数的参数值的绝对值;
将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值;
将参数平均值小于或等于第二阈值的滤波器内的所有滤波器参数的特征值均设置为第一特征值。
7.根据权利要求6所述的神经网络压缩方法,其特征在于,
所述第二阈值为临界参数平均值,所述临界参数平均值为多个所述参数平均值中较小的前r%个参数平均值中最大的一个,r%为剪枝率。
8.根据权利要求2所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析,计算每个所述滤波器参数的特征值包括:
计算每个滤波器中多个滤波器参数的参数值的绝对值;
将同一个滤波器内的多个滤波器参数的绝对值进行累加并取平均值,得到每个滤波器的参数平均值;
将多个所述参数平均值按照从小到大的顺序进行排序;
将前r%个参数平均值对应的滤波器内的所有滤波器参数的特征值设置为第一特征值,r%为剪枝率。
9.根据权利要求2~8任一项所述的神经网络压缩方法,其特征在于,
所述基于滤波器参数的特征值对所述待压缩神经网络进行剪枝包括:
对所述待压缩神经网络的滤波器参数和/或滤波器进行剪枝。
10.根据权利要求9所述的神经网络压缩方法,其特征在于,
所述对待压缩神经网络的滤波器参数和/或滤波器进行剪枝包括:
剪裁具有第一特征值的滤波器参数。
11.根据权利要求10所述的神经网络压缩方法,其特征在于,
所述剪裁具有第一特征值的滤波器参数包括:
利用结构化和/或非结构化的方式对所述具有第一特征值的滤波器参数进行剪裁。
12.根据权利要求1所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数进行聚合分析之前包括:
将所述多个滤波器参数从空域转换到频域。
13.根据权利要求12所述的神经网络压缩方法,其特征在于,
所述将多个滤波器参数从空域转换到频域包括:
将四维张量形式的滤波器重新排列成二维矩阵形式的聚合滤波器;
将所述聚合滤波器的聚合滤波器参数从空域转换到频域。
14.根据权利要求13所述的神经网络压缩方法,其特征在于,
所述基于所述滤波器参数的特征值对所述待压缩神经网络进行剪枝之前包括:
将所述二维矩阵形式的聚合滤波器重新排列成四维张量形式的滤波器。
15.一种神经网络压缩设备,其特征在于,包括处理器,所述处理器用于执行指令以实现如权利要求1-14任一项所述的神经网络压缩方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储指令/程序数据,所述指令/程序数据能够被执行以实现如权利要求1-14任一项所述的神经网络压缩方法。
技术总结