1 / 63

Topics : What is a neuron? Input/output characteristics? Networks of neurons Resources:

LECTURE 05: Neural Networks. Topics : What is a neuron? Input/output characteristics? Networks of neurons Resources: Artificial Neural Network The Neural Network Zoo. Neural Networks. Artificial neural networks (ANNs) are algorithms modeled after how the human brain operates.

Samuel
Download Presentation

Topics : What is a neuron? Input/output characteristics? Networks of neurons Resources:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LECTURE 05: Neural Networks • Topics: • What is a neuron?Input/output characteristics?Networks of neurons • Resources: • Artificial Neural Network • The Neural Network Zoo

  2. Neural Networks • Artificial neural networks (ANNs) are algorithms modeled after how the human brain operates. • ANNs today perform a number of functions including feature extraction, signal modeling and language or domain modeling. • Neural networks are comprised of nodes, which combine the inputs from the data with a set of coefficients or weights and determine whether the signal will progress further through the network.

  3. Nodes in Neural Networks • The products between the inputs and the weight are summed in the node and the result is passed to the node’s activation function, which determines whether the node will fire. • Perceptrons are the most fundamental and simplest models of neurons. Node Diagram

  4. Networks of Nodes

  5. So, 1. what exactly is deep learning ? And, 2. why is it generally better than other methods on image, speech and certain other types of data?

  6. So, 1. what exactly is deep learning ? And, 2. why is it generally better than other methods on image, speech and certain other types of data? The short answers 1. ‘Deep Learning’ means using a neural network with several layers of nodesbetween input and output 2. the series of layers between input & output do feature identification and processing in a series of stages, just as our brains seem to.

  7. hmmm… OK, but: 3. multilayerneural networks have been around for 25 years. What’s actually new?

  8. hmmm… OK, but: 3. multilayerneural networks have been around for 25 years. What’s actually new? we have always had good algorithms for learning the weights in networks with 1 hidden layer but these algorithms are not good at learning the weights for networks with more hidden layers what’s new is: algorithms for training many-later networks

  9. longer answers • reminder/quick-explanation of how neural network weights are learned; • the idea of unsupervised feature learning (why ‘intermediate features’ are important for difficult classification tasks, and how NNs seem to naturally learn them) • The ‘breakthrough’ – the simple trick for training Deep neural networks

  10. -0.06 W1 W2 f(x) -2.5 W3 1.4

  11. -0.06 2.7 -8.6 f(x) -2.5 0.002 x = -0.06×2.7 + 2.5×8.6 + 1.4×0.002 = 21.34 1.4

  12. A dataset Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc …

  13. Training the neural network Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc …

  14. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Initialise with random weights

  15. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Present a training pattern 1.4 2.7 1.9

  16. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Feed it through to get output 1.4 2.7 0.8 1.9

  17. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Compare with target output 1.4 2.7 0.8 0 1.9 error 0.8

  18. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Adjust weights based on error 1.4 2.7 0.8 0 1.9 error 0.8

  19. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Present a training pattern 6.4 2.8 1.7

  20. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Feed it through to get output 6.4 2.8 0.9 1.7

  21. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Compare with target output 6.4 2.8 0.9 1 1.7 error -0.1

  22. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … Adjust weights based on error 6.4 2.8 0.9 1 1.7 error -0.1

  23. Training data Fields class 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc … And so on …. 6.4 2.8 0.9 1 1.7 error -0.1 Repeat this thousands, maybe millions of times – each time taking a random training instance, and making slight weight adjustments Algorithms for weight adjustment are designed to make changes that will reduce the error

  24. The decision boundary perspective… Initial random weights

  25. The decision boundary perspective… Present a training instance / adjust the weights

  26. The decision boundary perspective… Present a training instance / adjust the weights

  27. The decision boundary perspective… Present a training instance / adjust the weights

  28. The decision boundary perspective… Present a training instance / adjust the weights

  29. The decision boundary perspective… Eventually ….

  30. The point I am trying to make • weight-learning algorithms for NNs are dumb • they work by making thousands and thousands of tiny adjustments, each making the network do better at the most recent pattern, but perhaps a little worse on many others • but, by dumb luck, eventually this tends to be good enough to learn effective classifiers for many real applications

  31. Feature detectors

  32. what is this unit doing?

  33. Hidden layer units become self-organised feature detectors 1 5 10 15 20 25 … … 1 strong +ve weight low/zero weight 63

  34. What does this unit detect? 1 5 10 15 20 25 … … 1 strong +ve weight low/zero weight 63

  35. What does this unit detect? 1 5 10 15 20 25 … … 1 strong +ve weight low/zero weight it will send strong signal for a horizontal line in the top row, ignoring everywhere else 63

  36. What does this unit detect? 1 5 10 15 20 25 … … 1 strong +ve weight low/zero weight 63

  37. What does this unit detect? 1 5 10 15 20 25 … … 1 strong +ve weight low/zero weight Strong signal for a dark area in the top left corner 63

  38. What features might you expect a good NN to learn, when trained with data like this?

  39. vertical lines 1 63

  40. Horizontal lines 1 63

  41. Small circles 1 63

  42. Small circles 1 But what about position invariance ??? our example unit detectors were tied to specific parts of the image 63

  43. successive layers can learn higher-level features … etc … detect lines in Specific positions Higher level detetors ( horizontal line, “RHS vertical lune” “upper loop”, etc… etc … v

  44. successive layers can learn higher-level features … etc … detect lines in Specific positions Higher level detetors ( horizontal line, “RHS vertical lune” “upper loop”, etc… etc … v What does this unit detect?

  45. So: multiple layers make sense

  46. So: multiple layers make sense Your brain works that way

  47. So: multiple layers make sense Many-layer neural network architectures should be capable of learning the true underlying features and ‘feature logic’, and therefore generalise very well …

  48. But, until very recently, our weight-learning algorithms simply did not work on multi-layer architectures

  49. Along came deep learning …

  50. The new way to train multi-layer NNs…

More Related