560 likes | 751 Views
Lecture: Deep Convolutional Neural Networks. Shubhang Desai Stanford Vision and Learning Lab. Today’s agenda. D eep convolutional networks History of CNNs CNN dev Architecture search. Previously …. 32x32x10 Conv Block. Classification Output. Feature Extractor. Prediction. Classifier.
E N D
Lecture: Deep Convolutional Neural Networks Shubhang Desai Stanford Vision and Learning Lab
Today’s agenda • Deep convolutional networks • History of CNNs • CNN dev • Architecture search
Previously… 32x32x10 Conv Block Classification Output FeatureExtractor Prediction Classifier Input Image Loss Function Input Label Loss Value
Previously… 32x32x10 Conv Block Classification Output FeatureExtractor Prediction Classifier Input Image 1) Minimize this… Loss Function Input Label Loss Value
Previously… 32x32x10 Conv Block Classification Output FeatureExtractor Prediction Classifier Input Image 2) By modifying this… 1) Minimize this… Loss Function Input Label Loss Value
Previously… 32x32x10 Conv Block Classification Output FeatureExtractor Prediction Classifier Input Image 2) By modifying this… 1) Minimize this… Loss Function Input Label Loss Value 3) Using gradient descent!
Previously… Why only one convolution? 32x32x10 Conv Block Classification Output FeatureExtractor Prediction Classifier Input Image 2) By modifying this… 1) Minimize this… Loss Function Input Label Loss Value 3) Using gradient descent!
Convolutions Convolutions = Insights More Convolutions = More Insights?
Recall Hubel and Weisel… The edges can be grouped into triangles and ovals… It’s a mouse toy! The thing has edges… The triangles are ears, the oval is a body…
Recall Hubel and Weisel… The edges can be grouped into triangles and ovals… It’s a mouse toy! The thing has edges… The triangles are ears, the oval is a body…
Convolutions Across Channels Image Filter Output
Convolutions Across Channels Image Filter Output
Convolutions Across Channels more output channels = more filters = more features we can learn! Image Filter Output
Convolutions Across Channels Conv Block
Stacking Convolutions Conv Block Conv Block Conv Block Conv Block Output Output Output Input Output
Stacking Convolutions Conv Block Conv Block Conv Block Conv Block CONVOLUTIONAL NEURAL NETWORK! Output Output Output Input Output
Convolutional Neural Networks (ConvNets) • Neural networks which involve the stacking of multiple convolutional layers to produce output • Often times end in fully-connected layers as the “classifier”
History of ConvNets LeNet – 1998
History of ConvNets AlexNet – 2012
History of ConvNets NiN – 2013
History of ConvNets Inception Network – 2015
Why Do They Work So Well? This is the neural network’s “receptive field”—it’s able to see!
Great Applications of ConvNets “Staffordshire Bull Terrier” “Ranjay Krishna”
What is CNN Dev? • Define the objective • What is the input/output? • What is the loss/objective function? • Create the architecture • How many conv layers? • What size are the convolutions? • How many fully-connected layers? • Define hyperparameters • What is the learning rate? • Train and evaluate • How did we do? • How can we do better?
What is CNN Dev? • Define the objective • What is the input/output? • What is the loss/objective function? • Create the architecture • How many conv layers? • What size are the convolutions? • How many fully-connected layers? • Define hyperparameters • What is the learning rate? • Train and evaluate • How did we do? • How can we do better? Can this be automated?
Neural Architecture Search Automatically finds the best architecture for a given task Before we had to find best featurizer for a fixed classifier—now we find the best classifier and featurizer in tandem!
In summary… We can use convolutions as a basis to build powerful visual systems We can leverage deep learning to automatically learn the best ways to do previously difficult tasks in computer vision Still lots of open questions! If you’re interested in machine learning and/or deep learning, take: • Machine Learning (CS 229) • Deep Learning (CS 230) • NLP with Deep Learning (CS 224n) • Convolutional Neural Networks (CS 231n)