{"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/input-convex-neural-networks","title":"Input Convex Neural Networks","arxiv_id":"1609.07152","date":"2016-09-22","proceeding":"ICML 2017 8","authors":["Brandon Amos","Lei Xu","J. Zico Kolter"],"abstract":"This paper presents the input convex neural network architecture. These are\nscalar-valued (potentially deep) neural networks with constraints on the\nnetwork parameters such that the output of the network is a convex function of\n(some of) the inputs. The networks allow for efficient inference via\noptimization over some inputs to the network given others, and can be applied\nto settings including structured prediction, data imputation, reinforcement\nlearning, and others. In this paper we lay the basic groundwork for these\nmodels, proposing methods for inference, optimization and learning, and analyze\ntheir representational power. We show that many existing neural network\narchitectures can be made input-convex with a minor modification, and develop\nspecialized optimization algorithms tailored to this setting. Finally, we\nhighlight the performance of the methods on multi-label prediction, image\ncompletion, and reinforcement learning problems, where we show improvement over\nthe existing state of the art in many cases.","url_abs":"http://arxiv.org/abs/1609.07152v3","url_pdf":"http://arxiv.org/pdf/1609.07152v3.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":"input-convex-neural-networks","repo_url":"https://github.com/locuslab/icnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"input-convex-neural-networks","repo_url":"https://github.com/LuK2019/ICNN_BA","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"input-convex-neural-networks","repo_url":"https://github.com/lit-leo/inner-convex-nn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"imputation","task_name":"Imputation"},{"task_slug":"inference-optimization","task_name":"Inference Optimization"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"structured-prediction","task_name":"Structured Prediction"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1609.07152","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1609.07152"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/locuslab/icnn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/LuK2019/ICNN_BA","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lit-leo/inner-convex-nn","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":2,"ran_fixture":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ac6dce8e8e7b90a5","entry":"crossEntr","repo":"locuslab/icnn","repo_kind":"official","path":"multi-label-cls/icnn_ebundle.py","file_url":"https://github.com/locuslab/icnn/blob/HEAD/multi-label-cls/icnn_ebundle.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ac6dce8e8e7b90a5"}},{"code_sha256_prefix":"f603166e7680c83a","entry":"crossEntrGrad","repo":"locuslab/icnn","repo_kind":"official","path":"multi-label-cls/icnn_ebundle.py","file_url":"https://github.com/locuslab/icnn/blob/HEAD/multi-label-cls/icnn_ebundle.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f603166e7680c83a"}},{"code_sha256_prefix":"49b3c2389c985e00","entry":"mse","repo":"locuslab/icnn","repo_kind":"official","path":"completion/icnn_ebundle.py","file_url":"https://github.com/locuslab/icnn/blob/HEAD/completion/icnn_ebundle.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"49b3c2389c985e00"}},{"code_sha256_prefix":"5a7cba2ff0016efc","entry":"mseGrad_full","repo":"locuslab/icnn","repo_kind":"official","path":"completion/icnn_ebundle.py","file_url":"https://github.com/locuslab/icnn/blob/HEAD/completion/icnn_ebundle.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5a7cba2ff0016efc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}