Viet-Anh on Software Logo

What is: DeepMind AlphaStar?

Year2000
Data SourceCC BY-SA - https://paperswithcode.com

AlphaStar is a reinforcement learning agent for tackling the game of Starcraft II. It learns a policy π_θ(a_ts_t,z)=P[a_ts_t,z]\pi\_{\theta}\left(a\_{t}\mid{s\_{t}}, z\right) = P\left[a\_{t}\mid{s\_{t}}, z\right] using a neural network for parameters θ\theta that receives observations s_t=(o_1:t,a_1:t1)s\_{t} = \left(o\_{1:t}, a\_{1:t-1}\right) as inputs and chooses actions as outputs. Additionally, the policy conditions on a statistic zz that summarizes a strategy sampled from human data such as a build order [1].

AlphaStar uses numerous types of architecture to incorporate different types of features. Observations of player and enemy units are processed with a Transformer. Scatter connections are used to integrate spatial and non-spatial information. The temporal sequence of observations is processed by a core LSTM. Minimap features are extracted with a Residual Network. To manage the combinatorial action space, the agent uses an autoregressive policy and a recurrent pointer network.

The agent is trained first with supervised learning from human replays. Parameters are subsequently trained using reinforcement learning that maximizes the win rate against opponents. The RL algorithm is based on a policy-gradient algorithm similar to actor-critic. Updates are performed asynchronously and off-policy. To deal with this, a combination of TD(λ)TD\left(\lambda\right) and V-trace are used, as well as a new self-imitation algorithm (UPGO).

Lastly, to address game-theoretic challenges, AlphaStar is trained with league training to try to approximate a fictitious self-play (FSP) setting which avoids cycles by computing a best response against a uniform mixture of all previous policies. The league of potential opponents includes a diverse range of agents, including policies from current and previous agents.

Image Credit: Yekun Chai

References

  1. Chai, Yekun. "AlphaStar: Grandmaster level in StarCraft II Explained." (2019). https://ychai.uk/notes/2019/07/21/RL/DRL/Decipher-AlphaStar-on-StarCraft-II/

Code Implementation

  1. https://github.com/opendilab/DI-star