Code repository for the research project "You Play Ball, I Play Ball: Bayesian Multi-Agent Reinforcement Learning for Slime Volleyball".
Presented at National University of Singapore - 17th School of Computing Term Project Showcase (17th STePS).
Click here to view interesting agent behaviour and notice the differences between agents and their Bayesian counterparts! Click here for a introductory video.
In Slime Volleyball, a two-player competitive game, we investigate how modelling uncertainty improves AI players’ learning in 3 ways: 1) against an expert, 2) against itself and 3) against each other, in the domain of multi-agent reinforcement learning (MARL).
We show that by modelling uncertainty, Bayesian methods improve MARL training in 4 ways: 1) performance, 2) training stability, 3) uncertainty and 4) generalisability, and through experiments using TensorFlow Probability and Stable Baselines, we present interesting differences in agent behaviour.
We contribute code for 3 functionalities: 1) Bayesian methods using Flipout integrated into Stable Baselines, 2) Multi-agent versioned learning framework for Stable Baselines (previously with only single-agent support) and 3) Uncertainty visualisation using agent clones for Slime Volleyball Gym.