0% found this document useful (0 votes)
11 views94 pages

Deep Learning

A Convolutional Neural Network (CNN) is a specialized deep learning architecture primarily used for processing images, inspired by the human visual system. CNNs address limitations of traditional neural networks by reducing parameters, maintaining spatial relationships, and automatically learning features through a hierarchical structure. They are widely applied in various fields including image classification, object detection, face recognition, and medical image analysis.

Uploaded by

khanarsheen0624
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views94 pages

Deep Learning

A Convolutional Neural Network (CNN) is a specialized deep learning architecture primarily used for processing images, inspired by the human visual system. CNNs address limitations of traditional neural networks by reducing parameters, maintaining spatial relationships, and automatically learning features through a hierarchical structure. They are widely applied in various fields including image classification, object detection, face recognition, and medical image analysis.

Uploaded by

khanarsheen0624
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CHAPTER -3

What is cnn?

Convolutional Neural Network (CNN) — Detailed Explanation

A Convolutional Neural Network (CNN) is a specialized deep learning architecture


designed mainly for processing and analyzing images, although it can also be used for
videos, audio, and other grid-like data.

CNNs are inspired by the human visual system.


Just like the brain’s visual cortex detects simple patterns first (edges, curves) and then
forms complex objects, a CNN also learns features in multiple layers:

• Early layers → detect edges

• Middle layers → detect shapes

• Deep layers → detect objects

WHY CNN WAS INVENTED?

Traditional Neural Networks (ANNs) have two major problems with images:

Too many parameters

A 256×256 RGB image has 256×256×3 = 196,608 inputs.


If we connect this to a fully connected layer → huge number of weights.
This is slow and causes overfitting.

They ignore spatial information

ANN treats all pixels independently.


But images have spatial structure (neighboring pixels are related).

CNN solves these problems by:

✔ Using local connections


✔ Using shared weights (filters)
✔ Reducing parameters
✔ Automatically learning features
✔ Maintaining spatial relationships
FEATURE HIERARCHY IN CNN

CNN learns from simple to complex patterns:

Layer Feature Type

Layer 1 Edges, corners

Layer 2 Textures, simple shapes

Layer 3 Complex patterns (eyes, wheels)

Layer 4 Object parts

Layer 5+ Full objects (face, car, animal)

This is called Hierarchical Feature Learning.

Applications of Convolutional Neural Networks (CNNs)

CNNs are widely used because they automatically learn patterns from images, videos, and
spatial data. Their ability to extract features like edges, textures, objects, and shapes
makes them extremely powerful.

Below are the major applications explained in detail:

1. Image Classification

CNNs identify the category of an image.


Example: classify an image as a cat, dog, car, flower, etc.

How CNN helps:

• Extracts important features automatically.

• Learns differences between classes.

• Works better than traditional ML because of deep feature extraction.

Real-world use:

• Google Photos auto-classification

• Facebook detecting people in photos


2. Object Detection

CNNs not only classify an image but also locate multiple objects using bounding boxes.

Famous Models:

• YOLO

• SSD

• R-CNN, Fast R-CNN, Faster R-CNN

Use cases:

• Self-driving cars detecting pedestrians, traffic signs

• CCTV surveillance

• Amazon Go cashierless stores

3. Face Recognition

CNNs are the core of modern face detection & recognition systems.

Applications:

• Phone face unlock

• Attendance systems

• Airport immigration

• Security surveillance

CNNs identify unique facial features and match them to a stored database.

4. Medical Image Analysis

CNNs help doctors by analyzing medical scans.

Examples:

• Detecting tumors in MRI/CT scans

• Identifying pneumonia in X-rays


• Classifying skin cancer

• Organ segmentation

This leads to faster and more accurate diagnosis.

5. Self-Driving Cars

CNNs process real-time visual information from the car’s cameras.

Used for:

• Lane detection

• Traffic sign recognition

• Pedestrian identification

• Vehicle detection

This makes autonomous driving safe and reliable.

6. Video Analysis

CNNs + RNNs/3D CNNs are used for understanding video sequences.

Applications:

• Action recognition (fall detection, sports analytics)

• Video surveillance

• Activity prediction

• Video summarization

7. Image Segmentation

CNNs classify every pixel in an image.

Models:

• U-Net

• SegNet
• Mask R-CNN

Applications:

• Medical image segmentation

• Satellite image analysis

• Background removal

• Robotics navigation

8. Style Transfer (Deep Art)

CNNs can mix the style of one image (Van Gogh painting) with another image.
Used for artistic filters and creative effects.

Example: Prisma App, [Link]

9. Deep Dream

This uses CNNs to visualize and amplify patterns learned by the network.
Produces dream-like, surreal images.

Used for:

• Understanding CNN feature maps

• Artistic creation

10. Natural Language Processing (NLP)

CNNs also work on 1D data (text sequences).

Applications:

• Sentence classification

• Emotion detection

• Text summarization

• Spam filtering

CNNs extract key features like n-grams automatically.


11. Robotics

Robots use CNNs for visual navigation and object manipulation.

Example:

• Identifying objects for pick-and-place

• Real-time environment mapping

• Autonomous drone navigation

12. Agriculture

CNNs help detect plant diseases from leaf images.

Applications:

• Crop disease detection

• Yield prediction

• Weed identification

13. Satellite and Remote Sensing

CNNs analyze high-resolution satellite images.

Uses:

• Land classification

• Forest monitoring

• Disaster detection (floods, fire)

• Urban planning

14. Quality Inspection in Industries

CNNs detect defects on production lines.

Example:
• Scratches on mobile screens

• Faults in manufactured parts

• Missing components on PCBs

This makes manufacturing faster and more accurate.

15. Handwriting Recognition

CNNs are used in:

• Digit recognition (MNIST dataset)

• Signature verification

• Reading postal addresses

They extract texture patterns and character shapes.

CNN Architecture — Detailed Explanation

A Convolutional Neural Network (CNN) is a deep learning model designed to process


data that has grid-like structure, such as images (2D grid of pixels).
The CNN architecture is made up of multiple layers arranged in sequence. Each layer has a
specific role in extracting features gradually — from simple edges to complex objects.

Major Layers in a CNN Architecture

A CNN typically contains the following layers:

1. Input Layer

2. Convolutional Layer

3. Activation Function (ReLU)

4. Pooling Layer

5. Fully Connected Layer (Dense Layer)

6. Output Layer
1. Input Layer

• Takes an image as input.

• An image has height × width × depth (channels).


Example:

o RGB image → 224×224×3

o Grayscale image → 224×224×1

The CNN preserves the spatial relationship between pixels.

2. Convolutional Layer (The heart of CNN)

The convolutional layer uses filters/kernels to scan the image and extract visual features.

What is a filter?

• A small matrix (3×3, 5×5 etc.)

• Slides over the image using stride.

• Performs dot product between filter and part of the image.

Output of convolution layer

A feature map.

What features are extracted?

• First layers → edges, corners

• Middle layers → textures, patterns

• Deep layers → shapes, objects (faces, wheels)

Mathematically:

Feature Map = Image ⊗ Kernel (+ bias)

3. Activation Function — ReLU


ReLU = Rectified Linear Unit
Formula: f(x) = max(0, x)

Why ReLU?

• Introduces non-linearity

• Makes training faster

• Reduces vanishing gradient problem

Almost all modern CNNs use ReLU after every convolution.

4. Pooling Layer (Downsampling Layer)

Pool layers reduce the size of feature maps.

Types:

• Max Pooling → picks maximum value

• Average Pooling → takes mean

• Global Pooling → collapses entire map to one value

Why pooling?

• Reduces computation

• Reduces overfitting

• Makes model invariant to slight shifts in images

Pooling helps CNN focus on important features only.

5. Flattening Layer

After the Convolution and Pooling layers, the CNN generates multiple 2D feature maps.
But a Fully Connected (Dense) layer requires 1D input — a single long vector.

This is where the Flattening Layer comes in.


After several convolution + pooling layers, the final feature maps are flattened into a 1D
vector.

This prepares the data for fully connected layers.

6. Fully Connected (FC) Layer

This layer works like a standard neural network.

Purpose:

• Combine extracted features

• Perform classification or prediction

Characteristics:

• Every neuron is connected to every neuron in the next layer

• Learns decision boundaries

7. Output Layer

Depends on the task:

For classification:

• Softmax layer (multi-class)

• Sigmoid layer (binary)

For detection or segmentation:

• Custom output formats (bounding boxes, masks, etc.)

Understanding High-Level Architecture

A CNN architecture can be visualized as:

Input Image

Convolution + ReLU

Pooling

Convolution + ReLU

Pooling

Flatten

Fully Connected

Output

Additional CNN Components (Important for exams)

1. Stride

• Number of pixels the filter moves while scanning.

• Stride 1 → high detail

• Stride 2 → faster but less detail

2. Padding

Padding adds extra pixels around the image.

Types:

• Valid padding → no padding → output shrinks

• Same padding → output size remains same

Used to:
• Prevent dimensionality reduction

• Preserve border information

3. Filters/Kernels

Each filter extracts a specific type of feature.

Examples:

• Vertical edges

• Horizontal edges

• Color gradients

• Curves

• Patterns

A CNN automatically learns these filters.

4. Depth

More depth = more feature maps.


Early layers: low level features
Deep layers: high level features

ReLU and Softmax — detailed explanation & why they matter in CNNs

Nice — let’s dig deep but keep it clear. I’ll explain each function (math, intuition,
pros/cons), how they behave in training (derivatives, backprop), practical tips (when/where
to use), and small worked examples.

1) ReLU (Rectified Linear Unit)

Definition (math)

ReLU(𝑥) = max⁡(0, 𝑥)
Graph / intuition

• Outputs 0 for all negative inputs, outputs the input unchanged for positive inputs.

• Think: “pass positive signals as-is, silence negatives.”

Why use ReLU in CNNs?

• Nonlinearity: introduces nonlinearity so the network can learn complex functions.

• Sparsity: many neurons output 0 → sparse activations (helps generalization and


efficiency).

• Computationally cheap: just a thresholding operation (no expensive exponentials).

• Mitigates vanishing gradients: for positive inputs, derivative is 1 (so gradients don’t
shrink to zero like sigmoid/tanh).

Derivative (for backprop)


𝑑 0 𝑥<0
ReLU(𝑥) = {
𝑑𝑥 1 𝑥>0

(Undefined exactly at 𝑥 = 0; practically we set derivative either 0 or 1 — it doesn’t matter


much.)

During backprop, gradients pass through unchanged wherever the pre-activation was
positive, otherwise they’re blocked (multiplied by 0).

Problems / caveats

• Dead ReLU problem: neurons that receive negative inputs across training can get
stuck outputting 0 forever (gradient = 0), effectively “dying.”
Remedies: leaky variants (see below), smaller learning rates, good initialization,
batch normalization.

• Not symmetric around zero (can bias activations positive).

Variants

• Leaky ReLU: LeakyReLU(𝑥) = max⁡(𝛼𝑥, 𝑥)with small 𝛼(e.g. 0.01). Keeps small
negative slope so neurons don’t die.

• Parametric ReLU (PReLU): same as Leaky but 𝛼is learnable.


• ELU / SELU: smooth functions that push outputs toward negative saturation for
negative x (helpful for some networks).

• Use-case: standard ReLU is default for conv/hidden layers; Leaky/PReLU if dead


ReLUs show up.

Practical training tips with ReLU

• Weight initialization: use He/Kaiming initialization (designed for ReLU activations)


to keep variance stable across layers.

• Batch Normalization often used before/after ReLU to stabilize distributions and


learning.

• Learning rate choice: large LR can kill neurons; tune carefully.

2) Softmax (multiclass output activation)

Definition (math)

For a vector of logits 𝑧 = [𝑧1 , 𝑧2 , … , 𝑧𝐾 ],

𝑒 𝑧𝑖
𝜎(𝑧)𝑖 = 𝐾 for 𝑖 = 1. . 𝐾
∑𝑗=1 𝑒 𝑧𝑗

Outputs a probability distribution over 𝐾classes (non-negative, sums to 1).

Intuition

• Converts raw scores (logits) into normalized probabilities.

• The class with largest logit gets the largest probability, but softmax is smooth —
relative logits control output.

3) How ReLU and Softmax interact inside a CNN — their roles

• ReLU (hidden layers; conv and dense):

o Build hierarchical, non-linear features.

o Provide sparsity and compute efficiency.

o Act on each neuron elementwise during forward pass; control gradient flow
during backprop.
• Softmax (output layer):

o Converts final scores into a probability distribution across classes.

o Works together with cross-entropy loss to provide clean, easy-to-compute


gradients (𝑦̂−𝑦)for backpropagation into the network (all the way to ReLU
layers).

Limitation of ann that cnn overcome

Summary Table (Super Useful for Exams)

1. ANNs cannot handle high-dimensional image data efficiently

Problem in ANN:

• ANN connects each pixel to every neuron → millions of parameters for even a small
image.
Example: A 256×256×3 image = 196,608 inputs.
If connected to 1,000 neurons → 196 million weights!
This is:

• slow

• expensive

• memory heavy

• prone to overfitting

How CNN solves it:

• Uses shared filters (kernels) instead of connecting each pixel individually.

• Parameters reduce drastically (e.g., a 3×3 filter has only 9 weights).


→ Much faster and scalable.

2. ANNs ignore spatial information

Problem in ANN:

• ANN converts an image into a 1D vector.

• This destroys spatial relationships (position of edges, textures, shapes).


• ANN does not understand:

o nearby pixels

o local patterns

o image structure

How CNN solves it:

• Convolution preserves locality.

• It detects:

o edges

o corners

o patterns

o shapes
at their correct positions in the image.

3. ANNs do not detect features automatically

Problem in ANN:

• ANN cannot automatically learn visual features.

• Requires manual feature extraction (SIFT, HOG, SURF).

How CNN solves it:

• CNN automatically learns:

o edges → textures → shapes → objects

• No manual feature engineering required.


→ Completely automatic.

4. ANNs overfit easily on image data

Problem in ANN:

• Large number of weights → easy overfitting


• Cannot generalize well

How CNN solves it:

• Uses:

o weight sharing

o pooling

o regularization

o fewer parameters
→ Less overfitting, more stability.

5. ANNs are not translation invariant

Problem in ANN:

• If a cat moves slightly left/right in an image, ANN needs to relearn it.

How CNN solves it:

• Pooling layer provides translation invariance.

• CNN recognizes objects even if they shift slightly.

6. ANNs require huge computational power

Problem in ANN:

• Fully connected network is very heavy.

• Training time is huge.

How CNN solves it:

• Fewer parameters

• Smaller filters

• Sparse connections

• Lightweight computations

→ Faster training and inference.


7. ANNs cannot handle images with depth (3D channels) efficiently

Problem in ANN:

• Struggles with:

o RGB channels

o multiple feature maps

o depth information

How CNN solves it:

• Kernels operate across depth (channels) naturally.

• Can learn:

o color edges

o texture layers

o deep features

Summary Table (Super Useful for Exams)

Limitation in ANN How CNN Overcomes

Too many parameters Weight sharing reduces parameters

Ignores spatial structure Convolution preserves spatial locality

Needs manual feature extraction Learns features automatically

Overfits easily Pooling + fewer weights reduce overfitting

No translation invariance Pooling provides invariance

Slow & expensive for images Convolutions are efficient

Cannot handle channels CNN handles depth easily

Convolutional Layer — Detailed Explanation


The Convolutional Layer is the core building block of a Convolutional Neural Network
(CNN).
It is responsible for feature extraction from the input image.

Instead of connecting every pixel to every neuron (like ANN), a convolutional layer uses
filters (kernels) to scan the image and detect patterns.

1. What is a Convolution?

A convolution is a mathematical operation where a small matrix (called a kernel or filter)


slides over the image and performs:

Output(𝑖, 𝑗) = ∑(Kernel × Image Patch) + bias

This produces a Feature Map.

2. Why Convolution?

Because it allows:

• Local feature extraction

• Fewer parameters (weight sharing)

• Preservation of spatial structure

• Translation invariance

CNNs use convolution repeatedly to learn:

• Edges

• Corners

• Lines

• Textures
→ Eventually full objects.

Architecture of a Convolutional Layer


A convolutional layer is made up of several important components. Let’s break them down
clearly.

1. Input Volume

This is your input image or feature map.

Example:

• For RGB image: H × W × 3

• For gray image: H × W × 1

After several layers, the input may become:


H × W × D (where D is the number of channels/feature maps)

2. Filters / Kernels

A filter is a small matrix, typically sized:

• 3 × 3 (most common)

• 5×5

• 7×7

Each filter slides (convolves) over the input and computes dot products.

Each filter detects one specific feature.

For example:

• Filter 1 → vertical edges

• Filter 2 → horizontal edges

• Filter 3 → texture

If a layer has 64 filters, it produces 64 feature maps.

3. Depth of Filter

If your input has D channels (e.g., RGB = 3), the filter will have depth D too.
Example:
3×3 filter on RGB image → 3×3×3 filter

This means the filter can combine information from:

• Red

• Green

• Blue

This helps CNN detect real-world patterns.

4. Stride

Stride is the number of pixels the filter jumps after each operation.

• Stride = 1: Maximum detail

• Stride = 2: Faster, downsamples output

• High stride: Less detail, but smaller output size

Output size formula:


𝑊 − 𝐹 + 2𝑃
Output = +1
𝑆

Where:

• W = input width

• F = filter size

• P = padding

• S = stride

5. Padding

Padding adds zeros around the input image.

Types:

1. Valid Padding → No padding → Output becomes smaller


2. Same Padding → Padding added → Output size preserved

Why padding?

• Prevents shrinkage of image after every convolution

• Preserves border information

• Makes deeper CNNs possible

6. Bias Term

Each filter has a single bias value added to the output.

7. Activation Function (ReLU)

After convolution, CNN applies an activation function (usually ReLU) to introduce non-
linearity.

ReLU(𝑥) = max⁡(0, 𝑥)

This allows the network to learn complex patterns.

Complete Flow of Convolutional Layer

Let’s combine all components in correct order:

Take input image/feature map


Select a filter (kernel)
Slide filter across input using stride
Compute dot products to create Feature Map
Add bias
Apply Activation Function (ReLU)
Stack all feature maps from different filters

What Does the Convolutional Layer Learn?

The first conv layer learns:


• edges

• gradients

• simple shapes

Middle layers learn:

• textures

• corners

• patterns

Deep layers learn:

• eyes

• wheels

• animal faces

• object shapes

Final layers learn:

• high-level concepts (e.g., cat face, human face)

Advantages of Convolutional Layer

✔ Reduces Parameters (weight sharing)


✔ Automatically learns features
✔ Preserves spatial relationships
✔ Efficient for images
✔ Hierarchical feature learning

What is Pooling in CNN?

Pooling is a downsampling (subsampling) operation used in Convolutional Neural


Networks (CNNs) to reduce the spatial dimensions of the feature maps.
It takes a small region (called a window or filter, e.g., 2×2) and computes a summary
statistic (like max or average) to produce a smaller output.

Example:

If you have a feature map of size 4×4, and you apply a 2×2 pooling with stride 2, you get a
2×2 output.

Why is Pooling Used? (Significance)

Reduces Spatial Dimensions (Downsampling)

Pooling reduces the width and height of feature maps, decreasing:

• computational cost

• memory usage

• training time

Controls Overfitting

Since pooling reduces parameters, it prevents the network from memorizing training data
too much.

Provides Translation Invariance

Pooling captures the most important features regardless of small translations/shift in the
image.

Example:
If an object moves slightly left/right/up/down in the image → pooling helps the model still
recognize it.

Keeps Important Information Only

Pooling retains strong features (like edges, corners, textures) while removing weak/noisy
pixels.

Maintains Robustness

Pooling helps CNNs become resistant to:

• noise

• lighting variations
• small distortions

Architecture of Pooling Layer

A pooling layer involves:

1. Pool Size

• e.g., 2×2, 3×3

2. Stride

Distance by which the window moves.

• Common stride: 2

3. Operation

Depends on pooling type:

• max

• average

• sum (rarely used)

Input

Feature map from convolutional/relu layer


Example: 28×28×32

Output

A reduced feature map


Example: 14×14×32

The depth remains same, only height and width decrease.

Types of Pooling

Max Pooling (Most Common)

It chooses the maximum value from each window.

Example:
Window:
[1, 5
3, 2]
Max = 5

Why used?

• Captures strong/important features.

• Removes noise.

• Great for edge detection.

Advantages

• Best for images

• Keeps only the strongest activation

Average Pooling

Takes the average value of the window.

Example:

[1, 5
3, 2]
Average = (1+5+3+2)/4 = 2.75

Where used?

• Classical CNN models (early architectures)

• Some tasks where strong differentiation isn’t needed

Advantage

• Smoothens features

• Less aggressive than Max Pooling

Global Pooling (Global Max/Average Pooling)

Global Average Pooling (GAP)


Takes the average of the entire feature map.

If input = 7×7×512 → Output = 1×1×512

Why used?

• Replaces fully connected layers

• Reduces parameters drastically

• Used in architectures like MobileNet, ResNet, Inception

Benefits

• Prevents overfitting

• Very efficient

L2-Norm Pooling (Less Common)

Computes the L2 norm of the window.

Example:
√(1² + 5² + 3² + 2²)

Used in special tasks like texture classification.

Mixed Pooling / Stochastic Pooling (Rare)

• Randomly picks values based on activation strength.

• Used in research and experimental models.

What is a Fully Connected Layer (FC Layer)?

A Fully Connected Layer (also called Dense Layer) is the final part of a Convolutional
Neural Network (CNN) where every neuron is connected to every neuron in the next
layer.

It works exactly like a traditional Artificial Neural Network (ANN) layer.

Simple Definition
A Fully Connected Layer takes the high-level features extracted by convolution + pooling
layers, and converts them into the final classification decision (e.g., Cat, Dog, Car, etc.).

Architecture of a Fully Connected Layer

The architecture consists of:

Input Vector (Flattened output)

After the convolution and pooling layers, the feature maps are flattened into a 1D vector.

Example:
If feature map = 7 × 7 × 64
Flattened vector size = 7 × 7 × 64 = 3136

Neurons (Units)

Each neuron in the fully connected layer has:

• A set of weights

• A bias

• An activation function (ReLU/Softmax/Sigmoid)

Example:
If FC layer has 128 neurons, then each neuron receives 3136 inputs.

Weight Matrix

If:

• input vector size = N

• number of neurons = M

Then weight matrix size = N × M

Example:
3136 inputs → 128 neurons
Weights = 3136 × 128
Outputs

Each neuron produces one output value.


So for 128 neurons, the FC layer produces a vector of size 128.

Working of a Fully Connected Layer (Step-by-Step)

Let’s understand the exact process:

Step 1: Flatten the Input

CNN layers output 3D feature maps


(example: 7×7×64)

Flatten →
3136 × 1 vector.

Step 2: Multiply by Weights

Each neuron computes:

𝑧 = 𝑤1 𝑥1 + 𝑤2 𝑥2 +. . . +𝑤𝑛 𝑥𝑛 + 𝑏

This is a dot product between:

• weights 𝑤𝑖

• inputs 𝑥𝑖

Step 3: Add Bias

A small bias term is added:

𝑧 = 𝑊𝑥 + 𝑏
Step 4: Apply Activation Function

• ReLU is used in hidden FC layers


→ adds non-linearity

• Softmax is used in the final FC layer


→ converts scores into class probabilities

Step 5: Output

The final fully connected layer gives:

For Binary Classification

Output size = 1
Activation = sigmoid

For Multi-Class Classification

Output size = Number of classes


Activation = softmax

Example:
Dataset = 10 classes
FC output = 10 numbers (probabilities for each class)

Why Do We Use a Fully Connected Layer?

Decision Making

Convolution layers learn features, but FC layers make final classification decisions.

Combines All Features

FC layers combine all extracted features to understand:

• edges

• textures

• shapes

• high-level patterns
Learn Non-linear Relationships

Using activation functions, FC layers learn complex relationships between features.

Works like a neural network classifier

It behaves like a standard ANN that classifies based on the learned features.

1. LeNet-5

Introduction

LeNet-5, proposed by Yann LeCun (1998), is one of the first successful Convolutional
Neural Networks. It was mainly designed for handwritten digit recognition.

Architecture (Theoretical Description)

LeNet consists of alternating convolutional layers and subsampling layers, followed by


fully connected layers. It uses average pooling and tanh activation functions.

Key Characteristics

• Shallow CNN architecture

• Uses fixed feature extraction

• Low computational complexity

Learning Principle

LeNet learns spatial features such as edges and curves through convolution. Pooling layers
reduce spatial size and increase invariance.

Advantages

• Simple and efficient

• Low parameter count

• Foundation for modern CNNs

Limitations

• Cannot handle complex real-world images

• Uses outdated activations and pooling

• Limited depth

Applications
• Optical character recognition

• Digit recognition

• Early document processing systems

2. AlexNet

Introduction

AlexNet, developed by Alex Krizhevsky et al. (2012), won the ImageNet Large Scale
Visual Recognition Challenge and triggered the deep learning revolution.

Architecture (Theoretical Description)

AlexNet is a deep CNN consisting of multiple convolutional layers followed by fully


connected layers. It introduced ReLU activation, dropout, and GPU-based training.

Key Innovations

• Use of ReLU instead of sigmoid/tanh

• Max pooling

• Dropout regularization

• Data augmentation

Learning Principle

AlexNet learns hierarchical features, starting from edges and textures to complex object
parts.

Advantages

• High accuracy improvement over classical methods

• Faster convergence

• Effective regularization

Limitations

• Very large number of parameters

• High memory consumption

• Overfitting risk
Applications

• Image classification

• Object recognition

• Feature extraction

3. ZFNet

Introduction

ZFNet (Zeiler and Fergus Network) is an improved version of AlexNet, proposed in 2013. It
focused on understanding CNN behavior through feature visualization.

Architecture (Theoretical Description)

ZFNet modifies AlexNet by reducing convolution filter sizes and strides, allowing finer
feature extraction.

Key Contributions

• Hyperparameter tuning

• Visualization using deconvolution techniques

• Improved receptive field handling

Learning Principle

ZFNet analyzes intermediate CNN activations to identify issues like over-aggressive


downsampling.

Advantages

• Better accuracy than AlexNet

• Improved interpretability

• Enhanced feature learning

Limitations

• Still computationally heavy

• No major architectural innovation

• Not scalable to very deep networks


Applications

• Image recognition research

• CNN interpretability studies

4. VGGNet

Introduction

VGGNet, introduced by the Visual Geometry Group (Oxford, 2014), emphasizes network
depth and simplicity.

Architecture (Theoretical Description)

VGGNet uses a uniform design:

• Multiple 3×3 convolution layers

• Periodic max pooling

• Deep stacking of layers (VGG-16, VGG-19)

Key Concept

Replacing large filters with multiple small filters increases depth while preserving receptive
field size.

Learning Principle

Deeper networks learn more abstract and discriminative features.

Advantages

• Very simple architecture

• Excellent transfer learning performance

• Strong feature representation

Limitations

• Extremely large parameter count

• High memory and computation cost

• Slow training

Applications
• Transfer learning

• Image classification

• Feature extraction in vision tasks

5. GoogLeNet (Inception Network)

Introduction

GoogLeNet, developed by Google (2014), introduced the Inception architecture, aiming


to improve accuracy while reducing computation.

Architecture (Theoretical Description)

GoogLeNet uses Inception modules, where multiple convolution operations of different


sizes are performed in parallel and concatenated.

Key Innovations

• Parallel convolution paths

• 1×1 convolutions for dimensionality reduction

• Deep network with fewer parameters

Learning Principle

Different filter sizes capture features at different scales, improving representational power.

Advantages

• Very efficient

• Reduced overfitting

• Fewer parameters than VGG

Limitations

• Complex design

• Difficult manual tuning

• Less interpretable

Applications

• Large-scale image classification


• Vision-based AI systems

6. ResNet

Introduction

ResNet (Residual Network), proposed by Microsoft Research (2015), solved the vanishing
gradient problem, enabling very deep networks.

Architecture (Theoretical Description)

ResNet introduces residual connections, allowing information to bypass layers.

Core Idea (Residual Learning)

Instead of learning a direct mapping, the network learns the residual function, improving
gradient flow.

Learning Principle

Skip connections ensure stable training and prevent degradation in deep networks.

Advantages

• Enables extremely deep networks (up to 152 layers)

• Superior accuracy

• Robust training

Limitations

• Increased architectural complexity

• Slightly higher computation

• Harder to tune

Applications

• Object detection

• Medical image analysis

• Autonomous driving

. What is Generalization?
Generalization refers to a model’s ability to perform well on unseen (test) data, not just
on the training data.

Key Idea

A well-generalized model:

• Learns true patterns

• Does not memorize training samples

Example

• High training accuracy + high test accuracy → Good generalization

• High training accuracy + low test accuracy → Poor generalization (overfitting)

2. What is Overfitting and Underfitting?

Overfitting

• Model learns noise and details of training data

• Poor performance on new data

Underfitting

• Model is too simple

• Fails to capture patterns

Goal: Balance between underfitting and overfitting.

3. What is Regularization?

Regularization is a set of techniques used to reduce overfitting and improve


generalization by controlling model complexity.

Exam-friendly definition

Regularization is the process of adding constraints or modifications to a learning


algorithm to prevent overfitting and improve the model’s generalization ability.

Regularization Techniques
5. Dropout

Concept

Dropout randomly deactivates (drops) a fraction of neurons during training.

How it Works

• During each training iteration:

o Some neurons are randomly ignored

• During testing:

o All neurons are used

Effect

• Prevents neurons from becoming overly dependent on each other

• Forces the network to learn redundant and robust features

Advantages

• Very effective

• Easy to implement

• Strong regularization

Limitations

• Slows training

• Less effective in convolution layers

6. Weight Decay (L2 Regularization)

Concept

Weight decay penalizes large weights by adding an L2 penalty term to the loss function.

Mathematical Form

𝐿𝑜𝑠𝑠 = 𝑂𝑟𝑖𝑔𝑖𝑛𝑎𝑙 𝐿𝑜𝑠𝑠 + 𝜆∑𝑤 2

Effect
• Encourages smaller weights

• Produces smoother decision boundaries

Advantages

• Simple and mathematically grounded

• Improves generalization

Limitation

• Does not create sparsity

7. Early Stopping

Concept

Early stopping halts training when validation performance starts degrading.

How it Works

• Monitor validation loss

• Stop training when loss increases consistently

Effect

• Prevents over-training

• Saves computation

Advantages

• Very practical

• No model modification required

Limitation

• Requires careful validation monitoring

8. Data Augmentation

Concept
Data augmentation artificially increases training data by applying transformations to
existing samples.

Common Techniques

• Rotation

• Flipping

• Scaling

• Cropping

• Color changes

Effect

• Exposes model to diverse data

• Reduces memorization

Advantages

• Highly effective

• No additional data collection needed

Limitation

• Limited to realistic transformations

9. Artificial Data Injection

Concept

Artificial data injection generates new synthetic samples instead of transforming existing
ones.

Methods

• Noise-based data synthesis

• GAN-generated samples

• Simulation-based data

Effect

• Expands dataset size


• Improves robustness

Advantages

• Useful for small datasets

• Enhances generalization

Limitation

• Synthetic data quality is critical

10. Limiting Number of Parameters

Concept

Reducing the capacity of the model to prevent memorization.

Techniques

• Fewer layers

• Smaller filters

• Reduced number of neurons

• Depthwise separable convolutions

Effect

• Simpler model

• Less overfitting

Advantages

• Low computational cost

• Efficient training

Limitation

• Risk of underfitting
CHAPTER-4
1. What is RNN (Recurrent Neural Network)?

A Recurrent Neural Network (RNN) is a class of neural networks designed to process


sequential data by maintaining a memory of previous inputs.

Key idea:
RNNs remember past information and use it to influence current output.

Unlike feed-forward neural networks, RNNs have loops, allowing information to persist.

Simple Definition (Exam-Friendly)

A Recurrent Neural Network is a neural network that processes data sequentially by


feeding the output of a previous step back into the network, enabling it to model
temporal dependencies.

2. Why RNN is Needed?

Traditional neural networks:

• Assume independent inputs

• Cannot handle sequence order

But many problems depend on order and context:

Examples:

• Sentence meaning

• Speech signals

• Time-series data

RNNs solve this by remembering previous inputs.

3. Basic Architecture of RNN

An RNN consists of:

• Input layer

• Hidden state
• Output layer

Core equation:

ℎ𝑡 = 𝑓(𝑊ℎ ℎ𝑡−1 + 𝑊𝑥 𝑥𝑡 + 𝑏)

Where:

• 𝑥𝑡 = input at time t

• ℎ𝑡 = hidden state at time t

• ℎ𝑡−1= previous hidden state

• 𝑓= activation function (tanh / ReLU)

The hidden state acts as memory.

4. Unfolded RNN (Time Steps)

RNN can be visualized as unfolded over time:

x1 → h1 → y1

x2 → h2 → y2

x3 → h3 → y3

Each step:

• Takes current input

• Uses previous hidden state

• Produces current output

5. Types of RNN Architectures

5.1 One-to-One

• Traditional neural network

• Example: Image classification


5.2 One-to-Many

• Single input → sequence output

• Example: Image captioning

5.3 Many-to-One

• Sequence input → single output

• Example: Sentiment analysis

5.4 Many-to-Many

• Sequence input → sequence output

• Example: Machine translation

7. Training RNN: Backpropagation Through Time (BPTT)

What is BPTT?

Backpropagation Through Time is the process of propagating error backward


through all time steps of the RNN to update shared weights.

Same weights are used at every time step, so error flows backward through
time.

How BPTT Works (Step-by-Step)

Step 1: Error at output

• Error computed at time t = 3

Step 2: Backpropagate to hidden state


𝛛𝑳𝒐𝒔𝒔
𝛛𝒉𝟑

Step 3: Propagate backward through time


• Error flows from:

h3 → h2 → h1
𝛛𝑳𝒐𝒔𝒔 𝛛𝑳𝒐𝒔𝒔
,
𝛛𝒉𝟐 𝛛𝒉𝟏

This is why it’s called “through time”.

Weight Updates

Gradients are calculated for:

• 𝑾𝒚

• 𝑾𝒉

• 𝑾𝒙

Using Gradient Descent:


𝛛𝑳𝒐𝒔𝒔
𝑾=𝑾−𝜼
𝛛𝑾

Where:

• 𝜼= learning rate

7. Problems with Basic RNNs

7.1 Vanishing Gradient Problem

• Gradients become very small

• Long-term dependencies are forgotten

7.2 Exploding Gradient Problem

• Gradients grow uncontrollably

• Training becomes unstable

Due to repeated multiplication of gradients.


8. Limitations of Basic RNN

1. Cannot learn long-term dependencies well

2. Slow training

3. Sensitive to gradient problems

4. Difficult to parallelize

5. Limited memory capacity

9. Improved RNN Variants

To solve RNN problems, advanced architectures were developed:

9.1 LSTM (Long Short-Term Memory)

• Uses gates to control memory

• Handles long-term dependencies

9.2 GRU (Gated Recurrent Unit)

• Simplified version of LSTM

• Faster and efficient

These are called gated RNNs.

10. Activation Functions in RNN

Commonly used:

• tanh → hidden state

• sigmoid → gates (in LSTM/GRU)

• softmax → output layer

11. Applications of RNN

RNNs are widely used in:


1. Natural Language Processing

o Language modeling

o Text generation

o Machine translation

2. Speech Recognition

3. Time Series Prediction

o Stock prices

o Weather forecasting

4. Sentiment Analysis

5. Handwriting Recognition

6. Chatbots

12. RNN vs Feed-Forward Neural Network

Feature Feed-Forward NN RNN

Memory ✔

Sequence handling ✔

Feedback loops ✔

Temporal modeling ✔

13. Advantages of RNN

1. Handles sequential data

2. Maintains temporal context

3. Flexible input length

4. Useful for NLP and time series

5. Conceptually simple
14. Disadvantages of RNN

1. Vanishing gradient problem

2. Poor long-term memory

3. Slow training

4. Difficult optimization

5. Replaced by LSTM/GRU in practice

6. Difference between Feed Forward Neural Network


(FFNN) and Recurrent Neural Network (RNN)
Feed Forward Neural Network
Aspect Recurrent Neural Network (RNN)
(FFNN)
A neural network in which A neural network that contains
information flows strictly in one feedback connections, allowing
Basic Definition
direction, from input layer to output
information to persist across time
layer. steps.
Unidirectional (Input → Hidden → Bidirectional in time due to recurrent
Data Flow Output). There are no loops in the (loop) connections. Output depends
network. on previous states.
RNN has memory in the form of
Memory FFNN has no memory. Each input is
hidden states that store past
Capability treated independently.
information.
Output depends on current input as
Dependency on Output depends only on the current
well as previous inputs through the
Past Inputs input. Past inputs have no effect.
hidden state.
Network Cyclic graph due to recurrent
Acyclic graph (no loops).
Structure connections.
Same weights are shared across
Different weights are used for each
Weight Usage time steps, reducing parameter
layer connection.
count.
Mathematical
𝑦 = 𝑓(𝑊𝑥 + 𝑏) ℎ𝑡 = 𝑓(𝑊𝑥𝑡 + 𝑈ℎ𝑡−1 + 𝑏)
Representation
Handling Cannot handle sequential or time- Specifically designed to handle
Sequential Data dependent data effectively. sequential and temporal data.
Learning Learns temporal patterns and
Learns static input–output mappings.
Capability dependencies in sequences.
Feed Forward Neural Network
Aspect Recurrent Neural Network (RNN)
(FFNN)
More complex to train using
Training Simple and fast to train using
Backpropagation Through Time
Complexity backpropagation.
(BPTT).
Does not suffer from vanishing or Suffers from vanishing and
Gradient Issues exploding gradients in time exploding gradient problems (basic
dimension. RNN).
Variants /
Multilayer Perceptron (MLP). LSTM, GRU, Bidirectional RNN.
Extensions
Speech recognition, language
Typical Image classification, spam detection,
modeling, machine translation, time-
Applications regression, pattern recognition.
series forecasting.
Generalization Good for fixed-size inputs with no
Ability temporal dependency.

1. What is the Vanishing Gradient Problem?

The vanishing gradient problem occurs when gradients become extremely small during
backpropagation, causing the neural network to stop learning long-term dependencies.

In RNNs, this problem is more severe because the same weights are used repeatedly
over many time steps.

Simple Definition (Exam-Friendly)

The vanishing gradient problem is a training issue where gradients shrink exponentially as
they are propagated backward through time, preventing RNNs from learning long-term
dependencies.

2. Why Does the Vanishing Gradient Occur in RNNs?

Key Reasons:

1. Repeated multiplication of weights

2. Activation functions with derivatives < 1

3. Long sequences (many time steps)

4. Intuitive Explanation (Easy to Remember)


Imagine passing a message through many people:

• Each person reduces the volume

• After many steps, the message becomes inaudible

Similarly:

• Gradients shrink at every time step

• Early layers receive almost zero learning signal

5. Effect on Learning in RNNs

Because of vanishing gradients:

1. Network cannot learn long-term dependencies

2. Only recent inputs influence output

3. Early time steps are ignored

4. Training becomes ineffective

Example:

Sentence:

“I grew up in France, so I speak fluent French.”

Basic RNN:

• Forgets “France”

• Cannot predict “French” correctly

Long-distance dependency is lost.

6. Vanishing vs Exploding Gradient (Short Comparison)

Feature Vanishing Gradient Exploding Gradient

Gradient size Very small Very large

Effect No learning Unstable training


Feature Vanishing Gradient Exploding Gradient

Cause Weights < 1 Weights > 1

Result Model forgets Model diverges

7. Why RNNs Are More Affected Than CNNs/FFNNs?

• Same weights reused at each time step

• Deep temporal unfolding

• Long multiplication chains

RNN depth = number of time steps

8. How to Detect Vanishing Gradient?

Symptoms:

• Training loss stops decreasing

• Model ignores early inputs

• Poor performance on long sequences

• Weights update very slowly

9. Solutions to the Vanishing Gradient Problem

9.1 Long Short-Term Memory (LSTM)

• Uses memory cell

• Has gates (input, forget, output)

• Allows gradient to flow unchanged

Most effective solution


9.2 Gated Recurrent Unit (GRU)

• Simplified LSTM

• Uses update & reset gates

• Faster and efficient

9.5 Proper Weight Initialization

• Initialize recurrent weights carefully

• Use orthogonal initialization

9.6 Shorter Sequences (Truncated BPTT)

• Backpropagate for limited time steps

• Reduces depth

11. Advantages of Understanding This Problem

1. Explains failure of basic RNNs

2. Motivates advanced architectures

3. Helps choose correct model

4. Improves training strategy

1. What is LSTM?

LSTM (Long Short-Term Memory) is a special type of Recurrent Neural Network (RNN)
designed to learn long-term dependencies in sequential data.

Key idea:
LSTM can remember important information for a long time and forget irrelevant
information.

LSTM was proposed by Hochreiter and Schmidhuber (1997) to solve the vanishing
gradient problem in standard RNNs.

Simple Definition (Exam-Friendly)


LSTM is a recurrent neural network architecture that uses memory cells and gating
mechanisms to control information flow and handle long-term dependencies effectively.

2. Why LSTM is Needed?

Problem with Basic RNN:

• Suffers from vanishing gradient problem

• Cannot remember information for long sequences

LSTM Solution:

• Introduces a memory cell

• Controls information using gates

This allows gradients to flow without vanishing.

3. Architecture of LSTM Cell

An LSTM cell contains:

1. Cell state (Cₜ) – long-term memory

2. Hidden state (hₜ) – short-term memory

3. Three gates:

o Forget gate

o Input gate

o Output gate

Diagram Concept (Textual)

Previous cell state (Cₜ₋₁)

Forget Gate


Input Gate

Update Cell State (Cₜ)

Output Gate

Hidden State (hₜ)

4. Components of LSTM in Detail

4.1 Cell State (Cₜ)

• Acts as a conveyor belt

• Stores long-term information

• Modified only by gates

This is the core reason LSTM avoids vanishing gradients.

4.2 Forget Gate

Purpose:

• Decides what information to discard from previous memory

Formula:

𝑓𝑡 = 𝜎(𝑊𝑓 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑓 )

• Output between 0 and 1

• 0 → forget completely

• 1 → keep completely

Example:
• Forget old topic in conversation

4.3 Input Gate

Purpose:

• Decides what new information to store

Two steps:

(a) Gate decision:

𝑖𝑡 = 𝜎(𝑊𝑖 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑖 )

(b) Candidate values:

𝐶̃𝑡 = tanh⁡(𝑊𝑐 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑐 )

4.4 Updating Cell State

𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶̃𝑡

Old memory is partially forgotten and new memory is added.

4.5 Output Gate

Purpose:

• Decides what part of memory to output

Formula:

𝑜𝑡 = 𝜎(𝑊𝑜 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑜 )
ℎ𝑡 = 𝑜𝑡 ∗ tanh⁡(𝐶𝑡 )

Hidden state represents current output.


5. How LSTM Solves Vanishing Gradient Problem

• Cell state allows constant error flow

• Gradients do not shrink rapidly

• Gates regulate learning

This enables learning long-term dependencies.

6. Example to Understand LSTM

Sentence:

“I lived in Germany for 10 years, so I speak fluent German.”

• Basic RNN forgets “Germany”

• LSTM remembers it using cell state

• Correctly predicts “German”

7. LSTM vs Basic RNN

Feature RNN LSTM

Memory Short-term Long-term

Vanishing gradient Yes No

Gates ✔

Complexity Low High

Performance Poor Better

9. Types of LSTM

1. Vanilla LSTM

2. Bidirectional LSTM

o Uses past + future context

3. Stacked (Deep) LSTM


o Multiple LSTM layers

10. Applications of LSTM

1. Natural Language Processing

o Language modeling

o Machine translation

2. Speech Recognition

3. Time Series Forecasting

4. Sentiment Analysis

5. Text Generation

6. Handwriting Recognition

11. Advantages of LSTM

1. Handles long-term dependencies

2. Avoids vanishing gradient

3. Works well with sequences

4. Flexible architecture

5. High accuracy in practice

12. Limitations of LSTM

1. Computationally expensive

2. Large number of parameters

3. Slower training

4. Hard to interpret

5. Replaced by Transformers in many tasks

Types of LSTM (Long Short-Term Memory)


LSTM networks can be organized in different architectural types depending on direction,
depth, and information flow.

1. Vanilla (Standard) LSTM

What it is

A single-layer, unidirectional LSTM that processes the sequence from past to future (left
→ right).

How it works

• Takes input 𝑥𝑡 at time t

• Uses previous hidden state ℎ𝑡−1 and cell state 𝐶𝑡−1

• Updates memory using forget, input, and output gates

• Produces output ℎ𝑡

Characteristics

• Uses only past context

• One LSTM layer

• Simplest LSTM architecture

Example

Sentence:

“I am feeling very happy today.”

• Prediction of happy depends on previous words only.

Applications

• Time series forecasting

• Basic language modeling

• Sequence classification

Advantages

• Simple and easy to implement


• Handles long-term dependencies

Limitations

• Cannot use future context

• Less powerful for complex language tasks

2. Bidirectional LSTM (BiLSTM)

What it is

A Bidirectional LSTM processes the sequence in both directions:

• Forward LSTM (left → right)

• Backward LSTM (right → left)

How it works

• Two LSTMs run in parallel

• Outputs are combined (concatenated or summed)

⃗⃗⃗𝑡 ; ⃖⃗⃗⃗
ℎ𝑡 = [ℎ ℎ𝑡 ]

Why it is needed

Some tasks require future context to understand the present word.

Example

Sentence:

“He went to the bank to deposit money.”

• Word bank is better understood when future words (deposit money) are known.

Applications

• Named Entity Recognition (NER)

• POS tagging

• Speech recognition

• NLP tasks needing full sentence context


Advantages

• Uses past + future information

• Higher accuracy than vanilla LSTM

Limitations

• More computation

• Cannot be used in real-time streaming (future data needed)

3. Stacked LSTM (Deep LSTM)

What it is

A Stacked LSTM consists of multiple LSTM layers placed on top of each other.

How it works

• Output of one LSTM layer becomes input to the next

• Learns hierarchical features

Input → LSTM Layer 1 → LSTM Layer 2 → Output

Why it is needed

• Single LSTM may not capture complex patterns

• Deeper networks learn high-level abstractions

Example

Text processing:

• Layer 1 → learns word-level patterns

• Layer 2 → learns phrase-level meaning

• Layer 3 → learns sentence-level context

Applications

• Machine translation

• Speech recognition

• Text generation
• Complex time-series modeling

Advantages

• Higher representational power

• Better performance on complex data

Limitations

• More parameters

• Risk of overfitting

• Slower training

1. What is GRU (Gated Recurrent Unit)?

A Gated Recurrent Unit (GRU) is a type of recurrent neural network (RNN) that was
introduced to solve the vanishing gradient problem while being simpler and more
computationally efficient than LSTM.

Core idea:
GRU controls information flow using gates, allowing it to remember long-term
dependencies without a separate memory cell.

GRU was proposed by Cho et al. (2014).

Exam-Friendly Definition

A GRU is an advanced recurrent neural network architecture that uses gating


mechanisms to regulate the flow of information and efficiently model long-term
dependencies in sequential data.

2. Why GRU Was Introduced?

Limitations of Simple RNN:

• Vanishing gradient problem

• Poor long-term memory

• Ineffective for long sequences

Limitations of LSTM:
• Too many gates

• Large number of parameters

• Slower training

GRU is a compromise:

• Performance close to LSTM

• Architecture simpler than LSTM

3. Core Components of GRU

GRU has only two gates:

1. Update Gate (zₜ)

2. Reset Gate (rₜ)

No separate cell state


✔ Hidden state itself stores memory

4. GRU Architecture (Conceptual View)

In GRU:

• Hidden state = Memory

• No separate cell state like LSTM

• Gates decide:

o How much past information to keep

o How much new information to add

This makes GRU simpler and faster.

5. Mathematical Formulation of GRU (Important)

Let:

• 𝒙𝒕 = input at time t
• 𝒉𝒕−𝟏 = previous hidden state

• 𝒉𝒕 = current hidden state

5.1 Reset Gate (rₜ)

Purpose:

• Controls how much past information to forget

Equation:

𝒓𝒕 = 𝝈(𝑾𝒓 𝒙𝒕 + 𝑼𝒓 𝒉𝒕−𝟏 + 𝒃𝒓 )

Interpretation:

• 𝒓𝒕 ≈ 𝟎→ ignore past

• 𝒓𝒕 ≈ 𝟏→ use past fully

Helps model short-term dependencies.

5.2 Update Gate (zₜ)

Purpose:

• Controls how much past information is retained

• Similar to forget + input gate combined

Equation:

𝒛𝒕 = 𝝈(𝑾𝒛 𝒙𝒕 + 𝑼𝒛 𝒉𝒕−𝟏 + 𝒃𝒛 )

Interpretation:

• 𝒛𝒕 ≈ 𝟏→ keep old memory

• 𝒛𝒕 ≈ 𝟎→ replace with new memory

This gate enables long-term memory retention.


̃𝒕)
5.3 Candidate Hidden State (𝒉

Purpose:

• Creates new candidate memory

Equation:
̃ 𝒕 = 𝐭𝐚𝐧𝐡⁡(𝑾𝒉 𝒙𝒕 + 𝑼𝒉 (𝒓𝒕 ⊙ 𝒉𝒕−𝟏 ) + 𝒃𝒉 )
𝒉

Reset gate decides how much past state contributes.

5.4 Final Hidden State (hₜ)

Equation:
̃𝒕
𝒉𝒕 = (𝟏 − 𝒛𝒕 ) ⊙ 𝒉𝒕−𝟏 + 𝒛𝒕 ⊙ 𝒉

Meaning:

• Combines:

o Old memory

o New candidate memory

• Update gate balances both

This equation is the heart of GRU.

6. How GRU Solves Vanishing Gradient Problem

• Update gate allows direct gradient flow

• Gradients are not repeatedly multiplied

• Hidden state carries memory smoothly

Similar benefit as LSTM, but with fewer gates.

7. GRU vs LSTM (Theoretical Comparison)


Feature GRU LSTM

Gates 2 3

Cell state ✔

Hidden state Memory + output Output only

Parameters Fewer More

Training speed Faster Slower

Performance Comparable Slightly better sometimes

GRU is lighter and faster, LSTM is more expressive.

8. Intuitive Explanation (Easy to Remember)

Think of GRU as a smart memory filter:

• Reset gate → Should I forget the past?

• Update gate → Should I update memory or keep it?

Only two decisions → simpler brain.

9. Advantages of GRU (Theory)

1. Handles long-term dependencies

2. Fewer parameters than LSTM

3. Faster convergence

4. Less overfitting

5. Easier to implement

10. Limitations of GRU

1. Slightly less expressive than LSTM

2. No explicit long-term cell state


3. Performance may drop on very long sequences

4. Less control over memory compared to LSTM

11. Applications of GRU

1. Natural Language Processing

o Text classification

o Language modeling

2. Speech recognition

3. Time-series forecasting

4. Sentiment analysis

5. Sequence prediction tasks

1. What is a Bidirectional RNN?

A Bidirectional Recurrent Neural Network (BiRNN) is an extension of a standard RNN


that processes a sequence in both directions:

• Forward RNN: left → right (past → present)

• Backward RNN: right → left (future → present)

Key idea:
The output at any time step depends on both past and future context.

Exam-Friendly Definition

A Bidirectional RNN is a recurrent neural network architecture that consists of two RNNs
running in opposite directions, enabling the model to capture information from previous
and subsequent elements in a sequence.

2. Why Bidirectional RNN is Needed?

Limitation of Unidirectional RNN

• Uses only past context


• Cannot see future words

Problem Example

Sentence:

“He went to the bank to deposit money.”

• Meaning of bank becomes clear only after reading deposit money

• A normal RNN cannot use this future information

BiRNN solves this by using full context.

3. Architecture of Bidirectional RNN

A BiRNN has two separate RNN layers:

1. Forward hidden state ⃗⃗⃗


ℎ𝑡

2. Backward hidden state ⃖⃗⃗⃗


ℎ𝑡

Both are computed independently and then combined.


4. Mathematical Formulation

Let:
• 𝑥𝑡 = input at time step t

Forward RNN

⃗⃗⃗
ℎ𝑡 = 𝑓(𝑊𝑓 𝑥𝑡 + 𝑈𝑓 ⃗⃗⃗⃗⃗⃗⃗⃗
ℎ𝑡−1 + 𝑏𝑓 )

Backward RNN

⃖⃗⃗⃗
ℎ𝑡 = 𝑓(𝑊𝑏 𝑥𝑡 + 𝑈𝑏 ⃖⃗⃗⃗⃗⃗⃗⃗⃗
ℎ𝑡+1 + 𝑏𝑏 )

Final Output Representation

⃗⃗⃗𝑡 ; ⃖⃗⃗⃗
ℎ𝑡 = [ℎ ℎ𝑡 ]

(concatenation or sum)

This vector contains past + future information.

5. How Bidirectional RNN Works (Step-by-Step)

1. Input sequence is fed to forward RNN

2. Same sequence (reversed) is fed to backward RNN

3. Both produce hidden states at each time step

4. Hidden states are merged

5. Final output is generated

6. Types of Bidirectional RNNs

6.1 Bidirectional Simple RNN

• Uses basic RNN units

• Suffers from vanishing gradients

6.2 Bidirectional LSTM (BiLSTM)


• Uses LSTM cells in both directions

• Handles long-term dependencies

• Most commonly used in NLP

6.3 Bidirectional GRU (BiGRU)

• Uses GRU units

• Faster and lighter than BiLSTM

7. Example to Understand BiRNN

Sentence:

“The movie was not good.”

• Forward context alone may misinterpret good

• Backward context includes not

• BiRNN correctly captures negative sentiment

This improves accuracy in language tasks.

8. Applications of Bidirectional RNN

1. Named Entity Recognition (NER)

2. Part-of-Speech (POS) Tagging

3. Speech Recognition

4. Sentiment Analysis

5. Machine Translation (Encoder side)

6. Question Answering

7. Text Classification

9. Advantages of Bidirectional RNN


1. Uses complete context

2. Improves accuracy in NLP tasks

3. Better handling of ambiguity

4. Effective for sequence labeling

5. Works well with LSTM/GRU units

10. Limitations of Bidirectional RNN

1. Cannot be used in real-time streaming

o Needs future data

2. Higher computational cost

3. More memory usage

4. Slower training

5. Not suitable for online prediction

Chapter 5
What is a Restricted Boltzmann Machine?

A Restricted Boltzmann Machine (RBM) is a generative stochastic neural network used


for:

• Feature learning

• Dimensionality reduction

• Unsupervised learning

It belongs to the family of energy-based models.

Exam-friendly definition

A Restricted Boltzmann Machine is a two-layer neural network consisting of a visible


layer and a hidden layer, with no connections within a layer, used to learn probability
distributions over input data.
2. Why is it called “Restricted”?

In a Boltzmann Machine, connections exist:

• Visible ↔ Visible

• Hidden ↔ Hidden

• Visible ↔ Hidden

In an RBM, connections are restricted:

✔ Visible → Hidden
✔ Hidden → Visible
No Visible → Visible
No Hidden → Hidden

This restriction makes training computationally efficient.

3. Architecture of RBM

An RBM has two layers:

3.1 Visible Layer (V)

• Represents input data

• Each node = one feature

• Example: pixels of an image

3.2 Hidden Layer (H)

• Learns latent features

• Captures patterns and dependencies

• Not directly observable

3.3 Connections
• Fully connected between layers

• No connections within layers

• Forms a bipartite graph

4. RBM Diagram Explanation

From the diagram:

• Bottom layer → Visible units (v₁, v₂, v₃, …)

• Top layer → Hidden units (h₁, h₂, h₃, …)

• Edges → Weights (wᵢⱼ)

• No horizontal edges within a layer

This structure allows parallel computation.

5. Mathematical Representation

5.1 Energy Function

RBM assigns an energy to every configuration of visible and hidden units.

𝐸(𝑣, ℎ) = − ∑ 𝑎𝑖 𝑣𝑖 − ∑ 𝑏𝑗 ℎ𝑗 − ∑ 𝑣𝑖 𝑤𝑖𝑗 ℎ𝑗
𝑖 𝑗 𝑖,𝑗

Where:

• 𝑣𝑖 → visible units

• ℎ𝑗 → hidden units

• 𝑤𝑖𝑗 → weights

• 𝑎𝑖 , 𝑏𝑗 → biases

Lower energy → higher probability.


5.2 Probability Distribution

𝑒 −𝐸(𝑣,ℎ)
𝑃(𝑣, ℎ) =
𝑍

Where:

• 𝑍= partition function (normalization constant)

6. Working of RBM (Step-by-Step)

Step 1: Input to Visible Layer

• Training data is given to visible units

Step 2: Forward Pass (Visible → Hidden)

• Hidden units activated based on visible units

• Uses probability function (sigmoid)

𝑃(ℎ𝑗 = 1 ∣ 𝑣) = 𝜎(𝑏𝑗 + ∑𝑖 𝑣𝑖 𝑤𝑖𝑗 )

Step 3: Reconstruction (Hidden → Visible)

• Visible units are reconstructed from hidden units

𝑃(𝑣𝑖 = 1 ∣ ℎ) = 𝜎 (𝑎𝑖 + ∑ ℎ𝑗 𝑤𝑖𝑗 )


𝑗

Step 4: Learning

• Compare original input with reconstructed input

• Update weights to minimize reconstruction error


7. Training RBM – Contrastive Divergence (CD)

What is Contrastive Divergence?

Contrastive Divergence (CD) is an efficient algorithm to train RBMs.

CD-k Algorithm (Commonly CD-1)

1. Sample hidden units from input

2. Reconstruct visible units

3. Sample hidden units again

4. Update weights

CD reduces computational complexity drastically.

8. Why RBM is Important?

RBMs can:

• Learn features automatically

• Model complex distributions

• Work without labeled data

9. RBM as a Generative Model

RBM can:

• Generate new data samples

• Reconstruct noisy data

• Learn probability distributions

Example:

• Generate handwritten digits (MNIST)


10. RBM and Deep Learning

RBMs are building blocks of Deep Belief Networks (DBNs).

Multiple RBMs stacked layer-wise → DBN

11. Types of RBM

11.1 Binary RBM

• Binary visible & hidden units

• Most common type

11.2 Gaussian RBM

• Continuous visible units

• Used for real-valued data

11.3 Conditional RBM

• Used for time-series data

12. Applications of RBM

1. Feature learning

2. Dimensionality reduction

3. Image recognition

4. Recommendation systems

5. Collaborative filtering

6. Pretraining deep networks


13. Advantages of RBM

1. Simple architecture

2. Efficient training

3. Unsupervised learning

4. Parallel computation

5. Strong feature extraction

14. Limitations of RBM

1. Difficult to scale to very deep models

2. Training instability

3. Partition function hard to compute

4. Mostly replaced by autoencoders & transformers

Generative Adversarial Network (GAN)


1. What is a GAN?

A Generative Adversarial Network (GAN) is a deep learning framework used to generate


new data samples that are indistinguishable from real data.

Core idea: Two neural networks—Generator and Discriminator—are trained together


in competition.

Exam-friendly definition

A GAN is a generative model consisting of a Generator that creates synthetic data and a
Discriminator that distinguishes real data from fake data, trained simultaneously in an
adversarial manner.
2. Why GAN is Needed?

Traditional generative models:

• Struggle with complex data distributions

• Produce blurry outputs

GANs:

• Generate highly realistic images, audio, and text

• Learn data distribution without explicit probability modeling

3. Components of GAN

3.1 Generator (G)

• Input: Random noise (z)

• Output: Fake data sample

• Goal: Fool the Discriminator

3.2 Discriminator (D)

• Input: Real or Fake data

• Output: Probability (real vs fake)

• Goal: Correctly classify data

4. Working of GAN (Step-by-Step)

1. Noise Input: Random noise vector 𝑧is given to Generator

2. Fake Data: Generator produces synthetic data 𝐺(𝑧)

3. Discrimination: Discriminator evaluates:

o Real data → label 1

o Fake data → label 0

4. Loss Computation:

o Discriminator learns to improve classification


o Generator learns to fool Discriminator

5. Adversarial Training: Both models improve iteratively

Training continues until fake data looks real.

5. Mathematical Objective (Minimax Game)

GAN training is formulated as a minimax optimization:

min⁡ max⁡ 𝑉(𝐷, 𝐺) = 𝔼𝑥∼𝑝𝑑𝑎𝑡𝑎 [log⁡ 𝐷(𝑥)] + 𝔼𝑧∼𝑝𝑧 [log⁡(1 − 𝐷(𝐺(𝑧)))]


𝐺 𝐷

• D maximizes correct classification

• G minimizes detection (tries to fool D)

6. Intuitive Analogy (Exam Tip)

• Generator = Counterfeit money maker

• Discriminator = Police officer

• Over time:

o Counterfeits become realistic

o Police becomes better

• End state: Counterfeits indistinguishable from real

7. Types of GANs (Brief)

• DCGAN – CNN-based GAN for images

• CGAN – Conditional GAN (controlled generation)

• CycleGAN – Image-to-image translation

• WGAN – Stable training using Wasserstein loss

8. Applications of GAN
1. Image generation (faces, art)

2. Image super-resolution

3. Style transfer

4. Data augmentation

5. Medical image synthesis

6. Video & game content creation

9. Advantages of GAN

1. Produces high-quality realistic data

2. No need for labeled data

3. Powerful generative capability

4. Learns complex data distributions

10. Limitations of GAN

1. Training instability

2. Mode collapse (limited diversity)

3. Difficult convergence

4. Sensitive to hyperparameters

1. What is Gibbs Sampling?

Gibbs Sampling is a Markov Chain Monte Carlo (MCMC) algorithm used to generate
samples from a complex multivariate probability distribution when direct sampling is
difficult.

Core idea:
Sample one variable at a time from its conditional distribution, keeping all other
variables fixed.

Exam-friendly definition
Gibbs sampling is an MCMC technique in which samples are drawn iteratively from the
conditional distributions of each variable, eventually converging to the joint probability
distribution.

2. Why Gibbs Sampling is Needed?

In many probabilistic models:

• Joint distribution 𝑃(𝑥1 , 𝑥2 , … , 𝑥𝑛 )is hard to sample from

• Conditional distributions 𝑃(𝑥𝑖 ∣ 𝑥−𝑖 )are easy to compute

Gibbs sampling exploits this property.

3. Gibbs Sampling and MCMC

Gibbs sampling belongs to the MCMC family, meaning:

• It constructs a Markov chain

• The chain’s stationary distribution is the target joint distribution

After many iterations, samples are drawn from the desired distribution.

4. Basic Idea (Intuition)

Suppose we have two random variables:

𝑋 and 𝑌

We want to sample from:

𝑃(𝑋, 𝑌)

But we only know:

• 𝑃(𝑋 ∣ 𝑌)

• 𝑃(𝑌 ∣ 𝑋)

Gibbs sampling alternates between these two conditionals.


5. Gibbs Sampling Algorithm (Step-by-Step)

Assume variables:

𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )

Step 1: Initialization

Choose an initial value:


(0) (0) (0)
𝑥 (0) = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )

Step 2: Iterative Sampling

At iteration 𝑡, update each variable one by one:

(𝑡) (𝑡 −1) (𝑡−1)


𝑥1 ∼ 𝑃(𝑥1 ∣ 𝑥2 , … , 𝑥𝑛 )
(𝑡) (𝑡) (𝑡 −1) (𝑡 −1)
𝑥2 ∼ 𝑃(𝑥2 ∣ 𝑥1 , 𝑥3 , … , 𝑥𝑛 )

(𝑡) (𝑡) (𝑡)
𝑥𝑛 ∼ 𝑃(𝑥𝑛 ∣ 𝑥1 , … , 𝑥𝑛−1 )

Step 3: Repeat

• Repeat for many iterations

• Discard initial samples (burn-in period)

• Remaining samples approximate the joint distribution

9. Burn-in and Convergence

Burn-in Period

• Initial samples depend on starting values

• These are discarded


Convergence

• After burn-in, samples are considered valid

• Chain reaches stationary distribution

12. Applications of Gibbs Sampling

1. Bayesian inference

2. Topic modeling (LDA)

3. Hidden Markov Models

4. Restricted Boltzmann Machines

5. Image denoising

6. Statistical physics

13. Advantages of Gibbs Sampling

1. Simple to implement

2. No rejection step

3. Efficient for high-dimensional problems

4. Uses only conditional distributions

14. Limitations of Gibbs Sampling

1. Requires conditional distributions

2. Slow convergence for correlated variables

3. Not suitable if conditionals are hard to sample

4. Can get stuck in local regions

Applications of Deep Learning

1. Deep Learning in Object Detection

What is Object Detection?


Object detection involves identifying objects in an image or video and locating them
using bounding boxes, along with assigning class labels.

Role of Deep Learning

Deep learning models, especially Convolutional Neural Networks (CNNs), automatically


learn hierarchical visual features such as edges, textures, shapes, and object parts.

Popular Deep Learning Models

• R-CNN, Fast R-CNN, Faster R-CNN

• YOLO (You Only Look Once)

• SSD (Single Shot Detector)

Applications

• Autonomous vehicles (pedestrian, traffic sign detection)

• Surveillance systems

• Face detection

• Robotics and industrial automation

Advantages

• High accuracy

• Real-time detection possible

• Robust to complex backgrounds

2. Deep Learning in Speech Recognition

What is Speech Recognition?

Speech recognition converts spoken language into text, also known as Automatic
Speech Recognition (ASR).

Role of Deep Learning

Deep learning models such as RNNs, LSTMs, GRUs, and Transformers capture temporal
dependencies in speech signals.

Working Concept
• Audio signals are converted into features (MFCCs, spectrograms)

• Sequential models process time-dependent data

• Language models improve prediction accuracy

Applications

• Voice assistants (Alexa, Siri, Google Assistant)

• Voice-controlled systems

• Call-center automation

• Dictation software

Benefits

• High accuracy

• Handles accents and noise better than traditional methods

3. Deep Learning in Image Recognition

What is Image Recognition?

Image recognition is the task of identifying objects or patterns in digital images.

Role of Deep Learning

CNNs automatically extract features without manual engineering, making them highly
effective for image tasks.

Applications

• Face recognition systems

• Biometric authentication

• Object classification

• Social media image tagging

Advantages

• Learns complex visual patterns

• Outperforms traditional computer vision methods


4. Deep Learning in Video Analysis

What is Video Analysis?

Video analysis involves understanding spatio-temporal information from video


sequences.

Role of Deep Learning

• CNNs extract spatial features from frames

• RNNs / LSTMs capture temporal motion patterns

Applications

• Activity recognition

• Video surveillance

• Traffic monitoring

• Sports analytics

Benefits

• Automated behavior analysis

• Real-time video understanding

5. Deep Learning in Natural Language Processing (NLP)

What is NLP?

NLP enables machines to understand, interpret, and generate human language.

Role of Deep Learning

Deep learning models such as RNNs, LSTMs, GRUs, and Transformers learn contextual
word representations.

Applications

• Machine translation

• Chatbots and virtual assistants

• Sentiment analysis
• Text summarization

• Question answering systems

Advantages

• Captures context and semantics

• Handles ambiguity better than rule-based systems

6. Deep Learning in Medical Science

Importance in Healthcare

Deep learning assists doctors by providing accurate, fast, and data-driven diagnosis.

Applications

• Medical image analysis (X-ray, MRI, CT scans)

• Disease detection (cancer, tumors)

• Drug discovery

• Patient risk prediction

• Personalized treatment planning

Benefits

• Early disease detection

• Reduces human error

• Supports clinical decision making

7. Deep Learning in Autonomous Systems

Applications

• Self-driving cars

• Drones

• Intelligent robots

Role of Deep Learning


Combines object detection, image recognition, and decision making.

8. Deep Learning in Recommendation Systems

Applications

• Netflix movie recommendations

• Amazon product suggestions

• YouTube video recommendations

Benefit

• Personalized user experience

• Increased engagement

9. Deep Learning in Security and Surveillance

Applications

• Face recognition

• Intrusion detection

• Fraud detection

Advantage

• High accuracy

• Real-time threat detection

10. Deep Learning in Finance and Banking

Applications

• Fraud detection

• Credit scoring

• Algorithmic trading

Benefits
• Detects complex patterns

• Improves financial security

Lstm

Grn
Rbm

You might also like