ЁЯФ╣ 1. рдкрд░рд┐рдЪрдп (Introduction)
Calculus, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Differential Calculus, Deep Learning рдореЗрдВ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдпрд╣ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ, рдЙрд╕рдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рд╣реБрдП рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИред
Deep Learning рдореЗрдВ тАЬGradient DescentтАЭ рдФрд░ тАЬBackpropagationтАЭ рдЗрдиреНрд╣реАрдВ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред
ЁЯФ╣ 2. Derivative рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
тЮд рдкрд░рд┐рднрд╛рд╖рд╛:
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди f(x) рдХрд╛ Derivative рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ x рдореЗрдВ рдПрдХ рдЫреЛрдЯреА-рд╕реА рд╡реГрджреНрдзрд┐ рдХрд░рдиреЗ рдкрд░ f(x) рдореЗрдВ рдХрд┐рддрдирд╛ рдмрджрд▓рд╛рд╡ рдЖрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:

ЁЯФз Deep Learning рдореЗрдВ рдЙрдкрдпреЛрдЧ:
- Derivative рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ Loss Function рдХрд┐рддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред
- рдЗрд╕рд╕реЗ рд╣рдо рдЬрд╛рди рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ weights рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдШрдЯрд╛рдирд╛, рддрд╛рдХрд┐ Loss рдХрдо рд╣реЛред
ЁЯФ╣ 3. Chain Rule
рдЬрдм рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЫреБрдкрд╛ рд╣реЛ (nested function), рддрдм Derivative рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП Chain Rule рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:

ЁЯФБ Backpropagation рдЗрд╕реА principle рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ тАУ рдпрд╣ рд╣рд░ layer рдХреЗ output рдХрд╛ derivative рдкрд┐рдЫрд▓реЗ layers рддрдХ propagate рдХрд░рддрд╛ рд╣реИред
ЁЯФ╣ 4. Gradient рдХреНрдпрд╛ рд╣реИ?
тЮд рдкрд░рд┐рднрд╛рд╖рд╛:
Gradient, рдПрдХ multi-variable function рдХрд╛ vector derivative рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЙрд╕ рджрд┐рд╢рд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ function рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рдпрд╛ рдШрдЯрддрд╛ рд╣реИред

тЮд Deep Learning рдореЗрдВ Gradient рдХрд╛ рдЙрдкрдпреЛрдЧ:
- Model рдХреЗ weights рдФрд░ biases рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- Gradient Descent рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Loss рдХреЛ minimize рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ЁЯТ╗ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб (PyTorch рдореЗрдВ Gradient рдирд┐рдХрд╛рд▓рдирд╛)
import torch
# Variable with gradient tracking enabled
x = torch.tensor(2.0, requires_grad=True)
# Function: f(x) = x^2
y = x**2
# Compute gradient
y.backward()
print("dy/dx at x=2:", x.grad) # Output: 4.0 (because dy/dx = 2x)
ЁЯУМ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ (Real Use in Deep Learning)
Concept | Calculus рдЙрдкрдпреЛрдЧ |
---|---|
Loss Function | Derivative рд╕реЗ gradient рдирд┐рдХрд╛рд▓рдирд╛ |
Optimizers | Gradient Descent step рдореЗрдВ |
Backpropagation | Chain Rule рд╕реЗ gradient рдХреЛ рдкреАрдЫреЗ propagate рдХрд░рдирд╛ |
Regularization | Cost Function рдореЗрдВ derivative рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг |
ЁЯОп Chapter Objectives (рд▓рдХреНрд╖реНрдп)
- Derivatives рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
- Chain Rule рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдЬрд╛рдирдирд╛
- Gradient рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рд╕рдордЭрдирд╛
- Gradient Descent рдФрд░ Backpropagation рдореЗрдВ Calculus рдХреА рднреВрдорд┐рдХрд╛ рдЬрд╛рдирдирд╛
ЁЯУЭ рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Practice Questions)
- Derivative рдХрд╛ Deep Learning рдореЗрдВ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рд╣реИ?
- Chain Rule рдХрд┐рд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
- Gradient рдХреНрдпрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреНрдпреЛрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ?
- рдпрджрд┐ f(x)=x3 рддреЛ fтА▓(x) рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
- рдиреАрдЪреЗ рджрд┐рдП рдЧрдП PyTorch рдХреЛрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрддрд╛рдЗрдП:
6. рдиреАрдЪреЗ рджрд┐рдП рдЧрдП PyTorch рдХреЛрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрддрд╛рдЗрдП:
x = torch.tensor(3.0, requires_grad=True)
y = x**3
y.backward()
print(x.grad)
ЁЯФ╣Deep Learning рдореЙрдбрд▓ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╕рд╣реА prediction рдХрд░реЗред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ Loss Function рдХреЛ рдиреНрдпреВрдирддрдо (minimize) рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдХрд╛рд░реНрдп Gradient Descent рдирд╛рдо рдХреА optimization рддрдХрдиреАрдХ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред
ЁЯФ╣ 5. Gradient Descent рдХреНрдпрд╛ рд╣реИ?
тЮд рдкрд░рд┐рднрд╛рд╖рд╛:
Gradient Descent рдПрдХ iterative optimization algorithm рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Loss Function рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд╣рдореЗрд╕рд╛ gradient рдХреА рдЙрд▓реНрдЯреА рджрд┐рд╢рд╛ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ тАУ рдЬрд╣рд╛рдБ loss рдХрдо рд╣реЛрддрд╛ рд╣реИред
ЁЯФБ тАЬрдЙрддрд░рддреА рдкрд╣рд╛рдбрд╝реА рдкрд░ рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдирд╛редтАЭ
ЁЯФ╣ 6. Gradient Descent рдХрд╛ рд╕реВрддреНрд░
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░рд╛ рд╡реЗрдЯ w рд╣реИ, рдФрд░ рд╣рдордиреЗ рдЙрд╕рдХрд╛ gradient рдирд┐рдХрд╛рд▓рд╛ рд╣реИ тИВL/тИВw рддреЛ рдирдпрд╛ рд╡реЗрдЯ рд╣реЛрдЧрд╛:

рдЬрд╣рд╛рдБ:
- ╬╖ = Learning rate (0.001, 0.01 etc.)
- тИВL/тИВw = Gradient of Loss function
ЁЯФ╣ 7. Learning Rate рдХрд╛ рдорд╣рддреНрд╡
Learning Rate | рдкреНрд░рднрд╛рд╡ |
---|---|
рдмрд╣реБрдд рдЫреЛрдЯрд╛ (╬╖тЙк1) | Training рдзреАрдореА рд╣реЛрдЧреА |
рдмрд╣реБрдд рдмрдбрд╝рд╛ (╬╖тЙл1) | Model рд╕рд╣реА direction рдореЗрдВ рдирд╣реАрдВ рд╕реАрдЦ рдкрд╛рдПрдЧрд╛ |
рд╕рдВрддреБрд▓рд┐рдд (╬╖ рдареАрдХ) | Loss рдзреАрд░реЗ-рдзреАрд░реЗ рдХрдо рд╣реЛрдЧрд╛ рдФрд░ model рд╕рдЯреАрдХ рд╣реЛрдЧрд╛ |
ЁЯФ╣ 8. Gradient Descent рдХреЗ рдкреНрд░рдХрд╛рд░
рдкреНрд░рдХрд╛рд░ | рд╡рд┐рд╡рд░рдг |
---|---|
Batch Gradient Descent | рд╕рднреА рдбреЗрдЯрд╛ рд╕реЗ gradient рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ тАУ рдзреАрдорд╛ рдкрд░ рд╕рдЯреАрдХ |
Stochastic GD (SGD) | рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ gradient тАУ рддреЗрдЬрд╝ рдкрд░ рдЕрд╢рд╛рдВрдд |
Mini-batch GD | рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ gradient тАУ рддреЗрдЬреА рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рд╕рдВрддреБрд▓рди |
ЁЯФ╣ 9. Optimization Techniques (GD рдХрд╛ рдЙрдиреНрдирдд рд░реВрдк)
ЁЯУМ 1. SGD (Stochastic Gradient Descent)
рд╣рд░ рд╕реИрдВрдкрд▓ рдкрд░ рд╡реЗрдЯ рдЕрдкрдбреЗрдЯ тАУ noisy рдкрд░ рддреЗрдЬрд╝
ЁЯУМ 2. Momentum
Gradient рдХреА рджрд┐рд╢рд╛ рдореЗрдВ тАЬрдЧрддрд┐тАЭ рдЬреЛрдбрд╝рддрд╛ рд╣реИ тАУ рддреЗрдЬрд╝ рдФрд░ smooth convergence
ЁЯУМ 3. RMSProp
рд╣рд░ рд╡реЗрдЯ рдХреЗ рд▓рд┐рдП learning rate adapt рдХрд░рддрд╛ рд╣реИ тАУ рдмреЗрд╣рддрд░ stability
ЁЯУМ 4. Adam (Most Popular)
Momentum + RMSProp рдХрд╛ рдореЗрд▓ тАУ рдХрдо рд╕рдордп рдореЗрдВ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо
ЁЯТ╗ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб (PyTorch рдореЗрдВ Optimizer рдХрд╛ рдкреНрд░рдпреЛрдЧ)
import torch
import torch.nn as nn
import torch.optim as optim
model = nn.Linear(1, 1) # рдПрдХ рд╕рд┐рдВрдкрд▓ рдореЙрдбрд▓
criterion = nn.MSELoss() # Loss function
optimizer = optim.SGD(model.parameters(), lr=0.01) # Optimizer
# Forward + Backward + Optimize
for epoch in range(10):
inputs = torch.tensor([[1.0]])
targets = torch.tensor([[2.0]])
outputs = model(inputs)
loss = criterion(outputs, targets)
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f"Epoch {epoch+1}, Loss: {loss.item():.4f}")
ЁЯУМ Optimization Diagram (рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ)
Loss
тФВ
тФВ тЧП тЖР Loss рдЕрдзрд┐рдХ рд╣реИ
тФВ /
тФВ тЧП
тФВ /
тФВ тЧП тЖР Gradient Descent Steps
тФВ/
тЧПтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФА Weights
ЁЯОп Chapter Objectives (рд▓рдХреНрд╖реНрдп)
- Gradient Descent рдХрд╛ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдордЭрдирд╛
- Loss рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдирдирд╛
- рд╡рд┐рднрд┐рдиреНрди Optimization Techniques рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛
- Learning Rate рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рд╕рдордЭрдирд╛
ЁЯУЭ рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Practice Questions)
- Gradient Descent рдХреНрдпрд╛ рд╣реИ рдФрд░ Deep Learning рдореЗрдВ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?
- Learning Rate рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рддреЛ рдХреНрдпрд╛ рджрд┐рдХреНрдХрдд рд╣реЛ рд╕рдХрддреА рд╣реИ?
- Momentum Optimizer рдХрд┐рд╕ concept рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ?
- Mini-batch Gradient Descent рдХреЗ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИрдВ?
- рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдмрддрд╛рдЗрдП:
optimizer.zero_grad() loss.backward() optimizer.step()