Knowledge About Neural Network - ecreators/ArtificialIntelligence GitHub Wiki
Intension for neural network
Why using a neural network?
A neural network is a function for predictions to a fixed problem with changing inputs. Such network can find pattern to solutions you never ever would imaging in a short time, relative versus human speed learning.
A neural network can give you a insight to a problem you can't solve or only in a long time consuming period.
How is it working? - short please!
During a training session a neural network balances your input values to expected output values for each case in to a static formed mesh. This balancing action is the network learning. As long each balancing is known, the network always will remember how to solve the same problem.
Technically - How does it work?
The network propagates your values (one by one) from the input layer over all hidden layers to the output layer. Each layer contains neurons. Each neuron has a connection to each neuron in the previous / parent layer neurons. Each neuron has the same function.
A neuron does always the same static operation, when it is propagation forward:
A neuron caluclates it own output
- Fetch input values
- sum them
- add a bias for zero caluclations
- translate the sum through an activation function returns a calculated output value
There are multiple ways to update the output value. My way is only a suggestion.
A layer controls the neuron propagation through it neurons
- It gets the new output value for a neuron
- then set the value as output value for the same neuron
- continue through all it neurons
A network controls the layer propagation through it layers
- It sets the input values
- It calls the propagate to all it layers
- It fetches the output layer neuron values and return them
This is, what a network does when it is not learning. This technic is also used in training with additions after it. The error calculation and back-propagation.