{"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/large-scale-variational-gaussian-state-space","title":"eXponential FAmily Dynamical Systems (XFADS): Large-scale nonlinear Gaussian state-space modeling","arxiv_id":"2403.01371","date":"2024-03-03","proceeding":null,"authors":["Matthew Dowling","Yuan Zhao","Il Memming Park"],"abstract":"State-space graphical models and the variational autoencoder framework provide a principled apparatus for learning dynamical systems from data. State-of-the-art probabilistic approaches are often able to scale to large problems at the cost of flexibility of the variational posterior or expressivity of the dynamics model. However, those consolidations can be detrimental if the ultimate goal is to learn a generative model capable of explaining the spatiotemporal structure of the data and making accurate forecasts. We introduce a low-rank structured variational autoencoding framework for nonlinear Gaussian state-space graphical models capable of capturing dense covariance structures that are important for learning dynamical systems with predictive capabilities. Our inference algorithm exploits the covariance structures that arise naturally from sample based approximate Gaussian message passing and low-rank amortized posterior updates -- effectively performing approximate variational smoothing with time complexity scaling linearly in the state dimensionality. In comparisons with other deep state-space model architectures our approach consistently demonstrates the ability to learn a more predictive generative model. Furthermore, when applied to neural physiological recordings, our approach is able to learn a dynamical system capable of forecasting population spiking and behavioral correlates from a small portion of single trials.","url_abs":"https://arxiv.org/abs/2403.01371v4","url_pdf":"https://arxiv.org/pdf/2403.01371v4.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":"large-scale-variational-gaussian-state-space","repo_url":"https://github.com/catniplab/xfads","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.01371","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.01371"}},"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/catniplab/xfads","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":6},"by_repo_kind":{"official":{"samples":14,"ran":8,"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":"66fab7e673f1a01c","entry":"bmv","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/linalg_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/linalg_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"66fab7e673f1a01c"}},{"code_sha256_prefix":"5d15ccc22a9c48ab","entry":"bop","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/linalg_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/linalg_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5d15ccc22a9c48ab"}},{"code_sha256_prefix":"b35422bc6fba813f","entry":"build_gru_dynamics_function","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b35422bc6fba813f"}},{"code_sha256_prefix":"3d034c33d26e2408","entry":"estimate_poisson_rate_bias","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/prob_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/prob_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3d034c33d26e2408"}},{"code_sha256_prefix":"204798d70e07dfc6","entry":"memory_cleanup","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/decorators.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/decorators.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"204798d70e07dfc6"}},{"code_sha256_prefix":"f113aa7c337f472a","entry":"show_memory_stats","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/decorators.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/decorators.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f113aa7c337f472a"}},{"code_sha256_prefix":"61afa93ae14d2d28","entry":"softplus_inv","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"61afa93ae14d2d28"}},{"code_sha256_prefix":"47f1e66bbd89dca4","entry":"triangular_inverse","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/linalg_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/linalg_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"47f1e66bbd89dca4"}},{"code_sha256_prefix":"c17790ba37349e87","entry":"animate_reaching_evolution","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/plot_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/plot_utils.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":"c17790ba37349e87"}},{"code_sha256_prefix":"137195894580df0c","entry":"animate_reaching_evolution_mo","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/plot_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/plot_utils.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":"137195894580df0c"}},{"code_sha256_prefix":"52b222b6a45a0eed","entry":"apply_memory_cleanup","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/decorators.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/decorators.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":"52b222b6a45a0eed"}},{"code_sha256_prefix":"e44e57b951a765b2","entry":"bits_per_spike","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/prob_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/prob_utils.py","link_basis":"harvester_set","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":"e44e57b951a765b2"}},{"code_sha256_prefix":"aeb58bd43522d4b8","entry":"plot_single_trial_reaching_latents","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/plot_utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/plot_utils.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":"aeb58bd43522d4b8"}},{"code_sha256_prefix":"ad5739732afb4b50","entry":"spike_resample_fn","repo":"catniplab/xfads","repo_kind":"official","path":"xfads/utils.py","file_url":"https://github.com/catniplab/xfads/blob/HEAD/xfads/utils.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":"ad5739732afb4b50"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}