metrics and caffe - stanford university · roadmap evaluation metrics why metrics? confusion matrix...

40
EVALUATION METRICS & CAFFE Lyne Tchapmi CS 231A

Upload: phamthu

Post on 24-May-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

EVALUATION METRICS & CAFFE

Lyne Tchapmi

CS 231A

Page 2: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Roadmap❖ Evaluation Metrics

❖ Why metrics?❖ Confusion Matrix❖ IOU❖ Positives vs Negatives

❖ ROC Curve❖ Precision/Recall❖ PR Curve

❖ Deep Learning & Caffe❖ NN and CNN Review❖ Caffe

Page 3: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Why metrics?

❖ Objective evaluation of an algorithm’s performance

❖ Comparing different algorithms

❖ Choosing algorithm parameters

Page 4: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Confusion MatrixDIGIT RECOGNITION TASK

Page 5: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

IOU(Intersection over Union)

GT

Page 6: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

IOU(Intersection over Union)

GT

Page 7: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Positives vs Negatives

Actual Positive Actual Negative

Predicted Positive True Positive(TP)

False Positive(FP)

Predicted Negative False Negative(FN)

True Negative(TN)

FP

TP

FN

TN

Page 8: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

ROC Curve❖ ROC: Receiver Operating Characteristic

Page 9: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

ROC Curve❖ HOG + SVM threshold change

Page 10: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Precision and Recall

Actual Positive Actual Negative

Predicted Positive True Positive(TP)

False Positive(FP)

Predicted Negative False Negative(FN)

True Negative(TN)

Page 11: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

PR Curve

Page 12: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Metrics Summary❖ Confusion Matrix

❖ IOU

❖ Positives vs Negatives

❖ ROC Curve, Precision-Recall Curve

❖ Related

❖ MAP (Mean Average Precision): PASCAL VOC + ImageNet

❖ Segmentation accuracy: PASCAL VOC

❖ Miss rate: CALTECH Pedestrian Dataset

Page 13: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Roadmap❖ Evaluation Metrics

❖ Why metrics?❖ Confusion Matrix❖ IOU❖ Positives vs Negatives

❖ ROC Curve❖ Precision/Recall❖ PR Curve

❖ Deep Learning & Caffe❖ NN and CNN Review❖ Caffe

Page 14: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Neural Networks

Page 15: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Convolutional Neural Networks

Page 16: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Convolution Layer

Page 17: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Activation Functions

Page 18: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Pooling Layer

Page 19: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Classification layer ❖ Softmax function

❖ Output between 0 and 1 for each class

Page 20: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Convolutional Neural Networks

Page 21: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Back-propagation

❖ SGD with momentum

❖ Nesterov momentum

❖ Adagrad

❖ RMSProp

Stochastic Gradient Descent (SGD)

Page 22: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Caffe ❖ Deep Learning Framework from Berkeley

❖ C++, Python, MATLAB

❖ Available at https://github.com/BVLC/caffe

❖ CPU and GPU mode

❖ Platform-specific installation instructions available at http://caffe.berkeleyvision.org/installation.html

Page 23: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Caffe❖ Blob: Storage and Communication of Data

❖ Data blobs are N x C x H x W

❖ Net: Contains all the layers in the networks

❖ Performs forward/backward pass through the entire network

❖ Solver: Used to set training/testing parameters

❖ Number of iterations,back propagation method,etc..

Page 24: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Network Definition(train.prototxt)

Page 25: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Network Definition(train.prototxt)

Page 26: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Network Definition(train.prototxt)

Page 27: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Network Definition(test.prototxt)Previously

Page 28: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Previously

Network Definition(test.prototxt)

Page 29: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Solver(solver.prototxt)

Page 30: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Training from the Command Line

Command line output

OR

Page 31: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Testing from the command line

Page 32: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

PyCaffe (Training in Python)❖ Add caffe python directory to path and import caffe

Page 33: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Use NetSpec to define layers

Page 34: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Define solver and train network

Page 35: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Access Net data

Page 36: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

PyCaffe (Testing in Python)

Page 37: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

Caffe Summary

❖ Install Caffe

❖ Define training network in train.prototxt

❖ Define test network in test.prototxt

❖ Define solver parameters in solver.prototxt

❖ Train and test

Page 38: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

CNN Training tips

❖ Before running final/long training

❖ Make sure you can overfit on a small training set

❖ Make sure your loss decreases over first several iterations

❖ Otherwise adjust parameter until it does, especially learning rate

❖ Separate train/val/test data

Page 39: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

References❖ Metrics

❖ http://vase.essex.ac.uk/talks/performance-evaluation.pdf

❖ CNN❖ http://cs231n.github.io/

❖ Caffe❖ http://caffe.berkeleyvision.org/installation.html

❖ https://github.com/BVLC/caffe/tree/master/examples

❖ http://caffe.berkeleyvision.org/tutorial/interfaces.html

Page 40: Metrics and Caffe - Stanford University · Roadmap Evaluation Metrics Why metrics? Confusion Matrix IOU Positives vs Negatives ROC Curve Precision/Recall PR Curve Deep Learning &

QUESTIONS?