{"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/planning-to-explore-via-self-supervised-world","title":"Planning to Explore via Self-Supervised World Models","arxiv_id":"2005.05960","date":"2020-05-12","proceeding":null,"authors":["Ramanan Sekar","Oleh Rybkin","Kostas Daniilidis","Pieter Abbeel","Danijar Hafner","Deepak Pathak"],"abstract":"Reinforcement learning allows solving complex tasks, however, the learning tends to be task-specific and the sample efficiency remains a challenge. We present Plan2Explore, a self-supervised reinforcement learning agent that tackles both these challenges through a new approach to self-supervised exploration and fast adaptation to new tasks, which need not be known during exploration. During exploration, unlike prior methods which retrospectively compute the novelty of observations after the agent has already reached them, our agent acts efficiently by leveraging planning to seek out expected future novelty. After exploration, the agent quickly adapts to multiple downstream tasks in a zero or a few-shot manner. We evaluate on challenging control tasks from high-dimensional image inputs. Without any training supervision or task-specific interaction, Plan2Explore outperforms prior self-supervised exploration methods, and in fact, almost matches the performances oracle which has access to rewards. Videos and code at https://ramanans1.github.io/plan2explore/","url_abs":"https://arxiv.org/abs/2005.05960v2","url_pdf":"https://arxiv.org/pdf/2005.05960v2.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":"planning-to-explore-via-self-supervised-world","repo_url":"https://github.com/ramanans1/plan2explore","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"planning-to-explore-via-self-supervised-world","repo_url":"https://github.com/GuillaumeDufau/Unsupervised_exploration","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"planning-to-explore-via-self-supervised-world","repo_url":"https://github.com/kc-ml2/SimpleDreamer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"planning-to-explore-via-self-supervised-world","repo_url":"https://github.com/yusukeurakami/plan2explore-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"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":{"atlas_url":"https://app.syntology.ai/?focus=2005.05960","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2005.05960"}},"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/ramanans1/plan2explore","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yusukeurakami/plan2explore-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/GuillaumeDufau/Unsupervised_exploration","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kc-ml2/SimpleDreamer","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"unverified":9},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":9,"ran":1,"repositories":2}},"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":"12a1b11d0e6e3e5b","entry":"bottle","repo":"yusukeurakami/plan2explore-pytorch","repo_kind":"listed","path":"models.py","file_url":"https://github.com/yusukeurakami/plan2explore-pytorch/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12a1b11d0e6e3e5b"}},{"code_sha256_prefix":"80cffa53c80556af","entry":"Encoder","repo":"yusukeurakami/plan2explore-pytorch","repo_kind":"listed","path":"models.py","file_url":"https://github.com/yusukeurakami/plan2explore-pytorch/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80cffa53c80556af"}},{"code_sha256_prefix":"32fa4df355b9a218","entry":"ObservationModel","repo":"yusukeurakami/plan2explore-pytorch","repo_kind":"listed","path":"models.py","file_url":"https://github.com/yusukeurakami/plan2explore-pytorch/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32fa4df355b9a218"}},{"code_sha256_prefix":"916814eea2a6e02e","entry":"TransitionModel","repo":"yusukeurakami/plan2explore-pytorch","repo_kind":"listed","path":"models.py","file_url":"https://github.com/yusukeurakami/plan2explore-pytorch/blob/HEAD/models.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":"916814eea2a6e02e"}},{"code_sha256_prefix":"e4d4684737ef6b03","entry":"build_network","repo":"kc-ml2/SimpleDreamer","repo_kind":"listed","path":"dreamer/utils/utils.py","file_url":"https://github.com/kc-ml2/SimpleDreamer/blob/HEAD/dreamer/utils/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":"e4d4684737ef6b03"}},{"code_sha256_prefix":"5c7a49e9de8098c0","entry":"create_normal_dist","repo":"kc-ml2/SimpleDreamer","repo_kind":"listed","path":"dreamer/utils/utils.py","file_url":"https://github.com/kc-ml2/SimpleDreamer/blob/HEAD/dreamer/utils/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":"5c7a49e9de8098c0"}},{"code_sha256_prefix":"939b73ec515d6e6d","entry":"cross_entropy_method","repo":"ramanans1/plan2explore","repo_kind":"official","path":"plan2explore/control/planning.py","file_url":"https://github.com/ramanans1/plan2explore/blob/HEAD/plan2explore/control/planning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"939b73ec515d6e6d"}},{"code_sha256_prefix":"eeeaaa12d116f451","entry":"get_env_infos","repo":"kc-ml2/SimpleDreamer","repo_kind":"listed","path":"dreamer/envs/envs.py","file_url":"https://github.com/kc-ml2/SimpleDreamer/blob/HEAD/dreamer/envs/envs.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":"eeeaaa12d116f451"}},{"code_sha256_prefix":"6f0e4af1cf0bca58","entry":"horizontal_forward","repo":"kc-ml2/SimpleDreamer","repo_kind":"listed","path":"dreamer/utils/utils.py","file_url":"https://github.com/kc-ml2/SimpleDreamer/blob/HEAD/dreamer/utils/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":"6f0e4af1cf0bca58"}},{"code_sha256_prefix":"62f8bfe4848e1fbd","entry":"make_atari_env","repo":"kc-ml2/SimpleDreamer","repo_kind":"listed","path":"dreamer/envs/envs.py","file_url":"https://github.com/kc-ml2/SimpleDreamer/blob/HEAD/dreamer/envs/envs.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":"62f8bfe4848e1fbd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}