下面的描述涉及具有剪枝的方法和装置。
背景技术:
1、人工神经网络设备通常需要大量的处理能力以能够处理复杂的输入数据(在下文中,“神经网络”表示人工神经网络)。增加神经网络的学习能力可涉及增加神经网络内的连接性(connectivity)的复杂性。虽然旧的学习数据的准确性可增加,但是新学习的数据的估计值的置信度可降低。也就是说,可发生过拟合问题。此外,增加神经网络的复杂性可过度增加神经网络的存储器分配,这造成小型化和商业化方面的问题。
2、因此,存在对在减少实现神经网络的成本的同时总体维持神经网络的性能的需要。
技术实现思路
1、提供本
技术实现要素:
以便以简化的形式介绍以下在具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求保护的主题的关键特征或必要特征,也不意在用作帮助确定要求保护的主题的范围。
2、在一个总体方面,一种由包括处理器的设备执行的方法,包括:确定训练后的神经网络的权重重要性;接收与操作资源相关的约束条件;以及根据约束条件,确定用于使训练后的神经网络的权重重要性最大化的剪枝掩码。
3、确定剪枝掩码的步骤可包括:确定针对剪枝的输入通道的剪枝二进制向量;以及确定针对所述剪枝的输出通道的空间剪枝二进制向量。
4、剪枝神经网络的步骤可包括:基于确定的针对所述剪枝的输入通道的剪枝二进制向量来剪枝输入通道的权重;以及基于确定的输出通道的空间剪枝二进制向量来剪枝输出通道的空间维度上的权重。
5、确定权重重要性的步骤可包括:将权重重要性表示为针对所述剪枝的输入通道的剪枝二进制向量或针对所述剪枝的输出通道的空间剪枝二进制向量中的至少一个,并且接收约束条件的步骤可包括:将约束条件表示为输入通道的剪枝二进制向量或输出通道的空间剪枝二进制向量中的至少一个。
6、确定剪枝掩码的步骤可包括:根据约束条件,将用于使神经网络的权重重要性最大化的优化式表示为输入通道的剪枝二进制向量和输出通道的空间剪枝二进制向量中的至少一个。
7、确定剪枝掩码的步骤可包括:基于二进制向量优化算法来确定与优化式对应的剪枝掩码。
8、确定权重重要性的步骤可包括:基于神经网络的权重的绝对值和/或误差的梯度的绝对值来确定权重重要性。
9、与操作资源相关的约束条件可以是用于执行神经网络的推断的硬件资源的硬件性能约束。
10、与操作资源相关的约束条件可基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
11、所述方法还可包括:基于剪枝掩码来剪枝训练后的神经网络;接收输入图像;以及使用接收的输入图像基于剪枝后的神经网络来生成推断结果。
12、在一个总体方面,一种电子设备包括:处理器;以及存储器,存储能够由处理器执行的指令,其中,处理器被配置为,响应于执行所述指令:确定训练后的神经网络的权重重要性;接收与操作资源相关的约束条件;以及根据约束条件,确定用于使训练后的神经网络的权重重要性最大化的剪枝掩码。
13、处理器还可被配置为:确定输入通道的剪枝二进制向量;以及确定输出通道的空间剪枝二进制向量。
14、处理器还可被配置为:基于剪枝掩码来剪枝神经网络。
15、处理器可被配置为:基于剪枝后的神经网络来执行推断。
16、处理器还可被配置为:控制所述电子设备以基于确定的输入通道的剪枝二进制向量来剪枝输入通道的权重;以及基于确定的输出通道的空间剪枝二进制向量来剪枝输出通道的空间维度上的权重。
17、处理器可被配置为:将权重重要性表示为输入通道的剪枝二进制向量或输出通道的空间剪枝二进制向量中的至少一个;以及将约束条件表示为输入通道的剪枝二进制向量或输出通道的空间剪枝二进制向量中的至少一个。
18、处理器还可被配置为:根据约束条件,将用于使神经网络的权重重要性最大化的优化式表示为输入通道的剪枝二进制向量或输出通道的空间剪枝二进制向量中的至少一个。
19、处理器还可被配置为:基于二进制向量优化算法来确定与优化式对应的剪枝掩码。
20、处理器还可被配置为:基于神经网络的权重的绝对值和/或误差的绝对值梯度来确定权重重要性。
21、权重重要性可包括:与训练后的神经网络中的一个或多个权重对应的值,并且其中,所述值可对应于所述一个或多个权重对训练后的神经网络的准确性的影响。
22、与操作资源相关的约束条件可以是用于执行神经网络的推断的硬件资源的硬件性能约束。
23、与操作资源相关的约束条件可基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
24、处理器还可被配置为:基于剪枝掩码来剪枝训练后的神经网络;接收输入图像;以及使用接收的输入图像基于剪枝后的神经网络来生成推断结果。
25、在一个总体方面,一种方法由处理器执行,并且所述方法包括:接收约束条件,约束条件指示当对应的训练后的神经网络执行推断时将被遵守的约束;基于约束条件和训练后的神经网络,以神经网络的权重特征为基础来确定满足训练后的神经网络的约束条件的剪枝掩码;以及使用剪枝掩码来剪枝训练后的神经网络的输出通道的权重。
26、剪枝掩码可基于输入剪枝向量和输出剪枝向量被确定,输入剪枝向量对应于神经网络的层的针对所述剪枝的输入通道,输出剪枝向量对应于神经网络的层的输出通道。
27、权重特征可基于训练后的神经网络的一个或多个权重。
28、权重特征可对应于权重对训练后的神经网络的预测准确性的影响。
29、神经网络可包括卷积神经网络,其中,层可包括卷积神经网络的卷积层。
30、确定剪枝掩码的步骤可包括:执行由约束条件和权重条件约束的优化算法。
31、与操作资源相关的约束条件可以是用于执行神经网络的推断的硬件资源的硬件性能约束。
32、与操作资源相关的约束条件可基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
33、所述方法还可包括:基于剪枝掩码来剪枝训练后的神经网络;接收输入图像;以及使用接收的输入图像基于剪枝后的神经网络来生成推断结果。
34、一种非暂时性计算机可读存储介质可存储指令,所述指令在由处理器执行时使处理器执行任何的所述方法。
35、从下面的具体实施方式、附图以及权利要求,其他特征和方面将是清楚的。
1.一种由包括处理器的设备执行的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,确定剪枝掩码的步骤包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,还包括:
5.根据权利要求3所述的方法,其中,剪枝训练后的神经网络的步骤包括:
6.根据权利要求1至5中的任何一项所述的方法,其中,
7.根据权利要求6所述的方法,其中,确定剪枝掩码的步骤包括:根据约束条件,将用于使训练后的神经网络的权重重要性最大化的优化式表示为输入通道的剪枝二进制向量和输出通道的空间剪枝二进制向量中的至少一个。
8.根据权利要求7所述的方法,其中,确定剪枝掩码的步骤包括:基于二进制向量优化算法来确定与优化式对应的剪枝掩码。
9.根据权利要求1至5中的任何一项所述的方法,其中,确定权重重要性的步骤包括:基于神经网络的权重的绝对值和/或误差的梯度的绝对值来确定权重重要性。
10.根据权利要求1至5中的任何一项所述的方法,其中,与操作资源相关的约束条件是用于执行神经网络的推断的硬件资源的硬件性能约束。
11.根据权利要求1至5中的任何一项所述的方法,其中,与操作资源相关的约束条件基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
12.根据权利要求1至5中的任何一项所述的方法,还包括:
13.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使处理器执行根据权利要求1至12中的任何一项所述的方法。
14.一种电子设备,包括:
15.根据权利要求14所述的电子设备,其中,处理器还被配置为:
16.根据权利要求14所述的电子设备,其中,处理器还被配置为:基于剪枝掩码来剪枝训练后的神经网络。
17.根据权利要求16所述的电子设备,其中,处理器被配置为:基于剪枝后的神经网络来执行推断。
18.根据权利要求16所述的电子设备,其中,处理器还被配置为:
19.根据权利要求14至18中的任何一项所述的电子设备,其中,处理器被配置为:
20.根据权利要求19所述的电子设备,其中,处理器还被配置为:根据约束条件,将用于使训练后的神经网络的权重重要性最大化的优化式表示为输入通道的剪枝二进制向量和输出通道的空间剪枝二进制向量中的至少一个。
21.根据权利要求20所述的电子设备,其中,处理器还被配置为:基于二进制向量优化算法来确定与优化式对应的剪枝掩码。
22.根据权利要求20所述的电子设备,其中,处理器还被配置为:基于神经网络的权重的绝对值和/或误差的梯度的绝对值的来确定权重重要性。
23.根据权利要求14至18中的任何一项所述的电子设备,其中,权重重要性包括:与训练后的神经网络中的一个或多个权重对应的值,并且其中,所述值对应于所述一个或多个权重对训练后的神经网络的准确性的影响。
24.根据权利要求14至18中的任何一项所述的电子设备,其中,与操作资源相关的约束条件是用于执行神经网络的推断的硬件资源的硬件性能约束。
25.根据权利要求14至18中的任何一项所述的电子设备,其中,与操作资源相关的约束条件基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
26.根据权利要求14至18中的任何一项所述的电子设备,其中,处理器还被配置为:
27.一种由处理器执行的方法,所述方法包括:
28.根据权利要求27所述的方法,其中,剪枝掩码基于输入剪枝向量和输出剪枝向量被确定,输入剪枝向量对应于训练后的神经网络的层的针对所述剪枝的输入通道,输出剪枝向量对应于训练后的神经网络的层的输出通道。
29.根据权利要求28所述的方法,其中,权重特征基于训练后的神经网络的一个或多个权重。
30.根据权利要求27所述的方法,其中,权重特征对应于权重对训练后的神经网络的预测准确性的影响。
31.根据权利要求27至30中的任何一项所述的方法,其中,与操作资源相关的约束条件是用于执行神经网络的推断的硬件资源的硬件性能约束。
32.根据权利要求27至30中的任何一项所述的方法,其中,与操作资源相关的约束条件基于以下项中的至少一个被确定:能够用于执行神经网络的推断的存储器的可用容量、用于执行神经网络的推断的硬件资源的每秒浮点运算、以及使用用于执行神经网络的推断的硬件资源的时间限制。
33.根据权利要求27至30中的任何一项所述的方法,还包括: