{"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/safe-driving-via-expert-guided-policy","title":"Safe Driving via Expert Guided Policy Optimization","arxiv_id":"2110.06831","date":"2021-10-13","proceeding":null,"authors":["Zhenghao Peng","Quanyi Li","Chunxiao Liu","Bolei Zhou"],"abstract":"When learning common skills like driving, beginners usually have domain experts standing by to ensure the safety of the learning process. We formulate such learning scheme under the Expert-in-the-loop Reinforcement Learning where a guardian is introduced to safeguard the exploration of the learning agent. While allowing the sufficient exploration in the uncertain environment, the guardian intervenes under dangerous situations and demonstrates the correct actions to avoid potential accidents. Thus ERL enables both exploration and expert's partial demonstration as two training sources. Following such a setting, we develop a novel Expert Guided Policy Optimization (EGPO) method which integrates the guardian in the loop of reinforcement learning. The guardian is composed of an expert policy to generate demonstration and a switch function to decide when to intervene. Particularly, a constrained optimization technique is used to tackle the trivial solution that the agent deliberately behaves dangerously to deceive the expert into taking over. Offline RL technique is further used to learn from the partial demonstration generated by the expert. Safe driving experiments show that our method achieves superior training and test-time safety, outperforms baselines with a substantial margin in sample efficiency, and preserves the generalizabiliy to unseen environments in test-time. Demo video and source code are available at: https://decisionforce.github.io/EGPO/","url_abs":"https://arxiv.org/abs/2110.06831v2","url_pdf":"https://arxiv.org/pdf/2110.06831v2.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":"safe-driving-via-expert-guided-policy","repo_url":"https://github.com/decisionforce/EGPO","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"offline-rl","task_name":"Offline RL"},{"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":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2110.06831","atlas_url":"https://app.syntology.ai/?focus=2110.06831","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.06831"}},"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/decisionforce/EGPO","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"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":"af575f58b460350e","entry":"evaluation","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/dagger/utils.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/dagger/utils.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":"af575f58b460350e"}},{"code_sha256_prefix":"4d895703e220b5c7","entry":"expert_action_prob","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/common.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/common.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":"4d895703e220b5c7"}},{"code_sha256_prefix":"ba9866d5ca98b347","entry":"load_weights","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/common.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/common.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":"ba9866d5ca98b347"}},{"code_sha256_prefix":"8de92459dc204a33","entry":"normpdf","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/common.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/common.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":"8de92459dc204a33"}},{"code_sha256_prefix":"9f3d7ae1afa48207","entry":"q_values_repeat","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/cql/cql_torch_policy.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/cql/cql_torch_policy.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":"9f3d7ae1afa48207"}},{"code_sha256_prefix":"6b4634f434ef937f","entry":"read_data","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/dagger/utils.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/dagger/utils.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":"6b4634f434ef937f"}},{"code_sha256_prefix":"bed0ee7da33e108c","entry":"train_model","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/dagger/utils.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/dagger/utils.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":"bed0ee7da33e108c"}},{"code_sha256_prefix":"772021ac4a5f7410","entry":"policy_actions_repeat","repo":"decisionforce/EGPO","repo_kind":"official","path":"egpo_utils/cql/cql_torch_policy.py","file_url":"https://github.com/decisionforce/EGPO/blob/HEAD/egpo_utils/cql/cql_torch_policy.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":"772021ac4a5f7410"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}