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.
What the network looks at
Error by stage of the game and permutation importance on 105,000 positions it never trained on. It leans on the scored-now board and nearly ignores the tiles on the table.
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.