Top Banner
CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* [email protected] *Based on the lectures given by Professor Sanja Fidler and the prev. tutorial by Yujia Li.
26

CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* [email protected] *Based

Mar 07, 2019

Download

Documents

vanthuy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

CSC411 Tutorial #5 Neural Networks

February 26, 2016

Boris Ivanovic*

[email protected]

*Based on the lectures given by Professor Sanja Fidler and the prev. tutorial by Yujia Li.

Page 2: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Outline for Today

• Neural Networks

• Questions

Page 3: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Neural Networks

Page 4: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

High-Level Overview

• A Neural Network is (generally) comprised of: – Neurons which pass input values through

functions and output the result

– Weights which carry values between neurons

• We group neurons into layers. There are 3 main types of layers: – Input Layer

– Hidden Layer(s)

– Output Layer

Page 5: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

High-Level Overview

Page 6: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Neuron Breakdown

b

Page 7: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Activation Functions

Most popular recently for deep learning

Page 8: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Representation Power

Page 9: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

What does this mean?

• Neural Networks are POWERFUL, it’s exactly why with recent computing power there was a renewed interest in them.

BUT

• “With great power comes great overfitting.”

– Boris Ivanovic, 2016

• Last slide, “20 hidden neurons” is an example.

Page 10: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

How to mitigate this?

• Stay Tuned!

• First, how do we even use or train neural networks?

Page 11: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Training Neural Networks (Key Idea)

(Regression)

(Classification)

Page 12: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Training Compared to Other Models

• Training Neural Networks is a NON-CONVEX OPTIMIZATION PROBLEM.

• This means we can run into many local optima during training.

Weight

Page 13: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Training Neural Networks (Implementation)

• We need to first perform a forward pass

• Then, we update weights with a backward pass

Page 14: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Forward Pass (AKA “Inference”)

Page 15: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Backward Pass (AKA “Backprop.”)

Page 16: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Learning Weights during Backprop

• Do exactly what we’ve been doing!

• Take the derivative of the error/cost/loss function w.r.t. the weights and minimize via gradient descent!

Page 17: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Useful Derivatives

Page 18: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

On Board Training Example

Similar to what you’ve seen in lecture

Page 19: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Preventing Overfitting

Page 20: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Limiting the Size of the Weights

Page 21: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

The Effects of Weight-Decay

Page 22: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Early Stopping

Page 23: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Why Early Stopping Works

Page 24: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Let’s make our own Neural Network

Design a Neural Network that takes in two inputs and performs the binary OR operation on them.

Page 25: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Superb Convolutional Neural Network Visualization

• http://scs.ryerson.ca/~aharley/vis/conv/

Page 26: CSC411 Tutorial #5 Neural Networksfidler/teaching/2015/slides/CSC411/tutorial5... · CSC411 Tutorial #5 Neural Networks February 26, 2016 Boris Ivanovic* csc411ta@cs.toronto.edu *Based

Questions