[论文解读] Spatial-Winograd Pruning Enabling Sparse Winograd Convolution
本文提出空间-Winograd剪枝(spatial-Winograd pruning),一种两阶段方法:首先在空间域应用结构化剪枝以在Winograd变换后保留稀疏性,然后在Winograd域中直接进行剪枝与微调,利用重要性因子矩阵加速收敛。该方法在CIFAR-10、CIFAR-100和ImageNet上分别实现了63%、50%和74%的Winograd域稀疏性,且精度损失极小。
Deep convolutional neural networks (CNNs) are deployed in various applications but demand immense computational requirements. Pruning techniques and Winograd convolution are two typical methods to reduce the CNN computation. However, they cannot be directly combined because Winograd transformation fills in the sparsity resulting from pruning. Li et al. (2017) propose sparse Winograd convolution in which weights are directly pruned in the Winograd domain, but this technique is not very practical because Winograd-domain retraining requires low learning rates and hence significantly longer training time. Besides, Liu et al. (2018) move the ReLU function into the Winograd domain, which can help increase the weight sparsity but requires changes in the network structure. To achieve a high Winograd-domain weight sparsity without changing network structures, we propose a new pruning method, spatial-Winograd pruning. As the first step, spatial-domain weights are pruned in a structured way, which efficiently transfers the spatial-domain sparsity into the Winograd domain and avoids Winograd-domain retraining. For the next step, we also perform pruning and retraining directly in the Winograd domain but propose to use an importance factor matrix to adjust weight importance and weight gradients. This adjustment makes it possible to effectively retrain the pruned Winograd-domain network without changing the network structure. For the three models on the datasets of CIFAR10, CIFAR-100, and ImageNet, our proposed method can achieve the Winograd domain sparsities of 63%, 50%, and 74%, respectively.
研究动机与目标
- 解决剪枝引起的稀疏性与Winograd卷积之间的不兼容性,后者通常在变换过程中破坏稀疏性。
- 在不修改网络结构或导致训练速度过慢的前提下,实现Winograd域内的高稀疏性。
- 通过结构化剪枝在空间域保留稀疏性,同时支持有效的Winograd域微调。
- 通过引入基于重要性因子矩阵的梯度调节,减少Winograd域微调中对极低初始学习率的依赖。
提出的方法
- 空间结构化剪枝在空间域应用结构化权重剪枝,旨在最大化稀疏性向Winograd域的转移。
- 该方法使用预定义的变换矩阵G和B,将空间域权重转换至Winograd域,同时保持结构化稀疏性。
- Winograd直接剪枝在Winograd域中直接执行剪枝与微调,保持原始网络架构不变。
- 引入重要性因子矩阵F,根据其对输出激活的影响程度调节Winograd域权重的梯度大小。
- 重要性因子矩阵通过输出激活对权重变化的敏感性计算,实现更高效、更快速的微调。
- 该方法包含两个阶段:(1) 空间结构化剪枝,以避免在Winograd域中初始进行微调;(2) 带梯度调节的Winograd直接剪枝,以进一步提升稀疏性。
实验结果
研究问题
- RQ1在无需在Winograd域进行微调的前提下,空间域的结构化剪枝能否有效将稀疏性传递至Winograd域?
- RQ2在Winograd域中直接剪枝与微调能否在保持模型精度的同时实现高稀疏性?
- RQ3重要性因子矩阵能否在不改变网络结构的前提下提升Winograd域微调的收敛速度与有效性?
- RQ4与先前方法(如稀疏Winograd卷积和Winograd-ReLU剪枝)相比,该方法在稀疏性与精度方面表现如何?
主要发现
- 所提出的spatial-Winograd剪枝在CIFAR-10上实现了63%的Winograd域稀疏性,精度损失仅为0.1% top-1准确率。
- 在CIFAR-100上,该方法达到50%的Winograd域稀疏性,同时保持接近原始精度。
- 在ImageNet上,该方法实现74%的Winograd域稀疏性,优于先前方法,且top-1精度损失小于0.1%。
- 使用重要性因子矩阵后,当剪枝至76%稀疏性时,精度损失从22%降至10%,证明其在保持模型性能方面的有效性。
- 在10轮Winograd微调中,重要性因子矩阵将精度损失降至0.2%,而无梯度调节时为0.7%。
- 该方法避免了Winograd域微调中对极低学习率的依赖,收敛速度优于先前方法。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。