Deep Learning - Introduction

Deep Learning

Most of the material here is from Andrew Ng's AI course on couesera.org. It's called Deep Learning specialization. Even though it's called Deep Learning, it starts with basic concepts of AI, and then moves to ML, ANN and finally to CNN. It consists of 5 courses as outlined in link below:

https://www.coursera.org/specializations/deep-learning

The 5 courses in deep learning specialization are as follows:

Course 1: Neural Networks and Deep Learning: => Has 4 weeks worth of material, requiring about 20 hrs to complete.

Course 2: Hyperparameter tuning, Regularization and Optimization => Has 3 weeks worth of material, requiring about 18 hrs to complete.

Course 3: Structuring ML projects => Has 2 weeks worth of material, requiring about 5 hrs to complete.

Course 4: Convolutional Neural Networks (CNN) => Has 4 weeks worth of material, requiring about 20 hrs to complete. CNN is the most popular NN

Course 5: Sequence models => Has 3 weeks worth of material, requiring about 15 hrs to complete.

More AI related reserach and info is available on https://www.deeplearning.ai/

Before we go into the course work, we have to get prepared for doing exercises in Python. Without doing exercises and playing around, you will never get a feel of AI. AI is a very fast field, and we will never be able to learn even a little fraction of it, but whatever we learn, we should make sure we learn the basics well.

Installation of Python and various modules:

Below are some of the pgm you will need to install on your computer, before you can do any exercises on coursera. Ofcourse they have Jupyter Notebook for you to work in (Jupyter Notebook migrated to Coursera Lab environment starting Sept, 2020). Jupyter Notebook is an app that allows you to run python and many other pgm languages from within it. However, you may not be able to understand all bits and pieces of how things are working. Also, as these keep changing on Coursera website (i.e you are at the mercy of coursera on how long they continue with which app), I highly encourage you to install python and other needed modules on your local machine (running any Linux OS, I'm running it on CentOS 7), and do all the programming exercises locally. It'll be much more fun. I'm doing it locally myself, so will post all needed info below.

Python: Visit the section under Python programming. Install Python3 (python 3.6 as of July, 2020) as detailed in that section, and then install these other modules.

NumPy: Install NumPy package for python as detailed there, and go thru the basic tutorial

H5py: Install H5py package for python which is used to read data files in HDF5 format. This format is used for our exercises to store large amounts of data.

matplotlib: Install matplotlib module for python and go thru tutorials as explained in that section

PIL: Install Pillow module for python, which we'll use widely for reading images, as compared to matplotlib and scipy. See PIL/Pillow section.

Downloading various local functions and datasets:

There are many functions and datasets that you will see being imported in python pgms on coursera. You do not see them on main notebook page. One way to see all the files being used in python pgm is to go to Jupyter Notebook, and click on File->open on the top of the page. This will take you to a new page, which will show all the folders and files for that programming assignment. There is a "download" button on top, so download all the files that you need (one file at a time, if you try to download multiple files, the download button disappears)