(рд▓рд░реНрдирд┐рдВрдЧ рд░реЗрдЯ, рдПрдкреЙрдХреНрд╕, рдФрд░ рдмреИрдЪреЗрд╕)
ЁЯФ╢ 1. Learning Rate (рд╕реАрдЦрдиреЗ рдХреА рд░рдлрд╝реНрддрд╛рд░)
ЁЯУМ Definition:
Learning Rate (╬╖) рдПрдХ hyperparameter рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ training рдХреЗ рджреМрд░рд╛рди weights рдХрд┐рддрдиреА рддреЗрдЬрд╝реА рд╕реЗ update рд╣реЛрдВред
рдпрд╣ Gradient Descent рдХреЗ update rule рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ:

ЁЯОп Learning Rate рдХреА рднреВрдорд┐рдХрд╛:
Value | Effect |
---|---|
рдмрд╣реБрдд рдЫреЛрдЯрд╛ (<0.0001) | Slow learning, stuck in local minima |
рдмрд╣реБрдд рдмрдбрд╝рд╛ (>1.0) | Overshooting, unstable training |
рд╕рд╣реА рдордзреНрдпрдо | Smooth convergence to minimum loss |
ЁЯУИ Visual Explanation:
- Low LR: рдзреАрд░реЗ-рдзреАрд░реЗ valley рдореЗрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ
- High LR: рдЖрдЧреЗ-рдкреАрдЫреЗ рдХреВрджрддрд╛ рд░рд╣рддрд╛ рд╣реИ, valley рдорд┐рд╕ рдХрд░ рджреЗрддрд╛ рд╣реИ
- Ideal LR: рд╕реАрдзреЗ valley рдореЗрдВ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИ
ЁЯУШ PyTorch рдореЗрдВ Learning Rate:
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
ЁЯФ╢ 2. Epochs (Training Iterations over Dataset)
ЁЯУМ Definition:
Epoch рдПрдХ cycle рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреВрд░рд╛ training dataset once neural network рдореЗрдВ pass рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ тАФ forward + backward pass рджреЛрдиреЛрдВред
рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ 1000 images рд╣реИрдВ рдФрд░ рдЖрдкрдиреЗ 10 epochs рдЪрд▓рд╛рдП, рддреЛ model рдиреЗ dataset рдХреЛ 10 рдмрд╛рд░ рджреЗрдЦрд╛ред
ЁЯОп рдЕрдзрд┐рдХ Epochs рдХрд╛ рдорддрд▓рдм:
- Model рдХреЛ рд╕реАрдЦрдиреЗ рдХрд╛ рдЬреНрдпрд╛рджрд╛ рдореМрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИ
- рд▓реЗрдХрд┐рди overfitting рдХрд╛ рдЦрддрд░рд╛ рдмрдврд╝рддрд╛ рд╣реИ
ЁЯФ╢ 3. Batches рдФрд░ Batch Size
ЁЯУМ Batch:
Dataset рдХреЛ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ (chunks) рдореЗрдВ divide рдХрд░рдХреЗ training рдХрд░рдирд╛ batch training рдХрд╣рд▓рд╛рддрд╛ рд╣реИред
рд╣рд░ batch рдкрд░ forward рдФрд░ backward pass рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- Batch Size: рдХрд┐рддрдиреЗ samples рдПрдХ рд╕рд╛рде process рд╣реЛрдВрдЧреЗ
- Common sizes: 8, 16, 32, 64, 128
ЁЯОп Why Use Batches?
Advantage | Explanation |
---|---|
Memory Efficient | рдкреВрд░рд╛ dataset memory рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ |
Faster Computation | GPU рдкрд░ vectorized рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ |
Noise helps generalization | Stochastic updates model рдХреЛ overfitting рд╕реЗ рдмрдЪрд╛рддреЗ рд╣реИрдВ |
ЁЯФБ Relationship Between All Three:
Concept | Definition |
---|---|
Epoch | One full pass over the entire dataset |
Batch Size | Number of samples processed at once |
Iteration | One update step = One batch |
Example:
- Dataset size = 1000
- Batch size = 100
- Then, 1 epoch = 10 iterations
- If we train for 10 epochs тЖТ total 100 iterations
ЁЯФз PyTorch Code:
from torch.utils.data import DataLoader, TensorDataset
import torch
# Dummy data
X = torch.randn(1000, 10)
y = torch.randint(0, 2, (1000, 1)).float()
dataset = TensorDataset(X, y)
# DataLoader with batch size
dataloader = DataLoader(dataset, batch_size=64, shuffle=True)
# Training loop
for epoch in range(5): # 5 epochs
for batch_x, batch_y in dataloader:
# Forward pass, loss calculation, backward, step
...
ЁЯУЭ Summary Table:
Term | Meaning | Typical Value |
---|---|---|
Learning Rate | Step size for weight updates | 0.001 тАУ 0.01 |
Epoch | One full pass over dataset | 10 тАУ 100 |
Batch Size | Samples per update | 32, 64, 128 |
Iteration | One weight update step | dataset_size / batch_size |
ЁЯОп Objectives Recap:
- Learning Rate = Weights рдХрд┐рддрдирд╛ move рдХрд░реЗрдВ
- Epoch = Dataset рдХрд┐рддрдиреА рдмрд╛рд░ pass рд╣реЛ
- Batch Size = рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрд┐рддрдиреЗ samples process рд╣реЛрдВ
- рдЗрди рддреАрдиреЛрдВ рдХрд╛ tuning model performance рдХреЗ рд▓рд┐рдП critical рд╣реИ
ЁЯУЭ Practice Questions:
- Learning Rate рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рдо рдХреНрдпрд╛ рд╣реИ?
- Batch Size рдФрд░ Iteration рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИ?
- Overfitting рдХрд╛ рдЦрддрд░рд╛ рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ: рдХрдо epochs рдпрд╛ рдЬрд╝реНрдпрд╛рджрд╛ epochs?
- PyTorch рдореЗрдВ
DataLoader
рдХрд╛ рдХреНрдпрд╛ рдХрд╛рдо рд╣реИ? - Batch training рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рд╣реЛрддрд╛ рд╣реИ?