Neural Networks
Contents
Creating - how to create a neural network
Loading/Saving - how to load and save a neural network
Training - how to train a neural network
Running - how to run a neural network
So what is a neural network anyway?
Neural networks are intended to be artificial representations of the human brain. Like the human brain, they contain clusters of connected neurons. A set of neurons receives an input (stimulus) and fires a signal to the other neurons it's connected to. Depending on the strength of these links (synapses) more neurons may fire, ultimately leading to an output (action). Neural networks have been highly successful at pattern matching problems and other data mapping problems that can not be solved by traditional algorithms.
Here's an old, somewhat crappy example diagram that I should really improve:
![]()
In this example, there's a neural network with 4 input layer neurons, 2 hidden layer neurons, and 1 output layer neuron. It receives an input word (array) with 4 elements, each element is associated to an input layer neuron. The input layer neurons are performing no activation function. There are link weights between each input layer neuron and each hidden layer neuron. Each hidden layer neuron performs a summation of it's inputs*link weights. They then perform an activation function on this summation. The same process is repeated from the hidden layer to the output layer. The output from the output layer is the decision for this network. If the network produces a correct decision then the link weights are rewarded, otherwise they are punished. This particular network won't be able to solve more than a really simple T/F problem but it doesn't take up much space and is decent for explaining what a neural network is so I'll leave it for now.
This release of Jail includes code for several different types of neural networks. However, only the Backpropagation neural network is the only one integrated into the JailBreak GUI. Future releases will have more networks integrated.