Agents can be trained with Reinforcement Learning (RL) to successfully accomplish tasks by maximising a reward signal that encourages correct behaviors and penalizes wrong actions. For instance, agents can learn to play video games by maximizing the game score [1]} or achieve robotic manipulation tasks, such as solving a Rubik's cube [2]}, by following human-engineered rewards. However, how to correctly define reward functions to develop general skills remains an unsolved problem, and it is likely to stumble across undesired behaviours when designing rewards for complex tasks [3]}, [4]}, [5]}, [6]}.
