Neural Networks Learning the network: Backprop , Fall 2018 Lecture 4

Similar documents
ECE521 Lectures 9 Fully Connected Neural Networks

Need for Deep Networks Perceptron. Can only model linear functions. Kernel Machines. Non-linearity provided by kernels

SPSS, University of Texas at Arlington. Topics in Machine Learning-EE 5359 Neural Networks

Lecture 5: Logistic Regression. Neural Networks

Need for Deep Networks Perceptron. Can only model linear functions. Kernel Machines. Non-linearity provided by kernels

Pattern Recognition Prof. P. S. Sastry Department of Electronics and Communication Engineering Indian Institute of Science, Bangalore

Neural Networks. CSE 6363 Machine Learning Vassilis Athitsos Computer Science and Engineering Department University of Texas at Arlington

4. Multilayer Perceptrons

Introduction to Machine Learning

Machine Learning for Large-Scale Data Analysis and Decision Making A. Neural Networks Week #6

Lecture 3 Feedforward Networks and Backpropagation

DEEP LEARNING AND NEURAL NETWORKS: BACKGROUND AND HISTORY

CSC 411 Lecture 10: Neural Networks

CSCI567 Machine Learning (Fall 2018)

NONLINEAR CLASSIFICATION AND REGRESSION. J. Elder CSE 4404/5327 Introduction to Machine Learning and Pattern Recognition

Online Videos FERPA. Sign waiver or sit on the sides or in the back. Off camera question time before and after lecture. Questions?

Neural Networks and the Back-propagation Algorithm

Neural Network Training

Lecture 3 Feedforward Networks and Backpropagation

Artificial Neural Networks. MGS Lecture 2

1 What a Neural Network Computes

Neural Networks and Deep Learning

Statistical NLP for the Web

CSE446: Neural Networks Spring Many slides are adapted from Carlos Guestrin and Luke Zettlemoyer

Neural Networks: Optimization Part 2. Intro to Deep Learning, Fall 2017

Neural Networks, Computation Graphs. CMSC 470 Marine Carpuat

Lecture 17: Neural Networks and Deep Learning

Neural Networks: Backpropagation

CSC321 Lecture 6: Backpropagation

Computational statistics

Introduction to Convolutional Neural Networks (CNNs)

Serious limitations of (single-layer) perceptrons: Cannot learn non-linearly separable tasks. Cannot approximate (learn) non-linear functions

Ch.6 Deep Feedforward Networks (2/3)

COGS Q250 Fall Homework 7: Learning in Neural Networks Due: 9:00am, Friday 2nd November.

Reading Group on Deep Learning Session 1

Optimization and Gradient Descent

Stochastic gradient descent; Classification

Mark Gales October y (x) x 1. x 2 y (x) Inputs. Outputs. x d. y (x) Second Output layer layer. layer.

(Feed-Forward) Neural Networks Dr. Hajira Jabeen, Prof. Jens Lehmann

Convolutional Neural Networks

Multilayer Perceptrons and Backpropagation

Lecture 15: Exploding and Vanishing Gradients

A summary of Deep Learning without Poor Local Minima

Introduction to Natural Computation. Lecture 9. Multilayer Perceptrons and Backpropagation. Peter Lewis

BACKPROPAGATION. Neural network training optimization problem. Deriving backpropagation

Statistical Machine Learning from Data

Unit III. A Survey of Neural Network Model

ARTIFICIAL NEURAL NETWORK PART I HANIEH BORHANAZAD

CSC321 Lecture 4: Learning a Classifier

ECE521 Lecture 7/8. Logistic Regression

Neural networks COMS 4771

Natural Language Processing with Deep Learning CS224N/Ling284

Neural Networks (Part 1) Goals for the lecture

Multi-layer Neural Networks

8-1: Backpropagation Prof. J.C. Kao, UCLA. Backpropagation. Chain rule for the derivatives Backpropagation graphs Examples

CSC321 Lecture 4: Learning a Classifier

Course 395: Machine Learning - Lectures

Automatic Differentiation and Neural Networks

Neural Nets Supervised learning

Machine Learning Basics III

Computational Intelligence Winter Term 2017/18

Deep Learning Recurrent Networks 2/28/2018

Apprentissage, réseaux de neurones et modèles graphiques (RCP209) Neural Networks and Deep Learning

Neural Networks with Applications to Vision and Language. Feedforward Networks. Marco Kuhlmann

Machine Learning. Neural Networks

Neural Networks Lecturer: J. Matas Authors: J. Matas, B. Flach, O. Drbohlav

Introduction to Machine Learning (67577)

Neural Networks. Single-layer neural network. CSE 446: Machine Learning Emily Fox University of Washington March 10, /9/17

Comments. Assignment 3 code released. Thought questions 3 due this week. Mini-project: hopefully you have started. implement classification algorithms

Intelligent Systems Discriminative Learning, Neural Networks

Deep Neural Networks (1) Hidden layers; Back-propagation

CSC321 Lecture 15: Exploding and Vanishing Gradients

Neural Networks. Nicholas Ruozzi University of Texas at Dallas

ARTIFICIAL INTELLIGENCE. Artificial Neural Networks

Multilayer Perceptrons (MLPs)

Deep Neural Networks (1) Hidden layers; Back-propagation

How to do backpropagation in a brain

Artificial Neural Networks

Lecture 2: Learning with neural networks

Machine Learning

Revision: Neural Network

Deep Learning Sequence to Sequence models: Attention Models. 17 March 2018

Lecture 8: Introduction to Deep Learning: Part 2 (More on backpropagation, and ConvNets)

Lecture 5: Linear models for classification. Logistic regression. Gradient Descent. Second-order methods.

y(x n, w) t n 2. (1)

Data Mining Part 5. Prediction

Intro to Neural Networks and Deep Learning

What Do Neural Networks Do? MLP Lecture 3 Multi-layer networks 1

Backpropagation Introduction to Machine Learning. Matt Gormley Lecture 12 Feb 23, 2018

Machine Learning Lecture 10

Classification goals: Make 1 guess about the label (Top-1 error) Make 5 guesses about the label (Top-5 error) No Bounding Box

Lab 5: 16 th April Exercises on Neural Networks

Computational Intelligence

Advanced Machine Learning

ECE G: Special Topics in Signal Processing: Sparsity, Structure, and Inference

Deep Feedforward Networks. Seung-Hoon Na Chonbuk National University

Multilayer Neural Networks. (sometimes called Multilayer Perceptrons or MLPs)

Long-Short Term Memory and Other Gated RNNs

Machine Learning Lecture 12

Neural networks. Chapter 20. Chapter 20 1

Transcription:

Neural Networks Learning the network: Backprop 11-785, Fall 2018 Lecture 4 1

Recap: The MLP can represent any function The MLP can be constructed to represent anything But how do we construct it? 2

Recap: How to learn the function By minimizing expected error 3

Recap: Sampling the function d i X i is unknown, so sample it Basically, get input-output pairs for a number of samples of input Many samples, where Good sampling: the samples of will be drawn from Estimate function from the samples 4

The Empirical risk di Xi The expected error is the average error over the entire input space The empirical estimate of the expected error is the average error over the samples 5

Empirical Risk Minimization Given a training set of input-output pairs 2 Error on the i-th instance: Empirical average error on all training data: Estimate the parameters to minimize the empirical estimate of expected error I.e. minimize the empirical error over the drawn samples 6

Problem Statement Given a training set of input-output pairs Minimize the following function w.r.t This is problem of function minimization An instance of optimization 7

A CRASH COURSE ON FUNCTION OPTIMIZATION 8

Finding the minimum of a scalar function of a multi-variate input The optimum point is a turning point the gradient will be 0 9

Unconstrained Minimization of function (Multivariate) 1. Solve for the where the gradient equation equals to zero f ( X ) 2. Compute the Hessian Matrix at the candidate solution and verify that Hessian is positive definite (eigenvalues positive) -> to identify local minima Hessian is negative definite (eigenvalues negative) -> to identify local maxima 0 10

Closed Form Solutions are not always f(x) available Often it is not possible to simply solve The function to minimize/maximize may have an intractable form In these situations, iterative solutions are used Begin with a guess for the optimal and refine it iteratively until the correct value is obtained X 11

Iterative solutions f(x) x 0 x 1 x 2 x 5 x 3 x 4 X Iterative solutions Start from an initial guess for the optimal Update the guess towards a (hopefully) better value of Stop when no longer decreases Problems: Which direction to step in How big must the steps be 12

The Approach of Gradient Descent Iterative solution: Start at some point Find direction in which to shift this point to decrease error This can be found from the derivative of the function A positive derivative moving left decreases error A negative derivative moving right decreases error Shift point in this direction

The Approach of Gradient Descent Iterative solution: Trivial algorithm Initialize While If is positive: Else x = x step x = x + step What must step be to ensure we actually get to the optimum?

The Approach of Gradient Descent Iterative solution: Trivial algorithm Initialize While Identical to previous algorithm

The Approach of Gradient Descent Iterative solution: Trivial algorithm Initialize While is the step size

Gradient descent/ascent (multivariate) The gradient descent/ascent method to find the minimum or maximum of a function iteratively To find a maximum move in the direction of the gradient To find a minimum move exactly opposite the direction of the gradient T T Many solutions to choosing step size Later lecture 11-755/18-797 17

Fixed step size Use fixed value for 1. Fixed step size 11-755/18-797 18

f Influence of step size example (constant step size) é 2 2 ( x1, x2) ( x1) x1x2 4( x2) x initial ê 3 ë 3 0.1 0.2 ù ú û x 0 x 0 11-755/18-797 19

What is the optimal step size? Step size is critical for fast optimization Will revisit this topic later For now, simply assume a potentiallyiteration-dependent step size 20

Gradient descent convergence criteria The gradient descent algorithm converges when one of the following criteria is satisfied f (x k1 )- f (x k ) < e 1 Or f (x k ) < e 2 11-755/18-797 21

Overall Gradient Descent Algorithm Initialize: While 11-755/18-797 22

Convergence of Gradient Descent For appropriate step size, for convex (bowlshaped) functions gradient descent will always find the minimum. For non-convex functions it will find a local minimum or an inflection point 23

Returning to our problem.. 24

Problem Statement Given a training set of input-output pairs Minimize the following function w.r.t This is problem of function minimization An instance of optimization 25

Preliminaries Before we proceed: the problem setup 26

Problem Setup: Things to define Given a training set of input-output pairs Minimize What are the these following input-output function pairs? 27

Problem Setup: Things to define Given a training set of input-output pairs Minimize What are the these following input-output function pairs? What is f() and what are its parameters? 28

Problem Setup: Things to define Given a training set of input-output pairs Minimize What are the these following input-output function pairs? What is the divergence div()? What is f() and what are its parameters W? 29

Problem Setup: Things to define Given a training set of input-output pairs Minimize the following function What is f() and what are its parameters W? 30

What is f()? Typical network Input units Hidden units Output units Multi-layer perceptron A directed network with a set of inputs and outputs No loops Generic terminology We will refer to the inputs as the input units No neurons here the input units are just the inputs We refer to the outputs as the output units Intermediate units are hidden units 31

The individual neurons Individual neurons operate on a set of inputs and produce a single output Standard setup: A differentiable activation function applied the sum of weighted inputs and a bias y = f w x + b More generally: any differentiable function 32

The individual neurons Individual neurons operate on a set of inputs and produce a single output Standard setup: A differentiable activation function applied the sum of weighted inputs and a bias y = f w x + b More generally: any differentiable function We will assume this unless otherwise specified Parameters are weights and bias 33

Activations and their derivatives [*] Some popular activation functions and their derivatives 34

Vector Activations Input Layer Hidden Layers Output Layer We can also have neurons that have multiple coupled outputs Function operates on set of inputs to produce set of outputs Modifying a single parameter in will affect all outputs 35

Vector activation example: Softmax s o f t m a x Example: Softmax vector activation Parameters are weights and bias 36

Multiplicative combination: Can be viewed as a case of vector activations x z y Parameters are weights and bias A layer of multiplicative combination is a special case of vector activation 37

Typical network Input Layer Hidden Layers Output Layer We assume a layered network for simplicity We will refer to the inputs as the input layer No neurons here the layer simply refers to inputs We refer to the outputs as the output layer Intermediate layers are hidden layers 38

Typical network Input Layer Hidden Layers Output Layer In a layered network, each layer of perceptrons can be viewed as a single vector activation 39

Notation () () () () () () () () () () () The input layer is the 0 th layer We will represent the output of the i-th perceptron of the k th () layer as () Input to network: () Output of network: We will represent the weight of the connection between the i-th unit of the k-1th layer and the jth unit of the k-th layer as The bias to the jth unit of the k-th layer is () () 40

Problem Setup: Things to define Given a training set of input-output pairs Minimize What are the these following input-output function pairs? 41

Vector notation Given a training set of input-output pairs 2 is the nth input vector is the nth desired output is the nth vector of actual outputs of the network We will sometimes drop the first subscript when referring to a specific instance 42

Representing the input Input Layer Hidden Layers Output Layer Vectors of numbers (or may even be just a scalar, if input layer is of size 1) E.g. vector of pixel values E.g. vector of speech features E.g. real-valued vector representing text We will see how this happens later in the course Other real valued vectors 43

Representing the output Input Layer Hidden Layers Output Layer If the desired output is real-valued, no special tricks are necessary Scalar Output : single output neuron d = scalar (real value) Vector Output : as many output neurons as the dimension of the desired output d = [d 1 d 2.. d L ] (vector of real values) 44

Representing the output If the desired output is binary (is this a cat or not), use a simple 1/0 representation of the desired output 1 = Yes it s a cat 0 = No it s not a cat. 45

Representing the output 1 σ z = 1 + e σ(z) If the desired output is binary (is this a cat or not), use a simple 1/0 representation of the desired output Output activation: Typically a sigmoid Viewed as the probability of class value 1 Indicating the fact that for actual data, in general an feature value X may occur for both classes, but with different probabilities Is differentiable 46

Representing the output If the desired output is binary (is this a cat or not), use a simple 1/0 representation of the desired output 1 = Yes it s a cat 0 = No it s not a cat. Sometimes represented by two independent outputs, one representing the desired output, the other representing the negation of the desired output Yes: [1 0] No: [0 1] 47

Multi-class output: One-hot representations Consider a network that must distinguish if an input is a cat, a dog, a camel, a hat, or a flower We can represent this set as the following vector: [cat dog camel hat flower] T For inputs of each of the five classes the desired output is: cat: [1 0 0 0 0] T dog: [0 1 0 0 0] T camel: [0 0 1 0 0] T hat: [0 0 0 1 0] T flower: [0 0 0 0 1] T For an input of any class, we will have a five-dimensional vector output with four zeros and a single 1 at the position of that class This is a one hot vector 48

Multi-class networks Input Layer Hidden Layers Output Layer For a multi-class classifier with N classes, the one-hot representation will have N binary outputs An N-dimensional binary vector The neural network s output too must ideally be binary (N-1 zeros and a single 1 in the right place) More realistically, it will be a probability vector N probability values that sum to 1. 49

Multi-class classification: Output Input Layer Hidden Layers Output Layer s o f t m a x Softmax vector activation is often used at the output of multi-class classifier nets () () This can be viewed as the probability 50

Typical Problem Statement We are given a number of training data instances E.g. images of digits, along with information about which digit the image represents Tasks: Binary recognition: Is this a 2 or not Multi-class recognition: Which digit is this? Is this a digit in the first place? 51

Training data Typical Problem statement: binary classification (, 0) (, 1) (, 1) (, 0) (, 0) (, 1) Input: vector of pixel values Output: sigmoid Given, many positive and negative examples (training data), learn all weights such that the network does the desired job 52

Training data (, 5) Typical Problem statement: multiclass classification (, 2) Input Layer Hidden Layers Output Layer (, 2) (, 4) s o f t m a x (, 0) (, 2) Input: vector of pixel values Output: Class prob Given, many positive and negative examples (training data), learn all weights such that the network does the desired job 53

Problem Setup: Things to define Given a training set of input-output pairs Minimize the following function What is the divergence div()? 54

Examples of divergence functions d 1 d 2 d 3 d 4 L 2 Div() Div For real-valued output vectors, the (scaled) L 2 divergence is popular Squared Euclidean distance between true and desired output Note: this is differentiable 55

For binary classifier KL Div For binary classifier with scalar output,, d is 0/1, the cross entropy between the probability distribution and the ideal output probability is popular Minimum when d = Y Derivative ddiv(y, d) dy = 1 Y 1 if d = 1 1 Y if d = 0 56

For multi-class classification d 1 d 2 d 3 d 4 KL Div() Div Desired output d is a one hot vector 0 0 1 0 0 0 with the 1 in the c-th position (for class c) Actual output will be probability distribution y, y, The cross-entropy between the desired one-hot output and actual output: Derivative Div Y, d = d log y ddiv(y, d) dy = 1 y for the c th component 0 for remaining component Div(Y, d) = 0 0 1 y 0 0 57

Problem Setup Given a training set of input-output pairs The error on the i th instance is The total error Minimize w.r.t 58

Recap: Gradient Descent Algorithm In order to minimize any function Initialize: w.r.t. While 11-755/18-797 59

Recap: Gradient Descent Algorithm In order to minimize any function Initialize: w.r.t. While For every component Explicitly stating it by component 11-755/18-797 60

Training Neural Nets through Gradient Total training error: Descent Gradient descent algorithm: Initialize all weights and biases Do: Using the extended notation: the bias is also a weight For every layer for all update: Assuming the bias is also represented as a weight Until (), (), (), has converged 61

Training Neural Nets through Gradient Total training error: Descent Gradient descent algorithm: Initialize all weights Do: For every layer for all update: Until (), (), (), has converged 62

The derivative Total training error: Computing the derivative Total derivative: 63

Training by gradient descent () Initialize all weights Do: For all, initialize For all (), For every layer k for all i, j: Compute Div(Y t,d t ) (),, () += Div(Y t,d t ) (), For every layer for all : Until has converged () () η w, = w, T derr () dw, 64

The derivative Total training error: Total derivative: So we must first figure out how to compute the derivative of divergences of individual training inputs 65

Calculus Refresher: Basic rules of For any differentiable function with derivative calculus the following must hold for sufficiently small For any differentiable function with partial derivatives the following must hold for sufficiently small 66

Calculus Refresher: Chain rule For any nested function Check we can confirm that : 67

Calculus Refresher: Distributed Chain rule Check: 68

Distributed Chain Rule: Influence Diagram affects through each of 69

Distributed Chain Rule: Influence Diagram Small perturbations in perturbations in each of cause small each of which individually additively perturbs 70

Returning to our problem How to compute 71

A first closer look at the network Showing a tiny 2-input network for illustration Actual network would have many more neurons and inputs 72

A first closer look at the network + f(. ) + f(. ) + f(. ) + f(. ) + f(. ) Showing a tiny 2-input network for illustration Actual network would have many more neurons and inputs Explicitly separating the weighted sum of inputs from the activation 73

A first closer look at the network (), (), (), (), (), (), + + (), (), (), (), (), (), + + (), (), (), + Showing a tiny 2-input network for illustration Actual network would have many more neurons and inputs Expanded with all weights and activations shown The overall function is differentiable w.r.t every weight, bias and input 74

Computing the derivative for a single input (), (), (), (), (), (), + + (), (), (), (), (), (), + + (), (), (), + Each yellow ellipse represents a perceptron Aim: compute derivative of weights w.r.t. each of the But first, lets label all our variables and activation functions 75

Computing the derivative for a single input 76 + + + + +, (), (), (), (), (), (), (), (), (), (), (), (), (), (), () () () () () () () () () () 1 1 2 2 3 Div

Computing the gradient What is: Derive on board? 77

Computing the gradient What is: Derive on board? Note: computation of the derivative requires intermediate and final output values of the network in response to the input 78

BP: Scalar Formulation 1 1 1 1 1 Div(Y,d) The network again

Gradients: Local Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) E f N 1 1 1 Redrawn Separately label input and output of each node

Forward Computation z (1) y (1) z (N-1) y (N-1) z(n) y (N) f N f N 1 Assuming () () and

Forward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N f N 1 1 1 Assuming () () () and

Forward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N f N 1 1 1

Forward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N f N 1 1 1 ITERATE FOR k = 1:N for j = 1:layer-width

Forward Pass Input: dimensional vector Set:, is the width of the 0 th (input) layer ; For layer For D k is the size of the kth layer () (), () () Output: () 85

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1 () computed during the forward pass

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1 Derivative of the activation function of Nth layer

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N () 1 1 1 () () () () () Because : z () y () = w () () () () ()

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1 () () () () computed during the forward pass () () () () () ()

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1 () () () () computed during the forward pass () () () () () ()

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) y (N) f N Div(Y,d) Div(Y,d) f N () 1 1 1 () () () () () () () () ()

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) w ij (k) z(n) y (N) f N Div(Y,d) Div(Y,d) f N 1 1 1 () () () () () () () () () () () () ()

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z(n) f N y (N) Div(Y,d) Div(Y,d) f N Figure assumes, but does not show the 1 bias nodes Initialize: Gradient w.r.t network output () () () () () () () () () () () () ()

Output layer (N) : For Backward Pass (,) () () For layer For () () () () () () () () () () () () () for 97

Backward Pass Output layer (N) : For () (,) () () () () For layer For () () () Called Backpropagation because the derivative of the error is propagated backwards through the network Very analogous to the forward pass: Backward weighted combination of next layer Backward equivalent of activation () () () () () () () for 98

For comparison: the forward pass Input: Set: again dimensional vector, is the width of the 0 th (input) layer ; For layer For () (), () () Output: () 99

Special cases Have assumed so far that 1. The computation of the output of one neuron does not directly affect computation of other neurons in the same (or previous) layers 2. Outputs of neurons only combine through weighted addition 3. Activations are actually differentiable All of these conditions are frequently not applicable Not discussed in class, but explained in slides Will appear in quiz. Please read the slides 100

Special Case 1. Vector activations y (k-1) z (k) y (k) y (k-1) z (k) y (k) Vector activations: all outputs are functions of all inputs 101

Special Case 1. Vector activations y (k-1) z (k) y (k) y (k-1) z (k) y (k) Scalar activation: Modifying a only changes corresponding Vector activation: Modifying a potentially changes all, 102

Influence diagram y (k-1) y (k) y (k-1) z (k) y (k) z (k) Scalar activation: Each influences one Vector activation: Each influences all, 103

The number of outputs y (k-1) z (k) y (k) y (k-1) z (k) y (k) Note: The number of outputs (y (k) ) need not be the same as the number of inputs (z (k) ) May be more or fewer 104

Scalar Activation: Derivative rule y (k-1) z (k) y (k) In the case of scalar activation functions, the derivative of the error w.r.t to the input to the unit is a simple product of derivatives 105

Derivatives of vector activation y (k-1) z (k) y (k) Div Note: derivatives of scalar activations are just a special case of vector activations: () () For vector activations the derivative of the error w.r.t. to any input is a sum of partial derivatives Regardless of the number of outputs 106

Special cases Examples of vector activations and other special cases on slides Please look up Will appear in quiz! 107

Example Vector Activation: Softmax () y (k-1) z (k) y (k) () Div () () () () () () () () () () () () () For future reference is the Kronecker delta: 108

Vector Activations y (k-1) z (k) y (k) In reality the vector combinations can be anything E.g. linear combinations, polynomials, logistic (softmax), etc. 109

Special Case 2: Multiplicative networks z (k-1) y (k-1) o (k) W (k) Forward: o y y ( k ) ( k -1) ( k -1) i j l Some types of networks have multiplicative combination In contrast to the additive combination we have seen so far Seen in networks such as LSTMs, GRUs, attention models, etc.

z (k-1) Backpropagation: Multiplicative y (k-1) Networks Forward: o (k) W (k) k ) o y y ( ( k -1) ( k -1) i j l Backward: () () () ( k ) Div oi Div ( k 1) y - ( k -1) ( k -1) ( k ) l ( k ) y j y j oi oi Div Div ( k 1) y - ( k -1) j ( k ) yl oi Some types of networks have multiplicative combination Div

Multiplicative combination as a case of vector activations y (k-1) z (k) y (k) A layer of multiplicative combination is a special case of vector activation 112

Multiplicative combination: Can be viewed as a case of vector activations y (k-1) z (k) y (k) () Y, Div () () A layer of multiplicative combination is a special case of vector activation 113

Gradients: Backward Computation z (k-1) y (k-1) z (k) y (k) z (N-1) y (N-1) z (N) f N y (N) Div(Y,d) Div f N () For k = N 1 For i = 1:layer width If layer has vector activation () () () () Else if activation is scalar () () () () () () () () () ()

Backward Pass for softmax output Output layer (N) : For (,) () layer z (N) softmax y (N) d KL Div Div () (,) () () () For layer For () () () () () () () () () for 115

Special Case 3: Non-differentiable x w activations x w x x..... w w w + z f(z) y z 1 z 2 x 1 w y f(z) = z z 3 f(z) = 0 z Activation functions are sometimes not actually differentiable E.g. The RELU (Rectified Linear Unit) z 4 And its variants: leaky RELU, randomized leaky RELU E.g. The max function Must use subgradients where available Or secants 116

The subgradient A subgradient of a function at a point is any vector such that Guaranteed to exist only for convex functions bowl shaped functions For non-convex functions, the equivalent concept is a quasi-secant The subgradient is a direction in which the function is guaranteed to increase If the function is differentiable at, the subgradient is the gradient The gradient is not always the subgradient though 117

Subgradients and the RELU Can use any subgradient At the differentiable points on the curve, this is the same as the gradient Typically, will use the equation given 118

Subgradients and the Max z 1 z 2 y z N Vector equivalent of subgradient 1 w.r.t. the largest incoming input Incremental changes in this input will change the output 0 for the rest Incremental changes to these inputs will not change the output 119

Subgradients and the Max z 1 y 1 z 2 y 2 y 3 z N y M Multiple outputs, each selecting the max of a different subset of inputs Will be seen in convolutional networks Gradient for any output: 1 for the specific component that is maximum in corresponding input subset 0 otherwise 120

Backward Pass: Recap Output layer (N) : For (,) () () For layer For () () () () () () (vector activation) () () () () () () () () () () (vector activation) () () () for 121

Overall Approach For each data instance Forward pass: Pass instance forward through the net. Store all intermediate outputs of all computation Backward pass: Sweep backward through the net, iteratively compute all derivatives w.r.t weights Actual Error is the sum of the error over all training instances Actual gradient is the sum or average of the derivatives computed for each training instance

Training by BackProp Initialize all weights Do: Initialize ; For all, initialize (), For all (Loop over training instances) Forward pass: Compute Output Y t Err += Div(Y t, d t ) Backward pass: For all i, j, k: Compute Div(Y t,d t ) (), Compute, For all update: () += Div(Y t,d t ) (), () () η w, = w, T derr () dw, Until has converged 123

Vector formulation For layered networks it is generally simpler to think of the process in terms of vector operations Simpler arithmetic Fast matrix libraries make operations much faster We can restate the entire process in vector terms On slides, please read This is what is actually used in any real system Will appear in quiz 124

Vector formulation () () () () () () () () () () () k () () () () () () () () () k k () () () () () () () Arrange all inputs to the network in a vector Arrange the inputs to neurons of the kth layer as a vector k Arrange the outputs of neurons in the kth layer as a vector k Arrange the weights to any layer as a matrix Similarly with biases 12 5

Vector formulation () () () () () k () () () k () () () () () () () () () () () () () () () () The computation of a single layer is easily expressed in matrix notation as (setting 0 ): k () () () k k k1 k k k 12 6

The forward pass: Evaluating the network 0 127

The forward pass 1 1 1 128

The forward pass 1 1 1 The Complete computation 129

The forward pass 1 1 2 The Complete computation 2 130

The forward pass 1 1 2 2 2 The Complete computation 131

The forward pass 1 1 2 2 N N The Complete computation 132

The forward pass 1 1 2 2 N N The Complete computation 133

Forward pass Div(Y,d) Forward pass: Initialize For k = 1 to N: Output

The Forward Pass Set For layer k = 1 to N: Recursion: Output: 135

The backward pass The network is a nested function The error for any is also a nested function

Calculus recap 2: The Jacobian The derivative of a vector function w.r.t. vector input is called a Jacobian It is the matrix of partial derivatives given below Using vector notation Check: 137

Jacobians can describe the derivatives of neural activations w.r.t their input z y For Scalar activations Number of outputs is identical to the number of inputs Jacobian is a diagonal matrix Diagonal entries are individual derivatives of outputs w.r.t inputs Not showing the superscript (k) in equations for brevity 138

Jacobians can describe the derivatives of neural activations w.r.t their input z y For scalar activations (shorthand notation): Jacobian is a diagonal matrix Diagonal entries are individual derivatives of outputs w.r.t inputs 139

For Vector activations z y Jacobian is a full matrix Entries are partial derivatives of individual outputs w.r.t individual inputs 140

Special case: Affine functions Matrix and bias operating on vector to produce vector The Jacobian of w.r.t is simply the matrix 141

Vector derivatives: Chain rule We can define a chain rule for Jacobians For vector functions of vector inputs: Check Note the order: The derivative of the outer function comes first 142

Vector derivatives: Chain rule The chain rule can combine Jacobians and Gradients For scalar functions of vector inputs ( is vector): Check Note the order: The derivative of the outer function comes first 143

Special Case Scalar functions of Affine functions Derivatives w.r.t parameters Note reversal of order. This is in fact a simplification of a product of tensor terms that occur in the right order 144

The backward pass In the following slides we will also be using the notation z the Jacobian Y to explicitly illustrate the chain rule to represent In general a represents a derivative of w.r.t. and could be a gradient (for scalar ) Or a Jacobian (for vector )

The backward pass First compute the gradient of the divergence w.r.t.. The actual gradient depends on the divergence function.

The backward pass

The backward pass

The backward pass

The backward pass

The backward pass

The backward pass

The backward pass The Jacobian will be a diagonal matrix for scalar activations

The backward pass

The backward pass

The backward pass

The backward pass

The backward pass In some problems we will also want to compute the derivative w.r.t. the input

The Backward Pass Set, Initialize: Compute For layer k = N downto 1: Compute Will require intermediate values computed in the forward pass Recursion: Gradient computation: 159

The Backward Pass Set, Initialize: Compute For layer k = N downto 1: Compute Will require intermediate values computed in the forward pass Recursion: Note analogy to forward pass Gradient computation: 160

For comparison: The Forward Pass Set For layer k = 1 to N: Recursion: Output: 161

Neural network training algorithm Initialize all weights and biases Do: For all, initialize W, b For all Forward pass : Compute Output Y(X t ) Divergence Div(Y t, d t ) Err += Div(Y t, d t ) Backward pass: For all k compute: y Div = z Div W z Div = y Div J y z W Div(Y t, d t ); b Div(Y t, d t ) W Err += W Div(Y t, d t ); b Err += b Div(Y t, d t ) For all update: W = W W Err ; b = b W Err Until has converged 162

Setting up for digit recognition Training data (, 0) (, 1) (, 0) (, 1) (, 0) (, 1) Sigmoid output neuron Simple Problem: Recognizing 2 or not 2 Single output with sigmoid activation Use KL divergence Backpropagation to learn network parameters 163

Training data Recognizing the digit (, 0) (, 1) (, 0) (, 1) (, 0) (, 1) Y 1 Y 2 Y 3 Y 4 Y 0 More complex problem: Recognizing digit Network with 10 (or 11) outputs First ten outputs correspond to the ten digits Optional 11th is for none of the above Softmax output layer: Ideal output: One of the outputs goes to 1, the others go to 0 Backpropagation with KL divergence to learn network 164

Issues Convergence: How well does it learn And how can we improve it How well will it generalize (outside training data) What does the output really mean? Etc.. 165

Next up Convergence and generalization 166