Neurabox [v1.1]: Neural Network Machine Learning & NEAT Library

Neurabox is a Roblox Neural Network and Machine Learning library. It ships with 5 well-known optimizers, fully implemented feedforward neural network classes, and a mostly complete NEAT implementation!

What is this library?

For those unfamiliar with the concept of Machine Learning, it's essentially the process of a virtual algorithm learning to complete a task, and in most cases, is used with a Neural Network, which is an extremely powerful paradigm inspired by biological brains, structured with neurons and synapses.

One of the stand-out features of this library is NEAT.

NEAT

NEAT refers to Neuro-Evolution of Augmented Topologies, which describes the process of teaching neural networks through the use of mutations and natural (or artificial) selection. Unlike other genetic algorithms, which merely tweak the strength of connections in the network, NEAT evolves the network topology and architecture, effectively being able to create, remove, and modify neurons and synapses, which is very powerful, and allows for highly specialized network structures for any task at hand.

Q-Learning

Q-Learning is a simple reinforcement learning algorithm that performs efficiently with discrete, low-dimensional tasks. It can perform very well practically depending on your environment.

Documentation

To learn about how to use this library, along with a basic explanation of neural networks, and example code, just visit the Neurabox Documentation

Download

You can download Neurabox here: Neurabox Model Page

Side Notes

This is my first published Roblox library, so I'm sure it may be flawed, but I still hope that this library may help those of you interested in training neural networks in Roblox. Don't hesitate to give me feedback or bug reports in the replies! Feedback is greatly appreciated and I'll take it into consideration. In the future, I'll likely be making a GitHub for this library so bug reports can be solved there instead.
9 Likes

[Update v1.1]

  • Added Q-Learning
  • Resolved some minor performance bottlenecks
1 Like

Hello! This is a great implementation of various types of neural networks! I do have to make the observation that it is misleading to say that you have implemented NEAT into this library, as the NEAT algorithm is much more than just the dynamic networks. The main criticism I am giving is that you only provide a small portion of the NEAT algorithm, and rely on the users of your library to implement the rest of it. Examples being Crossover, Speciation, Pruning. I have a fully-implemented NEAT library with all of the core functionality the original paper provides (which is massively user-friendly) if you would like to look at it for possible improvements on the NEAT portion of this library

I see. Apologies for the potentially misleading description of the module, I didn’t realize that. I would like to look into it if you’re okay with that and improve this library based on that. Thanks for letting me know!

1 Like

Hi! Sorry for not getting back to you sooner. I have now uploaded the library as a public developer item here: https://create.roblox.com/store/asset/98329485385317

You can ask me any questions you might have about it, as I understand NEAT is a complex algorithm with many moving parts. I am still working on the library, so it is not absolutely perfect right now. But it is fully functional and implements every NEAT feature (with a major improvement to speciation)