{"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/zpd-teaching-strategies-for-deep","title":"ZPD Teaching Strategies for Deep Reinforcement Learning from Demonstrations","arxiv_id":"1910.12154","date":"2019-10-26","proceeding":null,"authors":["Daniel Seita","David Chan","Roshan Rao","Chen Tang","Mandi Zhao","John Canny"],"abstract":"Learning from demonstrations is a popular tool for accelerating and reducing the exploration requirements of reinforcement learning. When providing expert demonstrations to human students, we know that the demonstrations must fall within a particular range of difficulties called the \"Zone of Proximal Development (ZPD)\". If they are too easy the student learns nothing, but if they are too difficult the student is unable to follow along. This raises the question: Given a set of potential demonstrators, which among them is best suited for teaching any particular learner? Prior work, such as the popular Deep Q-learning from Demonstrations (DQfD) algorithm has generally focused on single demonstrators. In this work we consider the problem of choosing among multiple demonstrators of varying skill levels. Our results align with intuition from human learners: it is not always the best policy to draw demonstrations from the best performing demonstrator (in terms of reward). We show that careful selection of teaching strategies can result in sample efficiency gains in the learner's environment across nine Atari games","url_abs":"https://arxiv.org/abs/1910.12154v1","url_pdf":"https://arxiv.org/pdf/1910.12154v1.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":"zpd-teaching-strategies-for-deep","repo_url":"https://github.com/DanielTakeshi/dqn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"zpd-teaching-strategies-for-deep","repo_url":"https://github.com/RevanMacQueen/LearningFromHumans","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"atari-games","task_name":"Atari Games"},{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"q-learning","task_name":"Q-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":[{"method_slug":"q-learning","method_name":"Q-Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1910.12154","atlas_url":"https://app.syntology.ai/?focus=1910.12154","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.12154"}},"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/RevanMacQueen/LearningFromHumans","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DanielTakeshi/dqn","reach":{"status":"ok"}}],"summary":{"ran":6,"unverified":1},"by_repo_kind":{"listed":{"samples":7,"ran":6,"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":"b2fbd25f4df143eb","entry":"convert_str_to_type","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/utils/config.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/utils/config.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b2fbd25f4df143eb"}},{"code_sha256_prefix":"cf49e0670274da2b","entry":"make_atari","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/envs/atari.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/envs/atari.py","link_basis":"harvester_set","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":"cf49e0670274da2b"}},{"code_sha256_prefix":"0c8ce2af5b547951","entry":"read_json","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/utils/io.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/utils/io.py","link_basis":"harvester_set","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":"0c8ce2af5b547951"}},{"code_sha256_prefix":"7b7ecea431823fff","entry":"read_pickle","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/utils/io.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/utils/io.py","link_basis":"harvester_set","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":"7b7ecea431823fff"}},{"code_sha256_prefix":"d6463150dc6452b4","entry":"read_trajectory","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/utils/io.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/utils/io.py","link_basis":"harvester_set","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":"d6463150dc6452b4"}},{"code_sha256_prefix":"bfecf5132a09da6a","entry":"wrap_deepmind","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/envs/atari.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/envs/atari.py","link_basis":"harvester_set","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":"bfecf5132a09da6a"}},{"code_sha256_prefix":"06128276029b84db","entry":"make_env","repo":"RevanMacQueen/LearningFromHumans","repo_kind":"listed","path":"lfh/envs/atari.py","file_url":"https://github.com/RevanMacQueen/LearningFromHumans/blob/HEAD/lfh/envs/atari.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":"06128276029b84db"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}