Show HN: Watch a neural net learn to play Snake
ppo.gradexp.xyzIn browser PPO training demo, made possible by tinygrad: TinyJit -> WebGPU kernels.
Requires WebGPU.
In browser PPO training demo, made possible by tinygrad: TinyJit -> WebGPU kernels.
Requires WebGPU.
Cool project!
I noticed that if you go from training to watch and then back, the training temporarily drop significantly in score.
It seems to be something related the moving average calculation. So it is just a glitch on the chart.
Really cool! But right as it was nearing 4,000, it seems to have corrupted itself and no longer got any scores above 0. Not sure if that's a code bug or a neural net issue.
avg500 -4.6 last 500 episodes
peak 3959.3 best window
roll/s 20.68 20-step avg
progress 4388 562749 episodes
I think I noticed it reach “end game.” The snake reaches a point where, if it gets any longer, it is out of squares and hits its own tail. So it finds the route through the squares that it can infinitely loop, never eats the ball, and score starts dropping and goes negative.
Link to repo?
My average eventually made it to about 3900, and then stagnated between 3600-3900. I'm curious if this is universal behavior or not. I'm up to about 5k steps.
More details and implementation notes please?
> WebGPU not available in this browser
Looks like this is for Linux and Windows, on NetBSD I get this issue :(
If you are using brave (which i assume also applies to chrome) , there is a menu at brave://flags , you can enable unsafe web GPU from there
cool project
my training on a 10x10 just randomly broke. i got to like 3600 then the graph went flat, the viewer on the left just showed it constantly restarting the game, and the scores in the negative. my average is now -10.