Optimizers
BaseOptimizer
Bases: ABC
Template for optimizers.
Optimizers determine how model parameters are updated given the computed gradients.
Source code in src/nnfs/optimizers.py
SGD
Bases: BaseOptimizer
Stochastic Gradient Descent optimizer.
It implements the following update mechanism: new_params = old_params - lr * (momentum * velocity + gradients).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lr
|
float
|
Learning rate, controls size of parameter update. |
0.01
|
momentum
|
float
|
Ratio of previous parameter change that is retained. |
0.0
|
Attributes:
| Name | Type | Description |
|---|---|---|
v |
dict
|
Stores velocity of gradient change as |
Source code in src/nnfs/optimizers.py
update(param_id, parameters, gradients)
Updates layer parameters using precomputed gradients.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
param_id
|
str
|
Layer.param identifier. |
required |
parameters
|
ndarray
|
Model parameters. |
required |
gradients
|
ndarray
|
dL / d_params gradients. |
required |