{"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/efficient-online-bayesian-inference-for","title":"Efficient Online Bayesian Inference for Neural Bandits","arxiv_id":"2112.00195","date":"2021-12-01","proceeding":null,"authors":["Gerardo Duran-Martin","Aleyna Kara","Kevin Murphy"],"abstract":"In this paper we present a new algorithm for online (sequential) inference in Bayesian neural networks, and show its suitability for tackling contextual bandit problems. The key idea is to combine the extended Kalman filter (which locally linearizes the likelihood function at each time step) with a (learned or random) low-dimensional affine subspace for the parameters; the use of a subspace enables us to scale our algorithm to models with $\\sim 1M$ parameters. While most other neural bandit methods need to store the entire past dataset in order to avoid the problem of \"catastrophic forgetting\", our approach uses constant memory. This is possible because we represent uncertainty about all the parameters in the model, not just the final linear layer. We show good results on the \"Deep Bayesian Bandit Showdown\" benchmark, as well as MNIST and a recommender system.","url_abs":"https://arxiv.org/abs/2112.00195v1","url_pdf":"https://arxiv.org/pdf/2112.00195v1.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":"efficient-online-bayesian-inference-for","repo_url":"https://github.com/probml/bandits","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-inference","task_name":"Bayesian Inference"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.00195","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.00195"}},"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/probml/bandits","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"e48ca70bef31aa38","entry":"NIGupdate","repo":"probml/bandits","repo_kind":"official","path":"bandits/agents/agent_utils.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/agents/agent_utils.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":"e48ca70bef31aa38"}},{"code_sha256_prefix":"8ea84f5af0eafc6d","entry":"convert_params_from_subspace_to_full","repo":"probml/bandits","repo_kind":"official","path":"bandits/agents/agent_utils.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/agents/agent_utils.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":"8ea84f5af0eafc6d"}},{"code_sha256_prefix":"f3a7d8f5832c6ebd","entry":"generate_random_basis","repo":"probml/bandits","repo_kind":"official","path":"bandits/agents/agent_utils.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/agents/agent_utils.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":"f3a7d8f5832c6ebd"}},{"code_sha256_prefix":"a3eda0a5c7c90696","entry":"reshape_vvmap","repo":"probml/bandits","repo_kind":"official","path":"bandits/training.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/training.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":"a3eda0a5c7c90696"}},{"code_sha256_prefix":"3e45667ba74a8413","entry":"step","repo":"probml/bandits","repo_kind":"official","path":"bandits/training.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/training.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":"3e45667ba74a8413"}},{"code_sha256_prefix":"02fcee20b423263b","entry":"warmup_bandit","repo":"probml/bandits","repo_kind":"official","path":"bandits/training.py","file_url":"https://github.com/probml/bandits/blob/HEAD/bandits/training.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":"02fcee20b423263b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}