Self-play

From HandWiki
Revision as of 18:52, 6 February 2024 by Gametune (talk | contribs) (update)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Reinforcement learning technique

Self-play is a technique for improving the performance of reinforcement learning agents. Intuitively, agents learn to improve their performance by playing "against themselves".

Definition and motivation

In multi-agent reinforcement learning experiments, researchers try to optimize the performance of a learning agent on a given task, in cooperation or competition with one or more agents. These agents learn by trial-and-error, and researchers may choose to have the learning algorithm play the role of two or more of the different agents. When successfully executed, this technique has a double advantage:

  1. It provides a straightforward way to determine the actions of the other agents, resulting in a meaningful challenge.
  2. It increases the amount of experience that can be used to improve the policy, by a factor of two or more, since the viewpoints of each of the different agents can be used for learning.

[1] argues that most of the games that people play for fun are "Games of Skill", meaning games whose space of all possible strategies looks like a spinning top. In more detail, we can partition the space of strategies into sets [math]\displaystyle{ L_1, L_2, ..., L_n }[/math], such that any [math]\displaystyle{ i \lt j, \pi_i\in L_i, \pi_j \in L_j }[/math], the strategy [math]\displaystyle{ \pi_j }[/math] beats the strategy [math]\displaystyle{ \pi_i }[/math]. Then, in population-based self-play, if the population is larger than [math]\displaystyle{ \max_i |L_i| }[/math], then the algorithm would converge to the best possible strategy.

Usage

Self-play is used by the AlphaZero program to improve its performance in the games of chess, shogi and go.[2]

Self-play is also used to train the Cicero AI system to outperform humans at the game of Diplomacy. The technique is also used in training the DeepNash system to play the game Stratego.[3][4]

Comparison of different self-play techniques

  • Self-Play (SP):
    • Train agents against itself.
    • Yields an open-ended curriculum whereby opponent's and agent's strengths match.
    • Susceptible to cycles in strategy space: Agent forgets how to play against its prior versions.
  • Fictitious Self-Play (FSP):
    • Training an agent against a uniform distribution of all previous policies.
    • Wasting a large number of interactions against weaker opponents.
  • Prioritized Fictitious Self-Play (PFSP):
    • Yields a curriculum over opponents that provide a good learning signal
    • Matches agent A with a frozen opponent B from the set of candidates C with a specific probability.

Connections to other disciplines

Self-play has been compared to the epistemological concept of tabula rasa that describes the way that humans acquire knowledge from a "blank slate".[5]

Further reading

  • "Survey of Self-Play in Reinforcement Learning". 2021. arXiv:2107.02850 [cs.GT].

References

  1. Czarnecki, Wojciech M.; Gidel, Gauthier; Tracey, Brendan; Tuyls, Karl; Omidshafiei, Shayegan; Balduzzi, David; Jaderberg, Max (2020). "Real World Games Look Like Spinning Tops". Advances in Neural Information Processing Systems (Curran Associates, Inc.) 33: 17443–17454. https://proceedings.neurips.cc/paper/2020/hash/ca172e964907a97d5ebd876bfdd4adbd-Abstract.html. 
  2. Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan; Graepel, Thore; Lillicrap, Timothy; Simonyan, Karen; Hassabis, Demis (5 December 2017). "Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm". arXiv:1712.01815 [cs.AI].
  3. Snyder, Alison (2022-12-01). "Two new AI systems beat humans at complex games" (in en). https://www.axios.com/2022/12/01/ai-beats-humans-complex-games. 
  4. Erich_Grunewald, "Notes on Meta's Diplomacy-Playing AI" (in en), LessWrong, https://www.lesswrong.com/posts/oT8fmwWddGwnZbbym/notes-on-meta-s-diplomacy-playing-ai 
  5. Laterre, Alexandre (2018). "Ranked Reward: Enabling Self-Play Reinforcement Learning for Combinatorial Optimization". arXiv:1712.01815 [cs.AI].