/Awesome-Causal-RL

A curated list of causal reinforcement learning resources.

Apache License 2.0Apache-2.0

Awesome Causal Reinforcement Learning

Awesome GitHub stars GitHub forks License

The goal of this repository is to provide a curated list of resources in Causal Reinforcement Learning (RL). If you have any suggestions (missing papers, tutorials, typos, or amazing blog posts), please feel free to edit and pull a request. If you find this repo helpful, please give us a star ⭐.

For people who are new to this field, we strongly recommend you to read our comprehensive survey published on TMLR (2023): Causal Reinforcement Learning: A Survey as a starting point. You may also find the slides of our tutorial at ADMA 2023 helpful 😉.

Table of Contents

A Brief Overview

In practical reinforcement learning applications, understanding causality is of great significance. Take a peek at the real-life scenarios shown in the above figure:

  • Imagine you're teaching a robot agent to grab things. Seems straightforward, right? But it's not just about what the robot does; it's about figureing out why certain actions can lead to the expected outcomes. If a factor changes, how does it affect the result?
  • Now, let's think about an agent trying to determine the treatment in medical scenarios. While it can access a patient's medical history, hidden factors sometimes mess things up. Maybe the socioeconomic status affects how the patients respond to treatments, and such info is missing in the records. How can the agent make the best decision under such unobserved confounders?
  • Then there's autonomous driving. To ensure safety, agents must learn from both past experiences and hypothetical scenarios where they took different actions. For instance, would a crash have occurred if the vehicle hadn't slowed down? Here, counterfactual thinking aids in safer driving.

In all these cases, causality plays a key role in decision-making, yet teaching agents to think causally is not a walk in the park. In recent years, researchers have been actively exploring systematic approaches to integrate causality into the realm of reinforcement learning, giving rise to an emerging field known as causal RL:

Causal RL is an umbrella term for RL approaches that incorporate additional assumptions or prior knowledge to analyze and understand the causal mechanisms underlying actions and their consequences, enabling agents to make more informed and effective decisions.

This definition emphasizes two fundamental aspects that distinguish causal RL from non-causal RL. 1) It emphasizes a focus on causality, seeking to advance beyond superficial associations or data patterns. To meet this goal, 2) it necessitates the incorporation of additional assumptions or knowledge that accounts for the causal relationships inherent in decision-making problems.

Talks

format:
- [title](link) [other links]
    - author1, author2, and author3...
    - conference or activity

Papers

format:
- [title](paper link) [other links]
  - author1, author2, and author3...
  - keyword
  - code

2023

2022

2021

2020

2019 and before

Environments

format:
- [name](link) [other links]
  - author1, author2, and author3...
  - description
  • Emei
    • Description: Emei is an open source Python library for developing of causal model-based reinforcement learning algorithms by providing a standard API to communicate between learning algorithms and environments, as well as a standard set of environments compliant with that API. Emei is a re-encapsulation of Openai Gym(will be replaced by Gymnasium soon).
  • CausalMBRL
    • Nan Rosemary Ke, Aniket Didolkar, Sarthak Mittal, Anirudh Goyal, Guillaume Lajoie, Stefan Bauer, Danilo Rezende, Yoshua Bengio, Michael Mozer, Christopher Pal
    • Description: The CausalMBRL dataset is created to test the causal learning abilities of model-based reinforcement learning agents. It contains 2 environments: The Physics Environment and The Chemistry Environment. Both the environments consist of blocks of various colors, shapes, and weights placed in a grid. For both the environments,there exists a ground-truth causal graph which dictates how the blocks interact. This graph is unknown to the model and should be discovered by it through interactions with the environment.
  • CausalWorld [Website]
    • CausalWorld is an open-source simulation framework and benchmark for causal structure and transfer learning in a robotic manipulation environment (powered by bullet) where tasks range from rather simple to extremely hard. Tasks consist of constructing 3D shapes from a given set of blocks - inspired by how children learn to build complex structures.
  • Contextual Grid-world
    • Hamid Eghbal-zadeh*, Florian Henkel* and Gerhard Widmer
    • Description: Agents are trained on a set of training contexts, and are evaluated on two different sets of testing contexts. The aim is to evaluate how well agents captured the causal variables from the training, and can reason to correctly infer and generalise to new (test) contexts.

Others

Contributing

If you are interested in contributing, please refer to HERE for instructions in contribution.

License

This project is released under the Apache 2.0 license.