The surface below is the loss landscape for a tiny linear model
ŷ = w1·x + w2 fit to a handful of data points. Height at each
(w1, w2) is the loss the model would incur with those weights.
A marble performs batch gradient descent on that surface, stepping downhill
each tick — exactly what an optimizer does during training, just visualized
in 3D instead of as a loss-vs-epoch chart.
Huber loss was introduced by Peter J. Huber in 1964 specifically to get MSE's smooth, well-behaved gradients near the optimum while keeping MAE's robustness against outliers — a trade-off tuned entirely through the δ hyperparameter.
A live 3D loss landscape for a tiny linear model, where a marble performs gradient descent while you switch between MSE, MAE and Huber loss and tune the hyperparameters that shape each one.
The surface height at each point is the loss for those weights. Switching loss function reshapes the bowl live; adding an outlier shows why MSE distorts badly while MAE and Huber stay comparatively stable.
Pick a loss function, tune the learning rate, Huber delta and L2 regularization, then toggle the outlier point and watch the marble's descent path change on the reshaped surface.
Huber loss's δ hyperparameter directly controls the trade-off between MSE's smooth convergence and MAE's outlier robustness — a single knob blending two loss families.