The engine taught a neural network, and the network beat it.
It learned from 1.5 million positions the engine played against itself, then improved by playing itself. It took 70% of the points in 3,000 games against the hand-tuned engine at equal thinking time.
From the dev log
All postsIt taught itself: one generation of self-play
The network played 10,000 games against itself and a new network learned from them: +82 Elo over its parent. Then it levelled off.
Speed is strength: an NNUE-style evaluator in Go
Updating only what a move changes, in exact integer arithmetic, made the network three times faster and worth 50 Elo more, with the same weights.
Teaching a neural network to judge Azul
1.5 million self-play positions, a network trained from scratch in Go and again in PyTorch on a GPU, and the one feature that turned a tie into a win.