{"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/expressive-architectures-enhance","title":"Expressive architectures enhance interpretability of dynamics-based neural population models","arxiv_id":"2212.03771","date":"2022-12-07","proceeding":null,"authors":["Andrew R. Sedler","Christopher Versteeg","Chethan Pandarinath"],"abstract":"Artificial neural networks that can recover latent dynamics from recorded neural activity may provide a powerful avenue for identifying and interpreting the dynamical motifs underlying biological computation. Given that neural variance alone does not uniquely determine a latent dynamical system, interpretable architectures should prioritize accurate and low-dimensional latent dynamics. In this work, we evaluated the performance of sequential autoencoders (SAEs) in recovering latent chaotic attractors from simulated neural datasets. We found that SAEs with widely-used recurrent neural network (RNN)-based dynamics were unable to infer accurate firing rates at the true latent state dimensionality, and that larger RNNs relied upon dynamical features not present in the data. On the other hand, SAEs with neural ordinary differential equation (NODE)-based dynamics inferred accurate rates at the true latent state dimensionality, while also recovering latent trajectories and fixed point structure. Ablations reveal that this is mainly because NODEs (1) allow use of higher-capacity multi-layer perceptrons (MLPs) to model the vector field and (2) predict the derivative rather than the next state. Decoupling the capacity of the dynamics model from its latent dimensionality enables NODEs to learn the requisite low-D dynamics where RNN cells fail. Additionally, the fact that the NODE predicts derivatives imposes a useful autoregressive prior on the latent states. The suboptimal interpretability of widely-used RNN-based dynamics may motivate substitution for alternative architectures, such as NODE, that enable learning of accurate dynamics in low-dimensional latent spaces.","url_abs":"https://arxiv.org/abs/2212.03771v4","url_pdf":"https://arxiv.org/pdf/2212.03771v4.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":"expressive-architectures-enhance","repo_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[{"method_slug":"node","method_name":"NODE"},{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2212.03771","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.03771"}},"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/snel-repo/expressive-latent-dynamics-paper","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"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":"b12edf20f511f76a","entry":"find_fixed_points","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/fixedpoints.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/fixedpoints.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b12edf20f511f76a"}},{"code_sha256_prefix":"50f9661f1274f758","entry":"flatten","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/utils.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"50f9661f1274f758"}},{"code_sha256_prefix":"879de007fd614c22","entry":"get_sys_fps","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/fixedpoints.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/fixedpoints.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"879de007fd614c22"}},{"code_sha256_prefix":"df9f400e259f725e","entry":"has_image_loggers","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/callbacks.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/callbacks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"df9f400e259f725e"}},{"code_sha256_prefix":"c71322c7a67019c6","entry":"linear_regression","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/metrics.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c71322c7a67019c6"}},{"code_sha256_prefix":"93a4ed3809fa0894","entry":"r2_score","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/metrics.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"93a4ed3809fa0894"}},{"code_sha256_prefix":"dc9659beeedb385b","entry":"regression_r2_score","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/metrics.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dc9659beeedb385b"}},{"code_sha256_prefix":"99ba6555f6cb1bc6","entry":"to_tensor","repo":"snel-repo/expressive-latent-dynamics-paper","repo_kind":"official","path":"paper_src/data.py","file_url":"https://github.com/snel-repo/expressive-latent-dynamics-paper/blob/HEAD/paper_src/data.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"99ba6555f6cb1bc6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}