{"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/improving-equilibrium-propagation-without","title":"Improving equilibrium propagation without weight symmetry through Jacobian homeostasis","arxiv_id":"2309.02214","date":"2023-09-05","proceeding":null,"authors":["Axel Laborieux","Friedemann Zenke"],"abstract":"Equilibrium propagation (EP) is a compelling alternative to the backpropagation of error algorithm (BP) for computing gradients of neural networks on biological or analog neuromorphic substrates. Still, the algorithm requires weight symmetry and infinitesimal equilibrium perturbations, i.e., nudges, to estimate unbiased gradients efficiently. Both requirements are challenging to implement in physical systems. Yet, whether and how weight asymmetry affects its applicability is unknown because, in practice, it may be masked by biases introduced through the finite nudge. To address this question, we study generalized EP, which can be formulated without weight symmetry, and analytically isolate the two sources of bias. For complex-differentiable non-symmetric networks, we show that the finite nudge does not pose a problem, as exact derivatives can still be estimated via a Cauchy integral. In contrast, weight asymmetry introduces bias resulting in low task performance due to poor alignment of EP's neuronal error vectors compared to BP. To mitigate this issue, we present a new homeostatic objective that directly penalizes functional asymmetries of the Jacobian at the network's fixed point. This homeostatic objective dramatically improves the network's ability to solve complex tasks such as ImageNet 32x32. Our results lay the theoretical groundwork for studying and mitigating the adverse effects of imperfections of physical networks on learning algorithms that rely on the substrate's relaxation dynamics.","url_abs":"https://arxiv.org/abs/2309.02214v2","url_pdf":"https://arxiv.org/pdf/2309.02214v2.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":"improving-equilibrium-propagation-without","repo_url":"https://github.com/laborieux-axel/generalized-holo-ep","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.02214","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.02214"}},"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/laborieux-axel/generalized-holo-ep","reach":null}],"summary":{"ran":1,"ran_draft_wrong":4,"ran_honours":3,"ran_violates":1},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"75a470062319fb19","entry":"DiscreteDynamics","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"75a470062319fb19"}},{"code_sha256_prefix":"1c738bde082266e6","entry":"batch_keys","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1c738bde082266e6"}},{"code_sha256_prefix":"a7671b5ae810b351","entry":"concat_flat_leaves","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a7671b5ae810b351"}},{"code_sha256_prefix":"0012fbb455bb7410","entry":"cosine_sim","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0012fbb455bb7410"}},{"code_sha256_prefix":"869ff5471fea207e","entry":"dict_cossim","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"869ff5471fea207e"}},{"code_sha256_prefix":"cfee412296f32ee3","entry":"dict_to_vec","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfee412296f32ee3"}},{"code_sha256_prefix":"8b3be56fc4b78258","entry":"to_complex","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b3be56fc4b78258"}},{"code_sha256_prefix":"ef96d94d8e1e7856","entry":"to_float16","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ef96d94d8e1e7856"}},{"code_sha256_prefix":"ac94c9ece60fabf4","entry":"to_float32","repo":"laborieux-axel/generalized-holo-ep","repo_kind":"official","path":"models/dyn.py","file_url":"https://github.com/laborieux-axel/generalized-holo-ep/blob/HEAD/models/dyn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac94c9ece60fabf4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}