[论文解读] DSD: Dense-Sparse-Dense Training for Deep Neural Networks
DSD 训练在密集、稀疏和再密集阶段交替,以规范化网络并实现更好的优化,在 CNN、RNN 和 LSTM 上提升准确率、WER、BLEU,且不增加推理开销。
Modern deep neural networks have a large number of parameters, making them very hard to train. We propose DSD, a dense-sparse-dense training flow, for regularizing deep neural networks and achieving better optimization performance. In the first D (Dense) step, we train a dense network to learn connection weights and importance. In the S (Sparse) step, we regularize the network by pruning the unimportant connections with small weights and retraining the network given the sparsity constraint. In the final D (re-Dense) step, we increase the model capacity by removing the sparsity constraint, re-initialize the pruned parameters from zero and retrain the whole dense network. Experiments show that DSD training can improve the performance for a wide range of CNNs, RNNs and LSTMs on the tasks of image classification, caption generation and speech recognition. On ImageNet, DSD improved the Top1 accuracy of GoogLeNet by 1.1%, VGG-16 by 4.3%, ResNet-18 by 1.2% and ResNet-50 by 1.1%, respectively. On the WSJ'93 dataset, DSD improved DeepSpeech and DeepSpeech2 WER by 2.0% and 1.1%. On the Flickr-8K dataset, DSD improved the NeuralTalk BLEU score by over 1.7. DSD is easy to use in practice: at training time, DSD incurs only one extra hyper-parameter: the sparsity ratio in the S step. At testing time, DSD doesn't change the network architecture or incur any inference overhead. The consistent and significant performance gain of DSD experiments shows the inadequacy of the current training methods for finding the best local optimum, while DSD effectively achieves superior optimization performance for finding a better solution. DSD models are available to download at https://songhan.github.io/DSD.
研究动机与目标
- 阐述在大型深度网络中需要更好优化的动机,以避免过拟合和局部极小值。
- 引入一个三阶段训练流程(密集 → 稀疏 → 再密集)以实现正则化并提升容量。
- 在多种任务上展示对 CNN、RNN 和 LSTM 的一致准确性和性能提升。
提出的方法
- 在第一阶段 Dense 中训练一个密集网络以学习权重并识别重要连接。
- 在 Sparse 阶段剪枝低幅度权重以引入稀疏性,并在固定的稀疏掩码下重新训练。
- 在最后的 Dense 阶段恢复被剪枝的连接,将它们重新初始化为零,并对整个密集网络进行再训练。
- 对 S 阶段使用单一超参数(稀疏比),并保持其他超参数不变。
- 证明最终的密集网络在架构和推理成本上保持与原始模型相同。
- 可选地对 Dense-Sparse-Dense 循环进行迭代以获得额外收益。
实验结果
研究问题
- RQ1在训练过程中引入稀疏约束相(S)是否能超越标准密集训练,在优化和泛化方面带来改善?
- RQ2在剪枝后再稠密(D 阶段)是否能增加模型容量并在不增加推理成本的情况下达到更好的极小值?
- RQ3DSD 方法是否在多种架构(CNN、RNN、LSTM)和任务(图像分类、字幕生成、语音识别)中有效?
主要发现
- DSD 提高 ImageNet 模型的 Top-1 错误率:GoogLeNet 降低 1.1%,VGG-16 降低 4.3%,ResNet-18 降低 1.2%,ResNet-50 降低 1.1%。
- DSD 将 NeuralTalk 的 BLEU 分数在 Flickr-8K 上提升超过 1.7。
- DSD 在 WSJ’93 上使 DeepSpeech 和 DeepSpeech2 的 WER 分别降低 2.0% 和 1.1%。
- 在所有实验中,DSD 相对于常规训练在推理开销不增加的情况下带来稳定的性能提升。
- DSD 使 S 步骤实现 25–50% 的稀疏度,在实际应用中实现温和的剪枝同时提升准确性。
- DSD 的结果在 CNN、RNN、LSTM 以及图像分类、字幕生成和语音识别等任务中均具有鲁棒性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。