Interesting—how small can a neural network get and still make good strategic decisions? Curious whether these models can adapt to unfamiliar opponents.
15yrs back I participated in "Google Ants AI Challenge 2011", an ai programming competition, hosted by the University of Waterloo, and I ranked #127 (#1 in my country). The competition gave me a huge learning oppurtunity where developers across the world came to a forum and discussed various techniques.
Now, I've built a similar platform to bring back the fun of building a small neural network that can play the game well. Neural Network optimization seems to be much more fun.
Plz share your feedback to improve the platform and add more games.
From competing with the world to building a place for the world to compete—what a full-circle moment. Love the challenge: how much strategy can a tiny neural network learn? Excited to see what people build.
Nice. I was 72nd. Working in AI research today and still making ai for games as a hobby (tfmbot.com is an ai i’m working on for my favourite board game terraforming mars).
This looks fun. How do you evaluate the networks — is it purely based on game performance, or are there other metrics like size and inference speed too?
Glad you like it. The evaluation is based purely on game performance. However each weight class is evaluated separately. Nano, micro, mini, small, large and open class.
Just yesterday I published my reworked GoNEAT library that implements HyperNEAT combined with phased search and backpropagation [1].
But it's kind of impossible to enter for me because of the hard pytorch requirements :( would love to see the project as a gym, so that you can run your own ANN design algorithm.
I get that most data science students still use python, but the evolutionary world is kinda in C++ and other native languages.
Where do you see a hard requirement? I have added support for ONNX model upload for now and would love to extend support for other formats. How you build the model is totally upto you. I don’t check anything other than format and inference time and model size.
> Your class is measured, not chosen
> model and manifest bytes together pick the class
What?
How hard is it to write something like "your weight class is determined by the total size of the model and manifest" (if I understood it correctly).
Current version both sounds very AI-sloppy and is ambiguous.
The doc page [0] is even more painful to read.
[0] https://tinybrains.dev/docs/models/weight-classes.html
Interesting—how small can a neural network get and still make good strategic decisions? Curious whether these models can adapt to unfamiliar opponents.
Man, I remember doing this is 2011 as well. Everything some kind of hand-coded strategy. I enjoyed it a lot.
15yrs back I participated in "Google Ants AI Challenge 2011", an ai programming competition, hosted by the University of Waterloo, and I ranked #127 (#1 in my country). The competition gave me a huge learning oppurtunity where developers across the world came to a forum and discussed various techniques.
Now, I've built a similar platform to bring back the fun of building a small neural network that can play the game well. Neural Network optimization seems to be much more fun.
Plz share your feedback to improve the platform and add more games.
From competing with the world to building a place for the world to compete—what a full-circle moment. Love the challenge: how much strategy can a tiny neural network learn? Excited to see what people build.
Nice. I was 72nd. Working in AI research today and still making ai for games as a hobby (tfmbot.com is an ai i’m working on for my favourite board game terraforming mars).
Thanks for sharing. I remember #1 xathis had a score, big leap ahead of others. The difference in techniques in top 100 was almost the same.
I remember a game on Steam called Tiny Brains, great couch co-op.
This looks fun. How do you evaluate the networks — is it purely based on game performance, or are there other metrics like size and inference speed too?
Glad you like it. The evaluation is based purely on game performance. However each weight class is evaluated separately. Nano, micro, mini, small, large and open class.
When you submit a model it participates on both its weight class and the open class
Great idea to focus on small, efficient neural networks.
Pretty neat! I'm considering entering some models. How long will you be running these competitions?
The current season is a public beta and ends by end of the month. After that am considering 3 month seasons.
Signed up and submitted a test model. Now the real training begins!
Reminds me of MechMania at UIUC - exciting!
This looks fun. How small are the networks you're aiming for?
the network size brackets are in TFA:
Each season has a different weight size restrictions. Currently open season is for a full production test.
OMG!
Just yesterday I published my reworked GoNEAT library that implements HyperNEAT combined with phased search and backpropagation [1].
But it's kind of impossible to enter for me because of the hard pytorch requirements :( would love to see the project as a gym, so that you can run your own ANN design algorithm.
I get that most data science students still use python, but the evolutionary world is kinda in C++ and other native languages.
Anyways, great project nonetheless.
[1] https://github.com/cookiengineer/goneat
Where do you see a hard requirement? I have added support for ONNX model upload for now and would love to extend support for other formats. How you build the model is totally upto you. I don’t check anything other than format and inference time and model size.
Saw your repo and understood you question better. The requirement are now limiting Neural Networks only, not a direct algorithm implementation
Cool idea!
It would help to delete all the text on the page, and write it without AI.
For example, "model and manifest bytes together pick the class; every version also plays on Open"
Thanks for the feedback. I’ll take that as top priority.
See also:
https://en.wikipedia.org/wiki/Core_War
Also: https://screeps.com/
Thanks for sharing. The primary reason building this website is to learn small neural networks and tuning.