Skip to content

Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems.

License

Notifications You must be signed in to change notification settings

camara94/convolutional-neural-networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Convolutional Neural Networks

Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems.

Learning Objectives

  • Explain the convolution operation
  • Apply two different types of pooling operations
  • Identify the components used in a convolutional neural network (padding, stride, filter, ...) and their purpose
  • Build a convolutional neural network
  • Implement convolutional and pooling layers in numpy, including forward propagation
  • Implement helper functions to use when implementing a TensorFlow model
  • Create a mood classifer using the TF Keras Sequential API
  • Build a ConvNet to identify sign language digits using the TF Keras Functional API
  • Build and train a ConvNet in TensorFlow for a binary classification problem
  • Build and train a ConvNet in TensorFlow for a multiclass classification problem
  • Explain different use cases for the Sequential and Functional APIs

Computer Vision Problems

image

image

Vertical Edge Detection

image image image

Vertical Edget

image

Learning to detect edgets

image

Get Specific Edgets

image

Padding Image

image

Valid And Same Convolutions

Valid:

  • nxn * fxf -> n-f+1 x n-f+1
  • 6x6 * 3x3 -> 4x4

image

Strided Convolution

image

Strided Formula

image

Summary Of Convoultion

image

Technical Note On Cross-correlation vs. Convolution

Convolution In Math Textbook

image

Convolutions On RGB Images

image

image

image

Multiple Filters

image

image

Example Of A Layer

image

Exercise

image

Summary Of Convolution

image

Pooling Layer: Max pooling

image

Summary of MaxPooling

image

image

Number of Parameters

image

Here are the 5 typos:

  1. 208 should be (553 + 1) * 8 = 608
  2. 416 should be (558 + 1) * 16 = 3216
  3. In the FC3, 48001 should be 400*120 + 120 = 48120, since the bias should have 120 parameters, not 1
  4. Similarly, in the FC4, 10081 should be 120*84 + 84 (not 1) = 10164

(Here, the bias is for the fully connected layer. In fully connected layers, there will be one bias for each neuron, so the bias become In FC3 there were 120 neurons so 120 biases.)

  1. Finally, in the softmax, 841 should be 84*10 + 10 = 850

Why Use Convolution

image

image

This is based on the equation:

image

Outline

image

LeNet-5

image

AlexNext

image

VGG-16

image

Residual block

image

Residual Network

image

image

image

image

image

The Problem of computational cost

image

1X1 Convolution

image

Inception Module

image

Inception Network

image

Origin Inception

https://knowyourmeme.com/memes/we-need-to-go-deeper

Mobile Net

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Common Augmentation Method

1. Mirroring

image

2. Random Cropping

image

3. Color Shifting

image

Implementing Distortions During Training

image

Object Localization

Defining the target label y

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Face verification vs. face recognition

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

About

Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published