{"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/neural-extended-kalman-filters-for-learning","title":"Neural Extended Kalman Filters for Learning and Predicting Dynamics of Structural Systems","arxiv_id":"2210.04165","date":"2022-10-09","proceeding":null,"authors":["Wei Liu","Zhilu Lai","Kiran Bacsa","Eleni Chatzi"],"abstract":"Accurate structural response prediction forms a main driver for structural health monitoring and control applications. This often requires the proposed model to adequately capture the underlying dynamics of complex structural systems. In this work, we utilize a learnable Extended Kalman Filter (EKF), named the Neural Extended Kalman Filter (Neural EKF) throughout this paper, for learning the latent evolution dynamics of complex physical systems. The Neural EKF is a generalized version of the conventional EKF, where the modeling of process dynamics and sensory observations can be parameterized by neural networks, therefore learned by end-to-end training. The method is implemented under the variational inference framework with the EKF conducting inference from sensing measurements. Typically, conventional variational inference models are parameterized by neural networks independent of the latent dynamics models. This characteristic makes the inference and reconstruction accuracy weakly based on the dynamics models and renders the associated training inadequate. In this work, we show that the structure imposed by the Neural EKF is beneficial to the learning process. We demonstrate the efficacy of the framework on both simulated and real-world structural monitoring datasets, with the results indicating significant predictive capabilities of the proposed scheme.","url_abs":"https://arxiv.org/abs/2210.04165v2","url_pdf":"https://arxiv.org/pdf/2210.04165v2.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":"neural-extended-kalman-filters-for-learning","repo_url":"https://github.com/liouvill/neuralekf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"structural-health-monitoring","task_name":"Structural Health Monitoring"},{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2210.04165","atlas_url":"https://app.syntology.ai/?focus=2210.04165","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.04165"}},"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/liouvill/neuralekf","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"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":"b9f48b44b4e7a359","entry":"batch_eye","repo":"liouvill/neuralekf","repo_kind":"official","path":"utils/net_utils.py","file_url":"https://github.com/liouvill/neuralekf/blob/HEAD/utils/net_utils.py","link_basis":"harvester_set","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":"b9f48b44b4e7a359"}},{"code_sha256_prefix":"0e81d5fc8078be35","entry":"default_lr_scheduler","repo":"liouvill/neuralekf","repo_kind":"official","path":"experiments.py","file_url":"https://github.com/liouvill/neuralekf/blob/HEAD/experiments.py","link_basis":"harvester_set","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":"0e81d5fc8078be35"}},{"code_sha256_prefix":"3efcbcdea0e059c9","entry":"dkl_diag_gaussian","repo":"liouvill/neuralekf","repo_kind":"official","path":"utils/net_utils.py","file_url":"https://github.com/liouvill/neuralekf/blob/HEAD/utils/net_utils.py","link_basis":"harvester_set","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":"3efcbcdea0e059c9"}},{"code_sha256_prefix":"5b977115912ccad9","entry":"gradient_norm","repo":"liouvill/neuralekf","repo_kind":"official","path":"utils/net_utils.py","file_url":"https://github.com/liouvill/neuralekf/blob/HEAD/utils/net_utils.py","link_basis":"harvester_set","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":"5b977115912ccad9"}},{"code_sha256_prefix":"5f84719664c6d79e","entry":"prep_batch","repo":"liouvill/neuralekf","repo_kind":"official","path":"utils/data_utils.py","file_url":"https://github.com/liouvill/neuralekf/blob/HEAD/utils/data_utils.py","link_basis":"harvester_set","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":"5f84719664c6d79e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}