2. What is a Neural Network?
- It connects together Artificial Neurons
(objects which are roughly based on
biological neurons)
- It can “learn” to do simple or complex tasks;
particularly useful when we don’t know
exactly how to program an algorithm/function
3. The Perceptron
- Basic Model
- Inputs to Neuron: x1, x2, … , xi
- Weights of Each Input to that
Neuron: w1,w2, … , wi
- Output = StepFunction(Sum(xi * wi))
- Can add a bias, b, to the sum
4. A Simple Network
- Inputs: Activated by something
external to network
- Hidden Layer: Not seen
directly; helps map input
combination to outputs
- Outputs: The result of putting
inputs into the network
5. - Perceptrons can be used to model any digital circuit
- ...but, we don’t know what the biases and weights
should be, and small changes in them either make no
impact to a neuron’s output or a large one
- ...and we can already model digital circuits, with actual
digital circuits, so this is not very impressive
So what we want is a neuron with an output that behaves
similar to a step function, but allows us to make small
changes, and have output values other than 1 and
0…………...how about a Sigmoid function for the output?
6. The Sigmoid Neuron
- With a Sigmoid Neuron, we use the same
principles as the Perceptron, but now:
Output = Sigmoid( Sum(xi*wi)+b )
- Now, a small change in xi, wi, or b will have
a small change in the output, and we don’t
have to stick to binary logic
7. How Does a Neural Network Learn?
We have to create a method to find the ideal weights and
biases.
- Backpropagation
- Genetic Algorithms
8. Backpropagation
- Define a Cost function, which is minimized
when the network performs performs better
- Run the network, as is, through a few tests
- Use some calculus to figure out how to
adjust the biases and weights for the output
layer
- Using information about how we changed
the layer to the right, change weights and
biases moving to the left
9. Example Using Backpropagation
- Red Ball wants to chase Blue Ball (controlled by mouse)
- Red Ball knows whether the blue ball is above, below, to the left, or to the
right
- Red Ball knows where it should move, but it’s network starts out not
knowing how to control its movement (up, down, left, right)
- Actual movement of red ball compared to how it should move, and
backpropagation used to change weights and biases
10. Example Using Backpropagation
- Neurons drawn as circles, with the color
representing the activation, red(0) -> blue(1)
- The color of each path represents the weight
of the connection, red(0) -> blue(1)
- The graph shows the weights of the paths
into the top-most neuron of the hidden layer
over time
- See the Example Here
11. Genetic Algorithms
- Use a “genetic sequence” which contains all the information of the weights
and biases in a network
- Make a ton of these sequences, randomly
- Test each sequence with a network, and score them based upon how well
they perform the desired task
- Take the sequences that perform the best, “breed” them to create several
children, and and go back to testing
- Over several generations of this process, the sequences should get closer
and closer to the desired functionality
- Example: https://www.youtube.com/watch?v=qv6UVOQ0F44 (this uses a
more advanced technique called NEAT, but it’s still using genetic
algorithms)
12. Deep Learning
- Uses multiple hidden layers which feed into
each other
- Concept: Data inputted into network can be
understood as an interaction between multiple
factors in various levels of abstraction
- Can be supervised or unsupervised
- Example - Google DeepDream:
https://github.com/google/deepdream
13. Sources and Useful Links
- http://neuralnetworksanddeeplearning.com/in
dex.html
- http://nn.cs.utexas.edu/downloads/papers/st
anley.ec02.pdf
- https://en.wikipedia.org/wiki/Deep_learning
- http://www.ai-junkie.com/ga/intro/gat1.html
And visit our website: http://woodridgesoftware.com