Snake, deep CNN (92% wins on a 10x10 board)

A Snake player trained from scratch with PPO for episode 3 of A Million Tries ("never cornered"). It fills the whole 10x10 board in 236 of 256 fresh games (92%), measured on games (seed 5000) never used to pick this checkpoint.

  • Sees: a snake's-eye view: the board cropped and rotated around its head (19x19, 4 planes: body, body order, food, walls).
  • Does: one of 3 moves each turn: straight, turn right, turn left (best-guess = highest score).
  • Brain: 5 conv layers (32, 64, 64 stride 2, 64, 64; 3x3, ReLU), then 6400 -> 256 -> 3 moves (+ a value head used only in training).
  • Training: PPO, written from scratch in JAX, 100M moves on Kaggle's free 2x T4 GPUs (173 min). Rewards: +1 food, +10 filling the board, -1 dying or starving.
  • Weights: model.safetensors, PyTorch layout (body.N.weight, policy.weight, ...). config.json has the training settings.

From the YouTube channel A Million Tries: https://www.youtube.com/@amilliontries

Downloads last month
4
Safetensors
Model size
1.77M params
Tensor type
F32
·
Video Preview
loading