Ten years ago, AlphaGo shocked the world by beating top human players using deep reinforcement learning and Monte Carlo tree search. I was a young Go player then and that was my first introduction to AI. Now, I've come full circle trying to rebuild it.
It's interesting to revisit something that took a top AI lab so much work 10 years ago. It's surprising to see how relevant many of the ideas like CNN and picking data sources are today!
I'm really excited about this as an engineering challenge. I will be implementing game logic, tree search, and reinforcement learning while learning about object-oriented programming, design tradeoffs, and great UX.
I want to build the best engine I can with my constaints. For example, I can train on existing superhuman data that is higher quality than human data. I want to see how much of algorithmic and hardware advances over the past 10 years I can take advantage of.
In addition to making a strong engine, I want this to useful for teaching, learning, and playing. It would be awesome to see heatmaps of different moves and adapting the difficulty to the player.
This repo will include:
- /logs/ - Devlogs with design decisions, problems, and thinking process.
- /essays/ - Milestone writeup on ML topics and what I'm learning
- /src/ - codebase for engine and bot
- Playable demos with a web UI
This project is me trying to prove something, but mostly to myself. That I can build something technically hard and meaningful with my style. Let's see how much I learn along the way.