Lecture 3: Neural Networks Flashcards
Describe the concept of neural networks
It’s based on abstract views of the neuron. Artificial neurons are connected to form large networks. The connections determine the function of the neuron.
How may neural networks not need to be ‘programmed’?
Connections can often be formed by learning rather than needing to be programmed.
What did Alan Turing demonstrate about computers in 1936?
Computers have electronic elements that implement ‘logic gates’ and with these you can build and run programs. And hence compute anything that is computable
Give 5 examples of logic gates
YES (input | output)
0 | 0
1 | 1
NOT (input | output)
0 | 1
1 | 0
AND (input a | b | output) 0 | 0 | 0 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1
OR (input a | b | output) 0 | 0 | 0 0 | 1 | 1 1 | 0 | 1 1 | 1 | 1
XOR (input a | b | output) 0 | 0 | 0 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0
NAND (input a | b | output) 0 | 0 | 1 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0
NOR (input a | b | output) 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0 1 | 1 | 0
XNOR (input a | b | output) 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1
What did McCulloch and Pitts decide regarding these logic gates and neuroscience? (5)
They claimed that the brain is a computer in the Turing sense and created their theoretical neuron;
1) The activity of the neuron is an “all-or-none” process
2) A certain number of synapses must be excited within the period of latent addition in order to excite a neuron at any time, and this number is independent of previous activity and position of the neuron
3) The activity only significant delay within the nervous system is synaptic delay
4) The activity of any inhibitory synapse absolutely prevents excitation of the neuron at that time
5) the structure of the net changes with time
How does this idea differ from a real neuron? Why does it differ?
They chose to ignore it for purposes of practicality:
neurons tire and are less likely to fire after extensive activity.
An output signal is either discrete (0/1) or it is a real valued number (between 0 and 1) although this can be likened to firing rate.
ms delays in signal speed for neurons with long axons (conductivity delays are neglected).
Absolute inhibition was required for logic gates, called vito synapses, but not used as much anymore. Most inhibitory synapses weakly prevent the neuron from firing.
Also net input is calculated as the weight sum of the input signals and transformed into an output signal via a simple function (e.g threshold). In contrast there are often complex processes going on inside the neuron.
How did it become clear that the computers built in neuroscience were quite dissimilar from the brain?
Because the real neurons are super unreliable; when it gets input it may fire but it also may not. It is quite a probabilistic process.
What revolutionary aspect of the perceptron was quite similar to human thinking?
Error correcting learning: Carry out a task, evaluate what went wrong and correct those processes until the algorithm improves
A more refined version of the error correcting-learning following the perceptron. What was this called and how was it more refined?
What is meant by the generalised delta rule?
Error-backpropogation:
How many layers and nodes were in the original perception? Also describe the weights
2- input and output layer: image input and classification output (e.g 8, dog etc). There were also binary nodes that take values between 0 or 1 and continuous weights between the input and output, initially chosen randomly.
In a simple example, an input unit with a value of 0 and another with a value of 1 (input pattern (0 1)) feed into a single output pattern which only fires when it has a value of one. The weights are 0.4 of the 0 input unit and -0.1 on the 1 unit. Explain whether or whether not the unit fires and what its net input is.
Since the first input had a value of 0, 0.4 x 0 = 0. The second input had a value of 1, 1 x -0.1 = -0.1. We have a net input of -0.1, which gives an output pattern of (0), due to it being a negative value, meaning the neuron does not fire.
The same example: An input unit with a value of 0 and another with a value of 1 (input pattern (0 1)) feed into a single output pattern which only fires when it has a value of one. The weights are 0.4 of the 0 input unit and -0.1 on the 1 unit.
How could we adjust the weights so that this situation is remedied and the spontaneous output matches our target output pattern of (1)? Formulate it in the form of a rule
The weight of the 0 input is irrelevant as it will have a value of 0 regardless of the weight. The weight of the 1 input must be a positive value, the exact number doesn’t matter.
How is changing the weights so that the net input exceeds 0.0 typically carried out?
This can be achieved by adding a little to it such as 0.2. Typically .2 is added to all weights, ignoring those with activation 0 as these do not have any effect on the net input.
All in all, describe the perceptron algorithm in words
For each node in the output layer:
– Calculate the error, which can only take the values -1, 0, and 1
– If the error is 0, the goal has been achieved. Otherwise, we adjust the weights
– Do not alter weights from inactivated input nodes
– Increase the weight if the error was 1, decrease it if the error was -1
Describe the perceptron algorithm in rules
weight change = some small constant x (target activation - spontaneous output
activation) x input activation
if we speak of error instead of the “target activation minus the spontaneous output activation”, we have:
weight change = some small constant x error x input activation