{"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/approximate-inference-turns-deep-networks","title":"Approximate Inference Turns Deep Networks into Gaussian Processes","arxiv_id":"1906.01930","date":"2019-06-05","proceeding":"NeurIPS 2019 12","authors":["Mohammad Emtiyaz Khan","Alexander Immer","Ehsan Abedi","Maciej Korzepa"],"abstract":"Deep neural networks (DNN) and Gaussian processes (GP) are two powerful models with several theoretical connections relating them, but the relationship between their training methods is not well understood. In this paper, we show that certain Gaussian posterior approximations for Bayesian DNNs are equivalent to GP posteriors. This enables us to relate solutions and iterations of a deep-learning algorithm to GP inference. As a result, we can obtain a GP kernel and a nonlinear feature map while training a DNN. Surprisingly, the resulting kernel is the neural tangent kernel. We show kernels obtained on real datasets and demonstrate the use of the GP marginal likelihood to tune hyperparameters of DNNs. Our work aims to facilitate further research on combining DNNs and GPs in practical settings.","url_abs":"https://arxiv.org/abs/1906.01930v3","url_pdf":"https://arxiv.org/pdf/1906.01930v3.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":"approximate-inference-turns-deep-networks","repo_url":"https://github.com/team-approx-bayes/dnn2gp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"gaussian-processes","task_name":"Gaussian Processes"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1906.01930","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.01930"}},"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/team-approx-bayes/dnn2gp","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":2,"ran_honours":2},"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":5,"samples":[{"code_sha256_prefix":"e74bcb11475906d5","entry":"compute_kernel","repo":"team-approx-bayes/dnn2gp","repo_kind":"official","path":"dnn2gp/dnn2gp.py","file_url":"https://github.com/team-approx-bayes/dnn2gp/blob/HEAD/dnn2gp/dnn2gp.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e74bcb11475906d5"}},{"code_sha256_prefix":"356d4801d921017f","entry":"get_datasets","repo":"team-approx-bayes/dnn2gp","repo_kind":"official","path":"marglik.py","file_url":"https://github.com/team-approx-bayes/dnn2gp/blob/HEAD/marglik.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"356d4801d921017f"}},{"code_sha256_prefix":"0b0ff1baebcb4398","entry":"gradient","repo":"team-approx-bayes/dnn2gp","repo_kind":"official","path":"dnn2gp/dnn2gp.py","file_url":"https://github.com/team-approx-bayes/dnn2gp/blob/HEAD/dnn2gp/dnn2gp.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0b0ff1baebcb4398"}},{"code_sha256_prefix":"5d4db3aeca9aaf08","entry":"sample_data","repo":"team-approx-bayes/dnn2gp","repo_kind":"official","path":"marglik.py","file_url":"https://github.com/team-approx-bayes/dnn2gp/blob/HEAD/marglik.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d4db3aeca9aaf08"}},{"code_sha256_prefix":"f239882aa0adcb83","entry":"weights","repo":"team-approx-bayes/dnn2gp","repo_kind":"official","path":"dnn2gp/dnn2gp.py","file_url":"https://github.com/team-approx-bayes/dnn2gp/blob/HEAD/dnn2gp/dnn2gp.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f239882aa0adcb83"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}