{"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/exploring-the-limitations-of-behavior-cloning","title":"Exploring the Limitations of Behavior Cloning for Autonomous Driving","arxiv_id":"1904.08980","date":"2019-04-18","proceeding":"ICCV 2019 10","authors":["Felipe Codevilla","Eder Santana","Antonio M. López","Adrien Gaidon"],"abstract":"Driving requires reacting to a wide variety of complex environment conditions\nand agent behaviors. Explicitly modeling each possible scenario is unrealistic.\nIn contrast, imitation learning can, in theory, leverage data from large fleets\nof human-driven cars. Behavior cloning in particular has been successfully used\nto learn simple visuomotor policies end-to-end, but scaling to the full\nspectrum of driving behaviors remains an unsolved problem. In this paper, we\npropose a new benchmark to experimentally investigate the scalability and\nlimitations of behavior cloning. We show that behavior cloning leads to\nstate-of-the-art results, including in unseen environments, executing complex\nlateral and longitudinal maneuvers without these reactions being explicitly\nprogrammed. However, we confirm well-known limitations (due to dataset bias and\noverfitting), new generalization issues (due to dynamic objects and the lack of\na causal model), and training instability requiring further research before\nbehavior cloning can graduate to real-world driving. The code of the studied\nbehavior cloning approaches can be found at\nhttps://github.com/felipecode/coiltraine .","url_abs":"http://arxiv.org/abs/1904.08980v1","url_pdf":"http://arxiv.org/pdf/1904.08980v1.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":"exploring-the-limitations-of-behavior-cloning","repo_url":"https://github.com/felipecode/coiltraine","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"exploring-the-limitations-of-behavior-cloning","repo_url":"https://github.com/Suryavf/SelfDrivingCar","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"imitation-learning","task_name":"Imitation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/autonomous-driving-on-carla-leaderboard","task":"Autonomous Driving","dataset":"CARLA Leaderboard","model":"CILRS","rank_in_archive_order":18,"of":18,"metrics":{"Driving Score":"5.37","Infraction penalty":"0.55","Route Completion":"14.40"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.08980","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.08980"}},"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/felipecode/coiltraine","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Suryavf/SelfDrivingCar","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"official":{"samples":8,"ran":1,"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":"c882c504d11f2b36","entry":"get_actor_display_name","repo":"felipecode/coiltraine","repo_kind":"official","path":"model_view/carla09interface.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/model_view/carla09interface.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c882c504d11f2b36"}},{"code_sha256_prefix":"c04d66ffd473a47d","entry":"CoILModel","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/coil_model.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/coil_model.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":"c04d66ffd473a47d"}},{"code_sha256_prefix":"4e12f4e418b881c1","entry":"l1","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss.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":"4e12f4e418b881c1"}},{"code_sha256_prefix":"482100396fe09069","entry":"l1_attention","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss.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":"482100396fe09069"}},{"code_sha256_prefix":"55241c7aaf9ca5a1","entry":"l2","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss.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":"55241c7aaf9ca5a1"}},{"code_sha256_prefix":"c1443550f912c8aa","entry":"normalize","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss_functional.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss_functional.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":"c1443550f912c8aa"}},{"code_sha256_prefix":"c0c42913959fe85f","entry":"weight_decay_l1","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss_functional.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss_functional.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":"c0c42913959fe85f"}},{"code_sha256_prefix":"6d499286e3718d0e","entry":"weight_decay_l2","repo":"felipecode/coiltraine","repo_kind":"official","path":"network/loss_functional.py","file_url":"https://github.com/felipecode/coiltraine/blob/HEAD/network/loss_functional.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":"6d499286e3718d0e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}