{"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/synaptic-weight-distributions-depend-on-the","title":"Synaptic Weight Distributions Depend on the Geometry of Plasticity","arxiv_id":"2305.19394","date":"2023-05-30","proceeding":null,"authors":["Roman Pogodin","Jonathan Cornford","Arna Ghosh","Gauthier Gidel","Guillaume Lajoie","Blake Richards"],"abstract":"A growing literature in computational neuroscience leverages gradient descent and learning algorithms that approximate it to study synaptic plasticity in the brain. However, the vast majority of this work ignores a critical underlying assumption: the choice of distance for synaptic changes - i.e. the geometry of synaptic plasticity. Gradient descent assumes that the distance is Euclidean, but many other distances are possible, and there is no reason that biology necessarily uses Euclidean geometry. Here, using the theoretical tools provided by mirror descent, we show that the distribution of synaptic weights will depend on the geometry of synaptic plasticity. We use these results to show that experimentally-observed log-normal weight distributions found in several brain areas are not consistent with standard gradient descent (i.e. a Euclidean geometry), but rather with non-Euclidean distances. Finally, we show that it should be possible to experimentally test for different synaptic geometries by comparing synaptic weight distributions before and after learning. Overall, our work shows that the current paradigm in theoretical work on synaptic plasticity that assumes Euclidean synaptic geometry may be misguided and that it should be possible to experimentally determine the true geometry of synaptic plasticity in the brain.","url_abs":"https://arxiv.org/abs/2305.19394v2","url_pdf":"https://arxiv.org/pdf/2305.19394v2.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":"synaptic-weight-distributions-depend-on-the","repo_url":"https://github.com/romanpogodin/synaptic-weight-distr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2305.19394","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.19394"}},"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":"deterministic:regex_extraction","url":"https://github.com/romanpogodin/synaptic-weight-distr","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":2,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":6,"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":"257ce0b1a219166c","entry":"compute_accuracy","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"finetuning.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/finetuning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"257ce0b1a219166c"}},{"code_sha256_prefix":"6ffc1695e25897a6","entry":"save_named_weights","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"finetuning.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/finetuning.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":"6ffc1695e25897a6"}},{"code_sha256_prefix":"3478fda1c24cc054","entry":"standard_normal_cdf","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"linear_regression.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/linear_regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3478fda1c24cc054"}},{"code_sha256_prefix":"617e0e99e16d5996","entry":"train_net","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"linear_regression.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/linear_regression.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"617e0e99e16d5996"}},{"code_sha256_prefix":"4244ff4cf4262798","entry":"finetuning_plots","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"plots.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/plots.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4244ff4cf4262798"}},{"code_sha256_prefix":"1a2652b108429ef9","entry":"finetuning_plots_rnn","repo":"romanpogodin/synaptic-weight-distr","repo_kind":"official","path":"plots.py","file_url":"https://github.com/romanpogodin/synaptic-weight-distr/blob/HEAD/plots.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a2652b108429ef9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}