{"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/self-improved-retrosynthetic-planning","title":"Self-Improved Retrosynthetic Planning","arxiv_id":"2106.04880","date":"2021-06-09","proceeding":null,"authors":["Junsu Kim","Sungsoo Ahn","Hankook Lee","Jinwoo Shin"],"abstract":"Retrosynthetic planning is a fundamental problem in chemistry for finding a pathway of reactions to synthesize a target molecule. Recently, search algorithms have shown promising results for solving this problem by using deep neural networks (DNNs) to expand their candidate solutions, i.e., adding new reactions to reaction pathways. However, the existing works on this line are suboptimal; the retrosynthetic planning problem requires the reaction pathways to be (a) represented by real-world reactions and (b) executable using \"building block\" molecules, yet the DNNs expand reaction pathways without fully incorporating such requirements. Motivated by this, we propose an end-to-end framework for directly training the DNNs towards generating reaction pathways with the desirable properties. Our main idea is based on a self-improving procedure that trains the model to imitate successful trajectories found by itself. We also propose a novel reaction augmentation scheme based on a forward reaction model. Our experiments demonstrate that our scheme significantly improves the success rate of solving the retrosynthetic problem from 86.84% to 96.32% while maintaining the performance of DNN for predicting valid reactions.","url_abs":"https://arxiv.org/abs/2106.04880v1","url_pdf":"https://arxiv.org/pdf/2106.04880v1.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":"self-improved-retrosynthetic-planning","repo_url":"https://github.com/junsu-kim97/self_improved_retro","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"multi-step-retrosynthesis","task_name":"Multi-step retrosynthesis"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multi-step-retrosynthesis-on-uspto-190","task":"Multi-step retrosynthesis","dataset":"USPTO-190","model":"Retro* plus","rank_in_archive_order":4,"of":5,"metrics":{"Success Rate (100 model calls)":"67.37","Success Rate (500 model calls)":"96.32"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.04880","atlas_url":"https://app.syntology.ai/?focus=2106.04880","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.04880"}},"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/junsu-kim97/self_improved_retro","reach":null}],"summary":{"ran":3,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":3,"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":"3cd413e7bfbc107c","entry":"MolNode","repo":"junsu-kim97/self_improved_retro","repo_kind":"official","path":"retro_star/alg/molstar.py","file_url":"https://github.com/junsu-kim97/self_improved_retro/blob/HEAD/retro_star/alg/molstar.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3cd413e7bfbc107c"}},{"code_sha256_prefix":"855b2e0f9660637a","entry":"ReactionNode","repo":"junsu-kim97/self_improved_retro","repo_kind":"official","path":"retro_star/alg/molstar.py","file_url":"https://github.com/junsu-kim97/self_improved_retro/blob/HEAD/retro_star/alg/molstar.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"855b2e0f9660637a"}},{"code_sha256_prefix":"2adb5a59a5048dff","entry":"SynRoute","repo":"junsu-kim97/self_improved_retro","repo_kind":"official","path":"retro_star/alg/molstar.py","file_url":"https://github.com/junsu-kim97/self_improved_retro/blob/HEAD/retro_star/alg/molstar.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2adb5a59a5048dff"}},{"code_sha256_prefix":"f1f74a9c22ad8544","entry":"MolTree","repo":"junsu-kim97/self_improved_retro","repo_kind":"official","path":"retro_star/alg/molstar.py","file_url":"https://github.com/junsu-kim97/self_improved_retro/blob/HEAD/retro_star/alg/molstar.py","link_basis":"first_harvest_node","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":"f1f74a9c22ad8544"}},{"code_sha256_prefix":"b1d3a32726af711c","entry":"molstar","repo":"junsu-kim97/self_improved_retro","repo_kind":"official","path":"retro_star/alg/molstar.py","file_url":"https://github.com/junsu-kim97/self_improved_retro/blob/HEAD/retro_star/alg/molstar.py","link_basis":"first_harvest_node","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":"b1d3a32726af711c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}