{"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-molecular-design-by-stochastic","title":"Improving Molecular Design by Stochastic Iterative Target Augmentation","arxiv_id":"2002.04720","date":"2020-02-11","proceeding":"ICML 2020 1","authors":["Kevin Yang","Wengong Jin","Kyle Swanson","Regina Barzilay","Tommi Jaakkola"],"abstract":"Generative models in molecular design tend to be richly parameterized, data-hungry neural models, as they must create complex structured objects as outputs. Estimating such models from data may be challenging due to the lack of sufficient training data. In this paper, we propose a surprisingly effective self-training approach for iteratively creating additional molecular targets. We first pre-train the generative model together with a simple property predictor. The property predictor is then used as a likelihood model for filtering candidate structures from the generative model. Additional targets are iteratively produced and used in the course of stochastic EM iterations to maximize the log-likelihood that the candidate structures are accepted. A simple rejection (re-weighting) sampler suffices to draw posterior samples since the generative model is already reasonable after pre-training. We demonstrate significant gains over strong baselines for both unconditional and conditional molecular design. In particular, our approach outperforms the previous state-of-the-art in conditional molecular design by over 10% in absolute gain. Finally, we show that our approach is useful in other domains as well, such as program synthesis.","url_abs":"https://arxiv.org/abs/2002.04720v3","url_pdf":"https://arxiv.org/pdf/2002.04720v3.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-molecular-design-by-stochastic","repo_url":"https://github.com/yangkevin2/icml2020-stochastic-iterative-target-augmentation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"improving-molecular-design-by-stochastic","repo_url":"https://github.com/cbilodeau2/g2g_optimization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"program-synthesis","task_name":"Program Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2002.04720","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2002.04720"}},"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/cbilodeau2/g2g_optimization","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yangkevin2/icml2020-stochastic-iterative-target-augmentation","reach":{"status":"ok"}}],"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":"703ab4f978cdd28f","entry":"avg_pool","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/nnutils.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/nnutils.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":"703ab4f978cdd28f"}},{"code_sha256_prefix":"bfdd144773ab7453","entry":"drop_dots","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/pairing.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/pairing.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":"bfdd144773ab7453"}},{"code_sha256_prefix":"1ee94d6efd4bc1a0","entry":"get_accuracy_bin","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/nnutils.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/nnutils.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":"1ee94d6efd4bc1a0"}},{"code_sha256_prefix":"5027b73a3e67c839","entry":"get_index_smiles","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/pairing.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/pairing.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":"5027b73a3e67c839"}},{"code_sha256_prefix":"6cfa3e07a37cd10c","entry":"index_select_ND","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/nnutils.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/nnutils.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":"6cfa3e07a37cd10c"}},{"code_sha256_prefix":"d02f49e16c847527","entry":"make_cuda","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/hgnn.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/hgnn.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":"d02f49e16c847527"}},{"code_sha256_prefix":"ec9aaf9708d1873d","entry":"read_constraints","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/pairing.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/pairing.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":"ec9aaf9708d1873d"}},{"code_sha256_prefix":"64031117dac3cd1d","entry":"set_atommap","repo":"cbilodeau2/g2g_optimization","repo_kind":"listed","path":"g2g_optimization/hgraph/chemutils.py","file_url":"https://github.com/cbilodeau2/g2g_optimization/blob/HEAD/g2g_optimization/hgraph/chemutils.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":"64031117dac3cd1d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}