Image Recognition with Neural Networks From Scratch
4.5 (145 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,437 students enrolled

Image Recognition with Neural Networks From Scratch

Write An Image Recognition Program in Python
Bestseller
4.5 (145 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,437 students enrolled
Created by Long Nguyen
Last updated 1/2020
English
English [Auto]
Current price: $41.99 Original price: $59.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • 5 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Write a Python program that recognizes images from scratch without using any libraries!
  • Understand A Neural Network is.
  • Understand some important mathematical prerequisites such as functions and their computational graphs.
  • Understand conceptually what a derivative and a gradient is to fully appreciate the Gradient Descent Algorithm.
  • Understand the Gradient Descent Algorithm, the central algorithm in machine learning with Neural Networks.
  • Understand Backpropagation and its importance in computing gradients.
  • Be able to implement the full Python program in 50 lines of code that recognizes images.
Course content
Expand all 7 lectures 03:01:23
+ Introduction
1 lecture 26:39

Students will learn:

- About the MNIST dataset images of handwritten digits.

- Each image is a 28x28 greyscale. Flatten this 2D array into a 1D vector of dimension 784 and store as a 1D Numpy array.

- The score function that maps each image of pixels to a vector of class scores. The class with the highestscore is the classification of the image. The objective of this class is to find the parameters for this score function.

- The score function is simply a composition of matrix multiplication and addition and the logistic function.

- Learnable parameters of this score function needs to be optimized to find the best score function. This machine learning process is data driven.

- Feed the computer many images and the computers will learn the best parameters that best describe the images.

Preview 26:39
+ Functions and Their Computational Graphs
1 lecture 39:35

Students will learn:

- Multivariable Functions.
- Real-Valued vs. Vector-Valued Functions.

- Parameters of a Function.
- Computational Graphs and Neural Networks.

- Introduction to Numpy .

- Matrices and their operations.

- Broadcasting.

Functions and Their Computational Graphs
39:35
+ Formalizing The Problem
1 lecture 31:52

Students will learn:

- Loss over an example

- Cost or objective function

- Vectorization

- Broadcasting

- Training Process

Formalizing The Problem
31:52
+ What is a derivative? A gradient?
1 lecture 28:12

Students will learn:

- Calculus and Multivariable Calculus conceptually in 20 minutes!

- Slope of a line

- Derivative

- Gradient

- Interpretation of the gradient

What is a derivative? A gradient?
28:12
+ Gradient Descent and Backpropagation
1 lecture 25:01

Students will learn:

- Gradient Descent Algorithm

- The Chain Rule (Visually)

- 4 Equations of Backpropagation

- Mini-Batch Gradient Descent

Gradient Descent and Backpropagation
25:01
+ Writing an Image Recognition Program in Python
1 lecture 19:20

Student will learn:

- Write the entire program that recognizes handwritten digits.

- What we didn’t cover.

- What’s next?

Writing an Image Recognition Program in Python
19:20
Requirements
  • Some basic knowledge of Python.(Supplemental "Crash Course" resources are provided to review/learn Python.)
  • Some basics knowledge of Numpy.(Supplemental "Crash Course" resources to review/learn Numpy.)
  • Some high school precalculus.
Description

This is an introduction to Neural Networks. The course explains the math behind Neural Networks in the context of image recognition. By the end of the course, we will have written a program in Python that recognizes images without using any autograd libraries. The only prerequisite is some high school precalculus. Although the prerequisite is minimal, we will discuss many advanced topics including:

1) functions and their computational graphs.

2) neural networks

3) conceptually understand the derivative and the gradient.

4) gradient descent and backpropagation

5) the multivariable chain rule

6) mini-batch gradient descent


Who this course is for:
  • Beginner Developers who wish to understand Neural Networks.
  • Any math enthusiast who wishes to understand how matrix multiplication and the exponential function are the only two functions needed to recognize images!
  • Any student who wishes to see one of the most useful and powerful application of high school math!