{"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/strassennets-deep-learning-with-a","title":"StrassenNets: Deep Learning with a Multiplication Budget","arxiv_id":"1712.03942","date":"2017-12-11","proceeding":"ICML 2018 7","authors":["Michael Tschannen","Aran Khanna","Anima Anandkumar"],"abstract":"A large fraction of the arithmetic operations required to evaluate deep\nneural networks (DNNs) consists of matrix multiplications, in both convolution\nand fully connected layers. We perform end-to-end learning of low-cost\napproximations of matrix multiplications in DNN layers by casting matrix\nmultiplications as 2-layer sum-product networks (SPNs) (arithmetic circuits)\nand learning their (ternary) edge weights from data. The SPNs disentangle\nmultiplication and addition operations and enable us to impose a budget on the\nnumber of multiplication operations. Combining our method with knowledge\ndistillation and applying it to image classification DNNs (trained on ImageNet)\nand language modeling DNNs (using LSTMs), we obtain a first-of-a-kind reduction\nin number of multiplications (over 99.5%) while maintaining the predictive\nperformance of the full-precision models. Finally, we demonstrate that the\nproposed framework is able to rediscover Strassen's matrix multiplication\nalgorithm, learning to multiply $2 \\times 2$ matrices using only 7\nmultiplications instead of 8.","url_abs":"http://arxiv.org/abs/1712.03942v3","url_pdf":"http://arxiv.org/pdf/1712.03942v3.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":"strassennets-deep-learning-with-a","repo_url":"https://github.com/mitscha/strassennets","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"mxnet","reach":null}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"model-compression","task_name":"Model Compression"},{"task_slug":"neural-network-compression","task_name":"Neural Network Compression"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}