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.
Module 1: Introduction and Overview
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.
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
Perceptrons and NAND gate
In this video, we will look at the basic functional unit of a Neural Network.
We will look at the limitations of perceptrons and replace it with a better output fuction
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.
Exercise 1: Sigmoid Neuron Implementation
In this video, we will take up the problem of implememing our own Sigmoid Function
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.
In this lecture, we will look at an optimization algorithm called Gradient Descent and try to reduce the cost function.
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
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
In this video, we will look at the general representation of a Neural Network and get an introduction to Forwardpropogation
Feed Forward Network
In this video, we will look at a Feed Forward Neural Network and get an intutive understanding of its functioning
Feed Forward Network Continued
Here we will look at the Feed Forward Neural Network in more details and get into its implementation details
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
Feed Forward Propagation Explanation
In this video we will look at the implementation details of a Feed Forward Neural Network
Module 5: Backpropagation
In this video, we will get an intuitive understanding of how a Neural Network learns using a technique called Backpropogaion
In this video, we will look at the implementation details of Backpropagation
Parameters and Hyperparameters
Here we will quickly introduce two terminologies called as the Parameters and Hyperparameters of a Neural Network
Building a Neural Network
In this video we will take up the excersise of building a Neural Network from scratch
Building a Neural Network Explanation
We will look at the step by step solution and build our Neural Network from scratch
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
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
Need for Improvement
Here we will look at some of the issues that may arise while training our Neural Network
A Better Cost Function
In this video, we will look at a new cost function that performs better in most situations
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
We will look at another technique that helps prevent overfitting called Early Stopping
Other Regularization techniques
In this video we will look at other techniques which are commonly used to reduce overfitting
Improving the Neural Network
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
In this video, we will look at a common problem in really deep Neural Networks called as the Vanishing Gradient problem
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
Learning Rate Decay
In this video, we will look at another optimization technique that helps us control our learning rate during Neural Network training
Advanced Optimization Techniques
In this video, we will look at some of the advanced optimization algorithms gaining popularity in recent times
Image Classification Using ANN
In this video, we will use TensrFlow to build a Feed Forward Neural Network to perform Image Classification
Predicting Stock Prices
In this video we will build a simple network to predict stock prises
In this video, we will learn about a technique to represent text data so that the Neural Network can understand
Sentiment Analysis Using ANN
In this video, we will build a Neural Network to perform Sentiment Analysis using Keras
Module 10: Summary and Conclusion
Summary & Conclusion