Lecture 3: Loss Functions and Optimization Fei-Fei Li & Justin - - PowerPoint PPT Presentation

lecture 3 loss functions and optimization
SMART_READER_LITE
LIVE PREVIEW

Lecture 3: Loss Functions and Optimization Fei-Fei Li & Justin - - PowerPoint PPT Presentation

Lecture 3: Loss Functions and Optimization Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - 1 April 11, 2017 Administrative Assignment 1 is released: http://cs231n.github.io/assignments2017/assignment1/ Due Thursday April 20 ,


slide-1
SLIDE 1

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 1

Lecture 3: Loss Functions and Optimization

slide-2
SLIDE 2

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Administrative

Assignment 1 is released: http://cs231n.github.io/assignments2017/assignment1/ Due Thursday April 20, 11:59pm on Canvas (Extending due date since it was released late)

2

slide-3
SLIDE 3

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Administrative

Check out Project Ideas on Piazza Schedule for Office hours is on the course website TA specialties are posted on Piazza

3

slide-4
SLIDE 4

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Administrative

4 Details about redeeming Google Cloud Credits should go out today; will be posted on Piazza $100 per student to use for homeworks and projects

slide-5
SLIDE 5

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Recall from last time: Challenges of recognition

5

This image is CC0 1.0 public domain This image by Umberto Salvagnin is licensed under CC-BY 2.0 This image by jonsson is licensed under CC-BY 2.0

Illumination Deformation Occlusion

This image is CC0 1.0 public domain

Clutter

This image is CC0 1.0 public domain

Intraclass Variation Viewpoint

slide-6
SLIDE 6

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Recall from last time: data-driven approach, kNN

6

1-NN classifier 5-NN classifier

train test train test validation

slide-7
SLIDE 7

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Recall from last time: Linear Classifier

7

f(x,W) = Wx + b

slide-8
SLIDE 8

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Recall from last time: Linear Classifier

8 1. Define a loss function that quantifies our unhappiness with the scores across the training data. 2. Come up with a way of efficiently finding the parameters that minimize the loss function. (optimization)

TODO:

Cat image by Nikita is licensed under CC-BY 2.0; Car image is CC0 1.0 public domain; Frog image is in the public domain

slide-9
SLIDE 9

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 9

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are:

slide-10
SLIDE 10

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 10

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: A loss function tells how good our current classifier is Given a dataset of examples Where is image and is (integer) label Loss over the dataset is a sum of loss over examples:

slide-11
SLIDE 11

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 11

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

slide-12
SLIDE 12

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 12

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

“Hinge loss”

slide-13
SLIDE 13

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 13

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

slide-14
SLIDE 14

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 14

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

= max(0, 5.1 - 3.2 + 1) +max(0, -1.7 - 3.2 + 1) = max(0, 2.9) + max(0, -3.9) = 2.9 + 0 = 2.9

Losses:

2.9

slide-15
SLIDE 15

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 15

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Losses:

= max(0, 1.3 - 4.9 + 1) +max(0, 2.0 - 4.9 + 1) = max(0, -2.6) + max(0, -1.9) = 0 + 0 = 0

2.9

slide-16
SLIDE 16

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 16

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Losses:

= max(0, 2.2 - (-3.1) + 1) +max(0, 2.5 - (-3.1) + 1) = max(0, 6.3) + max(0, 6.6) = 6.3 + 6.6 = 12.9

12.9 2.9

slide-17
SLIDE 17

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 17

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form: Loss over full dataset is average:

Losses:

12.9 2.9

L = (2.9 + 0 + 12.9)/3 = 5.27

slide-18
SLIDE 18

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 18

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q: What happens to loss if car scores change a bit? Losses:

12.9 2.9

slide-19
SLIDE 19

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 19

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q2: what is the min/max possible loss? Losses:

12.9 2.9

slide-20
SLIDE 20

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 20

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q3: At initialization W is small so all s ≈ 0. What is the loss? Losses:

12.9 2.9

slide-21
SLIDE 21

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 21

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q4: What if the sum was over all classes? (including j = y_i) Losses:

12.9 2.9

slide-22
SLIDE 22

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 22

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q5: What if we used mean instead of sum? Losses:

12.9 2.9

slide-23
SLIDE 23

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 23

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

Suppose: 3 training examples, 3 classes. With some W the scores are: Multiclass SVM loss:

Given an example where is the image and where is the (integer) label, and using the shorthand for the scores vector: the SVM loss has the form:

Q6: What if we used Losses:

12.9 2.9

slide-24
SLIDE 24

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Multiclass SVM Loss: Example code

24

slide-25
SLIDE 25

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 25

E.g. Suppose that we found a W such that L = 0. Is this W unique?

slide-26
SLIDE 26

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 26

E.g. Suppose that we found a W such that L = 0. Is this W unique? No! 2W is also has L = 0!

slide-27
SLIDE 27

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 27 Suppose: 3 training examples, 3 classes. With some W the scores are:

cat frog car

3.2 5.1

  • 1.7

4.9 1.3 2.0

  • 3.1

2.5 2.2

= max(0, 1.3 - 4.9 + 1) +max(0, 2.0 - 4.9 + 1) = max(0, -2.6) + max(0, -1.9) = 0 + 0 = 0

Losses:

2.9

Before: With W twice as large: = max(0, 2.6 - 9.8 + 1) +max(0, 4.0 - 9.8 + 1) = max(0, -6.2) + max(0, -4.8) = 0 + 0 = 0

slide-28
SLIDE 28

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 28 Data loss: Model predictions should match training data

slide-29
SLIDE 29

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 29 Data loss: Model predictions should match training data

slide-30
SLIDE 30

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 30 Data loss: Model predictions should match training data

slide-31
SLIDE 31

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 31 Data loss: Model predictions should match training data

slide-32
SLIDE 32

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 32 Data loss: Model predictions should match training data Regularization: Model should be “simple”, so it works on test data

slide-33
SLIDE 33

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 33 Data loss: Model predictions should match training data Regularization: Model should be “simple”, so it works on test data Occam’s Razor: “Among competing hypotheses, the simplest is the best” William of Ockham, 1285 - 1347

slide-34
SLIDE 34

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Regularization

34 = regularization strength (hyperparameter)

In common use: L2 regularization L1 regularization Elastic net (L1 + L2) Max norm regularization (might see later) Dropout (will see later) Fancier: Batch normalization, stochastic depth

slide-35
SLIDE 35

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

L2 Regularization (Weight Decay)

35

slide-36
SLIDE 36

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

L2 Regularization (Weight Decay)

36 (If you are a Bayesian: L2 regularization also corresponds MAP inference using a Gaussian prior on W)

slide-37
SLIDE 37

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 37

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7
slide-38
SLIDE 38

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 38

Softmax Classifier (Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes.

cat frog car

3.2 5.1

  • 1.7
slide-39
SLIDE 39

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 39

Softmax Classifier (Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes.

cat frog car

3.2 5.1

  • 1.7

where

slide-40
SLIDE 40

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 40

Softmax Classifier (Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes.

cat frog car

3.2 5.1

  • 1.7

where

Softmax function

slide-41
SLIDE 41

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 41

Softmax Classifier (Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes. Want to maximize the log likelihood, or (for a loss function) to minimize the negative log likelihood of the correct class:

cat frog car

3.2 5.1

  • 1.7

where

slide-42
SLIDE 42

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 42

Softmax Classifier (Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes. Want to maximize the log likelihood, or (for a loss function) to minimize the negative log likelihood of the correct class:

cat frog car

3.2 5.1

  • 1.7

in summary:

where

slide-43
SLIDE 43

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 43

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

slide-44
SLIDE 44

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 44

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

24.5 164.0 0.18

exp unnormalized probabilities

slide-45
SLIDE 45

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 45

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

24.5 164.0 0.18

exp unnormalized probabilities normalize

0.13 0.87 0.00

probabilities

slide-46
SLIDE 46

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 46

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

24.5 164.0 0.18

exp unnormalized probabilities normalize

0.13 0.87 0.00

probabilities

L_i = -log(0.13) = 0.89

slide-47
SLIDE 47

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 47

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

24.5 164.0 0.18

exp normalize unnormalized probabilities

0.13 0.87 0.00

probabilities

L_i = -log(0.13) = 0.89

Q: What is the min/max possible loss L_i?

slide-48
SLIDE 48

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 48

Softmax Classifier (Multinomial Logistic Regression) cat frog car

3.2 5.1

  • 1.7

unnormalized log probabilities

24.5 164.0 0.18

exp normalize unnormalized probabilities

0.13 0.87 0.00

probabilities

L_i = -log(0.13) = 0.89

Q2: Usually at initialization W is small so all s ≈ 0. What is the loss?

slide-49
SLIDE 49

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 49

slide-50
SLIDE 50

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 50

Softmax vs. SVM

slide-51
SLIDE 51

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 51

Softmax vs. SVM assume scores: [10, -2, 3] [10, 9, 9] [10, -100, -100] and

Q: Suppose I take a datapoint and I jiggle a bit (changing its score slightly). What happens to the loss in both cases?

slide-52
SLIDE 52

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 52

Recap

  • We have some dataset of (x,y)
  • We have a score function:
  • We have a loss function:

e.g.

Softmax SVM Full loss

slide-53
SLIDE 53

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 53

Recap

  • We have some dataset of (x,y)
  • We have a score function:
  • We have a loss function:

e.g.

Softmax SVM Full loss

How do we find the best W?

slide-54
SLIDE 54

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 54

Optimization

slide-55
SLIDE 55

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 55

This image is CC0 1.0 public domain

slide-56
SLIDE 56

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 56

Walking man image is CC0 1.0 public domain

slide-57
SLIDE 57

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 57

Strategy #1: A first very bad idea solution: Random search

slide-58
SLIDE 58

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 58

Lets see how well this works on the test set... 15.5% accuracy! not bad! (SOTA is ~95%)

slide-59
SLIDE 59

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 59

Strategy #2: Follow the slope

slide-60
SLIDE 60

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 60

Strategy #2: Follow the slope In 1-dimension, the derivative of a function:

In multiple dimensions, the gradient is the vector of (partial derivatives) along each dimension The slope in any direction is the dot product of the direction with the gradient The direction of steepest descent is the negative gradient

slide-61
SLIDE 61

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 61

current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 gradient dW: [?, ?, ?, ?, ?, ?, ?, ?, ?,…]

slide-62
SLIDE 62

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 62

current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (first dim): [0.34 + 0.0001,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25322 gradient dW: [?, ?, ?, ?, ?, ?, ?, ?, ?,…]

slide-63
SLIDE 63

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 63

gradient dW: [-2.5, ?, ?, ?, ?, ?, ?, ?, ?,…]

(1.25322 - 1.25347)/0.0001 = -2.5

current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (first dim): [0.34 + 0.0001,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25322

slide-64
SLIDE 64

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 64

gradient dW: [-2.5, ?, ?, ?, ?, ?, ?, ?, ?,…] current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (second dim): [0.34,

  • 1.11 + 0.0001,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25353

slide-65
SLIDE 65

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 65

gradient dW: [-2.5, 0.6, ?, ?, ?, ?, ?, ?, ?,…] current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (second dim): [0.34,

  • 1.11 + 0.0001,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25353

(1.25353 - 1.25347)/0.0001 = 0.6

slide-66
SLIDE 66

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 66

gradient dW: [-2.5, 0.6, ?, ?, ?, ?, ?, ?, ?,…] current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (third dim): [0.34,

  • 1.11,

0.78 + 0.0001, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347

slide-67
SLIDE 67

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 67

gradient dW: [-2.5, 0.6, 0, ?, ?, ?, ?, ?, ?,…] current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 W + h (third dim): [0.34,

  • 1.11,

0.78 + 0.0001, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347

(1.25347 - 1.25347)/0.0001 = 0

slide-68
SLIDE 68

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 68

This is silly. The loss is just a function of W:

want

slide-69
SLIDE 69

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 69

This is silly. The loss is just a function of W:

want

This image is in the public domain This image is in the public domain

slide-70
SLIDE 70

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 70

This is silly. The loss is just a function of W:

want

This image is in the public domain This image is in the public domain

Calculus!

Hammer image is in the public domain

Use calculus to compute an analytic gradient

slide-71
SLIDE 71

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 71

gradient dW: [-2.5, 0.6, 0, 0.2, 0.7,

  • 0.5,

1.1, 1.3,

  • 2.1,…]

current W: [0.34,

  • 1.11,

0.78, 0.12, 0.55, 2.81,

  • 3.1,
  • 1.5,

0.33,…] loss 1.25347 dW = ... (some function data and W)

slide-72
SLIDE 72

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 72

In summary:

  • Numerical gradient: approximate, slow, easy to write
  • Analytic gradient: exact, fast, error-prone

=>

In practice: Always use analytic gradient, but check implementation with numerical gradient. This is called a gradient check.

slide-73
SLIDE 73

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 73

Gradient Descent

slide-74
SLIDE 74

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 74

  • riginal W

negative gradient direction

W_1 W_2

slide-75
SLIDE 75

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 75

slide-76
SLIDE 76

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Stochastic Gradient Descent (SGD)

76 Full sum expensive when N is large! Approximate sum using a minibatch of examples 32 / 64 / 128 common

slide-77
SLIDE 77

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 77

Interactive Web Demo time....

http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

slide-78
SLIDE 78

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017 78

Interactive Web Demo time....

slide-79
SLIDE 79

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Aside: Image Features

79

slide-80
SLIDE 80

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Image Features: Motivation

80

x y r θ

f(x, y) = (r(x, y), θ(x, y))

Cannot separate red and blue points with linear classifier After applying feature transform, points can be separated by linear classifier

slide-81
SLIDE 81

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Example: Color Histogram

81

+1

slide-82
SLIDE 82

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Example: Histogram of Oriented Gradients (HoG)

82

Divide image into 8x8 pixel regions Within each region quantize edge direction into 9 bins Example: 320x240 image gets divided into 40x30 bins; in each bin there are 9 numbers so feature vector has 30*40*9 = 10,800 numbers

Lowe, “Object recognition from local scale-invariant features”, ICCV 1999 Dalal and Triggs, "Histograms of oriented gradients for human detection," CVPR 2005

slide-83
SLIDE 83

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Example: Bag of Words

83

Extract random patches Cluster patches to form “codebook”

  • f “visual words”

Step 1: Build codebook Step 2: Encode images

Fei-Fei and Perona, “A bayesian hierarchical model for learning natural scene categories”, CVPR 2005

slide-84
SLIDE 84

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Feature Extraction

Image features vs ConvNets

84

f

10 numbers giving scores for classes

training training

10 numbers giving scores for classes

slide-85
SLIDE 85

Fei-Fei Li & Justin Johnson & Serena Yeung Lecture 3 - April 11, 2017

Next time:

Introduction to neural networks Backpropagation

85