{"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/porcupine-neural-networks-almost-all-local","title":"Porcupine Neural Networks: (Almost) All Local Optima are Global","arxiv_id":"1710.02196","date":"2017-10-05","proceeding":null,"authors":["Soheil Feizi","Hamid Javadi","Jesse Zhang","David Tse"],"abstract":"Neural networks have been used prominently in several machine learning and\nstatistics applications. In general, the underlying optimization of neural\nnetworks is non-convex which makes their performance analysis challenging. In\nthis paper, we take a novel approach to this problem by asking whether one can\nconstrain neural network weights to make its optimization landscape have good\ntheoretical properties while at the same time, be a good approximation for the\nunconstrained one. For two-layer neural networks, we provide affirmative\nanswers to these questions by introducing Porcupine Neural Networks (PNNs)\nwhose weight vectors are constrained to lie over a finite set of lines. We show\nthat most local optima of PNN optimizations are global while we have a\ncharacterization of regions where bad local optimizers may exist. Moreover, our\ntheoretical and empirical results suggest that an unconstrained neural network\ncan be approximated using a polynomially-large PNN.","url_abs":"http://arxiv.org/abs/1710.02196v1","url_pdf":"http://arxiv.org/pdf/1710.02196v1.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":"porcupine-neural-networks-almost-all-local","repo_url":"https://github.com/jessemzhang/porcupine_neural_networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"all","task_name":"All"}],"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}