{"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/diversity-is-all-you-need-learning-skills","title":"Diversity is All You Need: Learning Skills without a Reward Function","arxiv_id":"1802.06070","date":"2018-02-16","proceeding":"ICLR 2019 5","authors":["Benjamin Eysenbach","Abhishek Gupta","Julian Ibarz","Sergey Levine"],"abstract":"Intelligent creatures can explore their environments and learn useful skills\nwithout supervision. In this paper, we propose DIAYN ('Diversity is All You\nNeed'), a method for learning useful skills without a reward function. Our\nproposed method learns skills by maximizing an information theoretic objective\nusing a maximum entropy policy. On a variety of simulated robotic tasks, we\nshow that this simple objective results in the unsupervised emergence of\ndiverse skills, such as walking and jumping. In a number of reinforcement\nlearning benchmark environments, our method is able to learn a skill that\nsolves the benchmark task despite never receiving the true task reward. We show\nhow pretrained skills can provide a good parameter initialization for\ndownstream tasks, and can be composed hierarchically to solve complex, sparse\nreward tasks. Our results suggest that unsupervised discovery of skills can\nserve as an effective pretraining mechanism for overcoming challenges of\nexploration and data efficiency in reinforcement learning.","url_abs":"http://arxiv.org/abs/1802.06070v6","url_pdf":"http://arxiv.org/pdf/1802.06070v6.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":"diversity-is-all-you-need-learning-skills","repo_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"diversity-is-all-you-need-learning-skills","repo_url":"https://github.com/egiob/diversityisallyouneed-sb3","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"diversity-is-all-you-need-learning-skills","repo_url":"https://github.com/mindspore-courses/Deep-Reinforcement-Learning-Algorithms-with-MindSpore","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mindspore","reach":{"status":"ok"}},{"paper_slug":"diversity-is-all-you-need-learning-skills","repo_url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"all","task_name":"All"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"meta-reinforcement-learning","task_name":"Meta Reinforcement Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"unsupervised-reinforcement-learning","task_name":"Unsupervised Reinforcement Learning"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1802.06070","atlas_url":"https://app.syntology.ai/?focus=1802.06070","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1802.06070"}},"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/mindspore-courses/Deep-Reinforcement-Learning-Algorithms-with-MindSpore","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/egiob/diversityisallyouneed-sb3","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/alirezakazemipour/DIAYN-PyTorch","reach":null}],"summary":{"ran":5,"unverified":6},"by_repo_kind":{"listed":{"samples":11,"ran":5,"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":"6cb01147c4e509a3","entry":"Discriminator","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6cb01147c4e509a3"}},{"code_sha256_prefix":"b9f1643b2317c893","entry":"Memory","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.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":"b9f1643b2317c893"}},{"code_sha256_prefix":"f94f400f8198fffa","entry":"PolicyNetwork","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f94f400f8198fffa"}},{"code_sha256_prefix":"80c6f43e5b975034","entry":"QvalueNetwork","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80c6f43e5b975034"}},{"code_sha256_prefix":"7149f4b47fc8f92f","entry":"ValueNetwork","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7149f4b47fc8f92f"}},{"code_sha256_prefix":"b5094696507eef80","entry":"SACAgent","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.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":"b5094696507eef80"}},{"code_sha256_prefix":"5abea37f033582d3","entry":"init_weight","repo":"alirezakazemipour/DIAYN-PyTorch","repo_kind":"listed","path":"Brain/agent.py","file_url":"https://github.com/alirezakazemipour/DIAYN-PyTorch/blob/HEAD/Brain/agent.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":"5abea37f033582d3"}},{"code_sha256_prefix":"430c8be20a33317f","entry":"normalize_env","repo":"navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","repo_kind":"listed","path":"maml_rl/envs/normalized_env.py","file_url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning/blob/HEAD/maml_rl/envs/normalized_env.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":"430c8be20a33317f"}},{"code_sha256_prefix":"e70b539f75e44f24","entry":"total_rewards","repo":"navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","repo_kind":"listed","path":"t_maml_rl.py","file_url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning/blob/HEAD/t_maml_rl.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":"e70b539f75e44f24"}},{"code_sha256_prefix":"9bb3898b9bf31939","entry":"value_iteration","repo":"navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","repo_kind":"listed","path":"maml_rl/utils/reinforcement_learning.py","file_url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning/blob/HEAD/maml_rl/utils/reinforcement_learning.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":"9bb3898b9bf31939"}},{"code_sha256_prefix":"788406b2cba7e7a9","entry":"value_iteration_finite_horizon","repo":"navneet-nmk/Hierarchical-Meta-Reinforcement-Learning","repo_kind":"listed","path":"maml_rl/utils/reinforcement_learning.py","file_url":"https://github.com/navneet-nmk/Hierarchical-Meta-Reinforcement-Learning/blob/HEAD/maml_rl/utils/reinforcement_learning.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":"788406b2cba7e7a9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}