Deep Learning: Convolutional Neural Networks in Python

Computer Vision and Data Science and Machine Learning combined! In Theano and TensorFlow

Register for this Course

$19.00 $120.00 USD 84% OFF!

Login or signup to register for this course

Have a coupon? Click here.

Course Data

Lectures: 45
Length: 06h 27m
Skill Level: All Levels
Languages: English
Includes: Lifetime access, 30-day money back guarantee

Course Description

This is the 3rd part in my Data Science and Machine Learning series on Deep Learning in Python. At this point, you already know a lot about neural networks and deep learning, including not just the basics like backpropagation, but how to improve it using modern techniques like momentum and adaptive learning rates. You've already written deep neural networks in Theano and TensorFlow, and you know how to run code using the GPU.

This course is all about how to use deep learning for computer vision using convolutional neural networks. These are the state of the art when it comes to image classification and they beat vanilla deep networks at tasks like MNIST.

In this course we are going to up the ante and look at the StreetView House Number (SVHN) dataset - which uses larger color images at various angles - so things are going to get tougher both computationally and in terms of the difficulty of the classification task. But we will show that convolutional neural networks, or CNNs, are capable of handling the challenge!

Because convolution is such a central part of this type of neural network, we are going to go in-depth on this topic. It has more applications than you might imagine, such as modeling artificial organs like the pancreas and the heart. I'm going to show you how to build convolutional filters that can be applied to audio, like the echo effect, and I'm going to show you how to build filters for image effects, like the Gaussian blur and edge detection.

We will also do some biology and talk about how convolutional neural networks have been inspired by the animal visual cortex.

After describing the architecture of a convolutional neural network, we will jump straight into code, and I will show you how to extend the deep neural networks we built last time (in part 2) with just a few new functions to turn them into CNNs. We will then test their performance and show how convolutional neural networks written in both Theano and TensorFlow can outperform the accuracy of a plain neural network on the StreetView House Number dataset.

All the materials for this course are FREE. You can download and install Python, Numpy, Scipy, Theano, and TensorFlow with simple commands shown in previous courses.

This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.



HARD PREREQUISITES / KNOWLEDGE YOU ARE ASSUMED TO HAVE:

  • calculus
  • linear algebra
  • probability
  • Python coding: if/else, loops, lists, dicts, sets
  • Numpy coding: matrix and vector operations, loading a CSV file
  • linear regression, logistic regression
  • neural networks and backpropagation
  • Can write a feedforward neural network in Theano and TensorFlow


TIPS (for getting through the course):

  • Watch it at 2x.
  • Take handwritten notes. This will drastically increase your ability to retain the information.
  • Write down the equations. If you don't, I guarantee it will just look like gibberish.
  • Ask lots of questions on the discussion board. The more the better!
  • Realize that most exercises will take you days or weeks to complete.
  • Write code yourself, don't just sit there and look at my code.

Lectures

Outline and Review

  1. Introduction and Outline (01:51) (FREE preview available)
  2. Review of Important Concepts (03:42)
  3. Where to get the code and data for this course (02:52)
  4. How to Succeed in this Course (03:13)
  5. Tensorflow or Theano - Your Choice! (04:09)
  6. How to load the SVHN data and benchmark a vanilla deep network (05:03)

Convolution

  1. Real-Life Examples of Convolution (08:53)
  2. Beginner's Guide to Convolution (06:27)
  3. What is convolution? (05:18)
  4. Convolution example with audio: Echo (06:39)
  5. Convolution example with images: Gaussian Blur (05:42)
  6. Convolution example with images: Edge Detection (03:22)
  7. Write Convolution Yourself (09:15)
  8. Alternative Views on Convolution (06:42)

Convolutional Neural Network Description

  1. Translational Invariance (02:23)
  2. Architecture of a CNN (05:09)
  3. Convolution on 3-D Images (10:50)
  4. Tracking Shapes in a CNN (16:37)
  5. Relationship to Biology (02:18)
  6. Convolution and Pooling Gradients (02:40)
  7. LeNet - How the Shapes Go Together (12:52)

Convolutional Neural Network in Theano

  1. Theano - Building the CNN components (04:20)
  2. Theano - Full CNN and Test on SVHN (17:26)
  3. Visualizing the Learned Filters (03:36)

Convolutional Neural Network in TensorFlow

  1. TensorFlow - Building the CNN components (03:40)
  2. TensorFlow - Full CNN and Test on SVHN (10:39)

Practical Tips

  1. Practical Image Processing Tips (03:08)
  2. Advanced CNNs and how to Design your Own (11:10)

Project: Facial Expression Recognition

  1. Facial Expression Recognition Problem Description (12:22)
  2. The class imbalance problem (06:01)
  3. Utilities walkthrough (05:45)
  4. Convolutional Net in Theano (21:04)
  5. Convolutional Net in TensorFlow (19:04)

Appendix

  1. What is the Appendix? (02:48)
  2. Windows-Focused Environment Setup 2018 (20:21)
  3. How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)
  4. Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:04)
  5. How to Code Yourself (part 1) (15:55)
  6. How to Code Yourself (part 2) (09:23)
  7. What order should I take your courses in? (part 1) (11:19)
  8. What order should I take your courses in? (part 2) (16:07)
  9. Python 2 vs Python 3 (04:38)
  10. How to Succeed in this Course (Long Version) (10:25)
  11. Is Theano Dead? (10:03)
  12. Where to get discount coupons and FREE deep learning material (02:21)