Roboneural

From Robowiki
Jump to navigation Jump to search

Roboneural

It is a library I made for myself to use it.
There aren't too many bots using NN's so I thought that people start to make more with a ready lib.

What can I do with it?

You can create a Multi-Layer Perceptron.
You can choose how many layers you'll use and how many nodes there will be.
You can decide what learning rate you'll use.
You can change the batch size.
You can pre-process data and make it more useful for Neural Networks.
You can choose different Activation Functions for each layer.

Activation Functions

There are activation functions coming with the package.
    • Gaussian
    • Linear
    • Hyperbolic Tangent(Tanh)
    • Sigmoid
    • ReLU
    • SoftPlus(SmoothMax)
    • Sine(Perfect for overfitting).
Also you can add your own activation functions.

Usages

You can make a powerful GF gun.
You can make a PIF gun by giving normal data + tick of the simulation.
You can make a PM gun like in ScruchiPu.
You can make a fire power choosing system.
You can make a melee movement with regression. For example input as distance to objects in 360 different angle.
You can create a MinimumRisk danger predictor.
And lot more.

What to do next?

Adding momentum.
Adding recurrent neural networks.
Adding auto-encoder which is already ready.
Adding a Self-Organising Map.
Adding softMax functions for deep learning maybe?
Adding Deep Convolutional Inverse Graphics Deep Belief Network.(Just joking) =).

Recommended

Usage of Sigmoid or HyperbolicTangent is recommended. They have a protection against the vanishing gradient problem.
Usage of Feature Splitter is recommended until I add Radial Basis Functions.
Use SoftPlus(SmoothMax) if you need a result that is between 0-Positive Infinity.

Bots using Roboneural

ColdBreath
SwordOfFire
Only my bots now:(
If you make a bot with it, please add it here.

Also see

NeuralTargetingBot
NeuralMinimumRiskBot

Link

Here is the link: https://www.dropbox.com/sh/8gwgik1gpvo4jzw/AAB6qYCt6fL-yTktysuzzRHBa?dl=1 If I was making a change when you were downloading, it may give an error.