{"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/offline-neural-contextual-bandits-pessimism-1","title":"Offline Neural Contextual Bandits: Pessimism, Optimization and Generalization","arxiv_id":"2111.13807","date":"2021-11-27","proceeding":"ICLR 2022 4","authors":["Thanh Nguyen-Tang","Sunil Gupta","A. Tuan Nguyen","Svetha Venkatesh"],"abstract":"Offline policy learning (OPL) leverages existing data collected a priori for policy optimization without any active exploration. Despite the prevalence and recent interest in this problem, its theoretical and algorithmic foundations in function approximation settings remain under-developed. In this paper, we consider this problem on the axes of distributional shift, optimization, and generalization in offline contextual bandits with neural networks. In particular, we propose a provably efficient offline contextual bandit with neural network function approximation that does not require any functional assumption on the reward. We show that our method provably generalizes over unseen contexts under a milder condition for distributional shift than the existing OPL works. Notably, unlike any other OPL method, our method learns from the offline data in an online manner using stochastic gradient descent, allowing us to leverage the benefits of online learning into an offline setting. Moreover, we show that our method is more computationally efficient and has a better dependence on the effective dimension of the neural network than an online counterpart. Finally, we demonstrate the empirical effectiveness of our method in a range of synthetic and real-world OPL problems.","url_abs":"https://arxiv.org/abs/2111.13807v2","url_pdf":"https://arxiv.org/pdf/2111.13807v2.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":"offline-neural-contextual-bandits-pessimism-1","repo_url":"https://github.com/thanhnguyentang/offline_neural_bandits","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null}],"tasks":[{"task_slug":"multi-armed-bandits","task_name":"Multi-Armed Bandits"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2111.13807","atlas_url":"https://app.syntology.ai/?focus=2111.13807","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.13807"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/thanhnguyentang/offline_neural_bandits","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"unverified":3},"by_repo_kind":{"official":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"2583ec24783a38fd","entry":"BanditDataset","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2583ec24783a38fd"}},{"code_sha256_prefix":"94a1655d2f8ff633","entry":"NeuralBanditModel","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94a1655d2f8ff633"}},{"code_sha256_prefix":"82961ea45eb3d945","entry":"NeuralNetwork","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82961ea45eb3d945"}},{"code_sha256_prefix":"60c1c39e71e87473","entry":"action_convolution","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"60c1c39e71e87473"}},{"code_sha256_prefix":"d8648210c8e1f568","entry":"inv_sherman_morrison_single_sample","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d8648210c8e1f568"}},{"code_sha256_prefix":"66cd89c5fde8ea49","entry":"BanditAlgorithm","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"66cd89c5fde8ea49"}},{"code_sha256_prefix":"b94f852f87c982a2","entry":"ExactNeuraLCBV2","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b94f852f87c982a2"}},{"code_sha256_prefix":"b57fbd5d8f5598a3","entry":"NeuralBanditModelV2","repo":"thanhnguyentang/offline_neural_bandits","repo_kind":"official","path":"algorithms/neural_offline_bandit.py","file_url":"https://github.com/thanhnguyentang/offline_neural_bandits/blob/HEAD/algorithms/neural_offline_bandit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b57fbd5d8f5598a3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}