{"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/gradients-without-backpropagation","title":"Gradients without Backpropagation","arxiv_id":"2202.08587","date":"2022-02-17","proceeding":null,"authors":["Atılım Güneş Baydin","Barak A. Pearlmutter","Don Syme","Frank Wood","Philip Torr"],"abstract":"Using backpropagation to compute gradients of objective functions for optimization has remained a mainstay of machine learning. Backpropagation, or reverse-mode differentiation, is a special case within the general family of automatic differentiation algorithms that also includes the forward mode. We present a method to compute gradients based solely on the directional derivative that one can compute exactly and efficiently via the forward mode. We call this formulation the forward gradient, an unbiased estimate of the gradient that can be evaluated in a single forward run of the function, entirely eliminating the need for backpropagation in gradient descent. We demonstrate forward gradient descent in a range of problems, showing substantial savings in computation and enabling training up to twice as fast in some cases.","url_abs":"https://arxiv.org/abs/2202.08587v1","url_pdf":"https://arxiv.org/pdf/2202.08587v1.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":"gradients-without-backpropagation","repo_url":"https://github.com/gbelouze/forward-gradient","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"gradients-without-backpropagation","repo_url":"https://github.com/orobix/fwdgrad","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"gradients-without-backpropagation","repo_url":"https://github.com/sri-csl/fomoh","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-2-Clause"}}],"tasks":[],"methods":[{"method_slug":"forward-gradient","method_name":"Forward gradient"}],"datasets_introduced":[],"methods_introduced":[{"slug":"forward-gradient","name":"Forward gradient","full_name":"Forward gradient"}],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.08587","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.08587"}},"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/sri-csl/fomoh","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gbelouze/forward-gradient","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/orobix/fwdgrad","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":2},"by_repo_kind":{"listed":{"samples":4,"ran":2,"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":"1e35965d04893409","entry":"functional_xent","repo":"orobix/fwdgrad","repo_kind":"listed","path":"fwdgrad/loss.py","file_url":"https://github.com/orobix/fwdgrad/blob/HEAD/fwdgrad/loss.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":"1e35965d04893409"}},{"code_sha256_prefix":"459bc0b35c09b3ca","entry":"xent","repo":"orobix/fwdgrad","repo_kind":"listed","path":"fwdgrad/loss.py","file_url":"https://github.com/orobix/fwdgrad/blob/HEAD/fwdgrad/loss.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":"459bc0b35c09b3ca"}},{"code_sha256_prefix":"6f74e35dd425df95","entry":"baele","repo":"orobix/fwdgrad","repo_kind":"listed","path":"fwdgrad/global_optim_functions.py","file_url":"https://github.com/orobix/fwdgrad/blob/HEAD/fwdgrad/global_optim_functions.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":"6f74e35dd425df95"}},{"code_sha256_prefix":"d620f7966e607189","entry":"rosenbrock","repo":"orobix/fwdgrad","repo_kind":"listed","path":"fwdgrad/global_optim_functions.py","file_url":"https://github.com/orobix/fwdgrad/blob/HEAD/fwdgrad/global_optim_functions.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":"d620f7966e607189"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}