DEEP LEARNING LESSON 6 BACKPROPAGATION

Why Do We Need Backpropagation?

A neural network needs backpropagation because knowing that a prediction is wrong is not enough. The network also needs to know how its weights should change to make a better prediction.

In simple words

The loss function tells the neural network "You made a mistake."

Backpropagation helps answer the next question: "Which weights caused the mistake, and how should they change?"

Loss Alone Is Not Enough

In the previous lesson, we learned that a loss function measures how different the prediction is from the correct answer.

Actual
   ↓
Prediction
   ↓
Loss
   ↓
"How wrong is the model?"

Suppose a model produces a large loss.

Loss = 2.5

We now know the model is making a significant error. But this number does not tell us which weight should change.

Loss = 2.5

But...

Which weight should change?
How much should it change?
Should it increase or decrease?

This is the problem backpropagation helps solve.

A Simple Example

Imagine a neural network predicting whether a student will pass an exam.

The input is:

Hours Studied = 5

The correct answer is:

Actual = 1

1 = Pass

But the model predicts:

Prediction = 0.20

The model is only giving a 20% probability of passing. The prediction is poor.

Actual = 1
Prediction = 0.20

        ↓

Calculate Loss

        ↓

Large Loss

Now We Have a Problem

Imagine the network has several weights:

Weight 1
Weight 2
Weight 3
Weight 4
Weight 5

The model produced a bad prediction, but which weight should we change?

Loss is large

        ↓

Weight 1?
Weight 2?
Weight 3?
Weight 4?
Weight 5?

And even if we know which weights matter, we still need to know whether each weight should increase or decrease, and by how much.

What If We Did Not Have Backpropagation?

One possible approach would be to randomly change weights and see whether the prediction improves.

Change Weight 1
      ↓
Train
      ↓
Check Loss

Change Weight 2
      ↓
Train
      ↓
Check Loss

Change Weight 3
      ↓
Train
      ↓
Check Loss

This becomes extremely inefficient when a neural network contains thousands or millions of weights.

A modern neural network can have an enormous number of parameters. Trying random changes one by one would be impractical.

Backpropagation Provides the Solution

Instead of randomly changing weights, backpropagation calculates how the loss changes with respect to the network's weights.

Prediction
     ↓
Calculate Loss
     ↓
Backpropagation
     ↓
Calculate Gradients
     ↓
Know How Each Weight Affects Loss
     ↓
Update Weights

This gives the optimizer useful information about how the network should learn.

What Information Does It Calculate?

Backpropagation calculates gradients.

A gradient tells us how sensitive the loss is to a particular weight.

Change a Weight
      ↓
How does the Loss change?

For example:

Weight 1 → Large effect on loss
Weight 2 → Small effect on loss
Weight 3 → Medium effect on loss

This information helps determine which weights need more adjustment.

It Also Gives Direction

We don't only need to know how strongly a weight affects the loss. We also need to know which direction would reduce the loss.

Gradient
   ↓
Should the weight increase?
   or
Should the weight decrease?

For example:

Gradient > 0
    ↓
Weight generally needs to move downward
to reduce the loss.


Gradient < 0
    ↓
Weight generally needs to move upward
to reduce the loss.

The exact update is controlled by the optimizer and learning rate, which we will study later.

A Simple Weight Example

Imagine a very small network with one weight:

Input = 5
Weight = 0.2

The network calculates:

5 × 0.2 = 1

Suppose the correct answer is:

Target = 2

The prediction is too small:

Prediction = 1
Target = 2

We need the weight to change so the prediction can move closer to 2.

Weight = 0.2
       ↓
Prediction = 1
       ↓
Error
       ↓
Backpropagation
       ↓
Gradient
       ↓
Weight should change

Loss Tells You the Problem, Not the Solution

This is the most important idea in this topic.

Loss
 ↓
"This prediction is wrong."

But it does NOT directly tell us:

"Change Weight 1 by this amount."
"Change Weight 2 by this amount."
"Change Weight 3 in the opposite direction."

Backpropagation provides the gradient information needed to determine those changes.

Why Is This Especially Important in Deep Networks?

A deep neural network can contain many layers.

Input
  ↓
Hidden Layer 1
  ↓
Hidden Layer 2
  ↓
Hidden Layer 3
  ↓
Output
  ↓
Loss

The final prediction depends on weights throughout all of these layers.

If the prediction is wrong, the network needs to determine how weights in earlier layers contributed to that error.

Loss
 ↓
Output Layer
 ↓
Hidden Layer 3
 ↓
Hidden Layer 2
 ↓
Hidden Layer 1
 ↓
Earlier Weights

Backpropagation makes this possible by propagating the gradient information backward through the network.

Real-Life Example

Imagine you are learning to throw a ball into a basket.

You throw the ball and it goes too far to the right.

Throw
  ↓
Missed Basket
  ↓
Error

Simply knowing that you missed is not enough.

You need useful feedback:

Release angle was too high
        ↓
Reduce the angle


Throwing force was too strong
        ↓
Reduce the force

You use that information to improve your next throw.

Miss
 ↓
Understand what caused the miss
 ↓
Adjust technique
 ↓
Try again
 ↓
Better result

Backpropagation provides a similar kind of mathematical feedback to a neural network.

Backpropagation Inside the Learning Loop

          TRAINING LOOP

Input Data
    ↓
Forward Propagation
    ↓
Prediction
    ↓
Calculate Loss
    ↓
Backpropagation
    ↓
Calculate Gradients
    ↓
Update Weights
    ↓
Repeat

This process happens again and again during training.

Without vs With Backpropagation

WITHOUT BACKPROPAGATION

Prediction
    ↓
Loss
    ↓
"I am wrong."

But:
Which weight?
How much?
Which direction?

        ↓

Very difficult to learn
efficiently.
WITH BACKPROPAGATION

Prediction
    ↓
Loss
    ↓
Backpropagation
    ↓
Gradients
    ↓
How weights affect loss
    ↓
Update weights
    ↓
Better prediction

Backpropagation Is Not the Optimizer

Beginners often mix these two concepts together. They are connected but different.

Backpropagation
        ↓
Calculates gradients
        ↓
"How should each weight move?"


Optimizer
        ↓
Uses gradients
        ↓
"Apply the weight update."

For example, gradient descent uses the gradient to update the weight.

New Weight
=
Old Weight
-
Learning Rate × Gradient

We will study weight updates separately.

Why Is Backpropagation Efficient?

A neural network may have a huge number of weights. Backpropagation calculates the required gradients systematically using the chain rule.

Many Weights
    ↓
One Loss
    ↓
Backpropagation
    ↓
Gradients for Many Weights
    ↓
Efficient Weight Updates

This is much more practical than trying random changes to every weight.

Complete Example

Imagine a network predicting whether a customer will purchase a product.

Input:
Previous purchases
Time on website
Number of visits

        ↓

Neural Network

        ↓

Prediction = 0.30

        ↓

Actual = 1

        ↓

Calculate Loss

        ↓

Large Loss

The network now needs to learn from this mistake.

Large Loss
     ↓
Backpropagation
     ↓
Calculate gradients
     ↓
Determine how weights affected loss
     ↓
Optimizer updates weights
     ↓
Train again

After many training steps, the network may produce:

Prediction = 0.30
       ↓
Prediction = 0.55
       ↓
Prediction = 0.75
       ↓
Prediction = 0.90

The exact improvement depends on the data, model, optimizer, learning rate, and other training settings. The important idea is that the network uses its errors to improve its weights.

The Key Idea

A loss function tells the network how wrong its prediction is. Backpropagation provides the gradient information needed to determine how the weights contributed to that error.

Loss
 ↓
"How wrong am I?"


Backpropagation
 ↓
"How did the weights contribute
to that error?"


Optimizer
 ↓
"How should I update the weights?"

Remember This

Loss alone:

"This prediction is wrong."


Backpropagation:

"Here is how the loss changes
with respect to the weights."


Optimizer:

"Use that information to
update the weights."
QUICK CHECK

Check Your Understanding

Why isn't the loss value enough?
Loss tells us how wrong the prediction is, but it doesn't directly tell us how each weight should change.

What does backpropagation calculate?
It calculates gradients that describe how the loss changes with respect to the network's weights.

Why do we need gradients?
They provide information about the direction and sensitivity needed to adjust the weights.

Does backpropagation update the weights itself?
No. Backpropagation calculates gradients. An optimizer uses those gradients to update the weights.

Why is this important for deep networks?
Deep networks can contain many layers and huge numbers of weights. Backpropagation provides an efficient way to calculate how those weights contributed to the loss.

NEXT TOPIC

Forward Pass vs Backward Pass

Next, we will compare the two directions of neural-network training: how information moves forward to make a prediction and how gradient information moves backward to improve the network.