Deep Learning for Machine Vision
Convolutional Neural Networks for Processing Visual Information (and Creating Art!)
Relatively obscure a few short years ago, Deep Learning is ubiquitous today across data-driven applications as diverse as machine vision, super-human game-playing, and natural language processing (NLP). This Live Training builds on the fundamentals of Deep Learning to develop a specialization in Machine Vision.
Since a Deep Learning algorithm named AlexNet smashed visual-recognition benchmarks in 2012, machine-vision applications have led the charge in the Deep Learning wave that has since engulfed the world. In this training, we will detail how the Convolutional Neural Networks (CNNs) like AlexNet that predominate contemporary Machine Vision function. We’ll then employ CNNs ourselves to attain remarkably accurate results in an object-recognition task. To round the training off, we’ll build a revolutionary Generative Adversarial Network (GAN) to further leverage CNNs and produce convincing machine-generated artwork!
To facilitate an intuitive understanding of Machine Vision, essential theory will be introduced visually and pragmatically. Theory will immediately be brought to life with interactive demos and hands-on exercises featuring Keras, the wildly-popular Python API for TensorFlow.
What you'll learn-and how you can apply it
- Understand the high-level theory and key language around Convolutional Neural Networks
- Build a Convolutional Neural Network for state-of-the-art object recognition
- Architect a sophisticated Generative Adversarial Network to enable machines to create high-quality visual art
This training course is for you because...
- You already have a working understanding of the fundamentals of Deep Learning
- You want to design Convolutional Neural Networks for use in Machine Vision applications
- You’re curious as to how a Generative Adversarial Network can make art all on its own
- Experience with an object-oriented programming language, e.g., Python (all code demos during the training will be in Python)
- A working understanding of the fundamentals of Deep Learning would make it a lot easier to follow along with the training
Materials, downloads, or Supplemental Content needed in advance:
- During class, we’ll work on Jupyter notebooks interactively in the cloud via the Safari JupyterHub platform
- Alternatively, if you’d like to run this Live Training’s Jupyter notebooks on your own local machine or server, cross-platform step-by-step instructions are available here
- If you’d like to brush up on analyzing data in Python, the topics covered in Pandas Data Analysis with Python Fundamentals LiveLessons will be sufficient for this training
- If you’d like to ensure you have a working understanding of the fundamentals of Deep Learning, the author’s Deep Learning with TensorFlow LiveLessons are the perfect prequel to this training
About your instructor
Jon Krohn is the Chief Data Scientist at the machine-learning startup untapt. He is the presenter of an acclaimed series of tutorials, including Deep Learning with TensorFlow, Deep Learning for Natural Language Processing, and Deep Reinforcement Learning and GANs. Jon holds a doctorate in neuroscience from Oxford University and teaches his own Deep Learning curriculum in-person at the NYC Data Science Academy. His book, Deep Learning Illustrated, is being published in 2019.
The timeframes are only estimates and may vary according to how the class is progressing
Segment 1: Introducing Deep Learning for Machine Vision (60 min)
- Training Overview
- Machine Vision Applications
- Review of Prerequisite Deep Learning Theory
- Essential Theory of Convolutional Neural Networks
- Break and Q&A
Segment 2: Convolutional Neural Networks in Practice (60 min)
- LeNet-5 in Keras
- VGGNet in Keras
- Residual Networks (ResNet) and U-Net
- CNNs for NLP in Keras
- Parallel Network Architectures in Keras
- Break and Q&A
Segment 3: Generative Adversarial Networks (60 min)
- “A Boozy All-Nighter”
- Essential GAN Theory
- A Cartoon-Drawing GAN in Keras
- Time for Questions