In Progress

Neural Representations of Chess Players

Work in progress

Transformers · Representation learning · Player embeddings · 8 billion Lichess games

I am building a chess app that coaches each player the way research on learning says people improve. Skill grows fastest through deliberate practice, which means working on the specific weaknesses just beyond what a learner can already do, with prompt feedback and repetition spread over time. Players rarely get this without a human coach, since it requires knowing where a particular player stands and what they should work on next. The app does that work from the player's own games.

It runs on a neural network I am training from scratch on public Lichess games. The network is a transformer that reads the board and predicts the move a particular player would make. Each player is represented by a learned vector, and strength is a direction in that space estimated from game results.

The coach places you in that space, compares you with players like you who later improved, and builds lessons around the changes that preceded their improvement. Lessons use positions from your own games and are set at a difficulty you mostly solve. Each lesson comes back for review over the following weeks, so that what you learned stays with you.