{"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/gaussian-process-bandit-optimization-of","title":"Gaussian Process Bandit Optimization of the Thermodynamic Variational Objective","arxiv_id":"2010.15750","date":"2020-10-29","proceeding":"NeurIPS 2020 12","authors":["Vu Nguyen","Vaden Masrani","Rob Brekelmans","Michael A. Osborne","Frank Wood"],"abstract":"Achieving the full promise of the Thermodynamic Variational Objective (TVO), a recently proposed variational lower bound on the log evidence involving a one-dimensional Riemann integral approximation, requires choosing a \"schedule\" of sorted discretization points. This paper introduces a bespoke Gaussian process bandit optimization method for automatically choosing these points. Our approach not only automates their one-time selection, but also dynamically adapts their positions over the course of optimization, leading to improved model learning and inference. We provide theoretical guarantees that our bandit optimization converges to the regret-minimizing choice of integration points. Empirical validation of our algorithm is provided in terms of improved learning and inference in Variational Autoencoders and Sigmoid Belief Networks.","url_abs":"https://arxiv.org/abs/2010.15750v3","url_pdf":"https://arxiv.org/pdf/2010.15750v3.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":"gaussian-process-bandit-optimization-of","repo_url":"https://github.com/ntienvu/tvo_gp_bandit","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"gaussian-process","method_name":"Gaussian Process"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.15750","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.15750"}},"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":"deterministic:regex_extraction","url":"https://github.com/ntienvu/tvo_gp_bandit","reach":null}],"summary":{"ran":3,"ran_violates":1,"unverified":5},"by_repo_kind":{"official":{"samples":9,"ran":4,"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":9,"samples":[{"code_sha256_prefix":"e55edc2e4cb9bb1b","entry":"GPTV","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"e55edc2e4cb9bb1b"}},{"code_sha256_prefix":"2341d15b66b63ce3","entry":"GPTV_Perm","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"2341d15b66b63ce3"}},{"code_sha256_prefix":"280fa564b1ab8a05","entry":"GaussianProcess","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"280fa564b1ab8a05"}},{"code_sha256_prefix":"e4d6b0db11b717af","entry":"unique_rows","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_bandit.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e4d6b0db11b717af"}},{"code_sha256_prefix":"31d8bbb0f09d990d","entry":"BayesOpt","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"31d8bbb0f09d990d"}},{"code_sha256_prefix":"52f155af07e70398","entry":"append_Xori_Yori_from_args","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"52f155af07e70398"}},{"code_sha256_prefix":"acc369fa14012bd4","entry":"calculate_BO_points","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"acc369fa14012bd4"}},{"code_sha256_prefix":"16d404c0f2dc4500","entry":"extract_X_Y_from_args","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"16d404c0f2dc4500"}},{"code_sha256_prefix":"64c88c97da2c1b4f","entry":"format_input","repo":"ntienvu/tvo_gp_bandit","repo_kind":"official","path":"src/gp_bandit.py","file_url":"https://github.com/ntienvu/tvo_gp_bandit/blob/HEAD/src/gp_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":"64c88c97da2c1b4f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}