{"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/the-least-control-principle-for-learning-at","title":"The least-control principle for local learning at equilibrium","arxiv_id":"2207.01332","date":"2022-07-04","proceeding":null,"authors":["Alexander Meulemans","Nicolas Zucchet","Seijin Kobayashi","Johannes von Oswald","João Sacramento"],"abstract":"Equilibrium systems are a powerful way to express neural computations. As special cases, they include models of great current interest in both neuroscience and machine learning, such as deep neural networks, equilibrium recurrent neural networks, deep equilibrium models, or meta-learning. Here, we present a new principle for learning such systems with a temporally- and spatially-local rule. Our principle casts learning as a least-control problem, where we first introduce an optimal controller to lead the system towards a solution state, and then define learning as reducing the amount of control needed to reach such a state. We show that incorporating learning signals within a dynamics as an optimal control enables transmitting activity-dependent credit assignment information, avoids storing intermediate states in memory, and does not rely on infinitesimal learning signals. In practice, our principle leads to strong performance matching that of leading gradient-based learning methods when applied to an array of problems involving recurrent neural networks and meta-learning. Our results shed light on how the brain might learn and offer new ways of approaching a broad class of machine learning problems.","url_abs":"https://arxiv.org/abs/2207.01332v2","url_pdf":"https://arxiv.org/pdf/2207.01332v2.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":"the-least-control-principle-for-learning-at","repo_url":"https://github.com/seijin-kobayashi/least-control","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"meta-learning","task_name":"Meta-Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2207.01332","atlas_url":"https://app.syntology.ai/?focus=2207.01332","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.01332"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/seijin-kobayashi/least-control","reach":null}],"summary":{"ran":3,"ran_draft_wrong":1},"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":4,"samples":[{"code_sha256_prefix":"a1cb0a9e2dbc3f82","entry":"FixpointTrainer","repo":"seijin-kobayashi/least-control","repo_kind":"official","path":"fixpoint_trainer.py","file_url":"https://github.com/seijin-kobayashi/least-control/blob/HEAD/fixpoint_trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a1cb0a9e2dbc3f82"}},{"code_sha256_prefix":"c8b710aa6c0d8ba5","entry":"LCPDynamicInversion","repo":"seijin-kobayashi/least-control","repo_kind":"official","path":"fixpoint_trainer.py","file_url":"https://github.com/seijin-kobayashi/least-control/blob/HEAD/fixpoint_trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c8b710aa6c0d8ba5"}},{"code_sha256_prefix":"a645f5fb82e4915f","entry":"LCPFixpointTrainer","repo":"seijin-kobayashi/least-control","repo_kind":"official","path":"fixpoint_trainer.py","file_url":"https://github.com/seijin-kobayashi/least-control/blob/HEAD/fixpoint_trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a645f5fb82e4915f"}},{"code_sha256_prefix":"90c08a3fb2301339","entry":"get_fp_solver","repo":"seijin-kobayashi/least-control","repo_kind":"official","path":"fixpoint_solver.py","file_url":"https://github.com/seijin-kobayashi/least-control/blob/HEAD/fixpoint_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"90c08a3fb2301339"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}