(рдШрдЯрддреЗ рдФрд░ рдлреВрдЯрддреЗ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдХреА рд╕рдорд╕реНрдпрд╛)
ЁЯФ╢ 1. Problem Statement:
рдЬрдм DNN рдХреЛ train рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (backpropagation рдХреЗ рдЬрд╝рд░рд┐рдП), рддреЛ gradients рдХреЛ layers рдХреЗ рдмреАрдЪ backward propagate рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЧрд╣рд░реА networks рдореЗрдВ, рдпреЗ gradients:
- рдмрд╣реБрдд рдЫреЛрдЯреЗ (near-zero) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ тЖТ Vanishing Gradients
- рдмрд╣реБрдд рдмрдбрд╝реЗ (extremely high) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ тЖТ Exploding Gradients
ЁЯФ╖ 2. Vanishing Gradient Problem
ЁЯУМ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
Gradient values рдЗрддрдиреА рдЫреЛрдЯреА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдХрд┐ weights effectively update рд╣реА рдирд╣реАрдВ рд╣реЛ рдкрд╛рддреЗред
Training slow рдпрд╛ completely stuck рд╣реЛ рдЬрд╛рддреА рд╣реИред
тЭЧ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ?
- рдЬрдм activation functions (рдЬреИрд╕реЗ Sigmoid рдпрд╛ Tanh) рдХреЗ derivatives рд╣рдореЗрд╢рд╛ < 1 рд╣реЛрддреЗ рд╣реИрдВ
- рдФрд░ рдмрд╣реБрдд рд╕реА layers multiply рд╣реЛрддреА рд╣реИрдВ:

ЁЯза Impact:
- Deep layers almost learn nothing
- Early layers freeze
- Training fails
ЁЯФ╖ 3. Exploding Gradient Problem
ЁЯУМ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
Gradients рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдбрд╝реЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
тЖТ Weights extremely large
тЖТ Model becomes unstable
тЖТ Loss: NaN рдпрд╛ infinity
тЭЧ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ?
- рдЬрдм weight initialization рдЧрд▓рдд рд╣реЛ
- рдпрд╛ large derivatives repeatedly multiply рд╣реЛрддреЗ рд╣реИрдВ
ЁЯза Impact:
- Loss suddenly рдмрд╣реБрдд рдмрдбрд╝рд╛
- Model unstable
- Numerical overflow
ЁЯФБ 4. Visual Representation:
тЭМ Vanishing Gradient:
Layer 1 тЖР 0.0003
Layer 2 тЖР 0.0008
Layer 3 тЖР 0.0011
...
Final layers learn nothing
тЭМ Exploding Gradient:
Layer 1 тЖР 8000.2
Layer 2 тЖР 40000.9
Layer 3 тЖР 90000.1
...
Loss becomes NaN
тЬЕ 5. Solutions and Fixes
| Problem | Solution |
|---|---|
| Vanishing Gradient | ReLU Activation Function |
| He Initialization (weights) | |
| Batch Normalization | |
| Residual Connections (ResNet) | |
| Exploding Gradient | Gradient Clipping |
| Proper Initialization | |
| Lower Learning Rate |
тЬФ Recommended Practices:
- Use ReLU instead of Sigmoid/Tanh
- Initialize weights with Xavier or He initialization
- Add BatchNorm after layers
- Use gradient clipping in training loop:
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
ЁЯФз PyTorch Example (Gradient Clipping):
loss.backward()
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
optimizer.step()
ЁЯУИ Summary:
| Issue | Cause | Effect | Fix |
|---|---|---|---|
| Vanishing | Small gradients in deep layers | No learning | ReLU, He init, BatchNorm |
| Exploding | Large gradients | NaN loss | Gradient clipping, Proper init |
ЁЯУЭ Practice Questions:
- Vanishing Gradient рдХреНрдпрд╛ рд╣реИ? рдЗрд╕реЗ рдХреИрд╕реЗ рдкрд╣рдЪрд╛рдиреЗрдВрдЧреЗ?
- Exploding Gradient рд╕реЗ model рдкрд░ рдХреНрдпрд╛ рдЕрд╕рд░ рдкрдбрд╝рддрд╛ рд╣реИ?
- Activation functions gradients рдХреЛ рдХреИрд╕реЗ affect рдХрд░рддреЗ рд╣реИрдВ?
- Gradient Clipping рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реЛрддрд╛ рд╣реИ?
- Batch Normalization рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдХрдо рдХрд░рддрд╛ рд╣реИ?



