Lecture 24: Convolutional neural networks

Slides:



Advertisements
Similar presentations
ETHEM ALPAYDIN © The MIT Press, Lecture Slides for.
Advertisements

ImageNet Classification with Deep Convolutional Neural Networks
Lecture 29: Optimization and Neural Nets CS4670/5670: Computer Vision Kavita Bala Slides from Andrej Karpathy and Fei-Fei Li
Slide 1 EE3J2 Data Mining EE3J2 Data Mining Lecture 15: Introduction to Artificial Neural Networks Martin Russell.
Machine learning Image source:
Generic object detection with deformable part-based models
Machine learning Image source:
Classification III Tamara Berg CS Artificial Intelligence Many slides throughout the course adapted from Svetlana Lazebnik, Dan Klein, Stuart Russell,
Nantes Machine Learning Meet-up 2 February 2015 Stefan Knerr CogniTalk
Appendix B: An Example of Back-propagation algorithm
Object detection, deep learning, and R-CNNs
CS 188: Artificial Intelligence Learning II: Linear Classification and Neural Networks Instructors: Stuart Russell and Pat Virtue University of California,
Object Recognizing. Deep Learning Success in 2012 DeepNet and speech processing.
Computer Vision Lecture 7 Classifiers. Computer Vision, Lecture 6 Oleh Tretiak © 2005Slide 1 This Lecture Bayesian decision theory (22.1, 22.2) –General.
Spatial Localization and Detection
Deep Learning Overview Sources: workshop-tutorial-final.pdf
CSE343/543 Machine Learning Mayank Vatsa Lecture slides are prepared using several teaching resources and no authorship is claimed for any slides.
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Recent developments in object detection
Neural networks and support vector machines
CSSE463: Image Recognition Day 14
CS 4501: Introduction to Computer Vision Object Localization, Detection, Semantic Segmentation Connelly Barnes Some slides from Fei-Fei Li / Andrej Karpathy.
CS 4501: Introduction to Computer Vision Computer Vision + Natural Language Connelly Barnes Some slides from Fei-Fei Li / Andrej Karpathy / Justin Johnson.
The Relationship between Deep Learning and Brain Function
Deep Learning Amin Sobhani.
Dhruv Batra Georgia Tech
Object detection with deformable part-based models
Data Mining, Neural Network and Genetic Programming
From Vision to Grasping: Adapting Visual Networks
CSC321: Neural Networks Lecture 22 Learning features one layer at a time Geoffrey Hinton.
ECE 5424: Introduction to Machine Learning
Computer Science and Engineering, Seoul National University
Goodfellow: Chap 1 Introduction
CS 2770: Computer Vision Neural Networks
Deep Learning Hung-yi Lee 李宏毅.
Machine Learning I & II.
Announcements HW4 due today (11:59pm) HW5 out today (due 11/17 11:59pm)
Lecture 25: Backprop and convnets
ECE 6504 Deep Learning for Perception
Convolution Neural Networks
CS 188: Artificial Intelligence
Machine Learning: The Connectionist
R-CNN region By Ilia Iofedov 11/11/2018 BGU, DNN course 2016.
Neural Networks and Backpropagation
Goodfellow: Chap 1 Introduction
Computer Vision James Hays
Introduction to Neural Networks
Image Classification.
CS 4501: Introduction to Computer Vision Training Neural Networks II
Logistic Regression & Parallel SGD
ECE 599/692 – Deep Learning Lecture 5 – CNN: The Representative Power
Smart Robots, Drones, IoT
Basics of Deep Learning No Math Required
[Figure taken from googleblog
Multilayer Perceptron & Backpropagation
Deep Learning and Mixed Integer Optimization
Neural Networks Geoff Hulten.
Lecture: Deep Convolutional Neural Networks
Deep Learning for Non-Linear Control
Visualizing and Understanding Convolutional Networks
Softmax Classifier.
Backpropagation David Kauchak CS159 – Fall 2019.
Backpropagation and Neural Nets
Computer Vision Lecture 19: Object Recognition III
CIS 519 Recitation 11/15/18.
David Kauchak CS158 – Spring 2019
Introduction to Neural Networks
CS295: Modern Systems: Application Case Study Neural Network Accelerator Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech “Designing.
Deep learning: Recurrent Neural Networks CV192
Principles of Back-Propagation
Presentation transcript:

Lecture 24: Convolutional neural networks CS5670: Computer Vision Noah Snavely Lecture 24: Convolutional neural networks Image credit: Aphex34, [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)] Slides from Andrej Karpathy, Fei-Fei Li, Kavita Bala, and Sean Bell

Today Deep learning Field is in rapid motion Readings: No standard textbooks yet! Some good resources: https://sites.google.com/site/deeplearningsummerschool/ http://www.deeplearningbook.org/ http://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf

Announcements Final project (P5), due Tuesday, 5/9, by 11:59pm, to be done in groups of two Final exam will be handed out in class Tuesday, due Friday, 5/12, by 5pm

Aside: “CNN” vs “ConvNet” Note: • There are many papers that use either phrase, but • “ConvNet” is the preferred term, since “CNN” clashes with other things called CNN

Motivation

Products [Slide credit: Deva Ramanan]

Helping the Blind https://www.facebook.com/zuck/videos/10102801434799001/

CNNs in 2012: “SuperVision” (aka “AlexNet”) “AlexNet” — Won the ILSVRC2012 Challenge Major breakthrough: 15.3% Top-5 error on ILSVRC2012 (Next best: 25.7%) [Krizhevsky, Sutskever, Hinton. NIPS 2012]

Recap: Before Deep Learning SVM Ans Input Pixels Extract Features Concatenate into a vector x Linear Classifier Figure: Karpathy 2016

Why use features? Why not pixels? Q: What would be a very hard set of classes for a linear classifier to distinguish? (assuming x = pixels) Slide from Karpathy 2016

The last layer of (most) CNNs are linear classifiers This piece is just a linear classifier Ans (GoogLeNet) Input Pixels Perform everything with a big neural network, trained end-to-end Key: perform enough processing so that by the time you get to the end of the network, the classes are linearly separable

Linearly separable classes

Example: Visualizing AlexNet in 2D with t-SNE Linear Classifier (2D visualization using t-SNE) [Donahue, “DeCAF: DeCAF: A Deep Convolutional …”, arXiv 2013]

Roadmap for today Neural networks Convolutional neural networks Optimization matters! Backpropagation algorithm

Feature hierarchy with ConvNets End-to-end models [Zeiler and Fergus, “Visualizing and Understanding Convolutional Networks”, 2013]

Slide: R. Fergus

Neural Networks: The Big Picture Function (“layer”) h(1) Function (“layer”) h(2 ) … f x Key idea: composition of simpler functions called “layers” (e.g., multiple linear layers (not just one))

Neural Networks: The Big Picture (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x

 (1)  (2 ) h(1) h(2 ) Neural Networks: The Big Picture … f x (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x

 (1)  (2 ) h(1) h(2 ) Neural Networks: The Big Picture … f x (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x Here, represents whatever parameters that layer is using (e.g. for a “linear layer”  (1)  { W (1), b(1) }).

Neural Networks: The Big Picture (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x (Ground Truth Labels) y Here, represents whatever parameters that layer is using (e.g. for a “linear layer” (1)  { W (1), b(1) }).

Neural Networks: The Big Picture (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x (Ground Truth Labels) y L (Loss) Here, represents whatever parameters that layer is using (e.g. for a “linear layer”  (1)  { W (1), b(1) }).

Neural Networks: The Big Picture (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x (Ground Truth Labels) y L (Loss) Here, represents whatever parameters that layer is using (e.g. for a “linear layer”  (1)  { W (1), b(1) }). Recall: the loss “L” measures how far the predictions “f” are from the labels “y”. The most common loss is Softmax.

Neural Networks: The Big Picture (Parameters) (Parameters)  (1)  (2 ) (Hidden Activation) (Scores) (Input) Function h(1) Function h(2 ) … f x (Ground Truth Labels) y L (Loss) Here, represents whatever parameters that layer is using (e.g. for a “linear layer”  (1)  { W (1), b(1) }). Key problem: Adjust the weights in all layers to minimize the training loss. We do this with backpropagation.

Training Deep Neural Networks Must run many iterations of batch gradient descent With lots of other tweaks

Aside: Inspiration from Biology Figure: Andrej Karpathy

Aside: Inspiration from Biology Neural nets are loosely inspired by biology Figure: Andrej Karpathy

Aside: Inspiration from Biology Neural nets are loosely inspired by biology But they certainly are not a model of how the brain works, or even how neurons work Figure: Andrej Karpathy

Simple Neural Net: 1 Layer Let’s consider a simple 1-layer network: Wx  b x f

Simple Neural Net: 1 Layer Let’s consider a simple 1-layer network: Wx  b x f This is just what we’ve seen before (“linear classifier”):

1 Layer Neural Net Block Diagram: Wx  b x f (class scores) (Input)

1 Layer Neural Net   Wx  b f W b f x x Block Diagram: (class scores) (Input) Expanded Block Diagram: W x b f   M M M D D 1 1 1 M classes D features 1 example

1 Layer Neural Net   Wx  b f W b f x x Block Diagram: (class scores) (Input) Expanded Block Diagram: W x b f   M M M D D 1 1 1 M classes D features 1 example NumPy: