(рдмреИрдХрдкреНрд░реЛрдкреЗрдЧреЗрд╢рди рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛)
1. Introduction (рдкрд░рд┐рдЪрдп)
Backpropagation = тАЬBackwards propagation of errorsтАЭ
рдпрд╣ рдПрдХ algorithm рд╣реИ рдЬреЛ Neural Network рдХреЗ weights рдХреЛ loss function рдХреЗ рдЖрдзрд╛рд░ рдкрд░ update рдХрд░рддрд╛ рд╣реИред
2. Training рдХрд╛ рдкреВрд░рд╛ Flow
- Forward Pass:
Input тЖТ Hidden тЖТ Output
(Prediction generate рд╣реЛрддрд╛ рд╣реИ) - Loss Calculation:
Prediction рдФрд░ Ground Truth рдХреЗ рдмреАрдЪ Loss рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ - Backward Pass (Backpropagation):
Loss рдХрд╛ Gradient calculate рд╣реЛрддрд╛ рд╣реИ рд╣рд░ weight рдХреЗ рд▓рд┐рдП - Weight Update (Optimizer):
Gradient Descent рджреНрд╡рд╛рд░рд╛ Weights рдХреЛ update рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - Repeat for Epochs:
рдЬрдм рддрдХ model рд╕рдЯреАрдХ prediction рди рдХрд░рдиреЗ рд▓рдЧреЗ
3. Backpropagation: рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
Backpropagation рдПрдХ mathematical tool рд╣реИ рдЬреЛ Chain Rule of Calculus рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

рдЬрд╣рд╛рдБ:
- L: Loss
- y: Prediction
- z: Neuron input
- w: Weight
Visual Diagram (Flowchart):
Input тЖТ Hidden тЖТ Output тЖТ Loss
тЖС
Backpropagate Gradient
тЖУ
Update Weights (via Optimizer)
PyTorch рдореЗрдВ Training Code (Simple)
import torch
import torch.nn as nn
import torch.optim as optim
# Simple Model
model = nn.Linear(1, 1)
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Training Data
x = torch.tensor([[1.0], [2.0]])
y = torch.tensor([[2.0], [4.0]])
# Training Loop
for epoch in range(10):
outputs = model(x) # Forward
loss = criterion(outputs, y) # Compute Loss
optimizer.zero_grad() # Clear gradients
loss.backward() # Backpropagation
optimizer.step() # Update weights
print(f"Epoch {epoch+1}, Loss: {loss.item():.4f}")
Important Terms Recap
Term | Explanation |
---|---|
Forward Pass | Prediction рдмрдирд╛рдирд╛ |
Loss | рдЧрд▓рддреА рдорд╛рдкрдирд╛ |
Backward Pass | Gradient рдирд┐рдХрд╛рд▓рдирд╛ |
Optimizer | Weight update рдХрд░рдирд╛ |
Epoch | Dataset рдкрд░ рдПрдХ complete pass |
Learning Objectives Summary
- Backpropagation рд╕реАрдЦрдиреЗ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ
- рдпрд╣ Loss function рдХреЗ gradient рдХреЗ рдЖрдзрд╛рд░ рдкрд░ weights рдХреЛ рд╕реБрдзрд╛рд░рддрд╛ рд╣реИ
- Optimizer gradient рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ model рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИ
- рдкреВрд░рд╛ training loop PyTorch рдореЗрдВ automate рд╣реЛрддрд╛ рд╣реИ
рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Practice Questions)
- Backpropagation рдХрд┐рд╕ rule рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ?
- Forward Pass рдФрд░ Backward Pass рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
- Loss.backward() рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?
- Optimizer.zero_grad() рдХреНрдпреЛрдВ рдЬрд╝рд░реВрд░реА рд╣реИ?
- рдПрдХ training loop рдХреЗ рдЪрд╛рд░ рдореБрдЦреНрдп steps рдХреНрдпрд╛ рд╣реЛрддреЗ рд╣реИрдВ?
Forward Pass and Loss Calculation
(рдлрд╝реЙрд░рд╡рд░реНрдб рдкрд╛рд╕ рдФрд░ рд▓реЙрд╕ рдХреА рдЧрдгрдирд╛)
1. Forward Pass (рдЗрдирдкреБрдЯ рд╕реЗ рдЖрдЙрдкрдЯ рддрдХ рдХреА рдпрд╛рддреНрд░рд╛)
Forward Pass рд╡рд╣ рдЪрд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ neural network рдХрд┐рд╕реА рдЗрдирдкреБрдЯ рдХреЛ рд▓реЗрдХрд░ рдЙрд╕реЗ рд╡рд┐рднрд┐рдиреНрди layers рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрдВрддрд┐рдо output (prediction) рдЙрддреНрдкрдиреНрди рд╣реЛред
Step-by-Step Process:
- Input Vector (x) network рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
- Each Layer:
- Performs a linear transformation

Applies an activation function

- Final output layer рджреЗрддрд╛ рд╣реИ prediction y^
Neural Network Flow:
scssCopyEditInput тЖТ Hidden Layer 1 тЖТ Hidden Layer 2 тЖТ ... тЖТ Output Layer тЖТ Prediction
- Linear + Activation sequence рд╣рд░ layer рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ
- Output layer рдХреА activation function task рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ (рдЬреИрд╕реЗ classification рдХреЗ рд▓рд┐рдП softmax рдпрд╛ sigmoid)
Forward Pass рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп:
- Input features рдХреЛ progressively abstract рдХрд░рдирд╛
- Neural network рдХреЗ current weights рд╕реЗ output generate рдХрд░рдирд╛
- рдЗрд╕ output рдХреЛ рдЕрд╕рд▓реА label рд╕реЗ compare рдХрд░ рдкрд╛рдиреЗ рд▓рд╛рдпрдХ рдмрдирд╛рдирд╛
2. Loss Calculation (Prediction рдХреА рдЧрд╝рд▓рддреА рдорд╛рдкрдирд╛)
Once prediction (y^тАЛ) is ready, it is compared to the true label (y) using a Loss Function.
Loss function рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ prediction рдХрд┐рддрдирд╛ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд╣реИред
Common Loss Functions:

Loss Calculation рдХрд╛ Flow:
- Prediction (y^тАЛ) compute рдХрд░реЛ
- Ground truth label yрд╕реЗ compare рдХрд░реЛ
- Error calculate рдХрд░реЛ using loss function
- рдпрд╣реА error backpropagation рдореЗрдВ propagate рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
PyTorch Example: Loss and Prediction
import torch
import torch.nn as nn
# Input and True label
x = torch.tensor([[1.0, 2.0]])
y_true = torch.tensor([[0.0]])
# Define simple model
model = nn.Sequential(
nn.Linear(2, 3),
nn.ReLU(),
nn.Linear(3, 1),
nn.Sigmoid()
)
# Loss function
criterion = nn.BCELoss()
# Forward Pass
y_pred = model(x)
# Loss Calculation
loss = criterion(y_pred, y_true)
print("Prediction:", y_pred.item())
print("Loss:", loss.item())
Complete Diagram Flow:
Input тЖТ Hidden тЖТ Output тЖТ Loss
тЖС
Backpropagate Gradient
тЖУ
Update Weights (via Optimizer)
рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ forward pass prediction рдХрд░рддрд╛ рд╣реИ, рдФрд░ loss function рдЙрд╕ prediction рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред
Summary Table
Step | Description |
---|---|
Forward Pass | Input рдХреЛ through layers рднреЗрдЬрдирд╛ |
Output | Prediction generate рдХрд░рдирд╛ |
Loss Calculation | Prediction рдФрд░ label рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдорд╛рдкрдирд╛ |
Next Step | Loss рдХреЛ use рдХрд░рдХреЗ gradient calculate рдХрд░рдирд╛ |
Objectives Recap:
- Forward Pass transforms input тЖТ prediction
- Loss function tells how wrong the prediction is
- Loss is key for guiding weight updates
Practice Questions:
- Forward Pass рдореЗрдВ рдХреМрди-рдХреМрди рд╕реА operations рд╣реЛрддреА рд╣реИрдВ?
- z=Wx+b рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
- Binary Classification рдХреЗ рд▓рд┐рдП рдХреМрди-рд╕рд╛ loss function рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
- Loss function рдФрд░ optimizer рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
- PyTorch рдореЗрдВ loss calculate рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди-рдХреМрди рд╕реА steps рд╣реЛрддреА рд╣реИрдВ?