{"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/revisiting-the-minimalist-approach-to-offline","title":"Revisiting the Minimalist Approach to Offline Reinforcement Learning","arxiv_id":"2305.09836","date":"2023-05-16","proceeding":"NeurIPS 2023 11","authors":["Denis Tarasov","Vladislav Kurenkov","Alexander Nikulin","Sergey Kolesnikov"],"abstract":"Recent years have witnessed significant advancements in offline reinforcement learning (RL), resulting in the development of numerous algorithms with varying degrees of complexity. While these algorithms have led to noteworthy improvements, many incorporate seemingly minor design choices that impact their effectiveness beyond core algorithmic advances. However, the effect of these design choices on established baselines remains understudied. In this work, we aim to bridge this gap by conducting a retrospective analysis of recent works in offline RL and propose ReBRAC, a minimalistic algorithm that integrates such design elements built on top of the TD3+BC method. We evaluate ReBRAC on 51 datasets with both proprioceptive and visual state spaces using D4RL and V-D4RL benchmarks, demonstrating its state-of-the-art performance among ensemble-free methods in both offline and offline-to-online settings. To further illustrate the efficacy of these design choices, we perform a large-scale ablation study and hyperparameter sensitivity analysis on the scale of thousands of experiments.","url_abs":"https://arxiv.org/abs/2305.09836v2","url_pdf":"https://arxiv.org/pdf/2305.09836v2.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":"revisiting-the-minimalist-approach-to-offline","repo_url":"https://github.com/dt6a/rebrac","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null},{"paper_slug":"revisiting-the-minimalist-approach-to-offline","repo_url":"https://github.com/adamjelley/efficientofflinerl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"revisiting-the-minimalist-approach-to-offline","repo_url":"https://github.com/takuseno/d3rlpy","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"d4rl","task_name":"D4RL"},{"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":{"atlas_url":"https://app.syntology.ai/?focus=2305.09836","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.09836"}},"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/takuseno/d3rlpy","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dt6a/rebrac","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adamjelley/efficientofflinerl","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"ran":3,"ran_honours":2,"unverified":9},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":15,"ran":6,"repositories":2}},"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":"4e08ac58e3891cfb","entry":"compute_mean_std","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/any_percent_bc.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/any_percent_bc.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4e08ac58e3891cfb"}},{"code_sha256_prefix":"639b4986c270df90","entry":"compute_mean_std","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/iql.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/iql.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":2,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"639b4986c270df90"}},{"code_sha256_prefix":"f1082bd682dc3cf0","entry":"discounted_cumsum","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/dt.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/dt.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f1082bd682dc3cf0"}},{"code_sha256_prefix":"ba80f9ff81b1de5f","entry":"normalize_states","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/any_percent_bc.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/any_percent_bc.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ba80f9ff81b1de5f"}},{"code_sha256_prefix":"47482b0dd3325c35","entry":"pad_along_axis","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/dt.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/dt.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"47482b0dd3325c35"}},{"code_sha256_prefix":"136a4348dc060901","entry":"return_reward_range","repo":"dt6a/rebrac","repo_kind":"official","path":"src/algorithms/rebrac_torch_vis.py","file_url":"https://github.com/dt6a/rebrac/blob/HEAD/src/algorithms/rebrac_torch_vis.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"136a4348dc060901"}},{"code_sha256_prefix":"637dc1e936615e64","entry":"wrap_env","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/dt.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/dt.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"637dc1e936615e64"}},{"code_sha256_prefix":"041f98fc8573d532","entry":"asdict_as_float","repo":"takuseno/d3rlpy","repo_kind":"listed","path":"d3rlpy/dataclass_utils.py","file_url":"https://github.com/takuseno/d3rlpy/blob/HEAD/d3rlpy/dataclass_utils.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":"041f98fc8573d532"}},{"code_sha256_prefix":"42fee5768773ac46","entry":"asdict_without_copy","repo":"takuseno/d3rlpy","repo_kind":"listed","path":"d3rlpy/dataclass_utils.py","file_url":"https://github.com/takuseno/d3rlpy/blob/HEAD/d3rlpy/dataclass_utils.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":"42fee5768773ac46"}},{"code_sha256_prefix":"d0c4a0aa6c8b23c1","entry":"discount_cumsum","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/cql.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/cql.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d0c4a0aa6c8b23c1"}},{"code_sha256_prefix":"04ad4ada1fd13ab2","entry":"discount_cumsum","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/edac.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/edac.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"04ad4ada1fd13ab2"}},{"code_sha256_prefix":"e258d5be5c961c7a","entry":"discount_cumsum","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/sac_n.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/sac_n.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e258d5be5c961c7a"}},{"code_sha256_prefix":"027b4e46e81ee939","entry":"init_process_group","repo":"takuseno/d3rlpy","repo_kind":"listed","path":"d3rlpy/distributed.py","file_url":"https://github.com/takuseno/d3rlpy/blob/HEAD/d3rlpy/distributed.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":"027b4e46e81ee939"}},{"code_sha256_prefix":"80f4da28d1c7ef4f","entry":"wrap_env","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/awac.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/awac.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"80f4da28d1c7ef4f"}},{"code_sha256_prefix":"4dd56ecf0f797666","entry":"wrap_env","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/any_percent_bc.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/any_percent_bc.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4dd56ecf0f797666"}},{"code_sha256_prefix":"a8341f5e34d50ae6","entry":"wrap_env","repo":"adamjelley/efficientofflinerl","repo_kind":"listed","path":"algorithms/iql.py","file_url":"https://github.com/adamjelley/efficientofflinerl/blob/HEAD/algorithms/iql.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a8341f5e34d50ae6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}