{"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/the-magical-benchmark-for-robust-imitation","title":"The MAGICAL Benchmark for Robust Imitation","arxiv_id":"2011.00401","date":"2020-11-01","proceeding":"NeurIPS 2020 12","authors":["Sam Toyer","Rohin Shah","Andrew Critch","Stuart Russell"],"abstract":"Imitation Learning (IL) algorithms are typically evaluated in the same environment that was used to create demonstrations. This rewards precise reproduction of demonstrations in one particular environment, but provides little information about how robustly an algorithm can generalise the demonstrator's intent to substantially different deployment settings. This paper presents the MAGICAL benchmark suite, which permits systematic evaluation of generalisation by quantifying robustness to different kinds of distribution shift that an IL algorithm is likely to encounter in practice. Using the MAGICAL suite, we confirm that existing IL algorithms overfit significantly to the context in which demonstrations are provided. We also show that standard methods for reducing overfitting are effective at creating narrow perceptual invariances, but are not sufficient to enable transfer to contexts that require substantially different behaviour, which suggests that new approaches will be needed in order to robustly generalise demonstrator intent. Code and data for the MAGICAL suite is available at https://github.com/qxcv/magical/.","url_abs":"https://arxiv.org/abs/2011.00401v1","url_pdf":"https://arxiv.org/pdf/2011.00401v1.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":"the-magical-benchmark-for-robust-imitation","repo_url":"https://github.com/qxcv/magical","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"ISC"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2011.00401","atlas_url":"https://app.syntology.ai/?focus=2011.00401","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2011.00401"}},"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":"deterministic:regex_extraction","url":"https://github.com/qxcv/magical","reach":{"status":"ok","spdx":"ISC"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"6009fc6a277441d3","entry":"darken_rgb","repo":"qxcv/magical","repo_kind":"official","path":"magical/style.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/style.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"6009fc6a277441d3"}},{"code_sha256_prefix":"9787f11078da23f3","entry":"get_display","repo":"qxcv/magical","repo_kind":"official","path":"magical/gym_render.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/gym_render.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"9787f11078da23f3"}},{"code_sha256_prefix":"affa8da28334940f","entry":"get_unique_fn","repo":"qxcv/magical","repo_kind":"official","path":"magical/__main__.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/__main__.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"affa8da28334940f"}},{"code_sha256_prefix":"6d496932d2281447","entry":"latexify_results","repo":"qxcv/magical","repo_kind":"official","path":"magical/evaluation.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"6d496932d2281447"}},{"code_sha256_prefix":"2d34512f6bbd54b5","entry":"lighten_rgb","repo":"qxcv/magical","repo_kind":"official","path":"magical/style.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/style.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"2d34512f6bbd54b5"}},{"code_sha256_prefix":"ca242cebfe737210","entry":"make_circle","repo":"qxcv/magical","repo_kind":"official","path":"magical/gym_render.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/gym_render.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"ca242cebfe737210"}},{"code_sha256_prefix":"9995efb7b9dd9a25","entry":"regular_poly_apothem_to_side_legnth","repo":"qxcv/magical","repo_kind":"official","path":"magical/geom.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/geom.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"9995efb7b9dd9a25"}},{"code_sha256_prefix":"042770b0f4e8a0c0","entry":"regular_poly_circ_rad_to_side_length","repo":"qxcv/magical","repo_kind":"official","path":"magical/geom.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/geom.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"042770b0f4e8a0c0"}},{"code_sha256_prefix":"c5ceb3580b3286f5","entry":"regular_poly_circumrad","repo":"qxcv/magical","repo_kind":"official","path":"magical/geom.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/geom.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"c5ceb3580b3286f5"}},{"code_sha256_prefix":"4010fcbb54d3f347","entry":"rgb","repo":"qxcv/magical","repo_kind":"official","path":"magical/style.py","file_url":"https://github.com/qxcv/magical/blob/HEAD/magical/style.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"ISC","inline_ok":true,"mcp_get_code":{"code_sha256":"4010fcbb54d3f347"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}