SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2101.08152 · ICLR · 2021

Rank the Episodes: A Simple Approach for Exploration in Procedurally-Generated Environments

Ji Liu, Daochen Zha, Wenye Ma, Lei Yuan, Xia Hu

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 28 functions out of this paper's own repositories and ran 14 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
daochenzha/rapid canonical 4 of 5
aklein1995/exploration_sil_im — 10 of 23
FunctionStatusWhere it lives
BeBold Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("ad5584bf82eab7fe")
Counter Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("978c689ae69157a3")
Counter Ran daochenzha/rapid/rapid/buffer.py
code served (permissive licence) · get_code("d6eaff6eabe8943b")
HumanOutputFormat Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("242a79b49bc8f5de")
JSONOutputFormat Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("081800d1f215fd82")
Logger Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("ecaf9ce3efa32820")
constfn Ran daochenzha/rapid/rapid/agent.py
code served (permissive licence) · get_code("8758308dc6c0727f")
explained_variance Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("6f9580f36835d52d")
get_current Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("f0b5e724afa08592")
get_dir Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("19fa70dab4a7056f")
get_local_bonus Ran daochenzha/rapid/rapid/buffer.py
code served (permissive licence) · get_code("1bd23d9c5df7763c")
get_rank_without_mpi_import Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("3c4301eba0f1aaf2")
make_output_format Ran aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("8b7334946d2ed532")
sf01 Ran daochenzha/rapid/rapid/agent.py
code served (permissive licence) · get_code("baf2a28d376d7803")
AbstractEnvRunner Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("b21a3fc9290718d4")
CSVOutputFormat Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("0c58056d576d9ba8")
Model Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("efd67c7b09262d14")
RankingBuffer Not yet run daochenzha/rapid/rapid/buffer.py
code served (permissive licence) · get_code("c0f83827d6c75fca")
Runner Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("b18fdb2df2966f99")
TensorBoardOutputFormat Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("07d722b0c7f269f6")
_configure_default_logger Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("5b226f8121d5718b")
configure Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("819a51a05cef8459")
info Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("b5664e29a5753d3d")
learn_rapid Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("e22453516d7e1e51")
limit_cuda_visible_devices Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("13289659b2b68f4f")
log Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("420a7935bc54a351")
make_session Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("8db9834e56303b87")
set_global_seeds Not yet run aklein1995/exploration_sil_im/rapid/rapid_agent.py
code served (permissive licence) · get_code("cbb527600328539c")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Exploration under sparse reward is a long-standing challenge of model-free reinforcement learning. The state-of-the-art methods address this challenge by introducing intrinsic rewards to encourage exploration in novel states or uncertain environment dynamics. Unfortunately, methods based on intrinsic rewards often fall short in procedurally-generated environments, where a different environment is generated in each episode so that the agent is not likely to visit the same state more than once. Motivated by how humans distinguish good exploration behaviors by looking into the entire episode, we introduce RAPID, a simple yet effective episode-level exploration method for procedurally-generated environments. RAPID regards each episode as a whole and gives an episodic exploration score from both per-episode and long-term views. Those highly scored episodes are treated as good exploration behaviors and are stored in a small ranking buffer. The agent then imitates the episodes in the buffer to reproduce the past good exploration behaviors. We demonstrate our method on several procedurally-generated MiniGrid environments, a first-person-view 3D Maze navigation task from MiniWorld, and several sparse MuJoCo tasks. The results show that RAPID significantly outperforms the state-of-the-art intrinsic reward strategies in terms of sample efficiency and final performance. The code is available at https://github.com/daochenzha/rapid.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2101.08152")
get_code_for_paper("2101.08152")
have("2101.08152")

Connect an agent — have() is free.