simple-neuralnetworks
v1.0.0
Published
A simple and basic neural network class with an example reinforced agent experiment
Downloads
2
Readme
Contains two Javascript classes for very basic neural networks:
.Network: a basic bare-bones Neural Network. Constructor: Network(number); number being the amount of neurons in the input layer. Add extra layers using network.addLayer(neuronCount). The last layer will automatically be used as output layer. Connections between layers are created automatically. Call network.getOutputs(inputs) to receive the network output, with "inputs" being a number array of the size of the network's input layer. Calling network.mutate() will slightly randomly modify the neurons in the network.
Networks can be converted to strings and back using network.toString() and Network.Parse(string).
.ReinforcedAgent: an implementation of a Neural Network in an agent which can learn from positive and negative reinforcement. Construct using ReinforcedAgent(network, learnSpeed, learnSteps)
- "network" is an existing Neural Network the agent will use.
- "learnSpeed" determines how severely a network will change after an iteration. (defaults to 1)
- "learnStepSize" determines the amount of feedback, both positive and negative, will be received before starting a new iteration. (defaults to 5) Both learnSpeed and learnStepSize should never be equal to 0 or lower.
Like the Neural Network, the ReinforcedAgent can be transformed into a string and parsed. The agent.getOutputs(inputs) also works in the same way. In addition, the network can receive feedback using agent.reward(amount) and agent.punish(amount). "amount" defaults to 1.