Deep Learning for Vision Using CNNs and Caffe: A Hands-on Tutorial
A full-day tutorial focused on convolutional neural networks for vision and the Caffe framework for deep learning, presented by the primary Caffe developers from the Berkeley Vision and Learning Center, and organized by the Embedded Vision Alliance and BDTI. This tutorial takes participants from an introduction to the theory behind convolutional neural networks to their actual implementation. It includes hands-on labs using Caffe.
Convolutional neural networks (CNNs) have emerged as a very powerful technique for a range of computer vision tasks. This live tutorial begins with an introduction to the structure, operation, and training of CNNs and how they are used for computer vision. It explores the strengths and weaknesses of CNNs, and how to design and train them. The tutorial then introduces the popular Caffe open source framework for CNNs, and provides hands-on labs in creating, training, and and deploying CNNs using Caffe.
Interested in this tutorial? It will be offered again on Monday, May 2, on "Deep Learning Day" at the Embedded Vision Summit.
This full-day tutorial is designed to equip product creators, application developers, and engineering managers with the tools and practical know-how needed to incorporate deep-learning-based computer vision capabilities into products. The morning focuses on an introduction to convolutional neural networks (CNNs)—how they work, what they can be used for, how they're trained, and their strengths and weaknesses. The afternoon provides a hands-on introduction to the popular open source Caffe framework. Attendees will learn how to use Caffe to create, train, evaluate, and deploy CNNs.
Who should attend: Application and product developers and managers interested in using deep learning for computer vision.
Attendees should bring a laptop with WiFi and a web browser. Lunch will be provided, along with morning and afternoon snacks.
What You Will Learn
- Structure, operation, and training of convolutional neural networks (CNNs)
- How CNNs are used for computer vision
- Strengths and weaknesses of CNNs for computer vision
- How to design and train CNNs
- How to use Caffe to create, train, and deploy CNNs
Got a question? Contact the organizers.
Presenters and Organizers
This tutorial will be presented by Evan Shelhamer, Jeff Donahue, and Jonathan Long—the primary Caffe developers from the Berkeley Vision and Learning Center at U.C. Berkeley. It is organized by the Embedded Vision Alliance and BDTI.
About the presenters:
Evan Shelhamer is a Ph.D. student at U.C. Berkeley who is advised by Trevor Darrell as a member of the Berkeley Vision and Learning Center. Evan's research focuses on deep learning and end-to-end optimization for vision. He is the lead developer of the Caffe deep learning framework and takes his coffee black.
Jeff Donahue is a Ph.D. student at U.C. Berkeley who is advised by Trevor Darrell as a member of the Berkeley Vision and Learning Center. Jeff's research focuses on deep learning for visual localization and sequence learning tasks. He is an active developer and maintainer of Caffe.
Jonathan Long is a Ph.D. student at U.C. Berkeley who is advised by Trevor Darrell as a member of the Berkeley Vision and Learning Center. Jon delights in building beautiful recognition systems. His research focuses on segmentation and detection with deep learning.
Detailed Tutorial Outline
Introduction to Deep Neural Networks and Convolutional Neural Networks. A theoretical and practical discussion.
- Introduction to deep learning and neural networks
Introduction to and theory of CNNs with a focus on:
- How and where can CNNs be used for computer vision?
- How do CNNs work?
- CNN layers and components and their operation
- What are the advantages and disadvantages of CNNs?
What computer vision tasks do CNNs do better than other methods?
- Example applications where CNNs improve on previous solutions
- The process of designing and training a CNN
- CNN computation and data bandwidth requirements
Practical implementation of CNNs
- CNN training challenges such as complexity, speed, and preparing training datasets
- Implementation challenges such as complexity, data precision, and data bandwidth
- Techniques to address implementation challenges
- Processing platforms focused on CNNs
- Current applications employing CNNs
- Training tricks to improve accuracy and speed
- Current research directions in CNNs
Extensions to CNNs:
- FCN: pixel-wise prediction
- Sequence learning
Hands-On Introduction to Caffe: Using Caffe to Design CNNs
- Introduction to Caffe
Hands-on Caffe tutorial:
- How does Caffe work?
- Describing a CNN in Caffe
- Training a CNN in Caffe
- Fine-tuning a CNN in Caffe
- Requirements for installing and running Caffe
- Deploying a CNN with Caffe