{"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/differentiable-particle-filters-end-to-end","title":"Differentiable Particle Filters: End-to-End Learning with Algorithmic Priors","arxiv_id":"1805.11122","date":"2018-05-28","proceeding":null,"authors":["Rico Jonschkowski","Divyam Rastogi","Oliver Brock"],"abstract":"We present differentiable particle filters (DPFs): a differentiable\nimplementation of the particle filter algorithm with learnable motion and\nmeasurement models. Since DPFs are end-to-end differentiable, we can\nefficiently train their models by optimizing end-to-end state estimation\nperformance, rather than proxy objectives such as model accuracy. DPFs encode\nthe structure of recursive state estimation with prediction and measurement\nupdate that operate on a probability distribution over states. This structure\nrepresents an algorithmic prior that improves learning performance in state\nestimation problems while enabling explainability of the learned model. Our\nexperiments on simulated and real data show substantial benefits from end-to-\nend learning with algorithmic priors, e.g. reducing error rates by ~80%. Our\nexperiments also show that, unlike long short-term memory networks, DPFs learn\nlocalization in a policy-agnostic way and thus greatly improve generalization.\nSource code is available at\nhttps://github.com/tu-rbo/differentiable-particle-filters .","url_abs":"http://arxiv.org/abs/1805.11122v2","url_pdf":"http://arxiv.org/pdf/1805.11122v2.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":"differentiable-particle-filters-end-to-end","repo_url":"https://github.com/tu-rbo/differentiable-particle-filters","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"differentiable-particle-filters-end-to-end","repo_url":"https://github.com/HaoWen-Surrey/SemiDPF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"differentiable-particle-filters-end-to-end","repo_url":"https://github.com/akloss/differentiable_filters","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"state-estimation","task_name":"State Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.11122","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.11122"}},"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/HaoWen-Surrey/SemiDPF","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tu-rbo/differentiable-particle-filters","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/akloss/differentiable_filters","reach":null}],"summary":{"ran_draft_wrong":4},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1},"listed":{"samples":1,"ran":1,"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":"5e9e9c0fef8bfcfa","entry":"add_to_log","repo":"tu-rbo/differentiable-particle-filters","repo_kind":"official","path":"utils/exp_utils.py","file_url":"https://github.com/tu-rbo/differentiable-particle-filters/blob/HEAD/utils/exp_utils.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":"5e9e9c0fef8bfcfa"}},{"code_sha256_prefix":"bcb2efc1f2beaa92","entry":"exp_variables_to_name","repo":"tu-rbo/differentiable-particle-filters","repo_kind":"official","path":"utils/exp_utils.py","file_url":"https://github.com/tu-rbo/differentiable-particle-filters/blob/HEAD/utils/exp_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bcb2efc1f2beaa92"}},{"code_sha256_prefix":"d597fd73ac651e8f","entry":"load_data","repo":"akloss/differentiable_filters","repo_kind":"listed","path":"differentiable_filters/example_training_code/run_example.py","file_url":"https://github.com/akloss/differentiable_filters/blob/HEAD/differentiable_filters/example_training_code/run_example.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":"d597fd73ac651e8f"}},{"code_sha256_prefix":"dd65249b1a768c1f","entry":"sample_exp_variables","repo":"tu-rbo/differentiable-particle-filters","repo_kind":"official","path":"utils/exp_utils.py","file_url":"https://github.com/tu-rbo/differentiable-particle-filters/blob/HEAD/utils/exp_utils.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":"dd65249b1a768c1f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}