{"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/dreamerpro-reconstruction-free-model-based-1","title":"DreamerPro: Reconstruction-Free Model-Based Reinforcement Learning with Prototypical Representations","arxiv_id":"2110.14565","date":"2021-10-27","proceeding":null,"authors":["Fei Deng","Ingook Jang","Sungjin Ahn"],"abstract":"Top-performing Model-Based Reinforcement Learning (MBRL) agents, such as Dreamer, learn the world model by reconstructing the image observations. Hence, they often fail to discard task-irrelevant details and struggle to handle visual distractions. To address this issue, previous work has proposed to contrastively learn the world model, but the performance tends to be inferior in the absence of distractions. In this paper, we seek to enhance robustness to distractions for MBRL agents. Specifically, we consider incorporating prototypical representations, which have yielded more accurate and robust results than contrastive approaches in computer vision. However, it remains elusive how prototypical representations can benefit temporal dynamics learning in MBRL, since they treat each image independently without capturing temporal structures. To this end, we propose to learn the prototypes from the recurrent states of the world model, thereby distilling temporal structures from past observations and actions into the prototypes. The resulting model, DreamerPro, successfully combines Dreamer with prototypes, making large performance gains on the DeepMind Control suite both in the standard setting and when there are complex background distractions. Code available at https://github.com/fdeng18/dreamer-pro .","url_abs":"https://arxiv.org/abs/2110.14565v1","url_pdf":"https://arxiv.org/pdf/2110.14565v1.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":"dreamerpro-reconstruction-free-model-based-1","repo_url":"https://github.com/fdeng18/dreamer-pro","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"model-based-reinforcement-learning","task_name":"Model-based Reinforcement Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2110.14565","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.14565"}},"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/fdeng18/dreamer-pro","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"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":"7cfa9dd88da0b290","entry":"get_url","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"download_videos.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/download_videos.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":"7cfa9dd88da0b290"}},{"code_sha256_prefix":"8cd9b6c638b90ac8","entry":"lambda_return","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/other.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/other.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":"8cd9b6c638b90ac8"}},{"code_sha256_prefix":"b3ae56f77b905c0e","entry":"load_baselines","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/plot.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/plot.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":"b3ae56f77b905c0e"}},{"code_sha256_prefix":"2b83bd6ccce56fca","entry":"load_episodes","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/replay.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/replay.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":"2b83bd6ccce56fca"}},{"code_sha256_prefix":"f90fbc5c43d007c0","entry":"load_run","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/plot.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/plot.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":"f90fbc5c43d007c0"}},{"code_sha256_prefix":"4878c13e37288f19","entry":"load_runs","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/plot.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/plot.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":"4878c13e37288f19"}},{"code_sha256_prefix":"44b72fcd9872fef3","entry":"save_episodes","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/replay.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/replay.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":"44b72fcd9872fef3"}},{"code_sha256_prefix":"c2659ae89b97624c","entry":"schedule","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/other.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/other.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":"c2659ae89b97624c"}},{"code_sha256_prefix":"77ff0f8ba58bad0e","entry":"static_scan","repo":"fdeng18/dreamer-pro","repo_kind":"official","path":"Dreamer/common/other.py","file_url":"https://github.com/fdeng18/dreamer-pro/blob/HEAD/Dreamer/common/other.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":"77ff0f8ba58bad0e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}