1 / 22

Artificial N e u r a l N e t w o r k s

Artificial N e u r a l N e t w o r k s. Today ▶ Introducing neural network architecture ▶ high level description of how to learn neural networks and specific challenges in doing so. There are a large set of introductions to neural networks online. Popular ones that I like are:

sydow
Download Presentation

Artificial N e u r a l N e t w o r k s

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. ArtificialNeuralNetworks

  2. Today ▶ Introducing neural network architecture ▶ high level description of how to learn neural networks and specific challenges in doing so

  3. There are a large set of introductions to neural networks online. Popular ones that I like are: ▶ Andrej Karpathy’s Hacker’s guide to Neural Networks: http://karpathy.github.io/neuralnets/ ▶ Andrej Karpathy’s lecture notes: http://cs231n.github.io/ ▶ Geoffrey E. Hinton, Yann LeCun, and Yoshua Bengio (video; NIPS 2015): http://research.microsoft.com/apps/video/default.aspx?id=259574 ▶ Michael Nielsen’s Neural Networks and Deep Learning: http://neuralnetworksanddeeplearning.com/

  4. A simple decision Say you want to decide whether you are going to attend a cheese festival this upcoming weekend. There are three variables that go into your decision: Is the weather good? Does your friend want to go with you? Is it near public transportation? We’ll assume that answers to these questions are the only factors that go into your decision.

  5. A simple decision, cont. I will write the answers to these question as binary variables xi, with zero being the answer ‘no’ and one being the answer ‘yes’: Is the weather good? x1 Does your friend want to go with you? x2 Is it near public transportation? x3 Now, what is an easy way to describe the decision statement resulting from these inputs.

  6. A simple decision, cont. We could determine weights wi indicating how important each feature is to whether you would like to attend. We can then see if: x1 · w1 + x2 · w2 + x3 · w3 ≥ threshold For some pre-determined threshold. If this statement is true, we would attend the festival, and otherwise we would not.

  7. A simple decision, cont. For example, if we really hated bad weather but care less about going with our friend and public transit, we could pick the weights 6, 2 and 2. 7/37

  8. A simple decision, cont. For example, if we really hated bad weather but care less about going with our friend and public transit, we could pick the weights 6, 2 and 2. With a threshold of 5, this causes us to go if and only if the weather is good. 8/37

  9. A simple decision, cont. For example, if we really hated bad weather but care less about going with our friend and public transit, we could pick the weights 6, 2 and 2. With a threshold of 5, this causes us to go if and only if the weather is good. What happens if the threshold is decreased to 3? What about if it is decreased to 1? 9/37

  10. Asimpledecision, cont. If we define a new binary variable y that represents whether we go to the festival, we can write this variable as: 0,x1·w1+x2·w2+x3·w3<threshold y= 1, x · w + x · w + x · w ≥ threshold 1 1 2 2 3 3 Isthisstartingtolookfamiliar yet? 10/37

  11. A simple decision, cont. Now, if I rewrite this in terms of a dot product between the vector of of all binary inputs (x), a vector of weights (w), and change the threshold to the negative bias (b), we have: 0, x · w + b < 0 1, x · w + b ≥ 0 y= So we are really just finding separating hyperplanes again, much as we did with logistic regression and support vector machines!

  12. A perceptron We can graphically represent this decision algorithm as an object that takes 3 binary inputs and produces a single binary output: This object is called a perceptron when using the type of weighting scheme we just developed.

  13. A network of perceptrons A perceptron takes a number of binary inputs and emits a binary output. Therefore it is easy to build a network of such perceptrons, where the output from some perceptrons are used in the inputs of other perceptrons: Notice that some perceptrons seem to have multiple output arrows, even though we have defined them as having only one output. This is only meant to indicate that a single output is being sent to multiple new perceptrons.

  14. A network of perceptrons, cont. The input and outputs are typically represented as their own neurons, with the other neurons named hidden layers

  15. A network of perceptrons, cont. The biological interpretation of a perceptron is this: when it emits a 1 this is equivalent to ‘firing’ an electrical pulse, and when it is 0 this is when it is not firing. The bias indicates how difficult it is for this particular node to send out a signal.

  16. A network of perceptrons, cont. Notice that the network of nodes I have shown only sends signals in one direction. This is called a feed-forward network. These are by far the most well-studied types of networks, though we will (hopefully) have a chance to talk about recurrent neural networks (RNNs) that allow for loops in the network. The one-directional nature of feed-forward networks is probably the biggest difference between artificial neural networks and their biological equivalent.

  17. Sigmoid neuron An important shortcoming of a perceptron is that a small change in the input values can cause a large change the output because each node (or neuron) only has two possible states: 0 or 1. A better solution would be to output a continuum of values, say any number between 0 and 1. Most tutorials spend a significant amount of time describing the conceptual leap from binary outputs to a continuous output. For us, however this should be quite straightforward.

  18. Sigmoidneuron, cont. Asoneoption,we couldsimplyhavetheneuronemitthevalue: 1 σ(x · w + b) = 1 + e−(x·w+b) For a particularly positive or negative value of x · w + b, the result will be nearly the same as with the perceptron (i.e., near 0 or 1). For values close to the boundary of the separating hyperplane, values near 0.5 will be emitted. 20/37

  19. Sigmoid neuron, cont. This perfectly mimics logistic regression, and in fact uses the logit function to do so. In the neural network literature, the logit function is called the sigmoid function, thus leading to the name sigmoid neuron for a neuron that uses it’s logic. Notice that the previous restriction to binary inputs was not at all needed, and can be easily replaces with continuous input without an changes needed to the formulas.

  20. Activation functions In the sigmoid neuron example, the choice of what function to use to go from x · w + b to an output is called the activation function. Using a logistic, or sigmoid, activation function has some benefits in being able to easily take derivatives and the interpret them using logistic regression. Other choices have certain benefits that have recently grown in popularity. Some of these include: hyperbolic tan: tanh(z) = 2σ(2x) − 1 rectified linear unit: ReLU(z) = max(0, z) leaky rectified linear unit maxout We will explore the pros and cons of these in upcoming lectures.

More Related