{"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/dart-noise-injection-for-robust-imitation","title":"DART: Noise Injection for Robust Imitation Learning","arxiv_id":"1703.09327","date":"2017-03-27","proceeding":null,"authors":["Michael Laskey","Jonathan Lee","Roy Fox","Anca Dragan","Ken Goldberg"],"abstract":"One approach to Imitation Learning is Behavior Cloning, in which a robot\nobserves a supervisor and infers a control policy. A known problem with this\n\"off-policy\" approach is that the robot's errors compound when drifting away\nfrom the supervisor's demonstrations. On-policy, techniques alleviate this by\niteratively collecting corrective actions for the current robot policy.\nHowever, these techniques can be tedious for human supervisors, add significant\ncomputation burden, and may visit dangerous states during training. We propose\nan off-policy approach that injects noise into the supervisor's policy while\ndemonstrating. This forces the supervisor to demonstrate how to recover from\nerrors. We propose a new algorithm, DART (Disturbances for Augmenting Robot\nTrajectories), that collects demonstrations with injected noise, and optimizes\nthe noise level to approximate the error of the robot's trained policy during\ndata collection. We compare DART with DAgger and Behavior Cloning in two\ndomains: in simulation with an algorithmic supervisor on the MuJoCo tasks\n(Walker, Humanoid, Hopper, Half-Cheetah) and in physical experiments with human\nsupervisors training a Toyota HSR robot to perform grasping in clutter. For\nhigh dimensional tasks like Humanoid, DART can be up to $3x$ faster in\ncomputation time and only decreases the supervisor's cumulative reward by $5\\%$\nduring training, whereas DAgger executes policies that have $80\\%$ less\ncumulative reward than the supervisor. On the grasping in clutter task, DART\nobtains on average a $62\\%$ performance increase over Behavior Cloning.","url_abs":"http://arxiv.org/abs/1703.09327v2","url_pdf":"http://arxiv.org/pdf/1703.09327v2.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":"dart-noise-injection-for-robust-imitation","repo_url":"https://github.com/BerkeleyAutomation/DART","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"dart-noise-injection-for-robust-imitation","repo_url":"https://github.com/autonomousvision/data_aggregation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"},{"task_slug":"mujoco","task_name":"MuJoCo"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1703.09327","atlas_url":"https://app.syntology.ai/?focus=1703.09327","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1703.09327"}},"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/autonomousvision/data_aggregation","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BerkeleyAutomation/DART","reach":{"status":"ok"}}],"summary":{"unverified":10},"by_repo_kind":{"listed":{"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":"87273213a56fc20f","entry":"augment_steering","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"plotter/data_reading.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/plotter/data_reading.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":"87273213a56fc20f"}},{"code_sha256_prefix":"252a47f58db78ddf","entry":"extract_branch","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"coil_core/run_entropy.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/coil_core/run_entropy.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":"252a47f58db78ddf"}},{"code_sha256_prefix":"662ea0d4b19437e7","entry":"forward_speed","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"input/data_parser.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/input/data_parser.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":"662ea0d4b19437e7"}},{"code_sha256_prefix":"44e842740ed1f9fa","entry":"get_episode_weather","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"coil_core/run_entropy.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/coil_core/run_entropy.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":"44e842740ed1f9fa"}},{"code_sha256_prefix":"53d015f5010ad159","entry":"get_episode_weather","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"coil_core/save_activations.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/coil_core/save_activations.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":"53d015f5010ad159"}},{"code_sha256_prefix":"d7d21e27f79569e4","entry":"get_speed","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"input/data_parser.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/input/data_parser.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":"d7d21e27f79569e4"}},{"code_sha256_prefix":"502f5cc0107a1ea1","entry":"orientation_vector","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"input/data_parser.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/input/data_parser.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":"502f5cc0107a1ea1"}},{"code_sha256_prefix":"079adab03cba29bd","entry":"parse_remove_configuration","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"coil_core/run_entropy.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/coil_core/run_entropy.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":"079adab03cba29bd"}},{"code_sha256_prefix":"f0b374f16bc7fdb8","entry":"read_summary_csv","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"plotter/data_reading.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/plotter/data_reading.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":"f0b374f16bc7fdb8"}},{"code_sha256_prefix":"c604afd6c6700e86","entry":"read_summary_tasks_csv","repo":"autonomousvision/data_aggregation","repo_kind":"listed","path":"plotter/data_reading.py","file_url":"https://github.com/autonomousvision/data_aggregation/blob/HEAD/plotter/data_reading.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":"c604afd6c6700e86"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}