{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/dsd-dense-sparse-dense-training-for-deep","title":"DSD: Dense-Sparse-Dense Training for Deep Neural Networks","arxiv_id":"1607.04381","date":"2016-07-15","proceeding":null,"authors":["Song Han","Jeff Pool","Sharan Narang","Huizi Mao","Enhao Gong","Shijian Tang","Erich Elsen","Peter Vajda","Manohar Paluri","John Tran","Bryan Catanzaro","William J. Dally"],"abstract":"Modern deep neural networks have a large number of parameters, making them\nvery hard to train. We propose DSD, a dense-sparse-dense training flow, for\nregularizing deep neural networks and achieving better optimization\nperformance. In the first D (Dense) step, we train a dense network to learn\nconnection weights and importance. In the S (Sparse) step, we regularize the\nnetwork by pruning the unimportant connections with small weights and\nretraining the network given the sparsity constraint. In the final D (re-Dense)\nstep, we increase the model capacity by removing the sparsity constraint,\nre-initialize the pruned parameters from zero and retrain the whole dense\nnetwork. Experiments show that DSD training can improve the performance for a\nwide range of CNNs, RNNs and LSTMs on the tasks of image classification,\ncaption generation and speech recognition. On ImageNet, DSD improved the Top1\naccuracy of GoogLeNet by 1.1%, VGG-16 by 4.3%, ResNet-18 by 1.2% and ResNet-50\nby 1.1%, respectively. On the WSJ'93 dataset, DSD improved DeepSpeech and\nDeepSpeech2 WER by 2.0% and 1.1%. On the Flickr-8K dataset, DSD improved the\nNeuralTalk BLEU score by over 1.7. DSD is easy to use in practice: at training\ntime, DSD incurs only one extra hyper-parameter: the sparsity ratio in the S\nstep. At testing time, DSD doesn't change the network architecture or incur any\ninference overhead. The consistent and significant performance gain of DSD\nexperiments shows the inadequacy of the current training methods for finding\nthe best local optimum, while DSD effectively achieves superior optimization\nperformance for finding a better solution. DSD models are available to download\nat https://songhan.github.io/DSD.","url_abs":"http://arxiv.org/abs/1607.04381v2","url_pdf":"http://arxiv.org/pdf/1607.04381v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"dsd-dense-sparse-dense-training-for-deep","repo_url":"https://github.com/3outeille/DSD-TF2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"dsd-dense-sparse-dense-training-for-deep","repo_url":"https://github.com/3outeille/DSD-training","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":null,"task_name":"8k"},{"task_slug":"caption-generation","task_name":"Caption Generation"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"speech-recognition","task_name":"Speech Recognition"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"auxiliary-classifier","method_name":"Auxiliary Classifier"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":null,"method_name":null},{"method_slug":"googlenet","method_name":"GoogLeNet"},{"method_slug":"inception-module","method_name":"Inception Module"},{"method_slug":"local-response-normalization","method_name":"Local Response Normalization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1607.04381","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}