Course Description
In this course, you will be introduced to neural networks and its broad application. We will be going from the most basic concepts in neural network to building and optimizing a complete neural network and using different tools to solve problems using Deep Neural Networks.
The focus of the course is on learning in a simple and intuitive way with examples. Throughout the course, exercises are provided to reinforce ideas.
What am I going to get from this course?
Understand how a neural network works and how to implement a feedforward neural network
Use feedforward neural network to solve complex problems
Use different techniques to improve the performance of the neural network
Prerequisites and Target Audience
What will students need to know or do before starting this course?
Students will benefit from prior exposure to basic algebra and calculus. Familiarity with the Python programming language is required. Students should be able to use Python 3.x and Jupyter Notebooks.
Who should take this course? Who should not?
Industry professionals and college students who are interested in learning about neural networks in a simple and structured format should take this course. This course is focused on the intuitive understanding and implementation of neural network more than the underlining mathematics.
Curriculum
Module 1: Introduction and Overview
Lecture 1
Introduction & Overview
In this lecture, we will look at what neural network is, and understand what is a deep neural network. We will also look at what are the different types of neural network available.
Lecture 2
Advantages of deep learning
In this video, we will understand why there is so much hype and focus on deep learning and neural networks, and look at the advantages of deep learning
Module 2: Motivation behind Deep Learning
Lecture 3
Perceptrons and NAND gate
In this video, we will look at the basic functional unit of a Neural Network.
Lecture 4
Sigmoid Neurons
We will look at the limitations of perceptrons and replace it with a better output fuction
Lecture 5
Activation Function and Types of Nonlinearities
In this lecture, we will look at other types of Activation function and understand why we require a non linear activation function.
Lecture 6
Exercise 1: Sigmoid Neuron Implementation
In this video, we will take up the problem of implememing our own Sigmoid Function
Lecture 7
Sigmoid Neuron Implementation (explanation)
In this video, we will see how to implement our sigmoid function in python. You are encouraged to attempt to solve Exercise 1 shown in Lecture 6 before looking at this video
Module 3: A Simple Network
In this lecture, we will look at cost function, a way to quantify and measure the network performance.
Lecture 9
Gradient Descent
In this lecture, we will look at an optimization algorithm called Gradient Descent and try to reduce the cost function.
Lecture 10
Exercise 2: Gradient Descent Implementation
In this lecture, we will look at ways to successfully solve the second exercise and steps involved in implementing gradient descent
Lecture 11
Gradient Descent Implementation (explanation)
In this lecture, we will cover the implementation of Gradient descent in python. You are encouraged to try solving Exercise 2 before watching this video.
Module 4: Feed Forward Neural Network
Lecture 12
Representation
In this video, we will look at the general representation of a Neural Network and get an introduction to Forwardpropogation
Lecture 13
Feed Forward Network
In this video, we will look at a Feed Forward Neural Network and get an intutive understanding of its functioning
Lecture 14
Feed Forward Network Continued
Here we will look at the Feed Forward Neural Network in more details and get into its implementation details
Lecture 15
Exercise: Forward Propagation Implementation
In this lecture, we will look at ways to successfully solve the third exercise and steps involved in implementing the forward pass of a Feed Forward Neural Netwrok
Lecture 16
Feed Forward Propagation Explanation
In this video we will look at the implementation details of a Feed Forward Neural Network
Module 5: Backpropagation
Lecture 17
Backpropagation
In this video, we will get an intuitive understanding of how a Neural Network learns using a technique called Backpropogaion
Lecture 18
Backpropagation Implementation
In this video, we will look at the implementation details of Backpropagation
Lecture 19
Parameters and Hyperparameters
Here we will quickly introduce two terminologies called as the Parameters and Hyperparameters of a Neural Network
Lecture 20
Building a Neural Network
In this video we will take up the excersise of building a Neural Network from scratch
Lecture 21
Building a Neural Network Explanation
We will look at the step by step solution and build our Neural Network from scratch
Lecture 22
Introduction to TensorFlow
Here we will look at TensorFlow and what are the fundamental concepts in TensorFlow that we need to understand to start building our Neural Networks
Lecture 23
Introduction to Keras
In this video, we will get an introduction to Keras and look at the basic structure of a building Neural Network using Keras
Module 7: Improving the Neural Network
Lecture 24
Need for Improvement
Here we will look at some of the issues that may arise while training our Neural Network
Lecture 25
A Better Cost Function
In this video, we will look at a new cost function that performs better in most situations
Lecture 26
What is Regularization
In this video, we will look at Regularization as a way to reduce overfitting
We will look at a popular technique to help our Neural Network generalize better called Dropouts
Lecture 28
Early Stopping
We will look at another technique that helps prevent overfitting called Early Stopping
Lecture 29
Other Regularization techniques
In this video we will look at other techniques which are commonly used to reduce overfitting
Quiz 1
Improving the Neural Network
Lecture 30
Mini-Batch Gradient Descent
Here we will look at a technique called Mini-Batch Gradient Descent which helps achieve fast and stable learning as compared to other Gradient Descent techniques
Lecture 31
Vanishing Gradients
In this video, we will look at a common problem in really deep Neural Networks called as the Vanishing Gradient problem
Lecture 32
Weight Initialization
Here we will look at a way to tackle Vanishing Gradient problem
Here we will look at a technique that helps us achieve better optimization performance
Lecture 34
Learning Rate Decay
In this video, we will look at another optimization technique that helps us control our learning rate during Neural Network training
Lecture 35
Advanced Optimization Techniques
In this video, we will look at some of the advanced optimization algorithms gaining popularity in recent times
Lecture 36
Image Classification Using ANN
In this video, we will use TensrFlow to build a Feed Forward Neural Network to perform Image Classification
Lecture 37
Predicting Stock Prices
In this video we will build a simple network to predict stock prises
Lecture 38
Word Embedding
In this video, we will learn about a technique to represent text data so that the Neural Network can understand
Lecture 39
Sentiment Analysis Using ANN
In this video, we will build a Neural Network to perform Sentiment Analysis using Keras
Module 10: Summary and Conclusion
Lecture 40
Summary & Conclusion