Personal Notes From Deeplearning.ai Specialization Course.

post image

10 Min Read


The Story

Alt text

Having a solid grasp fundamental in deep learning is a great achievement these days as the world is moving more into AI and big data. AI/ML/DL continues to break new ground on a daily basis from Telsa’s self-driving cars, Smart speakers (Siri, Alexa and etc) and not forgetting Netflix that recommends content based on your interest, the list is endless.

Noticeably this field has been trending (Over-hyped if you ask me!) but a ton of folks (myself included) don’t know where to start? what to learn and which key concepts? and the volume of information in the interweb makes it even harder.

For one to understand how everything works one has to go to the grassroots (I don’t know what that means, definitely not a rock-band or political movement, It just jelled together and I was like myeee!), as Andy Grove puts it, “You have no choice but to operate in a world shaped by globalization and the information revolution. There are two options: adapt or die”.

Well, in this post I’ll share some of the notes I made (using notion) which highlighted key concepts I learned in the past few months on the deeplearning.ai specialization course (which I found immensely helpful in my learning journey) offered by Coursera taught by Andrew Ng and co.

TL;DR

My notes can be found here: https://github.com/mmphego/DeepLearning-AI

DeepLearning AI Specialization

There are 5 Courses in this specialization offered on Coursera

Course 1: Neural Networks and Deep Learning [Completed]

This is the first course of the Deep Learning Specialization. If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new “superpower” that will let you build AI systems that just weren’t possible a few years ago.

After completing, I should be able to:

  • Understand the major technology trends driving Deep Learning.
  • Be able to build, train and apply fully connected deep neural networks.
  • Know how to implement efficient (vectorized) neural networks.
  • Understand the key parameters in a neural network’s architecture.

This course also teaches you how Deep Learning actually works, rather than presenting only a cursory or surface-level description. So after completing it, you will be able to apply deep learning to your own applications.



What I’ve learned from this course
  • Week 1: Able to explain the major trends driving the rise of deep learning, and understand where and how it is applied today.
  • Week 2: Learned how to set up a machine learning problem with a neural network mindset. Learned to use vectorization to speed up your models.
  • Week 3: Learned to build a neural network with one hidden layer, using forward propagation and back-propagation from scratch (using numpy).
  • Week 4: Understand the key computations underlying deep learning, use them to build and train deep neural networks, and apply it to computer vision.

Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization [Completed]

Alt text

This course will teach you the “magic” of getting deep learning to work well. Rather than the deep learning process being a black box, you will understand what drives performance, and be able to more systematically get good results. You will also learn TensorFlow.

After 3 weeks, I should be able to:

  • Understand industry best-practices for building deep learning applications.
  • Be able to effectively use the common neural network “tricks”, including initialization, L2 and dropout regularization, Batch normalization, gradient checking,
  • Be able to implement and apply a variety of optimization algorithms, such as mini-batch gradient descent, Momentum, RMSprop and Adam, and check for their convergence.
  • Understand new best-practices for the deep learning era of how to set up train/dev/test sets and analyze bias/variance
  • Be able to implement a neural network in TensorFlow.

This is the second course of the Deep Learning Specialization.



What I’ve learned from this course
  • Week 1: Practical aspects of Deep Learning
  • Week 2: Optimization algorithms
  • Week 3: Hyperparameter tuning, Batch Normalization and Programming Frameworks

Course 3: Structuring Machine Learning Projects [Completed]

Alt text

You will learn how to build a successful machine learning project. If you aspire to be a technical leader in AI and know-how to set a direction for your team’s work, this course will show you how.

Much of this content has never been taught elsewhere and is drawn from my experience building and shipping many deep learning products. This course also has two “flight simulators” that let you practice decision-making as a machine learning project leader. This provides “industry experience” that you might otherwise get only after years of ML work experience.

After 2 weeks, I should be able to:

  • Understand how to diagnose errors in a machine learning system, and
  • Be able to prioritize the most promising directions for reducing error
  • Understand complex ML settings, such as mismatched training/test sets, and comparing to and/or surpassing human-level performance
  • Know how to apply end-to-end learning, transfer learning, and multi-task learning I’ve seen teams waste months or years through not understanding the principles taught in this course. I hope this two-week course will save you months of time.

This is a standalone course, and you can take this so long as you have basic machine learning knowledge. This is the third course in the Deep Learning Specialization.



What I’ve learned from this course

  • Week 1: Ways to diagnose and analyse errors in an ML system
  • Week 2: Understand complex ML settings, data mismatch and leveraging pre-trained systems.

Course 4: Convolutional Neural Networks [Completed]

Alt text

This course will teach you how to build convolutional neural networks and apply them 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.

I should be able to:

  • Understand how to build a convolutional neural network, including recent variations such as residual networks.
  • Know how to apply convolutional networks to visual detection and recognition tasks.
  • Know to use neural style transfer to generate art.
  • Be able to apply these algorithms to a variety of image, video, and other 2D or 3D data.

This is the fourth course of the Deep Learning Specialization.



What I’ve learned from this course

  • Week 1: Implemented foundational layers of CNNs (pooling, convolutions) and stacked them properly in a deep network to solve multi-class image classification problems.
  • Week 2: Learned about the practical tricks and methods used in deep CNNs straight from the research papers.
  • Week 3: Learned how to apply my knowledge of CNNs to one of the toughest but hottest fields of computer vision: Object detection.
  • Week 4: Discovered how CNNs can be applied to multiple fields, including art generation and face recognition. Implemented my own algorithm to generate art and recognize faces!

Course 5: Sequence Models [Pending-Enrolment]

Alt text

This course will teach you how to build models for natural language, audio, and other sequence data. Thanks to deep learning, sequence algorithms are working far better than just two years ago, and this is enabling numerous exciting applications in speech recognition, music synthesis, chatbots, machine translation, natural language understanding, and many others.

I should be able to:

  • Understand how to build and train Recurrent Neural Networks (RNNs), and commonly-used variants such as GRUs and LSTMs.
  • Be able to apply sequence models to natural language problems, including text synthesis.
  • Be able to apply sequence models to audio applications, including speech recognition and music synthesis.

This is the fifth and final course of the Deep Learning Specialization. deeplearning.ai is also partnering with the NVIDIA Deep Learning Institute (DLI) in Course 5, Sequence Models, to provide a programming assignment on Machine Translation with deep learning. You will have the opportunity to build a deep learning project with cutting-edge, industry-relevant content.



What I’ve learned from this course

  • Week 1:
  • Week 2:
  • Week 3:
  • Week 4:

Some Useful Resources