Dhruv Batra Georgia Tech

Slides:



Advertisements
Similar presentations
ECE 5984: Introduction to Machine Learning Dhruv Batra Virginia Tech Topics: –SVM –Multi-class SVMs –Neural Networks –Multi-layer Perceptron Readings:
Advertisements

Lecture 3: CNN: Back-propagation
ECE 6504: Deep Learning for Perception Dhruv Batra Virginia Tech Topics: –Neural Networks –Backprop –Modular Design.
ECE 6504: Deep Learning for Perception
ECE 6504: Deep Learning for Perception Dhruv Batra Virginia Tech Topics: –(Finish) Backprop –Convolutional Neural Nets.
Fully Convolutional Networks for Semantic Segmentation
Feedforward semantic segmentation with zoom-out features
ECE 5984: Introduction to Machine Learning Dhruv Batra Virginia Tech Topics: –Decision/Classification Trees Readings: Murphy ; Hastie 9.2.
ECE 6504: Deep Learning for Perception Dhruv Batra Virginia Tech Topics: –Deconvolution.
Digital Image Processing, Assoc. Prof. Dr. Setyawan Widyarto 1-1 Convolution.
CS 4501: Introduction to Computer Vision Object Localization, Detection, Semantic Segmentation Connelly Barnes Some slides from Fei-Fei Li / Andrej Karpathy.
CS 6501: 3D Reconstruction and Understanding Convolutional Neural Networks Connelly Barnes.
Dhruv Batra Georgia Tech
ECE 5424: Introduction to Machine Learning
Dhruv Batra Georgia Tech
ECE 5424: Introduction to Machine Learning
Computer Science and Engineering, Seoul National University
Convolutional Neural Fabrics by Shreyas Saxena, Jakob Verbeek
ECE 5424: Introduction to Machine Learning
Dhruv Batra Georgia Tech
Dhruv Batra Georgia Tech
CSCI 5922 Neural Networks and Deep Learning: Convolutional Nets For Image And Speech Processing Mike Mozer Department of Computer Science and Institute.
Lecture 24: Convolutional neural networks
Combining CNN with RNN for scene labeling (segmentation)
ECE 5424: Introduction to Machine Learning
Dhruv Batra Georgia Tech
Lecture 25: Backprop and convnets
Lecture 5 Smaller Network: CNN
Neural Networks 2 CS446 Machine Learning.
How it Works: Convolutional Neural Networks
Efficient Deep Model for Monocular Road Segmentation
Convolutional Networks
CS6890 Deep Learning Weizhen Cai
Non-linear classifiers Neural networks
ECE 5424: Introduction to Machine Learning
Fully Convolutional Networks for Semantic Segmentation
cs638/838 - Spring 2017 (Shavlik©), Week 7
Computer Vision James Hays
2 Terms 3 Terms 4 Terms Always look for a GCF! Always look for a GCF!
CNNs and compressive sensing Theoretical analysis
Introduction to Neural Networks
Image Classification.
Towards Understanding the Invertibility of Convolutional Neural Networks Anna C. Gilbert1, Yi Zhang1, Kibok Lee1, Yuting Zhang1, Honglak Lee1,2 1University.
CS 4501: Introduction to Computer Vision Training Neural Networks II
Convolutional Neural Networks
cs540 - Fall 2016 (Shavlik©), Lecture 20, Week 11
Smart Robots, Drones, IoT
Basics of Deep Learning No Math Required
CSC 578 Neural Networks and Deep Learning
Lecture 16 Outline: Linear Convolution, Block-by Block Convolution, FFT/IFFT Announcements: HW 4 posted, due tomorrow at 4:30pm. No late HWs as solutions.
Lecture: Image manipulations (2) Filters and kernels
Non-local Means Filtering
Visualizing and Understanding Convolutional Networks
Forward and Backward Max Pooling
Analysis of Trained CNN (Receptive Field & Weights of Network)
cs638/838 - Spring 2017 (Shavlik©), Week 7
RCNN, Fast-RCNN, Faster-RCNN
Convolutional Neural Network
CSCI 5922 Neural Networks and Deep Learning: Convolutional Nets For Image And Speech Processing Mike Mozer Department of Computer Science and Institute.
CSC 578 Neural Networks and Deep Learning
Department of Computer Science Ben-Gurion University of the Negev
CS295: Modern Systems: Application Case Study Neural Network Accelerator – 2 Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech.
Natalie Lang Tomer Malach
CS295: Modern Systems: Application Case Study Neural Network Accelerator Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech “Designing.
VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
Learning Deconvolution Network for Semantic Segmentation
Example of training and deployment of deep convolutional neural networks. Example of training and deployment of deep convolutional neural networks. During.
CSC 578 Neural Networks and Deep Learning
Dhruv Batra Georgia Tech
Dhruv Batra Georgia Tech
Presentation transcript:

Dhruv Batra Georgia Tech CS 7643: Deep Learning Topics: Announcements Transposed convolutions Dhruv Batra Georgia Tech

Administrativia HW2 + PS2 out No class on Tuesday 10/03 Guest Lecture by Dr. Stefan Lee on 10/05 No papers to read. No student presentations. Use the time wisely to work (hint: HW+PS!) No class on 10/10 Fall break Next paper reading / student presentations: 10/12 Note on reviews (C) Dhruv Batra

Note on reviews Public Common Problem #1: Vague negatives Good and bad Common Problem #1: Vague negatives “x could have been done better” Common Problem #2: Virtue Signaling “I have higher standards than this” Positive suggestion: Assume good intent There’s a grad student just like you behind that paper Snobbery has to be earned (C) Dhruv Batra

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall:Typical 3 x 3 convolution, stride 1 pad 1 Input: 4 x 4 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall: Normal 3 x 3 convolution, stride 1 pad 1 Dot product between filter and input Input: 4 x 4 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall: Normal 3 x 3 convolution, stride 1 pad 1 Dot product between filter and input Input: 4 x 4 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall: Normal 3 x 3 convolution, stride 2 pad 1 Input: 4 x 4 Output: 2 x 2 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall: Normal 3 x 3 convolution, stride 2 pad 1 Dot product between filter and input Input: 4 x 4 Output: 2 x 2 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Recall: Normal 3 x 3 convolution, stride 2 pad 1 Filter moves 2 pixels in the input for every one pixel in the output Stride gives ratio between movement in input and output Dot product between filter and input Input: 4 x 4 Output: 2 x 2 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution 3 x 3 transpose convolution, stride 2 pad 1 Input: 2 x 2 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution 3 x 3 transpose convolution, stride 2 pad 1 Input gives weight for filter Input: 2 x 2 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Sum where output overlaps 3 x 3 transpose convolution, stride 2 pad 1 Filter moves 2 pixels in the output for every one pixel in the input Stride gives ratio between movement in output and input Input gives weight for filter Input: 2 x 2 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Learnable Upsampling: Transpose Convolution Sum where output overlaps 3 x 3 transpose convolution, stride 2 pad 1 Other names: -Deconvolution (bad) -Upconvolution -Fractionally strided convolution -Backward strided convolution Filter moves 2 pixels in the output for every one pixel in the input Stride gives ratio between movement in output and input Input gives weight for filter Input: 2 x 2 Output: 4 x 4 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Transpose Convolution: 1D Example Output Input Filter Output contains copies of the filter weighted by the input, summing at where at overlaps in the output Need to crop one pixel from output to make output exactly 2x input ax ay az + bx by bz x y z a b Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Transposed Convolution https://distill.pub/2016/deconv-checkerboard/ (C) Dhruv Batra

Transposed Convolution In 3D (C) Dhruv Batra

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n Semantic Segmentation Idea: Fully Convolutional Upsampling: Unpooling or strided transpose convolution Downsampling: Pooling, strided convolution Design network as a bunch of convolutional layers, with downsampling and upsampling inside the network! Med-res: D2 x H/4 x W/4 Med-res: D2 x H/4 x W/4 Low-res: D3 x H/4 x W/4 Input: 3 x H x W High-res: D1 x H/2 x W/2 High-res: D1 x H/2 x W/2 Predictions: H x W Long, Shelhamer, and Darrell, “Fully Convolutional Networks for Semantic Segmentation”, CVPR 2015 Noh et al, “Learning Deconvolution Network for Semantic Segmentation”, ICCV 2015 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

What is deconvolution? (Non-blind) Deconvolution (C) Dhruv Batra

What does “deconvolution” have to do with “transposed convolution” (C) Dhruv Batra

(C) Dhruv Batra

“transposed convolution” is a convolution! We can express convolution in terms of a matrix multiplication Example: 1D conv, kernel size=3, stride=1, padding=1 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

“transposed convolution” is a convolution! We can express convolution in terms of a matrix multiplication Convolution transpose multiplies by the transpose of the same matrix: Example: 1D conv, kernel size=3, stride=1, padding=1 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

“transposed convolution” is a convolution We can express convolution in terms of a matrix multiplication Convolution transpose multiplies by the transpose of the same matrix: Example: 1D conv, kernel size=3, stride=1, padding=1 When stride=1, convolution transpose is just a regular convolution (with different padding rules) Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n But not always We can express convolution in terms of a matrix multiplication Example: 1D conv, kernel size=3, stride=2, padding=1 Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n But not always We can express convolution in terms of a matrix multiplication Convolution transpose multiplies by the transpose of the same matrix: Example: 1D conv, kernel size=3, stride=2, padding=1 When stride>1, convolution transpose is no longer a normal convolution! Slide Credit: Fei-Fei Li, Justin Johnson, Serena Yeung, CS 231n

Student Presentations Presenters: Aneeq Zia, Mikhail Isaev, Chris Donlan, Ayesha Khan, Deshraj Yadav, Ardavan Afshar Google Slides: https://docs.google.com/presentation/d/1HadX--rN-KC7tJquC2mhDIsteouIYiJKqpNAgz54h5o/edit#slide=id.p Google Drive https://drive.google.com/drive/folders/0B8zT-Fl5PDf_dlpBREQwZ1VHa0k?usp=sharing (C) Dhruv Batra