Coder Social home page Coder Social logo

jeysoncastilloai / coursera_deep_learning_specialization Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ankit-kumar-saini/coursera_deep_learning_specialization

0.0 0.0 0.0 213.18 MB

Implementation of Logistic Regression, MLP, CNN, RNN & LSTM from scratch in python. Training of deep learning models for image classification, object detection, and sequence processing (including transformers implementation) in TensorFlow.

Python 1.34% Jupyter Notebook 98.66%

coursera_deep_learning_specialization's Introduction

Deep Learning Specialization

Instructor of the specialization: Andrew Ng

Table of Contents

  1. My Learnings from the Specialization
  2. Instructions to use the repository
  3. Weekly Learning Objective
  4. Results
  5. Disclaimer

My Learnings from the Specialization

In this five course series, I learned about the foundations of Deep Learning by implementing vectorized neural networks (MLP, CNN, RNN, LSTM) and optimization algorithms (SGD, RMSprop, Adam) from scratch in Python, building and training deep neural networks in TensorFlow and Keras and identifying key parameters in network architecture for hyperparameter tuning.

I learned about the best practices to train and develop test sets and analyzed bias/variance for building DL applications, diagnosed and used strategies for reducing errors in ML systems, understand complex ML settings and used transfer learning for image classification tasks.

I learned to build and train CNN models (YOLO for object detection, U-Net for image segmentation, FaceNet for face verification and face recognition) for visual detection and recognition tasks and to generate art work through neural style transfer by using a pre-trained VGG-19 model. I learned about RNNs, GRUs, LSTMs and transformers and applied them to various NLP/sequence tasks. I used RNNs to built a character-level language model to generate dinosaur names, LSTMs to built a Seq2seq model for Neural Machine Translation with attention and trigger word detection model. I used pre-trained transformer models for question-answering and named-entity-recognition tasks.

Instructions to use the repository

Using this repository is straight forward. Clone this repository to use. This repository contains all my work for this specialization. All the code base, quiz questions, screenshot, and images, are taken from, unless specified, Deep Learning Specialization on Coursera.

Weekly Learning Objective

  1. Course 1 - Neural Networks and Deep Learning
  • Course Objective: This course focuses on vectorized implementation of neural networks in Python.

    • Week 1: Introduction to deep learning

      • Be able to explain the major trends driving the rise of deep learning, and understand where and how it is applied today.
    • Week 2: Neural Networks Basics

      • Python Basics with Numpy and Logistic Regression with a Neural Network mindset.
    • Week 3: Shallow neural networks

      • Understand the key parameters in a neural network's architecture. Planar data classification with a hidden layer
    • Week 4: Deep Neural Networks

      • Understand the key computations underlying deep learning, use them to build and train deep neural networks, and apply it to computer vision.
  1. Course 2 - Improving Deep Neural Networks Hyperparameter tuning, Regularization and Optimization
  • Course Objective: This course teaches 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.

    • Week 1: Practical aspects of Deep Learning

      • 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 along with implementation.
    • Week 2: Optimization algorithms

      • 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.
    • Week 3: Hyperparameter tuning, Batch Normalization and Programming Frameworks

      • Understand new best-practices for the deep learning era of how to set up train/dev/test sets and analyze bias/variance.
      • Implement a neural network in TensorFlow.
  1. Course 3 - Structuring Machine Learning Projects
  • Course Objective: This course focuses on how to diagnose errors in a machine learning system, 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 and how to apply end-to-end learning, transfer learning, and multi-task learning.

    • There is no Programming Assignment for this course. But this course comes with very interesting case study quizzes.
  1. Course 4 - Convolutional Neural Networks
  • Course Objective: This course focuses on how to build a convolutional neural network, including recent variations such as residual networks, how to apply convolutional networks to visual detection and recognition tasks and use neural style transfer to generate art.

    • Week 1 - Foundations of Convolutional Neural Networks

      • Build Convolutional Model in python from scratch.
    • Week 2 - Deep convolutional models: case studies

      • Build Residual Network in Keras.
      • Transfer Learning with MobileNet.
    • Week 3 - Object detection

      • Learn how to apply your knowledge of CNNs to one of the toughest but hottest field of computer vision: Object detection. Autonomous driving application - Car detection.
      • Image segmentation with U-Net.
    • Week 4 - Special applications: Face recognition & Neural style transfer

      • Discover how CNNs can be applied to multiple fields, including art generation and face recognition.
      • Build Face Recognition model for the Happy House. Implement Art Generation with Neural Style Transfer.
  1. Course 5 - Sequence Models
  • Course Objective: This course focuses on how to build and train Recurrent Neural Networks (RNNs), and commonly-used variants such as GRUs and LSTMs, able to apply sequence models to natural language problems, including text synthesis and sequence models to audio applications, including speech recognition and music synthesis.

    • Week 1 - Recurrent Neural Networks

      • Build a Recurrent Neural Network in python from scratch. Implement Character-Level Language Modeling to generate Dinosaur names. Generate music to Improvise a Jazz Solo with an LSTM Network.
    • Week 2 - Natural Language Processing & Word Embeddings

      • Using word vector representations and embedding layers you can train recurrent neural networks with outstanding performances in a wide variety of industries. Examples of applications are sentiment analysis, named entity recognition and machine translation.
    • Week 3 - Sequence models & Attention mechanism

      • Sequence models can be augmented using an attention mechanism. This algorithm will help your model understand where it should focus its attention given a sequence of inputs.
      • Implement Neural machine translation with attention and Trigger word detection.
    • Week 4 - Transformer Network

      • Use HuggingFace tokenizers and transformers to perform Named Entity Recognition and Question Answering

Results

Some results from the programming assignments of this specialization

alt text

  • Neural style transfer alt text

  • Image classification using Logistic Regression from scratch in Python alt text

  • Accuracy vs number of hidden layers in MLP for planar data set alt text

alt text

Disclaimer

The solutions uploaded in this repository are only for reference when you got stuck somewhere. Please don't use these solutions to pass programming assignments.

coursera_deep_learning_specialization's People

Contributors

ankit-kumar-saini avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.