# AlphaZero

AlphaZero is een computerprogramma ontwikkeld door DeepMind, een onderzoeksbureau voor kunstmatige intelligentie, om de spellen schaken, shogi en go onder de knie te krijgen. Dit algoritme gebruikt een aanpak die vergelijkbaar is met AlphaGo Zero.
Op 5 december 2017 bracht het DeepMind-team een preprint uit waarin AlphaZero werd geïntroduceerd, dat binnen 24 uur na training een bovenmenselijk spelniveau bereikte in deze drie games door wereldkampioenprogramma's Stockfish, elmo en de driedaagse versie van AlphaGo Zero te verslaan. Telkens maakte het gebruik van aangepaste tensorverwerkingseenheden (TPU's) waarvoor de Google-programma's waren geoptimaliseerd. AlphaZero is uitsluitend getraind via zelfspel met behulp van 5.000 TPU's van de eerste generatie om de spellen te genereren en 64 TPU's van de tweede generatie om de neurale netwerken te trainen, allemaal parallel, zonder toegang tot openingsboeken of eindspeltafels. Na vier uur training schatte DeepMind dat AlphaZero schaakte met een hogere Elo-rating dan Stockfish 8; na negen uur training versloeg het algoritme Stockfish 8 in een tijdgestuurd toernooi van 100 wedstrijden (28 overwinningen, 0 verliespartijen en 72 gelijkspel). Het getrainde algoritme speelde op een enkele machine met vier TPU's.
DeepMinds paper over AlphaZero is op 7 december 2018 gepubliceerd in het tijdschrift Science. Het AlphaZero-programma zelf is echter niet openbaar gemaakt. In 2019 publiceerde DeepMind een nieuw artikel met details over MuZero, een nieuw algoritme dat AlphaZero's werk kan generaliseren door zowel Atari- als bordspellen te spelen zonder kennis van de regels of representaties van het spel.

## Training

AlphaZero is uitsluitend getraind via self-play, met behulp van 5.000 TPU's van de eerste generatie om de games te genereren en 64 TPU's van de tweede generatie om de neurale netwerken te trainen. Tegelijkertijd werd de in-training AlphaZero periodiek vergeleken met zijn benchmark (Stockfish, elmo of AlphaGo Zero) in korte games van één seconde per zet om te bepalen hoe goed de training vorderde. DeepMind oordeelde dat de prestaties van AlphaZero de benchmark overtroffen na ongeveer vier uur training voor Stockfish, twee uur voor elmo en acht uur voor AlphaGo Zero.

## Voorlopige resultaten
### Schaken

In de schaakwedstrijd van AlphaZero tegen Stockfish 8 (TCEC -wereldkampioen 2016) kreeg elk programma één minuut per zet. Stockfish kreeg 64 threads toegewezen en een hash-grootte van 1 GB, een instelling die Tord Romstad van Stockfish later bekritiseerde als suboptimaal. AlphaZero werd voor de wedstrijd in totaal negen uur getraind op schaken. Tijdens de wedstrijd draaide AlphaZero op één machine met vier applicatiespecifieke TPU's. In 100 games vanuit de normale startpositie won AlphaZero 25 games als wit, 3 als zwart en speelde de overige 72 gelijk. In een reeks van twaalf wedstrijden van 100 wedstrijden (van niet-gespecificeerde tijd- of middelenbeperkingen) tegen Stockfish, uitgaande van de 12 meest populaire menselijke openingen, won AlphaZero 290, speelde 886 gelijk en verloor 24.

### Shogi

AlphaZero werd voor het toernooi in totaal twee uur getraind op shogi. In 100 shogi-wedstrijden tegen elmo (World Computer Shogi Championship 27 zomer 2017 toernooiversie met YaneuraOu 4.73 search), won AlphaZero 90 keer, verloor 8 keer en speelde twee keer gelijk. Net als bij schaakpartijen kreeg elk programma één minuut per zet en kreeg elmo 64 threads en een hash-grootte van 1 NL.

### Go

Na 34 uur zelfleren van Go en tegen AlphaGo Zero won AlphaZero 60 wedstrijden en verloor er 40.