{"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/on-neural-differential-equations","title":"On Neural Differential Equations","arxiv_id":"2202.02435","date":"2022-02-04","proceeding":null,"authors":["Patrick Kidger"],"abstract":"The conjoining of dynamical systems and deep learning has become a topic of great interest. In particular, neural differential equations (NDEs) demonstrate that neural networks and differential equation are two sides of the same coin. Traditional parameterised differential equations are a special case. Many popular neural network architectures, such as residual networks and recurrent networks, are discretisations. NDEs are suitable for tackling generative problems, dynamical systems, and time series (particularly in physics, finance, ...) and are thus of interest to both modern machine learning and traditional mathematical modelling. NDEs offer high-capacity function approximation, strong priors on model space, the ability to handle irregular data, memory efficiency, and a wealth of available theory on both sides. This doctoral thesis provides an in-depth survey of the field. Topics include: neural ordinary differential equations (e.g. for hybrid neural/mechanistic modelling of physical systems); neural controlled differential equations (e.g. for learning functions of irregular time series); and neural stochastic differential equations (e.g. to produce generative models capable of representing complex stochastic dynamics, or sampling from complex high-dimensional distributions). Further topics include: numerical methods for NDEs (e.g. reversible differential equations solvers, backpropagation through differential equations, Brownian reconstruction); symbolic regression for dynamical systems (e.g. via regularised evolution); and deep implicit models (e.g. deep equilibrium models, differentiable optimisation). We anticipate this thesis will be of interest to anyone interested in the marriage of deep learning with dynamical systems, and hope it will provide a useful reference for the current state of the art.","url_abs":"https://arxiv.org/abs/2202.02435v1","url_pdf":"https://arxiv.org/pdf/2202.02435v1.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":"on-neural-differential-equations","repo_url":"https://github.com/patrick-kidger/diffrax","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"on-neural-differential-equations","repo_url":"https://github.com/DiffEqML/torchdyn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"on-neural-differential-equations","repo_url":"https://github.com/rtqichen/torchdiffeq","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"on-neural-differential-equations","repo_url":"https://github.com/andyelking/diffrax_stla","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"irregular-time-series","task_name":"Irregular Time Series"},{"task_slug":"symbolic-regression","task_name":"Symbolic Regression"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.02435","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.02435"}},"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/rtqichen/torchdiffeq","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DiffEqML/torchdyn","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/patrick-kidger/diffrax","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/andyelking/diffrax_stla","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":2,"ran_violates":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":3,"ran":3,"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":"7d9c5d560b31ba1d","entry":"animated_funnel_plot","repo":"andyelking/diffrax_stla","repo_kind":"listed","path":"notebooks2/drawing_and_evaluating.py","file_url":"https://github.com/andyelking/diffrax_stla/blob/HEAD/notebooks2/drawing_and_evaluating.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7d9c5d560b31ba1d"}},{"code_sha256_prefix":"f7211952004f3b66","entry":"draw_order_multiple","repo":"andyelking/diffrax_stla","repo_kind":"listed","path":"notebooks2/drawing_and_evaluating.py","file_url":"https://github.com/andyelking/diffrax_stla/blob/HEAD/notebooks2/drawing_and_evaluating.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f7211952004f3b66"}},{"code_sha256_prefix":"77765dfe637947ed","entry":"draw_order_multiple_dict","repo":"andyelking/diffrax_stla","repo_kind":"listed","path":"notebooks2/drawing_and_evaluating.py","file_url":"https://github.com/andyelking/diffrax_stla/blob/HEAD/notebooks2/drawing_and_evaluating.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"77765dfe637947ed"}},{"code_sha256_prefix":"368eb522f82a5cca","entry":"vector_tree_dot","repo":"patrick-kidger/diffrax","repo_kind":"official","path":"diffrax/_solver/base.py","file_url":"https://github.com/patrick-kidger/diffrax/blob/HEAD/diffrax/_solver/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"368eb522f82a5cca"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}