Deep Learning Specialization on Coursera
Master Deep Learning, and Break into AI
Instructor: Andrew Ng
Introduction
This repo contains all my work for this specialization. All the code base and images, are taken from Deep Learning Specialization on Coursera.
In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach.
Programming Assignments
-
Course 1: Neural Networks and Deep Learning:
Objectives:
- 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.
Code:
-
Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
Objectives:
- 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.
Code:
-
Course 3: Structuring Machine Learning Projects
Objectives:
- 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
Code:
- There is no Program Assigments for this course. But this course comes with very interesting case study quizzes.
-
Course 4: Convolutional Neural Networks
Objectives:
- 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.
Code:
- Week 1 - Convolutional Model: step by step
- Week 1 - Convolutional Model: application
- Week 2 - Keras - Tutorial - Happy House
- Week 2 - Residual Networks
- Week 3 - Autonomous driving application - Car detection
- Week 4 - Face Recognition for the Happy House - v3
- Week 4 - Art Generation with Neural Style Transfer - v2.ipynb
-
Course 5: Sequence Models Objectives:
- 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.
Code:
- Week 1 - Building a Recurrent Neural Network - Step by Step - v3
- Week 1 - Dinosaur Island - Character-Level Language Modeling
- Week 1 - Improvise a Jazz Solo with an LSTM Network
- Week 2 - Operations on word vectors - v2
- Week 2 - Emojify - v2
- Week 3 - Neural machine translation with attention - v4
- Week 3 - Trigger word detection - v1