CN109948794A - 神经网络结构化剪枝方法、剪枝装置和电子设备 - Google Patents

神经网络结构化剪枝方法、剪枝装置和电子设备 Download PDF

Info

Publication number
CN109948794A
CN109948794A CN201910148224.XA CN201910148224A CN109948794A CN 109948794 A CN109948794 A CN 109948794A CN 201910148224 A CN201910148224 A CN 201910148224A CN 109948794 A CN109948794 A CN 109948794A
Authority
CN
China
Prior art keywords
tensor
weight
sequence
dimension
exchange
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910148224.XA
Other languages
English (en)
Inventor
张悠慧
季宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201910148224.XA priority Critical patent/CN109948794A/zh
Publication of CN109948794A publication Critical patent/CN109948794A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及神经网络结构化剪枝方法、神经网络结构化剪枝装置和电子设备,其中,该方法包括:以最佳排序张量对所述权重张量中对应需要排序的维度进行排序;以预设结构化压缩算法对经过所述最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;以及,基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。这样,通过对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。

Description

神经网络结构化剪枝方法、剪枝装置和电子设备
技术领域
本发明总体地涉及深度学习领域,特别是涉及神经网络结构化剪枝方法、神经网络结构化剪枝装置和电子设备。
背景技术
近年来,深度学习技术取得突破性进展,在图像识别、语言识别、自然语言处理等诸多领域取得了很好的准确率。然而,深度学习所需的存储量和计算量巨大,对神经网络进行压缩可以大大降低储存与计算的需求。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种神经网络结构化剪枝方法、神经网络结构化剪枝装置和电子设备,其通过对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。
根据本申请的一方面,提供了一种神经网络结构化剪枝方法,包括:以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模,以及,基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
在上述神经网络结构化剪枝方法中,确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,包括:在最外层循环中通过最大期望算法获得所述最佳排序张量,其中,所述最大期望算法的每一次循环迭代过程,包括:在固定掩模的前提下,通过中间循环的交替最小化算法中间循环的交替最小化算法和最内层循环的贪心算法获得与所述掩模对应的最适合排序张量;以所述最适合排序张量对所述权重张量进行排序;以及,进入下一轮迭代循环直至收敛,以收敛时对应的最适合排序张量为所述最佳排序张量;其中,所述中间循环的交替最小化算法的每一次循环迭代过程,包括:按次序选择所述权重矩阵中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变;以最内层的贪心算法确定所述排序张量中对应排序的最佳排序;以及,进入下一轮迭代循环直至所述权重张量中所有需要重排的维度优化结束,以获得所述最适合排序张量;其中,所述最内层循环的贪心算法的每一次循环迭代过程,包括:获得交换所述权重张量中对应重排维度中两个指标之后的最大交换收益函数的降低值;以及,每次寻找使得所述目标函数降低最多的交换指标位置,直至所述最大交换收益函数的函数值小于预设阈值。
在上述神经网络结构化剪枝方法中,确定重排之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,包括:
步骤1:初始化所述排序张量中所有的排序为单位排序;
步骤2:以所述预设结构化压缩算法对所述权重张量进行处理,以获得所述权重张量对应的掩模;
步骤3:按次序选择所述权重张量中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变,并重复步骤步骤4至步骤9以执行中间循环,以输出在固定掩模时与所述掩模对应的最适合排序张量;
步骤4:基于所述权重张量中权值的绝对值的平均值或权值的平方的平均值,对除需重排的维度之外的所述权重张量的其他维度进行缩并,以获得缩并矩阵S,其中,所述缩并矩阵S的大小是nD×nD,nD表示所述权重张量中需重排维度的大小;
步骤5:提取所述缩并矩阵的对角向量,并复制nD份所述对角向量,以获得一个大小为nD×nD的矩阵L;
步骤6:基于所述缩并矩阵S和所述矩阵L,获得交换收益矩阵;
步骤7:确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置;
步骤8:响应于最大交换收益大于0,基于所述交换指标位置交换所述权重张量中该需要重排的维度中相应位置的分片,且交换所述排序张量中对应排序中的对应位置项;
步骤9:重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益函数值小于所述预设阈值时所述排序张量中对应排序的最佳排序;
步骤10:重复步骤步骤2至步骤9以执行最外层循环,直至所述最大交换收益函数收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。
在上述神经网络结构化剪枝方法中,在重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益小于所述预设阈值时对应的所述排序张量的过程中,交换循环开始所得的缩并矩阵S中对应两行,以获得对应循环中的所述缩并矩阵。
在上述神经网络结构化剪枝方法中,在确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置的循环过程中,对比更新的所述交换收益矩阵中的值与上一轮保存的值,以确定更新之后的所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置。
在上述神经网络结构化剪枝方法中,所述待剪枝网络层为全连接层,所述全连接层的权重张量中需要重新排序的维度为输入维度和输出维度。
在上述神经网络结构化剪枝方法中,所述待剪枝网络层为卷积层,所述卷积层的权重张量中需要重新排序的维度为输入通道和输出通道。
根据本申请的另一方面,提供了一种神经网络结构化剪枝装置,包括:排序单元,以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;掩模获取单元,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;最佳排序张量确定单元,用于确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;所述排序单元,还用于以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;所述掩模获取单元,还用于以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;以及,剪枝单元,用于基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
在上述神经网络结构化剪枝装置中,所述最佳排序张量确定单元,进一步用于:在最外层循环中通过最大期望算法获得所述最佳排序张量,其中,所述最大期望算法的每一次循环迭代过程,包括:在固定掩模的前提下,通过中间循环的交替最小化算法中间循环的交替最小化算法和最内层循环的贪心算法获得与所述掩模对应的最适合排序张量;以所述最适合排序张量对所述权重张量进行排序;以及,进入下一轮迭代循环直至收敛,以收敛时对应的最适合排序张量为所述最佳排序张量;其中,所述中间循环的交替最小化算法的每一次循环迭代过程,包括:按次序选择所述权重矩阵中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变;以最内层的贪心算法确定所述排序张量中对应排序的最佳排序;以及,进入下一轮迭代循环直至所述权重张量中所有需要重排的维度优化结束,以获得最适合排序张量;其中,所述最内层循环的贪心算法的每一次循环迭代过程,包括:获得交换所述权重张量中对应重排维度中两个指标之后的最大交换收益函数的降低值;以及,每次寻找使得所述目标函数降低最多的交换指标位置,直至所述最大交换收益函数的函数值小于预设阈值。
在上述神经网络结构化剪枝装置中,所述最佳排序张量确定单元,进一步用于:
步骤1:初始化所述排序张量中所有的排序为单位排序;
步骤2:以所述预设结构化压缩算法对所述权重张量进行处理,以获得所述权重张量对应的掩模;
步骤3:按次序选择所述权重张量中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变,并重复步骤步骤4至步骤9以执行中间循环,以输出在固定掩模时与所述掩模对应的最适合排序张量;
步骤4:基于所述权重张量中权值的绝对值的平均值或权值的平方的平均值,对除需重排的维度之外的所述权重张量的其他维度进行缩并,以获得缩并矩阵S,其中,所述缩并矩阵S的大小是nD×nD,nD表示所述权重张量中需重排维度的大小;
步骤5:提取所述缩并矩阵的对角向量,并复制nD份所述对角向量,以获得一个大小为nD×nD的矩阵L;
步骤6:基于所述缩并矩阵S和所述矩阵L,获得交换收益矩阵;
步骤7:确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置;
步骤8:响应于最大交换收益大于0,基于所述交换指标位置交换所述权重张量中该需要重排的维度中相应位置的分片,且交换所述排序张量中对应排序中的对应位置项;
步骤9:重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益函数值小于所述预设阈值时所述排序张量中对应排序的最佳排序;
步骤10:重复步骤步骤2至步骤9以执行最外层循环,直至所述最大交换收益函数收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。
在上述神经网络结构化剪枝装置中,在执行最内层循环,以输出所述最大交换收益小于所述预设阈值时对应的所述排序张量的过程中,交换循环开始所得的缩并矩阵S中对应两行,以获得对应循环中的所述缩并矩阵。
在上述神经网络结构化剪枝装置中,确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置的循环过程中,对比更新的所述交换收益矩阵中的值与上一轮保存的值,以确定更新之后的所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置。
在上述神经网络结构化剪枝装置中,所述待剪枝网络层为全连接层,所述全连接层的权重张量中需要重新排序的维度为输入维度和输出维度。
在上述神经网络结构化剪枝装置中,所述待剪枝网络层为卷积层,所述卷积层的权重张量中需要重新排序的维度为输入通道和输出通道。
根据本申请的又一方面,提供一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的神经网络结构化剪枝方法。
根据本申请的又一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的神经网络结构化剪枝方法。
本申请提供的神经网络结构化剪枝方法、神经网络结构化剪枝装置和电子设备可以有效地通过对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:
图1图示了根据本申请实施例的神经网络结构化剪枝方法的流程图。
图2图示了根据本申请实施例的确定最佳排序张量的流程图。
图3图示了根据本申请实施例的神经网络结构化剪枝效果的示意图。
图4图示了根据本申请实施例的神经网络结构化剪枝装置的框图。
图5图示了根据本申请实施例的电子设备的框图。
具体实施方式
下面,将参考附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解本申请不受这里描述的示例实施例的限制。
申请概述
如上所述,深度学习所需的存储量和计算量巨大,因此,需对神经网络进行压缩以降低其储存与计算量。
对神经网络进行剪枝是最常用的神经网络压缩技术之一。对神经网络进行剪枝表示将待剪枝网络层的权重张量中权重相对较低的权值剪裁掉,使得整体的存储量与计算量降低,这种剪枝方式成为非结构化剪枝。然而,对神经网络进行剪枝通常会使得原先规则的神经网络连接变成稀疏而不规则的连接。在目前主流的硬件平台上,不规则的系数计算通常非常不高效。也就是说,剪枝虽然能够降低神经网络的计算量,但实际计算时间却没有得到实质的优化,有时甚至反而可能变得更长。
为了解决上述问题,发展出一种结构化剪枝技术。结构化剪枝技术的关键在于通过对剪枝的粒度进行控制。在进行剪枝的过程中,以一个特定的连续结构为整体进行剪枝,以达到降低储存量和计算量的目的。这种做法能够保证剪枝之后的神经网络保持着局部连续性,使得其能够在主流硬件上展现出较高的性能表现。然而,结构化剪枝技术由于对剪枝增加了结构化的约束,导致剪裁掉的权重总量相比非结构化的剪裁要少。换言之,通过结构化剪枝技术剪枝的神经网络往往稀疏度不及非结构化剪枝。因此,如何获得更高的稀疏度,同时又保持较好的结构化使得主流硬件平台可以高效执行,成为了在深度学习领域一个备受关注的问题。
具体来说,神经网络通常包括各种基本模板和基本运算相互连接而成,常见的基本模块包括全连接层、卷积层、注意力机制层、LSTM层等。诸如全连接层和卷积层等神经网络层都具有自己的权重张量,其占据着神经网络主要的存储开销和计算开销。
例如,全连接层包括一个权重矩阵(二维权重张量),大小为m×n,其中,m是输入的维度,n是输出的维度。全连接层进行的计算为矩阵乘,用公式可表示为:Y=XW,其中X和Y分别为输入和输出,大小分别为b×m和b×n,b表示批处理中一个批次的样本数量。
再如,卷积层包含一个卷积核K,其大小为oc×ic×kw×kh,其中,o表示输出通道数,i表示输入通道数,w表示卷积核宽度,h表示卷积核高度。输入X大小为b×ic×iw×ih,其中b是批处理中一个批次的样本数量,iw和ih分别表示输入图像的宽度和高度。卷积层进行的计算为:卷积核K每次与输入图像中大小为b×ic×kw×kh的小区域进行加权求和得到b×oc的结果,通过在输入图像上进行滑窗,得到b×oc×ow×oh的输出图像Y,该过程用公式记作
如上所述,诸如全连接层和卷积层等神经网络层都具有自己的权重张量,其占据着神经网络主要的存储开销和计算开销。因此,需对诸如全连接层和卷积层之类的神经网络层进行深度压缩,以降低其储存与计算量。
具体地,在利用现有的非结构化剪枝技术对全连接层的权重矩阵或卷积层的卷积核进行剪枝的过程中,其将其中较小的权值强制设置为0(例如,通过设置预设阈值,将权值小于阈值的元素强制设置为0)。这样,在计算和存储时仅需考虑非零项,从而达到降低存储量和计算量的目的。
虽然这样的非结构化剪枝技术可以实现降低存储量和计算量的目的,但是,由于权值较小的元素分布不规则,导致裁剪完成后的非零项的分布不连续。在目前主流硬件,例如图像处理器(GPU),上进行运算时,并不能充分发挥硬件性能。其原因在于,这类硬件通常针对连续访存进行优化,稀疏的不规则计算可能导致性能甚至比未经过压缩的原始模型要差。
如前所述,可采用结构化压缩技术解决非结构化剪枝的不规则对性能的影响。具体来说,结构化压缩技术在剪枝时对剪裁的颗粒度进行限制,其包括多种不同的结构限制,例如,裁剪整行整列、裁剪整个通道、分块剪裁等。按照剪裁结构将权重矩阵或卷积核等划分成不同的区块,将总体权值量较小的区块整体设置为0。这样,在计算和存储时仅需考虑非零项,从而达到降低存储量和计算量的目的。
然而,由于对剪裁结构进行了约束,剪裁的自由度远没有非结构化剪枝技术高。并且,剪裁所能取得的稀疏度以及重新训练后能恢复的准确率都比非结构化剪枝技术要低。结构化剪枝技术虽然能够获得较好的硬件支持,但加速的上限是由压缩所取得的稀疏度决定的。由于稀疏度较低,加速的上限会有所下降。
总结来说,现有的剪枝技术方案(结构化剪枝技术和非结构化剪枝技术)在剪枝的粒度上进行取舍。细颗粒度的剪枝技术(非结构化剪枝技术)可以获得较为理想的稀疏度和准确度,但对硬件不友好;粗颗粒度的剪枝技术(结构化剪枝技术)对于硬件友好,很容易获得较为理想的硬件加速,但是稀疏度和准确率相比细颗粒度有所下降。换言之,现有的剪枝技术方案主要是在稀疏性和硬件友好性两者之间通过剪枝粒度进行权衡,并不能同时兼顾稀疏性和硬件友好性。
相应地,针对上述技术问题,本申请的基本构思是首先通过对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。也就是说,本申请提出了一种新的维度(对通用的结构化剪枝算法进行加强),其能在保持高稀疏性的同时增强硬件友好性,且适用于各种结构化剪枝技术。
基于此,本发明提供一种神经网络结构化剪枝方法、神经网络结构化剪枝方法装置和电子设备,其首先以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;然后,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;进一步地,确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;继而,以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;接着,以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;然后,基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。这样,通过排序张量对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
示意性方法
图1图示了根据本申请实施例的神经网络结构化剪枝方法的流程图。如图1所示,根据本申请实施例的神经网络结构化剪枝方法包括:S110,以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;S120,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;S130,确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;S140,以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;S150,以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模,以及,S160,基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
在步骤S110和S120中,以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序,以及,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值。如前所述,对待剪枝网络层的权重张量进行排序的目的是为了让不规则分布的稀疏性得以聚集,这样,再通过预设结构化压缩算法进行权值裁剪,以此来提高剪枝的稀疏度和准确率。
在具体实施中,不同的排序张量对于所述待剪枝网络层的权重张量具有不同的排序效果。换言之,不同的排序张量对于剪枝的稀疏度和准确性具有不同的影响。本领域的技术人员应知晓,神经网络剪枝算法应尽量减少剪枝之后的网络层对算法整体的准确率造成影响。因此,应在所有的排序张量中选择一种最佳排序张量,以使得其对准确率的影响最低。这里,排序张量对于模型准确率的影响可基于被裁去权值量表示。
为了便于理解和说明,在本申请实施例中,假设所述权重张量为d阶张量W,所述预设结构化压缩算法为M=P(W)。所述预设结构化压缩算法根据输入的权重张量W生成一个掩模M,其中,所述掩模M用于表示所述权重张量中权重被裁去的位置。更具体地,所述掩模M的形状与所述权重张量W的形状一致,所述掩模M中值为1的位置对应表示所述权重张量W中被裁去的位置,相对地,所述掩模M中值为0的位置对应表示所述权重张量W中被保留的位置。这样,排序张量对于模型准确率的影响,用公式可表示为‖P(W)⊙W‖,其中,⊙表示两个张量对应位置相乘,即将所述掩模应用到所述权重张量上得到被裁剪权值量,‖x‖表示x的范数,常用L1范数或者L2范数,分别表示对权值的绝对值求平均和对权值的平方求平均。
相应地,在引入所述排序张量(表示为:α1,…,αd)对所述权重张量中各个需要排序的维度进行排序之后,选择最佳排序张量的过程实际上是寻找一种最佳排序张量使得重排之后被裁剪的权值最小,用公式可表示为其中,Ω表示允许重排的维度,例如,对于卷积核而言,允许重排的维度包括:输入通道和输出通道两个维度,对于其他维度,排序被固定为单位排序。
在步骤S130中,确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示。
具体来说,在本申请实施例中,求解排序之后的所述权重张量中被裁去权值量最小者的过程,包括:
步骤1:初始化所述排序张量中所有的排序为单位排序;
步骤2:以所述预设结构化压缩算法对所述权重张量进行处理,以获得所述权重张量对应的掩模;
步骤3:按次序选择所述权重张量中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变,并重复步骤步骤4至步骤9,以输出在固定掩模时与所述掩模对应的最适合排序张量;
步骤4:基于所述权重张量中权值的绝对值的平均值或权值的平方的平均值,对除需重排的维度之外的所述权重张量的其他维度进行缩并,以获得缩并矩阵S,其中,所述缩并矩阵S的大小是nD×nD,nD表示所述权重张量中需重排维度的大小;
步骤5:提取所述缩并矩阵的对角向量,并复制nD份所述对角向量,以获得一个大小为nD×nD的矩阵L;
步骤6:基于所述缩并矩阵S和所述矩阵L,获得交换收益矩阵,其中,所述交换收益矩阵用公式表示为:G=L+LT-S-ST,其中LT和ST表示L和S的转置;
步骤7:确定所述交换收益矩阵中的最大交换收益Gij以及最大交换收益对应的交换指标位置i和j;
步骤8:响应于最大交换收益大于0,基于所述交换指标位置交换所述权重张量中该需要重排的维度中在i和j位置两个分片,且交换所述排序张量中对应排序中的第i项和第j项;
步骤9:重复步骤步骤4至步骤8,以输出所述最大交换收益函数值小于所述预设阈值∈时所述排序张量中对应排序的最佳排序,其中,∈是一个足够小的数字;
步骤10:重复步骤步骤2至步骤9,直至所述最大交换收益函数收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。
也就是说,在本申请该实施例中,求解排序之后的所述权重张量中被裁去权值量最小者的算法包括三层循环:最外层循环、中间循环和最内层循环。具体来说,最外层循环是一个最大期望值算法,其中,所述最大期望算法的每一次循环迭代过程,包括:在固定掩模的前提下,通过中间循环的交替最小化算法和最内层循环的贪心算法获得与所述掩模对应的最适合排序张量;以所述最适合排序张量对所述权重张量进行排序;以及,进入下一轮迭代循环直至收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。换言之,所述最大期望算法的思路为:通过所述预设结构化压缩算法算出对应掩模,并在固定掩模的前提下求解最适合排序。
中间循环是一个交替最小化算法,其目的在于求解在固定掩模的前提下的所述最适合排序张量。具体来说,所述中间循环的交替最小化算法的每一次循环迭代过程,包括:按次序选择所述权重矩阵中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变;以最内层的贪心算法确定所述排序张量中对应排序的最佳排序;以及,进入下一轮迭代循环直至所述权重张量中所有需要重排的维度优化结束,以获得所述最佳排序张量。换言之,所述交替最小化算法的思路为:因为需要求解各个维度的最佳排列,因此先固定其他维度,每次只优化其中一个维度的排列,依次优化各个维度。
最内层循环是一个贪心算法,其目的在于获取每一排序项的最佳排序(所述权重张量每一特征维度的最佳排序)。具体来说,所述最内层循环的贪心算法的每一次循环迭代过程,包括:获得交换所述权重张量中对应重排维度中两个指标之后的最大交换收益函数的降低值;以及,每次寻找使得所述目标函数降低最多的交换指标位置,直至所述最大交换收益函数的函数值小于预设阈值。换言之,所述贪心算法的思路为:计算出所述交换收益矩阵G的每个元素表示交换该维度对应的两个指标可以使得优化目标函数降低的值,通过贪心地每次寻找使得目标降低最多的交换指标并进行交换,使得目标函数降低到不能再降低。
为了降低求解所述最佳排序张量的算法开销,可对求解所述最佳排序张量的计算过程进行优化。在该计算过程中,算法运行的主要开销主要集中在步骤4求解张量的缩并结果中,由于步骤5到步骤8中对于所述权重张量的改动很小,因此可以复用循环开始获得的缩并矩阵。具体来说,在重复步骤步骤4至步骤8(中间循环)的过程中,交换循环开始所得的缩并矩阵S中对应两行,以获得对应循环中的所述缩并矩阵,通过这样的方式,复用循环开始获得的缩并矩阵,以降低计算代价。
还有,在内层循环寻找最大交换收益Gij的过程中,也可以复用之前的计算结果。具体地,保存最大交换收益G各行的最大值,由于每次G仅仅更新了ij两行和两列,因此只需要将更新的值与上一轮保存的值进行对比即可。换言之,在确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置的循环过程中,对比更新的所述交换收益矩阵中的值与上一轮保存的值,以确定更新之后的所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置,通过这样的方式,复用所述最大交换收益G。
通过上述优化,测试证明对于VGG16模型,在TiTan V GPU上运行确定所述最佳排序张量仅需要不到1分钟。
在获得所述最佳排序张量之后,进一步执行步骤S140、步骤S150和步骤S160,对待剪枝网络层的所述权重张量进行剪枝。应可以理解,通过所述最佳排序张量能够使得所述权重张量中让不规则分布的稀疏性得以最佳程度地聚集。之后,再通过预设结构化压缩算法进行权值裁剪,以此能够提高剪枝的稀疏度且同时兼顾准确率。
为了更为具象地阐述本申请所揭露的所述神经网络结构化剪枝方法,以下以所述待剪枝网络层分别为全连接层和卷积层为例,阐述所述神经网络结构化剪枝方法的具体应用过程。
对于全连接层而言,所述全连接层的权重张量中需要重排的维度包括:输入维度和输出维度。相应地,可通过上述求解最佳排序张量算法获得一个最佳排序张量(包括两个排列α、β),进行通过排列α、β对所述全连接层的权重矩阵的输入维度和输出维度进行重排,以使得所述权重矩阵中不规则的稀疏性得以聚集。这样,通过预设结构化压缩算法对重排之后的所述权重矩阵进行处理,以获得对应的掩模;继而,基于该掩模将所述权重矩阵中权值较小者裁去。如上剪枝效果可参见附图3。
相应地,在引入所述排序张量(包括两个排列α、β)之后,所述全连接层的计算转变为:Y[I;β]=X[I:α]W[α,β],其中I是单位排列(即保持不变的排列)。
对于卷积层而言,所述卷积层的权重张量中需要重排的维度包括:输入通道和输出通道。相应地,可通过上述求解最佳排序张量算法获得一个最佳排序张量(包括两个排列α、β),进行通过排列α、β对所述卷积层的权重矩阵的输入通道和输出通道进行重排,以使得所述权重矩阵中不规则的稀疏性得以聚集。这样,通过预设结构化压缩算法对重排之后的所述权重矩阵进行处理,以获得对应的掩模;继而,基于该掩模将所述权重矩阵中权值较小者裁去。
相应地,在引入所述排序张量(包括两个排列α、β)之后,原来的卷积操作改写为其中I是单位排列(即保持不变的排列)。
这里,应领会的是,虽然在上文中,以所述神经网络剪枝方法应用于连接层和卷积层为示例。本领域的技术人员应可以理解,所述神经网络剪枝方法还可用于待剪枝的网络层,例如注意力机制层等。对此,本申请不作限制。
综上,本申请揭露的所述神经网络结构化剪枝方法通过排序张量对剪枝网络层的权重张量中需要排序的维度进行排序,以使得不规则分布的稀疏性得以聚集,进而进行结构化剪枝,基于此能提高稀疏度和准确率,并同时保障了硬件友好性。
示意性装置
图4图示了根据本申请实施例的神经网络结构化剪枝装置的框图。
如图4所示,根据本申请实施例的神经网络结构化剪枝装置400包括:排序单元410,以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;掩模获取单元420,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;最佳排序张量确定单元430,用于确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;所述排序单元410,还用于以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;所述掩模获取单元420,还用于以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;以及,剪枝单元440,用于基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
在一个示例中,在上述神经网络结构化剪枝装置400中,所述最佳排序张量确定单元430,进一步用于:在最外层循环中通过最大期望算法获得所述最佳排序张量,其中,所述最大期望算法的每一次循环迭代过程,包括:在固定掩模的前提下,通过中间循环的交替最小化算法中间循环的交替最小化算法和最内层循环的贪心算法获得与所述掩模对应的最适合排序张量;以所述最适合排序张量对所述权重张量进行排序;以及,进入下一轮迭代循环直至收敛,以收敛时对应的最适合排序张量为所述最佳排序张量;其中,所述中间循环的交替最小化算法的每一次循环迭代过程,包括:按次序选择所述权重矩阵中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变;以最内层的贪心算法确定所述排序张量中对应排序的最佳排序;以及,进入下一轮迭代循环直至所述权重张量中所有需要重排的维度优化结束,以获得最适合排序张量;其中,所述最内层循环的贪心算法的每一次循环迭代过程,包括:获得交换所述权重张量中对应重排维度中两个指标之后的最大交换收益函数的降低值;以及,每次寻找使得所述目标函数降低最多的交换指标位置,直至所述最大交换收益函数的函数值小于预设阈值。
在一个示例中,在上述神经网络结构化剪枝装置400中,所述最佳排序张量确定单元430,进一步用于:
步骤1:初始化所述排序张量中所有的排序为单位排序;
步骤2:以所述预设结构化压缩算法对所述权重张量进行处理,以获得所述权重张量对应的掩模;
步骤3:按次序选择所述权重张量中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变,并重复步骤步骤4至步骤9以执行中间循环,以输出在固定掩模时与所述掩模对应的最适合排序张量;
步骤4:基于所述权重张量中权值的绝对值的平均值或权值的平方的平均值,对除需重排的维度之外的所述权重张量的其他维度进行缩并,以获得缩并矩阵S,其中,所述缩并矩阵S的大小是nD×nD,nD表示所述权重张量中需重排维度的大小;
步骤5:提取所述缩并矩阵的对角向量,并复制nD份所述对角向量,以获得一个大小为nD×nD的矩阵L;
步骤6:基于所述缩并矩阵S和所述矩阵L,获得交换收益矩阵;
步骤7:确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置;
步骤8:响应于最大交换收益大于0,基于所述交换指标位置交换所述权重张量中该需要重排的维度中相应位置的分片,且交换所述排序张量中对应排序中的对应位置项;
步骤9:重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益函数值小于所述预设阈值时所述排序张量中对应排序的最佳排序;
步骤10:重复步骤步骤2至步骤9以执行最外层循环,直至所述最大交换收益函数收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。
在一个示例中,在上述神经网络结构化剪枝装置400中,在执行最内层循环,以输出所述最大交换收益小于所述预设阈值时对应的所述排序张量的过程中,交换循环开始所得的缩并矩阵S中对应两行,以获得对应循环中的所述缩并矩阵。
在一个示例中,在上述神经网络结构化剪枝装置400中,在确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置的循环过程中,对比更新的所述交换收益矩阵中的值与上一轮保存的值,以确定更新之后的所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置。
在一个示例中,在上述神经网络结构化剪枝装置400中,所述待剪枝网络层为全连接层,所述全连接层的权重张量中需要重新排序的维度为输入维度和输出维度。
在上述神经网络结构化剪枝装置中,所述待剪枝网络层为卷积层,所述卷积层的权重张量中需要重新排序的维度为输入通道和输出通道。
这里,本领域技术人员可以理解,上述神经网络结构化剪枝装置400中的各个单元和模块的具体功能和操作已经在上面参考图1到图3描述的神经网络结构化剪枝方法中详细介绍,并因此,将省略其重复描述。
如上所述,根据本申请实施例的神经网络结构化剪枝装置可以实现在各种终端设备中,例如用于基于神经网络的图像识别的服务器。在一个示例中,根据本申请实施例的神经网络结构化剪枝装置可以作为一个软件模块和/或硬件模块而集成到所述终端设备中。例如,该神经网络结构化剪枝装置可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该神经网络结构化剪枝装置同样可以是该终端设备的众多硬件模块之一。
替换地,在另一示例中,该神经网络结构化剪枝装置与该终端设备也可以是分立的终端设备,并且该神经网络结构化剪枝装置可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。
示意性电子设备
下面,参考图5来描述根据本申请实施例的电子设备。
图5图示了根据本申请实施例的电子设备的框图。
如图5所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的神经网络结构化剪枝方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如权重张量、排序张量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括最佳排序张量等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示意性计算机程序产品
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的神经网络结构化剪枝方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“,还语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的神经网络结构化剪枝方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种神经网络结构化剪枝方法,其特征在于,包括:
以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;
以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;
确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;
以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;
以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;以及
基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
2.根据权利要求1所述的神经网络结构化剪枝方法,其中,确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,包括:
在最外层循环中通过最大期望算法获得所述最佳排序张量,其中,所述最大期望算法的每一次循环迭代过程,包括:
在固定掩模的前提下,通过中间循环的交替最小化算法中间循环的交替最小化算法和最内层循环的贪心算法获得与所述掩模对应的最适合排序张量;
以所述最适合排序张量对所述权重张量进行排序;以及
进入下一轮迭代循环直至收敛,以收敛时对应的最适合排序张量为所述最佳排序张量;
其中,所述中间循环的交替最小化算法的每一次循环迭代过程,包括:
按次序选择所述权重矩阵中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变;
以最内层的贪心算法确定所述排序张量中对应排序的最佳排序;以及
进入下一轮迭代循环直至所述权重张量中所有需要重排的维度优化结束,以获得所述最适合排序张量;
其中,所述最内层循环的贪心算法的每一次循环迭代过程,包括:
获得交换所述权重张量中对应重排维度中两个指标之后的最大交换收益函数的降低值;以及
每次寻找使得所述目标函数降低最多的交换指标位置,直至所述最大交换收益函数的函数值小于预设阈值。
3.根据权利要求2所述的神经网络结构化剪枝方法,其中,确定重排之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,包括:
步骤1:初始化所述排序张量中所有的排序为单位排序;
步骤2:以所述预设结构化压缩算法对所述权重张量进行处理,以获得所述权重张量对应的掩模;
步骤3:按次序选择所述权重张量中需要重排的维度,其中,当选择某一需要重排的维度时,其他需要重排的维度保持不变,并重复步骤步骤4至步骤9以执行中间循环,以输出在固定掩模时与所述掩模对应的最适合排序张量;
步骤4:基于所述权重张量中权值的绝对值的平均值或权值的平方的平均值,对除需重排的维度之外的所述权重张量的其他维度进行缩并,以获得缩并矩阵S,其中,所述缩并矩阵S的大小是nD×nD,nD表示所述权重张量中需重排维度的大小;
步骤5:提取所述缩并矩阵的对角向量,并复制nD份所述对角向量,以获得一个大小为nD×nD的矩阵L;
步骤6:基于所述缩并矩阵S和所述矩阵L,获得交换收益矩阵;
步骤7:确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置;
步骤8:响应于最大交换收益大于0,基于所述交换指标位置交换所述权重张量中该需要重排的维度中相应位置的分片,且交换所述排序张量中对应排序中的对应位置项;
步骤9:重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益函数值小于所述预设阈值时所述排序张量中对应排序的最佳排序;
步骤10:重复步骤步骤2至步骤9以执行最外层循环,直至所述最大交换收益函数收敛,以收敛时对应的最适合排序张量为所述最佳排序张量。
4.根据权利要求3所述的神经网络结构化剪枝方法,其中,在重复步骤步骤4至步骤8以执行最内层循环,以输出所述最大交换收益小于所述预设阈值时对应的所述排序张量的过程中,交换循环开始所得的缩并矩阵S中对应两行,以获得对应循环中的所述缩并矩阵。
5.根据权利要求4所述的神经网络结构化剪枝方法,其中,在确定所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置的循环过程中,对比更新的所述交换收益矩阵中的值与上一轮保存的值,以确定更新之后的所述交换收益矩阵中的最大交换收益以及最大交换收益对应的交换指标位置。
6.根据权利要求1至5任一所述的神经网络结构化剪枝方法,其中,所述待剪枝网络层为全连接层,所述全连接层的权重张量中需要重新排序的维度为输入维度和输出维度。
7.根据权利要求1至5任一所述的神经网络剪枝方法,其中,所述待剪枝网络层为卷积层,所述卷积层的权重张量中需要重新排序的维度为输入通道和输出通道。
8.一种神经网络结构化剪枝装置,其特征在于,包括:
排序单元,以排序张量对待剪枝网络层的权重张量中对应需要排序的维度进行排序;
掩模获取单元,以预设结构化压缩算法对排序之后的所述权重张量进行处理,以获得排序之后的所述权重张量对应的掩模,其中,所述掩模用于确定对应权重张量中被裁去的权值;
最佳排序张量确定单元,用于确定排序之后的所述权重张量中被裁去权值量最小者对应的排序张量为最佳排序张量,其中,排序之后的所述权重矩阵中被裁去的权值量基于被裁去权值的绝对值的平均值表示或基于被裁去的权值的平方的平均值表示;
所述排序单元,还用于以所述最佳排序张量对所述权重张量中对应需要排序的维度进行排序;
所述掩模获取单元,还用于以所述预设结构化压缩算法对经过最佳排序张量排序之后的所述权重张量进行处理,以获得对应的掩模;以及
剪枝单元,用于基于所述掩模,对经过所述最佳排序张量排序之后的所述权重张量进行剪枝。
9.一种电子设备,包括:
处理器;以及
存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-7中任一项所述的神经网络结构化剪枝方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如权利要求1-7中任一项所述的神经网络结构化剪枝方法。
CN201910148224.XA 2019-02-28 2019-02-28 神经网络结构化剪枝方法、剪枝装置和电子设备 Pending CN109948794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910148224.XA CN109948794A (zh) 2019-02-28 2019-02-28 神经网络结构化剪枝方法、剪枝装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910148224.XA CN109948794A (zh) 2019-02-28 2019-02-28 神经网络结构化剪枝方法、剪枝装置和电子设备

Publications (1)

Publication Number Publication Date
CN109948794A true CN109948794A (zh) 2019-06-28

Family

ID=67008116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910148224.XA Pending CN109948794A (zh) 2019-02-28 2019-02-28 神经网络结构化剪枝方法、剪枝装置和电子设备

Country Status (1)

Country Link
CN (1) CN109948794A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309837A (zh) * 2019-07-05 2019-10-08 北京迈格威科技有限公司 基于卷积神经网络特征图的数据处理方法及图像处理方法
CN110598731A (zh) * 2019-07-31 2019-12-20 浙江大学 一种基于结构化剪枝的高效图像分类方法
CN110689116A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 一种神经网络剪枝方法、装置、计算机设备及存储介质
CN111461320A (zh) * 2019-01-22 2020-07-28 辉达公司 用于从经修剪的神经网络中去除掩膜的技术
CN111507473A (zh) * 2020-04-20 2020-08-07 上海交通大学 一种基于Crossbar架构的剪枝方法及系统
CN111709493A (zh) * 2020-07-10 2020-09-25 腾讯科技(深圳)有限公司 对象分类方法、训练方法、装置、设备及存储介质
CN112669861A (zh) * 2020-12-09 2021-04-16 北京百度网讯科技有限公司 音频数据处理方法、装置、设备和存储介质
CN113112012A (zh) * 2020-01-10 2021-07-13 腾讯美国有限责任公司 用于压缩神经网络模型的方法、装置和计算机设备
CN113159312A (zh) * 2020-01-23 2021-07-23 腾讯美国有限责任公司 压缩神经网络模型的方法、计算机系统以及存储介质
CN113365072A (zh) * 2020-03-06 2021-09-07 腾讯美国有限责任公司 特征图压缩方法、装置以及存储介质
CN113392953A (zh) * 2020-03-12 2021-09-14 澜起科技股份有限公司 用于对神经网络中卷积层进行剪枝的方法和装置
WO2022056656A1 (en) * 2020-09-15 2022-03-24 Qualcomm Incorporated Weights layout transformation assisted nested loops optimization for ai inference
WO2022095984A1 (en) * 2020-11-06 2022-05-12 Moffett Technologies Co., Limited Method and system for convolution with workload-balanced activation sparsity
WO2023116155A1 (zh) * 2021-12-23 2023-06-29 大唐移动通信设备有限公司 神经网络操作方法、装置及存储介质
US11935271B2 (en) 2020-01-10 2024-03-19 Tencent America LLC Neural network model compression with selective structured weight unification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YU JI ET AL: "《TETRIS:TilE-matching the Tremendous Irregular Sparsity》", 《NEURIPS 2018》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461320A (zh) * 2019-01-22 2020-07-28 辉达公司 用于从经修剪的神经网络中去除掩膜的技术
CN110309837A (zh) * 2019-07-05 2019-10-08 北京迈格威科技有限公司 基于卷积神经网络特征图的数据处理方法及图像处理方法
CN110598731A (zh) * 2019-07-31 2019-12-20 浙江大学 一种基于结构化剪枝的高效图像分类方法
CN110598731B (zh) * 2019-07-31 2021-08-20 浙江大学 一种基于结构化剪枝的高效图像分类方法
CN110689116A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 一种神经网络剪枝方法、装置、计算机设备及存储介质
CN110689116B (zh) * 2019-09-24 2022-12-27 安徽寒武纪信息科技有限公司 一种神经网络剪枝方法、装置、计算机设备及存储介质
US11935271B2 (en) 2020-01-10 2024-03-19 Tencent America LLC Neural network model compression with selective structured weight unification
CN113112012A (zh) * 2020-01-10 2021-07-13 腾讯美国有限责任公司 用于压缩神经网络模型的方法、装置和计算机设备
CN113159312B (zh) * 2020-01-23 2023-08-18 腾讯美国有限责任公司 压缩神经网络模型的方法、计算机系统以及存储介质
CN113159312A (zh) * 2020-01-23 2021-07-23 腾讯美国有限责任公司 压缩神经网络模型的方法、计算机系统以及存储介质
CN113365072A (zh) * 2020-03-06 2021-09-07 腾讯美国有限责任公司 特征图压缩方法、装置以及存储介质
CN113365072B (zh) * 2020-03-06 2022-07-01 腾讯美国有限责任公司 特征图压缩方法、装置、计算设备以及存储介质
CN113392953A (zh) * 2020-03-12 2021-09-14 澜起科技股份有限公司 用于对神经网络中卷积层进行剪枝的方法和装置
CN111507473B (zh) * 2020-04-20 2023-05-12 上海交通大学 一种基于Crossbar架构的剪枝方法及系统
CN111507473A (zh) * 2020-04-20 2020-08-07 上海交通大学 一种基于Crossbar架构的剪枝方法及系统
CN111709493A (zh) * 2020-07-10 2020-09-25 腾讯科技(深圳)有限公司 对象分类方法、训练方法、装置、设备及存储介质
CN111709493B (zh) * 2020-07-10 2024-02-23 腾讯科技(深圳)有限公司 对象分类方法、训练方法、装置、设备及存储介质
WO2022056656A1 (en) * 2020-09-15 2022-03-24 Qualcomm Incorporated Weights layout transformation assisted nested loops optimization for ai inference
CN116324742A (zh) * 2020-09-15 2023-06-23 高通股份有限公司 针对ai推断的权重布局变换辅助式嵌套循环优化
WO2022095984A1 (en) * 2020-11-06 2022-05-12 Moffett Technologies Co., Limited Method and system for convolution with workload-balanced activation sparsity
CN112669861A (zh) * 2020-12-09 2021-04-16 北京百度网讯科技有限公司 音频数据处理方法、装置、设备和存储介质
CN112669861B (zh) * 2020-12-09 2023-04-07 北京百度网讯科技有限公司 音频数据处理方法、装置、设备和存储介质
WO2023116155A1 (zh) * 2021-12-23 2023-06-29 大唐移动通信设备有限公司 神经网络操作方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN109948794A (zh) 神经网络结构化剪枝方法、剪枝装置和电子设备
CN109902767B (zh) 模型训练方法、图像处理方法及装置、设备和介质
CN105138993B (zh) 建立人脸识别模型的方法及装置
Jiang et al. Blind image quality measurement by exploiting high-order statistics with deep dictionary encoding network
CN112446888B (zh) 图像分割模型的处理方法和处理装置
CN107609506A (zh) 用于生成图像的方法和装置
CN107958247A (zh) 用于人脸图像识别的方法和装置
CN109284761A (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN109840585A (zh) 一种面向稀疏二维卷积的运算方法和系统
CN112036555A (zh) 目标检测框架的优化方法及装置、存储介质、电子设备
WO2024179485A1 (zh) 一种图像处理方法及其相关设备
WO2024175014A1 (zh) 一种图像处理方法及其相关设备
CN111783830A (zh) 基于oct的视网膜分类方法、装置、计算机设备及存储介质
CN114898171A (zh) 一种适用于嵌入式平台的实时目标检测方法
CN117373064A (zh) 基于自适应跨维度加权的人体姿态估计方法、计算机设备及存储介质
CN113298931A (zh) 一种物体模型的重建方法、装置、终端设备和存储介质
CN117541683A (zh) 图像生成方法、装置、设备及计算机可读存储介质
CN113762019A (zh) 特征提取网络的训练方法、人脸识别方法和装置
CN112561038A (zh) 一种批数据集构建方法、装置、电子设备及存储介质
CN117036006A (zh) 用户画像的生成方法及装置、存储介质、电子设备
CN117056589A (zh) 一种物品推荐方法及其相关设备
CN113869398B (zh) 一种不平衡文本分类方法、装置、设备及存储介质
CN117746047A (zh) 一种图像处理方法及其相关设备
CN110457703B (zh) 一种基于改进卷积神经网络的文本分类方法、装置和设备
CN114357219A (zh) 一种面向移动端实例级图像检索方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190628

WD01 Invention patent application deemed withdrawn after publication