{"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/learning-to-drive-from-a-world-on-rails","title":"Learning to drive from a world on rails","arxiv_id":"2105.00636","date":"2021-05-03","proceeding":"ICCV 2021 10","authors":["Dian Chen","Vladlen Koltun","Philipp Krähenbühl"],"abstract":"We learn an interactive vision-based driving policy from pre-recorded driving logs via a model-based approach. A forward model of the world supervises a driving policy that predicts the outcome of any potential driving trajectory. To support learning from pre-recorded logs, we assume that the world is on rails, meaning neither the agent nor its actions influence the environment. This assumption greatly simplifies the learning problem, factorizing the dynamics into a nonreactive world model and a low-dimensional and compact forward model of the ego-vehicle. Our approach computes action-values for each training trajectory using a tabular dynamic-programming evaluation of the Bellman equations; these action-values in turn supervise the final vision-based driving policy. Despite the world-on-rails assumption, the final driving policy acts well in a dynamic and reactive world. At the time of writing, our method ranks first on the CARLA leaderboard, attaining a 25% higher driving score while using 40 times less data. Our method is also an order of magnitude more sample-efficient than state-of-the-art model-free reinforcement learning techniques on navigational tasks in the ProcGen benchmark.","url_abs":"https://arxiv.org/abs/2105.00636v3","url_pdf":"https://arxiv.org/pdf/2105.00636v3.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":"learning-to-drive-from-a-world-on-rails","repo_url":"https://github.com/dotchen/WorldOnRails","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"carla-longest6","task_name":"CARLA longest6"},{"task_slug":"model-based-reinforcement-learning","task_name":"Model-based Reinforcement Learning"}],"methods":[{"method_slug":"carla","method_name":"CARLA"},{"method_slug":"entropy-regularization","method_name":"Entropy Regularization"},{"method_slug":"ppo","method_name":"PPO"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/autonomous-driving-on-carla-leaderboard","task":"Autonomous Driving","dataset":"CARLA Leaderboard","model":"World on Rails","rank_in_archive_order":13,"of":18,"metrics":{"Driving Score":"31.37","Infraction penalty":"0.56","Route Completion":"57.65"},"uses_additional_data":false},{"leaderboard":"/sota/carla-longest6-on-carla","task":"CARLA longest6","dataset":"CARLA","model":"World on Rails (WOR)","rank_in_archive_order":21,"of":21,"metrics":{"Driving Score":"21","Infraction Score":"0.56","Route Completion":"48"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2105.00636","atlas_url":"https://app.syntology.ai/?focus=2105.00636","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.00636"}},"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/dotchen/WorldOnRails","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"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":"2a80220dabcb742a","entry":"conv1x1","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"common/resnet.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/common/resnet.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":"2a80220dabcb742a"}},{"code_sha256_prefix":"600ff2c45e0de056","entry":"conv3x3","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"common/resnet.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/common/resnet.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":"600ff2c45e0de056"}},{"code_sha256_prefix":"c00521713304b207","entry":"data_loader","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"lbc/dataset.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/lbc/dataset.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":"c00521713304b207"}},{"code_sha256_prefix":"b3bb575a2ae4a9a3","entry":"resnet18","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"common/resnet.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/common/resnet.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":"b3bb575a2ae4a9a3"}},{"code_sha256_prefix":"4e0c888a0e17a5c2","entry":"rotate_image","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"lbc/dataset.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/lbc/dataset.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":"4e0c888a0e17a5c2"}},{"code_sha256_prefix":"a6cfa7c27ba256d1","entry":"rotate_points","repo":"dotchen/WorldOnRails","repo_kind":"official","path":"lbc/dataset.py","file_url":"https://github.com/dotchen/WorldOnRails/blob/HEAD/lbc/dataset.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":"a6cfa7c27ba256d1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}