Rollaround is a .NET library implementing a simple multi-layer feed forward neural network with supervised learning.
I would consider this pre-alpha. It works, but has no tests, probably has edge cases, and could use an API redesign. I did some initial profiling with Unity’s built-in profiler, and found that the script execution time was quite reasonable. I was calling FeedForward() on 20 4-layer networks with 400+ weights each, every 1/60th of a second. That CPU time was much lower than the time spent doing physics raycasts for distance checking. So qualitatively it seems pretty good, and will probably be developed further.
An AI steering and obstacle avoidance demo using this library.
The rolling movement of the droids is the inspiration for the project’s name.
- Write tests
- Reduce heap allocation, use arrays of structs instead of classes
- Allow for topologies more complex than just: inputs -> n hidden layers w/ m neurons each -> outputs.
- Backpropgation learning
- Whatever its use cases demand