{"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/improving-black-box-optimization-in-vae","title":"Improving black-box optimization in VAE latent space using decoder uncertainty","arxiv_id":"2107.00096","date":"2021-06-30","proceeding":"NeurIPS 2021 12","authors":["Pascal Notin","José Miguel Hernández-Lobato","Yarin Gal"],"abstract":"Optimization in the latent space of variational autoencoders is a promising approach to generate high-dimensional discrete objects that maximize an expensive black-box property (e.g., drug-likeness in molecular generation, function approximation with arithmetic expressions). However, existing methods lack robustness as they may decide to explore areas of the latent space for which no data was available during training and where the decoder can be unreliable, leading to the generation of unrealistic or invalid objects. We propose to leverage the epistemic uncertainty of the decoder to guide the optimization process. This is not trivial though, as a naive estimation of uncertainty in the high-dimensional and structured settings we consider would result in high estimator variance. To solve this problem, we introduce an importance sampling-based estimator that provides more robust estimates of epistemic uncertainty. Our uncertainty-guided optimization approach does not require modifications of the model architecture nor the training process. It produces samples with a better trade-off between black-box objective and validity of the generated samples, sometimes improving both simultaneously. We illustrate these advantages across several experimental settings in digit generation, arithmetic expression approximation and molecule generation for drug design.","url_abs":"https://arxiv.org/abs/2107.00096v1","url_pdf":"https://arxiv.org/pdf/2107.00096v1.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":"improving-black-box-optimization-in-vae","repo_url":"https://github.com/pascalnotin/uncertainty_guided_optimization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"drug-design","task_name":"Drug Design"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.00096","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2107.00096"}},"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/pascalnotin/uncertainty_guided_optimization","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"listed":{"samples":8,"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":"20b3d08481214b2f","entry":"LDE","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"utils/optimization_utils.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/utils/optimization_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":"20b3d08481214b2f"}},{"code_sha256_prefix":"c89d89cbabceb5a8","entry":"LSE","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"utils/optimization_utils.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/utils/optimization_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":"c89d89cbabceb5a8"}},{"code_sha256_prefix":"8defa56cfba45b58","entry":"atom_features","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"JTVAE/fast_jtnn/jtmpn.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/JTVAE/fast_jtnn/jtmpn.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":"8defa56cfba45b58"}},{"code_sha256_prefix":"4027a8a9d160edc2","entry":"dfs","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"JTVAE/fast_jtnn/mol_tree.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/JTVAE/fast_jtnn/mol_tree.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":"4027a8a9d160edc2"}},{"code_sha256_prefix":"7aee3ccc4e667f90","entry":"get_config_file","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"utils/rd_filters.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/utils/rd_filters.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":"7aee3ccc4e667f90"}},{"code_sha256_prefix":"da21481c18314904","entry":"have_slots","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"JTVAE/fast_jtnn/jtnn_dec.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/JTVAE/fast_jtnn/jtnn_dec.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":"da21481c18314904"}},{"code_sha256_prefix":"5fe179a1fb051e63","entry":"onek_encoding_unk","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"JTVAE/fast_jtnn/jtmpn.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/JTVAE/fast_jtnn/jtmpn.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":"5fe179a1fb051e63"}},{"code_sha256_prefix":"5ccb47bdcb3ec477","entry":"read_rules","repo":"pascalnotin/uncertainty_guided_optimization","repo_kind":"listed","path":"utils/rd_filters.py","file_url":"https://github.com/pascalnotin/uncertainty_guided_optimization/blob/HEAD/utils/rd_filters.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":"5ccb47bdcb3ec477"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}