DeepLearning.AI Convolutional Neural Networks Course (Review)

Last Updated on

Andrew Ng is famous for his Stanford machine learning course provided on Coursera.

In 2017, he released a five-part course on deep learning also on Coursera titled “Deep Learning Specialization” that included one module on deep learning for computer vision titled “Convolutional Neural Networks.”

This course provides an excellent introduction to deep learning methods for computer vision applications for those practitioners that are already familiar with the basics of deep learning. It does not focus on too much math and does not include any code. Instead, it is designed to develop intuitions for the main techniques used in the field.

In this post, you will discover a breakdown and review of the convolutional neural networks course taught by Andrew Ng on deep learning for computer vision.

After reading this post, you will know:

  • The course is actually a sub-course in a broader course on deep learning provided by deeplearning.ai.
  • The course is not free, and requires subscription and enrollment on Coursera, although all of the videos are available for free on YouTube.
  • The course provides an excellent introduction to deep learning for computer vision for developers familiar with the basics of deep learning.

Discover how to build models for photo classification, object detection, face recognition, and more in my new computer vision book, with 30 step-by-step tutorials and full source code.

Let’s get started.

Overview

This tutorial is divided into five parts; they are:

  1. Deep Learning Specialization Overview
  2. Convolutional Neural Networks Course Breakdown
  3. Course Videos on YouTube
  4. Discussion and Review

Deep Learning Specialization Overview

Andrew Ng is a machine learning researcher famous for making his Stanford machine learning course publicly available and later tailored to general practitioners and made available on Coursera.

He is also the Cofounder of Coursera and formerly Director of Google Brain and Chief Scientist at Baidu.

In 2017, he launched a new website called deeplearning.ai that provides deep learning training for general practitioners (e.g. developers) with courses available via his Coursera platform (that requires a subscription).

The complete course is divided into five sub-courses; they are:

  • Course 1: Neural Networks and Deep Learning
  • Course 2: Improving Deep Neural Networks
  • Course 3: Structuring Machine Learning Projects
  • Course 4: Convolutional Neural Networks (our focus)
  • Course 5: Sequence Models

The courses are in video tutorial format and are presented by Andrew with the same hands-on style as his famous Machine Learning course.

The course is designed for developers who are beginners in the field of deep learning.

Convolutional Neural Networks Course Breakdown

Of note is the deep learning for computer vision sub-course, titled “Convolutional Neural Networks.”

Convolutional Neural Networks - Computer Vision

Convolutional Neural Networks – Computer Vision

This course is designed to teach developers how convolutional neural networks work and how to use them for standard computer vision tasks.

This course will teach you how to build convolutional neural networks and apply it to image data. Thanks to deep learning, computer vision is working far better than just two years ago, and this is enabling numerous exciting applications ranging from safe autonomous driving, to accurate face recognition, to automatic reading of radiology images.

About this Course, Coursera.

It is divided into four weeks; they are:

  • Week 1: Foundations of Convolutional Neural Networks
  • Week 2: Deep convolutional models: case studies
  • Week 3: Object detection
  • Week 4: Special applications: Face recognition & Neural style transfer

Each week is divided into 10-to-12 topics, each covered in a short video lasting a few minutes to no more than about 15 minutes.

Most topics are presented in a practical manner with very little math. What little math that is included is focused on topics such as calculating loss functions or calculating the number of parameters (weights) in the model.

In addition to the lack of math, the course also does not present code, and instead focuses on helping the viewer develop an intuition for the techniques discussed.

Week 1. The first week is dedicated to introducing the main type of neural network used for computer vision problems: the convolutional neural network or CNN. Topics focus on how convolutional layers work, filters, padding, strides, as well as the related pooling layer.

Week 2. The second week focuses on important milestones in developing effective CNN models, such as LeNet for digit recognition and a suite of models developed for ImageNet, such as AlexNet, ResNet, and Inception. As each milestone is discussed, the innovation of the model design is described in a way that explains why the model is effective and how the technique can be used more generally. The week ends with data preparation, including data augmentation and transfer learning.

Week 3. The third week focuses on object detection, introducing the simpler problems of image classification, image localization, and landmark detection. These are the ‘killer-apps‘ of deep learning for computer vision and the important sub-techniques of the YOLO method are introduced step-by-step and built up into a complete working system.

Week 4. Finally, the last week ends with face detection and recognition, building up the techniques required for such a system, including one shot learning, siamese networks, and a suitable loss function. The week is divided into two parts and the second part focuses on neural style transfer, a technique that although is purely aesthetic, is a lot of fun.

Want Results with Deep Learning for Computer Vision?

Take my free 7-day email crash course now (with sample code).

Click to sign-up and also get a free PDF Ebook version of the course.

Download Your FREE Mini-Course

Course Videos on YouTube

The complete breakdown of the course topics is provided below.

  • Week 1: Foundations of Convolutional Neural Networks
    • Computer Vision
    • Edge Detection Example
    • More Edge Detection
    • Padding
    • Strided Convolutions
    • Convolutions Over Volume
    • One Layer of a Convolutional Network
    • Simple Convolutional Network Example
    • Pooling Layers
    • CNN Example
    • Why Convolutions?
    • Yann LeCun Interview
  • Week 2: Deep convolutional models: case studies
    • Why look at case studies?
    • Classic Networks
    • ResNets
    • Why ResNets Work
    • Networks in Networks and 1×1 Convolutions
    • Inception Network Motivation
    • Inception Network
    • Using Open-Source Implementation
    • Transfer Learning
    • Data Augmentation
    • State of Computer Vision
  • Week 3: Object detection
    • Object Localization
    • Landmark Detection
    • Object Detection
    • Convolutional Implementation of Sliding Windows
    • Bounding Box Predictions
    • Intersection Over Union
    • Non-max Suppression
    • Anchor Boxes
    • YOLO Algorithm
    • (Optional) Region Proposals
  • Week 4: Special applications: Face recognition & Neural style transfer
    • What is face recognition?
    • One Shot Learning
    • Siamese Network
    • Triplet Loss
    • Face Verification and Binary Classification
    • What is neural style transfer?
    • What are deep ConvNets learning?
    • Cost Function
    • Content Cost Function
    • Style Cost Function
    • 1D and 3D Generalizations

Kindly, the videos for this course have also been made available via YouTube.

Convolutional Neural Networks Taught by Andrew Ng

Convolutional Neural Networks Taught by Andrew Ng

A YouTube playlist of the course is also available, although some of the videos for Week 3 are out of order:

The videos have a naming convention of C4WnLnn, where Wn refers to the week number (1-4) and Lnn refers to the lecture number (e.g. 01 to 12). Take note of the order of the videos in Week 3; you may need to jump around in the playlist manually.

Two videos are missing from the playlist; they are:

Note that Week 1 includes a video interview with Yann LeCun, the inventor of Convolutional Neural Networks. This is part of a video series titled “Heroes of Deep Learning Interviews” that is also available on YouTube.

You can easily watch all of the videos in a few hours.

Discussion and Review

I watched all of the videos via YouTube (on double speed) and took extensive notes.

It’s a great course and I think it does an excellent job of developing intuitions for the topics covered, including CNNs, milestone models, object detection, face recognition, and style transfer.

The introduction to convolutional layers and related topics of padding, stride, etc, is perhaps one of the cleanest presentations I have seen. I also found Week 2 and Week 3 on milestone CNN models and object detection very clear. Week 4 was fine, starting well, but got very messy as we dove into neural style transfer.

If you are already familiar with the basics of CNNs, as many deep learning practitioners are, then I would recommend focusing on Week 3 and Week 4. Week 3 is especially great, diving into the elements of the killer-app of object detection and the challenging YOLO method to address it.

YOLO is an important topic to cover, but it might have been simplified if the focus was on a simpler (easier to implement method) such as Fast or Faster R-CNN.

I found myself watching almost every minute of the course, skipping only over some of the messy mathematical descriptions. In fact, diving into explanations of loss functions was perhaps the least interesting and perhaps not-required parts of the course.

I have never found video an effective medium for teaching math. It needs to be taken slowly, with clear (LaTeX) equations, explanation, and working code.

If you are new to deep learning for computer vision but are familiar with the basics of deep learning, then I recommend the course, specifically watching the videos. You can easily complete them in one or two sittings.

Further Reading

This section provides more resources on the topic if you are looking to go deeper.

Summary

In this post, you discovered a breakdown and review of the convolutional neural networks course taught by Andrew Ng on deep learning for computer vision.

Specifically, you learned:

  • The course is actually a sub-course in a broader course on deep learning provided by deeplearning.ai.
  • The course is not free, and requires subscription and enrollment on Coursera, although all of the videos are available for free on YouTube.
  • The course provides an excellent introduction to deep learning for computer vision for developers familiar with the basics of deep learning.

Do you have any questions?
Ask your questions in the comments below and I will do my best to answer.


Develop Deep Learning Models for Vision Today!

Deep Learning for Computer Vision

Develop Your Own Vision Models in Minutes

…with just a few lines of python code

Discover how in my new Ebook:
Deep Learning for Computer Vision

It provides self-study tutorials on topics like: classification, object detection (yolo and rcnn), face recognition (vggface and facenet), data preparation and much more…

Finally Bring Deep Learning to your Vision Projects

Skip the Academics. Just Results.

Click to learn more.


8 Responses to DeepLearning.AI Convolutional Neural Networks Course (Review)

  1. JG March 18, 2019 at 6:52 pm #

    Thank you for sharing other tutorial sources. It make you Big.

    I am sure soon you will add some of these new intuitive ideas learned into your very useful an fully coded tutorials explanations !

  2. Ginette March 18, 2019 at 11:16 pm #

    This very interesting to know. I recently read an article which has changed my mind a little bit regarding this field, it talks about Deep Learning and it’s importance in nowadays world, it is very controversial, I believe, I would like to know your comments about this.

    https://www.linkedin.com/pulse/deep-learning-ai-bubble-bursting-samer-l-hijazi/

  3. Alok March 20, 2019 at 8:45 pm #

    Thanks Jason for this review of the course. I have been thinking for some time whether I should invest into taking the course or not. Reading your thoughts was very motivating.

    I had one question/request – Will it be feasible for you to post some of the notes you made while going through the videos. I am trying to improve my note-taking and it will be great to see a few samples.

    • Jason Brownlee March 21, 2019 at 8:06 am #

      Thanks.

      Hmmm, not really, my notes are shorthand for me and what I already know, they won’t make sense to anyone. Sorry.

  4. Alok March 20, 2019 at 8:47 pm #

    Also, I wanted to add that everyone can follow the course for free on Coursera itself if you choose the “Audit Course” option.

    This is one of the things I love about Coursera platform

Leave a Reply