Show simple item record

dc.contributor.authorCarbin, Michael James
dc.date.accessioned2021-03-02T16:06:43Z
dc.date.available2021-03-02T16:06:43Z
dc.date.issued2019-05
dc.identifier.isbn9783959771139
dc.identifier.issn1868-8969
dc.identifier.urihttps://hdl.handle.net/1721.1/130046
dc.description.abstractA new ecosystem of machine-learning driven applications, titled Software 2.0, has arisen that integrates neural networks into a variety of computational tasks. Such applications include image recognition, natural language processing, and other traditional machine learning tasks. However, these techniques have also grown to include other structured domains, such as program analysis and program optimization for which novel, domain-specific insights mate with model design. In this paper, we connect the world of Software 2.0 with that of traditional software – Software 1.0 –through overparameterization: a program may provide more computational capacity and precision than is necessary for the task at hand. In Software 2.0, overparamterization – when a machine learning model has more parameters than datapoints in the dataset – arises as a contemporary understanding of the ability for modern, gradient-based learning methods to learn models over complex datasets with high-accuracy. Specifically, the more parameters a model has, the better it learns. In Software 1.0, the results of the approximate computing community show that traditional software is also overparameterized in that software often simply computes results that are more precise than is required by the user. Approximate computing exploits this overparameterization to improve performance by eliminating unnecessary, excess computation. For example, one – of many techniques – is to reduce the precision of arithmetic in the application. In this paper, we argue that the gap between available precision and that that is required for either Software 1.0 or Software 2.0 is a fundamental aspect of software design that illustrates the balance between software designed for general-purposes and domain-adapted solutions. A general-purpose solution is easier to develop and maintain versus a domain-adapted solution. However, that ease comes at the expense of performance. We show that the approximate computing community and the machine learning community have developed overlapping techniques to improve performance by reducing overparameterization. We also show that because of these shared techniques, questions, concerns, and answers on how to construct software can translate from one software variant to the other.en_US
dc.description.sponsorshipUnited States. Office of Naval Research (Grant ONR N00014-17-1-2699)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (Grant NSF CCF-1751011)en_US
dc.language.isoen
dc.publisherSchloss Dagstuhl, Leibniz Center for Informaticsen_US
dc.relation.isversionof10.4230/LIPIcs.SNAPL.2019.1en_US
dc.rightsCreative Commons Attribution 4.0 International licenseen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceDROPSen_US
dc.titleOverparameterization: A connection between software 1.0 and software 2.0en_US
dc.typeArticleen_US
dc.identifier.citationCarbin, Michael. “Overparameterization: A connection between software 1.0 and software 2.0.” Paper in Leibniz International Proceedings in Informatics, LIPIcs, 136, 3rd Summit on Advances in Programming Languages (SNAPL 2019), Providence, RI, May 16-17, 2019, Schloss Dagstuhl, Leibniz Center for Informatics: 1-13 © 2019 The Authoren_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.relation.journalLeibniz International Proceedings in Informatics, LIPIcsen_US
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2020-12-04T16:58:25Z
dspace.orderedauthorsCarbin, Men_US
dspace.date.submission2020-12-04T16:58:27Z
mit.journal.volume136en_US
mit.licensePUBLISHER_CC
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record